:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#18213b;background:#f4f6fb;font-synthesis:none;
  --ink:#18213b;--muted:#7c859c;--line:#e5e8f0;--panel:#fff;--soft:#f7f8fc;
  --brand:#4f63a6;--brand2:#6579c4;--brandSoft:#eef1ff;--good:#50aa75;--warn:#d8a43a;--bad:#cd5e69
}
*{box-sizing:border-box}html,body{margin:0;min-width:100%;min-height:100%;background:#f4f6fb}body{overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app-shell{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 16px;z-index:20}
.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 24px}.brand-button{border:0;background:transparent;text-align:left;width:100%}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;font-size:21px;font-weight:800;background:linear-gradient(145deg,#4258a0,#7c8dd1);box-shadow:0 7px 18px rgba(76,96,168,.22)}
.brand-text{display:flex;flex-direction:column}.brand-name{font-size:20px;font-weight:850;letter-spacing:-.5px;white-space:nowrap}.brand-sub{margin-top:1px;color:#8890a6;font-size:11px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}
.sidebar-nav{display:flex;flex-direction:column;gap:5px}.nav-button{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#697187;border-radius:12px;padding:11px 12px;text-align:left;transition:.18s ease}.nav-button:hover{background:#f5f6fb;color:#334470}.nav-button.active{background:var(--brandSoft);color:#3e5191;font-weight:750}.nav-icon{width:24px;font-size:18px;text-align:center}
.sidebar-bottom{margin-top:auto;padding-top:20px}.pro-card{border-radius:16px;padding:15px;background:linear-gradient(145deg,#f1f3ff,#fafaff);border:1px solid #e1e5f5}.pro-card strong{display:block;font-size:13px;margin-bottom:5px}.pro-card p{margin:0;color:#737d96;font-size:12px;line-height:1.45}
.content{width:100%;max-width:1440px;margin:0 auto;padding:28px 32px 46px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.hello h1,.page-title h1{margin:0;font-size:clamp(25px,2vw,31px);letter-spacing:-.75px}.hello p,.page-title p{margin:6px 0 0;color:#838ba0;font-size:14px}.top-actions{display:flex;align-items:center;gap:10px}.icon-button{width:42px;height:42px;border:1px solid #e1e4ec;background:#fff;border-radius:12px;display:grid;place-items:center;color:#657087}.profile-button{border:1px solid #e1e4ec;background:#fff;border-radius:13px;display:flex;align-items:center;gap:10px;padding:7px 11px 7px 7px}.avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#e9edff;color:#475b9c;font-weight:850}.profile-copy{text-align:left;line-height:1.15}.profile-copy strong{display:block;font-size:13px}.profile-copy span{color:#9097a9;font-size:11px}
.panel{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden}.panel-head{min-height:61px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf0f5}.panel-title{display:flex;flex-direction:column;gap:3px}.panel-title strong{font-size:16px}.panel-title span{color:#949bad;font-size:12px}.link-button{border:0;background:transparent;color:#4d629e;font-weight:750;font-size:12px}.section-gap{margin-top:18px}
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.quick-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:16px;text-align:left;display:flex;align-items:flex-start;gap:12px;min-width:0;transition:.18s ease}.quick-card:hover{transform:translateY(-2px);border-color:#cfd6ea;box-shadow:0 8px 26px rgba(29,42,77,.07)}.quick-card.primary{background:linear-gradient(145deg,#475da4,#6378bf);color:#fff;border-color:transparent;box-shadow:0 8px 24px rgba(75,95,169,.18)}.quick-icon{width:38px;min-width:38px;height:38px;border-radius:11px;background:#f0f2fa;color:#5266a3;display:grid;place-items:center;font-size:18px;font-weight:800}.quick-card.primary .quick-icon{background:rgba(255,255,255,.16);color:#fff}.quick-title{display:block;font-weight:800;font-size:14px;margin-bottom:4px}.quick-text{display:block;color:#8a91a4;font-size:12px;line-height:1.35}.quick-card.primary .quick-text{color:rgba(255,255,255,.75)}
.dashboard{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:18px;align-items:start}.right-column,.stack{display:flex;flex-direction:column;gap:18px}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.lesson-list{padding:4px 18px 10px}.lesson-row{display:grid;grid-template-columns:64px 16px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid #eff1f5}.lesson-row:last-child{border-bottom:0}.lesson-time{font-weight:850;font-size:13px;color:#5366a1}.timeline{display:flex;align-items:center;justify-content:center}.timeline-dot{width:9px;height:9px;border-radius:50%;background:#687bc2;box-shadow:0 0 0 4px #eef1ff}.lesson-main{min-width:0}.lesson-top{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.lesson-class{font-size:14px;font-weight:850}.lesson-subject{color:#687287;font-size:12px}.lesson-topic{margin-top:4px;color:#949bac;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pulse{width:7px;height:7px;border-radius:50%}.pulse.good{background:var(--good)}.pulse.partial{background:var(--warn)}.pulse.hard{background:var(--bad)}.lesson-open,.ghost-button{border:1px solid #e2e5ed;background:#fafbfe;color:#546078;border-radius:10px;padding:7px 11px;font-size:12px;font-weight:700}.lesson-open:hover,.ghost-button:hover{background:#f0f3fb}
.next-card{position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#43589b,#6277bc);border-radius:20px;padding:21px;min-height:224px;box-shadow:0 12px 31px rgba(63,82,149,.18)}.next-card::after{content:"";position:absolute;width:170px;height:170px;right:-70px;top:-70px;border-radius:50%;background:rgba(255,255,255,.07)}.next-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.7px;opacity:.68;font-weight:800}.next-title{margin-top:9px;font-size:23px;font-weight:900}.next-time{margin-top:3px;font-size:13px;opacity:.78}.next-detail{margin-top:17px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}.next-detail p{margin:6px 0;font-size:12px;line-height:1.45}.next-action,.primary-button{border:0;background:#fff;color:#42568f;font-weight:850;border-radius:11px;padding:10px 13px}.primary-button{background:linear-gradient(145deg,#4b60a6,#6276bd);color:#fff}.primary-button:hover{filter:brightness(.98)}
.memory-list{padding:13px 17px 17px;display:flex;flex-direction:column;gap:10px}.memory-item{border-radius:13px;background:#f7f8fc;padding:12px 13px}.memory-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}.memory-meta strong{font-size:12px}.memory-meta span{color:#9aa1b1;font-size:10px}.memory-item p{margin:0;color:#687187;font-size:12px;line-height:1.45}.pulse-summary,.ai-tip{padding:17px 19px 20px}.pulse-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pulse-stat{border-radius:13px;padding:13px 12px;background:#f7f8fb}.pulse-stat span{display:block;color:#8e95a7;font-size:11px;margin-bottom:4px}.pulse-stat strong{font-size:19px}.tip-box{display:flex;gap:12px;align-items:flex-start;border-radius:14px;background:#f2f4ff;padding:14px}.tip-icon{width:34px;min-width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff;color:#5064a3;font-weight:850}.tip-box strong{display:block;font-size:12px;margin-bottom:5px}.tip-box p{margin:0;color:#6c7590;font-size:12px;line-height:1.5}
.reflection-panel{margin-top:18px}.reflection-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px}.reflection-copy{display:flex;align-items:flex-start;gap:12px}.reflection-icon{width:34px;min-width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef1ff;color:#4f63a6;font-weight:900}.reflection-copy strong{display:block;font-size:13px;margin-bottom:4px}.reflection-copy p{margin:0;color:#7d869b;font-size:12px;line-height:1.45}.reflection-action{border:1px solid #dfe4f2;background:#fff;color:#465b98;font-weight:800;border-radius:11px;padding:10px 13px;white-space:nowrap}
.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.page-title{min-width:0}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px}.stat-card span{color:#8a92a6;font-size:11px;display:block;margin-bottom:5px}.stat-card strong{font-size:22px}.classes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.class-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:14px;transition:.18s ease}.class-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(33,46,83,.06)}.class-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.class-badge{width:46px;height:46px;border-radius:14px;background:#eef1ff;color:#4d61a0;display:grid;place-items:center;font-weight:850}.class-name{font-size:17px;font-weight:850}.class-meta{color:#8b93a5;font-size:12px;margin-top:3px}.model-badge{font-size:11px;color:#4b60a1;border:1px solid #dfe4f3;background:#f8f9ff;border-radius:999px;padding:5px 8px;white-space:nowrap}.class-copy{display:grid;gap:9px}.class-copy p{margin:0;color:#697388;font-size:12px;line-height:1.5}.class-copy strong{color:#303b57}.class-memory{background:#f6f7fc;border-radius:12px;padding:11px 12px}.class-actions{display:flex;gap:9px;margin-top:auto}.class-actions button{flex:1}
.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:linear-gradient(145deg,#43589b,#667bc3);color:#fff;border-radius:22px;padding:24px;margin-bottom:18px}.detail-hero h2{margin:0 0 6px;font-size:26px}.detail-hero p{margin:4px 0;font-size:13px;opacity:.9}.detail-actions{display:flex;gap:9px;flex-wrap:wrap}.detail-actions .primary-button{background:#fff;color:#435895}.detail-actions .ghost-button{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.28);color:#fff}.two-column{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.curriculum-list{padding:14px 18px 18px}.curriculum-group{border:1px solid #edf0f5;border-radius:14px;overflow:hidden;margin-bottom:12px}.curriculum-group:last-child{margin-bottom:0}.curriculum-head{padding:13px 14px;background:#f8f9fc;display:flex;justify-content:space-between;gap:10px;align-items:center}.curriculum-head strong{font-size:13px}.curriculum-head span{font-size:11px;color:#8c94a7}.outcome{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:12px 14px;border-top:1px solid #eef1f5}.outcome input{margin-top:3px}.outcome-code{font-weight:800;font-size:12px}.outcome-text{color:#6f7890;font-size:12px;line-height:1.45;margin-top:3px}.memory-card{padding:17px}.memory-card .big-memory{background:#f4f6ff;border-radius:14px;padding:14px;color:#59657f;font-size:13px;line-height:1.5}.memory-card .big-memory strong{display:block;color:#26324f;margin-bottom:5px}.small-list{display:grid;gap:9px;margin-top:12px}.small-list div{background:#f8f9fc;border-radius:12px;padding:11px 12px;font-size:12px;color:#687288}
.prep-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.prep-main{display:grid;gap:14px}.prep-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px}.prep-card h3{margin:0 0 12px;font-size:16px}.flow-step{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid #eef1f5}.flow-step:last-child{border-bottom:0}.minute{width:46px;height:46px;border-radius:13px;background:#eef1ff;color:#4d61a1;display:grid;place-items:center;font-weight:850}.flow-step strong{font-size:13px}.flow-step p{margin:4px 0 0;color:#727c92;font-size:12px;line-height:1.45}.bullet-list{margin:0;padding-left:18px;color:#667187;font-size:12px;line-height:1.65}.prep-side{display:grid;gap:14px;align-content:start}.context-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #e0e4f2;background:#f7f8ff;border-radius:999px;padding:6px 9px;color:#4a5e9b;font-size:11px;font-weight:700}
.form-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.form-grid{display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-size:12px;font-weight:750}.field textarea,.field input,.field select{width:100%;border:1px solid #dfe3ed;border-radius:12px;background:#fff;padding:11px 12px;color:#28334f;outline:none}.field textarea{min-height:130px;resize:vertical}.field textarea:focus,.field input:focus,.field select:focus{border-color:#8292c8;box-shadow:0 0 0 3px #eef1ff}.segment{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segment button{border:1px solid #dfe4ed;background:#fff;border-radius:12px;padding:11px 8px;color:#667087;font-weight:700}.segment button.active{background:#eef1ff;color:#405490;border-color:#cfd7f0}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}
.schedule-wrap{overflow:auto}.schedule-table{min-width:780px;width:100%;border-collapse:separate;border-spacing:0}.schedule-table th,.schedule-table td{padding:11px 10px;border-right:1px solid #edf0f5;border-bottom:1px solid #edf0f5;text-align:left;font-size:12px}.schedule-table th{background:#f8f9fc;color:#697287}.schedule-table td:first-child,.schedule-table th:first-child{font-weight:800;color:#4d61a0}.schedule-cell{background:#eef1ff;color:#425793;border-radius:9px;padding:7px 8px;font-weight:700;display:inline-block}.empty-state{padding:42px 22px;text-align:center}.empty-state .empty-icon{width:52px;height:52px;border-radius:16px;background:#eef1ff;color:#4c60a0;display:grid;place-items:center;margin:0 auto 12px;font-size:22px}.empty-state h3{margin:0 0 7px}.empty-state p{margin:0 auto;color:#7c859a;font-size:13px;max-width:480px;line-height:1.55}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;text-align:left}.tool-card span{display:grid;width:38px;height:38px;border-radius:11px;background:#eef1ff;color:#4d61a1;place-items:center;margin-bottom:13px}.tool-card strong{display:block;font-size:14px;margin-bottom:5px}.tool-card p{margin:0;color:#80889d;font-size:12px;line-height:1.45}.tool-card.locked{opacity:.65}.tag{display:inline-block;font-size:10px;font-weight:800;border-radius:999px;padding:4px 7px;background:#f0f2fa;color:#5d6c9e;margin-left:6px}.back-button{border:0;background:transparent;color:#4d619f;font-weight:800;padding:0;margin-bottom:12px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#1f2942;color:#fff;padding:11px 15px;border-radius:12px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.22s ease;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
.mobile-nav{display:none}
@media(max-width:1080px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard{grid-template-columns:minmax(0,1fr) 300px}.stats-grid{grid-template-columns:repeat(2,1fr)}.tool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.app-shell{display:block}.sidebar{display:none}.content{padding:18px 15px 94px}.dashboard,.two-column,.prep-grid{grid-template-columns:1fr}.right-column{display:flex}.quick-grid{grid-template-columns:1fr 1fr}.classes-grid{grid-template-columns:1fr}.detail-hero{grid-template-columns:1fr}.detail-actions{justify-content:flex-start}.mobile-nav{position:fixed;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(5,1fr);z-index:40;padding:7px;border-radius:18px;border:1px solid #dde1eb;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(35,43,70,.14);backdrop-filter:blur(16px)}.mobile-nav button{border:0;background:transparent;color:#7c8498;font-size:10px;padding:6px 3px;display:flex;flex-direction:column;align-items:center;gap:3px}.mobile-nav button.active{color:#415797;font-weight:800}.mobile-nav .m-icon{font-size:17px}.tool-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.content{padding-left:12px;padding-right:12px}.topbar{align-items:flex-start}.hello h1,.page-title h1{font-size:26px;line-height:1.12}.top-actions .icon-button{display:none}.profile-copy{display:none}.profile-button{padding:6px}.quick-grid{gap:10px}.quick-card{min-height:112px;padding:13px;gap:10px;flex-direction:column}.quick-icon{width:34px;min-width:34px;height:34px}.quick-title{font-size:13px}.quick-text{font-size:11px}.dashboard{display:flex;flex-direction:column}.right-column{order:-1}.desktop-next{display:block}.panel-head{padding:15px}.lesson-list{padding:2px 14px 8px}.lesson-row{grid-template-columns:50px 12px minmax(0,1fr) auto;gap:8px;padding:12px 0}.lesson-open{padding:6px 9px}.lesson-topic{white-space:normal;line-height:1.35}.lower-grid{grid-template-columns:1fr}.pulse-bars{grid-template-columns:repeat(3,1fr);gap:7px}.pulse-stat{padding:11px 7px;text-align:center}.pulse-stat span{font-size:10px}.reflection-wrap{align-items:stretch;flex-direction:column}.reflection-action{width:100%}.stats-grid{grid-template-columns:1fr 1fr}.class-actions{flex-direction:column}.tool-grid{grid-template-columns:1fr}.page-head{flex-direction:column}.page-actions{width:100%}.page-actions button{flex:1}.detail-hero h2{font-size:22px}.prep-grid{display:block}.prep-side{margin-top:14px}.segment{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}

/* v0.5 additions */
.credit-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #e0e5f2;background:#f8f9ff;color:#4d619f;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;white-space:nowrap}.done-card{background:linear-gradient(145deg,#42527f,#6f7da8)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-list{padding:8px 18px 16px}.schedule-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f5}.schedule-row:last-child{border-bottom:0}.schedule-time{font-weight:850;color:#50639f}.schedule-row strong{display:block;font-size:13px}.schedule-row span{display:block;margin-top:4px;color:#8a93a7;font-size:11px}.compact{padding:6px 9px!important;font-size:11px!important}.info-banner{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:13px 15px;border:1px solid #dfe5f7;background:#f6f8ff;border-radius:14px;color:#64708c;font-size:12px;line-height:1.5}.info-banner strong{color:#405490;white-space:nowrap}.tool-workspace,.assistant-layout,.library-grid,.profile-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}.tool-form{max-width:none;margin:0}.generated-panel{min-height:360px;padding:20px}.compact-empty{padding:42px 18px}.generated-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}.generated-head h2{font-size:20px;margin:9px 0 0}.generated-actions{display:flex;gap:8px;flex-wrap:wrap}.question-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.question-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;background:#f8f9fc;border-radius:12px;padding:11px 12px}.question-list li span{font-weight:850;color:#4c609f}.question-list p{margin:0;color:#59657e;font-size:12px;line-height:1.5}.answer-key{margin-top:16px;border-top:1px solid #e9edf4;padding-top:14px}.answer-key strong{font-size:12px}.answer-key p{font-size:12px;color:#6e7890;line-height:1.55;margin:5px 0 0}.board-plan{display:grid;grid-template-columns:1fr 1fr;gap:12px}.board-plan div{border:1px solid #e6eaf2;border-radius:14px;padding:14px;background:#fafbfe}.board-plan strong{font-size:12px}.board-plan p{font-size:12px;color:#6d7790;line-height:1.5;margin:6px 0 0}.paywall-card{max-width:650px;padding:34px;text-align:center;margin:0 auto}.paywall-card .empty-icon{margin:0 auto 12px}.paywall-card h2{margin:0 0 8px}.paywall-card p{color:#737d94;font-size:13px;line-height:1.6;max-width:520px;margin:0 auto 18px}.upload-card{overflow:visible}.upload-zone{text-align:center;padding:28px 20px}.upload-zone h3{margin:8px 0}.upload-zone p{max-width:520px;margin:0 auto 15px;color:#79839a;font-size:12px;line-height:1.55}.file-label{display:inline-flex!important;cursor:pointer}.file-label input{display:none}.resource-list,.output-list{display:grid;gap:8px;padding:0 16px 16px}.resource-row,.output-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #edf0f5;background:#fafbfe;border-radius:12px;padding:10px 11px}.resource-row strong,.output-row strong{display:block;font-size:12px}.resource-row small,.output-row small{display:block;color:#9299ab;font-size:10px;margin-top:3px}.output-row{width:100%;text-align:left;cursor:pointer}.output-row>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef1ff;color:#4c60a0}.assistant-segment{grid-template-columns:repeat(3,1fr)}.coach-answer{display:grid;gap:13px}.coach-answer h3{font-size:13px;margin:0 0 4px}.coach-answer p{font-size:12px;color:#667188;line-height:1.6;margin:0}.plan-card{padding:24px}.plan-card h2{margin:14px 0 8px}.plan-card p{font-size:12px;color:#737d94;line-height:1.6}.plan-features{display:grid;gap:8px;margin-top:18px}.plan-features span{font-size:12px;color:#59657d;background:#f7f8fc;border-radius:10px;padding:9px 11px}
@media(max-width:860px){.tool-workspace,.assistant-layout,.library-grid,.profile-grid{grid-template-columns:1fr}.credit-pill{display:none}.generated-panel{min-height:260px}}
@media(max-width:620px){.form-two{grid-template-columns:1fr}.schedule-row{grid-template-columns:56px minmax(0,1fr) auto}.info-banner{flex-direction:column}.board-plan{grid-template-columns:1fr}.generated-head{flex-direction:column}.assistant-segment{grid-template-columns:1fr}}


/* ===== v0.6 okunabilirlik ve premium arayüz makyajı ===== */
body{font-size:16px;line-height:1.5;color:#1c2742}
.sidebar{padding:24px 17px}.brand{padding-bottom:26px}.brand-sub{font-size:12px;line-height:1.35}.nav-button{font-size:15px;min-height:46px;padding:12px 13px}.pro-card{padding:17px}.pro-card strong{font-size:14px}.pro-card p{font-size:13px;line-height:1.55}
.content{padding:30px 34px 54px}.hello p,.page-title p{font-size:15px;line-height:1.5}.profile-button{min-height:46px}.profile-copy strong{font-size:14px}.profile-copy span{font-size:12px}
.credit-pill{font-size:12.5px;padding:9px 12px}.icon-button{min-width:44px;min-height:44px}
.panel{border-radius:20px;box-shadow:0 1px 2px rgba(25,37,69,.02)}.panel-head{min-height:72px;padding:19px 21px}.panel-title{gap:5px}.panel-title strong{font-size:18px;line-height:1.3}.panel-title span{font-size:13.5px;line-height:1.45}.link-button{font-size:13.5px;min-height:40px;padding:8px 6px}
.quick-grid{gap:14px;margin-bottom:22px}.quick-card{padding:18px;gap:14px;min-height:92px;align-items:center}.quick-icon{width:42px;min-width:42px;height:42px}.quick-title{font-size:16px;line-height:1.3;margin-bottom:6px}.quick-text{font-size:13.5px;line-height:1.45}
.lesson-list{padding:7px 20px 12px}.lesson-row{grid-template-columns:68px 18px minmax(0,1fr) auto;gap:13px;padding:16px 0;min-height:72px}.lesson-time{font-size:14.5px}.lesson-class{font-size:16px}.lesson-subject{font-size:13.5px}.lesson-topic{font-size:13.5px;line-height:1.45;margin-top:5px}.lesson-open,.ghost-button{font-size:13.5px;padding:9px 13px;min-height:40px}.primary-button,.next-action,.reflection-action{font-size:14px;min-height:42px;padding:10px 15px}
.next-card{padding:24px;min-height:242px}.next-kicker{font-size:12.5px}.next-title{font-size:25px;line-height:1.25}.next-time{font-size:14px}.next-detail p{font-size:13.5px;line-height:1.55;margin:8px 0}.next-action{margin-top:4px}
.memory-list{padding:15px 19px 19px;gap:12px}.memory-item{padding:15px 16px}.memory-meta{margin-bottom:7px}.memory-meta strong{font-size:14px}.memory-meta span{font-size:12px}.memory-item p{font-size:13.5px;line-height:1.6}
.pulse-summary,.ai-tip{padding:19px 21px 22px}.pulse-stat{padding:15px 13px}.pulse-stat span{font-size:13px;line-height:1.4}.pulse-stat strong{font-size:22px}.tip-box{padding:16px;gap:14px}.tip-box strong{font-size:14px;line-height:1.4;margin-bottom:7px}.tip-box p{font-size:13.5px;line-height:1.6}
.reflection-wrap{padding:19px 21px}.reflection-copy{gap:14px;align-items:center}.reflection-copy strong{font-size:15px}.reflection-copy p{font-size:13.5px;line-height:1.55;margin-top:3px}
.stat-card{padding:18px}.stat-card span{font-size:13px;margin-bottom:7px}.stat-card strong{font-size:24px}.class-card{padding:20px;gap:16px}.class-name{font-size:18px}.class-meta{font-size:13.5px}.model-badge{font-size:12px;padding:6px 9px}.class-copy p{font-size:13.5px;line-height:1.6}.class-memory{padding:13px 14px}
.detail-hero{padding:24px}.detail-hero p{font-size:14px!important;line-height:1.6}.context-chip{font-size:12.5px;padding:7px 10px}.memory-card{padding:20px}.big-memory,.small-list{font-size:13.5px;line-height:1.6}.small-list{gap:10px}
.form-card{padding:24px}.form-grid{gap:18px}.field{gap:8px}.field label{font-size:14px}.field textarea,.field input,.field select{font-size:15px;min-height:46px;padding:12px 13px}.field textarea{min-height:142px}.segment button{font-size:14px;min-height:46px;padding:11px 10px}
.schedule-table th,.schedule-table td{font-size:13.5px;padding:12px}.schedule-cell{font-size:13px;padding:8px 9px}.empty-state p{font-size:14px}.tool-card{padding:20px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-start}.tool-card strong{font-size:16px;line-height:1.35}.tool-card p{font-size:13.5px;line-height:1.55;margin-top:2px}.tag{font-size:11px}.back-button{font-size:14px;min-height:38px}.toast{font-size:13.5px}
.info-banner{font-size:13.5px;line-height:1.6;padding:15px 17px}.generated-panel{padding:22px}.generated-head h2{font-size:22px}.question-list li{padding:13px 14px;gap:10px}.question-list p,.answer-key p,.board-plan p,.coach-answer p,.plan-card p{font-size:13.5px;line-height:1.65}.answer-key strong,.board-plan strong,.coach-answer h3{font-size:14px}.upload-zone{padding:32px 22px}.upload-zone p{font-size:13.5px}.resource-row,.output-row{padding:12px 13px}.resource-row strong,.output-row strong{font-size:13.5px}.resource-row small,.output-row small{font-size:12px}.plan-features span{font-size:13.5px;padding:11px 12px}

/* Görevler */
.task-mini-list{display:grid;gap:0;padding:4px 20px 12px}.task-mini{width:100%;border:0;background:transparent;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;text-align:left;padding:13px 2px;border-bottom:1px solid #eef1f5;color:var(--ink)}.task-mini:last-child{border-bottom:0}.task-mini:hover{background:#fafbfe}.task-check{width:27px;height:27px;border:1px solid #dbe1ef;border-radius:9px;display:grid;place-items:center;color:#5064a2;font-weight:900}.task-mini strong{display:block;font-size:14px;line-height:1.4}.task-mini small{display:block;margin-top:3px;color:#8b94a8;font-size:12px}.empty-inline{padding:18px 20px;color:#7d879d;font-size:13.5px;line-height:1.5}.tasks-layout{display:grid;grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr);gap:18px;align-items:start}.task-form-card{max-width:none;margin:0}.task-list{display:grid;padding:8px 18px 16px}.task-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid #edf0f5}.task-row:last-child{border-bottom:0}.task-toggle{width:34px;height:34px;border-radius:10px;border:1px solid #dce2f0;background:#f9faff;color:#4b60a0;font-size:17px;font-weight:850}.task-row strong{display:block;font-size:14.5px;line-height:1.45}.task-row span{display:block;margin-top:4px;color:#8a93a7;font-size:12.5px}.task-row.done strong{text-decoration:line-through;color:#8a93a7}.done-heading{padding:15px 20px 7px;border-top:1px solid #edf0f5;color:#6d7790;font-size:13px;font-weight:800}.done-list{opacity:.78}

/* Haftalık program */
.section-title{font-size:22px!important}.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.day-panel{overflow:hidden}.day-panel.today-day{border-color:#cfd7f1;box-shadow:0 7px 24px rgba(62,82,149,.07)}.day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;background:#fafbfe;border-bottom:1px solid #edf0f5}.day-head>div{display:flex;align-items:baseline;gap:9px}.day-head strong{font-size:16px}.day-head span{color:#8a93a7;font-size:12.5px}.day-head em{font-style:normal;border-radius:999px;background:#eef1ff;color:#49609f;padding:5px 8px;font-size:11px;font-weight:800}.day-lessons{padding:2px 18px 10px}.schedule-row{padding:15px 0;gap:15px}.schedule-time{font-size:14px}.schedule-row strong{font-size:14px}.schedule-row span{font-size:12.5px;line-height:1.45}

/* Sınıf geçmişi */
.history-list{display:grid;gap:9px}.history-item{position:relative;background:#f8f9fc;border-radius:12px;padding:12px 13px}.history-item>span{display:block;font-size:12.5px;font-weight:750;margin-bottom:5px}.history-item p{margin:0;color:#667188;font-size:13.5px;line-height:1.55;padding-right:48px}.history-item small{position:absolute;right:12px;top:12px;color:#9aa2b4;font-size:11px}

@media(max-width:1000px){.week-grid{grid-template-columns:1fr}.tasks-layout{grid-template-columns:1fr}.task-form-card{max-width:720px;margin:0}}
@media(max-width:860px){.content{padding:20px 15px 104px}.panel-head{min-height:68px}.mobile-nav{padding:8px}.mobile-nav button{font-size:11.5px;min-height:48px}.mobile-nav .m-icon{font-size:18px}.quick-card{min-height:100px}.week-grid{gap:13px}}
@media(max-width:620px){body{font-size:15px}.content{padding-left:13px;padding-right:13px}.hello h1,.page-title h1{font-size:27px}.hello p,.page-title p{font-size:14px}.quick-grid{gap:11px}.quick-card{min-height:126px;padding:15px;gap:11px;align-items:flex-start}.quick-title{font-size:15px}.quick-text{font-size:13px}.panel-head{padding:16px 17px}.panel-title strong{font-size:17px}.panel-title span{font-size:13px}.lesson-list{padding:3px 15px 9px}.lesson-row{grid-template-columns:52px 13px minmax(0,1fr);gap:9px;padding:14px 0}.lesson-time{font-size:14px}.lesson-class{font-size:15px}.lesson-subject,.lesson-topic{font-size:13px}.lesson-open{grid-column:3;justify-self:start;margin-top:3px;min-height:38px}.next-card{padding:22px}.next-title{font-size:24px}.next-detail p{font-size:13.5px}.memory-item p,.tip-box p,.reflection-copy p,.class-copy p{font-size:13.5px}.pulse-stat span{font-size:12px}.task-mini-list{padding-left:16px;padding-right:16px}.task-row{grid-template-columns:36px minmax(0,1fr) auto}.week-grid{grid-template-columns:1fr}.day-head{padding:15px 16px}.day-lessons{padding-left:16px;padding-right:16px}.schedule-row{grid-template-columns:64px minmax(0,1fr) auto}.form-two{grid-template-columns:1fr}.info-banner{flex-direction:column}.info-banner strong{white-space:normal}}


/* ===== v0.7 ürün genişletme ===== */
.notification-button{position:relative}.notification-dot{position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#d65d6a;box-shadow:0 0 0 2px #fff}.notification-page{max-width:920px}.notification-list{display:grid}.notification-row{width:100%;border:0;background:#fff;display:grid;grid-template-columns:42px minmax(0,1fr) 24px;gap:13px;align-items:center;text-align:left;padding:17px 20px;border-bottom:1px solid #eef1f5;color:var(--ink)}.notification-row:last-child{border-bottom:0}.notification-row:hover{background:#fafbfe}.notification-icon{width:38px;height:38px;border-radius:12px;background:#eef1ff;color:#4d62a1;display:grid;place-items:center;font-weight:900}.notification-row strong{display:block;font-size:14.5px;line-height:1.4}.notification-row small{display:block;margin-top:4px;color:#7f899e;font-size:13px;line-height:1.5}.notification-arrow{color:#8c95a8;font-size:18px}
.week-summary{background:linear-gradient(135deg,#fff,#f8f9ff);border:1px solid #e2e6f1;border-radius:18px;padding:17px 19px;margin-bottom:20px;box-shadow:0 6px 18px rgba(53,68,113,.04)}.week-summary-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.week-summary-head>div{display:flex;flex-direction:column;gap:3px}.week-summary-head strong{font-size:16px}.week-summary-head span{font-size:12.5px;color:#8a93a8}.week-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.week-summary-grid>div{background:#fff;border:1px solid #edf0f6;border-radius:13px;padding:12px 13px}.week-summary-grid span{display:block;color:#8a93a8;font-size:12px;line-height:1.35;margin-bottom:4px}.week-summary-grid strong{font-size:20px;color:#34446f}
.profile-section-title{margin-bottom:2px}.data-card{overflow:hidden}.data-actions{display:flex;flex-wrap:wrap;gap:9px;padding:18px 20px}.danger-button{color:#a44652!important;border-color:#eccfd4!important;background:#fffafa!important}.danger-button:hover{background:#fff1f3!important}.sync-status{display:grid;grid-template-columns:13px minmax(0,1fr);gap:11px;align-items:flex-start;margin:0 20px 20px;padding:14px 15px;border-radius:13px;background:#f7f8fc}.status-dot{width:10px;height:10px;border-radius:50%;margin-top:5px}.status-dot.local{background:#d39c37}.sync-status strong{font-size:13.5px}.sync-status p{margin:4px 0 0;color:#6e7890;font-size:12.5px;line-height:1.55}.split-actions{display:grid!important;grid-template-columns:auto 1fr auto auto;align-items:center}
.quick-note-card{margin-bottom:18px}.inline-note-form{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr) auto;gap:10px;padding:16px 18px 18px}.inline-note-form input,.inline-note-form textarea{width:100%;border:1px solid #dfe4ef;border-radius:11px;padding:11px 12px;background:#fff;color:var(--ink);font-size:14px}.inline-note-form textarea{min-height:46px;max-height:120px;resize:vertical}.resource-excerpt{margin:5px 0 0!important;color:#6d7790!important;font-size:12px!important;line-height:1.45!important}

@media(max-width:900px){.week-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-note-form{grid-template-columns:1fr}.split-actions{grid-template-columns:1fr!important}.split-actions span{display:none}}
@media(max-width:620px){.week-summary{padding:15px;margin-bottom:16px}.week-summary-head{align-items:flex-start}.week-summary-grid{grid-template-columns:1fr 1fr}.week-summary-grid>div{padding:11px}.week-summary-grid strong{font-size:18px}.notification-row{grid-template-columns:38px minmax(0,1fr) 20px;padding:15px 14px}.notification-row small{font-size:12.5px}.data-actions{padding:15px}.sync-status{margin:0 15px 15px}.inline-note-form{padding:14px}}


/* ===== v0.8 öğrenci portalı + dinamik karşılama ===== */
.student-preview-button{width:100%;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid #e0e5f1;background:#f8f9fe;border-radius:14px;padding:11px 12px;margin-bottom:10px;color:var(--ink);cursor:pointer}.student-preview-button>span:first-child{width:32px;height:32px;border-radius:10px;background:#eaf0ff;color:#4d63a2;display:grid;place-items:center;font-size:18px}.student-preview-button strong,.student-preview-button small{display:block}.student-preview-button strong{font-size:13px}.student-preview-button small{margin-top:2px;font-size:11px;color:#818ba0;line-height:1.35}
.class-code-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.class-code-line>span{font-size:12px;opacity:.78}.class-code-line>strong{font-size:14px;letter-spacing:.5px;background:rgba(255,255,255,.14);padding:7px 10px;border-radius:10px}.tiny-button{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.1);color:inherit;border-radius:9px;padding:6px 9px;font-size:11px;font-weight:800;cursor:pointer}
.share-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;background:linear-gradient(135deg,#465ca1,#687cc1);color:#fff;border-radius:20px;padding:24px;margin-bottom:18px;box-shadow:0 12px 30px rgba(61,80,145,.14)}.share-kicker{font-size:11px;letter-spacing:.7px;text-transform:uppercase;opacity:.72;font-weight:850}.share-hero h2{margin:6px 0 7px;font-size:24px}.share-hero p{margin:0;line-height:1.6;font-size:13.5px;opacity:.92}.share-code{display:grid;gap:7px;min-width:210px}.share-code>span{font-size:11px;opacity:.7}.share-code>strong{font-size:20px;letter-spacing:.7px}.share-code .ghost-button{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}.share-layout{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:18px;align-items:start}.student-share-list{display:grid;padding:5px 18px 14px}.student-share-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid #edf0f5}.student-share-row:last-child{border-bottom:0}.share-type{display:inline-flex;justify-content:center;align-items:center;background:#eef1ff;color:#4f63a0;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.student-share-row strong{font-size:14px}.student-share-row p{margin:5px 0;color:#667188;font-size:13px;line-height:1.5}.student-share-row small{color:#8e97aa;font-size:11.5px}
.student-portal{max-width:1180px;margin:0 auto;padding-bottom:40px}.student-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.student-brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;color:var(--ink);cursor:pointer;padding:0}.student-brand>span:last-child{display:flex;flex-direction:column;align-items:flex-start}.student-brand strong{font-size:18px}.student-brand small{font-size:11px;color:#8a93a6;text-transform:uppercase;letter-spacing:.6px}.student-welcome{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:linear-gradient(135deg,#314574,#5369ab);color:#fff;border-radius:24px;padding:27px 28px;margin-bottom:14px;box-shadow:0 12px 32px rgba(42,58,105,.18)}.student-eyebrow{display:block;font-size:12px;opacity:.72;text-transform:capitalize}.student-welcome h1{margin:5px 0 6px;font-size:30px;letter-spacing:-.6px}.student-welcome p{margin:0;font-size:14px;line-height:1.55;opacity:.88}.student-stat{min-width:125px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:14px;text-align:center}.student-stat span,.student-stat small{display:block;font-size:11px;opacity:.76}.student-stat strong{display:block;font-size:28px;margin:2px 0}.student-tabs{position:sticky;top:8px;z-index:12;display:flex;gap:7px;overflow:auto;padding:8px;background:rgba(255,255,255,.93);border:1px solid #e1e5ef;border-radius:16px;box-shadow:0 8px 26px rgba(37,49,82,.08);backdrop-filter:blur(12px);margin-bottom:14px}.student-tabs button{border:0;background:transparent;color:#69738a;white-space:nowrap;border-radius:10px;padding:9px 12px;font-weight:750;font-size:12.5px;cursor:pointer}.student-tabs button:hover{background:#f1f3fa;color:#43568f}
.student-ad{min-height:72px;display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;border:1px dashed #d8deea;background:#fafbfd;border-radius:16px;padding:12px 15px;margin:14px 0 18px;color:#677188}.student-ad>span{font-size:9px;font-weight:900;letter-spacing:.8px;background:#eef1f6;color:#8992a5;border-radius:6px;padding:5px 6px}.student-ad strong,.student-ad small{display:block}.student-ad strong{font-size:12px}.student-ad small{margin-top:2px;font-size:10.5px;color:#9aa2b2}.student-section{scroll-margin-top:85px;background:#fff;border:1px solid #e5e8ef;border-radius:20px;padding:21px;margin-bottom:18px}.student-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.student-section-head h2{margin:0 0 3px;font-size:19px}.student-section-head p{margin:0;color:#8790a4;font-size:12.5px}.student-today-list{display:grid;gap:9px}.student-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:center;border:1px solid #edf0f5;background:#fbfcfe;border-radius:15px;padding:13px 14px}.student-item-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf1ff;color:#4a5f9d;font-weight:900}.student-item-type{display:block;color:#69759a;font-size:10.5px;font-weight:850;text-transform:uppercase;letter-spacing:.45px;margin-bottom:2px}.student-item strong{display:block;font-size:14.5px}.student-item p{margin:4px 0;color:#6f798f;font-size:12.5px;line-height:1.45}.student-item small{font-size:11px;color:#9aa2b2}.student-done{border:1px solid #dfe4ef;background:#fff;color:#53659e;border-radius:10px;padding:8px 10px;font-size:11.5px;font-weight:800;cursor:pointer}.student-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.student-card{border:1px solid #e7eaf1;background:#fbfcfe;border-radius:16px;padding:15px}.student-card>span{font-size:10.5px;color:#5c6fa7;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.student-card h3{margin:6px 0 6px;font-size:15px}.student-card p{margin:0;color:#6f798f;font-size:12.5px;line-height:1.5;min-height:38px}.student-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.student-card small{color:#919aab;font-size:11.5px}.student-card button{border:0;background:#edf1ff;color:#4c609e;border-radius:9px;padding:7px 9px;font-weight:800;font-size:11px;cursor:pointer}.student-card.completed{opacity:.65}.student-card.completed h3{text-decoration:line-through}.club-card{background:linear-gradient(135deg,#fffdf7,#fff)}.student-resource-list{display:grid;gap:9px}.student-resource-list article{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;border-bottom:1px solid #eef1f5;padding:12px 3px}.student-resource-list article:last-child{border-bottom:0}.student-resource-list>article>span{color:#5367a0;font-size:11px;font-weight:850}.student-resource-list strong{font-size:14px}.student-resource-list p{margin:4px 0;color:#6f798f;font-size:12.5px;line-height:1.5}.student-resource-list small{color:#929bac;font-size:11px}.student-empty{padding:22px;border-radius:14px;background:#f8f9fc;color:#7b859a;text-align:center;font-size:13px}.student-account-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:16px;align-items:start}.student-safety{border-radius:16px;background:#f2f5ff;padding:17px 18px;color:#526078}.student-safety strong{display:block;font-size:14px;color:#354874;margin-bottom:6px}.student-safety p{margin:7px 0 0;font-size:12.5px;line-height:1.55}
@media(max-width:900px){.share-layout,.student-account-grid{grid-template-columns:1fr}.share-hero{grid-template-columns:1fr}.share-code{min-width:0}.student-card-grid{grid-template-columns:1fr}.student-share-row{grid-template-columns:90px minmax(0,1fr) auto}}
@media(max-width:620px){.student-portal{padding-bottom:80px}.student-topbar{margin-bottom:13px}.student-top-actions .ghost-button{font-size:11px;padding:8px 9px}.student-welcome{grid-template-columns:1fr;padding:22px 18px}.student-welcome h1{font-size:25px}.student-stat{display:flex;align-items:baseline;gap:7px;text-align:left;min-width:0;padding:10px 12px}.student-stat strong{font-size:22px}.student-stat small{display:inline}.student-tabs{top:5px}.student-section{padding:16px 14px;border-radius:17px}.student-item{grid-template-columns:38px minmax(0,1fr);align-items:start;padding:12px}.student-item-icon{width:36px;height:36px}.student-done{grid-column:2;justify-self:start}.student-share-row{grid-template-columns:1fr}.share-type{justify-self:start}.student-ad{min-height:62px}.student-section-head h2{font-size:18px}}

body.student-mode .sidebar,body.student-mode .mobile-nav{display:none!important}body.student-mode .app-shell{display:block!important}body.student-mode .content{max-width:none;padding:22px 24px 48px}.output-row-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px;align-items:center}.output-open{border:0;background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;text-align:left;color:var(--ink);padding:0;cursor:pointer}.output-open strong,.output-open small{display:block}.output-open small{margin-top:3px;color:#8992a6;font-size:12px}@media(max-width:620px){body.student-mode .content{padding:14px 12px 40px}.output-row-actions{grid-template-columns:1fr!important}.output-row-actions>.ghost-button{justify-self:start;margin-left:44px}}

/* v0.9 öğrenci deneyimi + öğretmen paylaşım takibi */
.student-teacher-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.student-teacher-stats>div,.student-mini-dashboard>div{background:#fff;border:1px solid #e5e8ef;border-radius:16px;padding:15px 16px}.student-teacher-stats span,.student-mini-dashboard span{display:block;color:#8a93a6;font-size:12px;margin-bottom:5px}.student-teacher-stats strong,.student-mini-dashboard strong{font-size:23px;color:#273654}.student-follow-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:16px;padding:18px}.student-follow-person{display:flex;align-items:center;gap:12px;background:#f8f9fc;border:1px solid #edf0f5;border-radius:14px;padding:14px}.student-follow-person strong,.student-follow-person small{display:block}.student-follow-person small{margin-top:4px;color:#8490a5;font-size:12px}.student-follow-note{background:#f3f5ff;border-radius:14px;padding:14px 15px}.student-follow-note strong{font-size:13px;color:#3f5188}.student-follow-note p{margin:5px 0 0;color:#6f7890;font-size:12.5px;line-height:1.55}.student-no-ai{font-size:11px;font-weight:800;color:#67738e;background:#f3f5fa;border:1px solid #e5e8f0;border-radius:999px;padding:7px 10px}.student-section-count{font-size:11.5px;font-weight:850;color:#52649d;background:#eef2ff;border-radius:999px;padding:7px 10px;white-space:nowrap}.student-mini-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.student-done-list{display:grid;gap:8px}.done-history-row{width:100%;border:1px solid #edf0f5;background:#fbfcfe;border-radius:13px;padding:12px 13px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;color:#28344e;cursor:pointer}.done-history-row>span:first-child{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eaf7ef;color:#39865c;font-weight:900}.done-history-row strong,.done-history-row small{display:block}.done-history-row small{margin-top:3px;color:#8992a5;font-size:11.5px}.done-history-row em{font-style:normal;color:#5f70a4;font-size:11px;font-weight:750}.student-ad{border-style:solid;background:linear-gradient(180deg,#fcfcfe,#f8f9fc);box-shadow:0 4px 18px rgba(39,49,80,.035)}.student-ad>span{background:#f0f2f6}.student-ad strong{font-size:12.5px}.student-ad small{font-size:11px;line-height:1.4}
@media(max-width:900px){.student-teacher-stats,.student-mini-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.student-follow-grid{grid-template-columns:1fr}}
@media(max-width:620px){.student-top-actions{gap:7px}.student-no-ai{display:none}.student-teacher-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-teacher-stats>div,.student-mini-dashboard>div{padding:12px}.student-mini-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-section-count{display:none}.done-history-row{grid-template-columns:28px minmax(0,1fr)}.done-history-row em{grid-column:2}.student-ad strong{font-size:12px}}

/* ===== v1.0 gerçek hesap + Supabase bulut bağlantısı ===== */
body.auth-mode{background:linear-gradient(135deg,#f4f6fb,#eef2ff);min-height:100vh}body.auth-mode .sidebar,body.auth-mode .mobile-nav{display:none!important}body.auth-mode .app-shell{display:block!important}body.auth-mode .content{max-width:none;padding:0!important}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,470px);background:#fff;border:1px solid #e3e7f0;border-radius:24px;padding:28px;box-shadow:0 24px 70px rgba(40,55,95,.14)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-brand>div{display:flex;flex-direction:column}.auth-brand strong{font-size:20px}.auth-brand small{font-size:11.5px;color:#8992a6;margin-top:2px}.auth-copy h1{margin:0 0 8px;font-size:26px;letter-spacing:-.5px}.auth-copy p{margin:0;color:#727c92;line-height:1.55;font-size:13.5px}.auth-message{margin:16px 0 0;border-radius:12px;background:#f0f4ff;color:#425a99;padding:12px 13px;font-size:12.5px;line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f4f6fa;padding:5px;border-radius:13px;margin:20px 0 16px}.auth-tabs button{border:0;background:transparent;border-radius:10px;padding:9px;color:#768096;font-weight:800;cursor:pointer}.auth-tabs button.active{background:#fff;color:#3f5391;box-shadow:0 2px 9px rgba(42,54,88,.08)}.auth-form{display:grid;gap:13px}.auth-form.hidden{display:none}.auth-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#526078}.auth-form input,.auth-form select{width:100%;min-height:46px;border:1px solid #dfe4ed;border-radius:11px;padding:10px 12px;background:#fff;color:#1e2940;font:inherit}.auth-form input:focus,.auth-form select:focus{outline:3px solid #e8edff;border-color:#9cabe0}.auth-help{color:#8a93a6;line-height:1.5}.auth-foot{margin-top:18px;padding-top:15px;border-top:1px solid #edf0f5;color:#949bad;font-size:11px;line-height:1.5}.cloud-pill{display:inline-flex;align-items:center;min-height:32px;border:1px solid #dce4ef;background:#f5f9ff;color:#476496;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;white-space:nowrap}.logout-button{border:1px solid #e1e5ed;background:#fff;color:#69748a;border-radius:10px;padding:8px 10px;font-size:11.5px;font-weight:800;cursor:pointer}.logout-button:hover{background:#f8f9fc;color:#394b7b}.status-dot.cloud{background:#55a778;box-shadow:0 0 0 4px #eaf6ef}
@media(max-width:620px){.auth-shell{padding:13px}.auth-card{padding:20px 17px;border-radius:19px}.auth-copy h1{font-size:23px}.cloud-pill{display:none}.logout-button{padding:8px}.top-actions .logout-button{display:none}}


/* ===== v1.1 okunabilirlik + kayıt güvenliği makyajı ===== */
body{font-size:16px;line-height:1.5}.nav-button{font-size:15px;padding:12px 13px}.brand-sub{font-size:12px}.pro-card strong{font-size:14px}.pro-card p{font-size:13.5px;line-height:1.55}.hello p,.page-title p{font-size:15px;color:#707b93}.profile-copy strong{font-size:14px}.profile-copy span{font-size:12.5px}.panel-head{padding:19px 21px}.panel-title strong{font-size:17px}.panel-title span{font-size:13.5px;line-height:1.45}.link-button{font-size:13px}.quick-card{padding:18px;min-height:86px}.quick-title{font-size:15.5px}.quick-text{font-size:13.5px;line-height:1.45}.lesson-row{padding:16px 0}.lesson-time{font-size:14px}.lesson-class{font-size:15.5px}.lesson-subject{font-size:13.5px}.lesson-topic{font-size:13.5px;line-height:1.45}.lesson-open,.ghost-button{font-size:13px;padding:9px 13px}.next-card{padding:23px}.next-kicker{font-size:12px}.next-time{font-size:14px}.next-detail p{font-size:13.5px;line-height:1.55}.next-action,.primary-button{font-size:14px;padding:11px 15px;min-height:42px}.memory-item{padding:14px 15px}.memory-meta strong{font-size:13.5px}.memory-meta span{font-size:11.5px}.memory-item p{font-size:13.5px;line-height:1.55}.pulse-stat{padding:15px}.pulse-stat span{font-size:12.5px}.tip-box{padding:16px}.tip-box strong{font-size:13.5px}.tip-box p{font-size:13.5px;line-height:1.55}.reflection-wrap{padding:19px 21px}.reflection-copy strong{font-size:14px}.reflection-copy p{font-size:13.5px;line-height:1.55}.stat-card{padding:17px}.stat-card span{font-size:12.5px}.class-card{padding:20px}.class-meta,.class-copy p{font-size:13.5px}.model-badge{font-size:12px;padding:6px 9px}.form-card{padding:25px}.field{gap:8px}.field label{font-size:13.5px}.field textarea,.field input,.field select{padding:12px 13px;min-height:46px;font-size:15px}.segment button{font-size:13.5px;min-height:44px}.student-section{padding:23px}.student-section-head h2{font-size:20px}.student-section-head p{font-size:13.5px}.student-item strong{font-size:15.5px}.student-item p{font-size:13.5px;line-height:1.55}.student-item small{font-size:12px}.student-card{padding:17px}.student-card h3{font-size:16px}.student-card p{font-size:13.5px}.student-resource-list strong{font-size:15px}.student-resource-list p{font-size:13.5px}.share-hero{padding:26px}.share-hero p{font-size:14px}.student-share-row strong{font-size:15px}.student-share-row p{font-size:13.5px}.student-share-row small{font-size:12px}

.auth-card{width:min(100%,510px);padding:32px;border-radius:26px}.auth-brand{margin-bottom:26px}.auth-brand strong{font-size:22px}.auth-brand small{font-size:13px}.auth-copy h1{font-size:29px;line-height:1.18;margin-bottom:10px}.auth-copy p{font-size:14.5px;line-height:1.6}.auth-message{font-size:13.5px;padding:13px 14px}.auth-tabs{margin:22px 0 18px}.auth-tabs button{font-size:14px;padding:10px}.auth-form{gap:15px}.auth-form label{font-size:13.5px;gap:7px}.auth-form input,.auth-form select{min-height:50px;border-radius:12px;padding:11px 13px;font-size:15px}.auth-submit{width:100%;min-height:48px;font-size:15px}.auth-help{font-size:13px}.auth-foot{font-size:12.5px;line-height:1.6}.auth-foot strong{color:#5a6680}.password-field{position:relative;display:grid}.password-field input{padding-right:72px}.password-field button{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:#eef2ff;color:#475d9d;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800}.password-field button:hover{background:#e3e9ff}.password-rules{display:flex;gap:7px;flex-wrap:wrap;margin-top:-5px}.password-rules span{font-size:11.5px;color:#8992a6;background:#f6f7fa;border:1px solid #ebedf2;border-radius:999px;padding:5px 8px}.password-rules span.ok{color:#2f7d54;background:#eef9f2;border-color:#d7efdf}.password-match{margin-top:-6px;font-size:12px;color:#8a93a6}.password-match.ok{color:#2f7d54;font-weight:750}.password-match.bad{color:#b54853;font-weight:750}.form-error{border-radius:11px;background:#fff1f2;border:1px solid #f4d3d7;color:#9e3440;padding:11px 12px;font-size:13px;line-height:1.45}

@media(max-width:620px){body{font-size:15px}.content{padding-left:14px;padding-right:14px}.quick-card{padding:15px;min-height:112px}.quick-title{font-size:14.5px}.quick-text{font-size:12.8px}.lesson-subject,.lesson-topic{font-size:13px}.panel-head{padding:16px}.panel-title strong{font-size:16px}.panel-title span{font-size:12.8px}.auth-card{padding:23px 19px}.auth-brand strong{font-size:20px}.auth-brand small{font-size:12px}.auth-copy h1{font-size:25px}.auth-copy p{font-size:13.8px}.auth-form label{font-size:13px}.auth-form input,.auth-form select{font-size:16px}.password-rules{gap:5px}.password-rules span{font-size:10.8px}.student-section{padding:18px 15px}}

/* ===== v1.2 authentication polish ===== */
body.auth-mode{background:radial-gradient(circle at 15% 10%,#f8faff 0,#f4f7ff 30%,#eef2fb 72%,#edf1f8 100%)}
.auth-shell{padding:34px 20px}
.auth-card{width:min(100%,560px);padding:36px 38px;border-radius:30px;border-color:#dfe5f0;box-shadow:0 30px 90px rgba(42,58,103,.16)}
.auth-brand{gap:14px;margin-bottom:30px}.auth-brand .brand-mark{width:52px;height:52px;border-radius:16px;font-size:23px}.auth-brand strong{font-size:25px;letter-spacing:-.35px}.auth-brand small{font-size:14px;line-height:1.45;color:#7d879b}
.auth-copy{margin-bottom:4px}.auth-copy h1{font-size:34px;line-height:1.12;letter-spacing:-1px;color:#111b35;margin:0 0 12px}.auth-copy p{font-size:16px;line-height:1.65;color:#6d7890;max-width:46ch}
.auth-message{margin-top:18px;border:1px solid #d9e4ff;background:linear-gradient(135deg,#f2f6ff,#eef3ff);color:#36558f;padding:15px 16px;border-radius:15px;font-size:14.5px;line-height:1.6;font-weight:550}
.google-auth-wrap{margin-top:22px}.google-auth-wrap.hidden{display:none}.google-auth-button{width:100%;min-height:58px;display:flex;align-items:center;justify-content:center;gap:13px;border:1px solid #dce2ec;background:#fff;border-radius:15px;padding:10px 16px;cursor:pointer;color:#1d2a44;box-shadow:0 3px 12px rgba(37,51,85,.05);transition:.18s ease}.google-auth-button:hover{border-color:#bbc7da;box-shadow:0 8px 22px rgba(37,51,85,.09);transform:translateY(-1px)}.google-auth-button:disabled{opacity:.6;cursor:wait}.google-auth-button svg{width:24px;height:24px;flex:0 0 auto}.google-auth-button span{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.google-auth-button strong{font-size:15.5px;line-height:1.2}.google-auth-button small{font-size:12.5px;color:#7e8798;margin-top:2px}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 4px;color:#98a1b2;font-size:12px;font-weight:700}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e8ebf1;flex:1}
.auth-tabs{margin:18px 0 20px;padding:6px;border-radius:15px}.auth-tabs button{font-size:15px;padding:11px 10px}
.auth-form{gap:17px}.auth-form label{font-size:14.5px;line-height:1.3;font-weight:750;color:#47556e}.auth-form input,.auth-form select{min-height:54px;border-radius:14px;padding:12px 14px;font-size:16px;font-weight:560;color:#142038;background:#fff}.auth-form input::placeholder{color:#a3aabc;font-weight:500}.auth-form input:focus,.auth-form select:focus{outline:4px solid #edf1ff;border-color:#8296d7;box-shadow:0 0 0 1px #8296d7}.password-field input{padding-right:82px}.password-field button{right:8px;padding:8px 11px;font-size:12.5px;border-radius:9px}
.password-rules{gap:8px;margin-top:-7px}.password-rules span{font-size:12.2px;padding:6px 9px}.password-match{font-size:13px;margin-top:-7px}.auth-help{font-size:14px;line-height:1.6;color:#7b8598}.auth-submit{min-height:54px;border-radius:14px;font-size:16px}.text-link{border:0;background:transparent;color:#4862a2;font:inherit;font-size:13.5px;font-weight:800;padding:4px 0;cursor:pointer}.text-link:hover{text-decoration:underline}.auth-forgot{justify-self:end;margin-top:-8px}
.auth-foot{display:flex;flex-direction:column;gap:3px;margin-top:22px;padding-top:18px;font-size:13.2px;line-height:1.55}.auth-foot strong{color:#47556f}.auth-foot span{color:#8c95a7}.student-oauth-note{border:1px solid #e1e6ef;background:#f7f9fc;color:#6e788c;padding:10px 12px;border-radius:12px;font-size:12.8px;line-height:1.5}.student-oauth-note.hidden{display:none}
.form-error{border-radius:13px;padding:13px 14px;font-size:14px;line-height:1.55}
.state-kicker{display:inline-block;color:#536cb0;font-size:11.5px;font-weight:900;letter-spacing:.8px;margin-bottom:9px}.auth-card-state .auth-copy{margin-bottom:22px}.auth-state-form{margin-top:18px}
.verification-card{text-align:center}.verification-card .auth-brand{text-align:left}.verification-icon{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;margin:4px auto 18px;background:linear-gradient(145deg,#eef3ff,#e7eeff);color:#5069ad;font-size:34px;box-shadow:inset 0 0 0 1px #dce5ff}.verification-copy h1{font-size:32px;line-height:1.12;letter-spacing:-.8px;margin:0 0 12px;color:#101b34}.verification-copy p{font-size:15.5px;line-height:1.65;color:#65718a;margin:0 auto;max-width:48ch}.verification-copy p strong{color:#263654}.verification-steps{display:grid;gap:10px;margin:24px 0;text-align:left}.verification-steps>div{display:flex;gap:12px;align-items:flex-start;border:1px solid #e5e9f1;background:#fafbfe;border-radius:14px;padding:13px 14px}.verification-steps>div>span{width:28px;height:28px;min-width:28px;border-radius:9px;display:grid;place-items:center;background:#e9efff;color:#4561a5;font-size:13px;font-weight:900}.verification-steps p{margin:0;display:flex;flex-direction:column;gap:2px}.verification-steps strong{font-size:14px;color:#26344d}.verification-steps small{font-size:12.5px;line-height:1.5;color:#7c879a}.verification-actions{display:grid;gap:10px}.mail-open-button{text-decoration:none;display:flex;align-items:center;justify-content:center}.verification-actions .ghost-button{min-height:48px;border-radius:13px;font-size:13.5px;font-weight:800}.verification-tip{margin-top:18px;padding:13px 14px;border-radius:13px;background:#fff9e9;border:1px solid #f2e4b7;color:#77652c;font-size:12.8px;line-height:1.55;text-align:left}.verification-tip strong{color:#574916}
@media(max-width:620px){.auth-shell{padding:14px}.auth-card{padding:26px 20px;border-radius:22px}.auth-brand{margin-bottom:24px}.auth-brand .brand-mark{width:46px;height:46px}.auth-brand strong{font-size:22px}.auth-brand small{font-size:12.5px}.auth-copy h1{font-size:28px}.auth-copy p{font-size:14.3px}.google-auth-button{min-height:56px}.google-auth-button strong{font-size:14.5px}.google-auth-button small{font-size:11.8px}.auth-form label{font-size:13.5px}.auth-form input,.auth-form select{font-size:16px}.password-rules span{font-size:11.5px}.verification-copy h1{font-size:27px}.verification-copy p{font-size:14px}.verification-icon{width:68px;height:68px;border-radius:20px;font-size:30px}}


/* ===== v1.2.1 brand system ===== */
.brand-icon-img{width:44px;height:44px;flex:0 0 44px;border-radius:13px;object-fit:cover;box-shadow:0 8px 20px rgba(49,85,189,.16)}
.auth-brand-icon{width:54px;height:54px;flex:0 0 54px;border-radius:17px;object-fit:cover;box-shadow:0 10px 28px rgba(49,85,189,.16)}
.student-brand-icon{width:38px;height:38px;flex-basis:38px;border-radius:12px}
.auth-legal-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:9px}.auth-legal-links a{color:#6071a5;text-decoration:none;font-size:12px;font-weight:750}.auth-legal-links a:hover{text-decoration:underline}
@media(max-width:620px){.brand-icon-img{width:40px;height:40px;flex-basis:40px}.auth-brand-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px}.auth-legal-links{gap:7px 11px}.auth-legal-links a{font-size:11.5px}}

/* ===== v1.2.2 PREMIUM UI SYSTEM =====
   Okulum AI design tokens: clear hierarchy, calm premium surfaces,
   restrained blue/cyan/violet accents, consistent radius/shadows. */
:root{
  --ink:#12203b;--ink-2:#263650;--muted:#6f7b93;--muted-2:#8a94a8;
  --line:#dfe6f1;--line-strong:#cfd9e8;--panel:rgba(255,255,255,.92);--soft:#f5f8ff;
  --brand:#2563eb;--brand2:#7c3aed;--cyan:#13c5f5;--brandSoft:#eef4ff;
  --good:#22a66f;--warn:#e0a22f;--bad:#d95a6a;
  --shadow-xs:0 2px 10px rgba(26,46,89,.04);
  --shadow-sm:0 8px 24px rgba(26,46,89,.07);
  --shadow-md:0 16px 44px rgba(26,46,89,.10);
  --shadow-lg:0 28px 80px rgba(22,39,88,.14);
  --radius-sm:12px;--radius-md:18px;--radius-lg:24px;--radius-xl:30px;
  --brand-gradient:linear-gradient(135deg,#13c5f5 0%,#2563eb 48%,#7c3aed 100%);
  --brand-gradient-deep:linear-gradient(140deg,#132a64 0%,#2046a7 50%,#6d36d7 100%);
}
html,body{background:#f5f7fc;color:var(--ink)}
body{
  background:
    radial-gradient(circle at 18% 3%,rgba(19,197,245,.10),transparent 24%),
    radial-gradient(circle at 89% 4%,rgba(124,58,237,.09),transparent 27%),
    linear-gradient(180deg,#f8faff 0%,#f4f7fc 52%,#f7f9fc 100%);
  font-size:15px;
}
::selection{background:#dce8ff;color:#11234d}
button,a,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,transform .18s ease,filter .18s ease}

/* shell & navigation */
.app-shell{grid-template-columns:248px minmax(0,1fr)}
.sidebar{
  border-right:0;
  padding:22px 16px;
  background:
    radial-gradient(circle at 15% 2%,rgba(19,197,245,.22),transparent 23%),
    radial-gradient(circle at 92% 88%,rgba(124,58,237,.20),transparent 30%),
    linear-gradient(180deg,#0d1837 0%,#10224e 54%,#161b42 100%);
  box-shadow:14px 0 38px rgba(24,40,82,.08);
}
.brand{padding:2px 8px 25px;color:#fff}.brand-button:hover{transform:translateY(-1px)}
.brand-icon-img{width:46px;height:46px;flex-basis:46px;border-radius:15px;box-shadow:0 12px 30px rgba(47,108,255,.32),0 0 0 1px rgba(255,255,255,.10)}
.brand-name{font-size:20px;color:#fff;font-weight:900;letter-spacing:-.55px}.brand-sub{color:rgba(225,234,255,.62);font-size:10.5px;letter-spacing:.72px}
.sidebar-nav{gap:6px}.nav-button{position:relative;color:rgba(222,231,252,.72);padding:12px 13px;border-radius:14px;font-size:13.5px;font-weight:650}
.nav-button:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}
.nav-button.active{background:linear-gradient(100deg,rgba(255,255,255,.17),rgba(255,255,255,.09));color:#fff;font-weight:850;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 8px 22px rgba(0,0,0,.08)}
.nav-button.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:linear-gradient(180deg,#67e8f9,#8b5cf6);box-shadow:0 0 14px rgba(103,232,249,.55)}
.nav-icon{color:rgba(226,236,255,.88);font-size:17px}
.sidebar-bottom{padding-top:18px}.student-preview-button{border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.07)!important;color:#fff!important;box-shadow:none!important}
.student-preview-button:hover{background:rgba(255,255,255,.12)!important;transform:translateY(-1px)}.student-preview-button small{color:rgba(225,233,255,.60)!important}
.pro-card{border:1px solid rgba(255,255,255,.11);background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.055));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);color:#fff}
.pro-card p{color:rgba(224,233,255,.63)}

/* content, top bar, surfaces */
.content{max-width:1500px;padding:32px 38px 58px}
.topbar{margin-bottom:26px}.hello h1,.page-title h1{font-size:clamp(28px,2.25vw,35px);font-weight:900;letter-spacing:-1.05px;color:#10203d}.hello p,.page-title p{margin-top:8px;color:#758199;font-size:14.5px}
.icon-button,.profile-button{border:1px solid rgba(208,218,234,.88);background:rgba(255,255,255,.84);box-shadow:var(--shadow-xs);backdrop-filter:blur(14px)}
.icon-button:hover,.profile-button:hover{border-color:#b9c8df;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.avatar{background:linear-gradient(145deg,#e9f4ff,#eee8ff);color:#315cc8;border:1px solid #dbe5ff}.profile-copy strong{color:#253551}.profile-copy span{color:#8490a6}
.panel,.stat-card,.class-card,.tool-card{border:1px solid rgba(216,225,238,.92);background:rgba(255,255,255,.90);box-shadow:var(--shadow-xs);backdrop-filter:blur(12px)}
.panel{border-radius:24px}.panel:hover{border-color:#d3ddec}.panel-head{min-height:68px;padding:19px 21px;border-bottom:1px solid #edf1f6}.panel-title strong{font-size:16.5px;color:#1b2b49}.panel-title span{font-size:12.5px;color:#8a95a8}.link-button{color:#315fc7;font-weight:850}.link-button:hover{color:#6a3cdb}
.section-gap{margin-top:20px}

/* quick actions */
.quick-grid{gap:14px;margin-bottom:22px}.quick-card{min-height:98px;border:1px solid rgba(215,224,238,.92);background:rgba(255,255,255,.9);border-radius:20px;padding:17px 18px;box-shadow:var(--shadow-xs)}
.quick-card:hover{transform:translateY(-3px);border-color:#c8d5e7;box-shadow:var(--shadow-md)}
.quick-card.primary{background:var(--brand-gradient-deep);border-color:transparent;box-shadow:0 18px 42px rgba(49,85,194,.20)}
.quick-card.primary:hover{box-shadow:0 22px 50px rgba(49,85,194,.28)}
.quick-icon{width:42px;min-width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#edf6ff,#f2ecff);color:#3163d5;border:1px solid #e1e8f6}.quick-card.primary .quick-icon{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.quick-title{font-size:14.5px;color:#21314c}.quick-card.primary .quick-title{color:#fff}.quick-text{font-size:12.5px;line-height:1.48;color:#7b879c}.quick-card.primary .quick-text{color:rgba(245,248,255,.75)}

/* dashboard */
.dashboard{gap:20px}.right-column,.stack{gap:20px}.lower-grid{gap:20px;margin-top:20px}
.lesson-list{padding:6px 20px 12px}.lesson-row{padding:15px 0;border-color:#eef2f7}.lesson-time{font-size:13.5px;color:#315fc3}.timeline-dot{background:linear-gradient(145deg,#13c5f5,#6f4bf0);box-shadow:0 0 0 5px #edf4ff}.lesson-class{font-size:14.5px;color:#1f2f4a}.lesson-subject{font-size:12.5px;color:#708099}.lesson-topic{font-size:12.5px;color:#8c97a9}.lesson-open,.ghost-button{border-color:#dce4ef;background:#f9fbff;color:#4a5a75;border-radius:12px;font-weight:800}.lesson-open:hover,.ghost-button:hover{background:#eef4ff;border-color:#cdd9ea;color:#315fc7;transform:translateY(-1px)}
.next-card{min-height:238px;border-radius:26px;padding:24px;background:var(--brand-gradient-deep);box-shadow:0 24px 58px rgba(45,74,167,.25)}
.next-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 8%,rgba(95,226,255,.24),transparent 28%),radial-gradient(circle at 92% 70%,rgba(184,133,255,.24),transparent 34%);pointer-events:none}.next-card::after{width:210px;height:210px;right:-88px;top:-78px;background:rgba(255,255,255,.075)}
.next-kicker{position:relative;font-size:11px;letter-spacing:1px}.next-title,.next-time,.next-detail,.next-action{position:relative}.next-title{font-size:26px;letter-spacing:-.55px}.next-time{font-size:13.5px}.next-detail p{font-size:12.5px}.next-action{min-height:42px;border-radius:12px;color:#234aab;box-shadow:0 10px 25px rgba(8,20,63,.16)}
.memory-list{padding:14px 18px 18px}.memory-item{border:1px solid #e7edf5;background:linear-gradient(145deg,#f8fbff,#f7f7ff);border-radius:15px;padding:13px 14px}.memory-item p{font-size:12.5px;color:#65738b}.tip-box{border:1px solid #dfe8fb;background:linear-gradient(135deg,#f1f7ff,#f5f1ff);border-radius:17px;padding:15px}.tip-icon{background:var(--brand-gradient);color:#fff;box-shadow:0 8px 20px rgba(61,100,214,.18)}
.pulse-stat{border:1px solid #e8edf5;background:#fafcff;border-radius:15px}.pulse-stat strong{color:#1f3050}.reflection-panel{box-shadow:var(--shadow-sm)}.reflection-wrap{padding:19px 21px}.reflection-icon{background:linear-gradient(145deg,#eaf6ff,#eeeaff);color:#315fc7}.reflection-action{border-color:#cfdbed;background:#fff;color:#315fc7;box-shadow:var(--shadow-xs)}.reflection-action:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}

/* buttons, badges, forms */
.primary-button,.auth-submit{background:var(--brand-gradient);color:#fff;border:0;box-shadow:0 10px 24px rgba(57,87,211,.18);font-weight:900;border-radius:13px}
.primary-button:hover,.auth-submit:hover{filter:saturate(1.08) brightness(1.03);transform:translateY(-1px);box-shadow:0 14px 30px rgba(57,87,211,.24)}
.credit-pill{border-color:#d5e1f4;background:linear-gradient(135deg,#f0f7ff,#f5efff);color:#315fc7}
.model-badge,.tag{border-color:#dce6f5;background:#f4f8ff;color:#3560bf}.class-badge{background:linear-gradient(145deg,#eaf7ff,#f0eaff);color:#295cc7;border:1px solid #dde7fa}.class-card{border-radius:22px;padding:20px}.class-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#cfdbea}.class-name{font-size:17.5px;color:#1d2e4a}.class-meta,.class-copy p{color:#728097}.stat-card{border-radius:19px;padding:17px}.stat-card span{font-size:11.5px}.stat-card strong{font-size:24px;color:#1a2b49}
.tool-card{border-radius:20px;padding:20px}.tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#cbd9eb}.tool-card span{background:linear-gradient(145deg,#eaf7ff,#f1edff);color:#315fc7;border:1px solid #e0e8f6}.tool-card strong{color:#1f304c}.tool-card p{color:#748198}
.field input,.field select,.field textarea,.auth-form input,.auth-form select{border-color:#d9e2ef;background:rgba(255,255,255,.96)}
.field input:focus,.field select:focus,.field textarea:focus,.auth-form input:focus,.auth-form select:focus{outline:4px solid rgba(37,99,235,.10)!important;border-color:#7ca1ea!important;box-shadow:0 0 0 1px #7ca1ea!important}
.info-banner{border-color:#d7e5fb;background:linear-gradient(135deg,#f3f8ff,#f7f3ff)}
.empty-state .empty-icon{background:linear-gradient(145deg,#e9f7ff,#efeaff);color:#315fc7}
.toast{background:#102342;border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 48px rgba(12,27,61,.24);border-radius:14px}

/* student area */
.student-topbar,.student-section,.student-card,.share-hero{border-color:#dbe4f0!important;box-shadow:var(--shadow-xs)!important}
.student-topbar{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(16px)}
.student-welcome{background:var(--brand-gradient-deep)!important;border-radius:28px!important;box-shadow:0 26px 62px rgba(46,75,171,.22)!important;overflow:hidden;position:relative}
.student-welcome::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-80px;top:-90px;background:rgba(255,255,255,.08)}
.student-section{border-radius:24px!important;background:rgba(255,255,255,.91)!important}.student-item{border-color:#e2e9f3!important;background:#fbfcff!important;border-radius:17px!important}.student-item:hover{border-color:#cbd9eb!important;box-shadow:var(--shadow-sm)!important;transform:translateY(-1px)}
.student-item-icon{background:linear-gradient(145deg,#eaf7ff,#f0eaff)!important;color:#315fc7!important}.student-done{border-radius:12px!important}
.student-ad{border-radius:18px!important;border-color:#e5eaf3!important;background:linear-gradient(135deg,#fafcff,#fbf8ff)!important}

/* authentication */
body.auth-mode{background:radial-gradient(circle at 12% 7%,rgba(19,197,245,.15),transparent 24%),radial-gradient(circle at 89% 13%,rgba(124,58,237,.14),transparent 28%),linear-gradient(145deg,#f8fbff,#f5f6fc 48%,#f2f4fb)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px 20px}.auth-card{border:1px solid rgba(213,223,237,.95);background:rgba(255,255,255,.92);box-shadow:var(--shadow-lg);backdrop-filter:blur(18px);border-radius:32px;padding:38px 40px}.auth-brand-icon{border-radius:18px;box-shadow:0 12px 30px rgba(47,108,255,.22)}
.auth-brand strong{color:#172746}.auth-copy h1{color:#12213e}.auth-copy p{color:#6f7c94}.google-auth-button{border-color:#d8e1ed;border-radius:15px;box-shadow:var(--shadow-xs)}.google-auth-button:hover{border-color:#bfcde0;box-shadow:var(--shadow-sm)}
.auth-tabs{background:#f2f5fa!important;border:1px solid #e6ebf2!important}.auth-tabs button.active{background:#fff!important;color:#284fae!important;box-shadow:0 4px 14px rgba(27,45,86,.08)!important}
.auth-message{border-color:#d7e5fb;background:linear-gradient(135deg,#f2f8ff,#f7f2ff);color:#355b9f}.verification-icon{background:linear-gradient(145deg,#e8f7ff,#efe9ff);color:#315fc7;box-shadow:inset 0 0 0 1px #dce8fb,0 12px 28px rgba(61,93,182,.10)}
.verification-steps>div{border-color:#e2e9f3;background:#fbfcff}.verification-steps>div>span{background:linear-gradient(145deg,#e8f6ff,#eeeaff);color:#315fc7}
.verification-tip{background:#fff9e9;border-color:#f1e1af}

/* profile / schedules / generic workspace */
.schedule-cell{background:linear-gradient(145deg,#eef6ff,#f2efff);color:#315fc7}.schedule-table th{background:#f7f9fd;color:#5d6b84}.resource-row,.output-row,.question-list li,.board-plan div{border-color:#e3e9f2;background:#fbfcff}.output-row>span{background:linear-gradient(145deg,#eaf7ff,#f0eaff);color:#315fc7}

/* responsive */
@media(max-width:1100px){.app-shell{grid-template-columns:224px minmax(0,1fr)}.content{padding-left:28px;padding-right:28px}}
@media(max-width:860px){
  .content{padding:20px 16px 100px}.mobile-nav{border-color:rgba(204,216,233,.95);background:rgba(255,255,255,.92);box-shadow:0 16px 42px rgba(26,43,82,.16);backdrop-filter:blur(20px)}
  .mobile-nav button.active{color:#315fc7}.mobile-nav button.active .m-icon{filter:drop-shadow(0 4px 8px rgba(49,95,199,.18))}
  .student-welcome{border-radius:22px!important}
}
@media(max-width:620px){
  .content{padding-left:13px;padding-right:13px}.topbar{margin-bottom:20px}.hello h1,.page-title h1{font-size:27px}.quick-card{border-radius:18px}.panel{border-radius:20px}.next-card{border-radius:22px;padding:21px}.auth-card{padding:26px 20px;border-radius:24px}.auth-shell{padding:14px}.student-section{border-radius:20px!important}
}


/* ===== v1.2.3 FINAL POLISH ===== */
/* Auth: always open from a safe top position; avoid clipping on short displays. */
body.auth-mode{overflow-y:auto}
.auth-shell{min-height:100svh;align-items:start;padding-top:28px;padding-bottom:42px}
.auth-card{margin:0 auto}
@media(min-height:980px){.auth-shell{align-items:center;padding-top:36px;padding-bottom:36px}}
@media(max-width:620px){.auth-shell{padding-top:14px;padding-bottom:24px}}

/* Dashboard typography + navigation contrast polish. */
.hello h1,.page-title h1{font-weight:840;letter-spacing:-.85px}
.sidebar .nav-button{color:rgba(235,241,255,.79);font-weight:700}
.sidebar .nav-button:hover{color:#fff;background:rgba(255,255,255,.095)}
.sidebar .nav-button.active{color:#fff;font-weight:900}
.sidebar .brand-sub{color:rgba(232,239,255,.70)}
.sidebar .pro-card p{color:rgba(232,239,255,.72)}

/* No-lesson state: explicit, calm, and intentional. */
.today-empty-state{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;margin:16px 0 8px;padding:20px;border:1px solid #e0e8f3;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#faf8ff)}
.today-empty-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#e6f8ff,#eeeaff);color:#315fc7;font-size:20px;box-shadow:inset 0 0 0 1px #dbe7f7}
.today-empty-state strong{display:block;color:#1d2d4a;font-size:15px;margin-bottom:4px}
.today-empty-state p{margin:0;color:#748198;font-size:12.8px;line-height:1.55}
.no-lessons-card{background:linear-gradient(140deg,#12306a 0%,#2856bd 52%,#7441db 100%)}
.no-lessons-card .next-title{max-width:260px}
@media(max-width:620px){.today-empty-state{grid-template-columns:42px minmax(0,1fr);padding:16px}.today-empty-state .ghost-button{grid-column:2;justify-self:start}.today-empty-icon{width:42px;height:42px}}

/* Optional account profile welcome; no permissions are granted by this UI. */
.profile-welcome-layer{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.72);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.profile-welcome-layer .role-choice-card{width:min(100%,510px);max-height:90vh;overflow:auto;background:#fff;color:#172033;border-radius:18px;padding:28px;box-shadow:0 20px 70px #0004}
.role-choice-card{margin-bottom:18px}.role-choice-card h2{margin:0 0 10px}.role-choice-card p{line-height:1.5}.role-choice-note{font-size:13px;color:#59677b}

/* v1.3 profile preference sync: clear account-vs-preference status */
.role-sync-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;border:1px solid #e4e9f2;background:#f9fbff;border-radius:13px;padding:12px 14px;margin:10px 0 16px;color:#5e6c82;font-size:13px;line-height:1.55}
.role-sync-notice.is-synced{border-color:#d9e9dd;background:#f4fbf6;color:#326d48}
.role-sync-notice.is-local{border-color:#eddfb7;background:#fffbf0;color:#78592e}
.role-sync-retry{color:inherit;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px;padding:3px 0}
.role-sync-retry:disabled{opacity:.55;cursor:wait}

/* v1.3.1 institution verification area; responsive + consistent with premium UI */
.institution-panel{margin-bottom:22px;border:1px solid #e0e7f2;background:linear-gradient(180deg,#fff,#fbfcff)}
.institution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.institution-head h2{font-size:22px;letter-spacing:-.35px;margin:9px 0 4px;color:#122448}
.institution-intro{max-width:78ch;margin:12px 0 18px;color:#65718a;font-size:14px;line-height:1.7}
.institution-pill{display:inline-flex;align-items:center;gap:5px;font-weight:800;font-size:12px;border-radius:100px;padding:7px 11px;white-space:nowrap}
.institution-pill.pending{background:#fff4d8;color:#84591d;border:1px solid #f4e1b4}
.institution-pill.good{background:#e8f8ef;color:#217449;border:1px solid #c6ebd7}
.institution-section{margin:18px 0 0;padding:18px;background:#f8faff;border:1px solid #e2e8f4;border-radius:17px}
.institution-section h3{color:#13254a;font-size:16px;margin:0 0 12px}
.institution-search-form{margin:15px 0}
.institution-search-form .form-actions{margin:8px 0}
.institution-school-result{display:flex;gap:12px;align-items:center;border:1px solid #e1e8f3;background:#fff;border-radius:13px;padding:12px 13px;cursor:pointer;margin:8px 0}
.institution-school-result:has(input:checked){border-color:#7a9aff;background:#f2f6ff}
.institution-school-result input{flex:none;width:16px;height:16px;accent-color:#2563eb}
.institution-school-result strong,.institution-record strong{display:block;color:#1a3156;font-size:13.5px}
.institution-school-result small,.institution-record small{display:block;color:#66758c;font-size:12px;line-height:1.5;margin-top:4px}
.institution-results{max-height:350px;overflow-y:auto;margin:10px 0 14px}
.institution-record{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e0e7f0}
.institution-record:last-child{border-bottom:0}
.institution-record .ghost-button{font-size:12px;white-space:nowrap}
.institution-alert{padding:15px;border:1px solid #e5d9b7;background:#fffaf0;border-radius:14px;color:#785e31}
.institution-alert strong{font-size:14px}
.institution-alert p{font-size:13px;margin:7px 0 12px;line-height:1.6}
.institution-disclaimer{font-size:12.5px;line-height:1.6;color:#6b7488;margin:12px 0 0}
@media(max-width:650px){.institution-head{display:block}.institution-head .institution-pill{margin-top:10px}.institution-section{padding:14px}.institution-record{flex-wrap:wrap}.institution-school-result{align-items:start}}


/* v1.3.2 – shared teacher daily lesson pack */
.academic-warning{border:1px solid #efd5a6;background:#fff9eb;padding:16px 20px;border-radius:16px;margin-bottom:18px;color:#664f27}
.academic-warning strong{display:block;font-size:14px}
.academic-warning p{font-size:13px;line-height:1.65;margin:5px 0 0}
.academic-context{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:20px;padding:20px;margin-bottom:20px}
.academic-context>div{min-width:0;display:flex;flex-direction:column;gap:5px}
.academic-context strong{font-size:15px;overflow-wrap:anywhere}
.academic-context small,.academic-context p{color:#6b7488;font-size:13px;line-height:1.55;margin:0}
.academic-eyebrow{display:block;font-size:11px;font-weight:750;letter-spacing:.075em;color:#476bb8;text-transform:uppercase;margin-bottom:5px}
.academic-form{display:grid;gap:17px;max-width:1050px}
.academic-panel{padding:23px;display:grid;gap:14px}
.academic-head{display:flex;align-items:start;justify-content:space-between;gap:16px}
.academic-head h2{font-size:21px;margin:2px 0 7px;color:#142954}
.academic-head p{margin:0;color:#68768e;font-size:13px;line-height:1.6}
.academic-panel label,.academic-fields label{display:grid;gap:7px;color:#223a62;font-size:13px;font-weight:650}
.academic-panel input,.academic-panel textarea,.academic-fields input{width:100%;box-sizing:border-box;padding:11px 13px;border-radius:12px;border:1px solid #ccd5e7;background:#fff;color:#1b304c;font:inherit;line-height:1.55}
.academic-panel textarea{min-height:84px;resize:vertical;font-weight:450}
.academic-panel input:focus,.academic-panel textarea:focus{outline:2px solid #2563eb;outline-offset:1px}
.academic-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.academic-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:4px 3px 25px}
.academic-footer span{font-size:12px;line-height:1.5;color:#68768e;max-width:385px}
.academic-buttons{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.student-timetable-section{scroll-margin-top:90px}
.student-week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px;margin-bottom:18px}
.student-week-day{min-width:0;border:1px solid #e0e8f5;background:#fafcff;border-radius:15px;padding:11px}
.student-week-day.is-today{border-color:#479be5;background:#f0f7ff}
.student-week-day-title{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:10px}
.student-week-day-title strong{font-size:13px;color:#1e3762}
.student-week-day-title span{font-size:10px;color:#6c7c97}
.student-week-lesson{border-radius:11px;padding:10px;background:#fff;border:1px solid #e3e9f4;margin-bottom:8px;display:flex;flex-direction:column;gap:8px}
.student-week-lesson>div:first-child{display:grid;gap:3px;min-width:0}
.student-week-lesson small,.student-week-lesson span{font-size:11px;color:#6b7890}
.student-week-lesson strong{font-size:12.5px;color:#1d355a;overflow-wrap:anywhere}
.student-week-actions{display:flex;flex-wrap:wrap;gap:7px}
.student-week-actions button{cursor:pointer;background:none;border:0;padding:0;color:#2563eb;font-size:11px;text-align:left}
.student-week-actions button:last-child{color:#a94b56}
.student-week-empty{font-size:12px;color:#8995a8;line-height:1.5}
.student-lesson-form{margin:0;padding:20px;display:grid;gap:15px}
.student-lesson-form h3{margin:0 0 5px;font-size:17px;color:#20385d}
.student-lesson-form p{font-size:12px;color:#6a778d;margin:0;line-height:1.55}
.student-lesson-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.student-lesson-fields label{display:grid;gap:6px;font-size:12px;font-weight:650;color:#2a4262}
.student-lesson-fields input,.student-lesson-fields select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cdd9e9;border-radius:10px;padding:9px 10px;background:#fff;color:#173456;font:inherit}
.student-lesson-form .primary-button{justify-self:start}
.student-timetable-note{font-size:12px;color:#718097;line-height:1.6}
@media(max-width:1000px){.student-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.academic-context{grid-template-columns:1fr}.academic-panel{padding:16px}.academic-head{display:block}.academic-head button{margin-top:10px}.student-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-lesson-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.student-week-grid{grid-template-columns:1fr}.student-lesson-fields{grid-template-columns:1fr}.academic-fields{grid-template-columns:1fr}.academic-buttons{width:100%}.academic-buttons button{flex:1}}
@media print{.academic-warning,.academic-footer,.student-lesson-form,.student-week-actions{display:none!important}.academic-form{max-width:none}.academic-panel{break-inside:avoid;border:1px solid #aaa;box-shadow:none}}

/* === v1.3.3: student weekly schedule clarity, touch targets and visual refinement === */
.student-timetable-section{scroll-margin-top:105px}
.student-timetable-header{align-items:flex-start}
.student-timetable-kicker{display:inline-block;margin-bottom:7px;color:#5b6fc0;font-weight:850;font-size:10px;letter-spacing:1.2px}
.student-timetable-header h2{font-size:23px;letter-spacing:-.4px;color:#172c55}
.student-timetable-header p{max-width:650px;line-height:1.55}
.student-timetable-head-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.student-print-button{border:1px solid #d7e0f0;background:#fff;border-radius:11px;padding:9px 13px;color:#3b5482;font-size:12px;font-weight:800;cursor:pointer;min-height:38px}
.student-print-button:hover{background:#f0f5ff;border-color:#a8bce8}
.student-week-grid{gap:12px;margin-top:20px;margin-bottom:22px;align-items:stretch}
.student-week-day{display:flex;flex-direction:column;min-height:193px;background:#f8faff;border-color:#e2e9f4;border-radius:18px;padding:12px;transition:background .15s,border-color .15s,box-shadow .15s}
.student-week-day.is-today{border-color:#e2e9f4;background:#f8faff}
.student-week-day.is-selected{border:2px solid #557cf0;padding:11px;background:linear-gradient(170deg,#f0f6ff,#f7f9ff);box-shadow:0 5px 18px rgba(70,107,212,.12)}
.student-week-day-title{width:100%;display:flex;align-items:flex-start;gap:6px;background:transparent;border:0;text-align:left;padding:2px 2px 11px;margin-bottom:0;cursor:pointer;min-height:45px;color:#1e3762}
.student-week-day-title:hover strong{color:#365ad3}
.student-week-day-title .student-day-heading{display:grid;gap:2px;min-width:0}
.student-week-day-title strong{font-size:13.5px}
.student-day-heading em{font-size:10px;font-style:normal;font-weight:800;color:#4873d0}
.student-week-day-title .student-day-count{font-weight:800;white-space:nowrap;font-size:10px;border-radius:50px;padding:4px 7px;background:#eaf0fb;color:#5f7095}
.student-week-day.is-selected .student-day-count{background:#dce8ff;color:#2858c4}
.student-day-lesson-list{display:grid;align-content:start;gap:8px;flex:1;min-width:0}
.student-week-lesson{margin:0;gap:10px;padding:12px 10px;border:1px solid #e0e7f3;border-left:3px solid #8c9ee4;border-radius:12px;background:#fff;box-shadow:0 2px 7px rgba(34,56,103,.035)}
.student-week-lesson.just-saved{border-color:#568ee4;border-left-color:#3c6de2;background:#f9fcff;box-shadow:0 0 0 3px #eaf1ff}
.student-lesson-card-info{display:grid;gap:5px}
.student-week-lesson small{font-size:11px;font-weight:650;display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:#6e7e96}
.student-week-lesson strong{font-size:14px;line-height:1.3;color:#1d355d;font-weight:850}
.student-week-lesson span{font-size:11px;line-height:1.4}
.student-period-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#eef2ff;color:#4565b9!important;font-size:10px!important;font-weight:900}
.student-week-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin-top:1px}
.student-week-actions button{border:1px solid #dbe4f4;background:#f6f9ff;border-radius:8px;padding:7px 9px;min-height:31px;font-size:11px;font-weight:800;color:#3b63bd;line-height:1.2;cursor:pointer}
.student-week-actions button:last-child{color:#a53e54;background:#fff8f9;border-color:#f2dce0}
.student-week-actions button:hover{filter:brightness(.97)}
.student-empty-day{flex:1;display:grid;align-content:center;justify-items:center;gap:7px;min-height:98px;padding:10px 2px;text-align:center}
.student-empty-day>span{display:grid;place-items:center;width:31px;height:31px;border-radius:11px;color:#7892c4;background:#edf2fa;font-size:22px}
.student-empty-day p{font-size:11px;color:#8b99b1;line-height:1.4;max-width:120px;margin:0}
.student-empty-day button{color:#355fca;border:0;background:transparent;font-size:11px;font-weight:850;padding:8px;cursor:pointer}
.student-lesson-form{padding:24px;max-width:850px;border-radius:20px;background:linear-gradient(155deg,#fff,#f9fbff);border:1px solid #dae4f4;box-shadow:0 8px 28px rgba(32,62,127,.045)}
.student-lesson-form .student-section-head{margin-bottom:1px}
.student-lesson-form .student-section-head h3{font-size:19px;font-weight:850;color:#19345d;letter-spacing:-.2px}
.student-lesson-form .student-section-head p{font-size:12.5px;line-height:1.55;max-width:615px}
.student-form-icon{border-radius:13px;background:#edf3ff;color:#5274ce;padding:9px 12px;font-size:19px}
.student-lesson-fields{gap:14px;grid-template-columns:repeat(6,minmax(0,1fr))}
.student-lesson-fields label{font-size:12.5px;gap:7px;font-weight:800;color:#284469;grid-column:span 2}
.student-lesson-fields label:nth-child(n+4){grid-column:span 3}
.student-lesson-fields label small{font-size:10px;color:#8290a6;font-weight:550;display:inline}
.student-lesson-fields input,.student-lesson-fields select{min-height:45px;font-size:14px;padding:10px 12px;border-radius:11px;border:1px solid #cbd8ed;box-shadow:0 1px 2px rgba(28,51,102,.025)}
.student-lesson-fields input:focus,.student-lesson-fields select:focus{outline:2px solid #b8cdfa;outline-offset:1px;border-color:#6388df}
.student-form-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.student-lesson-form .primary-button{justify-self:auto;min-height:45px}
.student-cancel-edit{border:1px solid #d9e0eb;color:#52678d;background:#fff;border-radius:11px;padding:10px 13px;min-height:44px;font-weight:800;cursor:pointer}
.student-cancel-edit[hidden]{display:none}
.student-form-help{font-size:11.5px;color:#7886a0;flex:1;min-width:175px}
.student-lesson-form .student-timetable-note{background:#f0f5ff;padding:10px 12px;border-radius:10px;font-size:11.5px;color:#60749c}
.student-week-day-select:focus-visible,.student-week-actions button:focus-visible,.student-empty-day button:focus-visible,.student-print-button:focus-visible{outline:3px solid #92b7ff;outline-offset:2px}
@media(max-width:1080px){.student-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.student-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-timetable-header{flex-wrap:wrap}.student-timetable-header h2{font-size:21px}}
@media(max-width:520px){
 .student-week-grid{grid-template-columns:1fr;gap:9px}
 .student-week-day{min-height:0;padding:12px 14px}
 .student-week-day.is-selected{padding:11px 13px}
 .student-week-day-title{min-height:34px;padding-bottom:7px}
 .student-day-lesson-list{gap:7px}
 .student-week-lesson{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
 .student-week-actions{flex-wrap:wrap;flex-shrink:0}
 .student-empty-day{min-height:35px;display:flex;justify-content:flex-start;align-items:center;text-align:left;padding:2px 5px}
 .student-empty-day>span{width:25px;height:25px;font-size:16px;flex-shrink:0}
 .student-empty-day p{max-width:none}
 .student-lesson-form{padding:18px 14px}
 .student-lesson-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .student-lesson-fields label,.student-lesson-fields label:nth-child(n+4){grid-column:span 1}
 .student-lesson-fields label:nth-child(3),.student-lesson-fields label:nth-child(4),.student-lesson-fields label:nth-child(5){grid-column:span 2}
 .student-form-help{min-width:100%;font-size:11px}
 .student-week-actions button{min-height:36px}
}
@media print{
 body.student-mode .student-portal>:not(.student-timetable-section){display:none!important}
 body.student-mode .student-timetable-section{display:block!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
 body.student-mode .content{padding:0!important}
 .student-print-button,.student-empty-day button,.student-week-actions,.student-lesson-form{display:none!important}
 .student-week-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px}
 .student-week-day{break-inside:avoid;min-height:90px!important;background:white!important;border:1px solid #aaa!important;box-shadow:none!important}
 .student-day-lesson-list{display:block!important}
 .student-week-lesson{break-inside:avoid!important}
}

@media(max-width:620px){.student-timetable-head-actions .student-section-count{display:inline-flex;padding:6px 9px;font-size:10.5px}}

/* === v1.3.4 | Quiet, cell-based student timetable (existing cloud table unchanged) === */
.student-simple-timetable{position:relative;scroll-margin-top:98px}
.student-simple-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.student-simple-heading h2{font-size:22px;letter-spacing:-.5px;margin:0 0 4px;color:#182b4f}
.student-simple-heading p{font-size:12.5px;color:#7b8aa3;margin:0}
.student-simple-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.student-quiet-button{border:1px solid #e0e6f2;background:#fff;border-radius:10px;color:#4f6283;padding:9px 12px;font-size:12px;min-height:36px;font-weight:700;cursor:pointer}
.student-quiet-button:hover{background:#f5f8fe;color:#3159ab;border-color:#b8c9eb}
.student-desktop-schedule{overflow:hidden;border:1px solid #e5eaf2;border-radius:16px;background:#fff}
.student-grid-header,.student-grid-row{display:grid;grid-template-columns:68px repeat(5,minmax(0,1fr))}
.student-grid-header{background:#f4f7fc;border-bottom:1px solid #e5eaf2;min-height:44px}
.student-grid-corner,.student-grid-day{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#576887}
.student-grid-day{border-left:1px solid #e7ebf3;gap:7px}
.student-grid-day.today{color:#315dc6;background:#eef4ff}
.student-grid-day small{font-size:9px;background:#d9e7ff;border-radius:20px;padding:3px 6px;color:#315dc6}
.student-grid-row{min-height:50px;border-bottom:1px solid #ebeff5}
.student-grid-row:last-child{border-bottom:0}
.student-grid-period{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;background:#fbfcfe}
.student-grid-period strong{font-size:12.5px;color:#3f516e}
.student-grid-period small{font-size:10px;color:#96a2b7}
.student-grid-cell{border-left:1px solid #e9edf5;min-width:0;display:flex}
.student-simple-slot{width:100%;border:0;background:transparent;min-height:49px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px 6px;color:#7b8da8;font:inherit;cursor:pointer;transition:background .15s}
.student-simple-slot:hover,.student-simple-slot:focus-visible{background:#eaf1ff;outline:0;box-shadow:inset 0 0 0 2px #86a8ee}
.student-simple-slot.has-lesson{background:#f5f8ff;color:#263e6e}
.student-simple-slot.has-lesson:hover{background:#e8f0ff}
.student-simple-slot.just-saved{box-shadow:inset 0 0 0 2px #b1c9fa}
.student-simple-subject{display:block;max-width:100%;font-size:12px;font-weight:750;line-height:1.3;overflow-wrap:anywhere;text-align:center}
.student-simple-plus{font-size:17px;font-weight:400;color:#bfcae1;opacity:.65}
.student-simple-slot:hover .student-simple-plus{opacity:1;color:#3466c8}
.student-simple-slot small{font-size:10px;line-height:1.1;color:#7185a4;text-align:center;overflow-wrap:anywhere}
.student-mobile-days,.student-mobile-schedule{display:none}
.student-simple-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:11px 0 0}
.student-simple-footer span{font-size:11px;color:#8391a7;line-height:1.5}
.student-simple-footer .student-quiet-button{padding:7px 10px;min-height:31px;font-size:11px}
.student-time-settings{padding:15px;margin:6px 0 14px;border:1px solid #e0e8f7;border-radius:14px;background:#f8fbff}
.student-time-settings-heading{display:flex;gap:8px;flex-direction:column;margin-bottom:12px}
.student-time-settings-heading strong{font-size:13.5px;color:#1c365b}
.student-time-settings-heading span{font-size:11.5px;color:#7184a3}
.student-time-settings-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.student-time-settings-grid label{display:grid;gap:5px;font-size:11px;color:#536784;font-weight:700}
.student-time-settings-grid input{width:100%;box-sizing:border-box;min-width:0;border:1px solid #d1dbed;border-radius:8px;background:white;padding:8px 6px;font-size:12px;color:#253a61}
.student-time-settings-actions{display:flex;align-items:center;gap:8px;margin-top:14px}
.student-time-settings-actions .primary-button{min-height:36px;font-size:12px;padding:8px 12px}
.student-edit-backdrop{position:fixed;inset:0;z-index:210;background:rgba(19,32,62,.48);display:flex;justify-content:center;align-items:center;padding:16px;backdrop-filter:blur(3px)}
.student-edit-dialog{background:white;width:min(440px,100%);border:1px solid #dce4f2;box-shadow:0 23px 80px rgba(21,35,65,.23);border-radius:19px;padding:22px;max-height:min(88vh,700px);overflow-y:auto}
.student-edit-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:18px}
.student-edit-head span{font-size:10px;letter-spacing:1.3px;font-weight:850;color:#7690bb}
.student-edit-head h3{font-size:19px;margin:4px 0 0;letter-spacing:-.3px;color:#17345c}
.student-edit-close{width:32px;height:32px;border:0;border-radius:9px;background:#f4f6fa;color:#637897;font-size:23px;line-height:1;cursor:pointer}
.student-quick-fields{display:grid;gap:13px}
.student-quick-fields label{display:grid;gap:6px;color:#354a6c;font-size:12px;font-weight:750}
.student-quick-fields label small{font-weight:400;color:#7b8da9}
.student-quick-fields input,.student-quick-fields select{min-width:0;width:100%;box-sizing:border-box;height:41px;border:1px solid #d2dbeb;border-radius:10px;padding:8px 11px;background:#fff;color:#203a61;font:inherit;font-size:13px}
.student-quick-fields input:focus,.student-quick-fields select:focus{outline:2px solid #aac2f7;border-color:#6a93e8}
.student-quick-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.student-edit-actions{display:flex;align-items:center;gap:9px;margin-top:20px;flex-wrap:wrap}
.student-edit-actions .primary-button{min-height:40px;padding:9px 13px}
.student-edit-actions .student-quiet-button{min-height:40px}
.student-delete-button{border:1px solid #f1cbd1;border-radius:10px;background:#fff6f7;color:#ae4658;padding:9px 12px;min-height:40px;font-size:12px;font-weight:750;cursor:pointer}
.student-delete-button:hover{background:#fff0f2}
@media(max-width:900px){.student-time-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){
 .student-simple-heading{flex-wrap:wrap;align-items:center;gap:10px}
 .student-simple-heading h2{font-size:19px}
 .student-simple-heading p{font-size:12px}
 .student-simple-tools{justify-content:flex-start;width:100%}
 .student-simple-tools .student-section-count{display:inline-flex!important}
 .student-desktop-schedule{display:none}
 .student-mobile-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0 11px}
 .student-mobile-days button{font-weight:750;color:#637895;border:1px solid #e3e9f3;border-radius:10px;background:#f8fafd;min-height:42px;cursor:pointer;font-size:12px}
 .student-mobile-days button.active{color:#285cc4;border-color:#8daef0;background:#edf4ff}
 .student-mobile-schedule{display:grid;border:1px solid #e4e9f3;border-radius:13px;overflow:hidden}
 .student-mobile-row{display:grid;grid-template-columns:85px minmax(0,1fr);min-height:50px;border-bottom:1px solid #e9eef5}
 .student-mobile-row:last-child{border-bottom:0}
 .student-mobile-period{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;background:#f9fbff;border-right:1px solid #e9eef5}
 .student-mobile-period strong{font-size:12px;color:#455c7d}
 .student-mobile-period small{font-size:10px;color:#92a0b8}
 .student-mobile-row .student-simple-slot{align-items:flex-start;padding:9px 13px;min-height:49px}
 .student-mobile-row .student-simple-subject,.student-mobile-row .student-simple-slot small{text-align:left}
 .student-mobile-row .student-simple-subject{font-size:13px}
 .student-time-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .student-edit-dialog{padding:19px 17px}
 .student-simple-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:370px){.student-quick-pair{grid-template-columns:1fr}.student-time-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{
 body.student-mode .student-portal>:not(.student-timetable-section){display:none!important}
 body.student-mode .student-timetable-section{display:block!important;border:0!important;box-shadow:none!important}
 .student-mobile-days,.student-mobile-schedule,.student-simple-tools,.student-simple-footer,.student-time-settings,.student-edit-backdrop{display:none!important}
 .student-desktop-schedule{display:block!important}
 .student-grid-header,.student-grid-row{grid-template-columns:68px repeat(5,minmax(0,1fr))!important;break-inside:avoid}
 .student-simple-slot{min-height:34px!important;box-shadow:none!important}
 .student-simple-heading{margin-bottom:8px}
}
.student-quick-more{margin-top:1px;border:1px solid #e5eaf3;border-radius:11px;background:#fcfdff}
.student-quick-more summary{cursor:pointer;padding:11px 12px;color:#456189;font-size:12px;font-weight:800;list-style-position:inside}
.student-quick-more summary span{font-size:11px;font-weight:400;color:#91a0b7;margin-left:4px}
.student-quick-more[open] summary{border-bottom:1px solid #ebeff5}
.student-quick-details{display:grid;gap:12px;padding:12px}


/* v1.3.5 — PWA manual install: discreet, accessible and platform-aware */
.pwa-install-link,.pwa-header-install,.pwa-profile-button,.pwa-auth-shortcut{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dbe5f4;
  border-radius:12px;background:#f7faff;color:#3059ac;font-size:12px;font-weight:800;
  min-height:36px;padding:8px 11px;white-space:nowrap;transition:background .15s ease,border-color .15s ease;
}
.pwa-install-link:hover,.pwa-header-install:hover,.pwa-profile-button:hover,.pwa-auth-shortcut:hover{background:#edf4ff;border-color:#b8c9e7}
.pwa-install-link{width:100%;margin-bottom:10px;text-align:center}
.pwa-install-link>span,.pwa-header-install>span:first-child,.pwa-auth-shortcut>span{font-size:16px;line-height:1}
.pwa-header-install{background:rgba(255,255,255,.9);min-height:36px;padding:8px 10px}
.pwa-profile-section{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:18px auto;
  max-width:760px;border:1px solid #e0e9f4;background:rgba(255,255,255,.89);border-radius:20px;padding:16px 18px}
.pwa-profile-symbol{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:13px;
  background:linear-gradient(140deg,#e4f4ff,#eceaff);color:#3461c8;font-size:21px;font-weight:900}
.pwa-profile-section>div:nth-child(2){flex:1;min-width:170px}
.pwa-profile-section strong{font-size:14px;color:#233659}
.pwa-profile-section p{font-size:12px;color:#73819a;line-height:1.5;margin:4px 0 0}
.pwa-profile-button{background:linear-gradient(120deg,#258aff,#6d43e9);border:0;color:white;min-height:39px}
.pwa-profile-button:hover{background:linear-gradient(120deg,#1379ee,#5932d1)}
.pwa-auth-shortcut{display:none;position:fixed;bottom:16px;right:18px;z-index:91;
  box-shadow:0 8px 25px rgba(39,63,105,.12);background:white}
body.auth-mode .pwa-auth-shortcut{display:inline-flex}
.pwa-install-help[hidden]{display:none!important}
.pwa-install-help{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:18px;background:rgba(15,29,56,.52);backdrop-filter:blur(4px)}
.pwa-install-card{position:relative;width:min(100%,430px);max-height:min(90vh,680px);overflow:auto;
  background:#fff;border:1px solid #dfe8f4;border-radius:23px;padding:26px 25px 22px;
  box-shadow:0 28px 90px rgba(11,28,65,.24);color:#243554;outline:none}
.pwa-install-card img{display:block;border-radius:15px;margin-bottom:14px}
.pwa-install-card h2{font-size:21px;line-height:1.2;margin:0 32px 10px 0;letter-spacing:-.45px}
.pwa-install-card p{font-size:13px;line-height:1.6;color:#66748c;margin:0 0 16px}
.pwa-install-close{position:absolute;top:14px;right:14px;width:35px;height:35px;display:grid;place-items:center;
  background:#f4f7fc;border:1px solid #e2e9f2;border-radius:11px;color:#63708b;font-size:24px}
.pwa-install-steps{counter-reset:steps;list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.pwa-install-steps li{counter-increment:steps;display:flex;align-items:flex-start;gap:11px;padding:10px 12px;
  background:#f5f8fd;border-radius:12px;font-size:13px;line-height:1.5;color:#344761}
.pwa-install-steps li::before{content:counter(steps);display:grid;place-items:center;flex:none;width:23px;height:23px;
  border-radius:7px;background:#e7efff;color:#2f5ebb;font-weight:900;font-size:11px}
.pwa-install-card .pwa-install-note{font-size:11.5px;color:#8a95aa;margin-bottom:17px}
.pwa-install-done{width:100%;min-height:42px;border:0;border-radius:12px;background:linear-gradient(110deg,#258aff,#6d43e9);color:white;font-weight:850}
.pwa-is-installed [data-pwa-install],.pwa-is-installed [data-pwa-section]{display:none!important}
@media(max-width:1140px){.top-actions{flex-wrap:wrap;justify-content:flex-end}.pwa-header-install{order:1}}
@media(max-width:620px){
  .pwa-header-install{min-height:33px;border-radius:11px;padding:7px 9px}
  .pwa-header-label{font-size:11px}
  .student-top-actions .pwa-header-install{padding:7px 8px}
  .pwa-auth-shortcut{right:12px;bottom:12px;font-size:11.5px}
  .pwa-profile-section{gap:11px;padding:14px}
  .pwa-profile-section>div:nth-child(2){min-width:125px}
  .pwa-profile-button{width:100%}
  .pwa-install-card{padding:22px 19px}
  .top-actions .pwa-header-install{order:0}
}
@media print{[data-pwa-install],.pwa-install-help,.pwa-profile-section{display:none!important}}

/* v1.3.6 — account type separated from preview mode, accessible mobile entry */
.mobile-teacher-preview-entry{display:none}
.teacher-preview-banner{position:sticky;top:0;z-index:16;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;margin-bottom:14px;background:#edf4ff;border:1px solid #cbdcf9;border-radius:16px;box-shadow:0 7px 22px rgba(47,82,160,.09)}
.teacher-preview-banner>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.teacher-preview-banner strong{font-size:13px;color:#1f468e}
.teacher-preview-banner small{font-size:11px;color:#50678d;line-height:1.4}
.teacher-preview-banner button,.mobile-teacher-preview-entry button{border:0;border-radius:11px;background:linear-gradient(115deg,#248cf4,#6347d9);color:#fff;font-size:12px;font-weight:800;padding:11px 13px;min-height:42px}
body.teacher-student-preview .student-tabs{top:81px}
.student-profile-page{max-width:800px;margin:auto;padding:0 0 40px}
.student-profile-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:4px 0 20px}
.student-profile-top h1{font-size:26px;margin:0;color:#182b4d}
.student-profile-return{border:1px solid #d6e3f9;background:#eff5ff;border-radius:11px;color:#2350a3;font-weight:800;font-size:13px;padding:11px 14px}
@media(max-width:860px){.mobile-teacher-preview-entry{display:block;margin:-6px 0 17px}.mobile-teacher-preview-entry button{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;padding:12px 17px}}
@media(max-width:620px){.topbar{flex-wrap:wrap;align-items:flex-start;gap:12px}.top-actions{justify-content:flex-start;width:100%}.top-actions .credit-pill,.top-actions .notification-button{display:none}.pwa-header-install{white-space:normal}.pwa-header-label{font-size:12px}.student-topbar{flex-wrap:wrap}.student-top-actions{display:flex;flex-wrap:wrap}.teacher-preview-banner{align-items:stretch;flex-direction:column;gap:9px;top:0;padding:12px}.teacher-preview-banner button{width:100%;min-height:42px}body.teacher-student-preview .student-tabs{top:115px}.student-profile-top{align-items:flex-start;flex-direction:column;gap:11px}}
@media print{.teacher-preview-banner,.mobile-teacher-preview-entry{display:none!important}}

/* v1.3.7 – Kaynaklı Günlük Ders Paketi: kaynaklar yalnızca öğretmen kaydıdır */
.academic-source-overview{padding:18px 20px 22px;display:grid;gap:15px;color:#53617a;font-size:13px;line-height:1.6}
.academic-source-overview p{margin:0}
.academic-source-caution{border-radius:13px;background:#fff9ee;border:1px solid #f3dfbb;padding:13px 15px}
.academic-source-caution strong{color:#795b20}
.academic-source-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.academic-source-meta div{border-radius:12px;background:#f6f8fc;padding:12px;min-width:0;display:grid;gap:4px}
.academic-source-meta small{color:#71809c;font-size:11px}
.academic-source-meta strong{color:#243859;font-size:13px;overflow-wrap:anywhere}
.academic-source-links{display:flex;flex-wrap:wrap;gap:7px}
.academic-source-links a,.academic-source-link{display:inline-flex;align-items:center;gap:5px;color:#2755aa;background:#f1f6ff;border:1px solid #dbe6fa;border-radius:10px;padding:8px 11px;text-decoration:none;font-size:12px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.academic-source-links a:hover,.academic-source-link:hover{background:#e8f0ff}
.academic-source-settings{max-width:1050px;overflow:hidden;padding:0}
.academic-source-settings>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 21px;color:#253955}
.academic-source-settings>summary::-webkit-details-marker{display:none}
.academic-source-settings>summary span:first-child{display:grid;gap:4px}
.academic-source-settings>summary strong{font-size:16px}
.academic-source-settings>summary small{font-size:12px;color:#75839a;font-weight:450}
.academic-source-settings>summary::after{content:'⌄';font-size:18px;color:#526589}
.academic-source-settings[open]>summary::after{content:'⌃'}
.academic-source-pill{border-radius:999px;background:#fff7e8;color:#8b6226;border:1px solid #efdbb5;font-size:11px;font-weight:700;padding:7px 10px;flex-shrink:0}
.academic-source-content{padding:0 21px 21px;display:grid;gap:15px;color:#586780}
.academic-source-content>p{font-size:12px;line-height:1.65;margin:0}
.academic-source-content>p strong{color:#293d60}
.academic-source-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.academic-source-fields label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#2a3e5f;min-width:0}
.academic-source-fields input,.academic-source-fields select,.academic-source-fields textarea{display:block;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cfd9ed;border-radius:11px;background:#fff;color:#203451;font:inherit;font-weight:450;line-height:1.5}
.academic-source-fields textarea{resize:vertical;min-height:70px}
.academic-source-fields :is(input,select,textarea):focus{outline:2px solid #3b82f6;outline-offset:1px}
.academic-source-wide{grid-column:1/-1}
.academic-small-note{font-size:12px!important;color:#72809a}
@media(max-width:760px){.academic-source-overview{padding:15px}.academic-source-settings>summary{padding:15px;align-items:flex-start}.academic-source-settings>summary strong{font-size:14px}.academic-source-pill{font-size:10px;padding:5px 8px;max-width:110px}.academic-source-content{padding:0 15px 16px}.academic-source-fields,.academic-source-meta{grid-template-columns:1fr}.academic-source-wide{grid-column:auto}}
@media print{.academic-source-settings>summary,.academic-source-links,.academic-source-overview .primary-button{display:none!important}.academic-source-settings:not([open]) .academic-source-content{display:none}}

/* v1.3.8 · MEB pilot catalog: compact source-first browsing */
.meb-catalog-card{padding:22px 24px;margin:16px 0;border-radius:20px}
.meb-catalog-card h3{font-size:19px;color:#12284b;margin:4px 0 7px}
.meb-catalog-card p{margin:6px 0 12px;color:#63748d;line-height:1.65;font-size:13px}
.meb-cat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.meb-cat-chip{display:inline-flex;background:#ebf5ff;color:#2458ad;font-size:11px;font-weight:800;border-radius:999px;padding:7px 11px;white-space:nowrap}
.meb-cat-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:15px 0 12px}
.meb-cat-meta strong{font-size:13px;color:#18365f}
.meb-cat-meta small{font-size:11px;color:#61728b;max-width:420px}
.meb-cat-meta a,.meb-cat-resources a{font-size:12px;color:#2b59c1;text-decoration:none;font-weight:700}
.meb-cat-unit{border:1px solid #dce6f7;border-radius:13px;margin:9px 0;overflow:hidden;background:#fff}
.meb-cat-unit summary{list-style:revert;cursor:pointer;padding:14px 17px;color:#18365f;background:#f6f9ff;font-weight:750;font-size:13px}
.meb-cat-unit summary span{float:right;font-size:11px;font-weight:500;color:#7788a0}
.meb-cat-outcomes{padding:4px 14px}
.meb-cat-outcome{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid #edf2fa}
.meb-cat-outcome:last-child{border-bottom:0}
.meb-cat-outcome>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.meb-cat-outcome strong{font-size:12px;color:#234b9b}
.meb-cat-outcome span{font-size:13px;color:#344766;line-height:1.4}
.meb-cat-outcome-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex-shrink:0}
.meb-cat-outcome-actions a{font-size:11px;color:#2652ad;text-decoration:none;white-space:nowrap}
.meb-cat-outcome-actions .ghost-button{font-size:11px;padding:8px 10px}
.meb-cat-resources{display:flex;gap:12px;flex-wrap:wrap;padding:12px 0}
.meb-catalog-card .meb-cat-footnote{border-top:1px solid #edf2fa;padding-top:11px;margin-bottom:0;font-size:11px}
@media(max-width:650px){.meb-catalog-card{padding:15px;margin:12px 0}.meb-cat-top{flex-direction:column;gap:5px}.meb-cat-outcome{align-items:flex-start;flex-direction:column}.meb-cat-outcome-actions{width:100%;justify-content:flex-start}.meb-cat-unit summary span{float:none;margin-left:6px}}


/* v1.3.9 — Compact teacher-confirmed curriculum progress, no official week claim */
.curriculum-tracker{max-width:1100px;margin:14px 0;padding:22px 24px;border:1px solid #dce6f6;border-radius:20px}
.curriculum-tracker-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.curriculum-tracker h3{font-size:19px;color:#172d52;margin:5px 0 7px}
.curriculum-tracker p{color:#67758c;font-size:12px;line-height:1.6;margin:0}
.curriculum-tracker-percent{background:#f1f6ff;border-radius:13px;min-width:115px;text-align:center;padding:12px;display:grid;gap:2px}
.curriculum-tracker-percent strong{font-size:19px;color:#315fc0}
.curriculum-tracker-percent small{font-size:10px;color:#596f93}
.curriculum-track-bar{height:8px;border-radius:999px;background:#eaf0f9;overflow:hidden;margin:18px 0}
.curriculum-track-bar span{display:block;height:100%;background:linear-gradient(90deg,#258df1,#7454ec);border-radius:999px;transition:width .2s ease}
.curriculum-tracker-form{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px}
.curriculum-tracker-form label{min-width:0;display:grid;gap:7px;font-size:12px;font-weight:800;color:#344766}
.curriculum-tracker-form select,.curriculum-tracker-form input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d0dcef;background:#fff;border-radius:12px;padding:12px;color:#243c5c;font:inherit;font-weight:500}
.curriculum-tracker-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}
.curriculum-tracker-actions button{min-height:39px;font-size:12px}
.curriculum-tracker .curriculum-tracker-detail{border:1px solid #e3ebf9;border-radius:12px;background:#f7faff;padding:12px;margin-top:12px;color:#455978}
.curriculum-tracker-detail strong{color:#234fba}
.curriculum-tracker-detail a{color:#234fba;margin-left:7px}
.curriculum-tracker .curriculum-tracker-foot{font-size:11px;margin-top:9px}
@media(max-width:720px){.curriculum-tracker{padding:16px;margin:12px 0}.curriculum-tracker-head{flex-direction:column}.curriculum-tracker-percent{display:flex;gap:8px;align-items:center}.curriculum-tracker-form{grid-template-columns:minmax(0,1fr)}.curriculum-tracker-actions{grid-column:1}.curriculum-tracker-actions button{width:100%}}
@media print{.curriculum-tracker-actions{display:none}}

/* v1.4.0 — teacher-only cloud curriculum progress and simple weekly planning */
.curriculum-tracker .academic-cloud-note{margin:0 0 14px;padding:11px 13px;border-radius:12px;border:1px solid #d5e4f9;background:#f3f8ff;color:#345985;font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px}
.academic-cloud-note strong{color:#24486e}
.academic-cloud-note button{margin-left:auto}
.academic-weekly-plan{margin-top:17px;padding:0!important;overflow:hidden;border:1px solid #e0e8f6!important;border-radius:16px!important;box-shadow:none}
.academic-weekly-plan>summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f7faff;color:#284575}
.academic-weekly-plan>summary::-webkit-details-marker{display:none}
.academic-weekly-plan>summary span:first-child{display:grid;gap:3px}
.academic-weekly-plan>summary strong{font-size:14px}
.academic-weekly-plan>summary small{font-size:11px;font-weight:400;color:#637593;line-height:1.45}
.academic-weekly-plan>summary span:last-child{font-size:11px;white-space:nowrap;border-radius:20px;background:#e7f0ff;padding:6px 9px}
.academic-weekly-inside{padding:18px;display:grid;gap:13px}
.academic-weekly-inside>p{font-size:12px;color:#65748c;margin:0;line-height:1.6}
.academic-weekly-inside>a{font-size:12px;text-decoration:none;color:#2d5eb3;font-weight:750}
.academic-weekly-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.academic-weekly-form label{min-width:0;font-size:12px;font-weight:700;color:#394e71;display:grid;gap:6px}
.academic-weekly-form :is(input,select){box-sizing:border-box;min-width:0;width:100%;border:1px solid #d4def1;border-radius:10px;padding:11px 12px;background:white;color:#263c5d;font:inherit;font-weight:450}
.academic-weekly-form button{grid-column:1/-1;justify-self:start;min-height:41px}
.academic-weekly-list{display:grid;gap:8px;max-height:420px;overflow-y:auto}
.academic-weekly-entry{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 13px;background:#f8faff;border:1px solid #e3eafa;border-radius:12px}
.academic-weekly-entry>div:first-child{min-width:0}
.academic-weekly-entry strong{display:block;color:#2b476a;font-size:12px;margin-bottom:5px}
.academic-weekly-entry p{margin:0;color:#6c7c96;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.academic-weekly-entry a{display:inline-block;margin-top:5px;font-size:11px;color:#2e61ba}
.academic-weekly-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}
.academic-weekly-actions .ghost-button{font-size:11px;padding:8px 10px}
@media(max-width:740px){.academic-cloud-note button{margin:0;width:100%}.academic-weekly-form{grid-template-columns:1fr}.academic-weekly-inside{padding:13px}.academic-weekly-entry{flex-direction:column}.academic-weekly-actions{width:100%}.academic-weekly-actions button{flex:1;min-height:40px}.academic-weekly-plan>summary{padding:13px}.academic-weekly-plan>summary small{font-size:10px}}
@media print{.academic-cloud-note,.academic-weekly-form,.academic-weekly-actions{display:none!important}}

/* v1.4.1: distinguish academic catalog coverage from official completeness */
.meb-cat-meta small{line-height:1.6;white-space:normal}
.meb-cat-meta small:nth-of-type(2){color:#526e8b;font-weight:650}
.meb-cat-outcomes>p{border:1px dashed #ccd9ef;border-radius:10px;padding:12px;background:#f9fbff;color:#586b87}
.curriculum-tracker-head p strong{color:#264d91}
@media(max-width:650px){.meb-cat-meta{display:grid;gap:6px}.meb-cat-meta small{max-width:100%}}


/* ===== Okulum AI v1.4.2: typographic polish, clearer density, export-ready planner ===== */
:root{font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--ink:#162948;--muted:#63748e;--line:#e3e9f3;--brand:#3765cf;--brand2:#7053d9;--brandSoft:#eaf1ff}
body{color:var(--ink);font-weight:400;line-height:1.52;-webkit-font-smoothing:antialiased}
:is(h1,h2,h3,.brand-name,.quick-title,.panel-title strong,.class-name,.day-head strong,.stat-card strong){font-family:'Plus Jakarta Sans','Inter',ui-sans-serif,system-ui,sans-serif;letter-spacing:-.025em}
:where(button,input,select,textarea){letter-spacing:normal}
:where(.page-title h1,.hello h1){font-weight:750;line-height:1.23}
:where(.quick-title,.panel-title strong,.class-name){font-weight:730}
:where(.hello p,.page-title p,.quick-text,.panel-title span){color:#62738e}
.content{max-width:1370px}
.panel,.quick-card,.class-card{box-shadow:0 3px 18px rgba(24,51,89,.035)}
.quick-card{border-color:#e2e8f3;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.quick-card.primary{background:linear-gradient(130deg,#183f87 0%,#375ed2 60%,#7549d5 100%)}
.quick-icon{background:#eef3ff;color:#3764bc}
:where(.quick-card,.nav-button,.primary-button,.ghost-button):focus-visible,.lesson-workflow-link:focus-visible,.lesson-sources-accordion>summary:focus-visible{outline:3px solid #7ca4ff;outline-offset:3px}
:where(.academic-form,.academic-context,.academic-warning){max-width:1120px}
.lesson-source-disclaimer{max-width:1120px;border-radius:13px!important;background:#f5f9ff!important;border-color:#dce7fa!important;padding:0!important;margin:10px 0 14px!important}
.lesson-source-disclaimer>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:11px 14px;color:#426089;gap:8px}
.lesson-source-disclaimer>summary::-webkit-details-marker{display:none}
.lesson-source-disclaimer>summary strong{font-size:12px;font-weight:750}
.lesson-source-disclaimer>summary span{font-size:11px;color:#456cb8;font-weight:700}
.lesson-source-disclaimer>p{padding:0 14px 12px;font-size:12px;line-height:1.55;margin:0}
.lesson-workflow{max-width:1120px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.lesson-workflow-link{cursor:pointer;font:inherit;display:flex;align-items:center;gap:9px;text-decoration:none;background:#fff;border:1px solid #dce6f6;padding:12px 15px;border-radius:14px;color:#254b86;font-size:12.5px;font-weight:700;min-width:0;box-shadow:0 3px 10px rgba(33,73,129,.03)}
.lesson-workflow-link strong{display:grid;place-items:center;width:31px;min-width:31px;height:31px;border-radius:9px;background:#eef4ff;color:#3b68ce;font-size:12px}
.lesson-workflow-link:hover{border-color:#9fbaf0;background:#f9fbff}
.lesson-sources-accordion{max-width:1120px;margin:12px 0 15px;border:1px solid #dce6f6;border-radius:16px;background:#fff;overflow:hidden}
.lesson-sources-accordion>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:15px 18px;list-style:none;color:#203b6b}
.lesson-sources-accordion>summary::-webkit-details-marker{display:none}
.lesson-sources-accordion>summary>span:nth-child(2){display:grid;gap:3px;flex:1;min-width:0}
.lesson-sources-accordion>summary strong{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:750;font-size:14px}
.lesson-sources-accordion>summary small{font-size:11.5px;color:#63748e;line-height:1.45}
.lesson-sources-icon{width:37px;height:37px;border-radius:11px;background:#edf3ff;color:#3363b7;font-size:20px;display:grid;place-items:center}
.lesson-sources-toggle{color:#3266ce;background:#edf3ff;border-radius:20px;font-size:11px;font-weight:800;padding:6px 11px}
.lesson-sources-accordion[open] .lesson-sources-toggle{font-size:0}
.lesson-sources-accordion[open] .lesson-sources-toggle::after{content:'Kapat';font-size:11px}
.lesson-sources-body{padding:0 13px 13px;background:#fbfcff;border-top:1px solid #edf1fa}
.lesson-sources-body .curriculum-tracker,.lesson-sources-body .meb-catalog-card{margin:12px 0;max-width:none}
.academic-footer{align-items:center}
.academic-buttons{gap:9px}
@media(max-width:900px){.content{padding-top:18px}.quick-card{padding:13px;min-height:0;gap:9px}.quick-grid{gap:10px}.quick-icon{height:36px;width:36px;min-width:36px}.quick-title{font-size:13.5px}.quick-text{font-size:12px;line-height:1.4}.panel-head{min-height:58px}}
@media(max-width:620px){
 .hello h1,.page-title h1{font-size:clamp(24px,6.2vw,29px)}
 .quick-card{min-height:112px;padding:13px;gap:8px}.quick-grid{gap:9px}
 .quick-title{font-size:14px}.quick-text{font-size:11.5px;line-height:1.45}
 .lesson-workflow{gap:6px}.lesson-workflow-link{flex-direction:column;gap:4px;text-align:center;padding:9px 5px;font-size:11px}
 .lesson-workflow-link strong{width:26px;min-width:26px;height:26px;border-radius:8px;font-size:10px}
 .lesson-sources-accordion>summary{padding:13px 12px}.lesson-sources-accordion>summary strong{font-size:13px}
 .lesson-sources-accordion>summary small{font-size:10.5px}
 .lesson-sources-icon{width:32px;height:32px;min-width:32px;font-size:17px}
 .lesson-sources-toggle{padding:6px 8px}
 .lesson-sources-body{padding:0 10px 10px}
}
@media(prefers-reduced-motion:reduce){.quick-card,.lesson-workflow-link{transition:none!important}}

/* v1.4.2 compact teacher workflow: details remain reachable, lesson first. */
.lesson-class-context{max-width:1120px;background:#fff;border:1px solid #dfe7f6;border-radius:14px;margin:9px 0 13px;overflow:hidden}
.lesson-class-context>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 17px;list-style:none;cursor:pointer}
.lesson-class-context>summary::-webkit-details-marker{display:none}
.lesson-class-context>summary span:first-child{display:grid;gap:2px}
.lesson-class-context>summary strong{font-size:12.5px;color:#213e6d}
.lesson-class-context>summary small{font-size:11px;color:#73829c}
.lesson-class-context>summary .lesson-context-arrow{font-size:15px;color:#5778b5}
.lesson-class-context[open] .lesson-context-arrow{transform:rotate(180deg)}
.lesson-class-context .academic-context{margin:0!important;border:0!important;border-top:1px solid #e7edf6!important;border-radius:0!important;box-shadow:none!important}
.lesson-source-disclaimer:focus-within,.lesson-class-context:focus-within{outline:2px solid #97b8ef;outline-offset:1px}
@media(max-width:620px){.lesson-class-context>summary{padding:10px 13px}.lesson-source-disclaimer>summary{padding:10px 12px}}

/* v1.4.3: Teacher-controlled roster and student joining */
.roster-panel { margin: 18px 0 22px; padding: clamp(18px,2.4vw,24px); }
.roster-notice { color: #435370; line-height: 1.6; font-size: 13px; margin: 12px 0 16px; }
.roster-import-card { display:flex; align-items:center; gap: 12px; flex-wrap:wrap; padding:14px; border:1px dashed #9eb8dc; border-radius:14px; background:#f7faff; }
.roster-file-hint,.roster-muted {font-size:12px;color:#66758c;line-height:1.5}
.roster-file-hint { flex:1; min-width:180px; }
.roster-preview { margin-top:14px; background:#f8faff; padding:14px; border-radius:14px; border:1px solid #d7e4f9; }
.roster-preview p { color:#5e718d; font-size:13px; margin:4px 0 9px; }
.roster-table-wrap { overflow-x:auto; max-height:390px; overflow-y:auto; margin-top:12px; border:1px solid #e1e8f2; border-radius:12px; }
.roster-table-wrap table { border-collapse:collapse; width:100%; font-size:13px; }
.roster-table-wrap th { text-align:left; font-size:12px; color:#60718d; background:#f2f6ff; padding:10px 12px; position:sticky; top:0; }
.roster-table-wrap td { border-top:1px solid #e6edf6; padding:10px 12px; }
.roster-table-wrap tr:nth-child(even){background:#fbfcff}
.roster-linked{color:#176d4d;font-weight:700;font-size:12px}
.roster-requests {border-top:1px solid #e6edf6; margin-top:17px; padding-top:14px;}
.roster-requests h3 {margin:0 0 10px;font-size:15px;}
.roster-request {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #edf1f6;}
.roster-request:first-of-type {border-top:0}
.roster-request>div:first-child {display:flex;flex-direction:column;gap:4px;min-width:0}
.roster-request strong {font-size:13px;overflow-wrap:anywhere}
.roster-request small {color:#596a86;overflow-wrap:anywhere;line-height:1.5}
.roster-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.roster-request .roster-actions{margin-top:0;flex-shrink:0}
.roster-actions button{font-size:12px; padding:9px 12px;}
.roster-error{color:#9e2534;background:#fff0f1;padding:11px 13px;border-radius:10px;line-height:1.5}
.student-join-queue{padding:18px;border:1px solid #dbe6f4;border-radius:16px;background:#fff;display:grid;align-content:start;gap:10px;}
.student-join-queue>strong{font-size:15px}
.student-join-item{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:10px 0;border-top:1px solid #edf1f6}
.student-join-item strong{color:#4555a0}
@media(max-width:650px){
 .roster-panel{padding:15px}
 .roster-import-card{align-items:stretch;flex-direction:column}
 .roster-import-card .ghost-button{width:100%;text-align:center}
 .roster-request{flex-direction:column;align-items:stretch}
 .roster-request .roster-actions{align-self:stretch}
 .roster-request .roster-actions button{flex:1}
 .roster-table-wrap th,.roster-table-wrap td{padding:10px 9px;}
}

/* v1.4.4 Veli / aile ve super yonetici calisma alani */
body.parent-mode .sidebar,body.parent-mode .mobile-nav{display:none!important}
body.parent-mode .app-shell{display:block!important}
body.parent-mode .content{max-width:none!important;padding:24px clamp(14px,3vw,45px) 70px!important}
.family-shell{width:min(1120px,100%);margin:0 auto;color:#26334d}
.family-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:3px 0 26px}
.family-topbar h1{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(24px,2.7vw,33px);letter-spacing:-.8px;margin:6px 0 8px}
.family-topbar p{color:#77829b;margin:0;font-size:14px}
.family-eyebrow{font-size:11px;color:#5974be;font-weight:850;letter-spacing:1px}
.family-top-actions{display:flex;gap:8px;flex-wrap:wrap}
.family-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:18px;align-items:start}
.family-card{padding:24px;border:1px solid #e3e8f2;border-radius:19px;background:white;box-shadow:0 8px 26px rgba(44,68,100,.05);min-width:0}
.family-card h2{font-size:18px;margin:0 0 8px;font-weight:800;letter-spacing:-.3px}
.family-card h3{font-size:14px;margin:22px 0 12px}
.family-muted{font-size:13px;color:#76819a;line-height:1.55;margin:0 0 14px}
.family-empty,.family-notice{border:1px dashed #d2ddef;border-radius:12px;background:#f7faff;padding:16px;color:#637393;font-size:13px;line-height:1.55}
.family-notice{margin:0 0 14px}.family-notice.warning{background:#fff8ed;border-color:#f1d8ae;color:#866132}
.family-child{border:1px solid #e5eaf4;border-radius:15px;padding:16px;margin:14px 0}
.family-child-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.family-child-icon{width:46px;height:46px;background:linear-gradient(140deg,#ecf6ff,#f1eafe);border-radius:13px;display:grid;place-items:center}
.family-child-head strong,.family-child-head small{display:block}.family-child-head strong{font-size:15px}.family-child-head small{color:#78849d;font-size:12px;margin-top:3px}
.family-permission-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.family-permission-list span{font-size:11px;font-weight:650;color:#5070a5;background:#f0f5ff;border-radius:20px;padding:5px 9px}
.family-form{display:grid;gap:12px;margin:15px 0 8px}
.family-form label{display:grid;gap:6px;color:#53617a;font-weight:700;font-size:12px}
.family-form input:not([type=checkbox]),.family-form select{min-height:43px;border-radius:10px;border:1px solid #dce4ef;padding:9px 11px;font:inherit;font-size:14px;color:#26334d;background:#fff;min-width:0;width:100%}
.family-form input:focus,.family-form select:focus{outline:2px solid #d5e3ff;border-color:#7294e0}
.family-form fieldset{border:1px solid #e5eaf4;border-radius:12px;padding:13px}.family-form legend{font-size:13px;color:#53617a;font-weight:750}
.family-form-two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.family-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.family-checks label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12.5px;font-weight:550}
.family-checks input{accent-color:#526deb;width:16px;height:16px}
.family-request-list>p{display:flex;justify-content:space-between;border-bottom:1px solid #eef1f8;padding:10px 0;margin:0;gap:12px;font-size:13px}
.family-request-list strong{color:#5d7097}
.family-manage{margin-top:18px}.family-invite-result{padding:15px;background:#ebf7ee;border:1px solid #c0e0ca;border-radius:12px;overflow-wrap:anywhere;font-size:12px;color:#23563b;line-height:1.55}
.family-delegate,.family-owner-request{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #edf1f8;padding:15px 0}
.family-delegate strong,.family-delegate small{display:block}.family-delegate small,.family-owner-request small{font-size:11px;color:#8490a5;overflow-wrap:anywhere;margin-top:4px}
.family-footer-note{font-size:12px;color:#7b849a;margin:20px 0 0;line-height:1.6}
.family-owner-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.family-owner-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:780px){.family-grid{grid-template-columns:1fr}.family-topbar{align-items:flex-start;flex-direction:column}.family-card{padding:19px}.family-form-two{grid-template-columns:1fr}.family-checks{grid-template-columns:1fr}.family-delegate,.family-owner-request{align-items:flex-start;flex-direction:column}}

/* v1.4.5 — öğretmen veli mesajları ve veli gelen kutusu */
.teacher-family-message-card{margin-top:18px;padding:22px}
.teacher-family-message-card .panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.teacher-family-select{display:grid;gap:7px;font-weight:650;max-width:520px;margin:14px 0}
.teacher-family-select select,.teacher-message-compose input,.teacher-message-compose textarea,.family-message-reply-form textarea{width:100%;max-width:100%;padding:11px 12px;border:1px solid #d8dfee;border-radius:12px;background:#fff;color:#213453;font:inherit}
.teacher-message-compose{display:grid;gap:12px;margin:12px 0 16px}
.teacher-message-compose fieldset{border:1px solid #d8dfee;border-radius:14px;padding:14px;min-width:0}
.teacher-message-compose .family-checks{display:flex;flex-wrap:wrap;gap:12px}
.teacher-message-compose .family-checks label{display:flex;gap:8px;align-items:center;background:#f5f7ff;padding:8px 12px;border-radius:9px}
.teacher-message-compose label{display:grid;gap:7px;font-weight:600}
.family-inbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.family-message-entry{padding:16px 0;border-top:1px solid #e4e9f4}
.family-message-head{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap}
.family-message-head span{color:#63708b;font-size:12px}
.family-message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;background:#f8faff;border-radius:12px;padding:14px;color:#27354d}
.family-message-entry .family-muted{margin:6px 0 10px}
.family-reply{border-left:3px solid #7558d8;background:#f8f6ff;border-radius:0 10px 10px 0;padding:10px 13px;margin:10px 0;font-size:13px}
.family-reply p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.family-messages-history{border-top:1px solid #e4e9f4;margin-top:18px;padding-top:14px}
.family-messages-history summary{cursor:pointer;font-weight:700}
.family-message-reply-form{margin-top:14px}
.family-message-reply-form label{display:grid;gap:7px}
@media(max-width:640px){.teacher-family-message-card{padding:14px}.teacher-family-message-card .panel-head,.family-inbox-head{align-items:flex-start;flex-wrap:wrap}.family-message-head{gap:6px}}

/* v1.4.6 · teacher attendance / family-authorized live lesson participation */
.attendance-panel{margin-top:18px}
.attendance-form{display:grid;gap:16px;margin-top:14px}
.attendance-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.attendance-controls label,.attendance-reason{display:grid;gap:7px;font-weight:650;font-size:.9rem;color:var(--text,#1e2e50)}
.attendance-controls input,.attendance-controls select,.attendance-reason input{width:100%;max-width:100%;min-height:43px;padding:9px 12px;border:1px solid #d6dff0;border-radius:11px;background:#fff;font:inherit;color:#1e2e50}
.attendance-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:380px;overflow-y:auto;padding:3px}
.attendance-student{display:flex;align-items:center;gap:12px;border:1px solid #e1e8f4;background:#fff;border-radius:13px;padding:11px 12px;cursor:pointer;min-width:0}
.attendance-student:has(input:checked){border-color:#efb0a5;background:#fff7f3}
.attendance-student input{accent-color:#d86151;inline-size:19px;block-size:19px;flex:none}
.attendance-student span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}
.attendance-student strong{font-size:.9rem;overflow-wrap:anywhere}
.attendance-student small{font-size:.75rem;color:#66768c;overflow-wrap:anywhere}
.attendance-absence-label{font-weight:700;font-size:.75rem;color:#be483e}
.attendance-status{padding:10px 12px;border:1px solid #d8e3f1;background:#f4f8ff;border-radius:10px;font-size:.87rem;color:#506581;margin:0}
.attendance-status.confirmed{background:#edf9f3;border-color:#cbeedb;color:#186d47}
.attendance-feed{display:grid;gap:9px;margin:12px 0}
.attendance-feed-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;border:1px solid #e4eaf3;border-radius:13px;background:#fff}
.attendance-feed-item>div{display:grid;gap:5px;min-width:0}
.attendance-feed-item strong{font-size:.91rem;overflow-wrap:anywhere}
.attendance-feed-item small{font-size:.77rem;color:#66768c}
.attendance-pill{border-radius:999px;white-space:nowrap;padding:5px 10px;font-size:.76rem;font-weight:750}
.attendance-pill.missed{background:#fff0ed;color:#ae4c3a}
.attendance-pill.attended{background:#e8f8ef;color:#166c47}
.attendance-filter{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.attendance-filter button.selected{border-color:#5479d8;background:#ecf2ff;color:#284db1}
@media(max-width:760px){
 .attendance-roster{grid-template-columns:minmax(0,1fr);max-height:none}
 .attendance-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .attendance-feed-item{padding:12px}
 .attendance-feed-item strong{font-size:.86rem}
 .attendance-pill{font-size:.72rem}
}
@media(max-width:380px){.attendance-controls{grid-template-columns:1fr}.attendance-feed-item{flex-wrap:wrap}}

/* v1.4.7: free deterministic academic engine, mobile-first compact module */
.free-lesson-assistant{padding:20px 22px;border:1px solid #c9d7ff;background:linear-gradient(125deg,#f5f8ff,#fff 70%);box-shadow:0 8px 25px rgba(32,67,151,.045)}
.free-lesson-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.free-lesson-head h2{margin:5px 0 7px;font-size:clamp(20px,2.2vw,27px);color:#203966}
.free-lesson-head p,.free-lesson-explain{color:#56637a;font-size:13px;line-height:1.65;margin:0}
.free-lesson-cost{flex:none;background:#e5f4ed;color:#176b4e;border:1px solid #bce4d0;border-radius:13px;padding:10px 12px;text-align:center;font-size:13px;font-weight:750;line-height:1.4}
.free-lesson-cost small{font-size:11px;font-weight:500}
.free-lesson-controls{display:flex;align-items:end;gap:12px;margin:17px 0 11px;flex-wrap:wrap}
.free-lesson-controls label{flex:1 1 300px;min-width:0;font-weight:650;color:#253653;font-size:13px}
.free-lesson-controls select{display:block;width:100%;margin-top:6px;border:1px solid #ccd7e8;border-radius:11px;min-height:45px;padding:8px 11px;background:#fff;color:#253653;max-width:100%}
.free-lesson-controls .primary-button{flex:0 0 auto;min-height:45px;white-space:normal}
@media(max-width:640px){.free-lesson-assistant{padding:15px}.free-lesson-head{gap:9px}.free-lesson-cost{padding:7px;font-size:11px}.free-lesson-controls{display:block}.free-lesson-controls .primary-button{width:100%;margin-top:10px}.free-lesson-explain{font-size:12px}}

/* v1.4.8: compact, responsive, zero-AI Evrak Merkezi */
.evrak-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(115deg,#eef4ff,#f4f1ff);border:1px solid #dde6fb;border-radius:19px;padding:19px 22px;margin-bottom:18px;color:#203b69}
.evrak-intro strong{font-weight:800;font-size:17px}.evrak-intro p{font-size:13px;line-height:1.5;margin:6px 0 0;color:#5b6e8a}.evrak-intro>span{white-space:nowrap;background:#fff;padding:9px 13px;border:1px solid #cfdafa;border-radius:99px;font-size:12px;font-weight:800}
.evrak-layout{display:grid;grid-template-columns:minmax(220px,285px) minmax(0,1fr);gap:18px;align-items:start}.evrak-template-list{display:grid;gap:9px}.evrak-tile{width:100%;text-align:left;background:#fff;border:1px solid #dce3f1;border-radius:15px;padding:14px 16px;display:flex;flex-direction:column;gap:5px;color:#223456;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}.evrak-tile.selected{background:#edf3ff;border:2px solid #5072da;padding:13px 15px}.evrak-tile:focus-visible{outline:3px solid #8eaaff;outline-offset:2px}.evrak-tile small{color:#5174c7;font-size:10px;letter-spacing:.07em;font-weight:800}.evrak-tile strong{font-size:14px}.evrak-tile span{color:#718098;line-height:1.4;font-size:11.5px}.evrak-main{background:#fff;border:1px solid #e1e7f1;border-radius:20px;padding:23px;min-width:0}.evrak-main-head{border-bottom:1px solid #e6ecf3;padding-bottom:12px;margin-bottom:17px}.evrak-main-head h2{margin:6px 0;font-size:22px;color:#1b315b}.evrak-main-head p{font-size:12.5px;color:#71809a;margin:0;line-height:1.5}.evrak-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.evrak-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:#31435f;font-size:12px;font-weight:700}.evrak-field-wide{grid-column:span 2}.evrak-field input,.evrak-field select,.evrak-field textarea{width:100%;min-width:0;border:1px solid #d3ddec;border-radius:10px;padding:11px 12px;font-size:13px;background:#fff;color:#1d3152;font-weight:450;line-height:1.5;font-family:inherit}.evrak-field textarea{min-height:96px;resize:vertical}.evrak-field input:focus-visible,.evrak-field select:focus-visible,.evrak-field textarea:focus-visible{outline:3px solid #a8befa;outline-offset:1px}.evrak-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:21px}.evrak-actions button{min-height:40px}.evrak-preview{margin-top:22px;background:#fafcff;border:1px solid #dce4f3;border-radius:14px;padding:16px;max-height:460px;overflow-y:auto}.evrak-preview-head{display:flex;justify-content:space-between;gap:10px;color:#1d3156;margin-bottom:10px;border-bottom:1px solid #e6edf6;padding-bottom:10px}.evrak-preview-head span{color:#7b8ba7;font-size:11px}.evrak-preview-line{padding:8px 0;border-bottom:1px solid #e9edf4}.evrak-preview-line:last-child{border-bottom:0}.evrak-preview-line strong{font-size:12px;color:#3155a2}.evrak-preview-line p{font-size:13px;color:#364763;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0}.evrak-placeholder{font-size:13px;color:#74829d;line-height:1.6}.evrak-privacy{font-size:12px;line-height:1.6;background:#fffbf0;border:1px solid #f0e1c0;padding:13px 15px;border-radius:12px;margin-top:15px;color:#6c604d}
@media(max-width:1050px){.evrak-layout{grid-template-columns:minmax(0,1fr)}.evrak-template-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.evrak-intro{flex-direction:column;align-items:flex-start;padding:15px}.evrak-intro strong{font-size:14px}.evrak-layout{gap:12px}.evrak-template-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.evrak-tile{padding:12px}.evrak-tile.selected{padding:11px}.evrak-tile strong{font-size:12px}.evrak-tile span{font-size:10px}.evrak-main{padding:16px;border-radius:15px}.evrak-main-head h2{font-size:18px}.evrak-fields{grid-template-columns:minmax(0,1fr);gap:11px}.evrak-field-wide{grid-column:1}.evrak-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.evrak-actions .primary-button{grid-column:span 2}.evrak-actions button{font-size:12px;padding:10px 7px}.evrak-actions [data-evrak-export="pdf"]{grid-column:span 2}.evrak-preview{padding:12px}}

/* v1.4.11 — public use-guide navigation; account state is untouched. */
.guide-nav-link{display:flex;align-items:center;text-decoration:none;color:inherit}.guide-sidebar-link{display:block;font-size:12px;font-weight:700;text-decoration:none;color:#5770c8;padding:9px 12px;margin:2px 0 6px;border-radius:9px;background:#edf2ff}.header-guide-link,.guide-inline-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12px;color:#4568d9;text-decoration:none;background:#edf2ff;border:1px solid #dce5ff;border-radius:10px;padding:7px 10px}.guide-inline-link{margin:2px 0}.header-guide-link:hover,.guide-inline-link:hover,.guide-sidebar-link:hover{background:#e3ebff}.student-top-actions .header-guide-link,.family-top-actions .header-guide-link{flex:0 0 auto}.header-guide-link:focus-visible,.guide-inline-link:focus-visible,.guide-sidebar-link:focus-visible,.guide-nav-link:focus-visible{outline:3px solid #6d91eb;outline-offset:2px}@media(max-width:680px){.top-actions>.header-guide-link span,.student-top-actions .header-guide-link span{display:none}.top-actions>.header-guide-link{padding:7px}.student-top-actions .header-guide-link{padding:5px 8px}}

/* v1.4.12: Safe first Google login and school-leader beta workspace. */
.role-setup-card{max-width:610px}
.role-setup-options{display:grid;gap:9px;border:0;margin:3px 0;padding:0;min-inline-size:0}
.role-setup-options legend{font-size:14px;font-weight:800;color:#233e6b;margin-bottom:12px}
.role-setup-option{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;padding:14px 16px;background:#f9fbff;border:1px solid #dce5f3;border-radius:14px;cursor:pointer;font-size:15px!important;font-weight:750!important}
.role-setup-option:hover{background:#f0f6ff;border-color:#97b9ed}
.role-setup-option:has(input:checked){background:#edf4ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}
.role-setup-option input{appearance:auto!important;flex:none;width:17px!important;height:17px!important;min-height:0!important;margin:0;accent-color:#2563eb}
.role-setup-option span{flex:1}
.role-setup-form .text-link{justify-self:center}
.management-intro{display:grid;gap:14px;max-width:950px;background:linear-gradient(150deg,#fff 65%,#f2f5ff)}
.management-intro h2{font-size:23px;margin:0;color:#102656}
.management-intro p{font-size:15px;line-height:1.7;color:#445470;margin:0}
.management-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
@media(max-width:620px){.role-setup-option{min-height:52px}.management-actions{display:grid}.management-actions button{width:100%}}

#managementNavButton[hidden]{display:none!important}

/* v1.4.13 — Teacher quick weekly grid; existing day cards and student timetable untouched */
.teacher-grid-panel{padding:0;overflow:hidden;margin-bottom:24px}
.teacher-grid-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 23px 18px}
.teacher-grid-head h2,.teacher-daylist-heading h2{font-size:20px;line-height:1.3;letter-spacing:-.02em;margin:0 0 6px;color:#0b1f4d}
.teacher-grid-head p,.teacher-daylist-heading p{margin:0;color:#63748d;font-size:13.5px;line-height:1.5}
.teacher-grid-count{flex:none;white-space:nowrap;border:1px solid #d8e2f2;background:#f5f8ff;padding:7px 11px;border-radius:99px;color:#274b91;font-size:12px;font-weight:800}
.teacher-grid-scroll{overflow-x:auto;border-top:1px solid #e5ebf4;scrollbar-width:thin;overscroll-behavior-x:contain}
.teacher-grid-scroll:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
.teacher-schedule-matrix{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:730px}
.teacher-schedule-matrix th,.teacher-schedule-matrix td{border-right:1px solid #e7edf7;border-bottom:1px solid #e7edf7;padding:0;vertical-align:middle}
.teacher-schedule-matrix tr>:last-child{border-right:0}
.teacher-schedule-matrix tbody tr:last-child>:is(th,td){border-bottom:0}
.teacher-schedule-matrix thead th{padding:13px 9px;background:#f6f8fc;color:#27416d;text-align:center;font-size:12px;font-weight:800}
.teacher-schedule-matrix thead th:first-child{width:76px}
.teacher-schedule-matrix tbody th{background:#fafbfe;text-align:center;color:#365378;font-size:12px;font-weight:800;white-space:nowrap}
.teacher-schedule-cell{height:68px;text-align:center;background:white}
.teacher-schedule-cell.teacher-today-col{background:#f5f9ff}
.teacher-schedule-cell.has-lesson{padding:5px;background:#edf5ff}
.teacher-grid-lesson{background:#fff;border:1px solid #d9e7ff;border-radius:10px;padding:8px 5px;margin:3px 2px;box-shadow:0 1px 4px #0b1f4d0b;overflow-wrap:anywhere}
.teacher-grid-lesson strong{display:block;color:#173c7e;font-size:12px;line-height:1.25}
.teacher-grid-lesson small{display:block;color:#657b9d;font-size:11px;margin-top:3px;line-height:1.25}
.teacher-slot-add{width:100%;min-height:68px;background:transparent;border:0;color:#6b86ad;cursor:pointer;display:flex;gap:3px;align-items:center;justify-content:center;flex-direction:column;font:inherit;transition:background .16s,color .16s}
.teacher-slot-add span:first-child{font-size:21px;font-weight:400;line-height:1}
.teacher-slot-add .teacher-slot-word{font-size:10px;font-weight:700}
.teacher-slot-add:hover,.teacher-slot-add:focus-visible{background:#e5f2ff;color:#1658c8;outline:2px solid #2563eb;outline-offset:-2px}
.teacher-slot-warning{display:block;color:#a05213;font-size:10px;font-weight:750;padding:0 3px 4px}
.teacher-grid-foot{padding:13px 23px 16px;border-top:1px solid #e5ebf4;color:#64748b;font-size:12px;line-height:1.55;margin:0}
.teacher-daylist-heading{padding:4px 0 17px}
.teacher-schedule-no-class{padding:18px 21px;margin-bottom:18px}
.teacher-schedule-no-class p{color:#526483;margin:0 0 12px}
@media(max-width:780px){.teacher-grid-head{padding:16px;flex-direction:column;gap:9px}.teacher-grid-head h2{font-size:18px}.teacher-grid-foot{padding:13px 16px}.teacher-grid-count{align-self:flex-start}.teacher-daylist-heading{padding-top:0}}

/* v1.4.14 — adaptive schedule controls; safe empty ad mount */
.teacher-schedule-page>.page-title,.teacher-schedule-page>.page-head{margin-bottom:10px}
.teacher-grid-panel{margin-bottom:10px}
.teacher-grid-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:0 22px 15px}
.teacher-grid-toggle{min-height:37px;background:#fff;color:#2453a3;font-size:12.5px;font-weight:750;border:1px solid #d4e0f5;border-radius:10px;padding:8px 12px;cursor:pointer}
.teacher-grid-toggle:hover,.teacher-grid-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:1px}
.teacher-grid-toggle.is-active{background:#eaf2ff;border-color:#8db4ef;color:#164aa6}
.teacher-grid-note{font-size:12px;color:#8a560e}
.teacher-grid-seven{min-width:930px}
.teacher-schedule-shortcuts{display:flex;align-items:center;gap:14px;margin:8px 0 24px;flex-wrap:wrap}
.teacher-schedule-shortcuts span{font-size:12px;color:#68758e}
.teacher-schedule-new-class{display:grid;gap:14px;border:1px solid #e0e8f7;background:#f8fbff;border-radius:14px;padding:14px}
.teacher-schedule-help{padding:11px 13px;border-radius:10px;background:#f8faff;color:#5f6d88;border:1px solid #e6eaf5;font-size:12px;line-height:1.5}
.teacher-schedule-ad-reserved[hidden]{display:none!important}
.teacher-schedule-page .teacher-grid-panel{scroll-margin-top:5px}
@media(max-width:860px){
  body:not(.student-mode) .content:has(.teacher-schedule-page){padding-top:8px!important}
  .teacher-schedule-page>.page-head{margin:0 0 7px!important}
  .teacher-schedule-page .page-title h1{font-size:24px}
  .teacher-grid-head{padding:12px 12px 6px}
  .teacher-grid-tools{padding:0 12px 9px;gap:6px}
  .teacher-grid-toggle{min-height:38px;padding:7px 9px;font-size:11px}
  .teacher-grid-head h2{font-size:17px}
  .teacher-grid-head p{font-size:12px}
  .teacher-schedule-shortcuts{margin-bottom:15px}
  .teacher-schedule-shortcuts span{display:none}
}
#scheduleExistingClass[hidden],#scheduleNewClass[hidden]{display:none!important}

/* v1.4.15 — compact teacher program, safe explicit edit controls */
.teacher-grid-edit{display:block;width:100%;font:inherit;text-align:center;cursor:pointer}
.teacher-grid-edit-hint{display:block;color:#4275b5;font-size:10px;font-weight:750;margin-top:4px}
.teacher-grid-edit:hover,.teacher-grid-edit:focus-visible{background:#e5f2ff;outline:2px solid #2563eb;outline-offset:-2px}
.teacher-work-mode{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 22px 12px}
.teacher-work-mode>span{color:#526483;font-size:12px;font-weight:800}
.teacher-work-mode>small{color:#64748b;font-size:11px;flex-basis:100%}
.teacher-mobile-switch,.teacher-mobile-list{display:none}
.teacher-edit-actions{justify-content:space-between}
@media(min-width:781px){
 .teacher-schedule-matrix thead th{padding:9px 5px}
 .teacher-schedule-cell{height:54px}
 .teacher-slot-add{min-height:54px}
 .teacher-grid-lesson{padding:5px 4px;margin:2px 2px}
}
@media(max-width:780px){
 .teacher-grid-scroll{display:none!important}
 .teacher-mobile-switch{display:flex;overflow-x:auto;gap:6px;padding:0 14px 10px;scrollbar-width:thin}
 .teacher-mobile-day{flex:1 0 auto;min-width:45px;min-height:38px;border-radius:9px;background:#fff;border:1px solid #dce6f4;color:#31517f;font-size:11.5px;font-weight:750;cursor:pointer}
 .teacher-mobile-day.is-active{background:#e6f0ff;color:#17498d;border-color:#8bb6ef}
 .teacher-mobile-list{display:block;border-top:1px solid #e7edf7}
 .teacher-mobile-slot{display:flex;min-height:48px;align-items:stretch;border-bottom:1px solid #edf1f7}
 .teacher-mobile-period{width:74px;flex:none;padding:8px 6px;display:flex;justify-content:center;flex-direction:column;text-align:center;border-right:1px solid #edf1f7;background:#f8faff;color:#38537b}
 .teacher-mobile-period strong{font-size:11px}.teacher-mobile-period small{font-size:11px;color:#69809f}
 .teacher-mobile-slot-body{flex:1;min-width:0;display:flex;align-items:stretch}
 .teacher-mobile-filled,.teacher-mobile-empty{min-height:48px;width:100%;display:flex;align-items:center;gap:8px;padding:7px 12px;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}
 .teacher-mobile-filled{background:#eef5ff}.teacher-mobile-filled strong{font-size:12px;flex:0 0 auto;color:#153d78}.teacher-mobile-filled span{font-size:12px;color:#526b92;overflow:hidden;text-overflow:ellipsis}.teacher-mobile-filled em{font-style:normal;font-size:10px;color:#316bc4;margin-left:auto;white-space:nowrap}
 .teacher-mobile-empty{color:#456c9f;font-size:12px;font-weight:700}
 .teacher-mobile-filled:focus-visible,.teacher-mobile-empty:focus-visible,.teacher-mobile-day:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}
 .teacher-schedule-page .teacher-daylist-heading,.teacher-schedule-page .week-grid{display:none}
 .teacher-work-mode{padding:0 14px 10px;gap:6px}
 .teacher-work-mode>.teacher-grid-toggle{font-size:11px;padding:6px 8px}
 .teacher-work-mode>small{font-size:10.5px}
 .teacher-grid-tools{padding:0 14px 10px}
 .teacher-grid-foot{padding:10px 14px 12px}
}

/* v1.4.17 — true 8 / 12 row selection; stored lessons never vanish */
.teacher-grid-view-choices{display:inline-flex;gap:3px;border:1px solid #d4e0f5;background:#f4f7fc;border-radius:11px;padding:3px}
.teacher-grid-view-choices>.teacher-grid-toggle{border:0;min-height:33px;padding:6px 13px;background:transparent}
.teacher-grid-view-choices>.teacher-grid-toggle.is-active{background:#fff;box-shadow:0 1px 5px #0b1f4d16;color:#1a50a7}
.teacher-grid-overflow{padding:13px 18px 16px;border-top:1px solid #e5ebf4;background:#fffcf6}
.teacher-grid-overflow-head{display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;margin-bottom:11px}
.teacher-grid-overflow-head strong{font-size:13px;color:#805020}
.teacher-grid-overflow-head span{font-size:12px;color:#755b3e;flex:1 1 220px}
.teacher-grid-overflow-head .teacher-grid-toggle{min-height:32px;background:#fff}
.teacher-grid-overflow-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px}
.teacher-grid-overflow-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;border-radius:10px;border:1px solid #f1dcb3;background:#fff;color:#21436e;font:inherit;text-align:left;cursor:pointer}
.teacher-grid-overflow-item strong{font-size:12px;color:#744717}
.teacher-grid-overflow-item span{font-size:12px}
.teacher-grid-overflow-item em{font-size:11px;color:#346cb8;font-style:normal;font-weight:750}
.teacher-grid-overflow-item:hover,.teacher-grid-overflow-item:focus-visible{border-color:#4d81d5;outline:2px solid #2563eb;outline-offset:1px}
@media(max-width:780px){.teacher-grid-overflow{padding:12px 14px}.teacher-grid-overflow-items{grid-template-columns:1fr 1fr}.teacher-grid-overflow-head{align-items:flex-start}}
@media(max-width:430px){.teacher-grid-overflow-items{grid-template-columns:1fr}}

/* v1.4.18: period numbers are stable rows, not cross-day clock times */
.teacher-schedule-matrix thead th:first-child{width:92px}
.teacher-schedule-matrix tbody th{font-size:12px}
.teacher-grid-lesson small{line-height:1.4}
.teacher-grid-lesson{width:calc(100% - 5px)}
.teacher-period-map{margin:0 14px 16px;padding:16px;border:1px solid #f0d8a7;border-radius:14px;background:#fffcf6}
.teacher-period-map-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.teacher-period-map-head strong{font-size:15px;color:#765016}
.teacher-period-map-head p{margin:6px 0 0;color:#745a34;font-size:12.5px;line-height:1.5;max-width:760px}
.teacher-period-map-head .primary-button{font-size:12px;white-space:nowrap}
.teacher-period-legacy-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:12px}
.teacher-period-legacy-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #ecd5ad;border-radius:10px;padding:10px 12px;background:white;color:#203e63;font:inherit;text-align:left;cursor:pointer}
.teacher-period-legacy-tile strong,.teacher-period-legacy-tile span{font-size:12px}
.teacher-period-legacy-tile em{font-size:11px;color:#3269b2;font-style:normal}
.teacher-period-map-list{margin-top:12px;display:grid;gap:6px}
.teacher-period-map-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:white;border:1px solid #eadcc5;padding:9px 12px;border-radius:10px}
.teacher-period-map-row>span{display:flex;flex-direction:column;gap:3px;min-width:0}
.teacher-period-map-row strong{font-size:12px;color:#254368}
.teacher-period-map-row small{font-size:12px;color:#607796}
.teacher-period-map-row select{width:178px;max-width:52%;font-size:12px;padding:8px;border:1px solid #cbd8ea;border-radius:9px;background:white;color:#15345a}
.teacher-period-map-tip{font-size:12px;color:#72542d;line-height:1.5;margin:10px 0}
.teacher-period-map-actions{display:flex;gap:9px;flex-wrap:wrap}
.teacher-period-map-actions button{font-size:12px}
.teacher-grid-overflow{padding:12px 18px}
.teacher-schedule-matrix tbody th span{white-space:nowrap}
.teacher-mobile-period{width:82px}
.teacher-mobile-filled small{display:block;font-size:11px;color:#607493}
@media(max-width:780px){.teacher-period-map{margin:0 10px 12px;padding:12px}.teacher-period-map-row select{width:140px}.teacher-period-map-head .primary-button{width:100%}}
/* Keep ordinal and optional bell time legible in compact daily rows. */
.teacher-schedule-page .schedule-time{min-width:67px;line-height:1.25}
.teacher-schedule-page .schedule-time small{display:block;margin-top:3px;font-size:10px;line-height:1.2;color:#7486a1;font-weight:500}

/* v1.4.20 — Safe bulk weekly schedule editor (with deletion preview) */
.teacher-grid-count{font-size:12px;white-space:normal;min-width:max-content}
.teacher-bulk-open{background:#eaf1ff;border-color:#b7ccef;color:#174582;font-weight:800}
.teacher-bulk-editor{margin:0 14px 16px;padding:17px;border:1px solid #bfceed;border-radius:15px;background:linear-gradient(155deg,#f6f9ff,#fff)}
.teacher-bulk-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.teacher-bulk-title h3{font-size:18px;color:#0b1f4d;margin:0 0 5px}
.teacher-bulk-title p{font-size:12.5px;color:#536d92;max-width:790px;line-height:1.5;margin:0}
.teacher-bulk-head,.teacher-bulk-row{display:grid;grid-template-columns:minmax(130px,1.05fr) minmax(110px,.85fr) minmax(100px,.75fr) minmax(138px,1fr) minmax(130px,.98fr) minmax(150px,1.13fr) minmax(94px,.75fr);gap:10px;align-items:end}
.teacher-bulk-head{font-weight:800;font-size:11px;color:#526b92;padding:0 9px 7px;align-items:end}
.teacher-bulk-row{padding:11px 9px;border-top:1px solid #e5ecf6;background:#fff}
.teacher-bulk-row:nth-child(even){background:#f8fbff}
.teacher-bulk-row-name{align-self:center}.teacher-bulk-row-name strong{display:block;color:#15375e;font-size:12px}
.teacher-bulk-row-name span{display:block;color:#758aa5;font-size:10px;margin-top:3px}
.teacher-bulk-row label{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;font-size:10px;font-weight:700;color:#4b6284;min-width:0;min-height:53px}
.teacher-bulk-row label small{font-size:9px;font-weight:500}.teacher-bulk-row label.bulk-field-time>small{display:none}
.teacher-bulk-row input,.teacher-bulk-row select{width:100%;max-width:100%;min-width:0;background:#fff;border:1px solid #d0dced;border-radius:8px;color:#1d395f;padding:8px 6px;font-size:12px;min-height:36px}
.teacher-bulk-row input:focus-visible,.teacher-bulk-row select:focus-visible{outline:2px solid #2563eb;outline-offset:1px}
.teacher-bulk-row-tools{display:flex;align-self:end;justify-content:flex-end;min-height:36px;align-items:center}
.teacher-bulk-row-tools .ghost-button{font-size:11px;padding:7px 8px;white-space:nowrap}
.teacher-bulk-time-wrap{display:flex;align-items:stretch;min-width:0;gap:4px}
.teacher-bulk-time-wrap input{flex:1;min-width:0;width:0}
.teacher-bulk-time-wrap .teacher-bulk-time-clear{border:1px solid #d0dced;background:#fff;border-radius:8px;color:#536d92;min-width:27px;font-size:18px;cursor:pointer}
.teacher-bulk-time-clear:hover{background:#eaf4ff;color:#204b83}
.teacher-bulk-marked-delete{background:#fff2f2!important;border-left:3px solid #cc4050}
.teacher-bulk-conflict{outline:2px solid #d32f47;outline-offset:-2px;background:#fff2f4!important}
.teacher-bulk-warnings{background:#fff7e8;border:1px solid #e9c88c;border-radius:9px;padding:11px;margin:9px 0;color:#8a5606}
.teacher-bulk-warnings ul{padding-left:18px;margin:5px 0}
.teacher-bulk-warnings li{color:#815109}
.teacher-bulk-marked-delete label{opacity:.4}
.teacher-bulk-delete-label{color:#af3347;font-size:10px;line-height:1.4;margin-top:5px}
.teacher-bulk-delete-toggle[aria-pressed=true],.teacher-bulk-delete-preview{color:#aa3343}
.teacher-bulk-remove{grid-column:1/-1;justify-self:end}
.teacher-bulk-actions,.teacher-bulk-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}
.teacher-bulk-actions span{font-size:11px;color:#6a7f9d}
.teacher-bulk-footer{justify-content:flex-end}
.teacher-bulk-preview{background:#eaf4ff;border:1px solid #a9c8ed;padding:15px;border-radius:12px;margin-top:12px}
.teacher-bulk-preview h4{font-size:15px;margin:0 0 6px;color:#123766}
.teacher-bulk-preview p{font-size:12px;color:#4f6587;line-height:1.5;margin:6px 0}
.teacher-bulk-preview ul{margin:10px 0;padding-left:22px;max-height:320px;overflow-y:auto}
.teacher-bulk-preview li{font-size:12px;color:#244c81;margin:5px 0}
.teacher-bulk-preview li small{display:block;color:#637c9b}
.teacher-bulk-safe-note{font-size:11px!important}
@media(max-width:1100px){
  .teacher-bulk-head{display:none}
  .teacher-bulk-row{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:11px;border:1px solid #e1eaf7;margin:8px 0;gap:9px;align-items:end}
  .teacher-bulk-row-name{grid-column:1/-1}
  .teacher-bulk-row .bulk-field-subject{grid-column:1/-1}.teacher-bulk-row-tools{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:600px){
  .teacher-bulk-editor{margin:0 9px 12px;padding:12px}
  .teacher-bulk-row{padding:10px 8px;gap:8px}
  .teacher-bulk-title h3{font-size:16px}
  .teacher-bulk-title .ghost-button{width:100%}
  .teacher-bulk-footer{justify-content:stretch}
  .teacher-bulk-footer button{flex:1 1 100%}
  .teacher-grid-count{font-size:11px}
}

/* v1.4.22 — One editable classroom field, first column; no duplicated old-class control. */
.teacher-bulk-head,.teacher-bulk-row{grid-template-columns:minmax(123px,1fr) minmax(110px,.9fr) minmax(105px,.82fr) minmax(140px,1.06fr) minmax(175px,1.36fr) minmax(100px,.74fr);align-items:start}
.teacher-bulk-row label{justify-content:flex-start;min-height:54px}
.teacher-bulk-row-status{grid-column:1/-1;font-size:10.5px;line-height:1.55;color:#657994;padding:1px 2px 0;overflow-wrap:anywhere}
.teacher-bulk-changed{box-shadow:inset 3px 0 #b97a27;background:#fffbf2!important}
.teacher-bulk-changed .teacher-bulk-row-status{color:#865815;font-weight:600}
.teacher-bulk-marked-delete .teacher-bulk-row-status{color:#b3394b;font-weight:650}
.teacher-bulk-row-tools{align-self:start;padding-top:18px}
.teacher-bulk-remove{grid-column:auto;justify-self:stretch}
.teacher-bulk-row [hidden],.teacher-bulk-preview [hidden]{display:none!important}
@media(max-width:1100px){
 .teacher-bulk-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .teacher-bulk-row .bulk-field-subject,.teacher-bulk-row-status{grid-column:1/-1}
 .teacher-bulk-row-tools{grid-column:1/-1;justify-content:flex-end;padding-top:0}
}
@media(max-width:600px){
 .teacher-bulk-row{gap:10px}
 .teacher-bulk-row label{min-height:0}
 .teacher-bulk-row-status{font-size:11px}
}

/* v1.4.23 · Sınıf-odaklı program sihirbazı */
.class-plan-launch{white-space:normal;min-height:38px;padding:9px 14px}
.class-plan-wizard{margin:14px 8px 20px;padding:23px;border:1px solid #ccdaf2;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#fff)}
.class-plan-top{display:flex;align-items:start;justify-content:space-between;gap:18px}
.class-plan-top h2{font-size:21px;line-height:1.3;margin:5px 0 7px;color:#203a63}
.class-plan-top p{font-size:13px;line-height:1.7;color:#556782;margin:0}
.class-plan-top small{font-weight:800;letter-spacing:.08em;color:#3d72b7}
.class-plan-top>button{flex:0 0 auto}
.class-plan-steps{display:flex;gap:8px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid #e5ecf6;margin-bottom:18px}
.class-plan-steps button{border:1px solid #d7e2f4;background:#fff;border-radius:999px;padding:10px 16px;color:#506681;font-size:12px;font-weight:750;cursor:pointer}
.class-plan-steps .is-current{background:#e8f0ff;border-color:#83abec;color:#154687}
.class-plan-steps button:disabled{opacity:.45;cursor:default}
.class-plan-step h3{font-size:18px;color:#203d66;margin:2px 0 8px}
.class-plan-step h4{font-size:14px;color:#26476f;margin:20px 0 10px}
.class-plan-step p{font-size:13px;line-height:1.65;color:#546782}
#classPlanNamesForm{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:16px 0}
.class-plan-name-entry{display:grid;gap:7px;flex:1 1 265px;font-size:12px;font-weight:750;color:#405674}
.class-plan-name-entry input{width:100%;padding:11px 13px;border:1px solid #ccd8eb;border-radius:10px;background:#fff;color:#233b63}
.class-plan-class-list{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0 18px}
.class-plan-class-chip{border:1px solid #ccdced;border-radius:13px;background:#fff;color:#2a456c;padding:10px 16px;min-width:96px;cursor:pointer;text-align:left;display:grid;gap:3px}
.class-plan-class-chip strong{font-size:14px}.class-plan-class-chip small{font-size:11px;color:#637996}
.class-plan-class-chip.is-active{border-color:#3e7cce;background:#e9f3ff;box-shadow:inset 0 0 0 1px #3e7cce}
.class-plan-selected{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:14px}
.class-plan-selected strong{font-size:19px;color:#20456f}
.class-plan-selected p{margin:4px 0 9px}
.class-plan-weekend{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#395575;margin:9px 0}
.class-plan-matrix-wrap{max-width:100%;overflow-x:auto;border:1px solid #d9e3ef;border-radius:13px;background:white}
.class-plan-matrix{width:100%;border-collapse:separate;border-spacing:0;min-width:650px;table-layout:fixed}
.class-plan-matrix th,.class-plan-matrix td{border-bottom:1px solid #ebeff5;border-right:1px solid #ebeff5;text-align:center;padding:4px;font-size:11px}
.class-plan-matrix th{padding:10px 4px;color:#325277;background:#f5f9fe}
.class-plan-matrix th:first-child{width:55px}
.class-plan-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:37px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:10px;overflow-wrap:anywhere}
.class-plan-cell small{font-size:9px}.class-plan-cell.is-empty{color:#457cbe;font-size:18px;cursor:pointer}
.class-plan-cell.is-empty:hover{background:#ecf4ff}.class-plan-cell.has-own{background:#e9f3ff;border-color:#b2cbed;color:#224c7e;cursor:pointer;font-weight:700}
.class-plan-cell.is-busy{background:#f1f3f7;color:#76849a}
.class-plan-row-head{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.class-plan-rows{display:grid;gap:9px}
.class-plan-lesson-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(100px,1fr) minmax(100px,.9fr) minmax(120px,1fr) minmax(170px,1.5fr) minmax(95px,.8fr);gap:9px;align-items:end;background:#fff;border:1px solid #dce7f3;border-radius:13px;padding:12px}
.class-plan-lesson-row label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#48617d;min-width:0}
.class-plan-lesson-row select,.class-plan-lesson-row input{border:1px solid #d4dfee;background:#fff;border-radius:8px;padding:8px;min-height:37px;width:100%;min-width:0;font-size:12px;color:#233b61}
.class-plan-lesson-row button{align-self:end;min-height:37px;padding:6px 9px}
.class-plan-lesson-row small{grid-column:1/-1;font-size:10px;color:#69809d}
.class-plan-lesson-row.is-deleted{opacity:.6;background:#fff5f5}
.class-plan-lesson-row.is-deleted input,.class-plan-lesson-row.is-deleted select{text-decoration:line-through}
.class-plan-empty{border:1px dashed #c9d7e8;border-radius:12px;padding:14px;text-align:center}
.class-plan-footer{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}
.class-plan-tip{background:#f1f6fd;border-radius:10px;padding:12px;font-size:12px!important}
.class-plan-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:16px 0}
.class-plan-totals>div{background:#f2f7fd;border:1px solid #d9e7fa;border-radius:12px;padding:13px;display:grid;gap:4px}
.class-plan-totals strong{font-size:23px;color:#214b82}.class-plan-totals small{font-size:11px;color:#667d99}
.class-plan-change-list{max-height:310px;overflow:auto;padding-left:24px;font-size:12px;line-height:1.7;color:#526984;overflow-wrap:anywhere}
.class-plan-warning{background:#fff8e7;border:1px solid #f0d8a6;border-radius:10px;padding:12px;color:#80601e}
@media(max-width:1000px){.class-plan-lesson-row{grid-template-columns:repeat(3,minmax(0,1fr))}.class-plan-lesson-row .class-plan-subject{grid-column:span 2}}
@media(max-width:620px){.class-plan-wizard{margin:10px 0 16px;padding:14px}.class-plan-top{flex-direction:column}.class-plan-top h2{font-size:18px}.class-plan-steps button{padding:9px 11px}.class-plan-lesson-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.class-plan-lesson-row .class-plan-subject{grid-column:1/-1}.class-plan-lesson-row button{grid-column:1/-1}.class-plan-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.class-plan-selected{align-items:start;flex-direction:column}.class-plan-footer button{flex:1}}

.class-plan-class-entry{position:relative;display:flex;align-items:stretch;gap:3px}.class-plan-remove-class{align-self:center;background:#fff;border:1px solid #d8e2ef;color:#a04a53;border-radius:9px;min-height:31px;min-width:27px;font-size:17px;cursor:pointer}.class-plan-remove-class:hover{background:#fff0f1}


/* v1.4.24 — Day-first teacher program: one day, one list, no class setup step. */
.day-plan-wizard{max-width:100%;background:linear-gradient(135deg,#f9fcff 0%,#fff 80%)}
.day-plan-progress{display:flex;gap:15px;flex-wrap:wrap;align-items:center;padding:14px 0;color:#49617f;font-size:12px}
.day-plan-progress strong{font-size:16px;color:#183f72}.day-plan-saved{margin-left:auto;color:#38775a}.day-plan-saved span{color:#36a574}
.day-plan-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:8px 0 22px}
.day-plan-tab{border:1px solid #d1e0f1;border-radius:13px;min-height:65px;background:#fff;color:#294c78;font-size:13px;font-weight:750;cursor:pointer;display:grid;place-content:center;gap:4px;text-align:center;padding:10px 4px}
.day-plan-tab small{font-weight:500;color:#7990a9;font-size:11px}.day-plan-tab.is-active{background:#e6f1ff;border-color:#438cf0;box-shadow:0 0 0 1px #438cf0;color:#144b91}
.day-plan-tab:focus-visible{outline:3px solid #467ce9;outline-offset:3px}
.day-plan-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin:12px 0 16px}
.day-plan-head h3{font-size:19px;color:#173e6d;margin:0 0 5px}.day-plan-head p{margin:0;color:#61718d;font-size:12px}
.day-plan-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.day-plan-options label{font-size:12px;color:#546787;display:flex;align-items:center;gap:6px}
.day-plan-slots{display:grid;gap:9px}.day-plan-slot{min-width:0}
.day-plan-empty{display:grid;grid-template-columns:83px 1fr auto;align-items:center;gap:12px;background:#f9fbff;border:1px dashed #cbdcf1;border-radius:12px;padding:10px 13px;min-height:56px}
.day-plan-empty strong{color:#244d7d;font-size:13px}.day-plan-empty span{color:#8797ac;font-size:12px}.day-plan-empty button{padding:8px 12px}
.day-plan-row{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(110px,1fr) minmax(155px,1.6fr) minmax(115px,1fr) minmax(110px,.9fr) auto;align-items:center;gap:9px;background:#fff;border:1px solid #d7e5f6;border-radius:12px;padding:11px}
.day-plan-row-name{display:grid;gap:4px;color:#254d78;font-size:13px}.day-plan-row-name small{font-size:10px;color:#7487a0}
.day-plan-row label{display:grid;gap:5px;font-size:11px;color:#546889;font-weight:700;min-width:0}
.day-plan-row label input,.day-plan-row label select{min-height:39px;width:100%;border:1px solid #ccd9ed;border-radius:9px;padding:8px 9px;color:#263e62;background:#fff;font-size:12px}
.day-plan-row .class-plan-subject{grid-column:auto}.day-plan-row .day-plan-remove{align-self:center;min-height:39px}
.day-plan-row .day-plan-change-day{grid-column:2 / 4;display:flex;align-items:center;gap:12px}.day-plan-row .day-plan-change-day select{width:170px}
.day-plan-row.is-legacy{border-color:#edd5a1;background:#fffdf6}.day-plan-legacy{margin:18px 0;border:1px solid #efd8a8;background:#fffaf0;padding:14px;border-radius:13px;display:grid;gap:10px}
.day-plan-legacy h4{font-size:15px;color:#775119;margin:0}.day-plan-legacy p{font-size:12px;margin:0 0 5px;color:#876f47}
.day-plan-pending-delete{margin-top:7px;opacity:.8}.day-plan-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin:22px 0 12px;font-size:12px;color:#526b8c}
.day-plan-footer>div{display:flex;gap:9px;flex-wrap:wrap}.day-plan-safety{font-size:11px;background:#edf7f1;border:1px solid #cfe7d8;padding:12px;border-radius:10px;color:#467458}
.day-plan-review{margin-top:22px;padding-top:22px;border-top:2px solid #dae7f6}.day-plan-review h3{font-size:19px;color:#1b497d}
@media(max-width:1080px){.day-plan-row{grid-template-columns:85px minmax(120px,1fr) minmax(160px,2fr) minmax(110px,1fr)}.day-plan-row .day-plan-remove{grid-column:4}.day-plan-row .day-plan-change-day{grid-column:2 / 4}}
@media(max-width:720px){.day-plan-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.day-plan-tab{min-height:51px;padding:7px 4px;font-size:12px}.day-plan-head{flex-direction:column}.day-plan-progress{gap:10px}.day-plan-saved{margin-left:0}.day-plan-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.day-plan-row-name{grid-column:1/-1}.day-plan-row .class-plan-subject{grid-column:1/-1}.day-plan-row .day-plan-remove{grid-column:2}.day-plan-row .day-plan-change-day{grid-column:1/-1;display:grid;gap:5px}.day-plan-row .day-plan-change-day select{width:100%}.day-plan-empty{grid-template-columns:60px 1fr auto;gap:5px;padding:8px;font-size:11px}.day-plan-empty button{font-size:11px;padding:6px 8px}.day-plan-footer>div{width:100%}.day-plan-footer button{flex:1}.day-plan-saved{flex-basis:100%}}


/* v1.4.25: one physical class, many lessons, accessible compact cards */
.class-subject-selector{border:1px solid #d7e4f5;background:#fff;border-radius:18px;padding:16px 18px;margin:14px 0 20px;min-width:0}
.class-subject-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:11px;color:#193a69}
.class-subject-head span{font-size:12px;color:#627893}
.class-subject-buttons{display:flex;flex-wrap:wrap;gap:9px;min-width:0;margin-top:10px}
.class-subject-button{border:1px solid #d7e3f6;border-radius:11px;background:#f7faff;padding:9px 12px;color:#2855a0;font-weight:700;font-size:13px;max-width:100%;overflow-wrap:anywhere;text-align:left;cursor:pointer}
.class-subject-button:hover,.class-subject-button:focus-visible{background:#eaf2ff;border-color:#88b4ee}
.class-subject-button.is-active{background:#e9f2ff;color:#143e91;border-color:#568eee;box-shadow:0 0 0 1px rgba(50,109,225,.17)}
.class-subject-action{display:flex;justify-content:flex-end;margin-top:13px}
.class-card-subjects{margin:12px 0;padding:12px;background:#f8faff;border-radius:13px;min-width:0}
.class-card-subjects>strong{font-size:13px;color:#354b6d}
.class-card .class-name,.class-card .class-meta,.class-card .class-copy{overflow-wrap:anywhere;min-width:0}
.class-card .class-top{gap:12px;flex-wrap:wrap;align-items:flex-start}
.class-card .class-actions{gap:10px;flex-wrap:wrap}
.class-card .class-actions button{min-width:0;flex:1 1 140px;white-space:normal;line-height:1.35}
.active-lesson-context{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#f1f6ff;padding:12px 15px;border:1px solid #d9e5fa;border-radius:12px;margin:10px 0;color:#3c5477}
.share-back-link,.share-class-link{display:inline-flex;margin-bottom:12px;margin-right:8px}
.share-subject-label{display:block;color:#355fac;font-weight:700;margin:4px 0}
.student-teacher-stats>div,.share-layout>*{min-width:0}
.share-hero,.share-code,.student-teacher-stats,.student-follow-grid{overflow-wrap:anywhere}
.share-code strong{overflow-wrap:anywhere;word-break:break-word}
.academic-mini-notice{border:1px solid #d8e6f7;border-radius:13px;background:#f5f9ff;padding:16px 20px;color:#466080;line-height:1.55;margin-bottom:16px}
@media(max-width:760px){.class-subject-selector{padding:13px}.class-subject-action{justify-content:stretch}.class-subject-action .primary-button{width:100%}.class-subject-head{display:block}.class-card .class-actions button{flex-basis:100%}}

.pulse.unrated{background:#9da7bb}
.pulse-bars{grid-template-columns:repeat(4,minmax(0,1fr))}
.share-layout input,.share-layout select,.share-layout textarea{max-width:100%;min-width:0}
.share-code,.share-hero>*,.share-layout .form-card{min-width:0}
@media(max-width:700px){.pulse-bars{grid-template-columns:repeat(2,minmax(0,1fr))}.pulse-stat{min-width:0}}

.subject-progress-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px 16px 16px;background:#f8faff;border:1px solid #dfe8f7;border-radius:16px;margin:-6px 0 19px}
.subject-progress-heading{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#2b4d7d}
.subject-progress-heading span{font-size:12px;color:#637d9e}
.subject-progress-form label{font-weight:700;color:#354c70;font-size:13px;display:grid;gap:7px;min-width:0}
.subject-progress-form input{border:1px solid #d3dfee;background:#fff;border-radius:10px;padding:10px 12px;min-height:42px;width:100%;min-width:0;font-weight:500;color:#213858}
.subject-progress-form button{min-width:170px;min-height:42px}
@media(max-width:920px){.subject-progress-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.subject-progress-form button{grid-column:1/-1}}
@media(max-width:520px){.subject-progress-form{grid-template-columns:1fr}.subject-progress-form button{grid-column:auto;width:100%}}

/* v1.4.26 — compact, consistent teacher lesson workflow. All form fields remain in DOM
   even when their section is collapsed, so save, export and form validation retain data. */
.lesson-subject-strip{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin:4px 0 12px;background:#f5f8ff;border:1px solid #dae6fa;border-radius:13px;color:#365279;font-size:13px}
.lesson-subject-strip .link-button{font-size:12px}
.academic-form .lesson-stage{display:block!important;padding:0!important;overflow:hidden;max-width:1120px;scroll-margin-top:22px}
.lesson-stage>summary{display:flex;align-items:center;gap:13px;padding:16px 19px;cursor:pointer;list-style:none;background:#fff}
.lesson-stage>summary::-webkit-details-marker{display:none}
.lesson-stage>summary:focus-visible{outline:3px solid #6f9fff;outline-offset:-3px}
.lesson-stage-number{display:grid;place-items:center;width:34px;height:34px;flex:none;background:#edf4ff;border-radius:11px;color:#355ec6;font-size:12px;font-weight:800}
.lesson-stage-title{flex:1;min-width:0;display:grid;gap:3px}
.lesson-stage-title strong{font-size:16px;line-height:1.35;color:#173665}
.lesson-stage-title small{font-size:12px;line-height:1.4;color:#6a7c96;overflow-wrap:anywhere}
.lesson-stage-toggle{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:#eef4ff;color:#3560b6;font-size:16px}
.lesson-stage-toggle::before{content:'+'}
.lesson-stage[open]>.lesson-stage-summary{border-bottom:1px solid #e7edf7}
.lesson-stage[open]>.lesson-stage-summary .lesson-stage-toggle::before{content:'−'}
.lesson-stage-body{display:grid;gap:12px;padding:17px 19px 20px}
.lesson-stage-body label{min-width:0}
.lesson-stage-body textarea{min-height:88px}
.lesson-stage-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:#6a7c96;font-size:12px}
.academic-form .academic-footer{max-width:1120px;border-top:1px solid #e1e9f5;padding-top:13px}
.academic-form .academic-buttons{justify-content:flex-end}
.share-back-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 5px}
.share-back-nav .back-button{margin:0!important}
.attendance-panel .family-muted{line-height:1.55;overflow-wrap:anywhere;max-width:100%}
.attendance-panel .panel-head{gap:12px}
.attendance-panel .attendance-controls>*{min-width:0}
.attendance-panel .attendance-controls select{overflow:hidden;text-overflow:ellipsis}
@media(max-width:620px){
  .lesson-stage>summary{padding:13px 13px;gap:10px}
  .lesson-stage-body{padding:13px;gap:12px}
  .lesson-stage-title strong{font-size:14px}
  .lesson-stage-title small{font-size:11px}
  .lesson-stage-number{width:30px;height:30px}
  .lesson-subject-strip{padding:10px 12px}
  .academic-form .academic-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .academic-form .academic-buttons>*{flex:1 1 150px;white-space:normal}
  .attendance-panel .attendance-controls{grid-template-columns:1fr}
}
/* Attendance form aligns with panel heading, including narrow mobile view. */
.attendance-panel>.family-muted{padding-left:18px;padding-right:18px}
.attendance-panel>.attendance-form{padding:0 18px 18px}
@media(max-width:620px){.attendance-panel>.family-muted{padding-left:14px;padding-right:14px}.attendance-panel>.attendance-form{padding:0 14px 14px}}


/* v1.4.27 — Responsive overflow polish. Pure presentation; no data changes. */
/* Dashboard: four pulse states must adapt to a narrow right-hand column,
   not be forced into four unreadably narrow cells. */
.dashboard .pulse-bars,
.pulse-summary .pulse-bars{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));
  gap:10px;
}
.pulse-stat{min-width:0;max-width:100%;box-sizing:border-box}
.pulse-stat span{
  display:block;
  max-width:100%;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  line-height:1.4;
}
.pulse-stat strong{display:block;line-height:1.2}
/* Teacher's day-first program: native mobile time pickers can have a
   substantial intrinsic width (including the OS "Ayarla" control). */
.day-plan-wizard,
.day-plan-slots,
.day-plan-slot,
.day-plan-row,
.day-plan-row > *,
.day-plan-row label,
.day-plan-empty,
.day-plan-empty > *{min-width:0;max-width:100%;box-sizing:border-box}
.day-plan-row label input,
.day-plan-row label select{
  min-width:0;
  max-width:100%;
  width:100%;
  box-sizing:border-box;
}
.day-plan-row label input[type="time"]{
  min-inline-size:0;
  max-inline-size:100%;
  overflow:hidden;
  font-variant-numeric:tabular-nums;
}
@media(max-width:720px){
  .day-plan-row label:has(input[name="cpTime"]){grid-column:1/-1}
  .day-plan-row .day-plan-remove{max-width:100%;white-space:normal}
  .day-plan-row .day-plan-change-day select{max-width:100%}
}
@media(max-width:410px){
  .day-plan-row{grid-template-columns:minmax(0,1fr)}
  .day-plan-row .day-plan-row-name,
  .day-plan-row .class-plan-subject,
  .day-plan-row .day-plan-remove,
  .day-plan-row .day-plan-change-day,
  .day-plan-row label:has(input[name="cpTime"]){grid-column:1/-1}
  .day-plan-row .day-plan-remove{width:100%}
  .day-plan-empty{grid-template-columns:58px minmax(0,1fr)}
  .day-plan-empty button{grid-column:1/-1;justify-self:stretch;white-space:normal}
}

/* v1.4.28 — teacher-owned weekly topic planner */
.topic-plan-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.topic-plan-intro>div:first-child{min-width:220px;flex:1}
.topic-plan-intro p,.topic-plan-list-head p{color:var(--muted,#63728d);line-height:1.6;margin:6px 0}
.topic-plan-intro .academic-source-links{max-width:650px}
.topic-plan-main-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.topic-plan-main-select label,.topic-plan-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:650;min-width:0;color:#253a60}
.topic-plan-main-select input,.topic-plan-main-select select,.topic-plan-form input,.topic-plan-form textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box;border-radius:12px;border:1px solid #d4def0;padding:12px 13px;background:white;color:#13294f;font:inherit;font-size:14px}
.topic-plan-main-select input[readonly]{background:#f4f6fc}
.topic-plan-panel{margin-bottom:16px}
.topic-plan-weeknav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #dfe7f5;border-radius:14px;background:#f6f9ff;margin:0 0 17px;flex-wrap:wrap}
.topic-plan-weeknav>div{display:flex;flex-direction:column;text-align:center;gap:3px}
.topic-plan-weeknav small{font-size:12px;color:#7483a1}
.topic-plan-form{display:flex;flex-direction:column;gap:14px;min-width:0}
.topic-plan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.topic-plan-required,.topic-required{color:#c14b4b}
.topic-plan-saved-status{font-size:12px;color:#386d67;margin:0}
.topic-plan-caution{background:#fffaef;border:1px solid #f2daa8;color:#7f571b;border-radius:12px;padding:13px;line-height:1.55;font-size:13px}
.topic-plan-buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.topic-plan-buttons .primary-button,.topic-plan-buttons .ghost-button{max-width:100%;white-space:normal}
.topic-plan-list-head{display:flex;justify-content:space-between;gap:10px}
.topic-plan-list-head h3{font-size:17px;margin:0}
.topic-plan-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid #e5eaf5;min-width:0}
.topic-plan-item-main{display:flex;flex:1;flex-direction:column;text-align:left;align-items:flex-start;gap:4px;border:none;background:transparent;cursor:pointer;min-width:0;color:#1b345d}
.topic-plan-item-main strong{overflow-wrap:anywhere}
.topic-plan-item-main small{color:#657595;line-height:1.5}
.topic-plan-item-actions{display:flex;gap:6px;flex-wrap:wrap}
.topic-danger{color:#b84747!important}
.topic-plan-evrak-link{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:15px 18px;border:1px solid #d5e2f6;border-radius:16px;background:#f3f8ff;margin-bottom:15px}
.topic-plan-evrak-link p{margin:5px 0 0;color:#546e94;line-height:1.4}
@media(max-width:760px){.topic-plan-main-select{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-plan-item{align-items:flex-start;flex-direction:column}.topic-plan-weeknav{justify-content:center}.topic-plan-weeknav .ghost-button{flex:1}.topic-plan-weeknav>div{order:-1;width:100%}}
@media(max-width:460px){.topic-plan-main-select,.topic-plan-form-grid{grid-template-columns:minmax(0,1fr)}.topic-plan-buttons>*{flex:1 1 100%}.topic-plan-weeknav .ghost-button{white-space:normal}.topic-plan-item-actions{width:100%}.topic-plan-item-actions button{flex:1}}

/* v1.4.29 — weekly planner left-edge overflow and elementary-teacher flow. */
.topic-plan-intro,.topic-plan-panel,.topic-plan-list{padding:20px 22px!important;box-sizing:border-box;min-width:0;overflow:visible}
.topic-plan-intro>*,.topic-plan-panel>*,.topic-plan-list>*{min-width:0}
.topic-plan-list-head h3,.topic-plan-intro strong{overflow-wrap:break-word}
.topic-plan-main-select,.topic-plan-form,.topic-plan-form-grid{min-width:0;max-width:100%}
.topic-plan-main-select label,.topic-plan-form label{overflow-wrap:break-word}
.day-plan-primary-focus{margin:14px 0 7px;padding:14px 16px;background:#eef6ff;border:1px solid #bfd7f5;border-radius:13px}
.day-plan-primary-focus label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#234b7d;max-width:390px}
.day-plan-primary-focus input{height:42px;border:1px solid #a9c7ef;border-radius:10px;padding:8px 12px;font-size:15px;color:#163f70;background:#fff;min-width:0;width:100%;box-sizing:border-box}
.day-plan-primary-focus small{color:#526c8c;line-height:1.5;font-weight:400}
@media(max-width:720px){.topic-plan-intro,.topic-plan-panel,.topic-plan-list{padding:14px!important}.day-plan-primary-focus{padding:12px}}

/* v1.4.30: document studio, responsive teacher workflow */
.evrak-context{background:#f5f9ff;border:1px solid #d8e5fc;border-radius:14px;padding:15px;margin:0 0 17px;min-width:0}
.evrak-context>strong{display:block;font-size:13px;color:#243d69;margin-bottom:11px}
.evrak-context-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;min-width:0}
.evrak-import{display:flex;gap:9px;align-items:flex-end;margin-top:12px;min-width:0}
.evrak-import>.evrak-field{flex:1;min-width:0}
.evrak-import button{white-space:normal;min-height:42px;flex:0 0 auto}
.evrak-context-note{font-size:12px;line-height:1.5;color:#5c6f8d;overflow-wrap:anywhere;margin:11px 0 0}
.evrak-tile,.evrak-tile>*{min-width:0;overflow-wrap:anywhere}
.evrak-template-list{align-content:start}
.evrak-preview-head>*{min-width:0;overflow-wrap:anywhere}
.academic-buttons{flex-wrap:wrap;row-gap:8px}
.topic-plan-item-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:650px){.evrak-context-row{grid-template-columns:1fr}.evrak-import{flex-direction:column;align-items:stretch}.evrak-import button{width:100%}.evrak-layout,.evrak-main,.evrak-context{min-width:0}.evrak-template-list{grid-template-columns:repeat(2,minmax(0,1fr))}.evrak-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-plan-item-actions{justify-content:stretch}.academic-buttons .primary-button{flex:1 1 100%}}
@media(max-width:390px){.evrak-template-list{grid-template-columns:minmax(0,1fr)}.evrak-actions{grid-template-columns:minmax(0,1fr)}.evrak-actions .primary-button,.evrak-actions [data-evrak-export=\"pdf\"]{grid-column:auto}}

/* v1.4.31 — access-aware navigation and explicit save-flow guidance. */
#ownerNavButton[hidden], #managementNavButton[hidden] {display:none!important}
.today-student-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 15px;padding:13px 17px;border:1px solid #d2dff6;border-radius:14px;background:#f7faff;color:#214578}
.today-student-preview>div{display:grid;gap:4px;min-width:0}
.today-student-preview strong{font-size:13px}
.today-student-preview span{font-size:12px;color:#607594;line-height:1.4}
.today-student-preview .ghost-button{white-space:normal;min-height:40px;color:#214578;background:#fff;border-color:#c6d7f2}
.teacher-save-flow-note{margin:12px 16px 16px;padding:12px 14px;border:1px solid #dbe6fa;border-radius:12px;background:#f6f9ff;color:#4a6485;font-size:12.5px;line-height:1.6;overflow-wrap:anywhere}
.teacher-save-flow-note strong{color:#233f71}
@media(max-width:700px){.today-student-preview{align-items:stretch;flex-direction:column}.today-student-preview button{width:100%}.teacher-save-flow-note{margin:10px;padding:12px;font-size:12px}}
