@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#142333;font-synthesis:none;--navy:#071c2c;--navy-soft:#0d2a3f;--green:#0b8f73;--green-dark:#08725d;--mint:#dff7ef;--surface:#fff;--canvas:#f2f6f8;--line:#dce5e9;--muted:#647586;--critical:#bd3c43;--warning:#b56b18;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #0b8f7340}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}h1,h2,h3,strong{font-family:Manrope,sans-serif}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;min-height:100vh;padding:24px 16px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{letter-spacing:-.04em;background:linear-gradient(135deg,#0fc49a,#087a67);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-family:Manrope,sans-serif;font-weight:800;display:flex;box-shadow:0 8px 24px #09b9903b}.brand>div:last-child{gap:1px;display:grid}.brand strong{font-size:15px}.brand span{color:#9db2bf;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.sidebar nav{gap:6px;margin-top:42px;display:grid}.sidebar nav button,.sidebar footer>button{color:#bfd0d9;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;width:100%;min-height:44px;padding:0 13px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#12364c}.sidebar nav button.active{box-shadow:inset 3px 0 #15c29a}.sidebar footer{border-top:1px solid #244052;gap:10px;margin-top:auto;padding-top:18px;display:grid}.user-card{gap:2px;padding:0 12px;display:grid}.user-card span{font-weight:700}.user-card small{color:#8fa7b4}.sidebar footer>button:hover{color:#fff}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;justify-content:space-between;align-items:center;min-height:76px;padding:12px 34px;display:flex;position:sticky;top:0}.company-selector{align-items:center;gap:10px;display:flex}.company-selector label{color:var(--muted);text-transform:uppercase;gap:1px;font-size:11px;font-weight:700;display:grid}.company-selector select{appearance:none;color:#142333;background:0 0;border:0;max-width:340px;padding:0;font-size:15px;font-weight:700}.topbar-actions{align-items:center;gap:10px;display:flex}.topbar-actions a,.topbar-actions button{border-radius:9px;align-items:center;gap:7px;min-height:40px;padding:0 13px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.topbar-actions a{color:var(--green-dark)}.topbar-actions button{border:1px solid var(--line);color:#263746;background:#fff}.workspace-content{max-width:1500px;margin:0 auto;padding:34px}.page-header{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:26px;display:flex}.page-header>div>span,.section-heading span,.panel-heading span,.eyebrow{color:var(--green-dark);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:800}.page-header h1{color:#0a2030;letter-spacing:-.045em;margin:7px 0 8px;font-size:clamp(25px,3vw,38px);line-height:1.1}.page-header p{color:var(--muted);margin:0}.status-pill{color:#526574;text-transform:uppercase;white-space:nowrap;background:#edf2f4;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:7px 11px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.status-pill.success{color:#08715d;background:#dff7ed}.status-pill.warning{color:#8c5514;background:#fff0d8}.status-pill.critical{color:#a12f36;background:#fee5e6}.hero-grid,.content-grid,.implementation-grid,.certificate-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:18px;display:grid}.readiness-hero{color:#fff;background:linear-gradient(125deg,#09283b,#0b594e);border-radius:18px;justify-content:space-between;align-items:center;min-height:245px;padding:30px 34px;display:flex;position:relative;overflow:hidden}.readiness-hero:after{content:"";background:radial-gradient(circle,#3adfb33d,#0000 66%);width:300px;height:300px;position:absolute;top:-80px;right:-70px}.readiness-hero>*{z-index:1;position:relative}.readiness-hero .eyebrow{color:#72e1c5}.readiness-hero h2{letter-spacing:-.04em;text-transform:capitalize;margin:10px 0 8px;font-size:clamp(24px,3vw,34px)}.readiness-hero p{color:#c6dcd9;margin-bottom:25px}.readiness-hero button,.next-actions>button,.upload-card>button{color:#032b25;background:#17b890;border:0;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-weight:800;display:inline-flex}.progress-ring{background:conic-gradient(#43d7b3 var(--progress), #ffffff21 0);border-radius:50%;justify-content:center;align-items:center;min-width:142px;height:142px;display:flex;position:relative}.progress-ring:before{content:"";background:#0c3d42;border-radius:50%;position:absolute;inset:10px}.progress-ring>div{text-align:center;z-index:1;display:grid;position:relative}.progress-ring strong{color:#fff;font-size:27px}.progress-ring span{color:#a8d4c9;font-size:11px}.page-header>.progress-ring{background:conic-gradient(var(--green) var(--progress), #dce7e8 0);min-width:112px;height:112px}.page-header>.progress-ring:before{background:var(--canvas)}.page-header>.progress-ring strong{color:#14303d;font-size:23px}.page-header>.progress-ring span{color:var(--muted)}.company-snapshot,.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 28px #0c26340b}.company-snapshot dl,.company-data dl,.certificate-card dl{gap:0;margin:15px 0 0;display:grid}.company-snapshot dl div,.company-data dl div,.certificate-card dl div{border-bottom:1px solid #e8eef0;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}dt{color:var(--muted);font-size:12px}dd{text-align:right;margin:0;font-weight:700}.section-heading,.panel-heading{justify-content:space-between;align-items:end;display:flex}.section-heading{margin:34px 0 14px}.section-heading h2,.panel-heading h2{color:#102738;margin:5px 0 0}.section-heading button,.panel-heading button{color:var(--green-dark);background:0 0;border:0;font-weight:700}.occurrence-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.occurrence-summary button{border:1px solid var(--line);color:#263b48;text-align:left;background:#fff;border-radius:13px;align-items:center;gap:8px;min-height:115px;padding:16px;display:grid}.occurrence-summary button:hover{border-color:#8bbeb1;transform:translateY(-1px)}.occurrence-summary button svg{color:var(--green)}.occurrence-summary button.critical svg{color:var(--critical)}.occurrence-summary button.warning svg{color:var(--warning)}.occurrence-summary button span{color:var(--muted);font-size:12px}.occurrence-summary button strong{font-size:25px}.content-grid{margin-top:24px}.panel-heading{border-bottom:1px solid #edf1f2;padding-bottom:17px}.next-actions{background:#edf8f5;border-color:#c9e9df}.next-actions h2{margin:10px 0;font-size:25px}.next-actions p{color:#506772}.security-note{color:#506a65;border-top:1px solid #c9e1da;align-items:flex-start;gap:9px;margin-top:28px;padding-top:18px;font-size:12px;display:flex}.timeline{padding:12px 0 0}.timeline article{grid-template-columns:32px minmax(0,1fr);gap:14px;padding:12px 0;display:grid;position:relative}.timeline article:not(:last-child):before{content:"";background:#d9e5e5;width:1px;position:absolute;top:42px;bottom:-5px;left:15px}.timeline-dot{background:var(--mint);color:var(--green-dark);z-index:1;border-radius:50%;justify-content:center;align-items:center;height:32px;display:flex;position:relative}.timeline-dot.critical{color:var(--critical);background:#fee5e6}.timeline article header{justify-content:space-between;align-items:center;gap:10px;display:flex}.timeline article p{color:var(--muted);margin:5px 0;font-size:13px}.timeline article small{color:#81909b}.timeline.compact article:nth-child(n+6){display:none}.metrics-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:13px;gap:7px;min-height:135px;padding:18px;display:grid}.metric-card svg{color:var(--green)}.metric-card>span{color:var(--muted);font-size:12px}.metric-card strong{font-size:20px;line-height:1.2}.metric-card.critical svg{color:var(--critical)}.metric-card.warning svg{color:var(--warning)}.implementation-grid{margin-bottom:18px}.implementation-grid .panel h2{margin-top:0}.implantation-metrics{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.implantation-metrics .metric-card{box-shadow:none;background:#f7fafb}.readiness-list{display:grid}.readiness-list article{border-bottom:1px solid #e8edef;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:74px;padding:10px 0;display:grid}.readiness-list article:last-child{border-bottom:0}.step-number{color:#5f747e;background:#edf4f4;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;display:flex}.readiness-list article>div{gap:4px;display:grid}.readiness-list small{color:var(--muted)}.certificate-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}.certificate-icon{background:var(--mint);color:var(--green-dark);border-radius:13px;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.certificate-card h2{margin-bottom:4px}.certificate-card>span{color:var(--muted)}.fingerprint{overflow-wrap:anywhere;max-width:260px;font-family:ui-monospace,monospace;font-size:10px}.danger-action{color:#9a2c33;background:#fff;border:1px solid #e5a5a8;border-radius:9px;min-height:42px;margin-top:18px;padding:0 14px;font-weight:700}.upload-card{align-content:start;gap:13px;display:grid}.upload-card>svg{color:var(--green)}.upload-card h2,.upload-card p{margin:0}.upload-card p{color:var(--muted)}.upload-card label{gap:6px;font-size:12px;font-weight:700;display:grid}.upload-card input{background:#f8fafb;border:1px solid #ccd9dd;border-radius:9px;min-height:44px;padding:10px}.upload-card small{color:var(--muted)}.occurrence-filters{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.occurrence-filters button{border:1px solid var(--line);color:#405764;background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:39px;padding:0 13px;display:flex}.occurrence-filters button strong{background:#edf2f4;border-radius:50%;justify-content:center;align-items:center;width:23px;height:23px;font-size:11px;display:flex}.occurrence-filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}.occurrence-filters button.active strong{background:#1e4359}.occurrence-list{gap:10px;display:grid}.occurrence-list>article{border:1px solid var(--line);border-left:4px solid var(--green);background:#fff;border-radius:12px;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:17px;display:grid}.occurrence-list>article.critical{border-left-color:var(--critical)}.occurrence-list>article.warning{border-left-color:var(--warning)}.occurrence-icon{color:var(--green);background:#edf8f5;border-radius:9px;justify-content:center;align-items:center;width:39px;height:39px;display:flex}.occurrence-list .critical .occurrence-icon{color:var(--critical);background:#fee8e9}.occurrence-list .warning .occurrence-icon{color:var(--warning);background:#fff2de}.occurrence-list header{justify-content:space-between;align-items:center;display:flex}.occurrence-list header>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.occurrence-list h2{margin:8px 0 4px;font-size:17px}.occurrence-list p{color:#526875;margin:0 0 8px}.occurrence-list small{color:#82919a}.notice{border-radius:10px;margin:0 0 18px;padding:13px 16px}.notice.error{color:#922d34;background:#fee8e9}.notice.success{color:#08705b;background:#e1f7ef}.loading-state,.empty-state{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:220px;display:flex}.empty-state svg{color:var(--green)}.empty-state span{font-size:13px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.access-screen{background:radial-gradient(circle at 20% 20%,#124e50,#0000 35%),linear-gradient(140deg,#061a2a,#082638);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.access-card{background:#fff;border-radius:19px;justify-items:start;gap:13px;width:100%;max-width:460px;padding:34px;display:grid;box-shadow:0 30px 80px #00000047}.access-card .brand{color:var(--navy);margin-bottom:24px}.access-card h1{letter-spacing:-.04em;margin:5px 0 0;font-size:28px}.access-card p{color:var(--muted);margin:0;line-height:1.55}.access-card a{background:var(--green);color:#fff;border-radius:9px;align-items:center;gap:8px;min-height:44px;margin-top:10px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.access-icon{color:var(--green);width:36px;height:36px;margin-top:15px}@media (width<=1120px){.occurrence-summary{grid-template-columns:repeat(3,1fr)}.metrics-row{grid-template-columns:repeat(2,1fr)}.implantation-metrics{grid-template-columns:1fr}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;min-height:0;padding:13px 16px;position:static}.sidebar .brand>div:last-child,.sidebar footer{display:none}.sidebar nav{margin:13px 0 0;display:flex;overflow-x:auto}.sidebar nav button{flex:none}.sidebar nav button.active{box-shadow:inset 0 -3px #15c29a}.topbar{padding:10px 16px;position:static}.topbar-actions a{display:none}.workspace-content{padding:24px 16px}.hero-grid,.content-grid,.implementation-grid,.certificate-grid{grid-template-columns:1fr}}@media (width<=560px){.page-header{display:grid}.page-header>.progress-ring{display:none}.readiness-hero{align-items:flex-start;padding:24px;display:grid}.readiness-hero .progress-ring{width:110px;min-width:110px;height:110px;margin-top:20px}.occurrence-summary,.metrics-row{grid-template-columns:repeat(2,1fr)}.readiness-list article{grid-template-columns:36px 1fr;align-items:start}.readiness-list .status-pill{grid-column:2;justify-self:start}.company-selector select{max-width:190px}.topbar-actions button span{display:none}}
