:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--bg: #f4f6f8;--surface: #ffffff;--surface-2: #f6f8f9;--surface-3: #edf1f2;--text: #17212b;--muted: #6e7983;--border: #e1e6e8;--primary: #176d59;--primary-hover: #125b4b;--primary-soft: #e7f3ef;--sidebar: #101820;--sidebar-hover: #18232d;--sidebar-text: #aeb8c2;--shadow: 0 8px 30px rgb(23 33 43 / 6%)}:root[data-theme=dark]{--bg: #0d1318;--surface: #141c22;--surface-2: #192229;--surface-3: #202b33;--text: #e7edf0;--muted: #9aa8b1;--border: #27343d;--primary: #3d9b85;--primary-hover: #4cad95;--primary-soft: #17332c;--sidebar: #080d11;--sidebar-hover: #151e24;--sidebar-text: #9ba9b2;--shadow: none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--bg)}button,input{font:inherit}button{color:inherit}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;display:flex;flex-direction:column;padding:26px 18px;color:#fff;background:var(--sidebar)}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.brandIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e6f3ef;color:#146c5b}.brand strong,.brand span,.user strong,.user span{display:block}.brand strong{font-size:16px}.brand span{margin-top:3px;color:#91a0ad;font-size:12px}nav{display:grid;gap:5px}.navButton{display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:0;border-radius:9px;color:var(--sidebar-text);background:transparent;cursor:pointer;text-align:left}.navButton:hover{color:#fff;background:var(--sidebar-hover)}.navButton.active{color:#fff;background:#1d6f60}.sidebarBottom{margin-top:auto}.securityNote{display:flex;gap:10px;padding:13px;border:1px solid #263541;border-radius:10px;color:#aeb8c2}.securityNote strong,.securityNote span{display:block}.securityNote strong{color:#e7ecef;font-size:12px}.securityNote span{margin-top:3px;font-size:11px}main{grid-column:2;min-width:0}header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 34px;background:var(--surface);border-bottom:1px solid var(--border)}header h1{margin:4px 0 0;font-size:22px}.eyebrow{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.userArea{display:flex;align-items:center;gap:13px}.themeToggle,.iconButton,.primaryButton,.secondaryButton,.textButton{border-radius:9px;cursor:pointer}.themeToggle{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--border);background:var(--surface)}.iconButton{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--border);background:var(--surface)}.apiStatus{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:99px;font-size:12px;font-weight:700}.apiStatus.online{background:#e8f5f0;color:#176d59}.apiStatus.loading{background:var(--surface-3);color:var(--muted)}.apiStatus.offline{background:#fdecec;color:#a93838}:root[data-theme=dark] .apiStatus.online{background:#17332c;color:#83d2be}:root[data-theme=dark] .apiStatus.offline{background:#3a1d1d;color:#faa}.user{display:flex;align-items:center;gap:9px}.user strong{font-size:13px}.user span{margin-top:2px;max-width:180px;color:var(--muted);font-size:11px}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:800}.content{padding:34px}.hero{min-height:215px;display:flex;justify-content:space-between;align-items:center;padding:38px 42px;border-radius:18px;background:linear-gradient(135deg,#14232a,#153d39);color:#fff}.hero h2{max-width:620px;margin:8px 0 12px;font-size:32px;line-height:1.12}.hero p{max-width:650px;margin:0;color:#bdcac8;line-height:1.6}.hero .eyebrow{color:#86c7b8}.heroShield{margin-right:30px;color:#74b8a9;opacity:.85}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}.metric{min-height:140px;padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.metricIcon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:20px;border-radius:9px;background:var(--primary-soft);color:var(--primary)}.metric span{color:var(--muted);font-size:12px}.metric strong{display:block;margin-top:4px;font-size:27px}.panel{margin-top:22px;padding:26px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.noTopMargin{margin-top:0}.panelHeader,.detailHeader,.sectionHeading{display:flex;justify-content:space-between;align-items:center;gap:20px}.panelHeader h3,.detailHeader h3{margin:5px 0 0}.panelSubtitle,.sectionHeading p{color:var(--muted);line-height:1.55}.sectionHeading{margin-bottom:20px}.sectionHeading h2{margin:5px 0 6px}.sectionHeading p{max-width:760px;margin:0}.statusGrid{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.status{display:inline-flex;align-items:center;width:fit-content;padding:6px 9px;border-radius:7px;font-size:11px;font-weight:750;white-space:nowrap}.status.good{background:#e6f4ee;color:#14694f}.status.partial{background:#fff2d9;color:#91600d}.status.neutral{background:var(--surface-3);color:var(--muted)}.status.review{background:#f0eafa;color:#65429a}.status.bad{background:#fde9e9;color:#9d3232}:root[data-theme=dark] .status.good{background:#17372d;color:#8edbc3}:root[data-theme=dark] .status.partial{background:#3a3018;color:#f2cd7b}:root[data-theme=dark] .status.review{background:#302744;color:#c9aff4}:root[data-theme=dark] .status.bad{background:#421f1f;color:#f5a1a1}.important{max-width:850px;margin:24px 0 0;padding:14px 16px;border-left:3px solid var(--muted);background:var(--surface-2);color:var(--muted);line-height:1.55;font-size:13px}.primaryButton,.secondaryButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font-weight:700}.primaryButton{border:1px solid var(--primary);background:var(--primary);color:#fff}.primaryButton:hover{background:var(--primary-hover)}.secondaryButton{border:1px solid var(--border);background:var(--surface)}.secondaryButton:hover{background:var(--surface-2)}.primaryButton:disabled,.secondaryButton:disabled{opacity:.5;cursor:not-allowed}.textButton{padding:6px 9px;border:0;background:transparent;color:var(--primary)}.hiddenInput{display:none}.dropzone{display:grid;justify-items:center;gap:7px;padding:30px;margin-bottom:22px;border:2px dashed var(--border);border-radius:14px;background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s}.dropzone strong{color:var(--text)}.dropzone.active{border-color:var(--primary);background:var(--primary-soft)}.dropzone small{margin-top:3px}.documentLayout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:20px}.documentList{display:grid;gap:8px;margin-top:18px}.documentRow{display:flex;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left}.documentRow:hover,.documentRow.selected{border-color:var(--primary);background:var(--primary-soft)}.fileIcon{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--surface-3);color:var(--primary)}.documentMain{min-width:0;flex:1}.documentMain strong,.documentMain span{display:block}.documentMain strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documentMain span{margin-top:4px;color:var(--muted);font-size:12px}.detailPlaceholder{min-height:360px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.detailPlaceholder strong{color:var(--text)}.detailActions{display:flex;gap:10px;margin-top:20px}.detailStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.detailStats>div{padding:12px;border-radius:9px;background:var(--surface-2)}.detailStats span,.detailStats strong{display:block}.detailStats span{color:var(--muted);font-size:11px}.detailStats strong{margin-top:4px;font-size:20px}.historyTitle{display:flex;align-items:center;gap:8px;margin:24px 0 10px}.historyList,.versionList{display:grid;gap:8px}.historyItem,.versionItem{padding:12px;border:1px solid var(--border);border-radius:9px}.historyItem{display:flex;justify-content:space-between;gap:12px}.historyItem strong,.historyItem span,.versionItem span,.versionItem code{display:block}.historyItem span,.versionItem span{margin-top:3px;color:var(--muted);font-size:11px}.historyMeta{display:grid;justify-items:end;gap:4px}.versionItem>div{display:flex;align-items:center;gap:8px}.versionItem code{margin-top:6px;color:var(--muted);font-size:11px}.frameworkSelector{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px}.frameworkChoice{display:flex;align-items:flex-start;gap:9px;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer}.frameworkChoice.selected{border-color:var(--primary);background:var(--primary-soft)}.frameworkChoice input{margin-top:3px;accent-color:var(--primary)}.frameworkChoice strong,.frameworkChoice span{display:block}.frameworkChoice strong{font-size:13px}.frameworkChoice span{margin-top:4px;color:var(--muted);font-size:11px}.frameworkNotice{display:flex;align-items:center;gap:8px;margin-top:12px;padding:11px 13px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:12px}.frameworkPanel{padding:0;overflow:hidden}.frameworkHeader{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border:0;background:transparent;cursor:pointer;text-align:left}.frameworkHeader h3{margin:4px 0 0}.frameworkMeta{display:block;margin-top:5px;color:var(--muted);font-size:12px}.assessmentMeta{display:flex;flex-wrap:wrap;gap:8px;padding:11px 24px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2)}.assessmentMeta span{padding-right:9px;color:var(--muted);font-size:11px}.requirements{display:grid}.requirement{border-bottom:1px solid var(--border)}.requirement:last-child{border-bottom:0}.requirementSummary{width:100%;display:grid;grid-template-columns:145px 1fr auto;align-items:center;gap:12px;padding:14px 24px;border:0;background:transparent;cursor:pointer;text-align:left}.requirementSummary:hover{background:var(--surface-2)}.requirementCode{display:flex;align-items:center;gap:6px}.requirementTitle{min-width:0}.requirementTitle strong,.requirementTitle span{display:block}.requirementTitle span{margin-top:4px;color:var(--muted);font-size:11px}.requirementDetail{padding:0 24px 20px 181px;color:var(--muted);line-height:1.55;font-size:13px}.detailGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.info{padding:10px;border-radius:8px;background:var(--surface-2)}.info span,.info strong{display:block}.info span{font-size:10px;text-transform:uppercase}.info strong{margin-top:3px;color:var(--text);font-size:12px}.rationale{padding:12px;margin:10px 0;border-left:3px solid var(--border);background:var(--surface-2)}.rationale p{margin:5px 0 0}.loadingLine,.empty{padding:30px 24px;color:var(--muted)}.loadingLine{display:flex;align-items:center;gap:8px}.notice{display:flex;align-items:center;gap:9px;margin-bottom:18px;padding:12px 14px;border-radius:10px}.notice span{flex:1}.notice button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:20px}.notice.success{background:#e8f5f0;color:#176d59}.notice.error{background:#fdecec;color:#a93838}:root[data-theme=dark] .notice.success{background:#17332c;color:#83d2be}:root[data-theme=dark] .notice.error{background:#3a1d1d;color:#faa}.json{overflow:auto;max-height:70vh;margin-top:22px;padding:20px;border-radius:10px;background:#101820;color:#dce7e5;font-size:12px;line-height:1.55}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.boot{min-height:100vh;display:grid;place-items:center;background:#101820}.bootCard{display:grid;gap:8px;min-width:300px;padding:30px;border-radius:14px;background:#fff;color:#17212b;text-align:center}.bootCard span{color:#737e87}.errorBoot{color:#9b3636}@media (max-width: 1250px){.frameworkSelector{grid-template-columns:repeat(3,minmax(0,1fr))}.documentLayout{grid-template-columns:1fr}}@media (max-width: 900px){.app{display:block}.sidebar{position:static;width:auto}.sidebarBottom{display:none}main{display:block}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.heroShield{display:none}.frameworkSelector{grid-template-columns:repeat(2,minmax(0,1fr))}.requirementSummary{grid-template-columns:1fr}.requirementDetail{padding:0 20px 20px}.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 650px){header{padding:15px 18px}.content{padding:18px}.apiStatus,.user>div:not(.avatar),.themeToggle span{display:none}.cards,.frameworkSelector,.detailStats,.detailGrid{grid-template-columns:1fr}.hero{padding:28px}.hero h2{font-size:26px}.sectionHeading{align-items:flex-start;flex-direction:column}.historyItem{flex-direction:column}.historyMeta{justify-items:start}}
