:root{--bg: #0f172a;--panel: #ffffff;--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--accent: #d4a017;--accent-ink: #1f2937;--danger: #b91c1c;--ok: #15803d}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#f1f5f9}.topbar{background:var(--bg);color:#fff;padding:16px 28px;display:flex;align-items:baseline;gap:14px}.brand{font-weight:800;letter-spacing:2px;font-size:22px;color:var(--accent)}.subtitle{color:#cbd5e1;font-size:14px}.container{max-width:880px;margin:28px auto;padding:0 20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 1px 2px #0f172a0f;margin-bottom:24px}h2{margin:0 0 18px;font-size:20px}h3{margin:24px 0 12px;font-size:16px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;flex:1}.row{display:flex;gap:16px}label{font-size:13px;font-weight:600;color:var(--muted)}input,textarea,select{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.toggle{display:flex;gap:8px}.toggle button{flex:1;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;cursor:pointer;font-size:13px}.toggle button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}button.primary{background:var(--bg);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:700;cursor:pointer}button.primary:disabled{opacity:.6;cursor:default}button.ghost{background:#fff;border:1px solid var(--line);padding:10px 16px;border-radius:8px;cursor:pointer}.caseHead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.meta{color:var(--muted);font-size:13px;margin:4px 0 0}.summary{background:#f8fafc;border-left:3px solid var(--accent);padding:12px 16px;border-radius:6px;margin:12px 0 16px}.problem,.component,.deliverable{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px;background:#fafbfc}.problemTop,.componentTop{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ptitle{flex:1;font-weight:700}.del{background:#fff;border:1px solid var(--line);color:var(--danger);border-radius:8px;padding:8px 12px;cursor:pointer}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.error{color:var(--danger);font-size:14px}.savemsg{color:var(--ok);font-weight:600}.badge{display:inline-block;padding:3px 9px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge.offering{background:#1e293b;color:var(--accent)}.badge.sev-low{background:#dcfce7;color:#166534}.badge.sev-medium{background:#fef3c7;color:#92400e}.badge.sev-high{background:#fee2e2;color:#991b1b}.badge.status-planned{background:#e0e7ff;color:#3730a3}.badge.status-in_progress{background:#fef3c7;color:#92400e}.badge.status-complete{background:#dcfce7;color:#166534}.sublist{font-size:14px}.sublist ul{margin:4px 0 0;padding-left:20px}.critique{border-left:3px solid var(--line);padding:8px 14px;margin-bottom:10px;background:#fafbfc;border-radius:4px}.critique p{margin:4px 0 0}.arch{background:#f8fafc;border-radius:8px;padding:14px 16px;font-size:14px;display:flex;flex-direction:column;gap:6px}.asbutton{display:inline-block;padding:8px 14px;border-radius:8px;text-decoration:none;border:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:600}.asbutton:hover{background:var(--soft, #f8fafc);border-color:var(--accent)}.bundle-note{margin:14px 0 6px;padding:10px 14px;background:#fef3c7;border-left:4px solid var(--accent);border-radius:6px;font-size:14px}.quote-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:6px}.quote-table th,.quote-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}.quote-table th{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.quote-table td input,.quote-table td select{padding:6px 8px;font-size:13px}.quote-table td input.qty{width:60px}.quote-table td input.unit{width:100px}.badge.src-offering{background:#dbeafe;color:#1e40af}.badge.src-custom_aggregate{background:#fef3c7;color:#92400e}.badge.src-manual{background:#e2e8f0;color:#334155}.quote-totals{margin-top:16px;padding:14px 16px;background:#f8fafc;border-radius:8px;font-size:14px;display:flex;flex-direction:column;gap:6px}.quote-totals .grand{font-size:16px;border-top:2px solid var(--ink);padding-top:8px;margin-top:4px}.quote-totals .recurring{color:var(--muted)}.quote-totals .validity{margin-top:6px;color:var(--muted);font-size:13px}.statement-text{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:var(--ink);margin-top:10px}.statement-text:focus{outline:2px solid var(--accent);border-color:var(--accent);background:#fff}.case-actions{display:flex;gap:8px;align-items:center}.case-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.case-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fafbfc}.case-row-main{flex:1;display:flex;flex-direction:column;gap:4px}.case-row-title{display:flex;gap:8px;align-items:baseline}.case-row-sub{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.badge.status-intake{background:#e2e8f0;color:#334155}.badge.status-diagnosed{background:#dbeafe;color:#1e40af}.badge.status-designed{background:#fef3c7;color:#92400e}.badge.status-quoted{background:#fce7f3;color:#9f1239}.badge.status-statement_ready{background:#dcfce7;color:#166534}.status-flip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 0 4px;font-size:13px}.status-flip-label{color:var(--muted);font-weight:600}.status-segments{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.status-segment{background:#fff;border:0;border-right:1px solid var(--line);padding:6px 12px;font:inherit;font-size:12px;text-transform:capitalize;cursor:pointer;color:var(--muted)}.status-segment:last-child{border-right:0}.status-segment.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.status-segment:hover:not(.on){background:#f1f5f9}.badge.status-dossier_drafted{background:#fce7f3;color:#9f1239}.badge.status-dossier_finalized{background:#dcfce7;color:#166534}.dossier-complete{color:var(--ok);font-weight:600}
