:root{color:#15233a;font-synthesis:none;background:#f4f7fb;font-family:Cairo,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f4f7fb;min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.center-page{background:radial-gradient(circle at 100% 0,#dceeff,#f7f9fc 45%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card,.setup-card{text-align:center;background:#fff;border:1px solid #e5ebf3;border-radius:24px;width:min(440px,100%);padding:34px;box-shadow:0 18px 60px #1e426e1f}.brand-mark{color:#fff;background:linear-gradient(135deg,#0f4c81,#2188d9);border-radius:18px;place-items:center;width:64px;height:64px;margin:0 auto 14px;font-size:22px;font-weight:800;display:grid}.login-card h1,.setup-card h1{margin:6px 0}.login-card p,.setup-card p{color:#6d7c91}.mini-note{color:#68758a;background:#f4f7fb;border-radius:12px;margin-top:18px;padding:12px;font-size:13px}.loader{border:4px solid #d8e7f5;border-top-color:#0f4c81;border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.topbar{color:#fff;z-index:5;background:#0e3155;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:16px clamp(18px,4vw,52px);display:flex;position:sticky;top:0;box-shadow:0 4px 18px #0e31552e}.topbar h1{margin:0;font-size:22px}.topbar p{opacity:.72;margin:2px 0 0;font-size:13px}.top-actions{align-items:center;gap:12px;font-size:13px;display:flex}.card{background:#fff;border:1px solid #e4eaf2;border-radius:18px;box-shadow:0 8px 24px #1d3b5b0d}.layout{grid-template-columns:290px minmax(0,1fr);gap:22px;max-width:1600px;margin:0 auto;padding:24px clamp(16px,3vw,40px) 50px;display:grid}.sidebar{align-self:start;padding:18px;position:sticky;top:104px}.section-title,.day-head,.review-head,.student-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-title h2{margin:0;font-size:17px}.section-title span{color:#0f4c81;background:#eef6ff;border-radius:9px;place-items:center;min-width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.student-list{gap:8px;margin:14px 0 22px;display:grid}.student-item{text-align:right;color:#26364b;background:#f7f9fc;border:1px solid #0000;border-radius:12px;padding:11px 12px}.student-item.active{background:#edf7ff;border-color:#9bc8ef}.student-item strong,.student-item small{display:block}.student-item small{color:#7a8798;margin-top:4px}.add-student{border-top:1px solid #edf0f4;gap:8px;padding-top:16px;display:grid}.add-student h3{margin:0 0 4px;font-size:14px}input,textarea,select{color:#25354a;background:#fff;border:1px solid #dce3ed;border-radius:11px;outline:none;width:100%;padding:10px 12px}input:focus,textarea:focus,select:focus{border-color:#5ca9e9;box-shadow:0 0 0 3px #e7f3fe}.primary,.secondary,.ghost{border:0;border-radius:11px;padding:10px 15px;font-weight:700}.primary{color:#fff;background:#1264a3}.secondary{color:#0f4c81;background:#eaf5ff}.ghost{color:inherit;background:#ffffff1f;border:1px solid #ffffff38}.sidebar .ghost,.subjects .ghost,.review .ghost{color:#34516c;background:#f5f8fb;border-color:#dce5ee}button:disabled{opacity:.55;cursor:wait}.content{gap:18px;min-width:0;display:grid}.student-header{padding:20px 22px}.student-header h2{margin:3px 0;font-size:26px}.student-header p{color:#748195;margin:0}.eyebrow{text-transform:uppercase;color:#6d86a0;letter-spacing:.04em;font-size:11px;font-weight:800}.week-picker{min-width:160px}.week-picker label{color:#718298;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.subjects{gap:12px;padding:16px;display:grid}.subject-tabs{flex-wrap:wrap;gap:8px;display:flex}.subject-tabs button{color:#485c74;background:#f8fafc;border:1px solid #dfe7f0;border-radius:999px;padding:8px 13px}.subject-tabs button.active{color:#fff;background:#0f4c81;border-color:#0f4c81}.add-subject-row{gap:8px;display:flex}.add-subject-row input{max-width:280px}.days-grid{grid-template-columns:repeat(5,minmax(210px,1fr));align-items:start;gap:12px;display:grid}.day-card{min-height:310px;padding:14px}.day-head h3{margin:0;font-size:16px}.day-head span{color:#8794a5;font-size:11px}.upload-box{text-align:center;color:#285b82;cursor:pointer;background:#f5fbff;border:1.5px dashed #a9c7df;border-radius:13px;place-items:center;gap:2px;min-height:94px;margin:12px 0;display:grid}.upload-box input{display:none}.upload-box small{color:#7893a8;font-size:10px}.note-row{grid-template-columns:1fr auto;gap:6px;display:grid}.note-row textarea{resize:vertical;min-height:56px;font-size:12px}.note-row button{color:#355a78;background:#edf4fa;border:0;border-radius:9px;padding:0 10px}.file-list{gap:6px;margin-top:10px;display:grid}.file-item{background:#f8fafc;border:1px solid #edf1f5;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:8px;display:grid}.file-item strong{word-break:break-word;font-size:11px;display:block}.file-item small{-webkit-line-clamp:2;color:#8390a0;-webkit-box-orient:vertical;font-size:10px;display:-webkit-box;overflow:hidden}.file-item button{color:#c94b4b;background:#fff0f0;border:0;border-radius:7px;width:26px;height:26px}.review{padding:22px}.review-head h2{margin:3px 0}.review-head p{color:#718094;margin:0;font-size:13px}.review-actions{flex-wrap:wrap;gap:8px;display:flex}.review-placeholder{text-align:center;color:#8b98a8;background:#f8fafc;border-radius:14px;margin-top:18px;padding:34px}.review-output{gap:12px;margin-top:18px;display:grid}.review-output section,.review-output details{background:#f8fbfe;border:1px solid #e2eaf2;border-radius:14px;padding:14px 17px}.review-output h3{color:#164e78;margin:0 0 8px;font-size:15px}.review-output p,.review-output li{font-size:14px;line-height:1.9}.review-output summary{cursor:pointer;color:#164e78;font-weight:800}.notice{z-index:20;color:#fff;cursor:pointer;background:#142f49;border-radius:999px;padding:11px 18px;font-size:13px;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0003}.empty{text-align:center;padding:50px}.empty h2{margin-top:0}.empty p{color:#758396}@media (width<=1200px){.days-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{position:static}.days-grid{grid-template-columns:repeat(2,1fr)}.top-actions span{display:none}}@media (width<=620px){.topbar{padding:13px 15px}.topbar h1{font-size:18px}.layout{gap:12px;padding:14px 10px 40px}.student-header,.review-head{flex-direction:column;align-items:stretch}.week-picker{width:100%}.days-grid{grid-template-columns:1fr}.add-subject-row{flex-direction:column}.add-subject-row input{max-width:none}.review{padding:16px}.review-actions{flex-direction:column}.review-actions button{width:100%}}
