:root{color-scheme:dark light;--bg: #12151a;--bg-elevated: #1a1e26;--border: #2a2f3a;--text: #e6e8eb;--text-dim: #9aa1ac;--accent: #4f8cff;--green: #3ecf8e;--red: #ff5c5c;--amber: #ffb84f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.app-header h1{font-size:1.1rem;margin:0;white-space:nowrap}.app-header nav{display:flex;gap:.5rem;flex:1}.app-header nav button{background:transparent;border:1px solid transparent;color:var(--text-dim);padding:.4rem .9rem;border-radius:6px;cursor:pointer;font-size:.95rem}.app-header nav button:hover{color:var(--text)}.app-header nav button.active{background:var(--accent);color:#fff}main{flex:1;padding:1.5rem;max-width:860px;width:100%;margin:0 auto}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border);color:var(--text-dim)}.pill.ok{color:var(--green);border-color:var(--green)}.pill.bad{color:var(--red);border-color:var(--red)}.pill.dry-run{color:var(--amber);border-color:var(--amber)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--text-dim)}.dot.ok{background:var(--green)}.dot.bad{background:var(--red)}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}h2{margin-top:0}label{display:block;font-size:.85rem;color:var(--text-dim);margin-bottom:.3rem}.field{margin-bottom:1rem}input[type=text],input[type=number],input[type=datetime-local],select,textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.5rem .6rem;border-radius:6px;font-size:.95rem}textarea{min-height:4rem;resize:vertical}input[type=range]{width:100%}.range-value{font-weight:600;color:var(--accent)}.row{display:flex;gap:1rem}.row>.field{flex:1}.checkbox-field{display:flex;align-items:center;gap:.5rem}.checkbox-field label{margin:0}button.primary{background:var(--accent);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;font-size:.95rem;cursor:pointer;font-weight:600}button.primary:hover{filter:brightness(1.1)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border);padding:.6rem 1.2rem;border-radius:6px;font-size:.95rem;cursor:pointer}.yes-no{display:flex;gap:.75rem;margin-top:1.5rem}.yes-no button{flex:1;padding:.9rem;font-size:1.05rem;border-radius:8px;border:1px solid var(--border);cursor:pointer;background:var(--bg);color:var(--text)}.yes-no button.yes:hover{border-color:var(--green);color:var(--green)}.yes-no button.no:hover{border-color:var(--red);color:var(--red)}.banner{padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.25rem;font-weight:600}.banner.fail{background:#ff5c5c26;border:1px solid var(--red);color:var(--red)}.banner.pass{background:#3ecf8e1f;border:1px solid var(--green);color:var(--green)}.banner.warning{background:#ffb84f1f;border:1px solid var(--amber);color:var(--amber);font-weight:500}.error-text{color:var(--red);font-size:.85rem;margin-top:.4rem}.progress-text{color:var(--text-dim);font-size:.85rem;margin-bottom:.5rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border);font-size:.9rem}th{color:var(--text-dim);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}tbody tr{cursor:pointer}tbody tr:hover{background:#ffffff08}.badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700}.badge.PASS{background:#3ecf8e26;color:var(--green)}.badge.FAIL{background:#ff5c5c26;color:var(--red)}.badge.pending{background:#9aa1ac26;color:var(--text-dim)}.checklist-answers{list-style:none;padding:0;margin:0}.checklist-answers li{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.checklist-answers li:last-child{border-bottom:none}.answer.yes{color:var(--green)}.answer.no{color:var(--red)}.empty-state{color:var(--text-dim);font-style:italic}.muted{color:var(--text-dim)}
