*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1a1d29;background:#f6f7fa}.layout{min-height:100vh}.header{display:flex;align-items:center;gap:2rem;padding:.75rem 1.5rem;background:#1a1d29;color:#fff}.brand{font-weight:700}.nav{display:flex;gap:1rem}.nav-link{color:#c2c7d6;text-decoration:none;padding:.25rem .5rem;border-radius:4px}.nav-link:hover{color:#fff}.nav-link.active{color:#fff;background:#343a4f}.content{max-width:960px;margin:0 auto;padding:1.5rem}h1{font-size:1.5rem}h2{font-size:1.1rem;margin-top:2rem}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e1e4ec}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #e1e4ec;font-size:.9rem}th{background:#eef0f5;font-weight:600}.muted{color:#6b7186}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{padding:.35rem .75rem;border:1px solid #c2c7d6;border-radius:4px;background:#fff;cursor:pointer;font-size:.9rem}.tab.active{background:#1a1d29;border-color:#1a1d29;color:#fff}.button{padding:.4rem .9rem;border:1px solid #1a1d29;border-radius:4px;background:#1a1d29;color:#fff;cursor:pointer;font-size:.9rem;margin-top:.5rem}.button:disabled{opacity:.5;cursor:default}.button.danger{background:#fff;border-color:#b3261e;color:#b3261e;margin-top:0;padding:.2rem .6rem;font-size:.8rem}.search-form,.action-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:1rem 0;padding:1rem;background:#fff;border:1px solid #e1e4ec;border-radius:6px}.search-form input,.action-form input,.action-form select{padding:.4rem .6rem;border:1px solid #c2c7d6;border-radius:4px;font-size:.9rem}.search-form input{width:24rem;max-width:100%}.action-form input[type=text]{width:20rem;max-width:100%}.action-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600}.search-form .button,.action-form .button{margin-top:0}.chart-card{background:#fff;border:1px solid #e1e4ec;border-radius:6px;padding:1rem;margin:1rem 0}.detail-list{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.25rem;background:#fff;border:1px solid #e1e4ec;border-radius:6px;padding:1rem;margin:.5rem 0 1rem}.detail-list dt{font-weight:600;font-size:.85rem;color:#6b7186}.detail-list dd{margin:0;font-size:.9rem;overflow-wrap:anywhere}.error{color:#b3261e}.state-ok{color:#1b7f4d;font-weight:600}.state-bad{color:#b3261e;font-weight:600}
