:root{--navy:#082b50;--red:#ef312b;--blue:#168dca;--paper:#eef4f8;--muted:#66758a;--line:#dce6ed;--green:#1b8f5a;--amber:#c88900;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper);color:#10243d}header{height:70px;padding:0 max(4vw,20px);display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff}header>a{color:#ffc400;text-decoration:none;font-weight:800}main{padding:28px max(4vw,16px);max-width:1320px;margin:auto}.panel{background:#fff;border-radius:20px;padding:22px;box-shadow:0 10px 30px #082b5010}.loading{text-align:center;max-width:460px;margin:60px auto}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center}.hero h1{font-size:clamp(32px,5vw,50px);margin:4px 0 8px}.hero p:last-child{max-width:800px;color:var(--muted);line-height:1.55;margin:0}.eyebrow{color:var(--red);font-size:10px;letter-spacing:.15em;font-weight:900;margin:0}.hero-actions{display:grid;gap:10px;min-width:180px}.hero-actions button{border:0;border-radius:12px;background:var(--navy);color:#fff;padding:12px 16px;font-weight:900;cursor:pointer}.health-badge{display:block;text-align:center;border-radius:999px;padding:8px 10px;background:#e8eef4;font-size:11px;font-weight:900}.health-badge.good{background:#e7f7ef;color:#176a45}.health-badge.warn{background:#fff4d6;color:#7f5a00}.health-badge.bad{background:#ffebe9;color:#9f251c}.guard{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:5px solid var(--blue)}.guard p{margin:5px 0 0;color:var(--muted);line-height:1.5}.guard>span{white-space:nowrap;border:1px solid #bcd8e8;background:#edf8fd;color:#0a608f;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}.summary-card{background:#fff;border-radius:17px;padding:17px;box-shadow:0 8px 22px #082b500c}.summary-card span{display:block;color:var(--muted);font-size:11px}.summary-card b{display:block;color:var(--navy);font-size:24px;margin:5px 0}.summary-card small{color:var(--muted);line-height:1.35}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:14px}.main-col,.side-col{display:grid;gap:14px;align-content:start}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:14px}.section-head.compact{margin-bottom:10px}.section-head h2{margin:3px 0 0;color:var(--navy)}.section-head>small{color:var(--muted)}.brief-copy{font-size:17px;line-height:1.6}.brief-copy strong{color:var(--navy)}.attention-list{display:grid;gap:10px}.attention{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:14px}.attention .sev{width:10px;height:10px;border-radius:50%;margin-top:6px}.attention.critical .sev{background:var(--danger)}.attention.high .sev{background:#df6b00}.attention.medium .sev{background:var(--amber)}.attention.info .sev{background:var(--blue)}.attention h3{margin:0 0 5px;font-size:15px}.attention p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.attention a{white-space:nowrap;text-decoration:none;background:#f1f6fa;color:var(--navy);padding:8px 10px;border-radius:9px;font-size:12px;font-weight:900}.legend{font-size:11px;color:var(--muted);display:flex;gap:5px;align-items:center}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-left:7px}.dot.critical{background:var(--danger)}.dot.high{background:#df6b00}.dot.medium{background:var(--amber)}.source-list,.domain-list{display:grid;gap:8px}.source,.domain{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf1f4;padding:9px 0}.source:last-child,.domain:last-child{border:0}.source span,.domain span{color:var(--muted);font-size:12px}.source b,.domain b{font-size:12px;text-align:right}.source .ok{color:var(--green)}.source .fail{color:var(--danger)}.evidence{margin-top:14px}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.evidence-card{border:1px solid var(--line);border-radius:13px;padding:13px}.evidence-card b{display:block;margin-bottom:5px}.evidence-card small{color:var(--muted);line-height:1.45}.empty{color:var(--muted);padding:14px 0}@media(max-width:920px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){main{padding-top:18px}.hero{display:block}.hero-actions{margin-top:16px}.guard{align-items:flex-start}.summary-grid,.evidence-grid{grid-template-columns:1fr}.attention{grid-template-columns:12px 1fr}.attention a{grid-column:2;width:max-content}.section-head{display:block}.legend{margin-top:8px;flex-wrap:wrap}.chat-form{grid-template-columns:1fr}.chat-form button{min-height:44px}.chat-msg{max-width:95%}}.chat-panel{margin:14px 0}.quick-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.quick-prompts button{border:1px solid #cfe0ea;background:#f7fbfd;color:var(--navy);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}.quick-prompts button:hover{border-color:var(--blue);background:#edf8fd}.chat-thread{min-height:150px;max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:15px;background:#f8fbfd;padding:14px;display:grid;gap:10px}.chat-msg{display:grid;gap:5px;max-width:88%}.chat-msg.user{justify-self:end}.chat-msg.agent{justify-self:start}.chat-bubble{padding:11px 13px;border-radius:14px;line-height:1.5;font-size:14px;white-space:pre-wrap}.chat-msg.user .chat-bubble{background:var(--navy);color:#fff;border-bottom-right-radius:4px}.chat-msg.agent .chat-bubble{background:#fff;border:1px solid var(--line);color:#10243d;border-bottom-left-radius:4px}.chat-actions{display:flex;gap:7px;flex-wrap:wrap}.chat-actions a{font-size:11px;text-decoration:none;color:var(--navy);font-weight:900;background:#eaf3f8;border-radius:8px;padding:6px 8px}.chat-meta{font-size:10px;color:var(--muted)}.chat-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:10px}.chat-form textarea{resize:vertical;min-height:54px;border:1px solid #c9d8e2;border-radius:12px;padding:11px 12px;font:inherit;color:#10243d;background:#fff}.chat-form button{border:0;border-radius:12px;background:var(--navy);color:#fff;padding:0 18px;font-weight:900;cursor:pointer}.chat-form button:disabled{opacity:.55;cursor:not-allowed}.chat-note{margin:8px 2px 0;color:var(--muted);font-size:11px;line-height:1.45}@media(max-width:620px){.chat-form{grid-template-columns:1fr}.chat-form button{min-height:44px}.chat-msg{max-width:95%}}.chat-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ai-mode-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:.04em;background:#eef3f6;color:#536678}.ai-mode-badge.cloud{background:#e7f7ef;color:#176a45}.ai-mode-badge.local{background:#fff4d6;color:#7f5a00}.clear-chat{border:1px solid #cbdbe5;background:#fff;color:var(--navy);border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}.clear-chat:hover{border-color:var(--blue)}.chat-form textarea:disabled,.quick-prompts button:disabled{opacity:.55;cursor:not-allowed}.notification-panel{margin:14px 0}.push-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.push-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;background:#eef3f6;color:#536678}.push-status.good{background:#e7f7ef;color:#176a45}.push-status.warn{background:#fff4d6;color:#7f5a00}.push-status.bad{background:#ffebe9;color:#9f251c}.push-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:16px}.push-setup{display:grid;gap:12px;align-content:start}.push-device-card,.push-prefs{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdff}.push-device-card p{margin:6px 0 12px;color:var(--muted);font-size:12px;line-height:1.45}.push-actions{display:flex;gap:8px;flex-wrap:wrap}.push-actions button,.save-prefs{border:0;border-radius:10px;background:var(--navy);color:#fff;padding:10px 12px;font-weight:900;cursor:pointer}.push-actions .secondary{background:#eaf3f8;color:var(--navy)}.push-actions .danger{background:#ffebe9;color:#9f251c}.push-actions button:disabled{opacity:.5;cursor:not-allowed}.prefs-head{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:10px}.prefs-head small{color:var(--muted);font-size:10px}.push-prefs label{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:13px;border-bottom:1px solid #edf1f4}.push-prefs label:last-of-type{border-bottom:0}.push-prefs input{width:17px;height:17px}.severity-row{justify-content:space-between;gap:12px}.severity-row select{border:1px solid #c9d8e2;border-radius:9px;padding:7px 8px;background:#fff;color:#10243d}.save-prefs{margin-top:10px;width:100%}.notification-history{display:grid;gap:8px;max-height:360px;overflow:auto}.notif-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff}.notif-item b{font-size:13px;margin-left:7px}.notif-item p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.4}.notif-item small{font-size:10px;color:var(--muted)}.notif-item a{text-decoration:none;color:var(--navy);background:#eef5f9;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:900}.notif-sev{display:inline-flex;min-width:27px;justify-content:center;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:900}.notif-sev.p0{background:#ffebe9;color:#9f251c}.notif-sev.p1{background:#fff0df;color:#9b4b00}.notif-sev.p2{background:#fff8dc;color:#7d6200}@media(max-width:760px){.push-layout{grid-template-columns:1fr}.push-head{margin-top:8px}.prefs-head{align-items:flex-start}.severity-row{align-items:flex-start;flex-direction:column}.severity-row select{width:100%}.notif-item{grid-template-columns:1fr}.notif-item a{width:max-content}}.approval-panel{margin:14px 0;border-left:5px solid #8a62d3}.approval-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.approval-count{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;background:#eef3f6;color:#536678}.approval-count.has-pending{background:#fff0df;color:#9b4b00}.approval-count.clear{background:#e7f7ef;color:#176a45}.approval-note{margin:-2px 0 14px;color:var(--muted);font-size:12px;line-height:1.5}.approval-list{display:grid;gap:9px}.approval-item{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.approval-item.pending{border-left:4px solid #df6b00}.approval-item.approved,.approval-item.applied{border-left:4px solid var(--green)}.approval-item.rejected{border-left:4px solid var(--danger)}.approval-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.approval-title-row b{font-size:14px}.approval-main p{margin:6px 0;color:#324b67;font-size:13px;line-height:1.45}.approval-main small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.approval-status{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;background:#eef3f6;color:#536678}.approval-status.pending{background:#fff0df;color:#9b4b00}.approval-status.approved,.approval-status.applied{background:#e7f7ef;color:#176a45}.approval-status.rejected{background:#ffebe9;color:#9f251c}.approval-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.approval-actions button,.approval-actions a{border:0;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:900;cursor:pointer;text-decoration:none}.approval-actions .approve{background:#e7f7ef;color:#176a45}.approval-actions .reject{background:#ffebe9;color:#9f251c}.approval-actions a{background:#eef5f9;color:var(--navy)}@media(max-width:760px){.approval-item{grid-template-columns:1fr}.approval-actions{justify-content:flex-start}.approval-head{margin-top:8px}}
.prepare-action-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(180px,.7fr) minmax(260px,1.5fr) auto;gap:9px;margin:10px 0 14px}
.prepare-action-form select,.prepare-action-form input,.prepare-action-form textarea{border:1px solid #c9d8e2;border-radius:10px;padding:9px 10px;font:inherit;background:#fff;color:#10243d}
.prepare-action-form textarea{resize:vertical}
.prepare-action-form button{border:0;border-radius:10px;background:var(--navy);color:#fff;padding:10px 13px;font-weight:900;cursor:pointer}
.prepared-panel{margin:14px 0;border-left:5px solid #2c84b8}.prepared-list{display:grid;gap:9px}
.prepared-item{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}
.prepared-item.pending_owner_approval{border-left:4px solid #df6b00}.prepared-item.approved_for_execution{border-left:4px solid var(--green)}.prepared-item.cancelled{opacity:.65}
.prepared-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.prepared-title b{font-size:14px}.prepared-main p{margin:6px 0;color:#324b67;font-size:12px;line-height:1.45}.prepared-main small{color:var(--muted);font-size:10px}
.prepared-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.prepared-actions button,.prepared-actions a{border:0;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:900;text-decoration:none;cursor:pointer}
.prepared-actions .submit{background:#fff0df;color:#9b4b00}.prepared-actions .cancel{background:#ffebe9;color:#9f251c}.prepared-actions a{background:#eef5f9;color:var(--navy)}
.prepared-status{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;background:#eef3f6;color:#536678}
.prepared-status.pending_owner_approval{background:#fff0df;color:#9b4b00}.prepared-status.approved_for_execution{background:#e7f7ef;color:#176a45}.prepared-status.cancelled{background:#f1f1f1;color:#666}
@media(max-width:900px){.prepare-action-form{grid-template-columns:1fr 1fr}.prepare-action-form textarea{grid-column:1/-1}.prepare-action-form button{grid-column:1/-1}.prepared-item{grid-template-columns:1fr}.prepared-actions{justify-content:flex-start}}
@media(max-width:620px){.prepare-action-form{grid-template-columns:1fr}.prepare-action-form textarea,.prepare-action-form button{grid-column:auto}}
