.student-portal{--font-store-display:var(--font-plus-jakarta-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-store-body:var(--font-plus-jakarta-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans:var(--font-plus-jakarta-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-plus-jakarta-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:var(--font-plus-jakarta-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;background:var(--color-store-paper);min-height:100vh;color:var(--color-store-ink);font-family:var(--font-plus-jakarta-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;flex-direction:column;display:flex}.student-main-content{flex:1;padding-block:36px 64px}.student-hero-banner{background:var(--color-store-white);border:1px solid var(--color-store-line);border-radius:var(--radius-store-card);box-shadow:var(--shadow-store-card);margin-bottom:28px;padding:36px 40px;position:relative;overflow:hidden}.student-hero-banner:after{content:"";background:radial-gradient(circle, var(--color-store-sky) 0%, transparent 70%);opacity:.6;pointer-events:none;width:280px;height:280px;position:absolute;top:-80px;right:-80px}.student-hero-header{z-index:2;flex-direction:column;gap:16px;display:flex;position:relative}@media (min-width:900px){.student-hero-header{flex-direction:row;justify-content:space-between;align-items:center}}.student-hero-lead{color:var(--color-store-muted);max-width:600px;margin-top:8px;font-size:15px;line-height:1.7}.student-hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.student-card{background:var(--color-store-white);border:1px solid var(--color-store-line);border-radius:var(--radius-store-card);box-shadow:var(--shadow-store-card);padding:24px 28px;transition:all .25s cubic-bezier(.16,1,.3,1)}.student-card:hover{border-color:color-mix(in srgb, var(--color-store-blue) 40%, var(--color-store-line));box-shadow:var(--shadow-store-hover)}.student-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:28px;display:grid}.student-kpi-card{background:var(--color-store-white);border:1px solid var(--color-store-line);border-radius:var(--radius-store-card);box-shadow:var(--shadow-store-card);flex-direction:column;justify-content:space-between;padding:22px 24px;transition:all .2s;display:flex}.student-kpi-card:hover{border-color:var(--color-store-blue);box-shadow:var(--shadow-store-hover)}.student-kpi-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.student-kpi-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-store-muted);font-size:12px;font-weight:650;line-height:16px}.student-kpi-icon-box{background:var(--color-store-sky);width:36px;height:36px;color:var(--color-store-blue);border-radius:10px;justify-content:center;align-items:center;display:flex}.student-kpi-value{font-family:var(--font-store-display), sans-serif;letter-spacing:-.04em;color:var(--color-store-ink);font-size:32px;font-weight:750;line-height:1.1}.student-kpi-sub{color:var(--color-store-muted);margin-top:4px;font-size:12px;line-height:16px}.student-live-hero{background:linear-gradient(135deg, #effaf5 0%, var(--color-store-white) 60%);border-radius:var(--radius-store-card);border:1px solid #bbf7d0;flex-direction:column;gap:18px;margin-bottom:28px;padding:24px 28px;display:flex;box-shadow:0 4px 20px #10b98114}@media (min-width:768px){.student-live-hero{flex-direction:row;justify-content:space-between;align-items:center}}.student-progress-track{background:var(--color-store-sky);border-radius:999px;width:100%;height:7px;margin-block:8px;overflow:hidden}.student-progress-fill{background:var(--color-store-blue);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.student-progress-fill.success{background:#10b981}.student-progress-fill.warning{background:#f59e0b}.student-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:4px 12px;font-size:12px;font-weight:650;line-height:16px;display:inline-flex}.student-pill-sky{background:var(--color-store-sky);color:var(--color-store-blue-dark)}.student-pill-mint{background:var(--color-store-mint);color:var(--color-store-green)}.student-pill-apricot{background:var(--color-store-apricot);color:var(--color-store-brown)}.student-pill-lilac{background:var(--color-store-lilac);color:var(--color-store-violet)}.student-pill-sand{background:var(--color-store-sand);color:#854d0e}.student-filter-strip{align-items:center;gap:8px;margin-bottom:22px;padding-bottom:6px;display:flex;overflow-x:auto}.student-filter-btn{min-height:44px;color:var(--color-store-muted);background:var(--color-store-white);border:1px solid var(--color-store-line);cursor:pointer;white-space:nowrap;border-radius:999px;padding:7px 16px;font-size:12px;font-weight:600;line-height:16px;transition:all .15s}.student-filter-btn:hover{color:var(--color-store-ink);border-color:var(--color-store-blue)}.student-filter-btn.active{background:var(--color-store-blue);color:var(--color-store-white);border-color:var(--color-store-blue);box-shadow:0 2px 8px #2458d340}.student-section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.student-section-header h2{color:var(--color-store-ink);letter-spacing:-.03em;font-size:20px;font-weight:700}.today-greeting{flex-direction:column;gap:6px;display:flex}.today-greeting-meta{color:var(--color-store-muted);align-items:center;gap:8px;font-size:13px;font-weight:550;line-height:18px;display:flex}.today-resume-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.today-resume-card{background:var(--color-store-white);border:1px solid var(--color-store-line);border-radius:var(--radius-store-card);box-shadow:var(--shadow-store-card);flex-direction:column;gap:10px;padding:20px;text-decoration:none;transition:box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex}.today-resume-card:hover{border-color:color-mix(in srgb, var(--color-brand) 35%, var(--color-store-line));box-shadow:var(--shadow-store-hover,0 10px 28px #152b451a)}.today-resume-card.is-primary{border-color:color-mix(in srgb, var(--color-brand) 28%, var(--color-store-line));background:linear-gradient(160deg, var(--color-store-white) 55%, var(--color-sky-tint) 130%)}.today-resume-card.is-live{border-color:color-mix(in srgb, var(--color-success) 40%, var(--color-store-line));background:linear-gradient(160deg, var(--color-store-white) 55%, var(--color-mint) 130%)}.today-resume-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--color-brand);align-items:center;gap:6px;font-size:12px;font-weight:700;line-height:16px;display:inline-flex}.today-resume-card.is-live .today-resume-kicker{color:var(--color-success)}.today-resume-title{color:var(--color-store-ink);letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15.5px;font-weight:750;line-height:1.35;display:-webkit-box;overflow:hidden}.today-resume-cta{color:var(--color-brand);align-items:center;gap:5px;margin-top:auto;font-size:13px;font-weight:700;line-height:18px;display:inline-flex}.today-schedule{padding:6px 0}.today-schedule-row{border-bottom:1px solid var(--color-store-line);align-items:center;gap:14px;padding:11px 20px;display:flex}.today-schedule-row:last-child{border-bottom:none}.today-schedule-time{width:74px;color:var(--color-store-ink);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:750;line-height:18px}.today-schedule-info{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.today-schedule-subject{color:var(--color-store-ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.today-schedule-teacher{color:var(--color-store-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.today-schedule-chip{border-radius:999px;flex-shrink:0;align-items:center;min-height:24px;padding:3px 10px;font-size:12px;font-weight:750;line-height:16px;display:inline-flex}.chip-live{background:var(--color-mint);color:var(--color-mint-ink)}.chip-upcoming,.chip-scheduled{background:var(--color-sky-tint);color:var(--color-sky-ink)}.chip-completed{background:var(--color-store-paper);color:var(--color-store-muted)}.today-momentum{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.today-momentum-stat{background:var(--color-store-white);border:1px solid var(--color-store-line);border-radius:var(--radius-store-card);box-shadow:var(--shadow-store-card);flex-direction:column;gap:4px;padding:18px 20px;display:flex}.today-momentum-value{color:var(--color-store-ink);letter-spacing:-.02em;font-size:24px;font-weight:800;line-height:1.1}.today-momentum-label{color:var(--color-store-muted);font-size:12px;font-weight:600;line-height:16px}.test-state-card{background:var(--color-store-white);border:1px solid var(--color-store-line);border-radius:var(--radius-store-card);box-shadow:var(--shadow-store-card);border-left-width:4px;justify-content:space-between;align-items:stretch;gap:14px;padding:16px 16px 16px 18px;display:flex}.tsc-strip-sand{border-left-color:var(--color-sand-ink)}.tsc-strip-brand{border-left-color:var(--color-brand)}.tsc-strip-sky{border-left-color:var(--color-sky-ink)}.tsc-strip-mint{border-left-color:var(--color-mint-ink)}.tsc-strip-line{border-left-color:var(--color-store-line)}.tsc-main{flex-direction:column;gap:4px;min-width:0;display:flex}.tsc-head{align-items:center;gap:7px;display:flex}.tsc-icon{color:var(--color-store-muted);flex-shrink:0}.tsc-title{color:var(--color-store-ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:750;overflow:hidden}.tsc-meta{color:var(--color-store-muted);font-size:12px;font-weight:550;line-height:16px}.tsc-label{margin-top:3px;font-size:12px;font-weight:700;line-height:16px}.tsc-label-available{color:var(--color-brand)}.tsc-label-in_progress{color:var(--color-sky-ink)}.tsc-label-submitted,.tsc-label-evaluated,.tsc-label-evaluated_retake{color:var(--color-mint-ink)}.tsc-label-upcoming{color:var(--color-sand-ink)}.tsc-label-limit_reached,.tsc-label-expired{color:var(--color-store-muted)}.tsc-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.tsc-action-primary{border-radius:var(--radius-store-button);background:var(--color-brand);min-width:44px;min-height:44px;color:var(--color-store-white);white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:9px 16px;font-size:12px;font-weight:750;line-height:16px;text-decoration:none;transition:opacity .15s;display:inline-flex}.tsc-action-primary:hover{opacity:.9}.tsc-action-tertiary{border-radius:var(--radius-store-button);border:1px solid var(--color-store-line);min-width:44px;min-height:44px;color:var(--color-store-ink);white-space:nowrap;justify-content:center;align-items:center;padding:9px 12px;font-size:12px;font-weight:650;line-height:16px;text-decoration:none;display:inline-flex}.student-subnav-strip{background:color-mix(in srgb, var(--color-store-white,#fff) 95%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-store-line,#d9e3ed);top:var(--store-header-height,85px);z-index:25;position:sticky}@media (max-width:768px){.student-subnav-strip{top:var(--store-header-height,69px)}}.student-subnav-container{padding-inline:16px}.student-subnav-inner{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;align-items:center;gap:6px;padding-block:8px;padding-inline:14px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 28px),#0000 100%)}.student-subnav-inner::-webkit-scrollbar{display:none}.student-subnav-pill{min-height:40px;color:var(--color-store-muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:8px 14px;font-size:12.5px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.student-subnav-pill:hover{color:var(--color-store-ink);background:color-mix(in srgb, var(--color-store-paper) 80%, transparent)}.student-subnav-icon{color:currentColor;flex-shrink:0}.student-subnav-label{font-size:12.5px;line-height:1}.student-subnav-badge{background:var(--color-apricot);min-width:20px;height:20px;color:var(--color-apricot-ink);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:800;line-height:16px;display:inline-flex}.student-subnav-pill.is-active .student-subnav-badge{background:var(--color-apricot-ink);color:var(--color-store-white)}.student-subnav-pill.is-active{background:var(--color-sky-tint);color:var(--color-brand);box-shadow:none;border-color:#0000;font-weight:700;position:relative}.student-subnav-pill.is-active .student-subnav-icon{color:var(--color-brand)}.student-subnav-pill.is-active:after{content:"";background:var(--color-brand);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.student-bottom-nav{display:none}@media (max-width:1023px){.student-bottom-nav{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:50;background:color-mix(in srgb, var(--color-store-white,#fff) 94%, transparent);-webkit-backdrop-filter:blur(14px);border:1px solid var(--color-store-line,#d9e3ed);padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));pointer-events:auto;border-radius:22px;grid-auto-columns:1fr;grid-auto-flow:column;align-items:stretch;gap:4px;display:grid;position:fixed;box-shadow:0 8px 32px #152b451f}.student-main-content{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}}.student-bottomnav-item{min-width:44px;min-height:54px;padding:8px 4px calc(6px + env(safe-area-inset-bottom,0px));color:var(--color-store-muted,#5e7084);-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-decoration:none;transition:color .15s,background-color .15s;display:flex;position:relative}.student-bottomnav-item:hover{color:var(--color-store-ink,#152b45)}.student-bottomnav-item.is-active{color:var(--color-brand,#0284c7);background:color-mix(in srgb, var(--color-sky-tint,#dcecf8) 60%, transparent)}.student-bottomnav-item.is-active:after{content:"";background:var(--color-brand,#0284c7);border-radius:999px;width:16px;height:3px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.student-bottomnav-label{letter-spacing:-.01em;font-size:11px;font-weight:650;line-height:1}.student-bottomnav-badge{background:var(--color-apricot,#ffd7b7);min-width:18px;height:18px;color:var(--color-apricot-ink,#7c4c26);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:800;line-height:18px;display:inline-flex;position:absolute;top:4px;right:calc(50% - 20px)}@media (max-width:1100px){.student-hero-banner{padding:28px 30px}}@media (max-width:800px){.student-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.student-kpi-grid{grid-template-columns:1fr}.student-hero-banner{padding:22px 20px}.student-kpi-value{font-size:26px}}
