:root{--violet:#6d28d9;--violet-dark:#4c1d95;--green:#059669;--ink:#172033;--muted:#64748b;--line:#e8e7ef;--soft:#f7f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f6f7fb}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 12% 0,#ede9fe 0,transparent 32%),radial-gradient(circle at 100% 100%,#d1fae5 0,transparent 28%),#f8fafc}button,input,select,textarea{font:inherit}.hidden{display:none!important}.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,600px);background:rgba(255,255,255,.96);border:1px solid #ebe9f2;border-radius:26px;padding:28px;box-shadow:0 28px 75px rgba(51,33,85,.13)}.back-link{display:inline-flex;color:#64748b;text-decoration:none;font-size:12px;font-weight:800;margin-bottom:20px}.auth-brand{display:flex;align-items:center;gap:13px}.auth-brand img{width:58px;height:58px;border-radius:17px;box-shadow:0 10px 25px rgba(109,40,217,.16)}.auth-brand span{font-size:10px;font-weight:900;letter-spacing:.17em;color:var(--violet)}.auth-brand h1{margin:4px 0 0;font-size:25px}.auth-card>p{color:var(--muted);font-size:13px;line-height:1.6}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f3f2f7;border-radius:13px;padding:5px;margin:20px 0}.auth-tabs button{border:0;border-radius:10px;padding:10px;background:transparent;color:#64748b;font-weight:850;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--violet);box-shadow:0 5px 14px rgba(30,20,55,.08)}.form-stack{display:grid;gap:12px}.form-stack label,.modal-card label{display:grid;gap:6px;color:#475569;font-size:11px;font-weight:850}.form-stack input,.form-stack select,.form-stack textarea,.modal-card input,.modal-card select,.modal-card textarea{width:100%;border:1px solid #dfe3eb;border-radius:12px;background:#fafbfc;padding:11px 12px;outline:0;color:var(--ink)}.form-stack input:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.11);background:#fff}.form-stack small{color:#94a3b8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.foundation-app{min-height:100dvh;display:grid;grid-template-columns:250px 1fr}.foundation-app aside{height:100dvh;position:sticky;top:0;background:#1e1235;color:#fff;padding:20px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 22px}.brand img{width:43px;height:43px;border-radius:13px}.brand b{display:block;font-size:17px}.brand b span{color:#c4b5fd}.brand small{display:block;margin-top:3px;color:#a78bfa;font-size:9px;font-weight:800}.foundation-app aside nav{display:grid;gap:6px}.foundation-app aside nav button,.logout{border:0;border-radius:13px;padding:12px 13px;background:transparent;color:#cbd5e1;display:flex;align-items:center;gap:11px;text-align:left;font-size:12px;font-weight:800;cursor:pointer}.foundation-app aside nav button.active,.foundation-app aside nav button:hover{background:#6d28d9;color:#fff}.logout{margin-top:auto;background:#3b214f;color:#fecdd3}.foundation-app main{min-width:0}.foundation-app header{height:80px;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:0 25px;display:flex;align-items:center;justify-content:space-between}.foundation-app header>div>small{display:block;color:#8b5cf6;font-size:9px;font-weight:900;letter-spacing:.13em}.foundation-app header h2{margin:5px 0 0;font-size:20px}.profile{display:flex;align-items:center;gap:10px;text-align:right}.profile b,.profile small{display:block}.profile b{font-size:12px}.profile small{color:#64748b;font-size:10px;margin-top:3px}.profile>span{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);display:grid;place-items:center;color:#fff;font-weight:900}.content{padding:24px;max-width:1500px;margin:auto}.hero-panel{border-radius:24px;padding:24px;color:#fff;background:linear-gradient(135deg,#4c1d95,#6d28d9 58%,#7c3aed);box-shadow:0 18px 45px rgba(109,40,217,.22);margin-bottom:18px}.hero-panel span{font-size:9px;font-weight:900;letter-spacing:.16em;color:#ddd6fe}.hero-panel h1{margin:7px 0;font-size:26px}.hero-panel p{margin:0;color:#ede9fe;font-size:13px;line-height:1.6}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:0 8px 25px rgba(15,23,42,.045)}.stat{padding:17px}.stat small{color:var(--muted);font-size:10px;font-weight:750}.stat b{display:block;font-size:24px;margin-top:6px}.panel{overflow:hidden;margin-bottom:17px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--line)}.panel-head h3{margin:0;font-size:15px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.panel-body{padding:18px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters input,.filters select{border:1px solid #dfe3eb;border-radius:10px;padding:9px 11px;background:#fff}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{text-align:left;background:#fafafa;color:#64748b;padding:10px 12px;font-size:9px;letter-spacing:.05em}td{border-top:1px solid #eef0f4;padding:12px;font-size:11px;vertical-align:top}td b{display:block}td small{color:#7c8798}.actions{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;padding:6px 9px;border-radius:9px;background:#effcf8;color:#047857;font-size:9px;font-weight:900;text-transform:uppercase}.badge.pending,.badge.proposed{background:#fffaf0;color:#a34405}.badge.rejected,.badge.cancelled{background:#fff5f5;color:#c81e1e}.empty{text-align:center;color:#94a3b8;padding:35px}.school-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.school-card{border:1px solid var(--line);border-radius:17px;padding:16px;background:#fff}.school-card-head{display:flex;justify-content:space-between;gap:10px}.school-card h3{margin:0;font-size:15px}.school-card p{color:var(--muted);font-size:11px}.school-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.school-meta div{background:#f8fafc;border-radius:11px;padding:9px}.school-meta small,.school-meta b{display:block}.school-meta small{font-size:8px;color:#94a3b8}.school-meta b{font-size:12px;margin-top:4px}.modal{position:fixed;inset:0;z-index:100;background:rgba(20,12,35,.58);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px}.modal-card{position:relative;width:min(100%,560px);max-height:calc(100dvh - 36px);overflow:auto;background:#fff;border-radius:22px;padding:23px;box-shadow:0 30px 80px rgba(20,12,35,.3)}.modal-card h2{margin:0 35px 6px 0;font-size:20px}.modal-card>div>p{font-size:12px;color:var(--muted)}.modal-close{position:absolute;right:13px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f3f4f6;color:#64748b;font-size:20px;cursor:pointer}.toast{position:fixed;right:16px;top:16px;z-index:200;background:#172033;color:#fff;border-radius:13px;padding:12px 15px;box-shadow:0 16px 40px rgba(15,23,42,.22);font-size:11px;font-weight:800}.toast.error{background:#c81e1e}.loading{position:fixed;inset:0;z-index:190;background:rgba(248,250,252,.76);backdrop-filter:blur(3px);display:grid;place-content:center;place-items:center;gap:10px}.loading span{width:34px;height:34px;border:4px solid #ddd6fe;border-top-color:#7c3aed;border-radius:50%;animation:spin .7s linear infinite}.loading b{font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.school-grid{grid-template-columns:1fr}}@media(max-width:760px){.foundation-app{display:block;padding-bottom:70px}.foundation-app aside{position:fixed;left:0;right:0;bottom:0;top:auto;height:70px;z-index:50;padding:6px;background:#1e1235}.brand,.logout{display:none}.foundation-app aside nav{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.foundation-app aside nav button{padding:7px 3px;justify-content:center;display:grid;text-align:center;font-size:16px}.foundation-app aside nav button span{font-size:7px}.foundation-app header{height:70px;padding:0 13px}.profile div{display:none}.content{padding:14px 11px}.stats{gap:8px}.stat{padding:13px}.stat b{font-size:20px}.hero-panel{border-radius:19px;padding:19px}.hero-panel h1{font-size:21px}.panel{border-radius:16px}.panel-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.auth-screen{padding:13px}.auth-card{padding:22px 17px;border-radius:22px}.modal{align-items:end;padding:0}.modal-card{width:100%;max-height:90dvh;border-radius:22px 22px 0 0;padding:21px 16px}.school-meta{grid-template-columns:repeat(3,1fr)}}
