@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#18211b;background:#f1f3ee;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #172019;--muted: #6d756f;--line: #dfe4dc;--paper: #fbfcf8;--lime: #dfff72;--deep: #173c2b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#f1f3ee;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .15s ease}button{cursor:pointer}button:active{transform:scale(.97)}*{scrollbar-width:thin;scrollbar-color:#c4cdc1 transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#c4cdc1;border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#a9b5a6}.app-shell{min-height:100vh;display:flex}.sidebar{width:264px;height:100vh;position:fixed;inset:0 auto 0 0;background:#142e22;color:#fff;padding:27px 18px 20px;display:flex;flex-direction:column;z-index:30;overflow:auto;-webkit-overflow-scrolling:touch}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 28px}.brand-mark{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;color:#163124;background:var(--lime);box-shadow:0 8px 22px #08180f66}.brand strong,.brand span{display:block}.brand strong{font-size:20px;letter-spacing:-.3px}.brand span{margin-top:3px;color:#9caf9f;font-size:13px;text-transform:uppercase;letter-spacing:1.1px}.sidebar-close{display:none;margin-left:auto;color:#fff;border:0;background:transparent}.nav-list p{color:#6f8979;text-transform:uppercase;letter-spacing:1.2px;font-size:12px;font-weight:800;padding:0 13px 8px}.nav-list button{width:100%;border:0;display:flex;align-items:center;gap:13px;padding:12px 13px;margin:4px 0;border-radius:10px;background:transparent;color:#aebdb3;text-align:left;font-size:16px;font-weight:600;transition:.2s ease}.nav-list button:hover{color:#fff;background:#ffffff0d}.nav-list button.active{color:#162c21;background:var(--lime);box-shadow:0 7px 19px #07170e55}.nav-list button i{font-style:normal;margin-left:auto;color:#163124;background:#fff;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;font-size:13px}.sidebar-spacer{flex:1;min-height:30px}.semester-card{border:1px solid #ffffff12;border-radius:13px;background:#ffffff08;padding:15px;margin:0 2px 18px}.semester-card>span{display:flex;align-items:center;gap:7px;color:#9caf9f;font-size:13px;text-transform:uppercase;letter-spacing:.8px}.semester-card strong{display:block;font-family:Playfair Display,serif;font-size:22px;margin:9px 0 11px}.semester-card .progress{height:4px;border-radius:4px;overflow:hidden;background:#ffffff17}.semester-card .progress i{display:block;height:100%;background:var(--lime);transition:width .4s cubic-bezier(.22,1,.36,1)}.semester-card small{display:block;color:#829488;font-size:12px;margin-top:8px}.profile-mini{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff10;padding:17px 4px 0}.profile-mini.admin-entry{width:100%;border-right:0;border-bottom:0;border-left:0;background:transparent;color:#fff;text-align:left}.profile-mini.admin-entry:hover strong{color:var(--lime)}.profile-mini.admin-entry.signed-in .avatar{color:#173c2b;background:var(--lime)}.avatar{flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#2a4a39;color:var(--lime);font-size:14px;font-weight:800}.profile-mini div:nth-child(2){min-width:0;flex:1}.profile-mini strong,.profile-mini span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-mini strong{font-size:13px}.profile-mini span{font-size:12px;color:#839589;margin-top:3px}.profile-mini>svg{color:#6f8476}.sidebar-backdrop{display:none}.main-content{margin-left:264px;width:calc(100% - 264px);min-height:100vh}.topbar{height:84px;background:#f8faf6dd;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(24px,4vw,58px);position:sticky;top:0;z-index:20}.topbar-heading{display:flex;align-items:center;gap:12px}.topbar-heading span{color:#879087;font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:700}.topbar-heading h1{margin:3px 0 0;font-family:Playfair Display,serif;font-size:24px;letter-spacing:-.3px}.topbar-actions{display:flex;align-items:center;gap:10px}.searchbox{width:230px;height:38px;border:1px solid #e2e6df;border-radius:10px;padding:0 12px;background:#fff;display:flex;align-items:center;gap:8px;color:#929a94}.searchbox input{width:100%;border:0;outline:0;font-size:14px;background:transparent}.icon-button{width:38px;height:38px;border:1px solid #e2e6df;border-radius:10px;background:#fff;display:grid;place-items:center;color:#516057;position:relative}.icon-button i{position:absolute;width:6px;height:6px;border:1px solid white;border-radius:50%;top:7px;right:8px;background:#ef7e54}.icon-button.admin-active{color:#173c2b;border-color:#a9bf68;background:#eff7d7}.icon-button.admin-active i{background:#6d913d}.primary-button,.dark-button{border:0;border-radius:9px;background:#193c2c;color:#fff;padding:10px 15px;font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 6px 14px #173c2b1c}.menu-button{display:none;border:0;background:none;padding:5px}.page-wrap{max-width:1480px;padding:30px clamp(24px,4vw,58px) 45px;margin:auto}.hero-section{min-height:230px;border-radius:19px;overflow:hidden;position:relative;display:grid;grid-template-columns:1.3fr .7fr;background:linear-gradient(120deg,#e6f4ad,#dff09e 48%,#d6ef88);box-shadow:inset 0 0 0 1px #7593291a}.hero-copy{padding:34px 40px;position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;color:#667556;font-size:12px;font-weight:800;letter-spacing:1px}.eyebrow i{width:6px;height:6px;border-radius:50%;background:#5d8431;box-shadow:0 0 0 4px #6d913d19}.hero-copy h2,.page-intro h2{font-family:Playfair Display,serif;font-size:clamp(32px,3.3vw,47px);line-height:1.05;margin:14px 0 9px;letter-spacing:-1.5px}.hero-copy p{color:#596958;max-width:530px;margin:0;font-size:15px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.email-hero-button{background:#f8ffe4}.dark-button{background:#173c2b;padding:11px 17px}.ghost-button{display:flex;align-items:center;gap:7px;border:1px solid #a8bd67;background:#f6ffd57d;border-radius:9px;color:#283c2c;padding:10px 15px;font-size:14px;font-weight:700}.hero-visual{position:relative;min-height:230px;display:grid;place-items:center;overflow:hidden}.hero-visual:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#547126 1px,transparent 1px);background-size:20px 20px;opacity:.16;-webkit-mask-image:linear-gradient(to left,#000,transparent);mask-image:linear-gradient(to left,#000,transparent)}.hero-shield{z-index:2;color:#183b2a;padding:16px;width:118px;height:118px;border-radius:38%;background:#f4ffd2a1;box-shadow:0 20px 50px #59742a32,inset 0 0 0 1px #799a3e42;transform:rotate(-5deg)}.orbit{position:absolute;border:1px solid #66833831;border-radius:50%;z-index:1}.orbit-one{width:210px;height:210px}.orbit-two{width:320px;height:320px}.float-label{position:absolute;z-index:3;display:flex;gap:6px;align-items:center;background:#fbfff0d9;border:1px solid #9bb65463;border-radius:8px;padding:8px 10px;color:#354a35;font-size:12px;font-weight:700;box-shadow:0 10px 25px #4e6b2721}.float-one{top:39px;right:28px}.float-two{bottom:32px;left:18px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:17px 0}.stat-card{min-width:0;background:#fafbf8;border:1px solid var(--line);border-radius:14px;min-height:100px;padding:18px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 5px 18px #20332608;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #20332614}.stat-icon{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#2e4a35}.stat-icon.lime{background:#e6f3b8}.stat-icon.blue{background:#dcebe7;color:#3e6862}.stat-icon.orange{background:#f8e3d7;color:#925b3f}.stat-icon.purple{background:#e5e0ef;color:#655978}.stat-card>div:nth-child(2){min-width:0}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{color:#838b84;font-size:12px;text-transform:uppercase;letter-spacing:.6px;font-weight:700}.stat-card strong{margin:5px 0;font-family:Playfair Display,serif;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card small{color:#90978f;font-size:12px}.content-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:17px}.panel{background:#fbfcf9;border:1px solid var(--line);border-radius:15px;box-shadow:0 6px 20px #22342907}.panel-title{padding:19px 21px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e9e2}.panel-title h3{margin:0;font-family:Playfair Display,serif;font-size:20px}.panel-title p{margin:3px 0 0;color:#969d97;font-size:12px}.panel-title button{border:0;background:none;color:#59705e;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700}.announcement-list{padding:6px 20px 12px}.announcement-row{position:relative;padding:14px 22px 14px 0;border-bottom:1px solid #e7eae5;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:flex-start}.announcement-row:last-child{border:0}.announcement-symbol{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;background:#edf0eb;color:#607065}.announcement-row.featured .announcement-symbol{background:#e6f3b8;color:#38502f}.row-meta{display:flex;align-items:center;gap:8px}.tag{display:inline-flex;width:max-content;border-radius:5px;background:#e9eee8;padding:4px 7px;color:#546258;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.5px}.tag-важно{background:#f4dfd3;color:#8d4b30}.tag-програма{background:#e0eadb;color:#507048}.tag-изпити{background:#e4e0ef;color:#65577c}.row-meta small{font-size:11px;color:#a1a6a1}.announcement-row h4{margin:8px 0 6px;font-size:18px;line-height:1.35}.announcement-row p{color:#626d64;margin:0;font-size:15px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.announcement-row .author{display:block;margin-top:9px;color:#8d958f;font-size:12px;text-transform:none;letter-spacing:0;font-weight:500}.row-arrow{color:#aab0aa;align-self:center}.mini-timeline{padding:10px 20px}.mini-event{display:grid;grid-template-columns:44px 1fr;gap:13px;padding:11px 0;position:relative}.mini-event:not(.last):after{content:"";position:absolute;height:13px;border-left:1px dashed #c9d0c9;left:21px;bottom:-6px}.date-block{width:43px;height:49px;border:1px solid #dfe4dd;background:#f5f7f3;border-radius:9px;display:grid;place-content:center;text-align:center}.date-block strong{font-family:Playfair Display,serif;font-size:20px;line-height:1}.date-block span{color:#7d887f;text-transform:uppercase;font-size:11px;margin-top:3px}.event-kind{color:#6e806f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.mini-event h4{margin:5px 0;font-size:13px}.mini-event p{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:0;color:#8d968f;font-size:11px}.mini-event p i{width:3px;height:3px;border-radius:50%;background:#b6bcb7;margin:0 3px}.quick-strip{background:#183a2a;color:#fff;border-radius:14px;margin-top:17px;padding:17px 21px;display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:10px}.quick-strip>div span{font-family:Playfair Display,serif;font-size:18px;font-weight:700}.quick-strip>div p{color:#8da195;margin:3px 0 0;font-size:11px}.quick-strip button{min-width:130px;display:flex;align-items:center;gap:7px;border:1px solid #ffffff17;border-radius:8px;padding:9px 12px;background:#ffffff09;color:#dce6df;font-size:12px;font-weight:600}.quick-strip button:hover{background:#ffffff14;color:var(--lime)}.page-section{animation:rise .4s cubic-bezier(.22,1,.36,1) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:6px 0 28px}.page-intro h2{font-size:40px;margin:10px 0 7px}.page-intro p{color:var(--muted);font-size:15px;margin:0}.schedule-layout{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}.schedule-column{display:grid;gap:18px;min-width:0}.agenda{padding:0 24px}.agenda-head{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line)}.agenda-head span{font-family:Playfair Display,serif;font-weight:700}.agenda-head small{color:#8b948c}.agenda-item{display:grid;grid-template-columns:46px 1px 1fr auto;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.agenda-item:last-child{border:0}.agenda-date{text-align:center}.agenda-date strong{display:block;font-family:Playfair Display,serif;font-size:29px}.agenda-date span{display:block;color:#768078;text-transform:uppercase;font-size:12px}.agenda-line{height:70px;background:#dce2dc}.agenda-content h3{margin:8px 0 4px;font-size:17px}.agenda-content>p{margin:0 0 10px;color:#68736a;font-size:14px}.agenda-content>div{display:flex;gap:18px;color:#89918b;font-size:12px}.agenda-content>div span{display:flex;align-items:center;gap:5px}.agenda-content a{color:#45614d;font-weight:700;text-decoration:none;border-bottom:1px solid #9eb0a2}.delete-button{align-self:center;width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border:0;background:transparent;color:#b0b7b1;border-radius:7px}.delete-button:hover{color:#a7493c;background:#f5e7e2}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0}.pagination button{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:#f7f9f5;color:#536158;font-size:11px;font-weight:700}.pagination button:disabled{opacity:.4;cursor:default}.pagination span{color:#858e87;font-size:11px}.calendar-card{padding:20px}.calendar-title{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;margin-bottom:20px;text-align:center}.calendar-title strong{font-family:Playfair Display,serif;text-transform:capitalize}.calendar-title button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#f7f9f5;color:#5f6e63}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.weekdays span{color:#969e98;font-size:11px;font-weight:800;text-transform:uppercase;padding-bottom:7px}.calendar-days span,.calendar-days>i{height:31px;display:grid;place-items:center;font-size:13px;font-style:normal;position:relative;border-radius:7px}.calendar-days span.today{color:#fff;background:#193c2c}.calendar-days span.has-event:not(.today):after{content:"";width:5px;height:5px;border-radius:50%;background:#8eae37;position:absolute;bottom:2px}.calendar-days span.holiday{color:#b46250;background:#f7e9e4;text-decoration:line-through}.calendar-days span.holiday:after{display:none}.calendar-days span small{position:absolute;top:1px;right:2px;min-width:11px;height:11px;padding:0 2px;display:grid;place-items:center;border-radius:5px;color:#fff;background:#78933b;font-size:9px}.calendar-legends{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);margin-top:14px;padding-top:14px;color:#818b83;font-size:11px}.calendar-legends span{display:flex;align-items:center;gap:6px}.calendar-legends i{width:6px;height:6px;border-radius:50%}.event-dot{background:#8eae37}.holiday-dot{background:#d17c68}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.teacher-card{padding:24px;position:relative;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}.teacher-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #20332614}.teacher-card .edit-button{position:absolute;top:16px;right:16px;width:30px;height:30px;display:grid;place-items:center;border:0;background:#edf2ec;color:#435b49;border-radius:8px}.teacher-card .edit-button:hover{background:#dfe8df}.teacher-avatar{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;margin-bottom:19px;background:#dce9df;color:#345441;font-family:Playfair Display,serif;font-size:20px}.avatar-2{background:#e6e0ee;color:#665a78}.avatar-3{background:#f2e4d9;color:#7c5844}.teacher-role{color:#7c887f;text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:800}.teacher-card h3{margin:8px 0 5px;font-family:Playfair Display,serif;font-size:22px}.teacher-card>p{margin:0;color:#68736b;font-size:14px}.teacher-info{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:18px 0;display:grid;gap:9px}.teacher-info span{display:flex;align-items:center;gap:8px;color:#7e8980;font-size:12px}.teacher-card>button:not(.edit-button){border:0;background:#edf2ec;border-radius:8px;padding:9px 12px;display:flex;gap:7px;align-items:center;color:#435b49;font-size:12px;font-weight:700}.teacher-info a{color:inherit;text-decoration:none;border-bottom:1px solid #ccd4cd}.teacher-note{margin:-7px 0 16px;padding:11px 13px;border:0;border-left:3px solid #a8bd67;border-radius:0 8px 8px 0;background:#f1f5e5;color:#5c6957;font-size:12px;line-height:1.6}.filter-tabs{display:flex;gap:7px;margin-bottom:18px;overflow:auto;padding-bottom:3px}.filter-tabs button{border:1px solid #dce1dc;border-radius:999px;background:#f9faf7;padding:8px 13px;color:#68726a;font-size:12px;white-space:nowrap}.filter-tabs button.active{background:#193c2c;border-color:#193c2c;color:#fff}.resource-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.resource-toolbar .filter-tabs{flex:1;margin-bottom:0}.subject-filter{min-height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #dce1dc;border-radius:9px;background:#f9faf7;color:#59665d}.subject-filter>span{font-size:12px;font-weight:800}.subject-filter select{max-width:235px;border:0;outline:0;background:transparent;color:#445149;font-size:12px;cursor:pointer}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource-card{padding:21px;min-height:210px;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}.resource-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #20332614}.resource-top{display:flex;align-items:center;gap:8px}.resource-top .delete-button{margin-left:auto}.file-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#e5edca;color:#536636}.resource-card h3{font-family:Playfair Display,serif;font-size:20px;margin:19px 0 5px}.resource-card .resource-subject{color:#4b6852;font-weight:700;font-size:12px}.resource-card>p{color:#838c85;font-size:12px;line-height:1.5;margin:4px 0}.resource-footer{border-top:1px solid var(--line);margin-top:auto;padding-top:13px;display:flex;justify-content:space-between;align-items:center}.resource-footer small{color:#9ba19c;font-size:11px}.resource-footer a,.resource-footer span{display:flex;gap:5px;align-items:center;color:#3f6149;text-decoration:none;font-size:12px;font-weight:800}.all-announcements{padding:5px 22px}.all-announcements .announcement-row{flex:1}.deletable-row{display:flex;border-bottom:1px solid var(--line)}.deletable-row:last-child{border:0}.deletable-row .announcement-row{border:0}.empty-state{grid-column:1 / -1;min-height:180px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#929b94;gap:7px}.empty-state strong{color:#5f6a62;font-size:15px}.empty-state span{font-size:12px}.modal-backdrop{position:fixed;z-index:100;inset:0;padding:20px;display:grid;place-items:center;background:#0c1c14a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade .22s ease}.modal-card{width:min(570px,100%);max-height:calc(100vh - 40px);overflow:auto;-webkit-overflow-scrolling:touch;border-radius:18px;background:#fbfcf9;box-shadow:0 30px 90px #07130c66;animation:modalIn .28s cubic-bezier(.22,1,.36,1)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 27px 18px;border-bottom:1px solid var(--line)}.modal-head span{color:#7d897f;text-transform:uppercase;font-size:11px;letter-spacing:1px;font-weight:800}.modal-head h2{font-family:Playfair Display,serif;font-size:27px;margin:5px 0 0}.modal-head button{border:0;background:#eef1ed;border-radius:8px;width:33px;height:33px;display:grid;place-items:center;color:#657067}.modal-card form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:23px 27px 27px}.field{min-width:0;display:grid;gap:7px}.field.full{grid-column:1 / -1}.field>span{color:#59655b;font-size:12px;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid #dce2dc;outline:0;background:#fff;border-radius:9px;padding:10px 11px;color:#263329;font-size:13px;transition:.2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#799151;box-shadow:0 0 0 3px #89a65717}.field textarea{resize:vertical}.modal-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:17px;margin-top:3px}.modal-actions>button:first-child{border:1px solid #dce2dc;background:#fff;color:#667067;border-radius:9px;padding:10px 16px;font-size:13px}.form-error{grid-column:1 / -1;color:#9e483d;background:#f6e5e1;border-radius:7px;padding:9px;font-size:12px;margin:0}.confirm-modal{width:min(420px,100%)}.confirm-body{padding:20px 27px 27px;display:grid;gap:18px}.confirm-body p{margin:0;color:#4b564d;font-size:14px;line-height:1.6}.danger-button{background:#a7493c!important}.danger-button:hover{background:#8f3c30!important}.toast{position:fixed;z-index:200;right:25px;bottom:25px;display:flex;align-items:center;gap:9px;background:#173c2b;color:#fff;border-radius:10px;box-shadow:0 12px 35px #0b1d1460;padding:11px 16px 11px 11px;font-size:13px;animation:slideUp .3s ease}.toast span{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;color:#173c2b;background:var(--lime)}.admin-login{grid-template-columns:1fr!important}.admin-login .field,.admin-login .modal-actions,.admin-login .form-error{grid-column:1}.admin-content{padding:22px 27px 28px}.admin-session{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;margin-bottom:21px;border-radius:9px;background:#eef5d9;color:#405438;font-size:12px;font-weight:700}.admin-session span{display:flex;align-items:center;gap:7px}.admin-session button{border:0;background:transparent;color:#6c795f;font-size:12px;font-weight:800}.admin-content h3{display:flex;align-items:center;gap:7px;margin:20px 0 9px;font-family:Playfair Display,serif;font-size:18px}.admin-content h3 span{min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:#e5eadf;font-family:Manrope,sans-serif;font-size:11px}.pending-list{display:grid;gap:7px}.pending-list article{display:flex;align-items:center;gap:7px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.pending-list article>div{flex:1;min-width:0}.pending-list strong,.pending-list span{display:block}.pending-list strong{font-size:13px}.pending-list span{margin-top:3px;color:#879088;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.approve-button{display:flex;align-items:center;gap:5px;border:0;border-radius:7px;padding:7px 9px;background:#e6f3b8;color:#40552e;font-size:11px;font-weight:800}.pending-empty{margin:0;padding:14px;border:1px dashed #d8ddd7;border-radius:8px;color:#929a93;text-align:center;font-size:12px}.audit-log-panel{padding:20px}.accounts-form-panel{padding:20px 24px 24px;margin-bottom:16px}.accounts-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.accounts-form .modal-actions{grid-column:1 / -1;border-top:0;padding-top:0;margin-top:0;justify-content:flex-start}.accounts-form .form-error{grid-column:1 / -1}.audit-log{display:grid;gap:8px}.audit-row{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff}.audit-row>div{min-width:0;flex:1}.audit-row strong{display:block;font-size:12px;font-weight:700;color:#354438;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-row>div>span{display:block;margin-top:2px;color:#8b9389;font-size:11px}.audit-tag{flex:0 0 auto;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.audit-create{background:#dcebe7;color:#2f5750}.audit-approve{background:#e6f3b8;color:#40552e}.audit-edit{background:#eadff0;color:#5c3f70}.audit-delete{background:#f4dfd3;color:#8d4b30}.admin-modal{width:min(720px,100%)}.email-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-top:24px;padding-top:4px;border-top:1px solid var(--line)}.email-section-head h3{margin-bottom:2px}.email-section-head p{margin:0;color:#8b948d;font-size:11px}.email-sync-button{display:flex;align-items:center;gap:6px;border:0;border-radius:8px;padding:9px 12px;background:#193c2c;color:#fff;font-size:11px;font-weight:800}.email-sync-button:disabled{opacity:.55}.email-list{display:grid;gap:6px;margin-top:12px}.email-list details{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.email-list summary{display:flex;align-items:center;gap:12px;padding:11px 13px;cursor:pointer;list-style:none}.email-list summary::-webkit-details-marker{display:none}.email-list summary>div{min-width:0;flex:1}.email-list strong,.email-list span{display:block}.email-list strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-list span{margin-top:3px;color:#8b948d;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-list time{flex:0 0 auto;color:#89928b;font-size:11px}.email-list details>p{max-height:240px;overflow:auto;margin:0;padding:13px;border-top:1px solid var(--line);background:#f8faf6;color:#5e685f;white-space:pre-wrap;font-size:12px;line-height:1.65}.email-list details>p a{color:#3f6149;font-weight:700;word-break:break-all;text-decoration:underline;text-underline-offset:2px}.email-page-panel{padding:24px}.email-page .email-section-head{margin:0;padding:0 0 18px;border-top:0;border-bottom:1px solid var(--line)}.email-page .email-section-head h3{display:flex;align-items:center;gap:8px;margin:0;font-family:Playfair Display,serif;font-size:24px}.email-page .email-section-head h3 span{min-width:25px;height:25px;display:grid;place-items:center;border-radius:999px;background:#e5eadf;font-family:Manrope,sans-serif;font-size:13px}.email-page .email-section-head p{margin-top:5px;font-size:14px}.email-page .email-sync-button{padding:11px 15px;font-size:14px}.email-page .email-list{gap:10px;margin-top:18px}.email-page .email-list summary{padding:16px 18px}.email-page .email-list strong{font-size:17px}.email-page .email-list span,.email-page .email-list time{font-size:14px}.email-page .email-list details>p{max-height:420px;padding:18px;font-size:16px;line-height:1.75}.email-page-error{margin-top:16px}.state-screen{min-height:100vh;display:flex;flex-direction:column;place-content:center;align-items:center;gap:9px;text-align:center;padding:30px}.state-screen strong{font-family:Playfair Display,serif;font-size:25px}.state-screen span{color:#747f76;max-width:440px;font-size:14px}.state-screen .dark-button{margin-top:10px}.loader{width:65px;height:65px;border-radius:19px;display:grid;place-items:center;color:#1d412f;background:var(--lime);animation:pulse 1.5s infinite}@keyframes fade{0%{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}}@keyframes pulse{50%{transform:scale(.95);opacity:.75}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media(max-width:1150px){.stat-grid,.teacher-grid,.resource-grid{grid-template-columns:repeat(2,1fr)}.quick-strip{grid-template-columns:1fr repeat(2,auto)}.quick-strip button:last-child{display:none}}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .32s cubic-bezier(.22,1,.36,1);box-shadow:15px 0 45px #0b171162}.sidebar.is-open{transform:translate(0)}.sidebar-close{display:block}.sidebar-backdrop{display:block;position:fixed;z-index:29;inset:0;border:0;background:#08150e73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .32s ease}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.main-content{margin-left:0;width:100%}.menu-button{display:block}.content-grid,.schedule-layout{grid-template-columns:1fr}.calendar-card{max-width:420px}.hero-section{grid-template-columns:1fr .55fr}.searchbox{width:190px}}@media(max-width:680px){.topbar{height:72px;padding:0 16px}.topbar-heading span{display:none}.topbar-heading h1{font-size:21px}.searchbox{display:none}.primary-button{width:38px;height:38px;padding:0}.primary-button:not(.dark-button){font-size:0}.page-wrap{padding:20px 14px 35px}.hero-section{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:28px 24px 26px}.hero-copy h2{font-size:36px}.hero-visual{min-height:150px;border-top:1px solid #93aa4a2e}.hero-shield{width:84px;height:84px;padding:12px}.orbit-one{width:150px;height:150px}.orbit-two{width:230px;height:230px}.float-one{top:22px;right:20px}.float-two{bottom:19px;left:18px}.stat-grid{grid-template-columns:1fr;gap:9px}.stat-card{min-height:89px}.quick-strip{grid-template-columns:1fr}.quick-strip button{justify-content:center}.quick-strip button:last-child{display:flex}.page-intro{align-items:flex-start;flex-direction:column}.page-intro h2{font-size:33px}.teacher-grid,.resource-grid{grid-template-columns:1fr}.resource-toolbar{flex-direction:column}.subject-filter{width:100%}.subject-filter select{flex:1;max-width:none}.agenda{padding:0 15px}.agenda-item{grid-template-columns:38px 1px 1fr auto;gap:10px}.agenda-content>div{flex-direction:column;gap:5px}.calendar-card{max-width:none}.modal-card form{grid-template-columns:1fr}.field,.field.full,.modal-actions,.form-error{grid-column:1}.panel-title{padding:17px 15px 12px}.announcement-list{padding-inline:14px}.announcement-row{grid-template-columns:34px 1fr}.row-arrow{display:none}.all-announcements{padding:5px 14px}.toast{left:15px;right:15px;bottom:15px}}
