:root{--green:#0c6b45;--green2:#13865a;--dark:#10231c;--muted:#68746f;--line:#dce6e1;--soft:#f2f8f5;--warn:#8a5a00;--danger:#a61b29;--blue:#165d8d;--shadow:0 10px 28px rgba(14,45,33,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#f7faf8;color:var(--dark)}a{color:var(--green)}button,.btn{border:0;border-radius:10px;padding:11px 16px;background:var(--green);color:white;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px}button:hover,.btn:hover{filter:brightness(.95)}button.secondary,.btn.secondary{background:#e7f1ec;color:var(--green)}button.danger{background:var(--danger)}button.warning{background:#8a5a00}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #cbdad3;border-radius:9px;background:#fff;font:inherit}textarea{min-height:90px;resize:vertical}label{font-size:.89rem;font-weight:700;display:block;margin:8px 0 5px}.container{max-width:1240px;margin:auto;padding:20px}.topbar{position:sticky;top:0;z-index:15;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:10px 20px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid #d5e7df}.brand strong{display:block}.brand small{color:var(--muted)}.session{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.environment-banner{font-size:.72rem;font-weight:900;letter-spacing:.08em;padding:5px 9px;border-radius:999px}.env-demo{background:#efe6ff;color:#5b2a89}.env-uat{background:#e2efff;color:#18548a}.env-pilot{background:#fff0cc;color:#865c00}.env-live{background:#ffe1e4;color:#9d1525}.hero{display:grid;grid-template-columns:minmax(260px,.9fr) 1.3fr;gap:30px;align-items:center;background:white;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.hero img{width:100%;max-height:430px;object-fit:cover;border-radius:14px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-size:.75rem;font-weight:900}.hero h1{font-size:clamp(2rem,4vw,3.6rem);margin:.2em 0}.lead{font-size:1.12rem;color:#46534e}.access-grid,.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 4px 16px rgba(14,45,33,.04)}.card h2,.card h3{margin-top:0}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.kpi{background:white;border:1px solid var(--line);border-radius:12px;padding:13px}.kpi .n{font-size:1.7rem;font-weight:900}.kpi .l{color:var(--muted);font-size:.78rem}.notice{padding:11px 13px;border-radius:10px;margin:10px 0;background:#eaf4ff;color:#234f73}.notice.success{background:#e5f6ed;color:#135a3b}.notice.warning{background:#fff3d6;color:#765000}.notice.error{background:#ffe6e9;color:#8c1c29}.disclaimer{background:#fff4d6;border:1px solid #efd58b;color:#624800;padding:10px 14px;border-radius:10px;font-weight:800;text-align:center}.badge{font-size:.75rem;padding:4px 7px;border-radius:999px;background:#edf1ef;color:#4a5852;white-space:nowrap}.badge.good{background:#dbf3e6;color:#126540}.badge.bad{background:#ffe2e5;color:#941d2b}.badge.warn{background:#fff1ce;color:#785200}.badge.blue{background:#e2f0fb;color:#175b88}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}table{border-collapse:collapse;width:100%;font-size:.87rem}th,td{padding:9px 10px;border-bottom:1px solid #e9efec;text-align:left;vertical-align:top}th{background:#f0f6f3;position:sticky;top:0;z-index:1}tr:hover td{background:#fbfdfc}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.tab{background:#e9f1ed;color:#315246;padding:8px 12px}.tab.active{background:var(--green);color:white}.panel{display:none}.panel.active{display:block}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:10px 0}.toolbar>*{width:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .full{grid-column:1/-1}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.identity{font-size:.86rem}.identity strong{display:block}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:5px;background:#999}.status-dot.good{background:#15905c}.status-dot.bad{background:#c92c3a}.status-dot.warn{background:#d18b00}.party-entry{display:grid;grid-template-columns:1fr 120px;gap:10px;align-items:center;margin:6px 0}.progress{height:12px;border-radius:999px;background:#e9efec;overflow:hidden}.progress span{display:block;height:100%;background:var(--green)}.bars .bar-row{display:grid;grid-template-columns:100px 1fr 70px;gap:8px;align-items:center;margin:8px 0}.chart-area{min-height:180px}.ring{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--pct)*1%),#e7efeb 0);position:relative}.ring:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:white}.ring b{z-index:1}.landing{padding:36px 20px}.footer{padding:30px 20px;text-align:center;color:var(--muted);font-size:.85rem}.mobile-only{display:none}.critical{border-left:5px solid var(--danger)}.sticky-actions{position:sticky;bottom:10px;background:rgba(255,255,255,.95);padding:10px;border:1px solid var(--line);border-radius:12px;display:flex;gap:10px}.media-preview{max-width:100%;max-height:280px;border-radius:10px}.sync{font-size:.78rem;font-weight:800}.sync.queued{color:#8a5a00}.sync.received{color:#0c6b45}.map-canvas{width:100%;height:360px;border:1px solid var(--line);border-radius:12px;background:#f5f8f6}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;z-index:30;padding:20px}.modal>div{background:white;border-radius:14px;padding:20px;max-width:720px;width:100%;max-height:90vh;overflow:auto}.hidden,[hidden]{display:none!important}@media(max-width:900px){.hero,.split{grid-template-columns:1fr}.access-grid,.grid{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}@media(max-width:600px){.container{padding:12px}.access-grid,.grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:8px 10px}.session .identity{display:none}.hero{padding:15px}.mobile-only{display:block}.tabs{overflow:auto;flex-wrap:nowrap}.tab{white-space:nowrap}.party-entry{grid-template-columns:1fr 95px}}
