:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18332b;background:#f2f7f5;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:28px 22px;color:#e9fff6;background:linear-gradient(165deg,#073f33,#075845 56%,#073d33);display:flex;flex-direction:column}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#6ee7b7;color:#064e3b;font-size:18px;font-weight:800;box-shadow:0 10px 30px #052e2666}.sidebar nav{display:grid;gap:8px;margin-top:56px}.sidebar nav a{color:#b9d8ce;text-decoration:none;padding:12px 14px;border-radius:10px;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff17}.sidebar-status{margin-top:auto;padding:14px;border:1px solid #ffffff1f;border-radius:12px;color:#c9e8df;font-size:13px}.sidebar-status span{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 0 4px #6ee7b722}.sidebar-status small{color:#91b9ad;margin-left:18px}main{min-width:0;padding:34px clamp(22px,4vw,58px) 60px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}.eyebrow{margin:0 0 6px;color:#087f5b;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1,h2{font-family:inherit}h1{margin:0;color:#102e26;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.04em}.topbar>div>p:last-child{margin:9px 0 0;color:#6a7f78}.location-select{min-width:230px}.location-select span{display:block;margin-bottom:7px;color:#61766f;font-size:12px;font-weight:700}.location-select select{width:100%;padding:11px 38px 11px 13px;border:1px solid #ccddd7;border-radius:10px;background:#fff;color:#18332b;font-weight:600}.topbar-actions{display:flex;align-items:flex-end;gap:10px}.session-control{position:relative}.session-control>button,.session-user button{padding:11px 14px;border:1px solid #bcd4cc;border-radius:10px;color:#075845;background:#fff;font-weight:700;cursor:pointer}.login-popover{position:absolute;z-index:5;top:50px;right:0;width:280px;display:grid;gap:12px;padding:18px;border:1px solid #d5e2dd;border-radius:12px;background:#fff;box-shadow:0 18px 45px #173a3025}.login-popover label{color:#60766e;font-size:11px;font-weight:700}.login-popover input{width:100%;margin-top:5px;padding:9px;border:1px solid #d5e2dd;border-radius:8px}.login-popover button{padding:10px;border:0;border-radius:8px;color:#fff;background:#087f5b;font-weight:700}.login-popover p{margin:0;color:#a52620;font-size:11px}.session-user{display:flex;align-items:center;gap:9px}.session-user span,.session-user small{display:block}.session-user span{font-size:12px;font-weight:700}.session-user small{color:#71847d;text-transform:capitalize}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric-card{padding:19px;border:1px solid #dce8e3;border-radius:15px;background:#fff;box-shadow:0 8px 28px #133b300a}.metric-card span{color:#657a73;font-size:13px;font-weight:600}.metric-card strong{display:block;margin:8px 0 5px;color:#173a30;font-size:28px;font-weight:800}.metric-card small{color:#879891}.metric-card.metric-primary{background:linear-gradient(140deg,#087f5b,#0b6c52);border-color:transparent}.metric-card.metric-primary span,.metric-card.metric-primary small{color:#ccece1}.metric-card.metric-primary strong{color:#fff}.text-alert{color:#c2413b!important}.text-stable{color:#087f5b!important}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:20px;margin-bottom:20px}.panel{background:#fff;border:1px solid #dce8e3;border-radius:16px;box-shadow:0 8px 28px #133b3008}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px 0}.panel-heading h2{margin:0;color:#18332b;font-size:18px;letter-spacing:-.02em}.source-label{color:#748980;font-size:11px;background:#f1f7f4;padding:6px 9px;border-radius:20px}.chart-wrap{height:340px;padding:14px 12px 12px}.alert-panel{padding-bottom:20px}.alert-heading{align-items:center}.risk-badge{display:inline-flex;justify-content:center;min-width:70px;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:.06em}.risk-low{color:#067647;background:#dcfae6}.risk-medium{color:#a15c00;background:#fff1c2}.risk-high{color:#b42318;background:#fee4e2}.risk-unknown{color:#52665e;background:#edf2f0}.confidence-row{display:flex;justify-content:space-between;margin:20px 22px;padding:13px 14px;border-radius:10px;background:#f3f8f6;color:#597068;font-size:13px}.alert-panel h3{margin:19px 22px 8px;font-size:13px}.reason-list,.action-list{margin:0 22px;padding-left:18px;color:#526a62;font-size:13px;line-height:1.55}.reason-list li,.action-list li{margin-bottom:7px}.disclaimer{margin:20px 22px 0;padding-top:14px;border-top:1px solid #e4ece9;color:#8a5b2b;font-size:11px}.empty-state{margin:25px 22px;color:#6a7f78}.table-panel{overflow:hidden}.geo-grid{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.4fr);gap:20px;margin-bottom:20px}.map-panel{min-height:520px;overflow:hidden}.map-legend{display:flex;align-items:center;gap:5px;color:#657a73;font-size:10px}.map-legend span{width:9px;height:9px;margin-left:5px;border-radius:50%}.map-legend .low{background:#80d5b3}.map-legend .medium{background:#f4c95d}.map-legend .high{background:#e97870}.risk-map{display:block;width:100%;height:445px;padding:10px 18px 18px}.map-shape{stroke:#fff;stroke-width:1.3;cursor:pointer;transition:filter .15s ease,stroke-width .15s ease;outline:none}.map-shape:hover,.map-shape:focus{filter:brightness(.94);stroke:#075845;stroke-width:2}.map-shape.selected{stroke:#073f33;stroke-width:3}.map-label{fill:#25483e;font-size:9px;font-weight:700;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fffc;stroke-width:2px}.map-loading{min-height:420px;display:grid;place-items:center;color:#657a73}.table-panel .panel-heading{padding-bottom:15px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{padding:11px 18px;background:#f5f9f7;color:#71847d;font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.06em}td{padding:13px 18px;border-top:1px solid #edf2f0;color:#435c53;font-size:13px}tbody tr{cursor:pointer;transition:background .15s ease}tbody tr:hover,tbody tr.selected-row{background:#f0faf6}td button{padding:0;border:0;background:transparent;color:#173a30;font-weight:700;cursor:pointer}.error-banner{margin-bottom:20px;padding:13px 16px;border:1px solid #f4b8b4;border-radius:10px;background:#fff1f0;color:#a52620}.loading-state{min-height:380px;display:grid;place-items:center;color:#657a73}.ebs-panel{margin-top:20px;padding-bottom:22px}.preview-badge{padding:6px 10px;border-radius:20px;color:#74510b;background:#fff1c2;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.workflow-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:20px 22px}.workflow-step{position:relative;display:flex;gap:8px;min-width:0;padding:10px;border:1px solid transparent;border-radius:10px;background:#f3f8f6;text-align:left;font:inherit;cursor:pointer}.workflow-step.active{border-color:#087f5b;background:#e5f4ee;box-shadow:0 0 0 2px #087f5b14}.workflow-step:disabled{cursor:not-allowed;opacity:.48}.workflow-step>span{flex:0 0 24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#087f5b;font-size:11px;font-weight:800}.workflow-step strong,.workflow-step small{display:block}.workflow-step strong{color:#26493e;font-size:11px}.workflow-step small{margin-top:3px;color:#7a8d86;font-size:9px}.stage-context{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;color:#31574a;background:#edf6f2}.stage-context span{color:#6d827a;font-size:12px}.ebs-form{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 22px 0}.ebs-form label{color:#5c7169;font-size:11px;font-weight:700}.ebs-form input,.ebs-form select,.ebs-form textarea{width:100%;margin-top:6px;padding:10px 11px;border:1px solid #d5e2dd;border-radius:9px;color:#18332b;background:#fff;font:inherit;font-size:13px}.ebs-form input:focus,.ebs-form select:focus,.ebs-form textarea:focus{outline:2px solid #80d5b3;border-color:#087f5b}.ebs-form textarea{min-height:90px;resize:vertical}.full-width{grid-column:1 / -1}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-actions p{margin:0;color:#7b8d86;font-size:11px}.form-actions button{padding:11px 16px;border:0;border-radius:9px;color:#fff;background:#087f5b;font-weight:700;cursor:pointer}.form-actions button:disabled{cursor:wait;opacity:.6}.form-error{margin:16px 22px 0;color:#a52620;font-size:12px}.preview-result{display:flex;align-items:center;gap:14px;margin:18px 22px 0;padding:14px;border:1px solid #a9dfc8;border-radius:10px;color:#26624e;background:#effbf6;font-size:12px}.preview-result code{margin-left:auto;color:#365e50}.registry-panel{margin-top:20px;padding-bottom:22px;overflow:hidden}.connection-badge{padding:6px 10px;border-radius:20px;color:#8a4b16;background:#ffead5;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.connection-badge.connected{color:#067647;background:#dcfae6}.registry-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:0;margin-top:20px;border-top:1px solid #e5ece9}.signal-list{min-height:390px;border-right:1px solid #e5ece9}.registry-search{padding:18px;border-bottom:1px solid #edf2f0}.registry-search label{display:block;margin-bottom:7px;color:#61766f;font-size:11px;font-weight:700}.registry-search>div{display:flex}.registry-search input{min-width:0;flex:1;padding:10px 11px;border:1px solid #d5e2dd;border-radius:9px 0 0 9px;font:inherit}.registry-search button{padding:0 14px;border:0;border-radius:0 9px 9px 0;color:#fff;background:#087f5b;font-weight:700;cursor:pointer}.signal-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border:0;border-bottom:1px solid #edf2f0;background:#fff;color:#284a40;text-align:left;cursor:pointer}.signal-row:hover,.signal-row.selected{background:#eff9f5}.signal-row span,.signal-row strong,.signal-row small{display:block}.signal-row small{margin-top:4px;color:#6d827a}.signal-row time{color:#879891;font-size:10px}.signal-detail{min-height:390px;padding:22px}.signal-detail-heading{display:flex;justify-content:space-between;gap:15px;padding-bottom:18px;border-bottom:1px solid #e5ece9}.signal-detail-heading span{color:#087f5b;font-size:11px;font-weight:800}.signal-detail-heading h3{margin:5px 0}.signal-detail-heading p{margin:0;color:#6d827a;font-size:12px}.signal-detail-heading code{color:#71847d;font-size:10px}.event-timeline{margin:22px 0 0;padding:0;list-style:none}.event-timeline li{display:grid;grid-template-columns:16px 1fr;gap:10px;padding-bottom:18px}.event-timeline li>span{width:10px;height:10px;margin-top:3px;border:2px solid #087f5b;border-radius:50%;box-shadow:0 0 0 4px #dff4ec}.event-timeline strong,.event-timeline small{display:block}.event-timeline small{margin-top:3px;color:#7b8d86;font-size:10px}.event-timeline p{margin:7px 0 0;color:#526a62;font-size:12px}.event-timeline b{color:#31574a}.registry-empty{min-height:220px;display:grid;align-content:center;justify-items:center;padding:30px;color:#60766e;text-align:center}.registry-empty p{max-width:560px;margin:8px 0 0;color:#81928c;font-size:12px;line-height:1.55}.registry-message{padding:20px;color:#748980;font-size:12px}@media(max-width:1050px){.summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.geo-grid{grid-template-columns:1fr}.workflow-steps{grid-template-columns:repeat(3,1fr)}.registry-layout{grid-template-columns:1fr}.signal-list{min-height:auto;border-right:0;border-bottom:1px solid #e5ece9}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:14px 18px;flex-direction:row;align-items:center;gap:16px}.brand-mark{width:40px;height:40px}.sidebar nav{display:flex;margin:0;overflow-x:auto}.sidebar nav a{padding:9px;white-space:nowrap;font-size:13px}.sidebar-status{display:none}main{padding:25px 16px 45px}.topbar{align-items:stretch;flex-direction:column}.location-select{min-width:0}.topbar-actions{align-items:stretch;flex-direction:column}.summary-grid{grid-template-columns:1fr}.panel-heading{flex-direction:column}.workflow-steps{grid-template-columns:1fr 1fr}.ebs-form{grid-template-columns:1fr}.full-width{grid-column:auto}.form-actions,.preview-result{align-items:stretch;flex-direction:column}.preview-result code{margin-left:0}.signal-detail-heading{flex-direction:column}}
