@font-face{font-family:Pretendard;font-weight:900;font-display:swap;src:local("Pretendard Black"),url(/_next/static/media/Pretendard-Black.4aeaaf12.woff2) format("woff2"),url(/_next/static/media/Pretendard-Black.2fdd7ecc.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:800;font-display:swap;src:local("Pretendard ExtraBold"),url(/_next/static/media/Pretendard-ExtraBold.dd3e76c5.woff2) format("woff2"),url(/_next/static/media/Pretendard-ExtraBold.bf3b77f7.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:700;font-display:swap;src:local("Pretendard Bold"),url(/_next/static/media/Pretendard-Bold.e00e15f4.woff2) format("woff2"),url(/_next/static/media/Pretendard-Bold.2c1ad0e1.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:600;font-display:swap;src:local("Pretendard SemiBold"),url(/_next/static/media/Pretendard-SemiBold.cfa29e4f.woff2) format("woff2"),url(/_next/static/media/Pretendard-SemiBold.a963592c.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:500;font-display:swap;src:local("Pretendard Medium"),url(/_next/static/media/Pretendard-Medium.12f0acdc.woff2) format("woff2"),url(/_next/static/media/Pretendard-Medium.55b46aea.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:local("Pretendard Regular"),url(/_next/static/media/Pretendard-Regular.119cf01b.woff2) format("woff2"),url(/_next/static/media/Pretendard-Regular.78df9e04.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:300;font-display:swap;src:local("Pretendard Light"),url(/_next/static/media/Pretendard-Light.e725ed3d.woff2) format("woff2"),url(/_next/static/media/Pretendard-Light.5e8f67e5.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:200;font-display:swap;src:local("Pretendard ExtraLight"),url(/_next/static/media/Pretendard-ExtraLight.b6885b7a.woff2) format("woff2"),url(/_next/static/media/Pretendard-ExtraLight.4877192c.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:100;font-display:swap;src:local("Pretendard Thin"),url(/_next/static/media/Pretendard-Thin.fc2b22d5.woff2) format("woff2"),url(/_next/static/media/Pretendard-Thin.f17a53aa.woff) format("woff")}:root{color-scheme:light;--bg:#f3edd5;--canvas:#f4f6f8;--panel:#ffffff;--ink:#1e2a38;--muted:#5a6b7c;--line:#d8d1ba;--soft:#e9ecf0;--accent:#d92b2b;--accent-strong:#a61c1c;--blue:#2c3e50;--slate:#8a9aab;--amber:#9a6a15;--code-bg:#1e2a38;--success-bg:#eef3f7;--success-line:#cad6df;--paper:#fbf8ed;--danger-bg:#fff1ee;--danger-line:#efc4b8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-strong)}button,input,select,textarea{font:inherit}button{border:0;border-radius:6px;background:var(--accent);color:white;cursor:pointer;font-weight:700;min-height:42px;padding:.72rem 1rem;white-space:nowrap}button:hover{background:var(--accent-strong)}button:disabled{cursor:wait;opacity:.65}.secondary-button{background:#fff;border:1px solid var(--line);color:var(--blue)}.secondary-button:hover{background:var(--paper)}.danger-button{align-items:center;background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--accent-strong);display:inline-flex;gap:7px}.danger-button:hover{background:#ffe7e1}.app-shell{display:grid;grid-template-columns:276px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#1e2a38,#172231);color:#f7f3e5;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:18px 14px;position:-webkit-sticky;position:sticky;top:0}.brand{align-items:center;display:flex;gap:13px;margin-bottom:22px;padding:10px 8px}.brand-mark{align-items:center;background:#f3edd5;border-radius:8px;display:inline-flex;flex:0 0 auto;height:49px;justify-content:center;overflow:hidden;padding:3px;width:49px}.brand-mark img{display:block;height:100%;object-fit:contain;width:100%}.brand small,.brand strong{display:block}.brand strong{font-size:1.3rem}.brand small{color:#d3d8dd;font-size:.94rem;margin-top:2px}.nav-list{display:grid;grid-gap:5px;gap:5px}.nav-item{align-items:center;border-radius:7px;color:#e5e9ec;display:flex;font-size:1.15rem;gap:10px;padding:11px 10px}.nav-item:hover{background:rgba(217,43,43,.18);color:#fff}.sidebar-footer{align-items:center;border-top:1px solid rgba(233,236,240,.16);color:#d3d8dd;display:flex;gap:9px;font-size:.84rem;margin-top:auto;padding:16px 8px 2px}.login-nav-item{margin-top:8px}.user-summary{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.sidebar .user-summary{background:rgba(244,246,248,.08);border-color:rgba(233,236,240,.16);color:#f7f3e5;margin-top:auto}.student-topbar .user-summary{min-width:260px}.user-summary.compact{gap:8px}.user-summary-main{align-items:center;display:grid;grid-gap:9px;gap:9px;grid-template-columns:auto minmax(0,1fr)}.user-summary-main small,.user-summary-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-summary-main small{color:var(--muted);font-size:.78rem}.sidebar .user-summary-main small{color:#d3d8dd}.user-avatar{background:var(--soft);border-radius:999px;color:var(--blue);height:34px;width:34px}.user-avatar,.user-role-pill{align-items:center;display:inline-flex;font-weight:900;justify-content:center}.user-role-pill{background:#fff6df;border:1px solid #e7c879;border-radius:999px;color:var(--amber);font-size:.78rem;gap:6px;padding:.42rem .62rem}.user-signout-button{background:transparent;border:1px solid var(--line);color:var(--blue);min-height:36px;padding:.52rem .7rem;width:100%}.sidebar .user-signout-button{border-color:rgba(233,236,240,.25);color:#f7f3e5}.user-signout-button:hover{background:var(--soft)}.sidebar .user-signout-button:hover{background:rgba(217,43,43,.18)}.shell-main{min-width:0;padding:28px 24px 42px}.auth-page{display:grid;min-height:100vh;padding:22px;place-items:center}.auth-logo{align-items:center;background:var(--bg);border:1px solid rgba(166,28,28,.14);border-radius:8px;display:inline-flex;height:54px;justify-content:center;padding:8px 12px;width:104px}.auth-logo img{display:block;height:100%;object-fit:contain;width:100%}.student-shell{min-height:100vh}.student-topbar{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);gap:14px;justify-content:space-between;padding:14px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.student-brand,.student-topbar{align-items:center;display:flex}.student-brand{gap:10px}.student-brand small,.student-brand strong{display:block}.student-brand small{color:var(--muted);font-size:.78rem}.student-nav{display:flex;flex-wrap:wrap;gap:8px}.student-nav a{align-items:center;border-bottom:2px solid transparent;color:var(--muted);display:inline-flex;font-size:.72rem;font-weight:800;gap:7px;padding:.62rem .35rem}.student-nav a:hover{border-bottom-color:var(--accent);color:var(--accent-strong)}.student-main{margin:0 auto;max-width:1180px;padding:28px 22px 42px}.student-hero{align-items:flex-end;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:14px}.student-reminder{align-items:center;background:var(--soft);border:1px solid var(--success-line);border-radius:8px;display:flex;gap:10px;margin-bottom:16px;padding:12px}.feedback-detail-grid,.portfolio-grid,.student-dashboard-grid,.student-session-layout,.submission-grid{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(320px,.48fr)}.student-session-list{display:grid;grid-gap:12px;gap:12px}.student-session-card{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.student-session-card h3{margin-top:10px}.student-session-card small{color:var(--muted);display:block;margin-top:8px}.student-reading-text{background:#fff;border:1px solid var(--line);border-radius:8px;font-size:1.04rem;line-height:1.9;padding:22px;white-space:pre-wrap}.student-task-panel{position:-webkit-sticky;position:sticky;top:18px}.task-list{color:var(--muted);display:grid;grid-gap:10px;gap:10px;line-height:1.55;margin:0 0 16px;padding-left:20px}.submission-preview{align-items:center;background:var(--paper);border:1px dashed var(--line);border-radius:8px;display:grid;min-height:300px;overflow:hidden;place-items:center;text-align:center}.submission-preview img{display:block;max-height:460px;max-width:100%;object-fit:contain}.submission-review-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,.85fr) minmax(280px,.7fr)}.submission-review-grid h3{margin:0 0 8px}.submission-review-grid p{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:12px}.student-feedback-card{align-items:start;background:var(--soft);border:1px solid var(--success-line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr);margin-bottom:16px;padding:16px}.student-feedback-card p{color:var(--blue);font-size:1.02rem}.portfolio-list{display:grid;grid-gap:12px;gap:12px}.portfolio-card{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.portfolio-card h3{margin-top:10px}.portfolio-card small{color:var(--muted);display:block;margin-top:8px}.student-feedback-layout,.student-portfolio-layout{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(320px,.42fr)}.student-feedback-main,.student-portfolio-main{display:grid;grid-gap:14px;gap:14px}.portfolio-highlight-card{background:var(--soft);border:1px solid var(--success-line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:18px}.portfolio-highlight-card h3{font-size:1.22rem}.portfolio-highlight-card p{color:var(--blue)}.portfolio-timeline,.portfolio-timeline-card{display:grid;grid-gap:12px;gap:12px}.portfolio-timeline-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto minmax(0,1fr);padding:15px}.portfolio-timeline-marker{align-items:center;background:var(--soft);border-radius:999px;color:var(--accent-strong);display:inline-flex;height:34px;justify-content:center;width:34px}.portfolio-card-heading{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.portfolio-card-heading small{align-items:center;color:var(--muted);display:inline-flex;gap:5px}.portfolio-timeline-card p{margin-bottom:10px}.student-growth-panel{position:-webkit-sticky;position:sticky;top:18px}.student-growth-metrics{display:grid;grid-gap:10px;gap:10px}.student-feedback-score-card,.student-growth-metrics article,.student-growth-note,.student-parent-summary{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.student-growth-metrics article{grid-template-columns:auto minmax(0,1fr)}.student-growth-metrics strong{color:var(--accent-strong);font-size:1.8rem;grid-column:1/-1}.student-growth-metrics span{color:var(--muted);font-weight:800}.student-growth-note{margin-top:12px}.student-feedback-hero-card{align-items:start;background:var(--soft);border:1px solid var(--success-line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr);padding:18px}.student-feedback-hero-card p{color:var(--blue);font-size:1.04rem}.student-feedback-card-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.student-feedback-card-grid article{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.student-feedback-card-grid p,.student-parent-summary p{color:var(--ink);white-space:pre-wrap}.student-feedback-side{display:grid;grid-gap:14px;gap:14px;position:-webkit-sticky;position:sticky;top:18px}.student-feedback-image{align-items:center;background:var(--paper);border:1px dashed var(--line);border-radius:8px;display:grid;min-height:320px;overflow:hidden;place-items:center;text-align:center}.student-feedback-image img{display:block;max-height:480px;max-width:100%;object-fit:contain}.student-feedback-score-card strong{color:var(--accent-strong);font-size:2.2rem}.student-feedback-score-card span{color:var(--muted);font-weight:900}.admin-users-layout{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(300px,.42fr) minmax(0,1fr)}.admin-users-list{position:-webkit-sticky;position:sticky;top:18px}.admin-role-summary{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.admin-role-summary span{background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;font-size:.82rem;font-weight:800;justify-content:space-between;padding:.55rem .7rem}.admin-role-summary strong{color:var(--accent-strong)}.admin-user-detail{min-height:620px}.admin-detail-stack{display:grid;grid-gap:16px;gap:16px}.admin-create-user-form{align-items:flex-end;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.admin-create-user-form .field{margin-bottom:0}.admin-create-user-form button{align-items:center;display:inline-flex;gap:8px;justify-content:center}.admin-account-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.admin-account-actions button{align-items:center;display:inline-flex;gap:8px}.admin-profile-card{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:16px;padding:14px}.admin-profile-card p,.admin-profile-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-profile-note{background:var(--soft);border:1px solid var(--success-line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;margin-top:4px;padding:14px}.parent-link-manager{display:grid;grid-gap:14px;gap:14px}.parent-link-form{align-items:flex-end;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;padding:12px}.parent-link-form .field{margin-bottom:0}.parent-link-form button{align-items:center;display:inline-flex;gap:8px;justify-content:center}.parent-link-list{display:grid;grid-gap:10px;gap:10px}.parent-link-list article{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:13px}.parent-link-main{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr) auto}.parent-link-main p{margin-top:4px}.onboarding-page{align-items:start;padding-top:6vh}.onboarding-shell{max-width:820px}.onboarding-panel{padding:0}.onboarding-form,.onboarding-panel>.panel-heading{padding:18px}.onboarding-form,.onboarding-password-form{border-top:1px solid var(--line)}.onboarding-password-form{display:grid;grid-gap:12px;gap:12px;padding:18px}.onboarding-password-form button{align-items:center;display:inline-flex;gap:8px;justify-content:center;justify-self:start}.reports-layout{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(300px,.38fr) minmax(0,1fr)}.reports-list{position:-webkit-sticky;position:sticky;top:18px}.report-document{display:grid;grid-gap:16px;gap:16px}.report-summary-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.report-summary-grid article{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.report-summary-grid span{color:var(--muted);font-weight:900}.report-summary-grid strong{color:var(--accent-strong);font-size:1.35rem;overflow-wrap:anywhere}.report-section{display:grid;grid-gap:10px;gap:10px}.report-draft{background:#fff;border:1px solid var(--line);color:var(--ink);font-family:Pretendard,Arial,Helvetica,sans-serif;line-height:1.7;max-height:none;min-height:260px}.report-draft-editor{min-height:360px;resize:vertical;width:100%}.compact-filter-grid{margin-bottom:12px}.report-quick-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px}.report-quick-filters button{flex:1 1 104px;min-width:0}.report-axis-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.report-axis-grid article{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:12px}.report-axis-grid span{color:var(--muted);font-size:.84rem;font-weight:900}.report-axis-grid strong{color:var(--accent-strong);font-size:1.4rem}.report-entry-list{display:grid;grid-gap:10px;gap:10px}.report-entry-list article{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.report-entry-list h4{margin:8px 0 0}.report-entry-list p{color:var(--ink)}.report-entry-list small{color:var(--accent-strong);font-weight:800}.groups-layout{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(300px,.4fr) minmax(0,1fr)}.parent-dashboard-layout{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(300px,.38fr) minmax(0,1fr)}.parent-overview-panel{position:-webkit-sticky;position:sticky;top:18px}.parent-metric-grid{display:grid;grid-gap:10px;gap:10px;margin-bottom:16px}.parent-growth-strip article,.parent-metric-grid article{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;padding:13px}.parent-growth-strip svg,.parent-metric-grid svg{color:var(--accent-strong)}.parent-growth-strip span,.parent-metric-grid span{color:var(--muted);font-size:.84rem;font-weight:900}.parent-metric-grid strong{color:var(--accent-strong);font-size:1.65rem}.parent-linked-list{display:grid;grid-gap:9px;gap:9px}.parent-highlight-card{align-items:start;background:var(--soft);border:1px solid var(--success-line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr);margin-bottom:14px;padding:16px}.parent-highlight-card h3{font-size:1.18rem;margin-top:10px}.parent-highlight-card p{color:var(--blue);margin-bottom:12px}.parent-growth-strip{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.parent-growth-strip article{grid-template-columns:auto minmax(0,1fr)}.parent-growth-strip strong{color:var(--accent-strong);font-size:1.2rem;grid-column:1/-1;overflow-wrap:anywhere}.parent-summary-report{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;margin-bottom:14px;padding:14px}.parent-summary-report p{color:var(--ink);white-space:pre-wrap}.groups-list{position:-webkit-sticky;position:sticky;top:18px}.group-detail{display:grid;grid-gap:18px;gap:18px;min-height:620px}.compact-heading{margin-bottom:10px}.group-members-section{border-top:1px solid var(--line);padding-top:16px}.group-add-student{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:12px;padding:10px}.group-add-student select{background:#fff;border:1px solid var(--line);border-radius:6px;min-height:42px;padding:.65rem .75rem}.group-member-list{display:grid;grid-gap:10px;gap:10px}.group-member-list article{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.group-member-list p{margin-top:4px}.feedback-shortcuts{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.quiet-card-link{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:12px}.quiet-card-link span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.review-workspace{display:grid;grid-gap:16px;gap:16px}.enhanced-review-workspace{gap:18px}.review-status-flow{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.review-status-flow span{background:var(--paper);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.82rem;font-weight:900;padding:.55rem .7rem;text-align:center}.review-status-flow span.done{background:var(--soft);border-color:var(--success-line);color:var(--accent-strong)}.review-submission-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(320px,.86fr) minmax(0,1fr)}.review-image-frame{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;min-height:420px;overflow:hidden;place-items:center;text-align:center}.review-image-frame img{display:block;max-height:620px;max-width:100%;object-fit:contain}.review-student-notes{display:grid;grid-gap:12px;gap:12px}.review-student-notes article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}.review-student-notes p{color:var(--ink);white-space:pre-wrap}.review-input-panel textarea{min-height:112px}.review-feedback-panel{display:grid;grid-gap:14px;gap:14px}.publish-button:disabled{cursor:not-allowed}.review-feedback-grid{margin-bottom:0}.review-rubric-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.review-rubric-grid article{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;padding:12px}.review-rubric-grid strong{font-size:.84rem}.review-rubric-grid span{color:var(--accent-strong);font-size:1.22rem;font-weight:900}.review-rubric-grid p{font-size:.84rem}.review-publish-note{margin-bottom:0}.review-json-details pre{max-height:340px}.feedback-draft-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.feedback-draft-grid article{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.feedback-draft-grid p{color:var(--ink)}.auth-panel{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 54px rgba(30,42,56,.12);display:grid;grid-gap:18px;gap:18px;max-width:480px;padding:24px;width:100%}.auth-form,.auth-form-wrap{display:grid;grid-gap:10px;gap:10px}.auth-form button{display:inline-flex}.auth-form button,.auth-support-actions{align-items:center;gap:8px;justify-content:center}.auth-support-actions{display:flex;flex-wrap:wrap}.text-button{background:transparent;border:0;color:var(--accent-strong);font-size:.9rem;min-height:34px;padding:.35rem .45rem}.text-button:hover{background:var(--paper);color:var(--accent-strong)}.auth-permission-note{color:var(--muted);font-size:.84rem;line-height:1.55;text-align:center}.setup-callout{background:#fff6df;border:1px solid #e7c879;border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:13px}.form-message{color:var(--amber);font-size:.9rem}.empty-state{display:grid;grid-gap:8px;gap:8px;min-height:240px;place-content:center;text-align:center}.empty-state strong{font-size:1.2rem}.topbar{align-items:start;display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:22px}.topbar h1{font-size:clamp(1.4rem,2.8vw,2.45rem)}.topbar-copy{max-width:760px}.topbar-actions{gap:10px}.row-actions,.topbar-actions{align-items:center;display:flex}.row-actions{flex-wrap:wrap;gap:8px;justify-content:flex-end}.icon-button,.primary-link,.quiet-link{align-items:center;border-radius:6px;display:inline-flex;font-weight:800;gap:8px;min-height:42px}.primary-link{background:var(--accent);color:#fff;padding:.7rem .95rem}.primary-link:hover{background:var(--accent-strong);color:#fff}.quiet-link{color:var(--accent-strong);font-size:.9rem}.icon-button{background:#fff;border:1px solid var(--line);color:var(--ink);justify-content:center;padding:0;width:42px}.eyebrow,.section-kicker{color:var(--accent-strong);font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1}h1,h2{color:var(--ink)}h2{font-size:1.08rem}h3{color:var(--ink);font-size:1rem;margin-bottom:8px}p{color:var(--muted);line-height:1.55}.status-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.metric-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(30,42,56,.05);display:grid;grid-gap:8px;gap:8px;padding:16px}.metric-card small,.metric-card span{color:var(--muted)}.metric-card strong{font-size:2rem;line-height:1}.metric-card.green{border-top:4px solid var(--accent)}.metric-card.amber{border-top:4px solid var(--amber)}.metric-card.blue{border-top:4px solid var(--blue)}.metric-card.neutral{border-top:4px solid var(--slate)}.dashboard-grid{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);margin-bottom:16px}.status{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.84rem;font-weight:700;padding:.48rem .72rem}.status.done{background:var(--soft);border-color:var(--success-line);color:var(--accent-strong)}.status.review{background:#fff6df;border-color:#e7c879;color:var(--amber)}.workbench{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr)}.workbench-wide{grid-template-columns:minmax(340px,.72fr) minmax(0,1fr)}.workbench button{align-items:center;display:inline-flex;gap:8px;justify-content:center}.workbench-status{background:#fff6df;border:1px solid #e7c879;border-radius:8px;color:var(--amber);font-weight:800;margin-bottom:16px;padding:10px 12px}.stack{display:grid;grid-gap:16px;gap:16px}.panel,.result-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 42px rgba(30,42,56,.07);padding:18px}.result-panel{position:-webkit-sticky;position:sticky;top:18px}.panel-heading{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.flow-list,.queue-list{display:grid;grid-gap:10px;gap:10px}.queue-item{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:13px}.queue-item p{color:#2f3337;margin-top:4px}.queue-item small,.queue-meta small{color:var(--muted)}.queue-meta{align-items:flex-end;display:grid;grid-gap:8px;gap:8px;justify-items:end}.queue-meta small{align-items:center;display:inline-flex;gap:5px}.flow-item{align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto auto minmax(0,1fr);padding:13px}.flow-index{align-items:center;background:var(--soft);border-radius:999px;color:var(--accent-strong);display:inline-flex;font-size:.8rem;font-weight:900;height:24px;justify-content:center;width:24px}.next-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.next-grid.single-column{grid-template-columns:1fr}.next-grid>div{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.next-grid strong{display:block}.repository-grid{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(280px,.42fr) minmax(0,1fr)}.repository-list{position:-webkit-sticky;position:sticky;top:18px}.search-box{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:0 10px}.search-box input{border:0;min-height:42px;outline:0;width:100%}.text-list{display:grid;grid-gap:8px;gap:8px}.text-list-item{align-items:center;background:#fff;border:1px solid var(--line);color:var(--ink);display:flex;gap:10px;justify-content:space-between;padding:12px;text-align:left;white-space:normal}.text-list-item.active,.text-list-item:hover{background:var(--soft);border-color:var(--success-line)}.text-list-item small,.text-list-item strong{display:block}.text-list-item small{color:var(--muted);font-size:.78rem;margin-top:5px}.empty-inline{background:var(--paper);border:1px dashed var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:16px}.repository-detail{min-height:620px}.metadata-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.metadata-grid span{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;gap:6px;font-size:.84rem;font-weight:700;padding:.52rem .7rem}.metadata-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.note-box{align-items:start;background:var(--soft);border:1px solid var(--success-line);border-radius:8px;display:grid;grid-gap:9px;gap:9px;grid-template-columns:auto minmax(0,1fr);margin-bottom:14px;padding:12px}.text-body-preview{background:#fff;border:1px solid var(--line);border-radius:8px;line-height:1.8;margin-bottom:14px;padding:18px;white-space:pre-wrap}.analysis-preview h3{margin-bottom:10px}.analysis-preview pre{min-height:240px}.analysis-readable{display:grid;grid-gap:12px;gap:12px}.analysis-readable article{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.analysis-readable h4{margin:0}.analysis-readable ol,.analysis-readable ul{color:var(--ink);display:grid;grid-gap:7px;gap:7px;line-height:1.55;margin:0;padding-left:18px}.analysis-list{display:grid;grid-gap:8px;gap:8px}.analysis-list p{color:var(--ink)}.analysis-list strong{color:var(--accent-strong);display:inline-block;margin-right:8px}.generated-result-panel{padding-bottom:20px}.workbench-meta{margin-bottom:12px}.generated-text-body{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:1.02rem;line-height:1.9;margin-bottom:14px;max-height:520px;overflow:auto;padding:20px;white-space:pre-wrap}.analysis-summary-grid,.insight-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-summary-grid article,.insight-grid article{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px}.insight-grid ul,.question-list{color:var(--ink);display:grid;grid-gap:7px;gap:7px;line-height:1.55;margin:0;padding-left:18px}.readable-analysis-panel{display:grid;grid-gap:14px;gap:14px}.analysis-section,.paragraph-flow-list{display:grid;grid-gap:10px;gap:10px}.paragraph-flow-list{list-style:none;margin:0;padding:0}.paragraph-flow-list li{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:13px}.paragraph-flow-list p{color:var(--ink);margin-top:5px}.paragraph-flow-list small{color:var(--muted);display:block;margin-top:7px}.relation-list{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.relation-list article{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:13px}.relation-list span{color:var(--accent-strong);font-size:.82rem;font-weight:900}.rubric-strip{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.rubric-strip article{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;padding:12px}.rubric-strip strong{font-size:.82rem;overflow-wrap:anywhere}.rubric-strip span{color:var(--accent-strong);font-size:1.25rem;font-weight:900}.rubric-strip p{font-size:.84rem}.raw-json-details{padding:0}.raw-json-details summary{color:var(--accent-strong);cursor:pointer;font-weight:900;list-style-position:inside;padding:16px 18px}.raw-json-details pre{border-radius:0 0 8px 8px;max-height:360px;min-height:180px}.segmented-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.manual-textarea{min-height:260px}.admin-config-panel{display:grid;grid-gap:14px;gap:14px}.settings-tabs{border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px}.settings-tabs button{background:transparent;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);min-height:36px;padding:.45rem .2rem}.settings-tabs button.active,.settings-tabs button:hover{border-bottom-color:var(--accent);color:var(--accent-strong)}.admin-config-toolbar,.config-option-row{align-items:end;gap:10px}.admin-config-toolbar{display:flex;flex-wrap:wrap;margin:14px 0}.config-option-list{display:grid;grid-gap:8px;gap:8px}.config-option-row{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) auto 42px 42px auto;padding:10px}.config-order{align-items:center;background:var(--soft);border-radius:999px;color:var(--accent-strong);display:inline-flex;font-weight:900;height:28px;justify-content:center;width:28px}.config-option-row input{background:#fff;border:1px solid var(--line);border-radius:6px;min-width:0;padding:.6rem .7rem}.prompt-config-row,.rubric-weight-row{align-items:start}.config-prompt-details{grid-column:2/-1}.config-prompt-details summary{color:var(--accent-strong);cursor:pointer;font-weight:900;padding:4px 0 10px}.config-prompt-input{min-height:288px;width:100%}.rubric-weight-grid{display:grid;grid-gap:10px;gap:10px;grid-column:2/-1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rubric-weight-grid label{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;padding:10px}.rubric-weight-grid span{color:var(--muted);font-size:.82rem;font-weight:900}.delete-confirm-row{background:var(--danger-bg);border:1px solid var(--danger-line);border-radius:8px;margin-bottom:12px;padding:12px}.compact-check{align-items:center;color:var(--muted);display:inline-flex;font-size:.84rem;font-weight:800;gap:6px}.feedback-editor-grid{display:grid;grid-gap:12px;gap:12px}.feedback-editor-grid textarea{min-height:130px}.front-page{align-items:center;background:#121c27;display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(0,1fr) minmax(320px,420px);min-height:100vh;overflow:hidden;padding:28px;position:relative}.front-page:before{background:url(/brand/back-image.png) 50%/cover no-repeat;content:"";filter:brightness(.9);inset:0;position:absolute;z-index:0}.front-hero{max-width:820px;position:relative;z-index:1}.front-logo{align-items:center;background:rgba(243,237,213,.92);border:1px solid rgba(255,255,255,.42);border-radius:8px;box-shadow:0 18px 48px rgba(18,28,39,.18);display:inline-flex;height:88px;margin-bottom:22px;padding:10px 14px;width:148px}.front-logo img{height:100%;object-fit:contain;width:100%}.front-hero h1{color:#fff8e6;font-size:clamp(1.36rem,3.92vw,3.04rem);line-height:1.5;max-width:880px;text-shadow:0 18px 48px rgba(0,0,0,.32)}.front-hero p:not(.eyebrow){color:#f8f1dc;font-size:1.1rem;line-height:1.8;margin-top:20px;max-width:650px;text-shadow:0 10px 30px rgba(0,0,0,.32)}.front-hero .eyebrow{color:#ffe1a3}.front-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.front-login-panel{align-self:center;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(18,28,39,.2);max-width:420px;position:relative;z-index:1}.manual-page{margin:0 auto;max-width:1120px;padding:42px 22px}.manual-hero{display:grid;grid-gap:12px;gap:12px;margin-bottom:22px}.auth-panel h1,.manual-hero h1{font-size:clamp(1.4rem,2.8vw,2.45rem)}.manual-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.manual-list{color:var(--muted);display:grid;grid-gap:9px;gap:9px;line-height:1.65;margin:0;padding-left:20px}.session-builder-grid{align-items:start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,.9fr) minmax(360px,.7fr)}.save-message{background:var(--soft);border:1px solid var(--success-line);border-radius:8px;color:var(--accent-strong);font-weight:700;margin-top:12px;padding:10px 12px}.save-message a{text-decoration:underline}.grid-two{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;grid-gap:7px;gap:7px;margin-bottom:12px}.field label{color:#34363a;font-size:.88rem;font-weight:800}.field input,.field select,.field textarea{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);min-width:0;padding:.72rem .8rem;width:100%}.field textarea{min-height:82px;resize:vertical}.draft-box{background:var(--paper);border:1px solid var(--line);border-radius:8px;max-height:360px;overflow:auto;padding:15px}.draft-box p{color:#33373d}.draft-box p,pre{white-space:pre-wrap}pre{background:var(--code-bg);border-radius:8px;color:#e9eef5;margin:0;min-height:720px;overflow:auto;padding:16px}@media (max-width:1020px){.admin-users-layout,.app-shell,.dashboard-grid,.feedback-detail-grid,.feedback-draft-grid,.front-page,.groups-layout,.parent-dashboard-layout,.portfolio-grid,.reports-layout,.repository-grid,.review-submission-grid,.session-builder-grid,.student-dashboard-grid,.student-feedback-layout,.student-portfolio-layout,.student-session-layout,.submission-grid,.submission-review-grid,.topbar,.workbench{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.analysis-summary-grid,.insight-grid,.metric-grid,.nav-list,.next-grid,.relation-list,.report-axis-grid,.report-summary-grid,.review-rubric-grid,.rubric-strip,.student-feedback-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-users-list,.groups-list,.parent-overview-panel,.reports-list,.repository-list,.result-panel{position:static}.parent-link-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-config-add-form,.config-option-row,.manual-grid{grid-template-columns:1fr}.config-prompt-details,.config-prompt-input,.rubric-weight-grid{grid-column:1/-1}.admin-create-user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.student-feedback-side,.student-growth-panel,.student-task-panel{position:static}}@media (max-width:680px){.shell-main,main{padding:20px 14px 32px}.portfolio-card,.student-hero,.student-session-card,.student-topbar{align-items:stretch;flex-direction:column;grid-template-columns:1fr}.student-topbar{display:grid}.student-topbar .user-summary{min-width:0;width:100%}.student-main{padding:20px 14px 32px}.admin-create-user-form,.analysis-summary-grid,.compact-filter-grid,.grid-two,.insight-grid,.metadata-grid,.metric-grid,.nav-list,.next-grid,.parent-growth-strip,.parent-link-form,.relation-list,.report-axis-grid,.report-summary-grid,.review-rubric-grid,.review-status-flow,.rubric-strip,.student-feedback-card-grid{grid-template-columns:1fr}.panel-heading{align-items:stretch;flex-direction:column}.primary-link,button{width:100%}.queue-item{grid-template-columns:1fr}.queue-meta{align-items:start;justify-items:start}.report-quick-filters{align-items:stretch;flex-direction:column}}@media print{:root{--bg:#ffffff;--panel:#ffffff;--ink:#111111;--muted:#444444;--line:#d0d0d0}body{background:#ffffff}.print-hidden,.sidebar,.student-topbar,.topbar{display:none!important}.app-shell{display:block;min-height:0}.shell-main{padding:0}.reports-layout{display:block}.parent-report-print,.report-document{border:0;border-radius:0;padding:0}.report-document-heading{display:block;margin-bottom:18px}.parent-summary-report,.portfolio-card,.report-axis-grid,.report-axis-grid article,.report-draft,.report-entry-list article,.report-summary-grid,.report-summary-grid article{page-break-inside:avoid;break-inside:avoid}pre{white-space:pre-wrap}}