:root{--bg:#e8ebee;--panel:#ffffff;--ink:#17202a;--muted:#5b6b7a;--line:#c9d2da;--accent:#0e6b5c;--warn:#9a5b00;--bad:#a12622}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 -apple-system,"Helvetica Neue",Arial,sans-serif}
.topbar{position:sticky;top:0;z-index:5;display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#101820;color:#eef3f6;padding:10px 16px}
.brand{font-weight:700;font-size:19px;letter-spacing:.2px}
.topmeta{color:#a9bdc9;font-size:13px}
.projectbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}
.projectbar label{font-size:13px;color:#c6d4de}
.layout{max-width:1180px;margin:0 auto;padding:16px;display:grid;gap:14px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:14px 16px}
.panel h2{margin:0 0 10px;font-size:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:8px}
label{display:grid;gap:4px;font-size:13px;color:#33424f}
input,select,textarea{font:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}
button{font:inherit;font-size:14px;padding:6px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer}
button:hover{border-color:#8fa2b1}
button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.muted{color:var(--muted)} .small{font-size:12.5px}
.bandbox{border-top:1px solid var(--line);padding:10px 0}
.bandbox:first-child{border-top:none}
.bandhead{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.bandhead b{text-transform:capitalize}
.band select{min-width:340px;max-width:100%}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.chip{background:#eef4f1;border:1px solid #cfe0d8;color:#14503f;border-radius:3px;padding:1px 7px;font-size:12px}
.reasons{margin:6px 0 0;padding-left:18px;color:var(--bad);font-size:13px}
details{margin-top:6px;font-size:13px}
details summary{cursor:pointer;color:var(--muted)}
canvas{width:100%;height:auto;background:#fbfcfd;border:1px solid var(--line)}
textarea{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:12px}
.tablewrap{overflow:auto;max-height:420px}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{border-bottom:1px solid var(--line);text-align:left;padding:5px 8px;vertical-align:top}
th{background:#f2f5f7}
.foot{max-width:1180px;margin:0 auto;padding:0 16px 18px}
.warn{color:var(--warn)}
select:disabled,input:disabled{opacity:.55}
