    :root{--ink:#112033;--muted:#687789;--line:#dde3e9;--paper:#f4f3ee;--surface:#fff;--navy:#132a43;--blue:#086fc8;--blue-soft:#e9f3fc;--orange:#ed8b22;--green:#168065;--red:#bd584d;--radius:16px;--sidebar:272px}
    .login-role-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:22px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#edf2f6}.login-role-switcher button{height:38px;border:0;border-radius:8px;background:transparent;color:#687789;font-size:9px;font-weight:800}.login-role-switcher button.active{background:#fff;color:var(--blue);box-shadow:0 3px 12px rgba(17,32,51,.08)}.remember-login{display:grid;grid-template-columns:18px 1fr;gap:2px 7px;align-items:center;color:#35485a;font-size:9px;font-weight:800;cursor:pointer}.remember-login input{width:16px;height:16px;margin:0;accent-color:var(--blue)}.remember-login small{grid-column:2;color:var(--muted);font-size:7px;font-weight:500}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.hidden{display:none!important}.session-splash{display:none}.session-checking>.gateway,.session-checking>.login-screen,.session-checking>.app{display:none!important}.session-checking>.session-splash{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;justify-items:center;gap:8px;background:#f7f9fb;color:var(--ink)}.session-splash img{width:58px;height:58px;object-fit:contain;margin-bottom:8px}.session-splash strong{font-size:13px}.session-splash span{font-size:10px;color:var(--muted)}
    .captcha-box{display:flex;justify-content:center;min-height:65px;margin:2px 0 4px;overflow:hidden}.captcha-feedback{margin:-3px 0 4px;color:#b42318;font-size:9px;line-height:1.45;text-align:center}
    .gateway{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.92fr) 1.08fr;background:#f7f6f1}.gateway-brand{position:relative;overflow:hidden;padding:clamp(34px,6vw,84px);background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.gateway-brand:after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-180px;bottom:-160px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
    .brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.brand img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}.brand strong{display:block;font-size:16px;letter-spacing:.1em}.brand span{display:block;margin-top:3px;font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.62)}
    .gateway-copy{max-width:590px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.eyebrow:before{content:"";width:26px;height:2px;background:currentColor}.gateway-brand .eyebrow{color:#88c9ff}.gateway-copy h1{font-size:clamp(42px,5.6vw,76px);line-height:.98;letter-spacing:-.055em;margin:20px 0}.gateway-copy h1 em{font-family:Newsreader,serif;font-weight:500;color:#ffad51}.gateway-copy p{max-width:520px;margin:0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.75}.brand-foot{position:relative;z-index:1;font-size:11px;color:rgba(255,255,255,.45)}
    .gateway-main{padding:clamp(32px,6vw,86px);display:flex;align-items:center}.role-wrap{width:min(680px,100%);margin:auto}.role-head{margin-bottom:30px}.role-head h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.045em;margin:11px 0 8px}.role-head p{color:var(--muted);font-size:14px;margin:0}.role-list{border-top:1px solid var(--line)}.role{width:100%;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:17px;text-align:left;padding:22px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);transition:.2s}.role:hover{padding-left:12px;background:rgba(255,255,255,.55)}.role-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#eaf1f7;color:var(--navy);font-size:15px;font-weight:800}.role:nth-child(2) .role-icon{background:#fff1df;color:#a85808}.role:nth-child(3) .role-icon{background:#e9f4ee;color:#237255}.role strong{display:block;font-size:16px}.role small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}.role-arrow{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.2s}.role:hover .role-arrow{background:var(--orange);border-color:var(--orange);transform:translateX(3px)}
    .app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);background:#f4f6f7}.sidebar{height:100vh;position:sticky;top:0;background:var(--navy);color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:40}.sidebar .brand{padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.profile{margin:18px 6px 16px;padding:15px;border-radius:13px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.08)}.profile small{display:block;color:#87bce8;font-size:9px;font-weight:800;letter-spacing:.12em}.profile strong{display:block;margin:7px 0 3px;font-size:14px}.profile span{font-size:10px;color:rgba(255,255,255,.58)}
    .side-label{margin:10px 12px 7px;font-size:8px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.38)}.nav{display:grid;gap:3px}.nav button{width:100%;border:0;background:transparent;color:rgba(255,255,255,.66);display:flex;align-items:center;gap:11px;text-align:left;padding:11px 12px;border-radius:9px;font-size:11px;font-weight:700}.nav button:hover{background:rgba(255,255,255,.06);color:#fff}.nav button.active{background:#fff;color:var(--navy)}.nav-mark{width:22px;font-size:12px;text-align:center}.side-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px 8px 0;display:grid;gap:5px}.side-foot button{border:0;background:transparent;color:rgba(255,255,255,.55);text-align:left;padding:7px 4px;font-size:10px}.side-foot button:hover{color:#fff}
    .main{min-width:0}.topbar{height:72px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:rgba(244,246,247,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.crumb small{display:block;font-size:8px;letter-spacing:.13em;font-weight:800;color:#8a96a3}.crumb strong{display:block;font-size:15px;margin-top:3px}.top-actions{display:flex;align-items:center;gap:9px}.outline-btn{height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 12px;font-size:10px;font-weight:800;color:#506174}.avatar{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.menu{display:none;width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:9px}
    .content{width:min(1260px,calc(100% - 56px));margin:0 auto;padding:34px 0 56px}.view{display:none}.view.active{display:block;animation:reveal .18s ease}@keyframes reveal{from{opacity:.3;transform:translateY(4px)}}.page-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}.page-head h1{font-size:clamp(27px,3vw,38px);letter-spacing:-.045em;margin:7px 0 4px}.page-head p{margin:0;color:var(--muted);font-size:12px}.primary{border:0;border-radius:9px;background:var(--blue);color:#fff;padding:11px 15px;font-size:10px;font-weight:800}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;overflow:hidden}.metric{padding:17px 19px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric small{font-size:8px;letter-spacing:.1em;color:#8995a2;font-weight:800}.metric strong{display:block;margin-top:7px;font-size:20px;letter-spacing:-.035em}.metric span{display:block;margin-top:3px;font-size:9px;color:var(--muted)}.up{color:var(--green)!important}.down{color:var(--red)!important}
    .home-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:28px;align-items:end;padding:28px;border-radius:18px;background:var(--blue);color:#fff;margin-bottom:16px}.home-hero.parent-tone{background:#d97919}.home-hero:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-110px;top:-130px}.home-hero small{font-size:9px;letter-spacing:.13em;color:rgba(255,255,255,.72);font-weight:800}.home-hero h1{font-size:clamp(27px,3vw,40px);letter-spacing:-.045em;margin:7px 0}.home-hero p{font-size:12px;line-height:1.6;color:rgba(255,255,255,.78);margin:0;max-width:600px}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;position:relative;z-index:1}.home-stat{padding:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);border-radius:11px}.home-stat strong{display:block;font-size:17px}.home-stat span{font-size:8px;color:rgba(255,255,255,.7)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px}.quick{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:72px;padding:13px;text-align:left;color:var(--ink)}.quick:hover{border-color:#a8cbe8}.quick b{display:block;font-size:14px;color:var(--blue);margin-bottom:8px}.quick span{font-size:9px;font-weight:800}.home-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}.home-stack{display:grid;gap:16px}.focus-block{padding:19px}.focus-block small{font-size:8px;letter-spacing:.1em;color:var(--blue);font-weight:800}.focus-block h2{font-size:17px;margin:8px 0 6px}.focus-block p{font-size:10px;line-height:1.65;color:var(--muted);margin:0}.media-slot{min-height:138px;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,#eaf3fa,#f8fafb);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.media-slot:after{content:"GÖRSEL ALANI";position:absolute;right:14px;top:14px;font-size:7px;letter-spacing:.12em;color:#8aa0b2;font-weight:800}.media-slot strong{font-size:14px;max-width:260px}.media-slot span{font-size:9px;color:var(--muted);margin-top:4px}.mobile-dock{display:none}
    .panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel+.panel{margin-top:16px}.panel-head{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 18px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:13px}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:9px}.text-action{border:0;background:transparent;color:var(--blue);font-size:9px;font-weight:800}.report-row{display:grid;grid-template-columns:44px minmax(0,1fr) 120px 90px;gap:15px;align-items:center;padding:15px 18px;border-bottom:1px solid #edf0f2}.report-row:last-child{border:0}.file-symbol{width:38px;height:44px;border-radius:8px;background:var(--blue-soft);display:grid;place-items:center;color:var(--blue);font-size:8px;font-weight:800}.report-main strong{font-size:11px}.report-main p{font-size:9px;color:var(--muted);margin:4px 0 0}.date{font-size:9px;color:var(--muted)}.row-btn{height:31px;border:1px solid #cfd8e1;border-radius:8px;background:#fff;color:#354a60;font-size:9px;font-weight:800}.row-btn:hover{border-color:var(--blue);color:var(--blue)}
    .table-wrap{overflow:auto}.data-table{width:100%;min-width:820px;border-collapse:collapse}.data-table th{padding:11px 14px;background:#f8fafb;color:#7a8795;text-align:left;font-size:8px;letter-spacing:.07em;text-transform:uppercase}.data-table td{padding:13px 14px;border-top:1px solid #edf0f2;font-size:10px;color:#526273}.data-table td strong{color:var(--ink)}.center{text-align:center!important}.status{display:inline-block;padding:4px 7px;border-radius:5px;background:#e9f5f0;color:var(--green);font-size:8px;font-weight:800}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr);gap:16px}.chart{height:280px;padding:28px 24px 12px;position:relative}.chart-grid{height:210px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,#eef1f3 52px);position:relative}.chart-line{position:absolute;left:2%;right:2%;top:12%;height:80%;clip-path:polygon(0 84%,17% 72%,34% 78%,51% 48%,68% 38%,84% 22%,100% 10%,100% 14%,84% 26%,68% 42%,51% 52%,34% 82%,17% 76%,0 88%);background:var(--blue)}.insight{padding:22px;background:var(--navy);color:#fff;border-radius:var(--radius)}.insight small{font-size:8px;letter-spacing:.12em;color:#86c5f4}.insight h3{font-size:21px;line-height:1.2;margin:10px 0}.insight p{font-size:11px;line-height:1.7;color:rgba(255,255,255,.68)}.lesson{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid rgba(255,255,255,.1);font-size:10px}
    .matrix{overflow:auto}.matrix-row{min-width:760px;display:grid;grid-template-columns:1.5fr repeat(4,1fr);border-top:1px solid #edf0f2}.matrix-row:first-child{border:0;background:#f8fafb;color:#7a8795;text-transform:uppercase;font-size:8px;font-weight:800}.matrix-cell{padding:13px 14px;border-right:1px solid #edf0f2;font-size:10px}.matrix-cell:last-child{border:0}.bar{height:5px;background:#e7edf1;border-radius:8px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--blue);border-radius:inherit}.teacher-note{padding:18px;display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:start;border-bottom:1px solid #edf0f2}.teacher-note:last-child{border:0}.teacher-badge{width:38px;height:38px;border-radius:10px;background:#edf2f6;display:grid;place-items:center;font-size:10px;font-weight:800}.teacher-note strong{font-size:11px}.teacher-note p{font-size:10px;color:var(--muted);line-height:1.6;margin:5px 0 0}
    .toast{position:fixed;right:20px;bottom:20px;z-index:100;padding:14px 16px;border-radius:11px;background:var(--navy);color:#fff;box-shadow:0 18px 50px rgba(17,32,51,.22);font-size:11px;max-width:330px}.overlay{display:none;position:fixed;inset:0;background:rgba(7,18,29,.42);z-index:35}
    @media(max-width:980px){.gateway{grid-template-columns:1fr}.gateway-brand{min-height:420px}.gateway-main{padding:48px 28px}.app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;transform:translateX(-100%);width:272px;transition:.2s}.sidebar.open{transform:translateX(0)}.overlay.show{display:block}.menu{display:grid;place-items:center}.summary-strip{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.two-col,.home-grid{grid-template-columns:1fr}.home-hero{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:650px){.gateway-brand{min-height:380px;padding:32px 24px}.gateway-copy h1{font-size:44px}.gateway-main{padding:38px 20px}.role{grid-template-columns:46px 1fr auto}.role small{font-size:10px}.topbar{height:62px;padding:0 14px}.outline-btn{display:none}.content{width:calc(100% - 24px);padding:18px 0 96px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:27px}.home-hero{margin:-18px -12px 14px;border-radius:0 0 24px 24px;padding:22px 18px}.home-hero h1{font-size:28px}.home-stats{gap:5px}.home-stat{padding:9px}.home-stat strong{font-size:15px}.quick-grid{display:flex;overflow-x:auto;margin-right:-12px;padding-right:12px}.quick{min-width:132px}.summary-strip{grid-template-columns:1fr 1fr}.metric{padding:14px}.report-row{grid-template-columns:38px 1fr 70px;padding:13px 12px;gap:10px}.date{display:none}.report-main p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-note{grid-template-columns:38px 1fr}.teacher-note>.date{display:none}.mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:8px;height:64px;z-index:32;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 36px rgba(17,32,51,.15);overflow:hidden}.mobile-dock button{border:0;background:transparent;color:#7a8794;font-size:7px;font-weight:800;display:grid;place-items:center;align-content:center;gap:4px}.mobile-dock button b{font-size:15px}.mobile-dock button.active{color:var(--blue);background:var(--blue-soft)}}
    /* User-provided visual assets */
    .role-icon{overflow:hidden}.role-icon img{width:100%;height:100%;object-fit:cover;object-position:center 24%}
    .file-symbol.report-art{height:46px;overflow:hidden;background:#f3f7fc;border:1px solid #e6edf4}.file-symbol.report-art img{width:100%;height:100%;object-fit:cover}
    .media-slot.has-art{min-height:172px;padding:20px;background:#eef5fb}.media-slot.has-art:after{display:none}.media-slot.has-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,239,.98) 0%,rgba(248,245,239,.9) 38%,rgba(248,245,239,.18) 64%,transparent 82%);z-index:1}.media-slot.has-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.media-slot.has-art strong,.media-slot.has-art span{position:relative;z-index:2;max-width:43%}
    .live-area{margin-top:16px}.live-heading{display:flex;align-items:end;justify-content:space-between;margin:0 2px 10px}.live-heading h2{font-size:17px;margin:0}.live-heading span{font-size:8px;color:var(--muted)}.live-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px}.live-stack{display:grid;gap:16px}.dense-list{display:grid}.dense-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid #edf0f2}.dense-row:last-child{border:0}.dense-icon{width:34px;height:34px;border-radius:9px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:800}.dense-main strong{display:block;font-size:10px}.dense-main span{display:block;margin-top:3px;color:var(--muted);font-size:8px;line-height:1.45}.dense-side{text-align:right}.dense-side strong{display:block;font-size:10px}.dense-side span{display:block;margin-top:3px;color:var(--muted);font-size:8px}.progress-wrap{padding:16px}.progress-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:9px}.progress-top strong{font-size:11px}.progress-top span{font-size:9px;color:var(--muted)}.progress-track{height:7px;border-radius:9px;background:#e8edf1;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.subject-row{display:grid;grid-template-columns:80px 1fr 42px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f2;font-size:9px}.subject-row:last-child{border:0}.subject-row .progress-track{height:5px}.subject-row b{text-align:right}.family-strip{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px 16px}.family-strip img{width:58px;height:58px;border-radius:14px;object-fit:cover;object-position:center 32%}.family-strip strong{display:block;font-size:12px}.family-strip span{font-size:9px;color:var(--muted)}.family-strip button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:8px;font-weight:800}.pulse{display:inline-flex;align-items:center;gap:5px}.pulse:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(22,128,101,.12)}
    @media(max-width:980px){.live-grid{grid-template-columns:1fr}}
    @media(max-width:650px){.live-heading{align-items:flex-start}.dense-row{padding:12px}.family-strip{grid-template-columns:54px 1fr}.family-strip img{width:50px;height:50px}.family-strip button{display:none}}
    .home-grid>.home-stack:first-child>.focus-block:first-child{display:none}.last-exam-row{grid-template-columns:44px minmax(0,1fr) 90px 64px 72px}.last-exam-row .row-btn{width:72px}
    @media(max-width:650px){.gateway{display:block;min-height:100vh;background:#f7f9fb;border-top:5px solid var(--blue)}.gateway-brand{min-height:auto;padding:24px 24px 18px;background:transparent;color:var(--ink);overflow:visible}.gateway-brand:after,.brand-foot{display:none}.gateway-brand .brand img{width:54px;height:54px;border:1px solid var(--line);box-shadow:none}.gateway-brand .brand strong{color:var(--ink)}.gateway-brand .brand span{color:var(--muted)}.gateway-copy{margin-top:44px}.gateway-brand .eyebrow{color:var(--blue)}.gateway-copy h1{font-size:32px;line-height:1.15;margin:9px 0}.gateway-copy h1 br{display:none}.gateway-copy h1 em{color:var(--ink);font-family:Manrope,Arial,sans-serif;font-style:normal;font-weight:800}.gateway-copy p{font-size:12px;line-height:1.6;color:var(--muted);max-width:330px}.gateway-main{display:block;padding:8px 24px 28px}.role-head{display:none}.role-list{border:0;display:grid;gap:10px}.role{min-height:76px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;grid-template-columns:48px 1fr auto}.role:hover{padding-left:14px;background:#fff}.role-icon{width:46px;height:46px}.role strong{font-size:14px}.role small{font-size:10px;margin-top:3px}.role-arrow{border:0}.live-area .panel-head p,.live-area .dense-main span{display:none}.last-exam-row{grid-template-columns:38px minmax(0,1fr) 58px 68px}.last-exam-row .date{display:none}.last-exam-row .row-btn{width:68px}.last-exam-row>strong{font-size:12px}}
    .market-panel{display:grid;grid-template-columns:minmax(0,1fr) 230px;background:#0b1522;border:1px solid #1d3044;border-radius:17px;overflow:hidden;margin-bottom:16px;color:#fff}.market-main{padding:19px 20px 14px}.market-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.market-label{font-size:8px;letter-spacing:.13em;font-weight:800;color:#66b5f3}.market-title{font-size:15px;margin:5px 0 0}.market-value{text-align:right}.market-value strong{font-size:22px}.market-value span{display:block;font-size:8px;color:#42d5a4;margin-top:2px}.market-chart{height:92px;margin-top:14px;display:flex;align-items:flex-end;gap:clamp(7px,1.8vw,20px);padding:0 4px 7px;border-bottom:1px solid #263b50;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,rgba(255,255,255,.045) 30px)}.candle{position:relative;flex:1;max-width:13px;min-width:6px;border-radius:2px;background:#37cf9b}.candle:before{content:"";position:absolute;width:1px;height:calc(100% + 14px);left:50%;top:-7px;background:#638096;z-index:0}.candle.down{background:#ef6b6d}.market-axis{display:flex;justify-content:space-between;margin-top:6px;color:#61798f;font-size:7px;font-weight:800}.market-action{padding:20px;background:#102238;border-left:1px solid #24384d;display:flex;flex-direction:column;justify-content:space-between}.market-action small{font-size:8px;letter-spacing:.1em;color:#7890a6}.market-action h3{font-size:17px;line-height:1.25;margin:8px 0;color:#fff}.market-action p{font-size:9px;line-height:1.55;color:#91a4b6;margin:0}.market-action button{margin-top:18px;border:0;border-radius:9px;background:#fff;color:#132a43;height:36px;font-size:9px;font-weight:800}.guide-copy{max-width:50%}
    @media(max-width:650px){.market-panel{grid-template-columns:1fr}.market-main{padding:16px 14px 12px}.market-action{border-left:0;border-top:1px solid #24384d;padding:14px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.market-action small,.market-action p{display:none}.market-action h3{font-size:13px;margin:0}.market-action button{margin:0;width:104px}.market-chart{gap:9px}.guide-copy{max-width:54%}}
    /* Calmer dashboard composition */
    #view-home .home-grid{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)}#view-home .home-stack{gap:14px}#view-home .home-stack:last-child>.focus-block{display:none}#view-home .media-slot+.panel-head{display:none}
    #view-home .panel{box-shadow:0 8px 24px rgba(17,32,51,.035)}#view-home .home-grid>.home-stack:first-child>.panel{border-color:#d8e7f3}#view-home .home-grid>.home-stack:last-child>.panel{border:0;background:#eef5fb}
    #view-home .media-slot.has-art{min-height:196px;border:0;background:#eaf3fb}#view-home .media-slot.has-art strong{font-size:18px;line-height:1.25;color:#102d49}#view-home .media-slot.has-art span{font-size:9px;line-height:1.55;margin-top:7px}
    .live-area{margin-top:14px}.live-area .live-heading{margin-bottom:9px}.live-area .live-heading h2{font-size:15px}.live-area .panel{border:0;box-shadow:none}.live-area .panel-head{border-bottom-color:rgba(17,32,51,.07);min-height:54px}.live-area .live-stack:first-child>.panel{background:#f5f9fc}.live-area .live-stack:last-child>.panel{background:#fff7ed}.live-area .dense-row{border-bottom-color:rgba(17,32,51,.06)}.live-area .dense-icon{background:#fff;color:var(--blue);box-shadow:0 3px 10px rgba(17,32,51,.06)}.live-area .progress-wrap{padding:12px 17px 15px}.live-area .subject-row{padding:9px 0}.live-area .subject-row:nth-child(1) .progress-track i{background:#1678c8}.live-area .subject-row:nth-child(2) .progress-track i{background:#7a68d1}.live-area .subject-row:nth-child(3) .progress-track i{background:#ed8b22}.live-area .subject-row:nth-child(4) .progress-track i{background:#168065}.live-area .family-strip{background:#edf5fb;border:0}.live-area .focus-block{background:#fff7ed!important}.live-area .focus-block p{max-width:580px}
    @media(max-width:650px){#view-home .home-grid{grid-template-columns:1fr;gap:12px}#view-home .media-slot.has-art{min-height:166px}#view-home .media-slot.has-art strong{font-size:16px}.live-area{margin-top:12px}.live-area .live-heading span{display:none}.live-area .live-grid{gap:12px}.live-area .panel-head{padding:12px 14px}.live-area .subject-row{grid-template-columns:72px 1fr 34px}.live-area .dense-row{min-height:60px}.live-area .dense-side span{display:none}}
    .exam-trend{margin-top:18px;background:#0b1522;border:1px solid #1f3448;border-radius:17px;overflow:hidden;color:#fff}.exam-trend-head{display:flex;justify-content:space-between;gap:20px;padding:18px 20px 0}.exam-trend-head small{font-size:8px;letter-spacing:.13em;color:#65b7f4;font-weight:800}.exam-trend-head h2{font-size:17px;margin:5px 0 0}.trend-score{text-align:right}.trend-score strong{display:block;font-size:26px}.trend-score span{font-size:8px;color:#42d5a4}.trend-stage{position:relative;height:220px;margin:15px 20px 0;border-left:1px solid #2b4054;border-bottom:1px solid #2b4054;background:repeating-linear-gradient(to bottom,transparent 0,transparent 52px,rgba(255,255,255,.055) 53px)}.trend-bars{position:absolute;inset:15px 14px 0;display:flex;align-items:flex-end;justify-content:space-around;gap:10px}.trend-bar{position:relative;width:min(42px,8vw);height:var(--h);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#4eb3ff,#1476c5);box-shadow:0 0 24px rgba(54,162,240,.12)}.trend-bar.down{background:linear-gradient(180deg,#fb8b80,#d95353)}.trend-bar:after{content:attr(data-value);position:absolute;left:50%;top:-19px;transform:translateX(-50%);font-size:8px;font-weight:800;color:#dce9f4}.trend-goal{position:absolute;left:0;right:0;top:24px;border-top:1px dashed #ed9c3b}.trend-goal span{position:absolute;right:0;top:-15px;color:#edab5d;font-size:7px;font-weight:800}.trend-dates{display:flex;justify-content:space-around;padding:8px 26px 15px;color:#6d859b;font-size:7px;font-weight:800}.trend-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #20364a;background:#102238}.trend-summary div{padding:13px 18px;border-right:1px solid #20364a}.trend-summary div:last-child{border:0}.trend-summary small{display:block;font-size:7px;color:#6f879d;letter-spacing:.09em}.trend-summary strong{display:block;font-size:10px;margin-top:5px}.analysis-guide{margin-top:16px;padding:18px 20px;border-radius:15px;background:#eef6fc;border:1px solid #d5e7f4;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}.analysis-guide-icon{width:38px;height:38px;border-radius:11px;background:#fff;color:var(--blue);display:grid;place-items:center;font-weight:800}.analysis-guide h3{font-size:13px;margin:0 0 5px}.analysis-guide p{font-size:10px;line-height:1.7;color:#52677a;margin:0}.analysis-guide button{border:0;background:transparent;color:var(--blue);font-weight:800;padding:0}.data-table .report-jump{white-space:nowrap}.reminder-panel{background:#fff8ec!important}.reminder-panel .dense-icon{background:#fff1d9;color:#c77115}.reminder-panel .dense-side strong{color:#a96317}
    @media(max-width:650px){.exam-trend-head{padding:15px 14px 0}.trend-stage{height:178px;margin:14px 14px 0}.trend-bar{width:25px}.trend-summary div{padding:11px}.trend-summary strong{font-size:9px}.analysis-guide{grid-template-columns:32px 1fr;padding:14px}.analysis-guide-icon{width:32px;height:32px}.analysis-guide p{font-size:9px}.data-table .report-jump{position:sticky;right:0;background:#fff}.exam-trend{border-radius:15px}}
    .quality-mini{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.quality-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;background:#f1f5f8;color:#52677a;font-size:7px;font-weight:800}.quality-chip i{display:flex;gap:2px}.quality-chip i b{width:4px;height:4px;border-radius:50%;background:#cbd5de}.quality-chip i b.on{background:var(--orange)}.scope-analysis{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;margin-top:16px}.scope-tabs{display:flex;gap:5px;padding:10px 12px;border-bottom:1px solid var(--line);overflow-x:auto}.scope-tabs button{white-space:nowrap;border:0;border-radius:8px;background:#f0f4f7;color:#687789;padding:7px 10px;font-size:8px;font-weight:800}.scope-tabs button.active{background:var(--blue);color:#fff}.quality-aside{padding:19px;background:var(--navy);color:#fff;border-radius:var(--radius)}.quality-aside>small{font-size:8px;letter-spacing:.12em;color:#86c5f4}.quality-aside h3{font-size:19px;margin:8px 0 16px}.quality-meter{padding:13px 0;border-top:1px solid rgba(255,255,255,.1)}.quality-meter div{display:flex;justify-content:space-between;gap:10px;font-size:9px}.quality-meter strong{font-size:10px}.quality-dots{display:flex;gap:5px;margin-top:8px}.quality-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.16)}.quality-dots i.on{background:var(--orange)}.quality-aside p{font-size:9px;line-height:1.65;color:rgba(255,255,255,.6)}@media(max-width:750px){.scope-analysis{grid-template-columns:1fr}.quality-aside{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.quality-aside>small,.quality-aside>h3,.quality-aside>p{grid-column:1/-1}}
    .login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);background:#f5f7f9}.login-visual{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(30px,5vw,70px);display:flex;flex-direction:column}.login-visual:after{content:"";position:absolute;inset:auto -120px -150px auto;width:390px;height:390px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 70px rgba(255,255,255,.025)}.login-visual .brand{position:relative;z-index:2}.login-portrait{position:absolute;right:-5%;bottom:-13%;width:min(88%,620px);height:82%;object-fit:cover;object-position:center top;mix-blend-mode:normal}.login-message{position:relative;z-index:2;margin-top:auto;max-width:440px;padding-bottom:20px}.login-message small{font-size:9px;letter-spacing:.14em;color:#8bc9f8;font-weight:800}.login-message h2{font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.045em;margin:10px 0}.login-message p{font-size:12px;line-height:1.7;color:rgba(255,255,255,.68);margin:0;max-width:380px}.login-main{display:flex;align-items:center;padding:clamp(28px,6vw,80px)}.login-form-wrap{width:min(460px,100%);margin:auto}.login-back{border:0;background:transparent;color:var(--muted);padding:0;font-size:10px;font-weight:800}.login-head{margin:34px 0 25px}.login-role{display:inline-flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.1em;font-weight:800;color:var(--blue)}.login-role:before{content:"";width:20px;height:2px;background:currentColor}.login-head h1{font-size:34px;letter-spacing:-.045em;margin:9px 0 7px}.login-head p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.login-form{display:grid;gap:15px}.login-field label{display:block;margin-bottom:7px;font-size:9px;font-weight:800;color:#35485a}.login-input-wrap{position:relative}.login-field input{width:100%;height:50px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 13px;color:var(--ink);font:600 12px Manrope,Arial,sans-serif;outline:none;transition:.18s}.login-field input:focus{border-color:#78afe0;box-shadow:0 0 0 3px rgba(8,111,200,.09)}.password-toggle{position:absolute;right:7px;top:7px;height:36px;border:0;border-radius:8px;background:#eef4f8;color:#496174;padding:0 10px;font-size:8px;font-weight:800}.login-meta{display:flex;justify-content:space-between;align-items:center;gap:14px}.login-meta a{font-size:9px;color:var(--blue);font-weight:800}.secure-note{font-size:8px;color:var(--muted)}.login-submit{height:50px;border:0;border-radius:11px;background:var(--blue);color:#fff;font-size:11px;font-weight:800;box-shadow:0 10px 22px rgba(8,111,200,.16)}.login-submit.parent{background:#d97919;box-shadow:0 10px 22px rgba(217,121,25,.16)}.login-submit.teacher{background:#173d61;box-shadow:0 10px 22px rgba(23,61,97,.16)}.login-submit:disabled{opacity:.65}.login-demo{margin-top:18px;padding:12px 14px;border:1px dashed #cfd9e1;border-radius:10px;color:var(--muted);font-size:8px;line-height:1.55}.login-error{display:none;padding:10px 12px;border-radius:9px;background:#fff0ee;color:#a8443a;font-size:9px}.login-error.show{display:block}
    @media(max-width:780px){.login-screen{display:block;background:#f7f9fb;border-top:5px solid var(--blue)}.login-visual{min-height:190px;padding:20px 22px 24px;background:transparent;color:var(--ink)}.login-visual:after{display:none}.login-visual .brand img{width:48px;height:48px;border:1px solid var(--line)}.login-visual .brand strong{color:var(--ink)}.login-visual .brand span{color:var(--muted)}.login-portrait{width:155px;height:155px;right:8px;bottom:-8px;border-radius:50%;object-position:center 24%;opacity:.98}.login-message{margin-top:34px;padding:0;max-width:62%}.login-message small{color:var(--blue)}.login-message h2{font-size:22px;margin:6px 0}.login-message p{display:none}.login-main{display:block;padding:20px 22px 36px}.login-form-wrap{width:100%}.login-head{margin:24px 0 20px}.login-head h1{font-size:28px}.login-field input{height:48px}.login-submit{height:49px}}
    .login-field select{width:100%;height:50px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 13px;color:var(--ink);font:600 12px Manrope,Arial,sans-serif;outline:none;transition:.18s;cursor:pointer}.login-field select:focus{border-color:#78afe0;box-shadow:0 0 0 3px rgba(8,111,200,.09)}.quick-fill{margin-top:14px;padding:13px;border:1px solid #dbe6ee;border-radius:11px;background:#f8fafc}.quick-fill-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.quick-fill-head strong{font-size:9px;color:#35485a}.quick-fill-head span{font-size:7px;color:var(--muted)}.quick-fill-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quick-fill button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:8px 9px;border:1px solid #dbe5ed;border-radius:8px;background:#fff;color:var(--ink);text-align:left}.quick-fill button:hover{border-color:#8ab9df;background:#f2f8fd}.quick-fill button strong{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.quick-fill button span{font-size:7px;color:var(--muted)}
    @media(max-width:650px){#view-reports .page-head{margin-bottom:14px}#view-reports .page-head .primary{display:none}#view-reports .summary-strip{display:none}#view-reports .panel{border:0;background:transparent;overflow:visible}#view-reports .panel-head{min-height:auto;margin-bottom:10px;padding:0 2px 10px;background:transparent}#view-reports .report-row{grid-template-columns:48px minmax(0,1fr);grid-template-areas:"art main" "action action";gap:10px 12px;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(17,32,51,.05)}#view-reports .report-art{grid-area:art;width:48px;height:56px}#view-reports .report-main{grid-area:main;min-width:0}#view-reports .report-main strong{display:block;font-size:12px;line-height:1.4}#view-reports .report-main p{margin-top:6px;white-space:normal;line-height:1.5}#view-reports .date{display:none}#view-reports .row-btn{grid-area:action;width:100%;height:42px;border:0;background:var(--blue);color:#fff;font-size:10px}#view-reports .row-btn:hover{color:#fff}}
/* =========================================================
   NeoPusula Portal — Visual V2
   DESIGN ONLY. No DOM architecture, IDs, data attributes, routes,
   auth/session logic or JS behaviour are changed.
   ========================================================= */
:root{
  --ink:#0a1726;
  --muted:#65778a;
  --line:#dbe5ed;
  --paper:#eef4f8;
  --surface:#ffffff;
  --navy:#06192b;
  --navy-2:#0a2c49;
  --blue:#0877c9;
  --blue-2:#2aa8ef;
  --blue-soft:#e8f5fe;
  --orange:#f58a22;
  --green:#168065;
  --red:#bd584d;
  --radius:20px;
  --sidebar:276px;
  --v2-shadow:0 12px 34px rgba(19,55,79,.08);
  --v2-shadow-lg:0 26px 70px rgba(13,42,63,.12);
}
*{scrollbar-color:#bfd0dc transparent}
html{background:#eaf1f6}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 88% -8%,rgba(8,119,201,.08),transparent 32rem),
    linear-gradient(180deg,#f4f8fb 0,#edf3f7 100%);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  letter-spacing:-.012em;
}
button,a,input,select{font-family:inherit!important}
button{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}
button:active{transform:scale(.985)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(8,119,201,.16);outline-offset:2px}

/* Loading */
.session-checking>.session-splash{
  background:radial-gradient(circle at 50% 42%,rgba(8,119,201,.10),transparent 15rem),#f6f9fb;
}
.session-splash img{width:76px;height:76px;filter:drop-shadow(0 16px 24px rgba(8,119,201,.14))}
.session-splash strong{font-size:15px;letter-spacing:-.025em}.session-splash span{font-size:11px;color:#718295}

/* ===== GATEWAY: obvious visual redesign ===== */
.gateway{
  grid-template-columns:minmax(420px,.92fr) minmax(520px,1.08fr)!important;
  background:#eff5f8!important;
}
.gateway-brand{
  margin:14px 0 14px 14px!important;
  min-height:calc(100vh - 28px)!important;
  border-radius:30px!important;
  padding:clamp(38px,5.5vw,76px)!important;
  background:
    linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px),
    radial-gradient(circle at 8% 90%,rgba(42,168,239,.28),transparent 22rem),
    radial-gradient(circle at 87% 12%,rgba(8,119,201,.28),transparent 25rem),
    linear-gradient(145deg,#04111f 0,#082a47 68%,#074773 100%)!important;
  background-size:48px 48px,48px 48px,auto,auto,auto!important;
  box-shadow:0 30px 80px rgba(5,26,43,.18)!important;
}
.gateway-brand:after{
  width:480px!important;height:480px!important;right:-220px!important;bottom:-230px!important;
  border-color:rgba(93,200,255,.22)!important;
  box-shadow:0 0 0 76px rgba(72,185,244,.035),0 0 0 154px rgba(72,185,244,.018)!important;
}
.brand{gap:14px!important}.brand img{
  width:50px!important;height:50px!important;padding:5px!important;border-radius:15px!important;
  background:#fff!important;box-shadow:0 10px 28px rgba(0,0,0,.14)!important
}
.brand strong{font-size:16px!important;letter-spacing:.075em!important}.brand span{font-size:8px!important;letter-spacing:.14em!important}
.gateway-copy{max-width:610px!important}.gateway-copy h1{
  font-size:clamp(48px,5.5vw,80px)!important;line-height:.91!important;letter-spacing:-.072em!important;margin:24px 0 22px!important
}
.gateway-copy h1 em{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;color:#ffae5a!important}
.gateway-copy p{max-width:540px!important;font-size:14px!important;line-height:1.76!important;color:rgba(255,255,255,.68)!important}
.gateway-brand .eyebrow{color:#7fd0ff!important}.brand-foot{font-size:10px!important;color:rgba(255,255,255,.42)!important}
.gateway-main{padding:clamp(40px,6vw,90px)!important;background:transparent!important}
.role-wrap{width:min(660px,100%)!important}.role-head{margin-bottom:28px!important}.role-head h2{font-size:clamp(34px,3.2vw,48px)!important;letter-spacing:-.055em!important}.role-head p{font-size:13px!important}
.role-list{border:0!important;display:grid!important;gap:12px!important}
.role{
  grid-template-columns:64px 1fr auto!important;gap:17px!important;min-height:104px!important;padding:18px!important;
  border:1px solid #d9e5ed!important;border-radius:20px!important;background:rgba(255,255,255,.94)!important;
  box-shadow:0 8px 28px rgba(14,50,73,.045)!important;backdrop-filter:blur(12px)
}
.role:hover{padding-left:18px!important;transform:translateY(-3px)!important;border-color:#a9d3ee!important;box-shadow:0 20px 44px rgba(14,50,73,.11)!important}
.role-icon{width:58px!important;height:58px!important;border-radius:18px!important;padding:3px!important;overflow:hidden!important;background:#eaf6fd!important}
.role-icon img{width:100%!important;height:100%!important;object-fit:contain!important}.role:nth-child(2) .role-icon{background:#fff3e7!important}.role:nth-child(3) .role-icon{background:#eaf7f3!important}
.role strong{font-size:16px!important;letter-spacing:-.025em!important}.role small{font-size:10px!important;line-height:1.5!important;margin-top:5px!important}
.role-arrow{width:40px!important;height:40px!important;border-radius:13px!important;background:#f4f8fb!important;border-color:#dce7ef!important;color:#4d6a80!important}
.role:hover .role-arrow{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important;transform:translateX(2px)!important}

/* ===== LOGIN ===== */
.login-screen{grid-template-columns:minmax(410px,.9fr) minmax(460px,1.1fr)!important;background:#eef4f8!important}
.login-visual{
  margin:14px 0 14px 14px!important;min-height:calc(100vh - 28px)!important;border-radius:30px!important;
  padding:clamp(34px,5vw,70px)!important;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    radial-gradient(circle at 76% 76%,rgba(42,168,239,.27),transparent 23rem),
    linear-gradient(150deg,#04111f,#082b49 76%)!important;
  background-size:46px 46px,46px 46px,auto,auto!important;
  box-shadow:0 28px 70px rgba(5,26,43,.17)!important;
}
.login-portrait{right:-2%!important;bottom:-10%!important;width:min(82%,590px)!important;height:79%!important;filter:drop-shadow(0 28px 40px rgba(0,0,0,.18))}
.login-message h2{font-size:clamp(34px,4vw,52px)!important;line-height:1!important;letter-spacing:-.06em!important}.login-message p{font-size:12px!important}
.login-main{padding:clamp(32px,6vw,80px)!important}.login-form-wrap{width:min(480px,100%)!important}.login-head h1{font-size:38px!important;letter-spacing:-.055em!important}
.login-head p{font-size:12px!important}.login-form{gap:16px!important}.login-field label{font-size:10px!important}
.login-field input,.login-field select{height:54px!important;border-radius:15px!important;border-color:#d6e3eb!important;background:#fff!important;padding:0 15px!important;font-size:12px!important;box-shadow:0 2px 8px rgba(15,47,70,.025)!important}
.login-field input:focus,.login-field select:focus{border-color:#71bbe8!important;box-shadow:0 0 0 4px rgba(8,119,201,.08)!important}
.password-toggle{right:9px!important;top:9px!important;height:36px!important;border-radius:10px!important;background:#edf5fa!important}
.login-submit{height:54px!important;border-radius:15px!important;background:linear-gradient(135deg,#138bd8,#0870bc)!important;font-size:11px!important;box-shadow:0 14px 30px rgba(8,111,200,.20)!important}.login-submit:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(8,111,200,.26)!important}
.login-demo{border-style:solid!important;border-radius:13px!important;background:#f7fafc!important}

/* ===== PORTAL SHELL: floating modern sidebar ===== */
.app{
  grid-template-columns:var(--sidebar) minmax(0,1fr)!important;
  gap:14px!important;padding:14px!important;
  background:linear-gradient(145deg,#eaf1f6,#f3f7fa 50%,#edf4f8)!important;
}
.sidebar{
  height:calc(100vh - 28px)!important;top:14px!important;border-radius:26px!important;
  padding:18px 14px!important;
  background:
    radial-gradient(circle at 12% 0,rgba(42,168,239,.18),transparent 15rem),
    linear-gradient(180deg,#061725 0,#08253e 58%,#071d31 100%)!important;
  box-shadow:0 26px 60px rgba(6,25,42,.18)!important;overflow:hidden!important
}
.sidebar .brand{padding:4px 8px 20px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.sidebar .brand img{width:44px!important;height:44px!important;border-radius:14px!important}.sidebar .brand strong{font-size:14px!important}.sidebar .brand span{font-size:7px!important;color:#7cc9f7!important}
.profile{margin:16px 4px 18px!important;padding:16px!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.045))!important;border-color:rgba(255,255,255,.09)!important;box-shadow:inset 0 1px rgba(255,255,255,.04)!important}
.profile small{font-size:8px!important;color:#79cbfb!important}.profile strong{font-size:14px!important;margin:7px 0 4px!important}.profile span{font-size:9px!important}
.side-label{font-size:7px!important;margin:10px 10px 8px!important;color:rgba(255,255,255,.32)!important}.nav{gap:5px!important}.nav button{min-height:44px!important;padding:10px 11px!important;border-radius:12px!important;font-size:10.5px!important;color:rgba(255,255,255,.62)!important}.nav button:hover{background:rgba(255,255,255,.075)!important;color:#fff!important}.nav button.active{background:linear-gradient(135deg,#fff,#edf7fd)!important;color:#08253e!important;box-shadow:0 10px 24px rgba(0,0,0,.14)!important}.nav-mark{width:25px!important;height:25px!important;display:grid!important;place-items:center!important;border-radius:8px!important;background:rgba(255,255,255,.05)!important}.nav button.active .nav-mark{background:#dff2ff!important;color:#0877c9!important}.side-foot{padding:15px 6px 0!important}.side-foot button{font-size:9px!important;border-radius:8px!important;padding:8px 6px!important}
.main{min-width:0!important;border-radius:26px!important;overflow:clip!important;background:rgba(249,251,252,.72)!important;border:1px solid rgba(255,255,255,.75)!important;box-shadow:0 14px 44px rgba(19,55,79,.035)!important}
.topbar{height:72px!important;padding:0 28px!important;background:rgba(249,251,252,.78)!important;border-bottom:1px solid #dee8ef!important;backdrop-filter:blur(20px) saturate(150%)!important;-webkit-backdrop-filter:blur(20px) saturate(150%)!important}.crumb small{font-size:7.5px!important;color:#8393a1!important}.crumb strong{font-size:14px!important}.outline-btn{height:39px!important;border-radius:12px!important;border-color:#d7e4ec!important;background:#fff!important;color:#466075!important;font-size:9px!important}.avatar{width:40px!important;height:40px!important;background:linear-gradient(145deg,#0a3760,#061b2f)!important;box-shadow:0 9px 20px rgba(7,31,52,.16)!important}
.content{width:min(1320px,calc(100% - 58px))!important;padding:32px 0 58px!important}.view.active{animation:v2Reveal .28s cubic-bezier(.2,.7,.2,1)!important}@keyframes v2Reveal{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}

/* ===== HOME DASHBOARD ===== */
.home-hero{
  padding:32px!important;border-radius:24px!important;margin-bottom:18px!important;
  background:
    radial-gradient(circle at 90% 8%,rgba(111,207,255,.26),transparent 17rem),
    radial-gradient(circle at 74% 110%,rgba(255,153,61,.10),transparent 18rem),
    linear-gradient(135deg,#0879ca 0,#075d9d 56%,#063f6b 100%)!important;
  box-shadow:0 22px 50px rgba(8,87,145,.16)!important
}
.home-hero:after{width:310px!important;height:310px!important;right:-145px!important;top:-170px!important;border-color:rgba(255,255,255,.13)!important;box-shadow:0 0 0 58px rgba(255,255,255,.025)!important}.home-hero h1{font-size:clamp(31px,3.2vw,44px)!important;letter-spacing:-.057em!important}.home-hero p{font-size:11.5px!important;color:rgba(255,255,255,.76)!important}.home-hero small{font-size:8px!important}.home-stats{gap:9px!important}.home-stat{padding:14px!important;border-radius:15px!important;background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.14)!important;backdrop-filter:blur(6px)!important}.home-stat strong{font-size:19px!important}.home-stat span{font-size:7.5px!important}
.quick-grid{gap:12px!important;margin-bottom:18px!important}.quick{border-radius:17px!important;border-color:#dce7ee!important;background:#fff!important;box-shadow:0 5px 18px rgba(19,55,79,.04)!important;min-height:88px!important;padding:15px!important}.quick:hover{transform:translateY(-3px)!important;border-color:#acd4ed!important;box-shadow:0 16px 34px rgba(19,55,79,.09)!important}.quick b{width:32px!important;height:32px!important;border-radius:10px!important;background:#e7f5fe!important;display:grid!important;place-items:center!important;color:#0877c9!important;font-size:14px!important;margin-bottom:11px!important}.quick span{font-size:10px!important}
.quick-grid.enhanced .quick{min-height:132px!important;border-radius:20px!important;box-shadow:0 15px 34px rgba(16,38,56,.11)!important}.quick-grid.enhanced .quick:hover{transform:translateY(-4px)!important}.quick-grid.enhanced .quick span{font-size:10px!important}
.home-grid,.home-stack{gap:18px!important}.panel{border:1px solid #dce7ee!important;border-radius:20px!important;background:#fff!important;box-shadow:0 7px 24px rgba(19,55,79,.045)!important}.panel:hover{box-shadow:0 16px 34px rgba(19,55,79,.075)!important}.panel-head{padding:17px 19px!important;min-height:66px!important}.panel-head h2{letter-spacing:-.025em!important}.focus-block{padding:21px!important}.focus-block small{font-size:8px!important}.focus-block h2{font-size:18px!important;letter-spacing:-.03em!important}.focus-block p{font-size:10.5px!important}.media-slot{min-height:150px!important;background:radial-gradient(circle at 90% 15%,rgba(8,119,201,.10),transparent 12rem),linear-gradient(145deg,#e9f5fd,#f7fafc)!important}.report-row{padding:15px 18px!important}.file-symbol,.report-art{border-radius:12px!important;background:#edf7fd!important;color:#0877c9!important}.row-btn{border-radius:10px!important}.teacher-note{padding:16px 18px!important}.teacher-badge{border-radius:12px!important;background:linear-gradient(145deg,#0877c9,#2aa8ef)!important;color:#fff!important}

/* ===== SECONDARY VIEWS ===== */
.page-head{margin-bottom:24px!important}.page-head h1{font-size:clamp(30px,3vw,41px)!important;letter-spacing:-.055em!important}.page-head p{font-size:11.5px!important}.eyebrow{font-size:9px!important;letter-spacing:.13em!important}.primary{border-radius:12px!important;padding:12px 16px!important;background:linear-gradient(135deg,#0d86d5,#086db7)!important;box-shadow:0 9px 20px rgba(8,111,200,.14)!important}.primary:hover{transform:translateY(-2px)!important;box-shadow:0 14px 28px rgba(8,111,200,.21)!important}
.summary-strip{gap:10px!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important}.summary-strip .metric{border:1px solid #dce7ee!important;border-radius:17px!important;background:#fff!important;padding:18px!important;box-shadow:0 6px 20px rgba(19,55,79,.04)!important}.metric small{font-size:7.5px!important}.metric strong{font-size:21px!important}.metric span{font-size:9px!important}
.table-wrap{overflow:hidden!important}.data-table{border-collapse:separate!important;border-spacing:0!important}.data-table thead th{background:#f4f8fb!important;color:#6b7e90!important;font-size:8px!important;padding:13px 14px!important;border-bottom:1px solid #dce7ee!important}.data-table tbody td{padding:14px!important;border-bottom:1px solid #edf1f4!important;font-size:10px!important}.data-table tbody tr:hover td{background:#f7fbfe!important}.matrix{overflow:hidden!important}.matrix-row{border-bottom-color:#e5edf2!important}.matrix-cell{padding:14px!important}.bar{height:7px!important;border-radius:999px!important;background:#e8eef2!important}.bar i{border-radius:999px!important;background:linear-gradient(90deg,#0877c9,#2aa8ef)!important}
.insight,.quality-aside{border-radius:20px!important;background:linear-gradient(155deg,#071c30,#0b3151)!important;box-shadow:0 18px 42px rgba(6,28,48,.14)!important}.scope-tabs{gap:7px!important;padding:12px!important}.scope-tabs button{border-radius:10px!important;padding:8px 11px!important}.scope-tabs button.active{background:linear-gradient(135deg,#0d86d5,#0870bd)!important}
.analysis-guide{border-radius:17px!important;background:#edf7fd!important;border-color:#d4e9f6!important}.analysis-guide-icon{border-radius:12px!important;box-shadow:0 5px 16px rgba(8,119,201,.08)!important}
.exam-trend{border-radius:20px!important;overflow:hidden!important;box-shadow:0 14px 36px rgba(8,29,49,.12)!important}

/* ===== MOBILE ===== */
@media(max-width:900px){
  .gateway{display:block!important;background:#f2f7fa!important}.gateway-brand{margin:0!important;min-height:380px!important;border-radius:0 0 28px 28px!important;padding:28px 22px 34px!important}.gateway-copy h1{font-size:45px!important;margin:45px 0 17px!important}.gateway-copy p{font-size:12px!important}.brand-foot{display:none!important}.gateway-main{padding:26px 18px 40px!important}.role{min-height:92px!important;grid-template-columns:56px 1fr auto!important;padding:14px!important}.role-icon{width:52px!important;height:52px!important}
  .login-screen{display:block!important;background:#f3f7fa!important}.login-visual{margin:0!important;min-height:220px!important;border-radius:0 0 28px 28px!important;padding:22px!important}.login-portrait{width:165px!important;height:165px!important;right:7px!important;bottom:-6px!important}.login-message{max-width:58%!important;margin-top:38px!important}.login-message h2{font-size:24px!important}.login-main{padding:24px 20px 40px!important}
}
@media(max-width:780px){
  .app{display:block!important;padding:0!important;background:#f0f5f8!important}.main{border:0!important;border-radius:0!important;min-height:100vh!important}.sidebar{height:100vh!important;top:0!important;border-radius:0 24px 24px 0!important;padding:18px 14px!important}.topbar{height:64px!important;padding:0 16px!important;background:rgba(248,251,252,.92)!important}.content{width:calc(100% - 28px)!important;padding:20px 0 98px!important}.home-hero{padding:22px!important;border-radius:20px!important}.home-hero h1{font-size:29px!important}.home-stats{margin-top:18px!important}.quick-grid{grid-template-columns:repeat(2,1fr)!important;gap:9px!important}.quick{min-height:84px!important}.quick-grid.enhanced .quick{min-height:116px!important;border-radius:17px!important}.home-grid{grid-template-columns:1fr!important}.summary-strip{grid-template-columns:repeat(2,1fr)!important}.summary-strip .metric{border-radius:14px!important;padding:14px!important}.page-head h1{font-size:29px!important}.panel{border-radius:17px!important}
  .mobile-dock{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;border:1px solid rgba(210,222,231,.9)!important;border-radius:19px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 18px 44px rgba(16,45,65,.15)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;padding:5px!important;overflow:hidden!important}.mobile-dock button{border-radius:14px!important}.mobile-dock button.active{background:#e9f6fe!important;color:#0877c9!important}.mobile-dock button b{font-size:14px!important}
}
@media(max-width:520px){.gateway-copy h1{font-size:39px!important}.role strong{font-size:14px!important}.role small{font-size:9px!important}.home-stats{grid-template-columns:repeat(3,1fr)!important}.home-stat{padding:10px!important}.home-stat strong{font-size:16px!important}.home-stat span{font-size:6.5px!important}.summary-strip{grid-template-columns:1fr 1fr!important}}
