/* School Day — shared visual theme. Self-hosted assets, RTL and small screens. */
:root{--ink:#29364d;--muted:#657087;--paper:#fff;--canvas:#f5f6fa;--line:#e6e9f1;--violet:#6651bd;--violet-light:#efebfa;--teal:#12766e;--teal-light:#e6f4ef;--radius:20px;--shadow:0 6px 24px #29364d06}
body{color:var(--ink);background:var(--canvas);font-size:15px;line-height:1.9}a{color:var(--violet)}h1,h2,h3{color:inherit;letter-spacing:-.3px}h1{font-size:26px;font-weight:700;line-height:1.6}h2{font-size:19px;line-height:1.7}small,.muted{color:var(--muted);font-size:13px}.app-shell{grid-template-columns:238px minmax(0,1fr);gap:0;max-width:1660px;padding:12px}.side{margin:0 0 0 14px;border:1px solid var(--line);border-radius:24px;padding:19px 13px;background:#fff;height:calc(100dvh - 24px);top:12px;box-shadow:var(--shadow);scrollbar-width:thin;scrollbar-color:#d5d1e6 transparent}.brand{gap:10px;margin-bottom:26px;color:#3c4c64;font-size:16px;line-height:1.6}.brand small{font-size:12px;color:var(--muted);margin-top:4px}.brand-symbol{width:44px;height:44px;flex-shrink:0;background:transparent;border-radius:15px}.brand-symbol img{width:100%;height:100%;display:block}.nav-caption{font-size:11px;font-weight:500;color:#657087;margin:7px 13px 12px}.side nav a{padding:9px 11px;min-height:43px;border-radius:12px;color:#58677c;font-size:14px;line-height:1.5;gap:11px;margin-bottom:4px;transition:background .15s,color .15s}.side nav a img{width:24px;height:24px;flex-shrink:0}.side nav a:hover{background:#f5f6fa;color:#3b4d63}.side nav a.active{background:var(--teal-light);color:#11665e;box-shadow:inset -3px 0 #229385;font-weight:700}.topbar{background:transparent;border:0;padding:13px 18px 20px;min-height:83px}.topbar strong{font-size:17px}.topbar small{font-size:12px;margin-top:2px}.user-area{gap:12px}.user-area>span:first-child{font-size:13px;font-weight:500}.user-avatar{width:42px;height:42px;border:3px solid #fff;box-shadow:0 2px 9px #29364d0e;background:#ece8f8}.user-avatar .avatar-placeholder{object-fit:contain;width:29px;height:29px}.user-area .button.quiet{padding:7px 12px;min-height:36px;border-color:#dfe4eb;background:#fff;font-size:12px;color:#5e6b7e}.app-content{padding:6px 18px 25px;outline:none}.section-head{margin-bottom:20px;gap:14px}.section-head>.muted,.section-head p{margin:4px 0 0}.panel{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:20px}.panel summary{color:#42546c;font-size:15px;line-height:1.8}.panel[open]>summary{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}.panel:focus-within{border-color:#d2d9e7}.button{border-radius:12px;background:#f0edf9;border-color:#e4def4;color:#5b48a8;min-height:40px;font-size:14px;padding:9px 15px;transition:background .15s,box-shadow .15s}.button:hover{background:#e8e1f8}.button.primary{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 3px 7px #12766e13}.button.primary:hover{background:#0d625b;border-color:#0d625b}.button.quiet{background:#fff;color:#5d6b81;border-color:#dce2ed}.field{font-size:14px;gap:7px}.field>span{font-weight:600;color:#41526b}.field small{font-size:12px;line-height:1.8;color:#637089}input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#dce2eb;border-radius:12px;background:#fcfdff;padding:11px 13px;color:#29364d}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{background:#fff;border-color:#8b80c7}input[type=checkbox],input[type=radio]{accent-color:var(--violet);width:18px;height:18px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a89adf;outline-offset:3px}.check,.answer{font-size:14px;line-height:1.8}.datetime-field{border-color:#e4e0ef;background:#f8f7fc;border-radius:14px}.datetime-field legend{color:#5d5488;font-size:13px}.editor-section{border-color:#e5e7ef;background:#f8f9fc}.editor-section h3{color:#5d5488}.learning-form .datetime-field{border-color:#e3e0ed}.learning-form .upload-field{border-color:#c9d4dd;background:#fff}.question-block{border-color:#e1e4ee;background:#fff;border-radius:17px}.question-block legend{color:#594c98;font-size:15px}.answer{background:#f7f6fc;border:1px solid #ebe7f5;border-radius:12px}.answer:has(input:checked){background:#eae4f8;border-color:#ad9bde}.notice{border:1px solid #e2dbf3;background:#f2eefb;color:#574782}.notice.success{background:#e8f6ef;color:#1a6445;border-color:#cfeadb}.notice.error{background:#fff1f1;color:#983a46;border-color:#f3d6d9}.badge{background:#eee9f8;color:#5d4c96;border-radius:8px;font-size:12px;padding:4px 9px}.empty{color:#627089;border:1px dashed #d9dfeb;background:#fafbfd;border-radius:17px;font-size:14px;line-height:2;padding:28px 20px}table{font-size:14px}th{background:#f5f7fb;color:#596881;font-weight:600;padding:13px 12px}td{padding:13px 12px;border-color:#edf0f5}tbody tr:hover{background:#fbfbfe}.table-wrap{border-radius:12px}.list-row{border-color:#edf0f5}.stat{border-color:var(--line);background:#fff;border-radius:17px;padding:18px}.stat strong{font-size:23px;color:#405369}.profile-grid>div{background:#f5f7fb}.profile-photo-preview{background:#ece8f8;border-color:#e2dcef}.file{background:#f1edf9;color:#5d4c96;border:1px solid #e7e0f4}.attachments{gap:9px}.app-footer{padding:10px 18px 12px;font-size:12px;color:#657087;display:flex;justify-content:center;align-items:center;gap:7px}
/* Dashboard: illustration is decorative; every shortcut remains compact. */
.home-welcome{position:relative;isolation:isolate;border:1px solid #e2e4ef;background:linear-gradient(110deg,#e5f3ee 0%,#eff0fa 65%,#ede9f8 100%);color:#354a61;border-radius:23px;min-height:172px;padding:22px 26px;margin-bottom:24px;gap:16px}.home-welcome:before{content:"";position:absolute;width:270px;height:270px;background:#ffffff45;border-radius:50%;left:-80px;top:-130px;z-index:-1}.welcome-copy{position:relative;z-index:1;max-width:66%;min-width:0}.home-welcome h1{font-size:27px;line-height:1.65;color:#334861;margin:8px 0}.home-welcome p{color:#566881;font-size:14px;max-width:480px;margin-bottom:13px}.welcome-eyebrow{display:inline-flex;color:#52756d;background:#ffffff8c;border-radius:7px;padding:3px 9px;font-size:11px;font-weight:600}.welcome-tags{display:flex;flex-wrap:wrap;gap:7px}.welcome-tags>span{background:#ffffffb0;border:1px solid #ffffffa0;color:#516278;border-radius:8px;padding:3px 9px;font-size:11px}.welcome-illustration{width:260px;height:auto;max-width:36%;align-self:center;flex-shrink:0;filter:drop-shadow(0 8px 7px #6954ac0b)}.greeting-wave{font-size:.8em}.home-section-head{margin-bottom:14px}.home-section-head h2{font-size:19px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:25px}.quick-card{position:relative;border:1px solid #e7e4ef;background:#fff;box-shadow:var(--shadow);border-radius:17px;padding:15px 12px;min-height:98px;gap:11px;color:#3c4b62}.quick-card img{width:42px;height:42px;flex-shrink:0;padding:6px;background:#ffffffa8;border-radius:12px}.quick-card strong{font-size:15px;line-height:1.7;color:#38465f;font-weight:700}.quick-card small{font-size:11px;line-height:1.8;color:#647089;margin-top:3px}.quick-arrow{color:#736690;font-size:19px}.quick-card:hover{box-shadow:0 7px 18px #4d407f0b;transform:translateY(-2px);border-color:#cfc7e6}.tint-0{background:#fff7e3;border-color:#f3e8c9}.tint-1{background:#edf2fc;border-color:#e1e9f8}.tint-2{background:#fbeef4;border-color:#f3e0e9}.tint-3{background:#eaf5ef;border-color:#dcece3}.tint-4{background:#f1edfb;border-color:#e6dff5}.role-school_admin .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.icon-heading{display:flex;align-items:center;gap:10px}.icon-heading img{flex-shrink:0}.module-card{border:1px solid #e5e7ef;border-radius:18px}.module-card strong{font-size:17px}.module-card img,.pupil .module-card img{width:55px;height:55px}
/* Learning pages. */
.week-scroll{border-color:#e2dced;box-shadow:none}.week-table th{background:#eeebf8;color:#625291;font-size:14px}.week-table caption{color:#4b5971;font-size:14px;background:#fbfcff}.week-table td{border-color:#eeeaf4}.lesson-block{border-radius:12px;min-height:98px}.lesson-block strong{font-size:15px}.lesson-block small{color:#596779}.lesson-0{background:#efebfa}.lesson-1{background:#eaf2fb}.lesson-2{background:#e8f4ec}.lesson-3{background:#fff4df}.online-banner{background:#eaf3f5;border-color:#dcebed;border-radius:18px;padding:16px 20px}.online-banner h2{font-size:19px;color:#375d63}.online-banner p{color:#5d7482;font-size:13px}.online-banner img{width:49px;height:49px}.online-card{border-color:var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow);padding:15px}.online-symbol{background:#eeeafa;border-radius:11px;width:38px;height:38px}.online-card h2{font-size:17px;color:#384a64}.session-status{font-size:11px;background:#f0ebfa;color:#665293}.session-class{color:#64738a;font-size:12px}.session-dates{background:#f7f8fc;border:1px solid #edf0f5}.session-dates span{color:#637087}.session-dates strong{color:#4b5970}.session-wait{color:#64718a;background:#f5f6fa}.online-card .button{min-height:39px;font-size:13px}.library-banner{border:1px solid #dcece5;background:linear-gradient(110deg,#e9f5ed,#f1edfb);border-radius:21px}.library-banner h2{color:#3f5960;font-size:23px}.library-banner p{color:#5e7281;font-size:14px}.library-card{border-color:var(--line);border-radius:19px;box-shadow:var(--shadow)}.library-cover{height:105px;background:#eee8fa}.library-cover img{width:58px;height:58px}.library-cover span{color:#605674;font-size:12px}.library-body h2{color:#40516b;font-size:18px}.library-body>p{color:#68748b;font-size:13px}.library-details{background:#f7f6fb}.chat-header{background:#fcfdff;border-color:var(--line)}.chat-stream{background:#f0f5f4;background-image:radial-gradient(#dce7e2 .8px,transparent .8px);background-size:20px 20px}.chat-bubble{box-shadow:0 3px 8px #263f3906;border:1px solid #e4eae7}.chat-bubble.mine{background:#e1f2e9;border-color:#d3e9de}.chat-bubble p{font-size:15px}.chat-bubble small{color:#586f65}.chat-bubble time{font-size:11px;color:#61766d}.sms-template{background:#f8f9fc;border-color:var(--line)}.sms-section{padding:0;box-shadow:none}.sms-section[open]>summary{margin-bottom:0}.sms-content{padding-top:12px}.sms-workspace .button{font-size:14px}.sms-recipients span{background:#eeeafa;color:#5b4d8a}.sms-preview{background:#f6f8fb}.timer{border:1px solid #f0dfb7;background:#fff5dd;color:#805a19}
/* Pupil panel: readable labels and a warmer learning atmosphere. */
.pupil{--canvas:#f7f7fc}.pupil .side nav a{font-size:15px;min-height:44px}.pupil .side nav a.active{background:#eee8fa;color:#624baf;box-shadow:inset -3px 0 #8870d3}.pupil .home-welcome{background:linear-gradient(110deg,#e9f3f2,#f0ecfa 65%,#f5effc);min-height:200px}.pupil .home-welcome h1{font-size:29px;color:#544279}.pupil .home-welcome p{font-size:15px;color:#605973}.pupil .welcome-illustration{width:300px;max-width:40%}.pupil .welcome-eyebrow{color:#685592}.pupil .quick-card strong{font-size:16px}.pupil .quick-card img{width:46px;height:46px}.pupil .quick-card small{font-size:12px}.pupil .button.primary{background:var(--violet);border-color:var(--violet);box-shadow:0 3px 9px #6651bd15}.pupil .button.primary:hover{background:#56439f;border-color:#56439f}.pupil .panel>p,.pupil .pre-line{font-size:16px;line-height:2}.pupil .field{font-size:15px}.pupil .answer{font-size:16px;padding:14px}.pupil .list-row strong{font-size:16px}.pupil .section-head h1{color:#4c4270}
/* Shared login screens. */
.public-wrap{max-width:1030px;padding:20px;margin:35px auto}.auth-brand{display:flex;align-items:center;gap:11px;margin:0 0 22px;padding:0 5px;font-size:18px;font-weight:700;color:#394b62}.auth-brand img{flex-shrink:0}.auth-brand small{display:block;font-size:12px;font-weight:400;line-height:1.8;margin-top:2px}.login-card{grid-template-columns:1fr 1fr;gap:20px;padding:14px;border:1px solid var(--line);border-radius:26px;box-shadow:0 16px 55px #29364d08;overflow:hidden}.auth-form{padding:26px 25px}.auth-kicker{display:inline-block;color:#23796e;background:#e8f5ef;border-radius:8px;padding:4px 9px;font-size:12px;margin-bottom:15px}.auth-form h1{font-size:28px;margin-bottom:5px}.auth-form>p.muted{margin:0 0 22px;font-size:14px}.auth-form .field{margin-bottom:17px;font-size:14px;font-weight:500}.auth-form input{height:48px;font-weight:400}.auth-form .button{min-height:47px;margin-top:7px;font-size:15px}.auth-recovery{display:block;font-size:13px;margin-top:18px;line-height:1.9}.auth-switch{margin-top:25px;border-top:1px solid var(--line);padding-top:17px;font-size:12px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;color:#6e7a8b}.auth-switch a{font-weight:600}.auth-hint{background:#f8f9fc;border-radius:11px;padding:12px;color:#627089;font-size:12px;line-height:1.9;margin-top:17px}.login-art{padding:26px 20px;background:linear-gradient(160deg,#e8f4ee,#f0ecfa);border:1px solid #e5e9ef;border-radius:19px;color:#47516c;min-width:0;position:relative;overflow:hidden}.login-art .art-kicker{font-size:12px;color:#687393;background:#ffffff90;border-radius:20px;align-self:center;padding:5px 12px}.login-art img{display:block;width:100%;height:auto;margin:25px 0 12px;filter:drop-shadow(0 8px 8px #65549209)}.login-art h2{font-size:24px;line-height:1.7;margin:12px 0 8px;color:#594779}.login-art p{font-size:14px;color:#686583;margin:0}.student-login .auth-kicker{color:#6a559c;background:#f0eafa}.student-login .button.primary{background:var(--violet);border-color:var(--violet)}.student-login .button.primary:hover{background:#55429e}.student-login .login-art{background:linear-gradient(160deg,#f0ebfb,#e7f5ef)}.public-card{border-color:var(--line);border-radius:23px;box-shadow:var(--shadow)}.skip-link{position:fixed;top:-100px;right:20px;z-index:1000;padding:10px 18px;border-radius:12px;background:#fff;color:#47367f;box-shadow:0 3px 15px #29364d20}.skip-link:focus{top:15px}
@media(min-width:1440px){.app-content{padding-inline:27px}.topbar{padding-inline:27px}.home-welcome{padding-inline:32px}.welcome-illustration{width:290px}.pupil .welcome-illustration{width:325px}}
@media(max-width:1180px){.app-shell{grid-template-columns:216px minmax(0,1fr)}.side{padding-inline:10px;margin-inline-end:12px}.brand{font-size:14px}.quick-grid,.role-school_admin .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-illustration{width:225px;max-width:37%}.home-welcome h1,.pupil .home-welcome h1{font-size:25px}.home-welcome{padding:21px}.welcome-copy{max-width:65%}}
@media(max-width:860px){.app-shell{grid-template-columns:190px minmax(0,1fr);padding:8px}.side{margin-inline-end:9px;top:8px;height:calc(100dvh - 16px);padding:15px 8px}.brand{font-size:13px;gap:7px}.brand-symbol{width:35px;height:35px}.side nav a,.pupil .side nav a{font-size:13px;padding:10px 8px;gap:7px}.side nav a img{width:22px;height:22px}.nav-caption{margin-inline:8px}.app-content{padding-inline:10px}.topbar{padding-inline:12px}.topbar strong{font-size:15px}.home-welcome h1,.pupil .home-welcome h1{font-size:23px}.home-welcome p,.pupil .home-welcome p{font-size:13px}.welcome-illustration,.pupil .welcome-illustration{max-width:34%;width:180px}.home-welcome,.pupil .home-welcome{min-height:177px;padding:20px}.quick-card{padding:13px 10px;gap:8px}.quick-card strong,.pupil .quick-card strong{font-size:14px}.quick-card img,.pupil .quick-card img{width:38px;height:38px}}
@media(max-width:720px){.app-shell{display:block;padding:0}.side{display:none}.topbar{background:#fff;border-bottom:1px solid #e9edf3;padding:12px 17px;min-height:73px}.topbar strong{font-size:15px}.user-avatar{width:38px;height:38px}.user-area{gap:8px}.user-area .button.quiet{min-height:36px;padding:6px 10px}.mobile-menu{display:block;border-bottom:1px solid #e9edf3;padding:10px 17px}.mobile-menu>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:14px;font-weight:600;color:#5b527b;cursor:pointer}.mobile-menu>summary::-webkit-details-marker{display:none}.menu-toggle{display:inline-grid;place-items:center;width:30px;height:28px;background:#f2eef9;border-radius:8px;color:#715aab}.mobile-menu nav{gap:8px;padding:12px 0 3px}.mobile-menu nav a{border:1px solid #eeeaf4;background:#f9f7fd;padding:11px 10px;border-radius:11px;min-height:44px;font-size:13px;color:#615578}.mobile-menu nav a.active,.mobile-menu nav a[aria-current="page"]{background:#ebe4f8;border-color:#d9cdee;font-weight:700}.mobile-menu nav a img{width:23px;height:23px}.app-content{padding:18px 15px}.home-welcome,.pupil .home-welcome{padding:20px 18px;min-height:170px;border-radius:20px;margin-bottom:22px}.welcome-copy{max-width:65%}.home-welcome h1,.pupil .home-welcome h1{font-size:23px}.home-welcome p,.pupil .home-welcome p{font-size:13px;line-height:1.9}.welcome-illustration,.pupil .welcome-illustration{width:155px;max-width:35%}.welcome-eyebrow{font-size:10px;padding:3px 7px}.welcome-tags>span{font-size:10px;padding:3px 7px}.quick-grid,.role-school_admin .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-card{padding:12px 10px;min-height:93px;border-radius:15px;align-items:center;gap:8px}.quick-card strong,.pupil .quick-card strong{font-size:14px}.quick-card small,.pupil .quick-card small{font-size:11px}.quick-card img,.pupil .quick-card img{width:36px;height:36px;padding:4px;border-radius:10px}.quick-arrow{display:none}.home-section-head h2{font-size:18px}.home-section-head>.muted{font-size:11px}.panel{padding:18px;border-radius:18px}.field input,.field textarea,.field select{font-size:16px}.form-grid{gap:12px}.online-grid{grid-template-columns:1fr}.online-card{padding:14px}.online-banner h2{font-size:17px}.online-banner p{font-size:12px}.online-banner img{width:43px;height:43px}.online-banner{padding:15px 17px}.library-banner{padding:18px}.library-banner h2{font-size:21px}.library-banner p{font-size:13px}.library-banner img{width:60px;height:60px}.chat{padding:0}.chat-compose{padding:18px}.chat-stream{padding:18px}.sms-section{padding:0}.sms-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sms-section>summary{font-size:14px;padding:14px}.sms-content{padding:10px 14px 16px}.public-wrap{margin:17px auto;padding:15px}.auth-brand{margin-bottom:17px;font-size:16px}.auth-brand small{font-size:11px}.login-card{grid-template-columns:1fr;padding:8px;border-radius:22px;gap:0}.auth-form{padding:24px 18px}.auth-form h1{font-size:26px}.auth-form>p.muted{font-size:13px}.login-art{display:none}.auth-form .field{font-size:14px}.auth-switch{font-size:12px}.app-footer{font-size:11px;padding-bottom:20px}.button{min-height:44px}.online-card .button{min-height:42px}}
@media(max-width:420px){.welcome-copy{max-width:100%}.home-welcome,.pupil .home-welcome{padding:19px 16px;padding-inline-end:91px;min-height:181px}.welcome-illustration,.pupil .welcome-illustration{position:absolute;left:-24px;bottom:11px;width:133px;max-width:none;opacity:.88}.welcome-copy{z-index:1}.home-welcome h1,.pupil .home-welcome h1{font-size:22px}.home-welcome p{max-width:235px}.quick-card{gap:7px;padding:12px 9px}.quick-card img,.pupil .quick-card img{width:32px;height:32px}.quick-card strong{font-size:14px}.pupil .quick-card strong{font-size:15px}.quick-card small,.pupil .quick-card small{font-size:11px}.app-content{padding:15px 12px}.sms-template-grid{grid-template-columns:1fr}.auth-form{padding:21px 15px}.auth-form h1{font-size:24px}.topbar strong{font-size:14px}.panel{padding:16px}.sms-section{padding:0}.chat{padding:0}.profile-photo-panel{gap:15px}.profile-photo-preview{width:80px;height:80px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.quick-card:hover,.module-card:hover{transform:none}}
