:root{--accent:#2563eb;--accent2:#1d4ed8;--orange:#f59e0b;--red:#ef4444;--green:#10b981;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f5f7fb;color:var(--ink)}.app{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{background:#07111f;color:white;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.back{color:#8ea3be;text-decoration:none;font-size:12px;margin-bottom:22px}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:900;margin-bottom:28px}.brand span{width:40px;height:40px;border-radius:12px;background:#2563eb22;color:#93c5fd;display:grid;place-items:center;border:1px solid #2563eb66}.brand b{color:#93c5fd}nav{display:grid;gap:6px}nav button{border:0;background:transparent;color:#c9d6e4;text-align:left;padding:12px;border-radius:10px;cursor:pointer}nav button.active,nav button:hover{background:linear-gradient(90deg,var(--accent),#4f46e5);color:white}.upgrade{margin-top:auto;background:#0f1f35;border:1px solid #1d3554;border-radius:14px;padding:14px}.upgrade b,.upgrade span{display:block}.upgrade span{font-size:12px;color:#9fb2c9;margin:6px 0 12px}.upgrade button{width:100%;border:0;background:#2563eb;color:white;border-radius:9px;padding:9px;font-weight:800}.user{border-top:1px solid #22344b;padding-top:16px;margin-top:16px;display:flex;gap:10px;align-items:center}.user>span{width:38px;height:38px;border-radius:50%;background:var(--accent);display:grid;place-items:center}.user p,.user small{display:block;margin:0}.user small{color:#9aabc0}main{padding:24px 28px 48px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}header h1{margin:0 0 5px}header p{margin:0;color:var(--muted)}.header-actions{display:flex;gap:8px}header button,.toolbar button,.modal button,.cert-grid button{border:0;background:linear-gradient(90deg,var(--accent),#4f46e5);color:white;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}.header-actions button:first-child{background:white;color:#334155;border:1px solid var(--line)}#menu{display:none}.page{display:none}.page.active{display:block}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.metrics article{border:0;border-radius:16px;padding:17px;color:white;position:relative;overflow:hidden;box-shadow:0 14px 32px rgba(15,23,42,.08)}.metrics article:after{content:"";position:absolute;right:-24px;top:-30px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.14)}.metrics article:nth-child(1){background:linear-gradient(135deg,#2563eb,#60a5fa)}.metrics article:nth-child(2){background:linear-gradient(135deg,#f97316,#fdba74)}.metrics article:nth-child(3){background:linear-gradient(135deg,#ef4444,#fb7185)}.metrics article:nth-child(4){background:linear-gradient(135deg,#059669,#34d399)}.metrics small,.metrics b,.metrics span{display:block}.metrics small,.metrics span{color:rgba(255,255,255,.8)}.metrics b{font-size:31px;margin:8px 0}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:14px}.panel,.table-card,.action-lanes section,.asset-grid article,.cert-grid article{background:white;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.wide{grid-column:span 2}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-title h3{margin:0}.panel-title span,.panel-title button{font-size:12px;color:var(--muted);background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:6px 9px}.trend{height:230px;width:100%;background:#fbfdff;border-radius:12px}.trend path{stroke:#e8eef7;stroke-width:1}.trend polyline{fill:none;stroke:#2563eb;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.trend .line2{stroke:#10b981;stroke-width:3;stroke-dasharray:8 8}.axis{display:flex;justify-content:space-between;color:#94a3b8;font-size:11px;margin-top:8px}.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#10b981 0 50%,#2563eb 50% 75%,#f59e0b 75% 89%,#ef4444 89% 96%,#e2e8f0 96%);display:grid;place-items:center;margin:auto}.donut span{width:86px;height:86px;border-radius:50%;background:white;display:grid;place-items:center;text-align:center;font-size:11px;color:#64748b}.donut b{font-size:23px;color:#0f172a}.status ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px;font-size:12px}.status li{display:flex;justify-content:space-between}.inspection-feed p{display:grid;grid-template-columns:58px 1fr auto;gap:4px 10px;margin:0 0 9px;background:#f8fafc;border-radius:12px;padding:11px}.inspection-feed time{grid-row:1/3;color:#64748b}.inspection-feed span{font-size:12px;color:#64748b}.inspection-feed em{grid-row:1/3;grid-column:3;align-self:center;background:#e0ecff;color:#1d4ed8;border-radius:999px;padding:5px 8px;font-style:normal;font-size:11px}.risk-map{height:230px;border-radius:14px;background:linear-gradient(35deg,transparent 48%,#fff 49% 51%,transparent 52%),linear-gradient(120deg,transparent 48%,#fff 49% 51%,transparent 52%),#dbe8f7;position:relative;overflow:hidden}.risk-map i{position:absolute;background:#07111f;color:white;border-radius:999px;padding:6px 8px;font-style:normal;font-size:10px}.risk-map i:before{content:"";position:absolute;left:-8px;top:7px;width:10px;height:10px;border-radius:50%;background:#ef4444}.risk-map b{position:absolute;left:18px;bottom:16px}.toolbar{display:flex;gap:12px;margin-bottom:14px}.toolbar input{flex:1;background:white;border:1px solid var(--line);border-radius:12px;padding:13px}.table-card{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;min-width:840px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px;font-size:13px}th{font-size:10px;color:#64748b;background:#f8fafc;text-transform:uppercase;letter-spacing:.06em}.pill{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;background:#eef2ff;color:#3730a3}.pill.done{background:#dcfce7;color:#15803d}.pill.progress{background:#dbeafe;color:#1d4ed8}.action-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.action-lanes h3{margin:0 0 12px}.action-lanes article{background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:10px}.action-lanes small,.action-lanes b,.action-lanes span{display:block}.action-lanes small{font-size:10px;color:#ef4444;font-weight:900}.action-lanes span{font-size:12px;color:#64748b;margin-top:6px}.asset-grid,.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.asset-grid b,.asset-grid span,.cert-grid b,.cert-grid span{display:block}.asset-grid span,.cert-grid span{font-size:13px;color:#64748b;margin:8px 0}.asset-grid i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#60a5fa)}.asset-grid .red{background:linear-gradient(90deg,#ef4444,#fb7185)}.asset-grid .amber{background:linear-gradient(90deg,#f97316,#fdba74)}.cert-grid button{padding:8px 10px}.reports{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}.barline{height:260px;display:flex;gap:16px;align-items:end;padding:20px 6px}.barline i{flex:1;background:linear-gradient(180deg,#2563eb,#1d4ed8);border-radius:10px 10px 4px 4px}.severity{display:grid;gap:14px}.severity p{display:grid;grid-template-columns:70px 1fr 30px;align-items:center;gap:10px;margin:0}.severity i{height:10px;border-radius:999px;background:linear-gradient(90deg,#ef4444,#f59e0b)}.modal{position:fixed;inset:0;background:rgba(6,21,42,.85);display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal form{width:min(430px,100%);background:white;border-radius:20px;padding:24px;display:grid;gap:13px;position:relative}.modal [data-close]{position:absolute;right:12px;top:8px;background:none;color:#102033;font-size:24px}.modal label{display:grid;gap:6px}.modal input{border:1px solid var(--line);border-radius:9px;padding:12px}@media(max-width:1120px){.dashboard-grid,.reports{grid-template-columns:1fr}.wide{grid-column:auto}.metrics,.asset-grid,.cert-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.app{display:block}.sidebar{position:fixed;z-index:10;width:245px;transform:translateX(-105%);transition:.25s}.sidebar.open{transform:none}#menu{display:block}main{padding:16px}.header-actions{display:none}.metrics,.action-lanes,.asset-grid,.cert-grid{grid-template-columns:1fr}.toolbar{flex-direction:column}}
