:root{--plum:#39235d;--accent:#7450b4;--gold:#e8b960;--ink:#28233c;--muted:#79758a;--line:#eeebf2;--bg:#f6f4fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{border:0;cursor:pointer;background:var(--plum);color:white;border-radius:11px;padding:12px 18px;font-weight:600}button:hover{filter:brightness(1.12)}button.secondary{background:#f0ebf7;color:var(--plum)}a{color:var(--accent)}.shell{display:grid;grid-template-columns:246px 1fr;min-height:100vh}.side{background:var(--plum);color:white;padding:32px 20px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px}.crest{display:grid;place-items:center;background:linear-gradient(140deg,#f9e4b8,#c98d35);color:var(--plum);font-family:Georgia,serif;font-weight:bold;width:48px;height:54px;border-radius:16px 16px 22px 22px;box-shadow:0 5px 16px #0002;font-size:21px;flex-shrink:0}.brand strong{font-size:16px;line-height:1.4}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--muted)}.side .eyebrow{color:#b8a5d5}.nav{display:grid;gap:7px}.nav button{display:flex;align-items:center;text-align:left;gap:13px;color:#d9cee9;background:transparent;font-weight:500;padding:14px}.nav button.active{background:#fff;color:var(--plum);box-shadow:0 5px 20px #140c2520}.nav .icon{font-size:18px;width:22px}.side-bottom{margin-top:auto;background:#ffffff0c;border:1px solid #ffffff16;border-radius:16px;padding:18px;font-size:12px;line-height:1.7}.side-bottom a{color:#edce94}.main{min-width:0}.top{height:87px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);gap:12px}.top .parent{display:flex;gap:12px;align-items:center}.avatar{background:#ede4f8;color:var(--plum);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-weight:700}.top small{display:block;color:var(--muted);margin-top:4px}.top-actions{display:flex;gap:12px;align-items:center}.content{padding:30px 38px;max-width:1600px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:14px}.heading h1{font-size:28px;letter-spacing:-1px;margin:8px 0}.heading p{color:var(--muted);margin:8px 0}.hero{background:linear-gradient(115deg,#39235d,#7653a9);border-radius:23px;color:white;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden;margin-bottom:24px;box-shadow:0 12px 25px #39235d17}.hero h2{font-size:28px;font-weight:600;margin:13px 0}.hero p{color:#e2d7f2;line-height:1.7;max-width:480px}.hero .eyebrow{color:#eed5a4}.hero-art{width:130px;height:130px;flex-shrink:0;display:grid;place-items:center;font-size:60px;border:1px solid #ffffff35;border-radius:50%;background:#ffffff0c;box-shadow:0 0 0 20px #ffffff05,0 0 0 40px #ffffff03}.pill{display:inline-flex;padding:6px 10px;border-radius:20px;background:#f0ebf8;color:var(--accent);font-size:11px;font-weight:700}.hero .pill{background:#ffffff1a;color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.stat,.panel{background:white;border:1px solid var(--line);border-radius:19px;box-shadow:0 5px 15px #37285c04}.stat{padding:21px}.stat .symbol{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#efe8f9;color:#7854b5;font-size:19px}.stat:nth-child(2) .symbol{background:#e6f5ed;color:#32916c}.stat:nth-child(3) .symbol{background:#fff3de;color:#b58329}.stat:nth-child(4) .symbol{background:#e8f1ff;color:#487fc3}.stat h2{font-size:26px;margin:16px 0 5px}.stat p{color:var(--muted);font-size:12px;margin:0}.grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px;align-items:start}.panel{padding:24px;margin-bottom:22px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel h2{font-size:16px;margin:0}.panel h3{font-size:15px}.text-button{background:none;color:var(--accent);padding:0;font-size:12px}.learner{display:flex;gap:15px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.learner:first-of-type{border:0}.learner .avatar{height:52px;width:52px;border-radius:16px;background:#f2ecfa}.learner strong{display:block;margin-bottom:7px}.learner small{color:var(--muted)}.learner button{margin-left:auto}.notice{border-top:1px solid var(--line);padding:18px 0}.notice:first-of-type{border:0}.notice h3{margin:10px 0}.notice p{color:var(--muted);line-height:1.7;white-space:pre-wrap}.notice small{color:var(--muted)}.datecard{display:flex;gap:15px;margin:19px 0;align-items:center}.datebox{width:49px;background:#f2edf8;border-radius:12px;text-align:center;padding:9px 5px;color:var(--accent);font-weight:700}.datebox small{display:block;font-size:9px;margin-top:4px}.datecard p{margin:6px 0;color:var(--muted);font-size:12px}.support{background:#fff7e7;border-color:#f4e4c5;line-height:1.8}.support h2{color:#71521f}.support p{color:#94794b}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick button{padding:18px 10px;background:#f5f0fc;color:var(--plum);text-align:left;font-size:12px}.quick button span{display:block;font-size:20px;margin-bottom:12px}.empty{text-align:center;padding:32px 15px;color:var(--muted);line-height:1.8;background:#faf9fc;border:1px dashed #e3dceb;border-radius:13px}.footer{padding:22px 38px;color:#8c879b;display:flex;justify-content:space-between;gap:16px;font-size:11px}.footer a{color:inherit}.login{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at top left,#e4d8f1,transparent 50%),var(--bg)}.login-wrap{max-width:1000px;width:100%;display:grid;grid-template-columns:1.1fr 1fr;border-radius:26px;overflow:hidden;box-shadow:0 24px 80px #39235d15;background:white}.login-story{background:linear-gradient(135deg,#2c1c47,#62408e);padding:46px;color:white}.login-story .eyebrow{color:var(--gold)}.login-story h1{font-family:Georgia,serif;font-size:45px;line-height:1.2;margin:50px 0 20px;font-weight:400}.login-story p{color:#d6c8e7;line-height:1.9}.login-form{padding:50px 40px}.login-form h2{font-size:26px;margin:15px 0}.login-form p{color:var(--muted);line-height:1.7}.login-form button{width:100%;margin-top:15px}.login-form small{display:block;color:var(--muted);line-height:1.8;margin-top:20px}label{display:block;color:#686074;font-size:12px;font-weight:600;margin-bottom:15px}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #dfd9e8;border-radius:10px;background:#fcfbfe;padding:12px;color:var(--ink);min-width:0}textarea{min-height:95px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.error{color:#b12d4e!important;font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:1px;background:#faf8fc}td,th{padding:14px 12px;border-bottom:1px solid var(--line);font-size:12px}td button{padding:8px;font-size:11px}.message{background:#f7f3fc;border-radius:12px;padding:17px;margin:12px 0;white-space:pre-wrap;line-height:1.7}.reply{margin-top:14px;border-left:3px solid #b8a1d8;padding:10px;background:white}.search{max-width:250px;margin:0}.menu{display:none}.badge{display:inline-block;background:#e8f5ee;color:#32825c;border-radius:12px;padding:5px 9px;font-size:11px}.demo-banner{background:#fff0ca;text-align:center;padding:10px;color:#7f5e23;font-size:12px}.chart{display:flex;gap:10px;align-items:end;height:160px;padding:15px 0}.bar{flex:1;background:linear-gradient(#9e7dcb,#68429b);border-radius:6px 6px 0 0;min-height:4px}.chart-labels{display:flex;justify-content:space-around;color:var(--muted);font-size:10px}.mobile-title{display:none}#toast{position:fixed;bottom:24px;right:24px;background:#2b2340;color:white;padding:15px 23px;border-radius:12px;box-shadow:0 8px 30px #0002;display:none;z-index:100}.print-title{display:none}@media(min-width:1500px){.content{padding-top:35px}.hero{padding:40px}.stats{gap:24px}}@media(max-width:1100px){.shell{grid-template-columns:210px 1fr}.side{padding:25px 14px}.content{padding:24px}.top{padding:0 24px}.stats{gap:12px}.grid{grid-template-columns:1fr}.hero-art{width:95px;height:95px;font-size:45px}.footer{padding:24px}.stat h2{font-size:23px}}@media(max-width:700px){.shell{display:block}.side{display:none;position:fixed;z-index:50;width:245px;box-shadow:0 0 0 100vw #0006}.side.open{display:flex}.menu{display:block;padding:10px}.top{padding:14px 18px;height:auto}.top .parent small,.top-date{display:none}.content{padding:22px 17px}.heading{align-items:start}.heading h1{font-size:24px}.heading p{font-size:12px}.hero{padding:24px}.hero h2{font-size:23px}.hero-art{display:none}.stats{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:17px}.stat h2{font-size:23px}.panel{padding:19px}.login-wrap{grid-template-columns:1fr}.login-story{padding:28px}.login-story h1{font-size:32px;margin:28px 0 15px}.login-story p{display:none}.login-form{padding:30px 25px}.form-grid{grid-template-columns:1fr}.footer{flex-direction:column;padding:20px}.top-actions button{padding:10px;font-size:11px}.search{max-width:150px}}@media print{.side,.top,.heading button,.quick,.footer,form,.demo-banner,.no-print{display:none!important}.shell,.grid{display:block}.main,.content{padding:0}.print-title{display:block}body{background:white}.panel,.stat{box-shadow:none;break-inside:avoid}.hero{background:white;color:black;border:1px solid #aaa}.hero p{color:#555}.hero-art{display:none}button{display:none}}
:root[data-role="teacher"]{--plum:#124d50;--accent:#218b86;--gold:#e7c680;--ink:#193f43;--muted:#6d8587;--line:#e3efec;--bg:#f1f7f5}:root[data-role="teacher"] .side{background:linear-gradient(180deg,#103f44,#1d6564)}:root[data-role="teacher"] .hero,:root[data-role="teacher"] .login-story{background:linear-gradient(120deg,#134d52,#2b8c82)}:root[data-role="teacher"] .hero p{color:#d6eee6}:root[data-role="teacher"] .avatar,:root[data-role="teacher"] .pill,:root[data-role="teacher"] .quick button,:root[data-role="teacher"] button.secondary{background:#e4f2eb;color:#25685f}:root[data-role="teacher"] .stat .symbol{background:#e0f2e9;color:#287a69}:root[data-role="teacher"] .nav button{color:#d2e8df}:root[data-role="teacher"] .nav button.active{color:#164e4b;background:#f3faf6}:root[data-role="teacher"] .login{background:radial-gradient(ellipse at top left,#cce5dc,transparent 55%),var(--bg)}:root[data-role="teacher"] .side .eyebrow{color:#a5c8bf}.class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.class-card{border:1px solid var(--line);background:linear-gradient(140deg,#f2faf5,#fff);border-radius:17px;padding:21px;margin-bottom:13px}.class-card-top{display:flex;align-items:center;justify-content:space-between}.class-symbol{width:45px;height:45px;background:linear-gradient(140deg,#c4e1c8,#5aa695);color:#fff;border-radius:14px;display:grid;place-items:center;font-size:27px;box-shadow:0 7px 13px #22625115}.class-card p{line-height:1.8;color:var(--muted)}.class-card:nth-child(2n) .class-symbol{background:linear-gradient(140deg,#e4c491,#c89a52)}.notice>.secondary{float:right;margin-top:10px}:root[data-role="teacher"] .message{background:#edf6f0}:root[data-role="teacher"] .datebox{background:#e4f1eb;color:#26796c}:root[data-role="teacher"] .hero .pill{background:#ffffff20;color:#fff}.side{overflow-y:auto}.nav{gap:4px}.nav button{padding:11px 14px}@media(max-width:700px){.class-grid{grid-template-columns:1fr}}
:root[data-role="accounts"]{--plum:#172c50;--accent:#a67928;--gold:#e5b85e;--ink:#1f304b;--muted:#788398;--line:#e8ecf2;--bg:#f3f5f8}:root[data-role="accounts"] .side{background:linear-gradient(170deg,#152643,#1d3a60)}:root[data-role="accounts"] .side .eyebrow{color:#abbbd1}:root[data-role="accounts"] .nav button{color:#c0cce0}:root[data-role="accounts"] .nav button.active{color:#1d3457;background:linear-gradient(110deg,#fff4dc,#fff)}:root[data-role="accounts"] .hero,:root[data-role="accounts"] .login-story{background:linear-gradient(115deg,#172d50,#285077)}:root[data-role="accounts"] .hero p{color:#d2dfee}:root[data-role="accounts"] .pill{background:#edf1f7;color:#52749a}:root[data-role="accounts"] .hero .pill{background:#ffffff12;color:#f6d99e}:root[data-role="accounts"] .quick button,:root[data-role="accounts"] button.secondary{background:#edf1f7;color:#284a70}:root[data-role="accounts"] .stat .symbol{background:#fdf2dc;color:#b17e2c}:root[data-role="accounts"] .stat:nth-child(2) .symbol{background:#e5f2ed;color:#398970}:root[data-role="accounts"] .stat:nth-child(3) .symbol{background:#e8eef7;color:#4c76a4}:root[data-role="accounts"] .stat:nth-child(4) .symbol{background:#fbecdf;color:#c38d50}:root[data-role="accounts"] .stat h2{font-size:23px;letter-spacing:-.7px}:root[data-role="accounts"] .login{background:radial-gradient(ellipse at top left,#d7e2ef,transparent 50%),var(--bg)}.finance-art{height:125px;width:150px;border:1px solid #ffffff20;background:linear-gradient(140deg,#ffffff10,#ffffff02);border-radius:23px;transform:rotate(-8deg);padding:22px;color:#f4d49a;box-shadow:12px 12px 0 #ffffff06}.finance-art span{font-size:13px;letter-spacing:3px}.finance-art strong{font-size:53px;display:block;text-align:right}.subtle{color:var(--muted);line-height:1.8}.aging-bars{display:grid;gap:22px;margin-top:25px}.aging-label{display:flex;justify-content:space-between;gap:16px;font-size:12px;margin-bottom:10px}.aging-label span{color:var(--muted)}.aging-progress{border:0;width:100%;height:9px;border-radius:8px;overflow:hidden;background:#edf0f5;appearance:none}.aging-progress::-webkit-progress-bar{background:#edf0f5;border-radius:8px}.aging-progress::-webkit-progress-value{background:#5684ad;border-radius:8px}.aging-progress.aging-1::-webkit-progress-value{background:#b8a16b}.aging-progress.aging-2::-webkit-progress-value{background:#d2a047}.aging-progress.aging-3::-webkit-progress-value{background:#ba6f53}.aging-progress::-moz-progress-bar{background:#5684ad}.report-filters{display:flex;align-items:end;gap:15px;flex-wrap:wrap;background:#f7f8fb;border:1px solid var(--line);padding:18px;border-radius:14px;margin:10px 0 20px}.report-filters label{margin:0;flex:1;min-width:130px}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:23px 0}.report-summary>div{padding:22px;background:#f5f7fa;border-radius:14px}.report-summary small{display:block;color:var(--muted);margin-bottom:14px}.report-summary strong{font-size:20px}.invoice-line{display:grid;grid-template-columns:minmax(180px,3fr) minmax(60px,.7fr) minmax(110px,1.3fr) 40px;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.invoice-line label{margin:0}.invoice-line button{padding:11px;margin-top:23px}.invoice-total{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0}.invoice-total strong{font-size:20px}.pill.void{background:#f4e8e5;color:#a16c5c}.pill.unpaid{background:#fff3da;color:#aa7b31}.document-toolbar{display:flex;justify-content:space-between;margin-bottom:20px;gap:12px}.finance-document{padding:38px;max-width:1000px;margin:auto}.document-header{display:flex;justify-content:space-between;gap:25px;border-bottom:2px solid #cda35b;padding-bottom:25px}.document-header h2{font-size:20px}.document-header p{font-size:12px;line-height:1.8;color:var(--muted)}.document-header>div:last-child{text-align:right}.document-meta{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:28px 0}.document-meta small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.document-meta strong{font-size:16px}.document-meta p{color:var(--muted)}.document-total{display:flex;align-items:center;justify-content:space-between;padding:25px;background:#f3f6fa;border-radius:12px;margin:25px 0}.document-total strong{font-size:24px;color:#253f63}.document-footer{margin-top:50px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.8}@media(max-width:1100px){:root[data-role="accounts"] .stat h2{font-size:19px}.report-summary strong{font-size:17px}}@media(max-width:700px){.finance-art{display:none}.invoice-line{grid-template-columns:1fr 70px 1fr}.invoice-line>label:first-child{grid-column:1/4}.invoice-line button{margin:0}.invoice-line>label:nth-child(2){grid-column:1}.invoice-line>label:nth-child(3){grid-column:2/4}.invoice-total{align-items:start;flex-direction:column}.report-summary{grid-template-columns:1fr}.finance-document{padding:22px}.document-header{flex-direction:column}.document-header>div:last-child{text-align:left}.document-meta{grid-template-columns:1fr}.document-total{padding:18px}.document-total strong{font-size:21px}}@media print{.finance-document{border:0;padding:0}.document-header{flex-direction:row}.document-meta{grid-template-columns:1fr 1fr}.document-toolbar,.report-filters{display:none!important}.report-summary{grid-template-columns:repeat(3,1fr)}}
:root[data-role="board"]{--plum:#103d43;--accent:#2e817d;--gold:#b7d3c3;--ink:#203b42;--muted:#73878a;--line:#e1eae8;--bg:#eef3f2}:root[data-role="board"] .side{background:linear-gradient(180deg,#092e35ed,#123e44f5),url('board-texture.jpg') center/cover}:root[data-role="board"] .nav button{color:#c2d8d4}:root[data-role="board"] .nav button.active{background:#eef7f1;color:#1d5557}:root[data-role="board"] .side .eyebrow{color:#8fb7ad}:root[data-role="board"] .hero,:root[data-role="board"] .login-story{background:linear-gradient(100deg,#092c35ec,#113e46c9),url('board-texture.jpg') center/cover}:root[data-role="board"] .hero p{color:#c8ded7}:root[data-role="board"] .hero .pill{background:#ffffff18;color:#d7eadd}:root[data-role="board"] .hero .eyebrow{color:#aed2bf}:root[data-role="board"] .crest{background:linear-gradient(145deg,#d6e6cd,#8ebba6);color:#17494c}:root[data-role="board"] .login{background:linear-gradient(#163b40d9,#0b2d35ed),url('board-texture.jpg') center/cover}:root[data-role="board"] .avatar,:root[data-role="board"] .quick button,:root[data-role="board"] button.secondary,:root[data-role="board"] .pill{background:#e5efea;color:#306f67}:root[data-role="board"] .stat .symbol{background:#e2efe8;color:#397f72}:root[data-role="board"] .stat:nth-child(2) .symbol{background:#e6eef3;color:#4e7d91}:root[data-role="board"] .stat:nth-child(3) .symbol{background:#edf0df;color:#7a8653}:root[data-role="board"] .stat:nth-child(4) .symbol{background:#e1f0ed;color:#448d82}.board-seal{width:145px;height:145px;border:1px solid #b9d7c96b;border-radius:50%;box-shadow:0 0 0 11px #ffffff06,inset 0 0 0 8px #ffffff05;display:flex;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0;color:#c6e4d4}.board-seal span{font-size:10px;letter-spacing:3px}.board-seal strong{font-family:Georgia,serif;font-size:44px;font-weight:400;margin:10px 0}.board-seal small{font-size:7px;letter-spacing:2px}.meeting-tile{display:flex;gap:22px;padding:23px 0;border-top:1px solid var(--line)}.meeting-tile:first-of-type{border-top:0}.meeting-tile p{color:var(--muted);line-height:1.8}.meeting-date{background:#e4eeea;color:#386b64;border-radius:15px;width:60px;padding:15px;flex-shrink:0;height:77px;text-align:center}.meeting-date strong{font-size:24px;display:block}.meeting-date span{font-size:10px;text-transform:uppercase}.board-school-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:10px 0}.board-school-stats strong{font-size:27px;display:block;margin-bottom:8px}.board-school-stats span{color:var(--muted);font-size:10px}.board-callout{background:linear-gradient(130deg,#174d53ed,#0c323beb),url('board-texture.jpg') center/cover;color:#e2eee8}.board-callout p{color:#b5ccc3;line-height:1.8}.board-callout button{background:#d8e9dc;color:#25584f}.pill.board-good{background:#dfeee3;color:#3b7758}.pill.board-late{background:#f6e7df;color:#9b694f}.minutes-copy{white-space:pre-wrap;line-height:1.9}.notice details{margin:18px 0;background:#f6f9f7;padding:16px;border-radius:12px}.notice summary{cursor:pointer;font-weight:600;color:var(--accent)}.notice details form{margin-top:20px}@media(max-width:700px){.board-seal{display:none}.meeting-tile{gap:15px}.meeting-tile .eyebrow{font-size:9px}.board-school-stats{gap:10px}}
:root[data-role="headteacher"]{--plum:#142f41;--accent:#b77826;--gold:#e5ac48;--ink:#213444;--muted:#7b858e;--line:#e6ebee;--bg:#f3f5f6}:root[data-role="headteacher"] .side{background:linear-gradient(#112a3ae8,#102332f5),url('admin-texture.jpg') center/cover}:root[data-role="headteacher"] .hero,:root[data-role="headteacher"] .login-story{background:linear-gradient(95deg,#0c2334ed,#152e40b3),url('admin-texture.jpg') center/cover}:root[data-role="headteacher"] .login{background:linear-gradient(#102536c9,#122b3cdb),url('admin-texture.jpg') center/cover}:root[data-role="headteacher"] .nav button.active{background:linear-gradient(110deg,#f1bb62,#f6ddad);color:#263544}:root[data-role="headteacher"] .nav button{color:#c7d5dd}:root[data-role="headteacher"] .side .eyebrow{color:#c5ac80}:root[data-role="headteacher"] .hero .eyebrow{color:#e9c17b}:root[data-role="headteacher"] .hero p{color:#d5dfe5}:root[data-role="headteacher"] .pill,:root[data-role="headteacher"] .avatar{background:#f6eddb;color:#976729}:root[data-role="headteacher"] .hero .pill{background:#ffffff16;color:#efcf99}:root[data-role="headteacher"] .stat .symbol{background:#f8edda;color:#aa742c}:root[data-role="developer"]{--plum:#17354e;--accent:#bd3e70;--gold:#d6bdd0;--ink:#24374b;--muted:#7a8597;--line:#e4eaf1;--bg:#f2f5f8}:root[data-role="developer"] .side{background:linear-gradient(#152f48e8,#10273ff5),url('developer-texture.jpg') center/cover}:root[data-role="developer"] .hero,:root[data-role="developer"] .login-story{background:linear-gradient(100deg,#152c46ee,#26385095),url('developer-texture.jpg') center/cover}:root[data-role="developer"] .login{background:linear-gradient(#17354ac5,#20354dde),url('developer-texture.jpg') center/cover}:root[data-role="developer"] .nav button.active{background:linear-gradient(105deg,#d8edf3,#ecd9e4);color:#28465c}:root[data-role="developer"] .nav button{color:#c6d5e4}:root[data-role="developer"] .side .eyebrow{color:#a6ced9}:root[data-role="developer"] .hero p{color:#d2e1eb}:root[data-role="developer"] .hero .eyebrow{color:#dfb9d1}:root[data-role="developer"] .hero .pill{background:#ffffff18;color:#dfd7e7}:root[data-role="developer"] .pill,:root[data-role="developer"] .avatar{background:#e9e4f0;color:#856080}:root[data-role="developer"] .stat .symbol{background:#e2edf3;color:#3c7b98}:root[data-role="developer"] .crest{background:linear-gradient(140deg,#b9ddea,#b886ab);color:#20394e}.control-emblem{width:125px;height:125px;flex-shrink:0;display:grid;place-items:center;border:1px solid #ffffff35;border-radius:25px;background:#ffffff0c;box-shadow:10px 10px 0 #ffffff05;font-family:Georgia,serif;font-size:45px;color:#eac58b}:root[data-role="developer"] .control-emblem{color:#bad5e5;font-family:monospace}.command-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.command-card{background:linear-gradient(145deg,#f4f7f9,#ffffff);border:1px solid var(--line);border-radius:15px;padding:23px;text-align:left;color:var(--ink);position:relative;min-height:155px}.command-card>span{display:block;font-size:25px;color:var(--accent);margin-bottom:15px}.command-card>strong{display:block;font-size:14px;margin-bottom:8px}.command-card>small{display:block;font-size:11px;color:var(--muted);line-height:1.7;max-width:85%}.command-card>b{position:absolute;right:18px;bottom:18px;font-size:19px;color:var(--accent)}.attention-row{display:flex;gap:18px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}.attention-row:first-of-type{border:0}.attention-row strong{font-size:26px;color:var(--accent);min-width:35px}.attention-row span{color:var(--muted);font-size:12px}.register-tabs{display:flex;flex-wrap:wrap;gap:9px}.register-tabs button{font-size:12px;padding:10px 15px}:root[data-role="headteacher"] .stat h2,:root[data-role="developer"] .stat h2{font-size:25px}@media(max-width:700px){.command-grid{grid-template-columns:1fr}.control-emblem{display:none}.command-card{min-height:140px}}
