:root{--bg:#11130f;--panel:#f6f4ec;--panel-strong:#ffffff;--ink:#161813;--muted:#686d61;--line:#d8d4c7;--green:#2f8f5b;--cyan:#0f7a8a;--amber:#b66d12;--red:#b7382f;--shadow:0 24px 70px rgba(0,0,0,0.28)}*{box-sizing:border-box}body,html{min-height:100%;margin:0;background:radial-gradient(circle at 8% 0,rgba(47,143,91,.24),transparent 28rem),linear-gradient(135deg,#11130f,#212116 48%,#121612);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.app-shell{min-height:100vh;padding:22px}.topbar{align-items:center;color:#f9f7ef;display:flex;justify-content:space-between;margin:0 auto 20px;max-width:1480px}.brand-lockup,.status-pill{align-items:center;display:flex;gap:12px}.brand-mark{align-items:center;background:#11130f;border:1px solid rgba(255,255,255,.35);display:grid;height:52px;place-items:center;width:52px}.brand-mark img{display:block;height:46px;object-fit:cover;width:46px}.brand-lockup strong{display:block;font-size:18px;font-weight:700}.brand-lockup span{color:rgba(249,247,239,.72);display:block;font-size:13px}.status-pill{border:1px solid rgba(255,255,255,.22);color:#f9f7ef;min-height:40px;padding:9px 14px}.status-error{border-color:rgba(255,96,83,.7);color:#ffd8d3}.status-ok{border-color:rgba(106,214,148,.65);color:#d8ffe5}.workspace{display:grid;gap:20px;grid-template-columns:minmax(360px,.85fr) minmax(0,1.45fr);margin:0 auto;max-width:1480px}.control-panel,.report-panel{background:var(--panel);border:1px solid rgba(255,255,255,.4);box-shadow:var(--shadow);min-height:calc(100vh - 104px)}.control-panel{padding:28px}.panel-heading h1{color:var(--ink);font-size:clamp(24px,2.2vw,32px);line-height:1.08;margin:0 0 12px;max-width:620px}.panel-heading p{color:var(--muted);font-size:16px;line-height:1.45;margin:0 0 24px;max-width:620px}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.link-field{margin-bottom:14px}.link-field input{font-size:16px;min-height:56px}.link-status{color:var(--green);font-size:12px;font-weight:800;text-transform:none}.advanced-fields{border:1px solid var(--line);margin-top:14px;padding:0}.advanced-fields summary{cursor:pointer;font-size:13px;font-weight:800;list-style-position:inside;padding:13px 14px;text-transform:uppercase}.advanced-fields[open] summary{border-bottom:1px solid var(--line)}.advanced-fields .form-grid{padding:14px}label{color:#31362c;display:grid;font-size:13px;font-weight:700;gap:6px;text-transform:uppercase}label.wide{grid-column:1/-1}input{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink);min-height:46px;outline:none;padding:10px 12px;width:100%}input[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 3px rgba(183,56,47,.12)}input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(15,122,138,.14)}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(15,122,138,.28);outline-offset:3px}.field-error{color:var(--red);font-size:12px;font-weight:700;text-transform:none}.actions{display:grid;gap:12px;grid-template-columns:1fr;margin-top:22px}.primary-button,.secondary-button{align-items:center;border:1px solid transparent;display:inline-flex;font-size:15px;font-weight:700;gap:9px;justify-content:center;min-height:46px;padding:0 12px;white-space:nowrap}.primary-button{background:#11130f;color:#f9f7ef}.secondary-button{background:transparent;border-color:var(--line);color:var(--ink)}.message{align-items:flex-start;display:flex;gap:10px;margin-top:18px;padding:12px}.message-error{background:rgba(183,56,47,.1);color:#7a211c}.message-ok{background:rgba(47,143,91,.1);color:#205f3d}.marker-receipt{align-items:flex-start}.marker-receipt span,.marker-receipt strong{display:block}.marker-receipt dl{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 0}.marker-receipt dl div{background:rgba(255,255,255,.55);border:1px solid rgba(47,143,91,.2);padding:7px 9px}.marker-receipt dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.marker-receipt dd{color:var(--ink);font-size:14px;font-weight:800;margin:2px 0 0}.message-warning{background:rgba(182,109,18,.12);color:#6c3b05;margin-bottom:18px}.report-panel{overflow:hidden;padding:24px}.empty-report{align-items:center;color:var(--muted);display:grid;min-height:calc(100vh - 152px);place-content:center;text-align:center}.empty-report svg{height:34px;width:34px}.empty-report h2{color:var(--ink);font-size:24px;margin:18px 0 6px}.empty-report p{font-size:15px;margin:0}.report-hero{align-items:start;border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding-bottom:22px}.section-label,.section-title{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.section-title{align-items:center;color:var(--ink);display:flex;gap:8px;margin-bottom:10px}.report-hero h2{font-size:clamp(26px,2.5vw,36px);line-height:1.08;margin:6px 0 10px}.report-hero p{color:var(--muted);font-size:16px;line-height:1.4;margin:0;max-width:720px}.score-dial{align-items:center;border:1px solid;color:var(--cyan);display:grid;flex:0 0 112px;height:112px;justify-items:center;padding:14px}.score-dial span{font-size:38px;font-weight:800;line-height:1}.score-dial small{font-size:13px;font-weight:800;text-transform:uppercase}.score-low .score-dial,.score-low.status-pill{color:var(--green)}.score-medium .score-dial,.score-medium.status-pill{color:var(--amber)}.score-critical .score-dial,.score-critical.status-pill,.score-high .score-dial,.score-high.status-pill{color:var(--red)}.metric-row{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}.action-list article,.ai-panel,.event-row,.metric-card,.risk-depth-panel,.spl-block{background:#fffdf6;border:1px solid var(--line)}.metric-card{padding:16px}.metric-card span{color:var(--muted);display:block;font-size:13px;font-weight:800;text-transform:uppercase}.metric-card strong{display:block;font-size:24px;margin-top:6px}.risk-depth-panel{margin-bottom:18px;padding:18px}.risk-depth-header{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding-bottom:14px}.risk-depth-header h3{font-size:clamp(22px,2vw,30px);line-height:1.05;margin:6px 0 0}.risk-depth-header>strong{color:var(--cyan);font-size:28px;line-height:1}.risk-depth-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.risk-depth-card{border-left:5px solid var(--green);padding:12px}.risk-depth-card div{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.risk-depth-card span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.risk-depth-card strong{font-size:18px}.risk-depth-card p,.risk-depth-card small{display:block;font-size:14px;line-height:1.4}.risk-depth-card p{color:var(--ink);margin:10px 0 6px}.risk-depth-card small{color:var(--muted)}.depth-medium{border-left-color:var(--amber)}.depth-critical,.depth-high{border-left-color:var(--red)}.ai-panel{margin-bottom:18px;padding:18px}.action-list p,.ai-panel p,.event-row p{color:var(--muted);font-size:16px;line-height:1.45;margin:8px 0 0;overflow-wrap:anywhere}.split-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.split-grid>*{min-width:0}.action-list,.timeline-list{display:grid;gap:10px;min-width:0}.action-list article,.event-row{padding:14px}.event-row{border-left:5px solid var(--green)}.event-warn{border-left-color:var(--amber)}.event-danger{border-left-color:var(--red)}.event-row span,.event-row time{color:var(--muted);display:block;font-size:12px;font-weight:800;text-transform:uppercase}.action-list strong,.event-row strong{display:block;font-size:15px}code,pre{background:#161813;color:#e8ff72;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}code{display:block;font-size:12px;margin-top:10px;overflow-wrap:anywhere;padding:8px}.spl-block{margin-top:18px;padding:14px}.spl-block summary{cursor:pointer;font-weight:800}pre{font-size:12px;line-height:1.5;margin:12px 0 0;max-height:240px;overflow:auto;padding:14px;white-space:pre-wrap}.muted{color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1020px){.split-grid,.workspace{grid-template-columns:1fr}.control-panel,.report-panel{min-height:auto}}@media (max-width:680px){.app-shell{padding:14px}.report-hero,.topbar{align-items:stretch;flex-direction:column}.actions,.form-grid,.metric-row{grid-template-columns:1fr}.score-dial{height:120px;width:120px}}