[hidden]{display:none!important}
body{padding-bottom:0}
.header-tools{position:fixed;top:17px;right:24px;z-index:30;display:flex;gap:10px}
.icon-button,.theme-switch{position:relative;inset:auto;padding:9px;width:42px;height:42px;border-radius:50%;box-shadow:0 2px 9px #0002}
.icon-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-sun{display:none}[data-theme=dark] .theme-sun{display:block}[data-theme=dark] .theme-moon{display:none}
.topbar{padding-right:116px}
.heading-count{display:inline-block;font-size:15px;font-weight:600;letter-spacing:0;vertical-align:middle;color:var(--muted);margin-left:10px}
.filter-count{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-weight:650;font-size:13px;white-space:nowrap}
.batch-legend{display:flex;gap:12px;align-items:center}.batch-grid{align-items:start}
.batch-state-running{border-left:5px solid #2563eb}.batch-state-upcoming{border-left:5px solid #d97706}.batch-state-closed{border-left:5px solid #64748b}
.badge.running{background:#dbeafe;color:#174395}.badge.upcoming{background:#ffedd5;color:#85400b}.badge.closed{background:#e2e8f0;color:#344256}
[data-theme=dark] .badge.running{background:#233f69;color:#d5e7ff}[data-theme=dark] .badge.upcoming{background:#573916;color:#ffe0af}[data-theme=dark] .badge.closed{background:#354252;color:#e0e8f1}
.closed-card{padding:16px 20px}.closed-card summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.closed-card summary>span:first-child{flex:1;min-width:120px;overflow-wrap:anywhere}.closed-card .expand-hint{font-size:0;color:var(--green);font-weight:500}.expand-hint:after{content:'Expand details';font-size:12px}.closed-card[open] .expand-hint:after{content:'Collapse details'}.closed-content{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}.batch-card h2 a{color:var(--ink)}
.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;border-radius:11px;background:#b72f3e;color:white;font:700 11px/1 system-ui;vertical-align:middle;margin-left:5px}
.bell-count{position:absolute;right:-7px;top:-5px}.sidebar nav>a .nav-count{float:right;margin-top:1px}
.notification-panel{position:fixed;right:24px;top:68px;z-index:40;width:min(370px,calc(100vw - 32px));padding:20px;box-shadow:0 9px 35px #0003;max-height:80vh;overflow:auto}
.notification-panel>a{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.notification-panel strong{min-width:20px;text-align:right}.notification-toast{position:fixed;right:24px;top:72px;z-index:29;max-width:340px;box-shadow:0 5px 20px #0002}
@media(max-width:720px){.header-tools{top:12px;right:14px;gap:6px}.icon-button{width:38px;height:38px;padding:8px}.sidebar>.brand{max-width:calc(100% - 90px)}.topbar{padding-right:0}.topbar .status-dot{display:none}.heading-count{margin-left:0;font-size:13px}.notification-panel{right:14px;top:58px}.notification-toast{right:14px;max-width:calc(100vw - 28px)}}
@media print{.header-tools,.notification-panel,.notification-toast{display:none}}

/* Whole-card colours; overrides the shared dark-mode card background. */
.card.batch-state-running{background:#dbeafe;border-color:#83b4ef}
.card.batch-state-upcoming{background:#ffedd5;border-color:#edba76}
.card.batch-state-closed{background:#e2e8f0;border-color:#a5b1c1}
[data-theme=dark] .card.batch-state-running{background:#1d3554;border-color:#4d7daf}
[data-theme=dark] .card.batch-state-upcoming{background:#47331e;border-color:#9d7239}
[data-theme=dark] .card.batch-state-closed{background:#2d3745;border-color:#627287}
.software-picker{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.software-picker a[aria-current=page]{outline:3px solid var(--green);outline-offset:2px}

.dashboard-stats .stat>span{font-size:17px;line-height:1.4;font-weight:650}
.dashboard-stats .stat strong{font-size:42px}
.dashboard-stats .stat small{font-size:14px;line-height:1.5}
@media(max-width:720px){.dashboard-stats .stat>span{font-size:16px}.dashboard-stats .stat strong{font-size:36px}}

.filter-options{position:relative;border:1px solid var(--line);border-radius:8px;padding:9px 12px;min-width:170px;background:var(--white)}
.filter-options summary{cursor:pointer;font-weight:600}.filter-options .check{margin:10px 0}.filters{align-items:flex-start;flex-wrap:wrap}
.batch-title-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.batch-title-line h2{margin:0;min-width:0;overflow-wrap:anywhere}.batch-title-line .badge{flex-shrink:0}
.batch-card{padding:16px!important}.batch-card>p{margin:4px 0 10px}.compact-history{padding:13px 18px}.compact-history summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer}.compact-history summary .small{margin-left:auto}

.leave-page{max-width:1100px}.leave-page .page-heading{margin-bottom:16px}.leave-form{padding:18px;margin-bottom:20px;max-width:860px}
.leave-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.leave-fields .leave-reason{grid-column:1/-1}.leave-fields label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.leave-fields input,.leave-fields select,.leave-fields textarea{width:100%;margin:0}.leave-fields textarea{min-height:66px}.leave-form .check{font-size:13px;margin:10px 0}
.leave-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:12px 0}.leave-filter .check{margin:0}.leave-table td,.leave-table th{padding:10px;font-size:13px;vertical-align:top}.leave-table td{overflow-wrap:anywhere}.leave-table .reason{max-width:260px;white-space:pre-wrap}.leave-table textarea{min-height:45px;margin:0 0 6px}.leave-table .button{padding:5px 9px;font-size:12px}.leave-table .review-cell{min-width:180px}
@media(max-width:900px){.leave-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.leave-fields{grid-template-columns:1fr}}
.account-topbar{height:auto;min-height:80px;justify-content:center;padding:14px 115px 14px 0}.account-bar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;letter-spacing:0;font-size:14px}.account-bar small{font-size:13px}.account-bar form{margin:0}.account-bar .logout{color:var(--green);padding:0}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-chart{max-height:360px;overflow:auto}.report-row{display:grid;grid-template-columns:minmax(90px,1fr) 2fr 40px;gap:10px;align-items:center;margin:10px 0;font-size:13px}.report-track{background:var(--line);height:19px;border-radius:4px;overflow:hidden}.report-bar{height:100%;background:var(--green)}.report-total strong{font-size:30px}@media(max-width:900px){.report-grid{grid-template-columns:1fr}.account-topbar{padding-right:0}.account-bar{gap:10px}}
.account-topbar{position:sticky;top:0;z-index:25;background:var(--paper);min-height:64px;padding:8px 112px 8px 0;margin-bottom:12px;box-shadow:0 2px 5px #0001}.account-bar{width:100%;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap}.account-identity{text-align:left;min-width:0}.account-identity strong{overflow-wrap:anywhere}.account-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-shrink:0}.account-identity small{margin-top:3px}.compact-batches{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}.compact-batch{position:relative;padding:0!important}.batch-card-link{display:block;color:var(--ink);padding:14px 14px 38px;text-decoration:none!important;height:100%}.batch-card-link:hover{background:#ffffff16}.batch-card-link:focus-visible{outline:3px solid var(--green);outline-offset:-4px}.batch-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:12px}.batch-line>strong{font-size:15px;flex:1;min-width:90px}.batch-line>.badge{margin-left:auto}.batch-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.batch-facts strong{font-size:13px}.batch-progress{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:12px}.batch-progress progress{height:9px;flex:1;min-width:70px;max-width:150px;accent-color:var(--green)}.batch-delete-icon{position:absolute;right:10px;bottom:8px;width:27px;height:27px;padding:3px;border-radius:4px}.batch-delete-icon svg{fill:none;stroke:currentColor;stroke-width:1.7;width:21px;height:21px}.faculty-chart-row{margin:12px 0;font-size:13px}.stacked-track{height:20px;background:var(--line);display:flex;margin:5px 0}.stacked-segment.running{background:#2563eb}.stacked-segment.upcoming{background:#d97706}.stacked-segment.closed{background:#64748b}
@media(max-width:720px){.account-topbar{top:0;padding:7px 0;min-height:60px;margin-bottom:10px}.account-bar{gap:8px}.account-actions{gap:10px;font-size:12px}.account-identity{max-width:48%}.account-identity small{font-size:11px}.header-tools{position:absolute}.notification-panel{position:fixed}}

.student-notes{height:4em!important;min-height:4em!important;resize:vertical}.sort-heading{color:inherit;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.student-table th,.student-table td{vertical-align:middle}.student-table .badge{white-space:nowrap}
.filters{align-items:flex-end}.filters>label{display:flex;flex-direction:column;gap:5px;margin:0}.filters select,.filters input{margin-bottom:0}.filters>.filter-options{align-self:flex-end}.report-grid{margin-top:16px}
.batch-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:10px}.batch-line>strong{min-width:0;font-size:15px}.batch-line .batch-faculty{font-size:15px;font-weight:700;text-align:center;color:#5742a1;overflow-wrap:anywhere}[data-theme=dark] .batch-line .batch-faculty{color:#d2baff}
.sidebar nav>a{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar nav>a .nav-count{float:none;flex-shrink:0;margin:0 0 0 auto}.page-back{margin:0 0 16px}.trash-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;vertical-align:middle}
@media(max-width:480px){.batch-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.batch-line .badge{justify-self:end}}
/* Demo Institute */
.institute-logo{display:block;width:100%;max-width:230px;height:auto;border-radius:5px}.brand-city{display:block;text-align:center;font-size:12px;letter-spacing:3px;margin-top:9px}.sidebar .brand{display:block}.page-back{position:sticky;top:64px;z-index:24;padding:8px 0;background:var(--paper)}[hidden]{display:none!important}.report-subtotal{font-size:17px;font-weight:600;margin:0 0 18px}.batch-roster{max-height:360px;overflow:auto}.sidebar .nav-label{margin-top:22px}
.attendance tbody tr td.mark-P{background:#b5d6a5;color:#132410}.attendance tbody tr td.mark-A{background:#e99b9b;color:#381414}.attendance tbody tr td.mark-L{background:#a9cbea;color:#10283e}
[data-theme=dark] .attendance tbody tr td.mark-P{background:#254b35;color:#dbf6df}[data-theme=dark] .attendance tbody tr td.mark-A{background:#65383d;color:#ffe3e5}[data-theme=dark] .attendance tbody tr td.mark-L{background:#284d70;color:#e1f0ff}
.completion-panel{margin:20px 0}.completion-panel>summary{cursor:pointer;font-weight:700}.student-profile-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,3fr);gap:20px}.student-profile-grid .profile{padding:20px;overflow-wrap:anywhere}.progress-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.progress-columns h3{font-size:15px}.software-tile{padding:10px;border-radius:7px;margin:8px 0;overflow-wrap:anywhere;border:1px solid #8090a050}.software-tile.running{background:#dfebff;color:#193b72}.software-tile.upcoming{background:#fff0cd;color:#704b09}.software-tile.completed{background:#dff1e5;color:#245438}[data-theme=dark] .software-tile.running{background:#243a58;color:#dceaff}[data-theme=dark] .software-tile.upcoming{background:#534329;color:#fff0cd}[data-theme=dark] .software-tile.completed{background:#254b35;color:#dbf6df}
@media(max-width:1050px){.student-profile-grid{grid-template-columns:1fr}.progress-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.progress-columns{grid-template-columns:1fr}}
/* Version 20: compact summaries, application and learning board */
.dashboard-stats .stat{min-height:112px;padding:14px}.dashboard-stats .stat strong{font-size:27px}.overview-group{margin-bottom:18px}.application-card{max-width:1150px}.application-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.application-grid>div{min-width:0}.application-grid label{margin-top:0}.application-grid .full-width{grid-column:1/-1}.fee-fields{margin:24px 0;border:1px solid var(--line);border-radius:9px;padding:18px}.fee-fields legend{font-weight:700}.fee-preview{margin:15px 0;font-weight:600}.fee-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.fee-stats strong{display:block;font-size:20px;margin-top:8px}.board-columns{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.board-columns h3{font-size:13px}.board-columns .software-tile{padding:6px 8px;margin:5px 0;font-size:12px;border-radius:5px}.software-tile[draggable=true]{cursor:grab}.board-lane{min-height:140px}.tile-move{font-size:10px}.tile-move summary{cursor:pointer}.tile-move select{font-size:12px;padding:4px;min-width:0}.board-lane .remaining{background:var(--paper);color:var(--ink)}
@media(max-width:1050px){.board-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.application-grid{grid-template-columns:1fr}.board-columns,.fee-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.admission-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}.vertical-fields{display:grid;grid-template-columns:1fr;gap:12px}.admission-columns .fee-fields{margin:0}.admission-columns h2,.fee-fields legend{font-size:19px}.board-columns .software-tile{padding:4px 7px;margin:4px 0;line-height:1.25}.board-columns .software-tile strong{font-size:12px}.board-keyboard{margin-top:12px;font-size:12px}.board-keyboard form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0}.collection-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin:24px 0}.collection-summary strong{display:block;font-size:29px;margin:12px 0}.collection-hero{padding:24px;border-radius:12px;background:#12594f;color:#fff}.collection-hero small{display:block;opacity:.85;line-height:1.5}.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fee-breakdown{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:14px}.fee-breakdown dd{margin:0;text-align:right}.collection-grid progress{width:100%;accent-color:#177b69}.unpaid-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.unpaid-list>a{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:7px}.fee-actions{display:flex;gap:12px;margin-top:7px;font-size:12px}.operation-status{position:fixed;bottom:0;left:240px;right:0;z-index:50;background:var(--paper);color:var(--ink);border-top:1px solid var(--line);padding:9px 22px;font-size:13px;max-height:110px;overflow:auto;box-shadow:0 -2px 8px #0001}.operation-status .error{color:#c23a3a}.main,.auth-main{padding-bottom:125px!important}.notification-toast{top:auto!important;bottom:70px!important}
@media(max-width:1150px){.operation-status{left:205px}}@media(max-width:800px){.admission-columns,.collection-grid{grid-template-columns:1fr}.collection-summary{grid-template-columns:1fr}.unpaid-list{grid-template-columns:1fr}}@media(max-width:720px){.operation-status{left:0}}

body:has(.auth-main) .operation-status{left:0}

.student-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:12px}.student-name-row h1{margin:0}.student-action-stack{display:grid;grid-template-columns:1fr;gap:16px}.collection-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.collection-summary small{display:block}.collection-summary .collection-hero small{color:#fff}.fee-carry{padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:14px 0}@media(max-width:1100px){.collection-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.collection-summary{grid-template-columns:1fr}}

.collection-five{grid-template-columns:repeat(5,minmax(0,1fr))}.collection-five strong{font-size:23px;overflow-wrap:anywhere}.collection-five .collected-amount{color:var(--green);font-size:20px}.breakdown-three{grid-template-columns:repeat(3,minmax(0,1fr))}.queue-remove{float:right;border:0;background:transparent;color:inherit;font-size:16px;padding:0 3px;line-height:1}.software-tile .queue-remove-form{display:inline}@media(max-width:1200px){.collection-five{grid-template-columns:repeat(3,minmax(0,1fr))}.breakdown-three{grid-template-columns:1fr}}@media(max-width:750px){.collection-five{grid-template-columns:1fr 1fr}}@media(max-width:500px){.collection-five{grid-template-columns:1fr}}

.student-entry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-entry-fields>.full-width{grid-column:1/-1}.student-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.student-info-grid>dt,.student-info-grid>dd{grid-column:1/-1}.student-info-grid>div dd{margin-left:0}.student-action-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;align-items:start}.student-action-row .review-box{margin:18px 0}.fee-preview>div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.fee-preview strong{color:var(--green);font-size:20px}.fee-preview .preview-balance{color:#c57212}.fee-six{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-six strong{font-size:23px}.balance-amount{color:#bc6a11}.fee-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.leave-balances{margin:20px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1000px){.student-action-row{grid-template-columns:1fr}.fee-six{grid-template-columns:1fr 1fr}}@media(max-width:650px){.student-entry-fields,.fee-six,.student-info-grid{grid-template-columns:1fr}.fee-stats{grid-template-columns:1fr 1fr}}

/* Version 24: compact fee cards and A4 statement */
.compact-collection{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.compact-collection .padded,.compact-collection .collection-hero{padding:14px}.compact-collection h2{font-size:16px;margin:0 0 10px}.compact-collection .money-line{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:5px 0;font-size:12px}.compact-collection .money-line strong{font-size:16px;display:inline;margin:0;white-space:nowrap}.compact-collection .money-line small{display:inline;font-size:10px}.dues-controls{display:flex;align-items:start;gap:12px;flex-wrap:wrap}.dues-controls .fee-actions{white-space:nowrap;margin:4px 0}.dues-controls form{width:190px;margin:0}.dues-controls textarea{height:32px;min-height:32px;max-height:100px;resize:vertical;padding:6px;margin:0}.dues-controls [data-save-status]{font-size:11px}.remark-retry{font-size:10px;padding:0}.fee-print{display:none}@media(max-width:1100px){.compact-collection{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.compact-collection{grid-template-columns:1fr}}
@page{size:A4 portrait;margin:14mm}
@media print{
 body:has(.fee-print){background:white!important;color:black!important;font:10pt Arial,sans-serif!important;margin:0!important}body:has(.fee-print)>*:not(main){display:none!important}body:has(.fee-print) main.main,body:has(.fee-print) main.auth-main{margin:0!important;padding:0!important;width:auto!important;max-width:none!important}body:has(.fee-print) main>*:not(.fee-print){display:none!important}.fee-print{display:block!important;color:#000!important;background:#fff!important}.fee-print header{text-align:center;margin-bottom:7mm}.fee-print h1{font-size:18pt;margin:0 0 3mm}.fee-print h2{font-size:13pt;margin:0}.fee-print table{width:100%;border-collapse:collapse;margin:5mm 0;font-size:9pt;table-layout:fixed}.fee-print th,.fee-print td{border:1px solid #aaa;padding:2mm;text-align:left;color:#000;background:#fff;overflow-wrap:anywhere}.fee-print thead{display:table-header-group}.fee-print tr{break-inside:avoid}.fee-print .print-footer{font-size:8pt;margin-top:8mm}.fee-print p{font-size:9pt}
}

/* Version 25: home, consistent filters and four-card collection rows */
.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.home-tile{display:flex;justify-content:space-between;align-items:center;padding:25px;color:var(--ink);min-height:95px}.home-tile:hover{border-color:var(--green);background:var(--paper)}.home-tile strong{font-size:19px}.month-four,.compact-collection.month-four{grid-template-columns:repeat(4,minmax(0,1fr))}.filters,.leave-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--paper);margin:18px 0}.filters input,.filters select,.leave-filter input,.leave-filter select{min-height:40px}.fee-request,.change-notice{border-bottom:1px solid var(--line);padding:15px 0}.fee-request form{margin-top:12px}.change-notice form{margin:7px 0}.application-grid p{margin:8px 0}@media(max-width:1100px){.month-four,.compact-collection.month-four,.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.month-four,.compact-collection.month-four,.home-grid{grid-template-columns:1fr}}
body:has(.home-grid) .sidebar{display:none}body:has(.home-grid) main.main{margin-left:0;max-width:1440px;margin-right:auto;margin-left:auto}body:has(.home-grid) .operation-status{left:0}

/* Version 26: locally hosted graphic menu icons */
.menu-graphic{display:block;width:38px;height:38px;flex:0 0 38px;object-fit:contain}.sidebar nav>a{justify-content:flex-start;gap:10px;padding:9px 10px}.sidebar .menu-label{flex:1;min-width:0}.sidebar nav>a .nav-count{margin-left:auto}.home-tile{display:grid;grid-template-columns:70px minmax(0,1fr) 20px;gap:18px;padding:16px 20px;min-height:112px;background:linear-gradient(120deg,var(--paper),var(--paper));border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 18px #102f4910}.home-tile .menu-graphic{width:70px;height:70px}.home-tile strong{font-size:19px;line-height:1.3}.home-tile>span{justify-self:end}.home-tile:hover{transform:translateY(-2px);box-shadow:0 9px 24px #102f4920}.home-tile:focus-visible{outline:3px solid var(--green);outline-offset:3px}[data-theme=dark] .home-tile{background:linear-gradient(120deg,#17253a,#0c192a);border-color:#304461;color:#edf0ff}[data-theme=dark] .home-tile:hover{border-color:#6d87c2}.application-card .fee-fields:has(input:disabled) input,.application-card .fee-fields:has(input:disabled) select{opacity:1;color:var(--ink)}@media(max-width:650px){.home-tile{grid-template-columns:56px minmax(0,1fr) 18px;padding:14px;gap:14px}.home-tile .menu-graphic{width:56px;height:56px}.home-tile strong{font-size:17px}}

/* Version 27: compact expenditure rows, timetable and consistent dropdowns. */
.expense-entry{max-width:540px;margin-bottom:18px}.expense-entry form{display:flex;flex-direction:column;gap:6px}.expense-entry form p{margin:5px 0}.expense-table th,.expense-table td{padding:8px 10px;white-space:nowrap;vertical-align:middle}.expense-table [data-expense-autosave]{display:flex;align-items:center;gap:12px;margin:0}.expense-table label.check{display:inline-flex;gap:5px;margin:0}.expense-table small{font-size:10px}.student-table th:first-child,.student-table td:first-child{min-width:220px}.student-table th:nth-child(2),.student-table td:nth-child(2){min-width:220px}.student-table th:nth-child(7),.student-table td:nth-child(7),.student-table th:nth-child(9),.student-table td:nth-child(9){max-width:110px;font-size:12px;overflow-wrap:anywhere}.batch-edit-link{position:absolute;bottom:9px;left:14px;font-size:12px}.timetable{min-width:1000px}.timetable td{vertical-align:top;min-width:135px}.timetable td strong{display:block}.timetable-batch{position:relative;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--green);padding:9px;margin:5px 0;border-radius:6px}.timetable-names{display:none;position:absolute;z-index:30;top:100%;left:0;min-width:190px;max-height:250px;overflow:auto;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 5px 18px #0003}.timetable-batch:hover .timetable-names,.timetable-batch:focus-within .timetable-names{display:block}.select-dropdown{position:relative;min-width:150px}.select-dropdown>summary{list-style:none;border:1px solid var(--line);border-radius:6px;padding:10px 32px 10px 12px;background:var(--paper);cursor:pointer;min-height:40px}.select-dropdown>summary:after{content:'⌄';position:absolute;right:12px;top:10px}.select-dropdown[open]{z-index:30}.select-dropdown[open]>label{display:flex;margin:0;padding:8px 12px;background:var(--paper)}.select-dropdown[open]{box-shadow:0 5px 15px #0002}.errorlist{color:#be263e}.application-grid .errorlist{grid-column:1/-1}

/* Consistent compact dropdowns, retaining multiple selections. */
.filters .select-dropdown,.leave-filter .select-dropdown{padding:0;border:0;align-self:center;background:transparent;box-shadow:none}
.select-dropdown .filter-popup{position:absolute;top:100%;left:0;min-width:100%;width:max-content;max-width:300px;max-height:300px;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 5px 18px #0003;padding:6px;z-index:40}
.select-dropdown .filter-popup label{display:flex;align-items:center;gap:7px;margin:0;padding:8px;white-space:normal}
.filters select,.leave-filter select,.select-dropdown>summary{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:6px;min-height:40px;background-color:var(--paper);color:var(--ink)}
.timetable-batch small{display:block}.timetable-names{position:static;min-width:0;max-height:220px;margin-top:6px;padding:5px;box-shadow:none}
/* Version 28: horizontal layouts and pinned navigation branding. */
.fee-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:nowrap;overflow-x:auto;margin:14px 0 20px;padding-bottom:4px}.fee-toolbar .button{flex-shrink:0}
.expense-workspace{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:18px;align-items:start}.expense-workspace .expense-entry{margin:0;max-width:none;padding:18px}.expense-workspace .table-wrap{min-width:0}.expense-readonly{grid-template-columns:1fr}
.student-table th,.student-table td,.student-table td small,.student-table td .badge,.student-table .sort-heading,.student-table th:nth-child(7),.student-table td:nth-child(7),.student-table th:nth-child(9),.student-table td:nth-child(9){font-size:13px;line-height:1.5}.student-table th{letter-spacing:0;text-transform:none}.student-table [hidden]{display:none!important}
.students-sticky-filters{position:sticky;top:64px;z-index:24;box-shadow:0 3px 8px #0002}.student-table-scroll{height:calc(100dvh - 370px);min-height:300px;max-height:720px;overflow-x:scroll;overflow-y:auto;scrollbar-gutter:stable}.student-table-scroll .student-table thead th{position:sticky;top:0;z-index:3}.current-students-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.current-student-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.current-student-item form{grid-column:1/-1;margin:0}.current-student-item .button{width:100%}.non-teaching-day{white-space:normal;text-align:center}
@media(max-width:950px){.current-students-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.current-students-grid{grid-template-columns:1fr}.students-sticky-filters{top:60px}.student-table-scroll{height:calc(100dvh - 300px);min-height:260px}}
.column-picker{position:fixed;z-index:120;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:14px;box-shadow:0 8px 32px #0004;width:260px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto}.column-picker label{display:flex;align-items:center;gap:9px;margin:6px 0}.column-picker input{width:auto;margin:0}.column-picker strong{display:block;margin-bottom:8px}
.change-notice{padding:14px;border:1px solid var(--line);border-left-width:5px;border-radius:8px;margin:10px 0}.notice-unread{background:#eaf2ff;border-left-color:#3669ce}.notice-read{background:#f1f4f4;border-left-color:#87979e}.notice-unread .badge{background:#285bc1;color:white}.notice-read .badge{background:#dce4e6;color:#34464e}[data-theme=dark] .notice-unread{background:#182e4e}[data-theme=dark] .notice-read{background:#202b34}
.operation-status[data-state=success]{border-top:2px solid #27845d}.operation-status[data-state=error]{border-top:2px solid #d05c59}
@media(min-width:721px){.sidebar{height:100vh;overflow:hidden;padding-bottom:12px}.sidebar>.brand,.sidebar>.nav-label{flex-shrink:0}.sidebar>.brand{margin-bottom:14px}.sidebar>nav{flex:1;min-height:0;overflow-y:auto;padding-bottom:18px;scrollbar-width:thin}}
@media(max-width:1000px){.expense-workspace{grid-template-columns:1fr}.expense-workspace .expense-entry{max-width:none}}
@media print{.fee-print .print-brand{display:flex!important;align-items:flex-start;gap:6mm;text-align:left;margin-bottom:6mm;break-inside:avoid}.fee-print .print-brand img{display:block!important;width:45mm;height:auto;flex-shrink:0}.fee-print .print-brand h1{font-size:15pt}.fee-print .print-brand p{font-size:8.5pt;margin:2mm 0}.fee-print>h2{font-size:13pt;margin:4mm 0}.column-picker{display:none!important}}
.live-indicator{position:fixed;bottom:8px;right:16px;z-index:65;font-size:11px;color:var(--muted);background:var(--paper);padding:3px 7px;border-radius:5px;max-width:310px}.operation-status{padding-right:335px}@media(max-width:720px){.live-indicator{bottom:0;right:8px;font-size:10px}.operation-status{padding-right:12px;padding-bottom:22px}}@media print{.live-indicator{display:none!important}}

/* Compact sidebar; home card icons retain their size. */
.sidebar nav>a{gap:7px;padding:6px 9px;margin:1px 0;min-height:34px;line-height:1.3}
.sidebar nav>a .menu-graphic{width:24px;height:24px;min-width:24px;flex:0 0 24px}
.sidebar .nav-label{margin:12px 9px 5px}
@media(max-width:720px){.sidebar nav>a{min-height:40px}}

@media print{.fee-print.emi-print table{width:auto;min-width:65%;table-layout:auto;margin:3mm 0}.fee-print.emi-print th,.fee-print.emi-print td{padding:1mm 2mm}.fee-print.emi-print th:first-child,.fee-print.emi-print td:first-child{width:9mm}.fee-print.emi-print .available-courses{min-width:65%}.fee-print.emi-print p{margin:2mm 0}.fee-print.emi-print .print-brand{gap:3mm}}

/* EMI estimate reference layout: branding, details and two parallel tables. */
@media print {
  .fee-print.emi-print{display:flex!important;flex-direction:column;min-height:230mm;padding-top:0;font:10pt Arial,sans-serif!important}
  .fee-print.emi-print .print-brand{gap:3mm;margin-bottom:7mm}
  .fee-print.emi-print .print-brand img{width:45mm}
  .fee-print.emi-print .print-brand h1{font-size:16pt;line-height:1.15;letter-spacing:-.4pt}
  .fee-print.emi-print .print-brand p{font-size:9pt;line-height:1.2;margin:3mm 0 0}
  .emi-print-details{break-inside:avoid}
  .fee-print.emi-print h2{font-size:14pt;margin:0 0 4mm;letter-spacing:-.3pt}
  .fee-print.emi-print .emi-print-details p{font-size:10pt;line-height:1.3;margin:2mm 0}
  .emi-print-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13mm;align-items:start;margin-top:1mm}
  .emi-print-columns>div{min-width:0}
  .fee-print.emi-print .emi-print-columns table{width:100%;min-width:0;table-layout:fixed;margin:3mm 0 0;border-collapse:collapse;font-size:10pt}
  .fee-print.emi-print .emi-print-columns .number-column{width:9mm}
  .fee-print.emi-print .emi-print-columns th,.fee-print.emi-print .emi-print-columns td{padding:1mm 2mm;border:1px solid #aaa;line-height:1.25;vertical-align:top}
  .fee-print.emi-print .emi-print-columns th{font-size:8pt;letter-spacing:.7pt}
  .fee-print.emi-print .emi-catalog h2{margin:-1mm 0 4mm}
  .fee-print.emi-print .emi-print-note{margin:auto 0 0;padding-top:12mm;font-size:10pt;break-inside:avoid}
}

/* Faculty-by-hour timetable, matching the supplied reference grid. */
.timetable-days{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.timetable-days a{text-align:center;min-width:64px}.timetable-days [aria-current]{background:var(--green);color:white}.timetable-days [aria-current] small{color:inherit}
.faculty-timetable-wrap{border:2px solid #252525;border-radius:0;background:var(--white)}
.faculty-timetable{width:100%;min-width:1080px;table-layout:fixed;border-collapse:collapse;text-align:center}
.faculty-timetable caption{background:#f8cfa1;color:#111;border-bottom:2px solid #252525;padding:8px;font-size:23px;font-weight:750;caption-side:top}.faculty-timetable caption small{color:#333;font-size:12px;font-weight:400}
.faculty-timetable th,.faculty-timetable td{border:1px solid #333;padding:7px 5px;text-align:center;vertical-align:middle;font-size:12px;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.faculty-timetable thead th,.faculty-timetable tbody th{background:#d8d8d8;color:#111;font-weight:700}.faculty-timetable thead th{height:48px}.faculty-timetable th:first-child{width:112px}.faculty-timetable tbody th{position:sticky;left:0;z-index:1}
.faculty-timetable .faculty-heading{padding:0}.faculty-heading span{display:block;padding:3px}.faculty-heading span+span{border-top:1px solid #333}
.faculty-timetable tbody td{height:92px;background:#f5f5f5;color:#111}.faculty-timetable tbody tr:nth-child(odd) td{background:#eef3f4}.faculty-timetable tbody td.scheduled-slot{background:#d1e1e5}.faculty-timetable tbody td.lunch-slot{background:#e99c9d}
.faculty-slot+.faculty-slot{border-top:1px dashed #536b70;margin-top:7px;padding-top:7px}.faculty-slot a{color:#123b50;font-weight:700}.faculty-slot small{color:#3d545a}.faculty-slot details{margin-top:5px;font-size:11px}.faculty-slot summary{cursor:pointer}.slot-course{font-size:11px}.slot-warning{color:#843510;font-weight:700;margin-top:5px}
[data-theme=dark] .faculty-timetable tbody td{background:#27323b;color:#edf3f5}[data-theme=dark] .faculty-timetable tbody tr:nth-child(odd) td{background:#293941}[data-theme=dark] .faculty-timetable tbody td.scheduled-slot{background:#304b55}[data-theme=dark] .faculty-timetable tbody td.lunch-slot{background:#713e47}[data-theme=dark] .faculty-slot a{color:#d1efff}[data-theme=dark] .faculty-slot small{color:#c2d6df}

/* Compact shared filter bars and report cards. */
.filters,.leave-filter{padding:8px 12px;gap:8px 12px;margin:12px 0;min-height:0;align-items:center}
.filters>p,.leave-filter>p{margin:0;display:flex;align-items:center;gap:8px}
.filters>label,.leave-filter>label{display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap}
.filters input:not([type=checkbox]):not([type=radio]),.filters select,.leave-filter input:not([type=checkbox]):not([type=radio]),.leave-filter select{width:auto;max-width:100%;min-height:34px;padding:6px 9px;margin:0}
.filters .button,.leave-filter .button{padding:7px 12px;min-height:34px;margin:0}
.filters>.filter-options{align-self:center}
.business-summary{margin:12px 0;gap:12px}.business-summary.summary-four{grid-template-columns:repeat(4,minmax(0,1fr))}.business-summary.summary-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.business-summary .card{padding:14px;min-width:0}.business-summary strong{font-size:clamp(18px,2vw,28px);margin:6px 0;overflow-wrap:anywhere}
.balance-card.balance-positive{background:#166534;color:#fff;border-color:#166534}.balance-card.balance-negative{background:#991b1b;color:#fff;border-color:#991b1b}.balance-card.balance-positive small,.balance-card.balance-negative small{color:#fff}
.report-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.report-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.report-grid>.card{min-width:0;padding:14px}.report-grid h2{font-size:17px}.report-columns-4 .report-row{grid-template-columns:minmax(55px,1fr) 1fr 28px;gap:6px}
.faculty-color-legend{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.faculty-color-legend span{display:inline-flex;align-items:center;gap:6px}.faculty-color-legend i{width:12px;height:12px;border-radius:50%;background:var(--faculty-color)}
.faculty-timetable tbody th{border-left:6px solid var(--faculty-color)}.faculty-timetable .faculty-slot{border-left:5px solid var(--faculty-color);background:color-mix(in srgb,var(--faculty-color) 12%,var(--paper))}
@media(max-width:760px){.report-columns-4,.report-columns-3,.business-summary.summary-four,.business-summary.summary-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.report-columns-4,.report-columns-3,.business-summary.summary-four,.business-summary.summary-three{grid-template-columns:1fr}}

.student-admin-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin:18px 0}.student-admin-cards>.card{min-width:0;margin:0;padding:16px}.student-admin-cards>.card:nth-child(2){order:3}.student-admin-cards>.card:nth-child(3){order:2}.student-admin-cards h2{font-size:18px}.student-admin-cards input,.student-admin-cards textarea{max-width:100%}.student-status-edit>.card{max-width:none}.student-admin-cards .button{white-space:normal}
@media(max-width:760px){.student-admin-cards{grid-template-columns:1fr}}

.batch-toolbar{display:flex;align-items:center;gap:8px;margin:0 0 8px!important;padding:0}.batch-heading-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:12px 16px;margin-bottom:14px}.batch-heading-inline h1{font-size:22px;margin:0}.batch-heading-inline>span{font-size:13px}.batch-heading-inline .button{margin-left:auto}
.attendance th.serial-column,.attendance td.serial-column{width:46px!important;min-width:46px!important;max-width:46px!important;padding:8px 5px!important;text-align:center;white-space:normal;position:static}
.attendance th.session-topic-column,.attendance td.session-topic-column{min-width:220px;width:240px;white-space:normal}.attendance th.session-details-column,.attendance td.topic-details{min-width:280px;width:360px;white-space:normal;overflow-wrap:anywhere}
.batch-heading-inline{flex-wrap:nowrap;overflow-x:auto;gap:8px 12px}.batch-heading-inline>*{flex-shrink:0;white-space:nowrap}.batch-heading-inline h1{font-size:19px}.batch-heading-inline>span{font-size:12px}

.compact-form-pair{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,2fr);gap:12px;align-items:start}.compact-form-pair p{margin:6px 0}.compact-form-pair textarea{height:60px;min-height:60px}.compact-form-pair input,.compact-form-pair select,.compact-form-pair textarea{width:100%;box-sizing:border-box}.batch-day-card{min-width:0}
/* Compact batch topic and student lists. */
.batch-topic-picker #id_topics{max-height:180px;overflow-y:auto;overscroll-behavior:contain;margin:8px 0 14px;border:1px solid var(--line);border-radius:6px}
.batch-topic-picker #id_topics>div{height:36px;box-sizing:border-box;padding:0 8px}
.batch-topic-picker #id_topics label{display:flex;align-items:center;gap:8px;height:100%;margin:0;font-weight:400}
.batch-topic-picker #id_topics label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.batch-topic-picker #id_topics input{flex-shrink:0}
.checklist.batch-roster{max-height:280px;overflow-y:auto;overscroll-behavior:contain}
.attendance .batch-details-preview{line-height:1.4;max-height:2.8em;overflow-y:auto;white-space:normal;overscroll-behavior:contain;margin:0}
.attendance-wrap{max-height:none;overflow-x:auto}
.attendance{border-collapse:separate;border-spacing:0}
.attendance .serial-column{position:sticky;left:0;min-width:52px;width:52px;max-width:52px;box-sizing:border-box;background:var(--paper,#fff);z-index:3}
.attendance .session-topic-column{position:sticky;left:52px;min-width:220px!important;width:220px!important;max-width:220px;box-sizing:border-box;background:var(--paper,#fff);z-index:3}
.attendance .topic-details,.attendance .session-details-column{position:sticky;left:272px;min-width:240px!important;width:240px!important;max-width:240px;box-sizing:border-box;background:var(--paper,#fff);z-index:3}
.attendance thead th{z-index:4}
.attendance .batch-details-preview,.attendance .batch-topic-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-height:1.4;max-height:5.6em;overflow:hidden;margin:0}
.attendance .batch-topic-preview>div{margin:0}
.attendance .date-cell{font-size:15px;min-width:125px}
.attendance .date-cell small{font-size:14px}
.attendance-print-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}
.attendance [data-attendance-status]{white-space:normal;max-width:160px}
.attendance .date-cell{position:sticky;left:512px;background:var(--paper,#fff);z-index:3}
.attendance thead .serial-column,.attendance thead .session-topic-column,.attendance thead .session-details-column,.attendance thead .date-cell{z-index:5}
/* Keep sticky offsets equal to actual column widths. */
.attendance{width:max-content;min-width:0;table-layout:fixed}
.attendance th.serial-column,.attendance td.serial-column{position:sticky;left:0;width:46px!important;min-width:46px!important;max-width:46px!important;padding:8px 4px!important}
.attendance th.session-topic-column,.attendance td.session-topic-column{left:46px}
.attendance th.session-details-column,.attendance td.topic-details{left:266px}
.attendance th.date-cell,.attendance td.date-cell{left:506px;width:112px;min-width:112px;max-width:112px;padding:8px 6px;box-sizing:border-box;text-align:center}
.attendance thead th,.attendance thead th small{font-size:15px!important;text-align:center;vertical-align:middle;letter-spacing:0;text-transform:none}
.attendance-floating-header{position:fixed;z-index:23;overflow:hidden;background:var(--paper);box-shadow:0 3px 8px #0004;pointer-events:none}
.attendance-floating-header[hidden]{display:none!important}
.attendance-floating-table{margin:0;border-collapse:separate;border-spacing:0;table-layout:fixed}
.attendance-floating-table thead th{position:sticky;top:0}
.attendance .batch-topic-preview:hover,.attendance .batch-topic-preview:focus,.attendance .batch-details-preview:hover,.attendance .batch-details-preview:focus{-webkit-line-clamp:unset;max-height:none;display:block;overflow:visible}
.attendance-missing{font-size:13px;max-width:600px;overflow-wrap:anywhere}.attendance-missing small{display:block;color:var(--muted)}
/* Card actions stay in document flow so long approval labels cannot overlap. */
.compact-batch{display:flex;flex-direction:column}
.compact-batch .batch-card-link{height:auto;padding-bottom:14px;flex:1}
.batch-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 14px 12px}
.batch-card-actions .batch-edit-link,.batch-card-actions .batch-delete-icon{position:static;flex-shrink:0}
.batch-card-actions .batch-delete-icon{margin-left:auto}
.batch-card-actions .button{white-space:normal;max-width:100%;overflow-wrap:anywhere}
.batch-toolbar{flex-wrap:wrap}
.batch-toolbar .button{white-space:normal;max-width:100%}
.batch-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:3px 7px;border-radius:5px;font-size:17px;font-weight:750;line-height:1.3}
.batch-day-number.days-extra{color:#991b1b;background:#fee2e2}.batch-day-number.days-on-time{color:#166534;background:#dcfce7}.batch-day-number.days-fewer{color:#1e40af;background:#dbeafe}
.login-story .brand{display:block;width:230px;max-width:100%}
.login-story .brand .institute-logo{width:100%;max-width:100%}
.login-story .brand-city{width:100%;text-align:center;box-sizing:border-box;padding-left:3px}
.staff-chat{position:fixed;right:16px;bottom:44px;z-index:50;width:285px;max-width:calc(100vw - 24px);background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 22px #0003}
.staff-chat>summary{padding:9px 12px;font-size:13px;background:#166534;color:white;border-radius:10px}.chat-panel{padding:9px}.chat-messages{height:180px;max-height:28vh;overflow:auto;margin:10px 0}.chat-message{padding:6px;font-size:12px;background:var(--line);border-radius:8px;margin:6px 24px 6px 0;overflow-wrap:anywhere}.chat-message.mine{margin:6px 0 6px 24px;background:#dcfce7;color:#14532d}.chat-message p{white-space:pre-wrap;margin:0 0 4px}.chat-message small{font-size:10px}.staff-chat textarea{width:100%;min-height:40px;font-size:12px}.staff-chat [data-chat-status]{font-size:12px;margin:5px 0}.staff-chat select{width:100%}@media print{.staff-chat{display:none!important}}
#batch-phone-dialog{width:440px;max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--paper);color:var(--ink)}#batch-phone-dialog::backdrop{background:#0006}#batch-phone-dialog textarea{width:100%;box-sizing:border-box}
.print-brand .print-phone{white-space:nowrap}

/* October role, lead and batch actions. */
.batch-context-menu{position:fixed;z-index:3000;min-width:180px;padding:6px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 32px #0004}
.batch-context-menu a{display:block;padding:10px 14px;text-decoration:none;border-radius:6px;color:inherit}
.batch-context-menu a:focus,.batch-context-menu a:hover{background:var(--line);outline:2px solid #23977d}
#batch-phone-dialog{width:620px;max-height:85vh;overflow:auto}#batch-phone-dialog h3{margin:16px 0 8px}#batch-phone-dialog li{padding:4px 0}
#lead-assignment{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:14px}#lead-assignment label{min-width:230px}#lead-assignment p{margin:0}
/* CALL 1.02 */
.call-compact{max-width:650px}.call-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.call-actions form{margin:0}.call-assign{margin-bottom:16px}.call-assign>div{margin:12px 0}.lead-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.lead-summary small, .table-wrap th small{display:block}.lead-summary>div{overflow-wrap:anywhere}@media(max-width:650px){.lead-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.call-icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0}

/* CALL 1.03 compact layout */
.call-assign-line{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;overflow-x:auto;padding:14px}.call-assign-line>strong,.call-assign-line>.check,.call-assign-line>button{flex-shrink:0;white-space:nowrap}.call-assign-line .check{display:flex;align-items:center;gap:6px;margin:0}.call-assign-line .call-scope{display:flex;align-items:center;gap:8px;margin:0;min-width:280px}.call-assign-line select{margin:0}.call-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.call-detail-grid>section{min-width:0}.call-history h2{margin-top:0}.call-detail-grid textarea{min-height:90px;height:90px}.call-detail-grid .lead-summary{gap:10px}.call-actions:has(#report-selection),#report-selection{margin-bottom:14px}@media(max-width:900px){.call-detail-grid{grid-template-columns:1fr}.call-assign-line{flex-wrap:wrap;overflow:visible}}

/* Staff and CALL 1.05 */
.contact-actions{display:flex;gap:6px;align-items:center;margin-top:7px;flex-wrap:wrap}.contact-actions form{margin:0}.contact-icon{display:inline-flex;align-items:center;justify-content:center;padding:7px;width:34px;height:34px;background:var(--paper);color:var(--green);border:1px solid var(--line);border-radius:7px}.call-detail-grid{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:16px}.call-detail-grid>.padded{padding:16px}.call-detail-grid .lead-summary{grid-template-columns:repeat(2,minmax(0,1fr));font-size:13px}.call-detail-grid textarea{height:64px;min-height:64px}@media(max-width:760px){.call-detail-grid{grid-template-columns:1fr}}

.inline-recording{display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px}.recording-play-button{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--green);font-size:12px;font-weight:700;white-space:nowrap}.recording-play-button.is-playing{background:var(--green);color:#fff}.phone-link{display:inline-flex;align-items:center;gap:4px;text-decoration:none;font-weight:600}.phone-link:hover{text-decoration:underline}

/* CALL linked-mobile compose dialog */
.linked-message-dialog{width:min(520px,calc(100vw - 28px));border:1px solid var(--line);border-radius:14px;padding:0;background:var(--white);color:var(--ink);box-shadow:0 18px 70px #0007}.linked-message-dialog::backdrop{background:#0009}.linked-message-dialog form{padding:18px}.compose-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.compose-heading strong{font-size:18px}.compose-heading small{margin-top:2px}.compose-close{border:0;background:transparent;color:var(--muted);font-size:26px;line-height:1;padding:0 4px}.linked-message-dialog label{display:block;margin:12px 0}.linked-message-dialog textarea,.linked-message-dialog input[type=file]{width:100%;box-sizing:border-box}.compose-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.compose-help{margin-top:10px}.contact-actions>button.contact-icon{margin:0}.linked-call-number{display:inline-flex;align-items:center;gap:5px;margin:0}.linked-call-number button{border:0;background:transparent;color:var(--green);font:inherit;font-weight:650;padding:0;cursor:pointer}.linked-call-number button:hover{text-decoration:underline}
[data-theme=dark] .linked-message-dialog{background:var(--white);border-color:var(--line)}

/* three-safe-fixes:compact-staff-chat */
.staff-chat:not([open]){width:118px!important}
.staff-chat:not([open])>summary{padding:8px 10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.staff-chat[open]{width:285px}

/* Update and backup administration workspace. */
.update-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch;margin:20px 0}
.update-overview-grid>.card{margin:0;min-width:0}
.update-panel{display:flex;flex-direction:column}
.update-panel form{margin-top:auto}
.update-history-panel .table-wrap{max-height:330px}
.update-history-table{min-width:520px}
.update-history-table td,.update-history-table th{padding:10px 12px}
.update-ready-card{margin:20px 0}
.update-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.update-action-grid>.card{margin:0;min-width:0}
@media(max-width:720px){.update-overview-grid,.update-action-grid{grid-template-columns:1fr}.update-history-panel{grid-column:auto}.update-history-table{min-width:480px}}

/* Shared page-title pattern: account row above, then Back + title + actions. */
.unified-page-heading{display:flex;align-items:center;gap:20px;margin:0 0 24px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.unified-page-heading>.page-back{position:static;top:auto;z-index:auto;flex:0 0 auto;margin:0;padding:0;background:transparent}
.unified-page-heading>.page-heading{flex:1 1 auto;min-width:0;margin:0;align-items:center}
.unified-page-heading>.page-heading>div:first-child{min-width:0}
.unified-page-heading>.page-heading h1{margin-bottom:4px}
.unified-page-heading>.page-heading p:last-child{margin-bottom:0}
.account-identity strong{display:block;font-size:14px;line-height:1.25;letter-spacing:0}
@media(max-width:720px){.page-back{top:60px}.unified-page-heading{align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:18px}.unified-page-heading>.page-heading{width:calc(100% - 72px);flex:1 1 260px}.unified-page-heading>.page-heading .call-actions,.unified-page-heading>.page-heading>.actions{width:100%}.account-identity strong{font-size:13px}}
.permission-choices{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;padding:0;border:0;min-width:270px}.permission-choice{position:relative;margin:0!important;font-weight:650}.permission-choice input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.permission-option{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 10px;border:1px solid currentColor;border-radius:7px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.permission-tick{visibility:hidden;font-weight:900}.permission-choice input:focus-visible+.permission-option{outline:3px solid #60a5fa;outline-offset:2px}.permission-choice.default .permission-option{color:#64748b}.permission-choice.allow .permission-option{color:#16835f}.permission-choice.deny .permission-option{color:#c2414d}.permission-choice.default input:checked+.permission-option{color:#24364b;background:#dce5ef;box-shadow:inset 0 0 0 1px #64748b}.permission-choice.allow input:checked+.permission-option{color:#0d503b;background:#cceedd;box-shadow:inset 0 0 0 1px #16835f}.permission-choice.deny input:checked+.permission-option{color:#7f1d2d;background:#f8d7dc;box-shadow:inset 0 0 0 1px #c2414d}.permission-choice input:checked+.permission-option .permission-tick{visibility:visible}[data-theme=dark] .permission-choice.default input:checked+.permission-option{color:#e4edf7;background:#3b4a5d}[data-theme=dark] .permission-choice.allow input:checked+.permission-option{color:#baf5db;background:#185b45}[data-theme=dark] .permission-choice.deny input:checked+.permission-option{color:#ffd4da;background:#702d38}@media(max-width:700px){.permission-choices{min-width:220px}.permission-option{padding:5px 8px;font-size:12px}}
