@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--navy:#0b1f33;--ink:#16283d;--muted:#687789;--line:#dfe5ec;--bg:#f4f7fa;--teal:#0f887d;--teal-dark:#0f6f67;--teal-soft:#e7f6f3;--red:#d64c4c;--shadow:0 14px 40px rgba(23,40,61,.08)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:"DM Sans",Arial,sans-serif}h1,h2,h3,b,strong{font-family:"Manrope","DM Sans",sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.button{border:0;border-radius:10px;min-height:42px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;cursor:pointer}.button.primary{color:#fff;background:var(--teal);box-shadow:0 8px 22px rgba(15,136,125,.22)}.button.secondary,.button.ghost{color:var(--ink);background:#fff;border:1px solid var(--line)}.button.large{min-height:50px;padding:0 23px}.button.full{width:100%}.iconButton{width:36px;height:36px;border:0;border-radius:9px;background:transparent;cursor:pointer}.eyebrow{display:block;color:var(--teal);font:800 11px/1.4 "Manrope";letter-spacing:.13em}.eyebrow.light{color:#76d1c6}.badge{width:max-content;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.badge>span{width:6px;height:6px;border-radius:50%;background:#13a090}.badge.success{color:#087167;background:#e7f6f3}.panel{border:1px solid #e2e7ed;border-radius:15px;background:#fff;box-shadow:0 5px 20px rgba(23,40,61,.035)}.formError{margin:14px 0;padding:12px 15px;color:#a73535;background:#feeeee;border:1px solid #f8cccc;border-radius:9px;font-size:13px}.logo{display:flex;align-items:center;gap:10px}.logoMark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:white;background:var(--teal)}.logo span:last-child{display:flex;flex-direction:column;line-height:1.1}.logo small{margin-top:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.16em}
.landing{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 73% 12%,#e1f5f1 0,transparent 26%),linear-gradient(180deg,#fbfcfe 0%,#f2f6f9 100%)}.landingNav{height:80px;max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.hero{min-height:650px;max-width:1180px;margin:auto;padding:70px 28px 80px;display:grid;grid-template-columns:.98fr 1.02fr;align-items:center;gap:62px}.heroPill{width:max-content;display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;color:#0f6f67;background:white;border:1px solid #dcece9;font-size:12px;font-weight:800}.heroPill span{width:7px;height:7px;background:#22a596;border-radius:50%}.heroCopy h1{margin:24px 0 22px;color:var(--navy);font-size:clamp(42px,5vw,67px);line-height:1.03;letter-spacing:-.055em}.heroCopy h1 em{color:var(--teal);font-style:normal}.heroCopy p{max-width:560px;color:#57687a;font-size:17px;line-height:1.75}.heroActions{margin-top:31px;display:flex;align-items:center;gap:18px}.trustRow{margin-top:25px;color:#5f6d7c;font-size:12px}.heroVisual{position:relative;min-height:490px;display:grid;place-items:center}.dashboardMock{width:450px;min-height:400px;transform:rotate(1.2deg);padding:24px;border-radius:22px;background:rgba(255,255,255,.91);box-shadow:0 30px 80px rgba(11,31,51,.17)}.mockTop{display:flex;gap:6px;padding-bottom:20px;border-bottom:1px solid #e8edf2}.mockTop span{width:7px;height:7px;border-radius:50%;background:#d5dce3}.mockHeader{margin-top:25px;display:flex;flex-direction:column}.mockHeader small{color:var(--teal);font-size:9px;font-weight:800;letter-spacing:.14em}.mockHeader strong{font-size:22px;margin-top:5px}.mockScore{margin:24px 0;width:105px;height:105px;border:12px solid #dff2ef;border-top-color:var(--teal);border-right-color:var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.mockScore span{font:800 21px "Manrope"}.mockBars>div{margin:14px 0;display:grid;grid-template-columns:75px 1fr 36px;align-items:center;gap:10px;font-size:9px}.mockBars i{height:7px;border-radius:10px;background:#e7ebef;overflow:hidden}.mockBars b{display:block;height:100%;border-radius:inherit;background:var(--teal)}.mockBars em{font-style:normal;font-weight:800;text-align:right}
.loginPage{min-height:100vh;display:grid;grid-template-columns:minmax(390px,.88fr) 1.12fr;background:white}.loginAside{min-height:100vh;padding:48px 9%;display:flex;flex-direction:column;justify-content:space-between;color:white;background:radial-gradient(circle at 15% 80%,rgba(29,153,141,.25),transparent 30%),linear-gradient(145deg,#091c2f,#102e48)}.loginAside .logo{color:white}.loginAside .logo small{color:#a8bacb}.loginAside h1{margin:20px 0;color:white;font-size:clamp(45px,5vw,66px);line-height:1.04;letter-spacing:-.055em}.loginAside p{max-width:480px;color:#b9c6d2;line-height:1.75}.loginAside blockquote{margin:0;padding:19px 22px;border-left:2px solid #33a597;background:rgba(255,255,255,.05);color:#d9e2ea;font-size:13px;line-height:1.7}.loginMain{display:grid;place-items:center;padding:35px;background:linear-gradient(135deg,#fff,#f5f8fa)}.loginCard{width:min(430px,100%);padding:24px}.loginCard h2{margin:20px 0 6px;font-size:30px;letter-spacing:-.04em}.loginCard>p{color:var(--muted)}.roleTabs{margin:29px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:5px;border-radius:12px;background:#edf1f5}.roleTabs button{border:0;padding:10px 5px;border-radius:9px;color:#6f7b88;background:transparent;font-size:11px;font-weight:800;cursor:pointer}.roleTabs button.active{color:var(--teal-dark);background:white;box-shadow:0 4px 12px rgba(23,40,61,.08)}form label{display:block;margin:16px 0;color:#354557;font-size:12px;font-weight:800}input,select,textarea{width:100%;padding:12px 13px;color:var(--ink);background:white;border:1px solid #d7dee6;border-radius:9px;outline:none}textarea{resize:vertical}.inputWrap{position:relative;margin-top:7px}.loginHelp{text-align:center;font-size:11px!important;margin-top:17px!important}
.appFrame{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:244px;padding:24px 16px 16px;display:flex;flex-direction:column;color:#c4ced8;background:var(--navy)}.sidebar .logo{margin:0 9px;color:white}.workspaceCard{margin:26px 0 22px;padding:11px;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.045)}.workspaceAvatar{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:white;background:#1b776f;font:800 10px "Manrope"}.workspaceCard small{color:#8295a7;font-size:8px}.workspaceCard b{color:#e8edf2;font-size:10px}.mainNav{display:flex;flex-direction:column;gap:4px}.mainNav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:#91a3b4;font-size:12px;font-weight:700}.mainNav a:hover,.mainNav a.active{color:white;background:linear-gradient(90deg,#146f69,#17665f)}.sidebarUser{margin-top:auto;padding:11px 5px 0;display:grid;grid-template-columns:34px 1fr 32px;align-items:center;gap:9px;border-top:1px solid rgba(255,255,255,.07)}.userAvatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#dff2ef;color:#0d7067;font:800 10px "Manrope"}.sidebarUser b{color:#edf2f6;font-size:10px}.sidebarUser small{display:block;margin-top:3px;color:#70869a;font-size:8px}.mainArea{width:calc(100% - 244px);min-height:100vh;margin-left:244px}.topbar{min-height:83px;padding:19px 34px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #e4e9ee}.topbar h1{margin:0;font-size:20px}.topbar p{margin:4px 0 0;color:var(--muted);font-size:11px}.topbarActions{display:flex;align-items:center;gap:8px;color:#708090;font-size:10px;font-weight:800}.liveDot{width:7px;height:7px;border-radius:50%;background:#24a596;box-shadow:0 0 0 4px #e1f4f1}.pageContent{max-width:1500px;margin:auto;padding:30px 34px 55px}
.welcomeRow,.sectionActions,.reviewToolbar{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between}.welcomeRow h2{margin:3px 0 6px;font-size:25px}.welcomeRow p{margin:0;color:var(--muted);font-size:12px}.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metricCard{padding:18px 19px;border:1px solid #e1e6ec;border-radius:14px;background:white;box-shadow:0 4px 18px rgba(23,40,61,.035)}.metricLabel{color:var(--muted);font-size:10px;font-weight:700}.metricCard strong{display:block;margin:11px 0 3px;font-size:25px}.metricCard small{color:#8b97a4;font-size:9px}.dashboardColumns{margin-top:19px;display:grid;grid-template-columns:1.6fr .9fr;gap:18px}.panelHeader{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f3}.panelHeader h3{margin:0;font-size:13px}.panelHeader p{margin:4px 0 0;color:var(--muted);font-size:9px}.tableWrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{padding:11px 18px;color:#8a96a2;background:#fafbfc;text-align:left;font-size:8px;text-transform:uppercase;letter-spacing:.08em}td{padding:13px 18px;border-top:1px solid #edf0f3}.tableTitle{display:flex;flex-direction:column;font-weight:800}.tableTitle small{margin-top:4px;color:#97a1ac;font-size:8px}.classRow{padding:14px 17px;display:grid;grid-template-columns:36px 1fr 105px;align-items:center;gap:10px;border-top:1px solid #edf0f3}.classAvatar{width:36px;height:36px;display:grid;place-items:center;color:#176f68;background:#e4f4f2;border-radius:10px;font:800 10px "Manrope"}.miniProgress{display:flex;align-items:center;gap:7px}.miniProgress i{height:6px;flex:1;background:#e8edf1;border-radius:8px;overflow:hidden}.miniProgress i b{display:block;height:100%;background:var(--teal)}
.filterPills{display:flex;gap:5px;padding:4px;border:1px solid #e0e5ea;border-radius:11px;background:#ecf0f4}.filterPills button{border:0;padding:8px 12px;border-radius:8px;color:var(--ink);background:white;font-size:10px;font-weight:800}.setGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.setCard{min-height:210px;padding:19px;border:1px solid #e0e6ec;border-radius:15px;background:white;box-shadow:0 4px 17px rgba(23,40,61,.035);transition:.2s}.setCard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.setCardTop{display:flex;justify-content:space-between;margin-bottom:20px}.documentIcon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:var(--teal);background:var(--teal-soft);font-weight:800}.setCard h3{min-height:42px;margin:7px 0 6px;font-size:14px;line-height:1.45}.setCard p{color:var(--muted);font-size:10px}.setCardBottom{margin:18px -19px -19px;padding:13px 19px;display:flex;align-items:center;justify-content:space-between;color:#718091;border-top:1px solid #edf0f3;font-size:10px}.emptyState{grid-column:1/-1;min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#82909d;border:1px dashed #ccd5dd;border-radius:15px}.modalLayer{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px}.modalBackdrop{position:absolute;inset:0;border:0;background:rgba(7,22,37,.66);backdrop-filter:blur(4px)}.uploadModal{position:relative;width:min(540px,100%);max-height:95vh;overflow:auto;padding:27px;border-radius:18px;background:white;box-shadow:0 28px 90px rgba(5,20,34,.3)}.modalHeader{display:flex;justify-content:space-between}.modalHeader h2{margin:6px 0;font-size:23px}.modalHeader p{max-width:430px;color:var(--muted);font-size:11px;line-height:1.6}.dropZone{position:relative;min-height:145px;margin-top:18px!important;display:flex!important;align-items:center;justify-content:center;flex-direction:column;border:1.5px dashed #a9c9c5;border-radius:12px;background:#f5fbfa;color:var(--teal)!important;cursor:pointer}.dropZone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.modalHint{margin:17px 0;color:#6c7c8b;font-size:11px}
.reviewLayout{display:grid;grid-template-columns:230px 1fr;align-items:start;gap:17px}.reviewSummary{position:sticky;top:16px;padding:19px}.reviewSummary p{color:var(--muted);font-size:10px;line-height:1.6}.reviewSummary>div{margin:19px 0 9px;padding-top:15px;display:flex;justify-content:space-between;border-top:1px solid #e8edf1;font-size:9px}.questionReviewList{display:flex;flex-direction:column;gap:14px}.questionReviewCard{padding:21px}.questionNumber{display:flex;align-items:center;gap:10px}.questionNumber>span{width:34px;height:34px;display:grid;place-items:center;color:white;background:var(--teal);border-radius:10px;font-weight:800}.questionText{line-height:1.7}.tagForm{margin-top:14px}.tagList{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tagCard{padding:11px;border-radius:10px;background:var(--teal-soft)}.tagCard small,.tagCard span{display:block;color:#0f766e;font-size:10px}.tagCard b{display:block;margin:4px 0;font-size:12px}.answerPills{display:flex;gap:8px;flex-wrap:wrap}.answerPills label{margin:0}.answerPills input{display:none}.answerPills span{display:inline-flex;padding:10px 14px;border:1px solid #d9e2ea;border-radius:999px;background:white;cursor:pointer}.answerPills input:checked+span{color:white;background:var(--teal);border-color:var(--teal)}
.reportSelector{margin-bottom:18px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:15px}.reportGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.reportHero,.reportStats{padding:22px}.reportHero strong{display:block;font-size:48px;color:var(--teal)}.reportStats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.reportStats div{padding:14px;border-radius:12px;background:#f5f8fa;text-align:center}.reportStats b{display:block;font-size:24px}.reportStats span{color:var(--muted);font-size:10px}.settingsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.settingsCard{padding:22px}.prosePanel{padding:24px;line-height:1.7}.inlineForm{display:inline-flex;margin:0}.portalIntro{margin-bottom:24px}.portalIntro h1{margin:6px 0;font-size:30px}
body.modal-open{overflow:hidden}.landingLinks{display:flex;align-items:center;gap:20px;color:#516173;font-size:12px;font-weight:800}.landingLinks a:not(.button):hover{color:var(--teal)}.premiumMock{border:1px solid rgba(255,255,255,.8);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.88))}.mockInsight{margin-top:18px;padding:13px 14px;border-radius:13px;background:#f4fbfa;border:1px solid #d8eeeb}.mockInsight b,.mockInsight span{display:block}.mockInsight b{font-size:10px;color:var(--teal);text-transform:uppercase;letter-spacing:.1em}.mockInsight span{margin-top:5px;color:#566778;font-size:11px;line-height:1.55}.landingMetrics{max-width:1180px;margin:-28px auto 68px;padding:0 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.landingMetrics div{padding:20px;border:1px solid #e1e8ee;border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 12px 35px rgba(23,40,61,.06);backdrop-filter:blur(8px)}.landingMetrics b{display:block;color:var(--teal);font-size:25px}.landingMetrics span{display:block;margin-top:5px;color:#647384;font-size:12px}.landingSection{max-width:1180px;margin:0 auto 76px;padding:0 28px}.sectionIntro{max-width:720px;margin-bottom:24px}.sectionIntro h2,.securitySection h2,.landingCta h2{margin:8px 0 10px;color:var(--navy);font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-.04em}.sectionIntro p,.securitySection p,.landingCta p{color:#607082;line-height:1.75}.landingFlow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.landingFlow article,.roleCards article{padding:21px;border:1px solid #e0e7ed;border-radius:18px;background:white;box-shadow:0 8px 26px rgba(23,40,61,.045)}.landingFlow article span{width:36px;height:36px;display:grid;place-items:center;color:white;background:var(--teal);border-radius:12px;font:800 11px "Manrope"}.landingFlow h3,.roleCards h3{margin:16px 0 8px;color:var(--navy);font-size:15px}.landingFlow p,.roleCards p{margin:0;color:#647384;font-size:12px;line-height:1.65}.roleCards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.roleIcon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--teal-soft);font-size:22px}.securitySection{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding:34px 28px;border-radius:28px;background:linear-gradient(135deg,#fff,#edf8f6);box-shadow:0 20px 70px rgba(23,40,61,.07)}.securityList{margin:0;padding:0;display:grid;gap:12px;list-style:none}.securityList li{padding:14px 16px;border:1px solid #dcece9;border-radius:14px;background:white;color:#304457;font-size:13px;font-weight:700}.securityList li:before{content:"✓";margin-right:9px;color:var(--teal);font-weight:900}.landingCta{max-width:980px;margin:0 auto 82px;padding:42px 28px;text-align:center;border-radius:30px;color:white;background:radial-gradient(circle at 15% 20%,rgba(91,208,195,.35),transparent 28%),linear-gradient(135deg,#0b1f33,#0d756c);box-shadow:0 24px 80px rgba(11,31,51,.18)}.landingCta .eyebrow{color:#8be0d6}.landingCta h2{color:white}.landingCta p{max-width:620px;margin:0 auto 24px;color:#d7e5e9}.landingCta .button.primary{background:white;color:var(--teal-dark);box-shadow:none}.modalLayer[hidden]{display:none}.uploadModal:focus{outline:none}.modalHeader .iconButton{border:2px solid #111;color:#111;font-size:18px;background:white}.modalHeader .iconButton:hover,.modalHeader .iconButton:focus-visible{color:white;background:var(--navy);border-color:var(--navy)}
@media(max-width:980px){.hero,.loginPage,.dashboardColumns,.reviewLayout,.reportGrid,.securitySection{grid-template-columns:1fr}.loginAside{display:none}.sidebar{position:static;width:100%;height:auto}.appFrame{display:block}.mainArea{width:100%;margin-left:0}.metricGrid,.setGrid,.settingsGrid,.landingMetrics,.roleCards{grid-template-columns:1fr}.landingFlow{grid-template-columns:repeat(2,1fr)}.topbar{padding:16px 20px}.pageContent{padding:22px}.reviewSummary{position:static}.heroVisual{display:none}.landingNav{height:auto;padding:18px 22px;gap:14px}.landingLinks{gap:10px;flex-wrap:wrap;justify-content:flex-end}.landingLinks a:not(.button){display:none}.hero{padding-top:42px;min-height:auto}.landingMetrics{margin:0 auto 48px}.securitySection{border-radius:22px}.reportSelector{align-items:stretch;flex-direction:column}}@media(max-width:620px){.landingFlow{grid-template-columns:1fr}.heroActions{align-items:stretch;flex-direction:column}.landingNav{align-items:flex-start;flex-direction:column}.loginMain{padding:18px}.uploadModal{padding:20px}.modalHeader{gap:12px}.reportStats{grid-template-columns:repeat(2,1fr)}}
