:root{--navy:#063d68;--navy2:#073456;--blue:#1264ed;--blue2:#0757d8;--bg:#f7faff;--text:#102d4d;--muted:#64748b;--line:#dfe7ef;--green:#12a85a;--greenbg:#e7f8ed;--red:#ef3d43;--redbg:#ffe9e9;--yellow:#f4b83f;--yellowbg:#fff1cc;--white:#fff;--shadow:0 2px 10px rgba(14,48,80,.10)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,"Segoe UI",sans-serif;background:#eef4f9;color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.page-wrap{min-height:100vh}.global-flash{position:fixed;top:10px;right:10px;z-index:1000;width:320px}.alert{padding:10px 12px;border-radius:7px;font-size:12px}.alert.error{background:#ffe7e7;color:#a81e25}.alert.success{background:#e5f8ec;color:#08783c}.alert.info{background:#eaf4ff;color:#185ca7}
/* LOGIN - closely follows the reference phone screen */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;background:linear-gradient(135deg,#f3f8fc,#fff)}.login-phone{width:390px;min-height:720px;background:#fff;border:1px solid #c8d3dd;border-radius:14px;box-shadow:0 10px 28px rgba(20,54,83,.12);overflow:hidden;position:relative}.login-status{height:25px;background:#063c64;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:9px}.login-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:105px;height:20px;border-radius:0 0 11px 11px;background:#041e31}.login-screen{padding:26px 26px 20px}.login-logo{width:125px;height:92px;object-fit:contain;display:block;margin:10px auto 5px}.login-school{text-align:center;font-size:18px;font-weight:800;color:#122f52;margin:0}.login-sub{text-align:center;font-size:13px;font-weight:700;color:#122f52;margin:3px 0 28px}.login-field{height:43px;border:1px solid #d3dde7;border-radius:7px;display:flex;align-items:center;padding:0 11px;margin-bottom:12px;background:#fff}.login-field .ico{width:22px;color:#687b90;font-size:17px}.login-field input{border:0;outline:0;width:100%;font-size:12px;color:#233b55}.remember{display:flex;align-items:center;gap:7px;font-size:11px;color:#65768a;margin:12px 0 18px}.remember input{width:15px;height:15px}.login-button{height:42px;width:100%;border:0;border-radius:5px;background:#1264ed;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.forgot{text-align:center;color:#075fe1;font-size:11px;margin:13px 0 0}
/* shared buttons */.btn{border:0;border-radius:5px;background:var(--blue);color:#fff;font-weight:700;font-size:12px;cursor:pointer;min-height:38px;padding:9px 15px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.full{width:100%}.btn.green{background:#13a957}.btn.red{background:#ef3339}.btn.light{background:#eaf2ff;color:#0a5ddd}.btn.sm{min-height:29px;padding:6px 10px;font-size:10px}.muted{color:var(--muted)}.input,.select,.textarea{width:100%;border:1px solid #d1dce6;border-radius:6px;background:#fff;padding:9px 10px;color:#263a51;font-size:12px;outline:0}.textarea{min-height:76px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#1264ed;box-shadow:0 0 0 2px #1264ed15}
/* TEACHER MOBILE APP */
.teacher-app{width:390px;max-width:100%;min-height:100vh;margin:0 auto;background:#f8fbfe;border-left:1px solid #d9e3ec;border-right:1px solid #d9e3ec;position:relative}.mobile-status{height:23px;background:#063b62;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 9px;font-size:8px}.status-center{position:absolute;left:50%;transform:translateX(-50%);top:0;width:95px;height:18px;background:#031e31;border-radius:0 0 9px 9px}.teacher-head{height:49px;background:#073e68;color:#fff;display:flex;align-items:center;padding:0 13px;position:relative}.teacher-head .back,.teacher-head .home-link,.teacher-head .forward-link{font-size:22px;line-height:1;width:42px;color:#fff;display:flex;align-items:center;justify-content:center}.teacher-head .back{font-weight:400}.teacher-head .title{font-size:14px;font-weight:700;flex:1;text-align:center}.teacher-head .head-right{width:42px;text-align:right;font-size:18px;display:flex;justify-content:flex-end}.teacher-head .nav-disabled{opacity:.35}.teacher-head .nav-controls{display:flex;align-items:center;width:84px}.teacher-head .nav-controls a{color:#fff;text-decoration:none;width:42px;text-align:center}.teacher-body{padding:12px 12px 74px}.welcome{display:flex;align-items:center;gap:10px;margin:2px 2px 12px}.avatar{width:43px;height:43px;border-radius:50%;background:#ffd9c5;border:2px solid #fff;display:grid;place-items:center;font-size:22px;box-shadow:0 1px 5px #163b5d20}.welcome strong{font-size:12px;line-height:1.3}.welcome small{display:block;color:#697a8e;font-size:10px;margin-top:2px}.notif{margin-left:auto;font-size:19px;color:#153d63}.section-title{font-size:12px;font-weight:800;margin:10px 1px 7px}.leave-summary{background:#fff;border:1px solid #dbe5ee;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px rgba(24,57,85,.03)}.sum-row{height:56px;display:flex;align-items:center;padding:7px 10px;border-bottom:1px solid #edf1f5}.sum-row:last-child{border-bottom:0}.round-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#c9f0d9;color:#10a353;font-size:17px;margin-right:9px}.round-icon.blue{background:#cde6ff;color:#086de5}.round-icon.red{background:#ffd9d9;color:#ef3037}.sum-row b{font-size:11px}.sum-row small{display:block;color:#687b90;font-size:9px;margin-top:2px}.sum-row .arrow{margin-left:auto;font-size:20px;color:#274a69}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.mini-stat{background:#fff;border:1px solid #dce5ed;border-radius:6px;text-align:center;padding:7px 3px}.mini-stat b{display:block;font-size:17px}.mini-stat span{font-size:8px;color:#66788d}.mini-stat.green{background:#ecfaef;border-color:#ccebd5}.mini-stat.green b{color:#129c4d}.mini-stat.red{background:#fff0f0;border-color:#ffd6d6}.mini-stat.red b{color:#ef3d43}.attendance{background:#e8f8ec;border:1px solid #cbead4;border-radius:7px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center}.attendance b{font-size:22px;color:#159b4d}.attendance span{font-size:9px;color:#4f6b59;line-height:1.35}.big-apply{margin-top:8px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:390px;max-width:100%;height:57px;background:#fff;border-top:1px solid #d9e2eb;display:grid;grid-template-columns:repeat(4,1fr);z-index:50;box-shadow:0 -2px 9px #0b355016}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#6a7b8e;font-size:8px;font-weight:600}.bottom-nav a span{font-size:18px;line-height:17px}.bottom-nav a.active{color:#0864e5}.leave-type-card{background:#fff;border:1px solid #dbe5ee;border-radius:8px;padding:11px;display:flex;align-items:center;gap:10px;margin-bottom:9px;position:relative;cursor:pointer;box-shadow:0 1px 3px #18395506}.leave-type-card.selected{background:#e9f9ee;border-color:#bfe8cc}.leave-type-card.sick{background:#eaf5ff}.leave-type-card.emergency{background:#fff0f0}.type-circle{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#10a757;color:#fff;font-size:21px;flex:none}.sick .type-circle{background:#1175ed}.emergency .type-circle{background:#f13c42}.leave-type-card b{font-size:12px}.leave-type-card p{margin:3px 0 0;font-size:9px;line-height:1.35;color:#596d82}.leave-type-card .arrow{margin-left:auto;font-size:20px}.detail-card,.confirm-card{background:#fff;border:1px solid #dce5ed;border-radius:7px;padding:10px;margin-bottom:8px}.detail-card label{display:block;font-size:9px;color:#506276;margin-bottom:4px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.date-box{position:relative}.date-box .input{padding-right:28px}.calendar-icon{position:absolute;right:8px;bottom:9px;color:#52667b;font-size:12px}.total-days{display:flex;justify-content:space-between;padding:8px 1px;font-size:10px}.upload{border:1px dashed #cbd7e2;border-radius:6px;padding:9px;background:#fbfdff}.upload input{font-size:10px;width:100%}.success-card{text-align:center;padding:24px 11px}.success-circle{width:56px;height:56px;border-radius:50%;background:#08a956;color:#fff;display:grid;place-items:center;font-size:31px;margin:0 auto 12px}.success-card h2{font-size:14px;color:#07833f;margin:0 0 11px}.detail-lines{border:1px solid #e0e7ed;border-radius:6px;text-align:left;margin:10px 0}.detail-lines div{padding:7px 8px;border-bottom:1px solid #edf1f5;font-size:10px;display:flex;justify-content:space-between;gap:8px}.detail-lines div:last-child{border-bottom:0}.info-box{background:#eaf4ff;border:1px solid #cbe1ff;border-radius:6px;padding:9px;font-size:9px;line-height:1.4;color:#24547f;text-align:left}.request-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-bottom:1px solid #dfe7ef;margin:0 -12px 8px;padding:0 8px}.request-tabs a{padding:9px 4px;text-align:center;font-size:9px;color:#687a8f;border-bottom:3px solid transparent}.request-tabs a.active{color:#0864e5;border-color:#0864e5;font-weight:800}.request-card{background:#fff;border:1px solid #dbe4ec;border-radius:7px;padding:9px;margin-bottom:7px}.request-card .r-top{display:flex;justify-content:space-between;gap:6px}.request-card strong{font-size:10px}.request-card small{display:block;color:#63768a;font-size:9px;line-height:1.4;margin-top:3px}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800;white-space:nowrap}.badge.approved{background:#dff7e8;color:#078443}.badge.rejected{background:#ffdede;color:#c72b30}.badge.pending{background:#fff0c8;color:#a36900}.profile-card{background:#fff;border:1px solid #dbe4ec;border-radius:7px;overflow:hidden}.profile-line{padding:8px 9px;border-bottom:1px solid #edf1f5}.profile-line label{display:block;font-size:8px;color:#738398;margin-bottom:2px}.profile-line b{font-size:10px}.profile-action{background:#fff;border:1px solid #dbe4ec;border-radius:7px;padding:10px;margin-top:8px;font-size:10px;display:flex;justify-content:space-between}.profile-action.logout{color:#e22b31}
/* ADMIN APP */
.admin-layout{display:grid;grid-template-columns:210px 1fr;min-height:100vh;background:#f8fbfe}.admin-side{background:#fff;border-right:1px solid #dce5ed;padding:9px 9px 15px;position:sticky;top:0;height:100vh}.admin-brand{text-align:center;padding:6px 4px 13px}.admin-logo-img{width:62px;height:42px;object-fit:contain;display:block;margin:auto}.admin-brand b{display:block;font-size:11px;margin-top:2px}.admin-brand small{font-size:8px;color:#748398}.admin-nav{display:flex;align-items:center;gap:8px;padding:9px 8px;border-radius:5px;color:#53677c;font-size:10px;margin:2px 0}.admin-nav.active,.admin-nav:hover{background:#e8f2ff;color:#0762df;font-weight:800}.admin-nav.logout{color:#e11;margin-top:22px}.admin-main{padding:14px 14px 30px;max-width:1260px;width:100%}.admin-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.admin-title h1{font-size:17px;margin:0}.admin-title p{font-size:9px;color:#718096;margin:3px 0 0}.admin-date{font-size:9px;color:#6c7c8e}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.a-stat{background:#fff;border:1px solid #dce5ed;border-radius:5px;padding:8px}.a-stat .label{font-size:8px;color:#718096}.a-stat .num{font-size:19px;font-weight:800;margin-top:3px}.a-stat.green{border-left:3px solid #13a356}.a-stat.red{border-left:3px solid #ef4444}.a-stat.blue{border-left:3px solid #1468ee}.a-stat.yellow{border-left:3px solid #f4b942}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:7px;margin-top:7px}.admin-panel{background:#fff;border:1px solid #dce5ed;border-radius:6px;padding:9px}.admin-panel h2{font-size:10px;margin:0 0 8px}.quick{display:grid;gap:5px}.quick a{border:1px solid #e0e7ef;border-radius:5px;padding:8px;font-size:9px;color:#35516c}.pending-item{border:1px solid #e0e7ef;border-radius:6px;padding:8px;margin-bottom:6px;display:flex;justify-content:space-between;gap:7px}.pending-item strong{font-size:9px}.pending-item small{display:block;color:#718096;font-size:8px;margin-top:2px;line-height:1.4}.admin-actions{display:flex;gap:4px;align-items:center}.table{width:100%;border-collapse:collapse;font-size:9px}.table th,.table td{padding:7px 6px;border-bottom:1px solid #edf1f5;text-align:left}.table th{background:#f8fbfe;color:#6b7a8d;font-size:8px}.table td b{font-size:9px}.search-row{display:flex;gap:6px;margin-bottom:8px}.search-row .input{max-width:350px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #dce5ed;border-left:1px solid #dce5ed}.cal-head,.cal-day{border-right:1px solid #dce5ed;border-bottom:1px solid #dce5ed;min-height:57px;padding:5px;font-size:8px}.cal-head{min-height:auto;text-align:center;background:#f8fbfe;font-weight:800}.cal-day b{font-size:9px}.dot{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:8px;margin-top:4px}.dot.green{background:#9ddd00}.dot.yellow{background:#f1b21a}.dot.red{background:#ef4145}.legend{display:flex;gap:10px;margin-top:7px;font-size:8px;color:#68798c}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(3,1fr)}.admin-layout{grid-template-columns:180px 1fr}}@media(max-width:680px){.admin-layout{display:block}.admin-side{display:none}.admin-main{padding:10px}.stats-grid{grid-template-columns:repeat(2,1fr)}.login-phone{width:390px;min-height:680px}.teacher-app{border:0}.global-flash{width:calc(100% - 20px)}}

.teacher-nav-help{font-size:8px;color:#dcecff;text-align:center;margin-top:1px}.home-round{font-size:18px}.next-btn{margin-top:8px}

/* ===== ADMIN DESKTOP REFERENCE DESIGN ===== */
.admin-layout{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:100vh;background:#f7fafc;color:#183552}
.admin-side{background:#fff;border-right:1px solid #d7e0e9;padding:12px 9px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:90}
.admin-brand{height:105px;text-align:center;border-bottom:1px solid #edf1f5;padding:3px 2px 11px;margin-bottom:8px}
.admin-logo-img{width:66px;height:48px;object-fit:contain;display:block;margin:0 auto 2px}
.admin-school-name{font-size:11px;font-weight:800;color:#183b5d;line-height:1.2}
.admin-portal{font-size:8px;color:#6c7c8e;margin-top:3px}
.admin-nav-list{display:flex;flex-direction:column;gap:2px}
.admin-nav{display:flex;align-items:center;gap:9px;padding:10px 9px;border-radius:5px;color:#52687e;font-size:10px;line-height:1.2;margin:0;transition:.15s}
.admin-nav span{width:15px;text-align:center;font-size:12px}
.admin-nav.active,.admin-nav:hover{background:#1264ed;color:#fff;font-weight:800}
.admin-nav.logout{margin-top:auto;color:#e22f35}
.admin-nav.logout:hover{background:#fff0f0;color:#d51f26}
.admin-main{padding:13px 15px 30px;max-width:none;width:100%;min-width:0}
.admin-topbar{height:24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.admin-crumb{display:flex;gap:6px;align-items:center;font-size:8px;color:#7a8999}.admin-crumb a{color:#1765df;font-weight:700}.admin-top-actions{display:flex;gap:5px}.top-action{font-size:8px;color:#526b82;border:1px solid #d8e2eb;background:#fff;border-radius:4px;padding:5px 8px}.top-action.home{color:#1264ed}
.admin-title{display:flex;justify-content:space-between;align-items:end;margin:0 0 10px;padding:0 2px}.admin-title h1{font-size:18px;line-height:1.1;margin:0;color:#183b5d}.admin-title p{font-size:9px;color:#718398;margin:4px 0 0}.admin-date{font-size:9px;color:#6c7c8e}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:7px}.a-stat{background:#fff;border:1px solid #d6e0e9;border-radius:5px;padding:10px 11px;min-height:66px;box-shadow:0 1px 2px rgba(24,55,83,.03)}.a-stat .label{font-size:8px;color:#718398}.a-stat .num{font-size:21px;line-height:1;font-weight:800;margin-top:6px;color:#183b5d}.a-stat.green{border-left:4px solid #13a356}.a-stat.red{border-left:4px solid #ef4444}.a-stat.blue{border-left:4px solid #1468ee}.a-stat.yellow{border-left:4px solid #f4b942}
.admin-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);gap:8px;margin-top:8px}.admin-panel{background:#fff;border:1px solid #d7e1ea;border-radius:6px;padding:10px;box-shadow:0 1px 2px rgba(24,55,83,.025)}.admin-panel h2{font-size:11px;margin:0 0 9px;color:#183b5d}.admin-panel .panel-sub{font-size:8px;color:#77879a;margin:-5px 0 8px}
.quick{display:grid;gap:5px}.quick a{border:1px solid #dce5ed;border-radius:5px;padding:9px 10px;font-size:9px;color:#35516c;background:#fff}.quick a:hover{background:#f5f9ff;border-color:#bfd4ee;color:#1264ed}
.pending-item{border:1px solid #dce5ed;border-radius:6px;padding:8px;margin-bottom:6px;display:flex;justify-content:space-between;gap:7px;background:#fff}.pending-item strong{font-size:9px}.pending-item small{display:block;color:#718096;font-size:8px;margin-top:2px;line-height:1.4}.admin-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:9px}.table th,.table td{padding:7px 7px;border-bottom:1px solid #edf1f5;text-align:left;white-space:nowrap}.table th{background:#f7fafc;color:#687a8e;font-size:8px;font-weight:800}.table tr:last-child td{border-bottom:0}.table td b{font-size:9px}.search-row{display:flex;gap:6px;margin-bottom:8px}.search-row .input{max-width:360px}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #dce5ed;border-left:1px solid #dce5ed}.cal-head,.cal-day{border-right:1px solid #dce5ed;border-bottom:1px solid #dce5ed;min-height:62px;padding:5px;font-size:8px}.cal-head{min-height:auto;text-align:center;background:#f7fafc;font-weight:800}.cal-day b{font-size:9px}.dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:8px;margin-top:4px}.dot.green{background:#8fd000}.dot.yellow{background:#f2b31b}.dot.red{background:#ef4145}.legend{display:flex;gap:12px;margin-top:8px;font-size:8px;color:#68798c;flex-wrap:wrap}
.admin-mobile-bar{display:none}.admin-side-overlay{display:none}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.admin-layout{display:block;min-height:100vh}.admin-side{position:fixed;left:-225px;top:0;width:205px;height:100vh;transition:left .2s ease;box-shadow:8px 0 25px rgba(0,0,0,.15)}body.admin-menu-open .admin-side{left:0}body.admin-menu-open .admin-side-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:80}.admin-mobile-bar{height:48px;background:#073e68;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 13px;position:sticky;top:0;z-index:70}.admin-mobile-bar strong{font-size:11px}.admin-mobile-bar a,.admin-menu-btn{color:#fff;background:none;border:0;font-size:20px}.admin-main{padding:10px}.admin-topbar{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.admin-title h1{font-size:17px}}
/* Teacher management */
.form-label{display:block;font-size:9px;font-weight:800;color:#5c7085;margin:0 0 4px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:13px}.form-sep{border:0;border-top:1px solid #edf1f5;margin:15px 0 10px}.form-note{font-size:9px;margin:0 0 8px}.reset-row{display:flex;gap:6px;max-width:520px}.teacher-actions{display:flex;gap:4px;align-items:center}.teacher-actions form{margin:0}.teacher-status-filter{max-width:130px}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.reset-row{flex-direction:column}.teacher-actions{flex-direction:column;align-items:stretch}.teacher-status-filter{max-width:none}.admin-title{gap:8px}.admin-title .btn{white-space:nowrap}}

/* Teacher list responsive improvements */
.teacher-mobile-list{display:none}
.teacher-card{background:#fff;border:1px solid #d7e1ea;border-radius:9px;padding:12px;margin-bottom:8px;box-shadow:0 1px 2px rgba(24,55,83,.03)}
.teacher-card-top{display:flex;align-items:flex-start;gap:9px}.teacher-number{width:24px;height:24px;display:grid;place-items:center;color:#183b5d;font-weight:800;font-size:10px;flex:none}.teacher-card-name{min-width:0;flex:1}.teacher-card-name b{display:block;font-size:12px;color:#183b5d}.teacher-card-name span{display:block;color:#718398;font-size:10px;margin-top:2px}.teacher-card-name small{display:block;color:#718398;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.teacher-card-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0 9px;padding-top:9px;border-top:1px solid #edf1f5}.teacher-card-info label{display:block;color:#78899b;font-size:8px;margin-bottom:3px}.teacher-card-info strong{font-size:10px;color:#304c67;font-weight:600}.teacher-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.teacher-card-stats span{background:#f7fafc;border:1px solid #e2e9ef;border-radius:5px;padding:6px;text-align:center;color:#718398;font-size:8px}.teacher-card-stats b{display:block;color:#183b5d;font-size:12px;margin-top:2px}.teacher-card-stats .green-text{color:#0b9850}.teacher-card-stats .red-text{color:#d93238}.teacher-card-actions{display:flex;gap:6px;margin-top:9px}.teacher-card-actions form{margin:0;flex:1}.teacher-card-actions .btn{width:100%}.teacher-card-actions>a{flex:1}.teacher-empty{text-align:center;padding:25px}
@media(max-width:700px){.admin-mobile-bar{grid-template-columns:34px 34px 1fr 34px;display:grid;gap:2px}.admin-mobile-bar strong{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mobile-back{text-align:center;color:#fff;font-size:27px;line-height:1}.teacher-desktop-list{display:none}.teacher-mobile-list{display:block}.admin-title{align-items:flex-start}.admin-title .btn{min-height:40px;padding:8px 11px;font-size:11px}.search-row{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:6px}.search-row .input{max-width:none;min-width:0}.search-row .btn{padding-left:12px;padding-right:12px}.admin-panel{padding:9px}.teacher-card{border-radius:8px}.teacher-card .badge{margin-left:auto}}
@media(max-width:430px){.admin-title{display:flex}.admin-title h1{font-size:18px}.admin-title p{font-size:9px;max-width:190px}.admin-title .btn{white-space:normal;line-height:1.15;text-align:center;max-width:145px}.search-row{grid-template-columns:1fr 105px;}.search-row .btn{grid-column:1 / -1;width:100%}.search-row .light{grid-column:auto}.teacher-card-top{gap:7px}}

/* Unauthorised Absence page — consistent admin cards, forms and mobile layout */
.ua-page{max-width:1320px;margin:0 auto}.ua-title{align-items:center;gap:12px;margin-bottom:14px}.ua-eyebrow{margin-bottom:5px}.ua-eyebrow span{display:inline-block;font-size:8px;font-weight:800;letter-spacing:.09em;color:#1264ed;background:#eaf2ff;padding:5px 8px;border-radius:999px}.ua-title h1{display:flex;align-items:center;gap:8px}.ua-title-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#fff1cc;color:#a96a00;font-size:17px}.ua-title-actions{display:flex;gap:7px;flex-wrap:wrap}.ua-alert{margin:0 0 10px}.ua-info-strip{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border:1px solid #cfe2fb;background:#edf6ff;border-radius:8px;margin-bottom:12px;color:#244c72}.ua-info-symbol{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:50%;background:#1264ed;color:#fff;font-weight:800;font-size:12px}.ua-info-strip b,.ua-info-strip span{display:block}.ua-info-strip b{font-size:11px;margin-bottom:3px}.ua-info-strip div span{font-size:10px;line-height:1.45;color:#4c6a86}.ua-two-col{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:12px;align-items:start}.ua-panel{padding:14px;margin-bottom:12px;border-radius:9px}.ua-panel-heading{display:flex;align-items:flex-start;gap:9px;margin-bottom:13px}.ua-panel-heading h2{font-size:12px;margin:1px 0 4px}.ua-panel-heading p{font-size:9px;color:#74869a;margin:0;line-height:1.4}.ua-step{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;flex:none;background:#fff1cc;color:#986100;font-weight:800;font-size:11px}.ua-step-blue{background:#e8f1ff;color:#1264ed}.ua-step-green{background:#e5f8ec;color:#0b8d4b}.ua-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ua-field{min-width:0}.ua-full{grid-column:1/-1}.ua-field label{display:block;font-size:10px;font-weight:800;color:#415b75;margin:0 0 5px}.ua-field label b{color:#dc3038}.ua-optional{float:right;font-size:8px;color:#7b8b9b;font-weight:500}.ua-field input,.ua-field select,.ua-field textarea{width:100%;min-width:0;border:1px solid #d5e0ea;border-radius:7px;background:#fff;padding:10px 11px;color:#203b56;font-size:11px;outline:none}.ua-field input:focus,.ua-field select:focus,.ua-field textarea:focus{border-color:#78a9f6;box-shadow:0 0 0 3px #1264ed15}.ua-field textarea{min-height:94px;resize:vertical;line-height:1.45}.ua-field small{display:block;font-size:8px;color:#7b8b9c;line-height:1.45;margin-top:5px}.ua-submit-row{display:flex;justify-content:flex-end;border-top:1px solid #edf1f5;padding-top:11px;margin-top:2px}.ua-submit-row .btn{min-width:180px}.ua-matches{display:flex;align-items:center;gap:8px;margin-top:12px;border-top:1px solid #edf1f5;padding-top:10px;color:#718398;font-size:9px}.ua-match-count{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#f2f6fa;color:#183b5d;font-size:11px;font-weight:800}.ua-primary-panel{border-top:3px solid #1264ed}.ua-recent-panel{padding:14px;border-radius:9px}.ua-desktop-table .table th{font-size:9px}.ua-desktop-table .table td{font-size:10px;white-space:normal;vertical-align:top}.ua-notes-cell{min-width:180px;max-width:360px;line-height:1.45}.ua-mobile-records{display:none}.ua-empty{text-align:center;padding:25px 10px;color:#73859a}.ua-empty>span{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 8px;background:#e5f8ec;color:#0b9850;border-radius:50%;font-size:19px}.ua-empty b{display:block;color:#183b5d;font-size:11px}.ua-empty p{font-size:9px;margin:4px 0 0}
@media(max-width:900px){.ua-two-col{grid-template-columns:1fr}.ua-primary-panel{grid-row:1}.ua-title-actions{justify-content:flex-end}}
@media(max-width:700px){.ua-title{align-items:flex-start;flex-direction:column}.ua-title-actions{width:100%;justify-content:flex-start}.ua-title-actions .btn{flex:1}.ua-info-strip{padding:10px}.ua-panel,.ua-recent-panel{padding:11px}.ua-form-grid{grid-template-columns:1fr;gap:10px}.ua-full{grid-column:auto}.ua-submit-row .btn{width:100%}.ua-desktop-table{display:none}.ua-mobile-records{display:grid;gap:8px}.ua-record-card{border:1px solid #dce5ed;border-radius:8px;padding:11px;background:#fff}.ua-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ua-record-top>b{font-size:11px;color:#183b5d}.ua-date-pill{background:#edf4ff;color:#1a5db4;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:800;white-space:nowrap}.ua-record-id{font-size:9px;color:#75869a;margin-top:3px}.ua-record-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid #edf1f5;font-size:9px}.ua-record-meta span{color:#7a899a}.ua-record-meta b{color:#405a73}.ua-record-card p{font-size:10px;line-height:1.45;color:#50677e;margin:8px 0}.ua-record-card small{font-size:8px;color:#8391a0}}
