:root{color:#0f172a;--bg:#0b1220;--bg2:#0a1020;--surface:#ffffff0f;--panel:#ffffff1a;--panel-border:#94a3b82e;--text:#e5e7eb;--muted:#e2e8f0b8;--muted-2:#e2e8f08c;--primary:#60a5fa;--primary-strong:#3b82f6;--primary-ink:#0b1220;--danger:#fb7185;--warning:#fbbf24;--success:#34d399;--ring:#60a5fa59;--shadow:0 18px 40px #00000059;--shadow-soft:0 10px 26px #00000040;--radius:16px;background-color:#0b1220;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(1200px 800px at 15% -10%, #60a5fa38, transparent 60%), radial-gradient(900px 600px at 105% 0%, #34d39924, transparent 55%), linear-gradient(180deg, var(--bg), var(--bg2));min-height:100vh;color:var(--text);margin:0}#root{min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font:inherit}input,textarea{font:inherit}:focus-visible{box-shadow:0 0 0 4px var(--ring);border-color:#60a5fa99;outline:0}.icon{flex:none;width:18px;height:18px}.appShell{flex-direction:column;min-height:100vh;display:flex}.appHeader{z-index:10;color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--panel-border);background:linear-gradient(#0f172ab8,#02061780);padding:.75rem 1.25rem;position:sticky;top:0}.appHeaderInner{justify-content:space-between;align-items:center;gap:1rem;max-width:1280px;margin:0 auto;display:flex}.brandLink{color:inherit;letter-spacing:.2px;align-items:center;gap:.5rem;min-width:140px;font-weight:700;text-decoration:none;display:inline-flex}.brandLink:hover{text-decoration:none}.brandMark{color:#bfdbfe;background:linear-gradient(#60a5fa59,#3b82f647);border:1px solid #60a5fa73;border-radius:10px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 0 18px #3b82f659}.navCenter{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:.35rem;display:flex}.navPill{color:#e2e8f0d1;border-radius:10px;padding:.4rem .85rem;font-size:.92rem;font-weight:600;text-decoration:none}.navPill:hover{color:var(--text);background:#94a3b81f;text-decoration:none}.navPillActive{color:#fff;background:#3b82f6d9;box-shadow:0 0 0 1px #60a5fa59}.navPillActive:hover{color:#fff;background:#3b82f6f2}.navRight{justify-content:flex-end;align-items:center;gap:.65rem;min-width:140px;display:flex}.iconBtn{border:1px solid var(--panel-border);width:38px;height:38px;color:var(--text);background:#ffffff0d;border-radius:999px;place-items:center;display:grid;position:relative}.iconBtn:hover{background:#ffffff1a}.notifDot{background:#ef4444;border-radius:999px;width:8px;height:8px;position:absolute;top:8px;right:8px;box-shadow:0 0 0 2px #0f172ae6}.userMenu{position:relative}.userMenuBtn{border:1px solid var(--panel-border);color:var(--text);background:#ffffff0d;border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .55rem .25rem .25rem;display:inline-flex}.userMenuBtn:hover{background:#ffffff1a}.userAvatar{color:#fff;background:#3b82f6e6;border-radius:999px;place-items:center;width:30px;height:30px;font-size:.85rem;font-weight:700;display:grid}.userName{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.9rem;font-weight:600;overflow:hidden}.userMenuDropdown{border:1px solid var(--panel-border);min-width:220px;box-shadow:var(--shadow);z-index:20;background:#0f172afa;border-radius:14px;padding:.5rem;position:absolute;top:calc(100% + .45rem);right:0}.userMenuMeta{border-bottom:1px solid var(--panel-border);gap:.15rem;margin-bottom:.35rem;padding:.55rem .6rem .7rem;display:grid}.userMenuItem{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:.45rem;padding:.55rem .6rem;display:flex}.userMenuItem:hover{background:#94a3b81f}.appFooter{border-top:1px solid var(--panel-border);background:#02061773;padding:1rem 1.25rem}.appFooterInner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1280px;margin:0 auto;display:flex}.footerBrand{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.footerLinks{flex-wrap:wrap;gap:1rem;display:flex}.footerLinks a{color:var(--muted);font-size:.9rem;text-decoration:none}.footerLinks a:hover{color:var(--text)}.nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.navLink{color:#e2e8f0d1;border-radius:6px;padding:.25rem .5rem;text-decoration:none}.navLink:hover{color:var(--text);background:#94a3b81f;text-decoration:none}.mutedText{color:var(--muted)}.appMain{flex:1;padding:1.5rem 1.25rem}.container{max-width:1280px;margin:0 auto}.btn{border:1px solid var(--panel-border);color:var(--text);background:#ffffff14;border-radius:10px;align-items:center;gap:.5rem;padding:.45rem .75rem;display:inline-flex}.btn:hover{background:#ffffff1f}.btn:active{transform:translateY(.5px)}.btnPrimary{color:var(--primary-ink);background:linear-gradient(#60a5faf2,#3b82f6eb);border:1px solid #60a5fa59;font-weight:700}.btnPrimary:hover{filter:brightness(1.03)}.btnPrimary:disabled{opacity:.6;cursor:not-allowed}.btnGlow{box-shadow:0 10px 28px #3b82f659}.btnSso{width:100%;color:var(--text);background:#02061759;border:1px solid #94a3b859;border-radius:12px;justify-content:center;padding:.7rem .9rem;font-weight:600}.btnSso:hover{background:#ffffff14}.ssoIcon{border:1px solid #94a3b866;border-radius:999px;place-items:center;width:22px;height:22px;display:grid}.btnSubtle{border:1px solid var(--panel-border);color:var(--text);background:#ffffff0f}.btnSubtle:disabled{opacity:.55;cursor:not-allowed}.btnGhost{color:#e2e8f0d1;background:0 0;border:1px solid #94a3b859;border-radius:10px;align-items:center;gap:.5rem;padding:.35rem .75rem;display:inline-flex}.btnGhost:hover{color:var(--text);background:#94a3b81f}.pageTitle{letter-spacing:-.3px;margin:0 0 .5rem;font-size:1.6rem}.pageSubTitle{color:var(--muted);margin:0 0 1.25rem}.sectionHead{justify-content:space-between;align-items:baseline;gap:1rem;margin:.25rem 0 1rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.searchInput{border:1px solid var(--panel-border);min-width:260px;color:var(--text);background:#02061759;border-radius:12px;outline:none;flex:1;padding:.55rem .75rem}.searchInput::placeholder{color:#e2e8f08c}.segmented{border:1px solid var(--panel-border);background:#02061759;border-radius:12px;display:inline-flex;overflow:hidden}.segmented button{color:#e2e8f0d6;background:0 0;border:0;padding:.5rem .75rem}.segmented button[aria-pressed=true]{color:var(--text);background:#60a5fa2e}.countPill{color:var(--muted);font-size:.875rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=860px){.grid{grid-template-columns:1fr}}.card{border-radius:var(--radius);border:1px solid var(--panel-border);background:#ffffff0f;padding:1rem;box-shadow:0 1px #0f172a0a}.card:hover{border-color:#60a5fa40}.cardLink{color:inherit;text-decoration:none;display:block}.cardLink:hover{text-decoration:none}.cardTitle{align-items:baseline;gap:.5rem;margin:0 0 .25rem;display:flex}.refTag{color:#bfdbfef5;background:#60a5fa29;border:1px solid #60a5fa47;border-radius:999px;align-items:center;padding:.1rem .45rem;font-size:.85rem;font-weight:700;display:inline-flex}.themeTag{border:1px solid var(--panel-border);color:#e2e8f0bf;background:#ffffff12;border-radius:999px;align-items:center;padding:.1rem .5rem;font-size:.85rem;display:inline-flex}.list{border:1px solid var(--panel-border);border-radius:var(--radius);background:#ffffff0f;margin:0;padding:0;list-style:none;overflow:hidden}.listItem{border-top:1px solid #94a3b82e}.listItem:first-child{border-top:0}.listRow{align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.listPrimary{flex:1;min-width:0}.listSecondary{white-space:nowrap;color:var(--muted);font-size:.9rem}.listCompact .listItem{border-top:1px solid #94a3b82e}.listCompactLink{align-items:center;gap:.75rem;min-width:0;padding:.65rem 1rem;display:flex}.listCompactName{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.themeTagCompact{flex-shrink:0;font-size:.75rem}.authShell{flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100vh;padding:2.5rem 1.25rem;display:flex}.authBrandBlock{text-align:center}.authBrandMark{color:#dbeafe;background:linear-gradient(#60a5fa66,#3b82f64d);border:1px solid #60a5fa80;border-radius:16px;place-items:center;width:56px;height:56px;margin:0 auto .85rem;display:grid;box-shadow:0 0 28px #3b82f673}.authBrandTitle{letter-spacing:-.4px;margin:0;font-size:1.85rem}.authBrandSubtitle{color:var(--muted);margin:.35rem 0 0}.authCard{border:1px solid var(--panel-border);width:100%;max-width:440px;box-shadow:var(--shadow-soft);background:#ffffff0f;border-radius:22px;padding:1.5rem 1.35rem 1.35rem}.authCardTitle{letter-spacing:-.2px;margin:0 0 1.1rem;font-size:1.2rem}.authHeading{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.appMark{background:#60a5fa2e;border:1px solid #60a5fa47;border-radius:14px;place-items:center;width:40px;height:40px;display:grid}.authTitle{letter-spacing:-.2px;margin:0;font-size:1.35rem}.authSubtitle{color:var(--muted);margin:.25rem 0 1.25rem}.authOptionsRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.checkboxLabel{color:var(--muted);align-items:center;gap:.45rem;font-size:.92rem;display:inline-flex}.forgotLink{font-size:.92rem;font-weight:600}.authDivider{color:var(--muted-2);align-items:center;gap:.75rem;margin:1.1rem 0 .9rem;font-size:.88rem;display:flex}.authDivider:before,.authDivider:after{content:"";background:#94a3b840;flex:1;height:1px}.authFooter{color:var(--muted-2);margin:.25rem 0 0;font-size:.88rem}.form{gap:.85rem;display:grid}.field{gap:.45rem;display:grid}.label{color:#e2e8f0e0;font-size:.92rem;font-weight:600}.inputWrap{position:relative}.inputIcon{color:#e2e8f09e;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.input,.textarea{border:1px solid var(--panel-border);width:100%;color:var(--text);background:#02061759;border-radius:14px;padding:.6rem .75rem}.input.hasIcon{padding-left:2.35rem}.input.hasTrailingIcon{padding-right:2.6rem}.inputTrailingBtn{color:#e2e8f0b3;background:0 0;border:0;border-radius:8px;place-items:center;padding:.25rem;display:grid;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.inputTrailingBtn:hover{color:var(--text);background:#94a3b81f}.textarea{resize:vertical;border-radius:16px;padding:.75rem .8rem}.helperRow{color:var(--muted);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;font-size:.92rem;display:flex}.alert{color:#fecdd3f2;background:#fb71851f;border:1px solid #fb718559;border-radius:16px;padding:.8rem .9rem}.successAlert{color:#a7f3d0f2;background:#34d3991f;border-color:#34d39959}.sectionCard{border-radius:var(--radius);border:1px solid var(--panel-border);background:#ffffff0f;padding:1rem;box-shadow:0 1px #0000000f}.sectionTitle{letter-spacing:-.15px;margin:0 0 .5rem;font-size:1.05rem}.badges{flex-wrap:wrap;gap:.4rem;display:flex}.badge{border:1px solid var(--panel-border);color:#e2e8f0c7;background:#ffffff0f;border-radius:999px;align-items:center;gap:.35rem;padding:.18rem .55rem;font-size:.85rem;display:inline-flex}.metricGrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem;margin-bottom:1.5rem;display:grid}.metricCard{border:1px solid var(--panel-border);background:#ffffff0f;border-radius:18px;padding:1rem}.metricValue{letter-spacing:-.4px;font-size:1.65rem;font-weight:800}.metricLabel{color:var(--muted);margin-top:.15rem}.statusPill{border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.12rem .55rem;font-size:.85rem;font-weight:700;display:inline-flex}.statusPill.ok{color:#a7f3d0f2;background:#34d39924;border-color:#34d39940}.statusPill.warn{color:#fde68af2;background:#fbbf2424;border-color:#fbbf2440}.statusPill.bad{color:#fecdd3f2;background:#fb718524;border-color:#fb718540}.statusPill.muted{color:#e2e8f0bf;background:#94a3b81f;border-color:#94a3b838}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;color:#e2e8f0b8;border-bottom:1px solid #94a3b838;padding:.65rem .6rem;font-weight:700}.table td{color:#e2e8f0db;vertical-align:top;border-bottom:1px solid #94a3b824;padding:.75rem .6rem}.reportSectionHead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.5rem;display:flex}.reportToolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0 1rem;display:flex}.reportListScroll{border-radius:var(--radius);border:1px solid var(--panel-border);background:#ffffff0a;overflow-x:auto}.reportListTable{border-collapse:collapse;width:100%;font-size:.92rem}.reportListTable th{text-align:left;color:var(--muted);border-bottom:1px solid var(--panel-border);white-space:nowrap;padding:.65rem .85rem;font-weight:700}.reportListTable td{vertical-align:top;border-bottom:1px solid #94a3b81f;padding:.75rem .85rem}.reportListTable tr:last-child td{border-bottom:0}.reportListTable tbody tr:hover{background:#60a5fa0f}.detailStack{flex-direction:column;gap:.85rem;display:flex}.detailCard h3{letter-spacing:-.1px;margin:0 0 .35rem;font-size:1rem}.detailMeta{color:var(--muted);flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.65rem;font-size:.88rem;display:flex}.bulletList{color:#e2e8f0e0;margin:.35rem 0 0;padding-left:1.15rem;line-height:1.55}.bulletList li{margin-bottom:.35rem}.metricGridFour{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=960px){.metricGridFour{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.metricGridFour{grid-template-columns:1fr}.navCenter,.userName{display:none}}.metricCardTop{align-items:center;gap:.55rem;margin-bottom:.55rem;display:flex}.metricIcon{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.metricIcon.blue{color:#93c5fd;background:#60a5fa29}.metricIcon.gray{color:#cbd5e1;background:#94a3b829}.metricIcon.green{color:#6ee7b7;background:#34d39929}.metricIcon.red{color:#fda4af;background:#fb718529}.frameworkGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (width<=900px){.frameworkGrid{grid-template-columns:1fr}}.frameworkCard{border:1px solid var(--panel-border);background:#ffffff0d;border-radius:18px;flex-direction:column;gap:.85rem;padding:1.1rem;display:flex}.frameworkCardHead{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.frameworkIdentity{align-items:flex-start;gap:.7rem;display:flex}.frameworkIdentity h3{margin:0;font-size:1.05rem}.frameworkIdentity p{color:var(--muted);margin:.15rem 0 0;font-size:.88rem}.frameworkIcon{color:#93c5fd;background:#60a5fa29;border:1px solid #60a5fa47;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.scorePill{color:var(--muted);border:1px solid var(--panel-border);background:#02061759;border-radius:999px;padding:.2rem .55rem;font-size:.85rem;font-weight:700}.frameworkDesc{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.fwProgress{background:#94a3b82e;border-radius:999px;height:8px;display:flex;overflow:hidden}.fwProgress span{height:100%;display:block}.statusBoxes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.statusBox{text-align:center;border-radius:10px;padding:.45rem .5rem;font-size:.82rem;font-weight:600}.statusBox.ok{color:#a7f3d0;background:#34d39924}.statusBox.warn{color:#fde68a;background:#fbbf2424}.statusBox.bad{color:#fecdd3;background:#fb718524}.frameworkCardFoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;display:flex}.viewDetailsLink{align-items:center;gap:.3rem;font-weight:700;text-decoration:none;display:inline-flex}.viewDetailsLink:hover{text-decoration:underline}.complianceWorkspace{max-width:1400px;margin:0 auto}.breadcrumbBar{margin-bottom:.85rem}.breadcrumbLink{color:var(--muted);font-size:.92rem;font-weight:600;text-decoration:none}.breadcrumbLink:hover{color:var(--text);text-decoration:none}.workspaceBody{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=960px){.workspaceBody{grid-template-columns:1fr}}.controlSidebar{border:1px solid var(--panel-border);background:#ffffff0a;border-radius:18px;flex-direction:column;gap:.75rem;max-height:calc(100vh - 110px);padding:.85rem;display:flex;position:sticky;top:76px;overflow:auto}.sidebarSearch{position:relative}.sidebarSearch .inputIcon{left:.75rem}.treeGroupBtn{width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:.35rem;padding:.4rem .2rem;font-weight:700;display:flex}.controlTreeList{gap:.2rem;margin:.2rem 0 .4rem;padding:0;list-style:none;display:grid}.controlTreeItem{color:#e2e8f0db;border-radius:10px;align-items:flex-start;gap:.45rem;padding:.5rem .55rem;font-size:.88rem;line-height:1.35;text-decoration:none;display:flex}.controlTreeItem:hover{background:#94a3b81f;text-decoration:none}.controlTreeItem.active{color:#fff;background:#3b82f647}.statusLegend{border-top:1px solid var(--panel-border);color:var(--muted);gap:.4rem;margin-top:auto;padding-top:.75rem;font-size:.85rem;display:grid}.statusLegend>div{align-items:center;gap:.4rem;display:flex}.statusIcon.ok{color:#34d399}.statusIcon.warn{color:#fbbf24}.statusIcon.bad{color:#fb7185}.statusIcon.muted{color:#94a3b8d9}.controlMain{min-width:0}.controlHeader{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.statusToggleRow{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}@media (width<=720px){.statusToggleRow{grid-template-columns:repeat(2,minmax(0,1fr))}}.statusToggle{border:1px solid var(--panel-border);color:#e2e8f0d9;background:#02061759;border-radius:12px;padding:.65rem .5rem;font-size:.88rem;font-weight:700}.statusToggle.active.statusToggle-compliant{color:#a7f3d0;background:#34d39929;border-color:#34d3998c}.statusToggle.active.statusToggle-in_progress{color:#fde68a;background:#fbbf2424;border-color:#fbbf248c}.statusToggle.active.statusToggle-non_compliant{color:#fecdd3;background:#fb718524;border-color:#fb71858c}.statusToggle.active.statusToggle-not_assessed{background:#94a3b81f;border-color:#94a3b873}.dropZone{text-align:center;cursor:pointer;color:#e2e8f0e0;background:#02061747;border:1.5px dashed #94a3b866;border-radius:16px;place-items:center;gap:.35rem;padding:1.6rem 1rem;display:grid}.dropZone.dragOver{background:#3b82f61a;border-color:#60a5fab3}.browseLink{color:var(--primary);font-weight:700}.moduleToolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.filterGroup{color:var(--muted);align-items:center;gap:.45rem;display:inline-flex}.selectInput{border:1px solid var(--panel-border);color:var(--text);background:#02061759;border-radius:12px;outline:none;padding:.5rem .7rem}.tonePill{text-transform:capitalize;border:1px solid #0000;border-radius:999px;padding:.12rem .55rem;font-size:.82rem;font-weight:700;display:inline-flex}.tonePill.critical{color:#fecaca;background:#ef444429;border-color:#ef444459}.tonePill.high{color:#fecdd3;background:#fb718524;border-color:#fb71854d}.tonePill.medium{color:#fde68a;background:#fbbf2424;border-color:#fbbf2447}.tonePill.low{color:#cbd5e1;background:#94a3b824;border-color:#94a3b847}.auditPlanGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}@media (width<=860px){.auditPlanGrid{grid-template-columns:1fr}}.auditPlanCard h3{margin:.55rem 0 0;font-size:1.02rem}.auditPlanHead{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.auditMeta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem;font-size:.88rem;display:flex}
