*{box-sizing:border-box}:root{--tt-primary: #f97316;--tt-secondary: #0f172a;--tt-primary-text: #ffffff;--tt-secondary-text: #ffffff;--tt-primary-soft: #fff7ed;--tt-secondary-soft: rgba(15, 23, 42, .1);--tt-primary-ring: rgba(249, 115, 22, .18);--tt-secondary-ring: rgba(15, 23, 42, .18)}.desktop-record-list{display:grid;gap:6px;margin-top:10px}.desktop-record-card{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(190px,.58fr) minmax(0,2fr) 132px;gap:8px;align-items:center;border:1px solid #d7e3f0;border-left:4px solid #059669;border-radius:8px;background:#fff;padding:7px 10px;box-shadow:0 2px 8px #0f172a09}.desktop-record-card.borrow{border-left-color:#d97706}.desktop-record-card.finished{background:linear-gradient(90deg,#fbfdff,#fff 58%)}.record-main,.record-dates,.record-metrics>div{display:grid;gap:2px;min-width:0}.record-person{display:flex;align-items:flex-start;gap:8px;min-width:0}.record-badges{display:grid;gap:3px;justify-items:start}.desktop-record-card .type-pill,.desktop-record-card .finished-pill{margin:0;padding:3px 8px;font-size:.7rem;line-height:1.15}.record-person h3{margin:0;color:#111827;font-size:.94rem;line-height:1.1;overflow-wrap:anywhere}.record-person span:not(.type-pill),.record-dates span,.record-metrics span{color:#64748b;font-size:.68rem;font-weight:850}.record-dates strong,.record-metrics strong{color:#0f172a;font-size:.84rem;line-height:1.15}.record-dates em{color:#0f172a;font-size:.74rem;font-style:normal;font-weight:900;line-height:1.15}.record-metrics{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:0;min-width:0;border:1px solid #e5edf6;border-radius:8px;overflow:hidden}.record-metrics>div{border-right:1px solid #e5edf6;background:#fbfdff;padding:5px 6px}.record-metrics>div:last-child{border-right:0}.record-total-metric{background:#eaf3ff!important}.record-card-actions{display:flex;flex-wrap:wrap;gap:4px;justify-content:end;align-items:center}.record-card-actions .action-icon-btn{width:30px;min-width:30px;height:30px;border-radius:7px}.record-card-actions .action-icon-btn:before{font-size:.86rem}.record-card-actions .action-icon-btn.icon-text:before{font-size:.6rem}@media(max-width:1320px){.desktop-record-card{grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr) 132px}.record-dates{grid-column:1}.record-metrics{grid-template-columns:repeat(auto-fit,minmax(86px,1fr))}}@media(max-width:1180px){.desktop-record-card{grid-template-columns:1fr}.record-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-start}}@media(max-width:900px){.desktop-record-list{display:none}.mobile-period-strip{display:grid;gap:1px;border-top:1px solid #e2e8f0;padding-top:4px}.mobile-period-strip span{color:#64748b;font-size:.63rem;font-weight:800}.mobile-period-strip strong,.mobile-period-strip small{color:#0f172a;font-size:.78rem;font-weight:900;line-height:1.12}.mobile-period-strip small{font-size:.76rem}}.product-gantt{margin-bottom:18px}.gantt-board{display:grid;gap:10px}.gantt-head,.gantt-row{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(360px,1.7fr) minmax(120px,.45fr);gap:14px;align-items:center}.gantt-head{color:#64748b;font-weight:900}.gantt-title b,.gantt-title span{display:block}.gantt-title span,.gantt-row>strong,.gantt-bar em{color:#64748b;font-size:.78rem;font-style:normal;font-weight:900}.gantt-track{position:relative;height:42px;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:repeating-linear-gradient(90deg,#fff 0 19%,#f8fafc 19% 20%)}.gantt-axis{position:relative;min-height:24px}.gantt-axis b{position:absolute;transform:translate(-50%);white-space:nowrap}.gantt-bar{position:absolute;top:8px;bottom:8px;display:flex;justify-content:flex-end;align-items:center;min-width:52px;overflow:hidden;border-radius:999px;background:#2563eb}.gantt-bar i{position:absolute;inset:0 auto 0 0;min-width:4px;background:#ffffff6b}.gantt-bar em{position:relative;z-index:1;padding:0 10px;color:#fff}.gantt-bar.green{background:#16a34a}.gantt-bar.amber{background:#f59e0b}.gantt-bar.rose{background:#e11d48}@media(max-width:760px){.gantt-head{display:none}.gantt-row{grid-template-columns:1fr}}.attendance-heatmap{overflow:hidden}.heatmap-board{display:grid;gap:8px;overflow-x:auto;padding-bottom:2px}.heatmap-head,.heatmap-row{display:grid;grid-template-columns:minmax(128px,.9fr) repeat(5,minmax(88px,1fr)) 70px;gap:8px;align-items:stretch;min-width:760px}.heatmap-head{color:#64748b;font-size:.78rem;font-weight:900}.heatmap-row>b{display:flex;align-items:center;color:#0f172a;font-size:.88rem;line-height:1.2;overflow-wrap:anywhere}.heatmap-row>em{display:grid;place-items:center;border-radius:8px;background:#f8fafc;color:#0f172a;font-style:normal;font-weight:900}.heatmap-cell{display:grid;gap:3px;place-items:center;min-height:62px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;color:#1e3a8a}.heatmap-cell strong{font-size:1rem;line-height:1}.heatmap-cell small{color:#0f172aad;font-size:.72rem;font-weight:900}.heatmap-cell.heatmap-high{border-color:#86efac;background:#d1fae5;color:#14532d}.heatmap-cell.heatmap-mid{border-color:#93c5fd;background:#dbeafe;color:#1e3a8a}.heatmap-cell.heatmap-low{border-color:#fdba74;background:#fff7ed;color:#9a3412}.heatmap-cell.heatmap-critical{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.heatmap-cell.heatmap-empty{border-color:#cbd5e1;border-style:dashed;background:#f8fafc;color:#94a3b8}.class-fee-chart{display:grid;gap:12px}.class-fee-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.class-fee-results div{border:1px solid #e2e8f0;border-radius:8px;padding:10px;background:#f8fafc}.class-fee-results span,.fee-axis,.fee-class-column small,.class-fee-legend{color:#64748b;font-size:.76rem;font-weight:900}.class-fee-results strong{display:block;margin-top:4px;color:#0f172a;font-size:1.16rem}.class-fee-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.class-fee-legend span{display:flex;align-items:center;gap:6px}.class-fee-legend i{width:10px;height:10px;border-radius:3px;background:#38bdf8}.class-fee-legend i.received{background:#16a34a}.class-fee-legend i.due{background:#e11d48}.class-fee-plot{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;min-height:214px}.fee-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:9px 0 32px}.fee-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:8px;align-items:end;border-bottom:1px solid #94a3b8;background:repeating-linear-gradient(to bottom,#fff 0 48px,#e2e8f0 49px 50px);padding-top:8px}.fee-class-column{display:grid;grid-template-rows:158px auto auto;gap:6px;min-width:0;text-align:center}.fee-bars{display:flex;align-items:end;justify-content:center;gap:5px;height:158px}.fee-bars i{width:min(18px,28%);border-radius:5px 5px 0 0;background:#38bdf8}.fee-bars i.received{background:#16a34a}.fee-bars i.due{background:#e11d48}.fee-class-column strong{color:#0f172a;font-size:.72rem;line-height:1.15;overflow-wrap:anywhere}@media(max-width:760px){.class-fee-results{grid-template-columns:1fr}.class-fee-plot{grid-template-columns:1fr;overflow-x:auto}.fee-axis{display:none}.fee-columns{min-width:520px}}.transport-student-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#0f172a6b}.transport-student-modal{width:min(860px,100%);max-height:min(720px,calc(100vh - 36px));overflow:auto;border-radius:12px;padding:18px;background:#fff;box-shadow:0 24px 70px #0f172a47}.transport-modal-heading,.transport-student-detail-head,.transport-student-detail-row{display:grid;gap:12px}.transport-modal-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-bottom:14px}.transport-modal-heading h2{margin:4px 0}.transport-modal-heading span{color:#64748b;font-weight:800}.transport-student-detail-head,.transport-student-detail-row{grid-template-columns:1fr 1.3fr 1fr .7fr 1fr .8fr;padding:12px 10px}.transport-student-detail-head{color:#475569;font-weight:900;border-bottom:1px solid #e2e8f0}.transport-student-detail-row{color:#0f172a;font-weight:700;border-bottom:1px solid #f1f5f9}@media(max-width:1100px){.transport-student-detail-head,.transport-student-detail-row{grid-template-columns:1fr}}.room-tile{position:relative}.room-tile:not(.all-room){padding-right:52px}.room-tile-main{width:100%;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.room-edit-btn{position:absolute;top:10px;right:10px}.room-tile strong{display:block}body{margin:0;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#efefefba;overflow-x:hidden}.feature-locked{cursor:not-allowed!important;opacity:.48;filter:grayscale(.2)}.feature-locked:hover{transform:none!important}body.school-watermark :where(.shell,.module-shell):has(app-school-sidebar) :where(.content,.content-area){position:relative}body.school-watermark :where(.shell,.module-shell):has(app-school-sidebar) :where(.content,.content-area):before{content:"";position:fixed;inset:0 0 0 260px;z-index:10;pointer-events:none;background-image:var(--school-watermark-image);background-repeat:no-repeat;background-position:center;background-size:min(44vw,520px);opacity:.045;mix-blend-mode:multiply}@media print{body.school-watermark :where(.shell,.module-shell):has(app-school-sidebar) :where(.content,.content-area):before{display:none}}a{color:inherit}:where(.content,.content-area) a:not(.primary-btn):not(.ghost-btn):not(.action-icon-btn):not(.danger-btn):not(.warning-btn){color:var(--school-list-link)}:where(.content,.content-area) a:not(.primary-btn):not(.ghost-btn):not(.action-icon-btn):not(.danger-btn):not(.warning-btn):hover,:where(.content,.content-area) a:not(.primary-btn):not(.ghost-btn):not(.action-icon-btn):not(.danger-btn):not(.warning-btn):focus-visible{color:var(--school-list-link-hover)}.action-icon-btn{position:relative;display:inline-grid;place-items:center;width:36px;min-width:36px;height:36px;border:1px solid #cbd5e1;border-radius:8px;padding:0;background:#fff;color:#1e40af;font:inherit;font-size:0;font-weight:900;line-height:1;text-decoration:none;cursor:pointer;overflow:visible;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.action-icon-btn:before{content:attr(data-icon);font-size:1rem}.action-icon-btn.icon-text:before{font-size:.68rem;letter-spacing:0}.action-icon-btn[aria-label]:after{content:attr(aria-label);position:absolute;bottom:calc(100% + 8px);left:50%;z-index:1000;width:max-content;max-width:min(220px,70vw);transform:translate(-50%,4px);border-radius:6px;padding:7px 9px;background:#111827;color:#fff;font-size:.75rem;font-weight:800;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;opacity:0;pointer-events:none;box-shadow:0 12px 28px #0f172a38;transition:opacity .1s ease,transform .1s ease}.action-icon-btn[aria-label]:hover:after,.action-icon-btn[aria-label]:focus-visible:after,.action-icon-btn[aria-label]:active:after{transform:translate(-50%);opacity:1}.action-icon-btn:hover:not(:disabled),.action-icon-btn:focus-visible{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 3px #2563eb24;outline:none}.action-icon-btn.danger{color:#b91c1c}.action-icon-btn.danger:hover:not(:disabled),.action-icon-btn.danger:focus-visible{border-color:#ef4444;background:#fef2f2;color:#b91c1c;box-shadow:0 0 0 3px #ef444424}.action-icon-btn.warning{color:#b45309}.action-icon-btn.warning:hover:not(:disabled),.action-icon-btn.warning:focus-visible{border-color:#f59e0b;background:#fffbeb;color:#92400e;box-shadow:0 0 0 3px #f59e0b29}.action-icon-btn.success,.action-icon-btn.ready{color:#047857}.action-icon-btn.success:hover:not(:disabled),.action-icon-btn.success:focus-visible,.action-icon-btn.ready:hover:not(:disabled),.action-icon-btn.ready:focus-visible{border-color:#10b981;background:#ecfdf5;color:#047857;box-shadow:0 0 0 3px #10b98124}.action-icon-btn:disabled,.action-icon-btn[aria-disabled=true]{cursor:not-allowed;opacity:.5;box-shadow:none}:where(.row-actions,.action-buttons,.client-actions,.receipt-buttons,.actions,.topbar-actions) .action-icon-btn{flex:0 0 auto}@media(max-width:900px){body.school-watermark :where(.shell,.module-shell):has(app-school-sidebar) :where(.content,.content-area):before{left:0;background-size:min(70vw,320px);opacity:.055}:where(.shell,.module-shell):has(app-school-sidebar){grid-template-columns:minmax(0,1fr)!important}.modal-panel .modal-grid,.modal-panel .import-results{grid-template-columns:1fr}}:root{--field-border: #cbd5e1;--field-border-focus: #2563eb;--field-bg: #ffffff;--field-text: #0f172a;--field-muted: #64748b;--school-list-link: #0f766e;--school-list-link-hover: #0d9488;--school-list-link-bg: #ecfdf5}html body input[type=date],html body input[type=time],html body input[type=datetime-local],html body input[type=month]{min-height:46px;appearance:none;border:1px solid var(--field-border);border-radius:8px;padding:10px 13px;background:var(--field-bg);color:var(--field-text);font-family:inherit;font-size:1rem;font-weight:700;line-height:1.2;outline:none;box-shadow:inset 0 1px #0f172a08;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}html body input[type=date]:hover,html body input[type=time]:hover,html body input[type=datetime-local]:hover,html body input[type=month]:hover{border-color:#94a3b8;background:#f8fafc}html body input[type=date]:focus,html body input[type=time]:focus,html body input[type=datetime-local]:focus,html body input[type=month]:focus{border-color:var(--field-border-focus);background:#fff;box-shadow:0 0 0 3px #2563eb29}html body input[type=date]:disabled,html body input[type=time]:disabled,html body input[type=datetime-local]:disabled,html body input[type=month]:disabled{cursor:not-allowed;background:#eef2f7;color:var(--field-muted)}html body input[type=date]::-webkit-calendar-picker-indicator,html body input[type=time]::-webkit-calendar-picker-indicator,html body input[type=datetime-local]::-webkit-calendar-picker-indicator,html body input[type=month]::-webkit-calendar-picker-indicator{width:22px;height:22px;cursor:pointer;border-radius:6px;padding:4px;opacity:.72}html body input[type=date]::-webkit-calendar-picker-indicator:hover,html body input[type=time]::-webkit-calendar-picker-indicator:hover,html body input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,html body input[type=month]::-webkit-calendar-picker-indicator:hover{background:#e0ecff;opacity:1}html body input[type=time]{font-variant-numeric:tabular-nums}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#0f172a7a}.modal-panel{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:20px;padding:20px;box-shadow:0 28px 80px #0f172a4d}.modal-header,.modal-actions,.modal-panel .toggle-field{display:flex;align-items:center;gap:12px}.modal-header{justify-content:space-between;margin-bottom:18px}.modal-header h2{margin:6px 0 0;color:#0f172a}.modal-panel .icon-btn{width:44px;padding:0}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.modal-panel .toggle-field{min-height:44px;align-self:end;color:#0f172a;font-weight:800}.modal-panel .selected-file{margin:10px 0 0;color:#475569;font-weight:800}.modal-panel .import-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}.modal-panel .import-results span{border-radius:12px;background:#f8fafc;padding:10px;color:#475569}.modal-panel .import-results b{display:block;color:#0f172a}.modal-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:16px}app-dashboard .shell{grid-template-columns:260px minmax(0,1fr);overflow-x:hidden}app-dashboard .content,app-dashboard .head,app-dashboard .ha,app-dashboard .ph,app-dashboard .kpi,app-dashboard .panel,app-dashboard .bar{min-width:0}app-dashboard .content{overflow-x:hidden}app-dashboard .kpis{grid-template-columns:repeat(4,minmax(0,1fr))}app-dashboard .grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) minmax(0,.9fr)}app-dashboard .bars{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}app-dashboard .bar small,app-dashboard .bar em,app-dashboard .sr b,app-dashboard .status b,app-dashboard .date-chip,app-dashboard .pill{overflow-wrap:anywhere}app-dashboard .sr{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}app-dashboard .coverage{grid-template-columns:150px minmax(0,1fr)}app-dashboard .status,app-dashboard .quick{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){app-dashboard .shell,app-dashboard .kpis,app-dashboard .grid,app-dashboard .status,app-dashboard .quick,app-dashboard .coverage,app-dashboard .sr{grid-template-columns:minmax(0,1fr)}app-dashboard .content{padding:16px}app-dashboard .ha{align-items:stretch}app-dashboard .ha>*{width:100%;text-align:center}app-dashboard .panel{padding:14px}app-dashboard .kpi strong{font-size:1.45rem}app-dashboard .bars{height:240px;gap:6px}app-dashboard .track{padding:4px}app-dashboard .date-chip,app-dashboard .pill{border-radius:8px}app-dashboard .legend div{display:grid;gap:3px}app-dashboard .donut{width:min(150px,70vw);justify-self:center}}@media screen and (max-width:760px){html body.native-mobile-tables .mobile-data-table{overflow:visible!important}html body.native-mobile-tables .mobile-data-header{display:none!important}html body.native-mobile-tables .mobile-data-row{display:block!important;grid-template-columns:none!important;min-width:0!important;margin:0 0 12px!important;padding:12px 14px!important;border:1px solid #e2e8f0!important;border-radius:12px!important;background:#fffffff5!important;box-shadow:0 10px 22px #0f172a0f!important}html body.native-mobile-tables .mobile-data-row:last-child{margin-bottom:0!important}html body.native-mobile-tables .mobile-data-row>*{display:grid!important;grid-template-columns:minmax(96px,36%) minmax(0,1fr)!important;gap:10px!important;align-items:start!important;min-width:0!important;padding:9px 0!important;border-bottom:1px solid #eef2f7!important;overflow-wrap:anywhere!important}html body.native-mobile-tables .mobile-data-row>*:last-child{border-bottom:0!important}html body.native-mobile-tables .mobile-data-row>*:before{content:attr(data-label);color:#64748b;font-size:.78rem;font-weight:900;line-height:1.35;text-transform:uppercase}html body.native-mobile-tables .mobile-data-row>.row-actions,html body.native-mobile-tables .mobile-data-row>.actions,html body.native-mobile-tables .mobile-data-row>[class*=action]{display:flex!important;flex-wrap:wrap!important;gap:8px!important}html body.native-mobile-tables .mobile-data-row>.row-actions:before,html body.native-mobile-tables .mobile-data-row>.actions:before,html body.native-mobile-tables .mobile-data-row>[class*=action]:before{flex:0 0 100%}html body.native-mobile-tables .mobile-data-row a,html body.native-mobile-tables .mobile-data-row button{max-width:100%;white-space:normal!important}html body.native-mobile-tables .mobile-native-table{overflow:visible!important}html body.native-mobile-tables .mobile-native-table table,html body.native-mobile-tables table.mobile-native-table{width:100%!important;min-width:0!important;border-collapse:separate!important;border-spacing:0 12px!important}html body.native-mobile-tables .mobile-native-table thead,html body.native-mobile-tables table.mobile-native-table thead{display:none!important}html body.native-mobile-tables .mobile-native-table tbody,html body.native-mobile-tables .mobile-native-table tr,html body.native-mobile-tables table.mobile-native-table tbody,html body.native-mobile-tables table.mobile-native-table tr{display:block!important;width:100%!important}html body.native-mobile-tables .mobile-native-table tbody tr,html body.native-mobile-tables table.mobile-native-table tbody tr{margin:0 0 12px!important;padding:12px 14px!important;border:1px solid #e2e8f0!important;border-radius:12px!important;background:#fffffff5!important;box-shadow:0 10px 22px #0f172a0f!important}html body.native-mobile-tables .mobile-native-table tbody tr:last-child,html body.native-mobile-tables table.mobile-native-table tbody tr:last-child{margin-bottom:0!important}html body.native-mobile-tables .mobile-native-table td,html body.native-mobile-tables table.mobile-native-table td{display:grid!important;grid-template-columns:minmax(96px,36%) minmax(0,1fr)!important;gap:10px!important;align-items:start!important;width:100%!important;min-width:0!important;padding:9px 0!important;border:0!important;border-bottom:1px solid #eef2f7!important;color:#0f172a!important;overflow-wrap:anywhere!important}html body.native-mobile-tables .mobile-native-table td:last-child,html body.native-mobile-tables table.mobile-native-table td:last-child{border-bottom:0!important}html body.native-mobile-tables .mobile-native-table td[data-label]:before,html body.native-mobile-tables table.mobile-native-table td[data-label]:before{content:attr(data-label);color:#64748b;font-size:.78rem;font-weight:900;line-height:1.35;text-transform:uppercase}html body.native-mobile-tables .mobile-native-table td[colspan],html body.native-mobile-tables table.mobile-native-table td[colspan]{display:block!important;text-align:center!important}html body.native-mobile-tables .mobile-native-table td[colspan]:before,html body.native-mobile-tables table.mobile-native-table td[colspan]:before{display:none!important}html body.native-mobile-tables .mobile-native-table td:has(button),html body.native-mobile-tables table.mobile-native-table td:has(button){display:flex!important;flex-wrap:wrap!important;gap:8px!important}html body.native-mobile-tables .mobile-native-table td:has(button):before,html body.native-mobile-tables table.mobile-native-table td:has(button):before{flex:0 0 100%}html body.native-mobile-tables .mobile-native-table td button,html body.native-mobile-tables .mobile-native-table td a,html body.native-mobile-tables table.mobile-native-table td button,html body.native-mobile-tables table.mobile-native-table td a{max-width:100%;white-space:normal!important}}.fee-date-picker{position:relative;width:100%}.fee-date-trigger{width:100%;min-height:44px;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;background:#fff;color:#0f172a;font:inherit;font-weight:850;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;text-align:left}.fee-date-trigger b{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#eaf3ff;color:#1d4ed8;font-size:1rem;line-height:1}.fee-date-picker.open .fee-date-trigger{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.fee-calendar-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:292px;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 18px 44px #0f172a2e}.fee-calendar-head{display:grid;grid-template-columns:34px 1fr 34px;gap:8px;align-items:center;margin-bottom:10px}.fee-calendar-head strong{color:#0f172a;font-size:.94rem;text-align:center}.fee-calendar-head button{height:34px;border:1px solid #dbe4ef;border-radius:9px;background:#f8fafc;color:#0f172a;font:inherit;font-size:1.1rem;font-weight:900;cursor:pointer}.fee-calendar-head button:disabled{opacity:.42;cursor:not-allowed}.fee-calendar-weekdays,.fee-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.fee-calendar-weekdays span{color:#64748b;font-size:.72rem;font-weight:900;text-align:center}.fee-calendar-grid{margin-top:6px}.fee-calendar-grid button{height:34px;border:1px solid transparent;border-radius:9px;background:#fff;color:#0f172a;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}.fee-calendar-grid button.outside{background:#f8fafc;color:#94a3b8}.fee-calendar-grid button.today{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.fee-calendar-grid button.selected{border-color:#1d4ed8;background:#1d4ed8;color:#fff;box-shadow:0 6px 14px #1d4ed838}.fee-calendar-grid button:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.fee-calendar-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #e5edf6}.fee-calendar-actions button{min-height:32px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1d4ed8;padding:0 10px;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.fee-calendar-actions button:hover{background:#eff6ff}@media(max-width:900px){.fee-calendar-popover{left:0;right:auto;width:min(292px,calc(100vw - 32px))}.filters .fee-calendar-popover{left:auto;right:0}}body :is(.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.warning-btn,.action-text-btn,.logout-btn,.nav-button,.primary-action,.finance-action,.secondary-action,.finance-link,.upload-btn,.signup-btn,.call-btn,.pay-btn,.pay-addon-btn,.mini-btn,.text-btn,.route-list-btn,.student-count-btn,.date-nav-btn,.date-today-btn,button[type=submit]):not(:disabled):not([aria-disabled=true]){border:1px solid var(--tt-primary)!important;background:#fff!important;color:var(--tt-primary)!important;text-decoration:none!important}body button:not(:disabled):not([aria-disabled=true]):not(.action-icon-btn):not(.room-tile-main):not(.all-room):not(.teacher-check):not(.password-toggle):not(.class-name-btn):not(.fee-date-trigger):not(.fee-calendar-head button):not(.fee-calendar-grid button):not(.fee-calendar-actions button):not(.segmented-control button):not(.role-tabs button):not(.desk-tabs button):not(.question-tabs button):not(.mobile-panel-switch button):not(.mobile-record-tabs button):not(.nav-group-toggle):not(.mobile-menu-btn):not(.sidebar-close-btn):not(.sidebar-backdrop){border:1px solid var(--tt-primary)!important;background:#fff!important;color:var(--tt-primary)!important}body :is(.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.warning-btn,.action-text-btn,.logout-btn,.nav-button,.primary-action,.finance-action,.secondary-action,.finance-link,.upload-btn,.signup-btn,.call-btn,.pay-btn,.pay-addon-btn,.mini-btn,.text-btn,.route-list-btn,.student-count-btn,.date-nav-btn,.date-today-btn,button[type=submit]):not(:disabled):not([aria-disabled=true]):hover,body :is(.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.warning-btn,.action-text-btn,.logout-btn,.nav-button,.primary-action,.finance-action,.secondary-action,.finance-link,.upload-btn,.signup-btn,.call-btn,.pay-btn,.pay-addon-btn,.mini-btn,.text-btn,.route-list-btn,.student-count-btn,.date-nav-btn,.date-today-btn,button[type=submit]):not(:disabled):not([aria-disabled=true]):focus-visible{border:1px solid var(--tt-primary)!important;background:var(--tt-primary)!important;color:var(--tt-primary-text)!important;box-shadow:0 0 0 3px var(--tt-primary-ring)!important}body button:not(:disabled):not([aria-disabled=true]):not(.action-icon-btn):not(.room-tile-main):not(.all-room):not(.teacher-check):not(.password-toggle):not(.class-name-btn):not(.fee-date-trigger):not(.fee-calendar-head button):not(.fee-calendar-grid button):not(.fee-calendar-actions button):not(.segmented-control button):not(.role-tabs button):not(.desk-tabs button):not(.question-tabs button):not(.mobile-panel-switch button):not(.mobile-record-tabs button):not(.nav-group-toggle):not(.mobile-menu-btn):not(.sidebar-close-btn):not(.sidebar-backdrop):hover,body button:not(:disabled):not([aria-disabled=true]):not(.action-icon-btn):not(.room-tile-main):not(.all-room):not(.teacher-check):not(.password-toggle):not(.class-name-btn):not(.fee-date-trigger):not(.fee-calendar-head button):not(.fee-calendar-grid button):not(.fee-calendar-actions button):not(.segmented-control button):not(.role-tabs button):not(.desk-tabs button):not(.question-tabs button):not(.mobile-panel-switch button):not(.mobile-record-tabs button):not(.nav-group-toggle):not(.mobile-menu-btn):not(.sidebar-close-btn):not(.sidebar-backdrop):focus-visible{border:1px solid var(--tt-primary)!important;background:var(--tt-primary)!important;color:var(--tt-primary-text)!important;box-shadow:0 0 0 3px var(--tt-primary-ring)!important}body :is(.secondary-btn,.secondary-action,.finance-link):not(:disabled):not([aria-disabled=true]){border-color:var(--tt-secondary)!important;background:#fff!important;color:var(--tt-secondary)!important}body :is(.secondary-btn,.secondary-action,.finance-link):not(:disabled):not([aria-disabled=true]):hover,body :is(.secondary-btn,.secondary-action,.finance-link):not(:disabled):not([aria-disabled=true]):focus-visible{border-color:var(--tt-secondary)!important;background:var(--tt-secondary)!important;color:var(--tt-secondary-text)!important;box-shadow:0 0 0 3px var(--tt-secondary-ring)!important}body .primary-btn:not(:disabled):not([aria-disabled=true]){border-color:var(--tt-primary)!important;background:var(--tt-primary)!important;color:var(--tt-primary-text)!important}body .secondary-btn:not(:disabled):not([aria-disabled=true]){border-color:var(--tt-secondary)!important;background:var(--tt-secondary)!important;color:var(--tt-secondary-text)!important}:where(.content,.content-area) a:not(.primary-btn):not(.ghost-btn):not(.action-icon-btn):not(.danger-btn):not(.warning-btn),:where(.content,.content-area,.landing-shell,.login-shell,.signup-shell,.mobile-login-shell) .eyebrow{color:var(--tt-primary)!important}:where(.content,.content-area,.landing-shell,.login-shell,.signup-shell,.mobile-login-shell) :is(input,select,textarea):focus{border-color:var(--tt-primary)!important;outline-color:var(--tt-primary-ring)!important}app-settings .chip{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;background:#f1f5f9;color:#334155;font-size:.78rem;font-weight:900;white-space:nowrap}app-settings :is(.primary-btn,.ghost-btn){min-height:42px;border-radius:8px;padding:0 16px;font:inherit;font-weight:850;cursor:pointer}app-settings .danger-btn{background:#b91c1c!important;color:#fff!important;box-shadow:none!important}app-settings :is(.primary-btn,.ghost-btn,.danger-btn):disabled{opacity:.6;cursor:not-allowed}app-settings .pay-addon-btn.paid{background:#16a34a!important;border-color:#16a34a!important;color:#fff!important;box-shadow:none!important}app-settings .status-message{margin:12px 0;color:#475569;font-weight:750}app-settings .status-message.success{color:#047857}app-settings .status-message.error{color:#b91c1c}app-settings .empty-state{border:1px dashed #cbd5e1;border-radius:8px;padding:16px;background:#f8fafc;color:#64748b;font-weight:800;text-align:center}.fee-calendar-grid button.today{border-color:var(--tt-primary)!important;background:var(--tt-primary-soft)!important;color:var(--tt-primary)!important}.fee-calendar-grid button.selected{border-color:var(--tt-primary)!important;background:var(--tt-primary)!important;box-shadow:0 6px 14px var(--tt-primary-ring)!important}body{font-weight:500}:where(.content,.content-area,.landing-shell,.login-shell,.signup-shell,.mobile-login-shell) :is(p,small,label,input,select,textarea,.subheading,.subtitle,.empty-state,.status-card,.status-message,.message,.error,.error-message,.detail-row,.table-row,.students-row,.schedules-row,.sections-row,.balance-row,.book-row,.issue-row,.expense-row,.payment-row,.item-row,.dist-row,.staff-person small,.contact-stack small,.mobile-address){font-weight:600!important}:where(.content,.content-area,.landing-shell,.login-shell,.signup-shell,.mobile-login-shell) :is(h1,h2,h3,h4,.topbar h1,.head h3,.panel h2,.section-heading h2,.modal-header h2){font-weight:800!important}:where(.content,.content-area) :is(.table-header,.students-header,.schedules-header,.sections-header,.balance-header,.header,th){font-weight:700!important}:where(.content,.content-area,.landing-shell,.login-shell,.signup-shell,.mobile-login-shell) :is(.eyebrow,.chip,.pill,.badge,.status,.status-pill,.role-badge,.balance-status,.count,.class-filter,.setup-index){font-weight:700!important}:where(.content,.content-area,.landing-shell,.login-shell,.signup-shell,.mobile-login-shell) :is(strong,b,.stats strong,.stat-card h2,.summary-card h2,.balance-summary-grid strong,.record-metrics strong,.heatmap-cell strong,.class-fee-results strong){font-weight:800!important}:where(.content,.content-area) a:not(.primary-btn):not(.ghost-btn):not(.action-icon-btn):not(.danger-btn):not(.warning-btn){font-weight:700!important}:where(.content,.content-area,.landing-shell,.login-shell,.signup-shell,.mobile-login-shell) :is(button,.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.warning-btn,.action-text-btn,.primary-action,.finance-action,.secondary-action,.finance-link,.upload-btn,.signup-btn,.call-btn,.pay-btn,.pay-addon-btn,.mini-btn,.text-btn,.route-list-btn,.student-count-btn,.date-nav-btn,.date-today-btn):not(.action-icon-btn){font-weight:700!important}app-settings .chip{font-weight:700!important}app-settings :is(.primary-btn,.ghost-btn){font-weight:700!important}app-settings .status-message{font-weight:600!important}app-settings .empty-state{font-weight:600!important}
