:root{
  --orange:#f97316;
  --orange-2:#ea580c;
  --amber:#f59e0b;
  --cream:#fff7ed;
  --ink:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --bg:#f8fafc;
  --card:#ffffff;
  --green:#16a34a;
  --red:#dc2626;
  --shadow:0 18px 45px rgba(17,24,39,.08);
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#fff7ed 0,#fff 34%,#f8fafc 100%);color:var(--ink)}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:280px;position:fixed;inset:0 auto 0 0;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-right:1px solid #ffedd5;padding:26px 18px;z-index:30}.brand{display:flex;gap:13px;align-items:center;margin-bottom:32px}.brand-mark{height:58px;width:58px;border-radius:18px;background:linear-gradient(135deg,var(--orange),var(--amber));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 14px 25px rgba(249,115,22,.22)}.brand h1{font-size:34px;line-height:.9;margin:0;color:var(--orange);letter-spacing:.04em}.brand p{margin:3px 0 0;font-size:11px;font-weight:900;text-transform:uppercase}.brand small{font-size:11px;color:var(--orange)}.nav-list{display:grid;gap:10px}.nav-item{border:0;background:transparent;text-align:left;padding:14px 16px;border-radius:16px;color:#374151;font-weight:750;display:flex;gap:12px;align-items:center;cursor:pointer;transition:.2s}.nav-item:hover{background:#fff7ed;color:var(--orange-2)}.nav-item.active{background:linear-gradient(135deg,var(--orange),var(--amber));color:#fff;box-shadow:0 15px 28px rgba(249,115,22,.22)}.nav-item span{width:22px}.sidebar-footer{position:absolute;left:18px;right:18px;bottom:24px;background:#fff7ed;border:1px solid #ffedd5;border-radius:18px;padding:16px;font-size:12px}.sidebar-footer strong{display:block}.sidebar-footer span{display:block;color:var(--muted);margin-top:5px}.main{margin-left:280px;width:calc(100% - 280px)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;padding:22px 30px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-bottom:1px solid #ffedd5}.menu-btn{display:none;border:1px solid #fed7aa;background:#fff;border-radius:14px;width:46px;height:46px;cursor:pointer}.page-title{min-width:250px}.page-title span{font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--orange)}.page-title h2{margin:2px 0;font-size:28px}.page-title p{margin:0;color:var(--muted);font-size:14px}.top-search{height:48px;flex:1;max-width:520px;border:1px solid var(--line);background:#fff;border-radius:15px;display:flex;align-items:center;gap:10px;padding:0 14px;box-shadow:0 10px 20px rgba(17,24,39,.04)}.top-search input{border:0;outline:0;flex:1}.top-search kbd{font-size:11px;color:var(--muted);background:#f3f4f6;border-radius:7px;padding:4px 7px}.user-area{margin-left:auto;display:flex;align-items:center;gap:12px}.notification{position:relative;border:0;background:#fff;border-radius:14px;height:44px;width:44px;box-shadow:0 8px 18px rgba(17,24,39,.06);cursor:pointer}.notification span{position:absolute;right:4px;top:2px;background:var(--orange);color:#fff;border-radius:999px;font-size:10px;padding:2px 5px}.avatar{height:44px;width:44px;border-radius:50%;background:linear-gradient(135deg,#111827,#f97316);color:#fff;display:grid;place-items:center;font-weight:900}.user-copy{display:grid}.user-copy small{color:var(--muted)}.content{padding:26px 30px 40px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat-card{background:rgba(255,255,255,.92);border:1px solid #ffedd5;border-radius:22px;padding:22px;display:flex;gap:16px;box-shadow:0 13px 26px rgba(17,24,39,.055)}.stat-card.featured{border-left:4px solid var(--orange)}.stat-icon{height:58px;width:58px;border-radius:50%;display:grid;place-items:center;background:#ffedd5;color:var(--orange);font-size:24px}.stat-icon.yellow{background:#fef3c7;color:#d97706}.stat-icon.green{background:#dcfce7;color:#16a34a}.stat-icon.pale{background:#fff7ed}.stat-card span{display:block;font-size:13px;font-weight:800}.stat-card strong{display:block;font-size:28px;margin:8px 0 4px}.stat-card small{color:var(--muted)}.directory-card,.mini-card,.form-section{background:rgba(255,255,255,.96);border:1px solid #ffedd5;border-radius:24px;box-shadow:var(--shadow)}.directory-card{padding:22px}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.section-header h3,.mini-card h4{margin:0;font-size:21px}.section-header p{margin:5px 0 0;color:var(--muted)}.section-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:14px;padding:12px 18px;font-weight:850;cursor:pointer;transition:.2s}.btn.primary{background:linear-gradient(135deg,var(--orange),var(--amber));color:#fff;box-shadow:0 13px 22px rgba(249,115,22,.22)}.btn.primary:hover{transform:translateY(-1px)}.btn.secondary{background:#fff;border:1px solid #fed7aa;color:var(--orange-2)}.btn.ghost{background:#fff;border:1px solid var(--line);color:#374151}.filters-row{display:flex;gap:12px;align-items:center;margin-bottom:16px}.search-field{flex:1;display:flex;align-items:center;gap:8px;background:#f9fafb;border:1px solid var(--line);border-radius:15px;padding:0 14px}.search-field input{height:46px;flex:1;border:0;outline:0;background:transparent}.filters-row select{height:46px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:0 14px;min-width:150px}.table-wrap{overflow:auto;border:1px solid #edf0f3;border-radius:18px}table{width:100%;border-collapse:collapse;min-width:900px}th{background:#fff7ed;color:#9a3412;text-align:left;padding:14px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}td{padding:13px 14px;border-top:1px solid #edf0f3;font-size:14px;vertical-align:middle}.student-photo{height:46px;width:46px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 6px 14px rgba(17,24,39,.14);background:#ffedd5}.fallback-photo{height:46px;width:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffedd5,#f97316);color:#fff;font-weight:900}.status-badge{display:inline-flex;gap:6px;align-items:center;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px}.status-badge.Active{background:#dcfce7;color:#166534}.status-badge.Pending{background:#fef3c7;color:#92400e}.status-badge.Inactive,.status-badge.Transferred{background:#fee2e2;color:#991b1b}.action-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;margin-right:6px}.empty-state{display:none;text-align:center;color:var(--muted);padding:30px}.bottom-grid{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini-card{padding:20px}.mini-head{display:flex;justify-content:space-between;align-items:center}.mini-head button{border:0;background:transparent;color:var(--orange);font-weight:800}.mini-card ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.mini-card li{background:#f9fafb;border-radius:15px;padding:12px}.mini-card li strong{display:block}.mini-card li small{color:var(--muted)}.notice-card{margin-top:16px;display:flex;gap:14px;background:#f9fafb;border-radius:16px;padding:18px}.notice-icon{height:54px;width:54px;border-radius:50%;display:grid;place-items:center;background:#fef3c7}.notice-card p{margin:6px 0;color:var(--muted)}.wide-action{width:100%;margin-top:16px;border:0;background:#fff7ed;color:var(--orange-2);border-radius:14px;padding:14px;font-weight:850}.modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.48);backdrop-filter:blur(7px);display:none;align-items:flex-start;justify-content:center;z-index:100;padding:28px;overflow:auto}.modal-backdrop.open{display:flex}.modal-panel{width:min(1180px,100%);background:#fff;border-radius:26px;border:1px solid #ffedd5;box-shadow:0 35px 80px rgba(17,24,39,.25);padding:24px}.modal-header{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #f3f4f6;padding-bottom:18px;margin-bottom:18px}.modal-header span{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}.modal-header h3{margin:4px 0;font-size:28px}.modal-header p{margin:0;color:var(--muted)}.close-btn{height:44px;width:44px;border:0;border-radius:14px;background:#fff7ed;color:var(--orange-2);font-size:26px;cursor:pointer}.student-form{display:grid;gap:16px}.form-section{padding:18px}.form-section.warm{background:#fff7ed}.form-section h4{margin:0 0 14px;font-size:16px;display:flex;align-items:center;gap:9px}.form-section h4 span{height:24px;width:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--orange);border:2px solid var(--orange);font-size:13px}.form-grid{display:grid;gap:14px}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid label{font-size:13px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{margin-top:7px;width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;outline:0;background:#fff}.form-grid textarea{height:44px;resize:vertical}.form-grid .wide{grid-column:span 2}.photo-upload-row{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:stretch}.photo-uploader{position:relative;min-height:190px;border:2px dashed #fed7aa;border-radius:20px;background:#fff7ed;display:grid;place-items:center;text-align:center;cursor:pointer;overflow:hidden;padding:18px}.photo-uploader input{display:none}.photo-uploader img{display:none;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.photo-uploader.has-photo img{display:block}.photo-uploader.has-photo #photoPlaceholder{display:none}.photo-uploader small{display:block;color:var(--muted);margin-top:8px}.photo-note{border:1px solid #ffedd5;background:#fff;border-radius:18px;padding:18px}.photo-note p{color:var(--muted);line-height:1.6}.upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.doc-upload{border:2px dashed #fed7aa;border-radius:18px;background:#fff;padding:18px;font-weight:850;display:grid;gap:8px;cursor:pointer}.doc-upload input{font-size:12px}.doc-upload small{font-weight:500;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:repeat(2,1fr)}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.menu-btn{display:block}.top-search{display:none}.user-copy{display:none}}@media(max-width:760px){.topbar{padding:16px}.content{padding:18px}.stats-grid,.bottom-grid{grid-template-columns:1fr}.section-header,.filters-row{flex-direction:column;align-items:stretch}.filters-row select{width:100%}.form-grid.four,.photo-upload-row,.upload-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-backdrop{padding:12px}.modal-panel{padding:16px}.form-actions{flex-direction:column}.btn{width:100%}.page-title h2{font-size:22px}}
.field-note{display:block;margin-top:6px;color:var(--orange-2);font-size:11px;font-weight:700}.level-label{color:var(--orange-2);font-weight:800}.view-panel{max-width:1120px}.view-layout{display:grid;grid-template-columns:290px 1fr;gap:18px}.view-profile-card,.view-details-card{border:1px solid #ffedd5;background:#fff;border-radius:22px;padding:18px}.view-profile-card{background:linear-gradient(180deg,#fff7ed,#fff);text-align:center}.view-photo{width:210px;height:210px;border-radius:28px;object-fit:cover;border:6px solid #fff;box-shadow:0 20px 35px rgba(17,24,39,.14);margin:0 auto 16px}.fallback-large{display:grid;place-items:center;background:linear-gradient(135deg,#ffedd5,#f97316);color:#fff;font-size:56px;font-weight:900}.view-profile-card h4{margin:0 0 6px}.view-profile-card p{margin:0;color:var(--muted);line-height:1.55}.view-details-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid #f3f4f6;padding-bottom:14px;margin-bottom:14px}.view-details-head h4{margin:0;font-size:18px}.view-details-head p{margin:4px 0 0;color:var(--muted)}.view-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.view-field{background:#f9fafb;border:1px solid #edf0f3;border-radius:15px;padding:12px;min-height:76px}.view-field span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:7px}.view-field strong{display:block;color:var(--ink);font-size:14px;line-height:1.35;word-break:break-word}@media(max-width:900px){.view-layout{grid-template-columns:1fr}.view-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.view-photo{width:180px;height:180px}}@media(max-width:620px){.view-details-grid{grid-template-columns:1fr}}
.page-section{display:none}.page-section.active{display:block}.admissions-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #ffedd5;border-radius:26px;padding:24px;margin-bottom:22px;box-shadow:var(--shadow)}.admissions-hero .eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--orange)}.admissions-hero h3{margin:6px 0 4px;font-size:28px}.admissions-hero p{margin:0;color:var(--muted);max-width:780px;line-height:1.55}.admissions-stats{margin-bottom:22px}.admissions-bottom{margin-top:22px}.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.check-grid label{display:flex;gap:10px;align-items:center;background:#f9fafb;border:1px solid #edf0f3;border-radius:15px;padding:14px;font-weight:800}.check-grid input{accent-color:var(--orange);width:18px;height:18px}.nav-item[data-section="admissions"].active{background:linear-gradient(135deg,var(--orange),var(--amber));color:#fff;box-shadow:0 15px 28px rgba(249,115,22,.22)}
@media(max-width:900px){.admissions-hero{flex-direction:column;align-items:stretch}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.check-grid{grid-template-columns:1fr}}

.reports-hero{background:linear-gradient(135deg,#fff7ed,#ffffff 55%,#fef3c7)}
.report-filters-card{background:rgba(255,255,255,.96);border:1px solid #ffedd5;border-radius:24px;box-shadow:var(--shadow);padding:20px;margin-bottom:22px}.section-header.compact{margin-bottom:14px}.report-filters-row{margin-bottom:0}.reports-stats{margin-bottom:22px}.reports-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.report-main-card{min-width:0}.report-side-card{align-self:start;position:sticky;top:104px}.report-date{display:inline-flex;border-radius:999px;background:#fff7ed;color:var(--orange-2);font-size:12px;font-weight:900;padding:9px 12px}.report-summary-box{margin-top:16px;background:#f9fafb;border:1px solid #edf0f3;border-radius:16px;padding:16px;color:#374151;line-height:1.55}.report-summary-box p{margin:0}.report-tip{margin-top:16px}.danger-text{color:var(--red)}
@media print{.sidebar,.topbar,.report-filters-card,.section-actions,.report-side-card,.bottom-grid,.modal-backdrop{display:none!important}.main{margin-left:0;width:100%}.content{padding:0}.page-section{display:none!important}.page-section.active{display:block!important}.directory-card,.admissions-hero{box-shadow:none;border:1px solid #ddd}.table-wrap{overflow:visible}table{min-width:0;font-size:11px}th,td{padding:7px}.student-photo,.fallback-photo{height:32px;width:32px}.reports-grid{display:block}}
@media(max-width:1050px){.reports-grid{grid-template-columns:1fr}.report-side-card{position:static}}


.fees-hero{background:linear-gradient(135deg,#fff7ed,#ffffff 50%,#fffbeb)}
.fees-grid{align-items:start}.fee-calculator-card{border:1px solid #ffedd5;background:linear-gradient(180deg,#fff,#fff7ed)}
.fee-calc-form{display:grid;gap:12px;margin-top:14px}.fee-calc-form label{font-size:13px;font-weight:850;color:var(--ink)}.fee-calc-form select{margin-top:7px;width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff;outline:0}.check-line{display:flex!important;align-items:center;gap:10px;background:#fff;border:1px solid #ffedd5;border-radius:13px;padding:12px}.check-line input{accent-color:var(--orange);height:18px;width:18px}.fee-total-box{margin-top:16px;border-radius:18px;background:#111827;color:#fff;padding:16px}.fee-total-box span{display:block;color:#fed7aa;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.fee-total-box strong{display:block;margin-top:4px;font-size:28px}.fee-breakdown{list-style:none;margin:14px 0 0!important;padding:0!important;display:grid;gap:8px}.fee-breakdown li{background:#fff!important;border:1px solid #ffedd5;border-radius:12px;padding:10px!important;font-size:13px}.fee-structure-card{margin-top:22px}.fee-structure-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fee-structure-grid h4{margin:0 0 10px}.compact-table table{min-width:0}.compact-table th,.compact-table td{font-size:12px;padding:10px}.fee-notes{margin-top:16px;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:14px;color:#7c2d12;line-height:1.55}.nav-item[data-section="fees"].active{background:linear-gradient(135deg,var(--orange),var(--amber));color:#fff;box-shadow:0 15px 28px rgba(249,115,22,.22)}
@media(max-width:1050px){.fee-structure-grid{grid-template-columns:1fr}}
@media print{#feesSection .report-filters-card,#feesSection .fee-calculator-card,#feesSection .section-actions{display:none!important}.fee-structure-grid{grid-template-columns:1fr}}


.table-btn.pay{border:0;border-radius:12px;background:#f59e0b;color:white;font-weight:800;padding:8px 12px;cursor:pointer;box-shadow:0 8px 20px rgba(245,158,11,.18)}
.table-btn.pay:hover{background:#d97706}
.paid-cell strong{color:#047857}
.balance-cell strong{color:#b45309}
.balance-cell.cleared strong{color:#047857}
.payment-panel{max-width:900px}
.payment-summary-card{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:12px;align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:22px;padding:16px;margin-bottom:16px}
.payment-summary-card strong{display:block;color:#111827;font-size:18px}
.payment-summary-card small{display:block;color:#6b7280;margin-top:4px}
.payment-pill{background:white;border:1px solid #fed7aa;border-radius:18px;padding:12px}
.payment-pill span{display:block;font-size:12px;font-weight:800;color:#92400e;text-transform:uppercase;letter-spacing:.08em}
.payment-pill strong{font-size:20px;margin-top:3px}
.payment-pill.paid span{color:#047857}
.payment-pill.balance span{color:#b45309}
.payment-history{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.payment-history li{display:grid;grid-template-columns:1fr auto;gap:6px;background:#f9fafb;border:1px solid #eef2f7;border-radius:16px;padding:12px}
.payment-history li strong{color:#111827}
.payment-history li span{color:#6b7280;font-size:13px}
.payment-history li small{grid-column:1/-1;color:#6b7280}
@media(max-width:900px){.payment-summary-card{grid-template-columns:1fr}.payment-pill strong{font-size:18px}}


.classes-hero { background: linear-gradient(135deg, #fff7ed, #ffffff); }
.transport-hero { background: linear-gradient(135deg, #fffbeb, #ffffff); }
#attendanceDate, .attendance-status, .attendance-notes, #transportOptionFilter, #viewExamTerm, #examTerm {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
  font: inherit;
}
.attendance-notes { width: 100%; min-width: 180px; }
.student-exam-report-box { margin-top: 14px; }
.empty-inline { padding: 16px; border: 1px dashed #fed7aa; background: #fff7ed; border-radius: 18px; color: #9a3412; font-weight: 700; }
.exam-mini-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; }
.exam-mini-grid div { border:1px solid #f3f4f6; background:#fff; border-radius:16px; padding:12px; }
.exam-mini-grid span { display:block; font-size:12px; color:#6b7280; margin-bottom:4px; }
.exam-mini-grid strong { color:#111827; font-size:18px; }
.exam-remarks { margin-top:12px; padding:14px; background:#f9fafb; border-radius:16px; color:#374151; }
@media (max-width: 900px){ .exam-mini-grid{grid-template-columns: repeat(2, minmax(0,1fr));} }


.import-hero{background:linear-gradient(135deg,#fff7ed,#ffffff)}
.import-grid{display:grid;grid-template-columns:260px 1fr auto;gap:14px;align-items:end;margin-top:8px}
.import-grid label{font-size:13px;font-weight:850;color:var(--ink)}
.import-grid select,.import-grid input{margin-top:7px;width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fff;outline:0}
.import-help{margin-top:16px;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:14px;color:#7c2d12;line-height:1.55}
.import-help strong{margin-right:6px}.import-preview-card{margin-top:22px}.import-json{margin:0;white-space:pre-wrap;font-size:12px;line-height:1.45;background:#f9fafb;border:1px solid #edf0f3;border-radius:12px;padding:12px;max-height:220px;overflow:auto}.nav-item[data-section="import"].active{background:linear-gradient(135deg,var(--orange),var(--amber));color:#fff;box-shadow:0 15px 28px rgba(249,115,22,.22)}
@media(max-width:900px){.import-grid{grid-template-columns:1fr}}


.staff-hero { background: linear-gradient(135deg, #fff7ed, #ffffff); }
.staff-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 18px; }
@media (min-width: 1180px){ .staff-grid { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); } }
.doc-chip { display: inline-block; margin: 2px 4px 2px 0; padding: 5px 8px; border-radius: 999px; background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; font-size: 12px; font-weight: 700; }
.class-teacher-select { width: 100%; min-width: 180px; border: 1px solid #e5e7eb; border-radius: 12px; padding: 10px 12px; background: #fff; }
.form-inline-action { display: flex; align-items: end; padding-top: 22px; }
.payment-history li { gap: 12px; }
.payment-history li .action-btn { margin-left: auto; }


/* V8 teacher-on-duty weekly scheduler */
.duty-scheduler{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:12px;
  align-items:end;
}
.duty-scheduler label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  font-weight:800;
  color:#7c2d12;
}
.duty-scheduler label.wide{
  grid-column:span 2;
}
.duty-scheduler input,.duty-scheduler select{
  width:100%;
}
.duty-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
@media (max-width:900px){
  .duty-scheduler{grid-template-columns:1fr 1fr;}
  .duty-scheduler label.wide{grid-column:span 2;}
}
@media (max-width:620px){
  .duty-scheduler{grid-template-columns:1fr;}
  .duty-scheduler label.wide{grid-column:span 1;}
}
