@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5972bc34-module__OU16Qa__className{font-family:Inter,Inter Fallback;font-style:normal}
:root{--r-bp-mobile-max:767px;--r-bp-tablet-min:768px;--r-bp-tablet-max:1023px;--r-bp-laptop-min:1024px;--r-bp-laptop-max:1439px;--r-bp-desktop-min:1440px;--r-sidebar-width:16rem;--r-sidebar-max-vw:85vw;--r-space-xs:.375rem;--r-space-sm:.5rem;--r-space-md:.75rem;--r-space-lg:1rem;--r-space-xl:1.5rem;--r-space-2xl:2rem;--r-text-xs:clamp(.6875rem, .65rem + .15vw, .75rem);--r-text-sm:clamp(.75rem, .72rem + .2vw, .875rem);--r-text-base:clamp(.875rem, .84rem + .25vw, 1rem);--r-text-lg:clamp(1rem, .95rem + .35vw, 1.125rem);--r-text-xl:clamp(1.125rem, 1rem + .5vw, 1.375rem);--r-text-2xl:clamp(1.25rem, 1.1rem + .75vw, 1.75rem);--r-modal-sm:min(24rem, calc(100vw - 2rem));--r-modal-md:min(32rem, calc(100vw - 2rem));--r-modal-lg:min(42rem, calc(100vw - 2rem));--r-modal-xl:min(56rem, calc(100vw - 2rem))}@media (max-width:767px){:root{--app-header-height:3.75rem;--app-main-padding-y:.75rem;--app-main-padding-x:.75rem;--app-content-max:100%}}@media (min-width:768px) and (max-width:1023px){:root{--app-main-padding-y:1rem;--app-main-padding-x:1.25rem;--app-content-max:100%}}@media (min-width:1024px) and (max-width:1439px){:root{--app-main-padding-y:1.25rem;--app-main-padding-x:1.5rem;--app-content-max:1280px}}@media (min-width:1440px){:root{--app-main-padding-y:1.5rem;--app-main-padding-x:2rem;--app-content-max:1400px}}.r-page{gap:var(--r-space-lg);flex-direction:column;width:100%;min-width:0;display:flex}.r-page--fluid{width:100%;max-width:none}.r-page--viewport{min-height:0}.r-grid{width:100%;min-width:0;display:grid}.r-grid--gap-sm{gap:var(--r-space-sm)}.r-grid--gap-md{gap:var(--r-space-md)}.r-grid--gap-lg{gap:var(--r-space-lg)}.r-grid--auto-fit{grid-template-columns:repeat(auto-fit, minmax(var(--r-grid-min,min(100%, 16rem)), 1fr))}.r-grid-mobile--1{grid-template-columns:repeat(1,minmax(0,1fr))}.r-grid-mobile--2{grid-template-columns:repeat(2,minmax(0,1fr))}.r-grid-mobile--3{grid-template-columns:repeat(3,minmax(0,1fr))}.r-grid-mobile--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}@media (min-width:768px){.r-grid-tablet--1{grid-template-columns:repeat(1,minmax(0,1fr))}.r-grid-tablet--2{grid-template-columns:repeat(2,minmax(0,1fr))}.r-grid-tablet--3{grid-template-columns:repeat(3,minmax(0,1fr))}.r-grid-tablet--4{grid-template-columns:repeat(4,minmax(0,1fr))}.r-grid-tablet--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}}@media (min-width:1024px){.r-grid-laptop--1{grid-template-columns:repeat(1,minmax(0,1fr))}.r-grid-laptop--2{grid-template-columns:repeat(2,minmax(0,1fr))}.r-grid-laptop--3{grid-template-columns:repeat(3,minmax(0,1fr))}.r-grid-laptop--4{grid-template-columns:repeat(4,minmax(0,1fr))}.r-grid-laptop--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}}@media (min-width:1440px){.r-grid-desktop--1{grid-template-columns:repeat(1,minmax(0,1fr))}.r-grid-desktop--2{grid-template-columns:repeat(2,minmax(0,1fr))}.r-grid-desktop--3{grid-template-columns:repeat(3,minmax(0,1fr))}.r-grid-desktop--4{grid-template-columns:repeat(4,minmax(0,1fr))}.r-grid-desktop--5{grid-template-columns:repeat(5,minmax(0,1fr))}.r-grid-desktop--6{grid-template-columns:repeat(6,minmax(0,1fr))}.r-grid-desktop--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}}.r-card{width:100%;min-width:0}.r-card--plain{border-radius:var(--radius);border:1px solid var(--glass-border-soft);padding:var(--r-space-lg);background:#0000002e}.r-card--flush{padding:0!important}.r-card--fill{flex-direction:column;height:100%;min-height:0;display:flex}.r-header{justify-content:space-between;align-items:flex-start;gap:var(--r-space-md) var(--r-space-lg);flex-wrap:wrap;width:100%;min-width:0;display:flex}.r-header__main{gap:var(--r-space-sm);flex-direction:column;flex:12rem;min-width:0;display:flex}.r-header__titles{min-width:0}.r-header__title{font-size:var(--r-text-2xl);word-break:break-word;line-height:1.2}.r-header__subtitle{font-size:var(--r-text-sm);margin-top:.25rem}.r-header__meta{gap:var(--r-space-sm);margin-top:var(--r-space-sm);flex-wrap:wrap;display:flex}.r-header__actions{flex:0 auto;align-self:flex-start}.r-action-group{justify-content:flex-end;align-items:center;gap:var(--r-space-sm);flex-wrap:wrap;min-width:0;max-width:100%;display:flex}.r-action-group--start{justify-content:flex-start}.r-action-group--center{justify-content:center}.r-action-group--stretch>*{flex:auto;min-width:min(100%,8rem)}.r-action-group>.btn-primary,.r-action-group>.btn-secondary,.r-action-group>.btn-danger,.r-action-group>button,.r-action-group>a{flex-shrink:0;max-width:100%}@media (max-width:767px){.r-action-group--stretch>*{flex:1 1 calc(50% - var(--r-space-sm))}}.r-filters .page-filter-row,.r-filters__row{align-items:center;gap:var(--r-space-sm);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;display:flex;overflow-x:auto}.r-filters__field,.r-filters .page-filter-field{flex-shrink:0;min-width:0;width:auto!important}.r-filters .page-filter-search,.r-filters__search{flex:8rem;min-width:7rem;max-width:none}.r-filters__actions{flex-shrink:0;justify-content:flex-end;margin-left:auto;padding-left:var(--r-space-md)!important;border-left:1px solid #ffffff1a!important}.r-table-shell{width:100%;min-width:0}.r-table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;min-width:0;overflow:auto visible}.r-table-shell--sticky .r-table-scroll .data-table thead th{z-index:2;position:sticky;top:0}@media (min-width:1024px){.r-table-scroll{overflow-x:visible}.r-table-shell .data-table{table-layout:auto;width:100%}}@media (min-width:768px) and (max-width:1023px){.r-table-scroll{scrollbar-width:thin;overflow-x:auto}.r-table-shell .data-table{min-width:max(100%,40rem)}}@media (max-width:767px){.r-table-shell--cards .data-table{border-collapse:separate;width:100%;min-width:0;display:block}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table{border-collapse:separate;width:100%;min-width:0;display:block}.r-table-shell--cards .data-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.r-table-shell--cards .data-table tbody{gap:var(--r-space-md);flex-direction:column;display:flex}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table tbody{gap:var(--r-space-md);flex-direction:column;display:flex}.r-table-shell--cards .data-table tr{padding:var(--r-space-md);border-radius:calc(var(--radius) - .125rem);border:1px solid var(--glass-border-soft);background:#00000026;flex-direction:column;gap:.35rem;display:flex}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table tr{padding:var(--r-space-md);border-radius:calc(var(--radius) - .125rem);border:1px solid var(--glass-border-soft);background:#00000026;flex-direction:column;gap:.35rem;display:flex}.r-table-shell--cards .data-table td,.r-table-shell--cards .data-table th{word-break:break-word;grid-template-columns:minmax(6rem,38%) 1fr;align-items:start;gap:.5rem;display:grid;text-align:left!important;white-space:normal!important;border:none!important;padding:.25rem 0!important}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table td{word-break:break-word;grid-template-columns:minmax(6rem,38%) 1fr;align-items:start;gap:.5rem;display:grid;text-align:left!important;white-space:normal!important;border:none!important;padding:.25rem 0!important}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table th{word-break:break-word;grid-template-columns:minmax(6rem,38%) 1fr;align-items:start;gap:.5rem;display:grid;text-align:left!important;white-space:normal!important;border:none!important;padding:.25rem 0!important}.r-table-shell--cards .data-table td:before,.r-table-shell--cards .data-table th:before{content:attr(data-label);font-size:var(--r-text-xs);color:#ffffff8c;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table td:before{content:attr(data-label);font-size:var(--r-text-xs);color:#ffffff8c;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table th:before{content:attr(data-label);font-size:var(--r-text-xs);color:#ffffff8c;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.r-table-shell--cards .data-table td:not([data-label]){grid-template-columns:1fr}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table td:not([data-label]){grid-template-columns:1fr}.r-table-shell--cards .data-table td:not([data-label]):before{content:none}.r-table-shell:not(.r-table-shell--scroll-only):has(td[data-label],th[data-label]) .data-table td:not([data-label]):before{content:none}.r-table-shell:not(.r-table-shell--scroll-only):not(.r-table-shell--cards):not(:has(td[data-label],th[data-label])) .r-table-scroll{overflow-x:auto}.r-table-shell:not(.r-table-shell--scroll-only):not(.r-table-shell--cards):not(:has(td[data-label],th[data-label])) .data-table{min-width:max(100%,36rem)}.r-table-shell--scroll-only .r-table-scroll{overflow-x:auto}.r-table-shell--scroll-only .data-table{min-width:max(100%,36rem)}}.page-filter-bar:not(.r-filters) .page-filter-row,.page-filter-bar.page-compact-filters .page-filter-row{align-items:center;gap:var(--r-space-sm);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;display:flex;overflow-x:auto}.page-filter-bar:not(.r-filters) .page-filter-field,.page-filter-bar.page-compact-filters .page-filter-field{flex-shrink:0;min-width:6rem;max-width:9rem;width:auto!important}.page-filter-bar:not(.r-filters) .page-filter-search,.page-filter-bar.page-compact-filters .page-filter-search{flex:8rem;min-width:7rem;max-width:none}.page-filter-bar:not(.r-filters) .page-filter-actions,.page-filter-bar.page-compact-filters .page-filter-actions{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;margin-left:auto;padding-left:var(--r-space-sm)!important;border-left:1px solid #ffffff1a!important}.table-shell>.data-table,.table-shell table{width:100%}@media (max-width:1023px){.table-shell{-webkit-overflow-scrolling:touch;overflow-x:auto}}.r-sidebar{z-index:50;width:var(--r-sidebar-width);max-width:var(--r-sidebar-max-vw);flex-direction:column;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;inset-block:0;inset-inline-start:0;overflow:hidden;box-shadow:0 25px 50px -12px #00000073}.r-sidebar--closed:not(.r-sidebar--fixed){pointer-events:none;transform:translate(-100%)}.r-sidebar--open:not(.r-sidebar--fixed){transform:translate(0)}.r-sidebar--fixed.r-sidebar--open{pointer-events:auto!important;transform:translate(0)!important}.r-sidebar--fixed.r-sidebar--closed{pointer-events:none!important;transform:translate(-100%)!important}.r-sidebar__header{border-bottom:1px solid #ffffff26;flex-shrink:0;padding:1.25rem 1rem}.r-sidebar__body{flex-direction:column;flex:auto;min-height:0;padding:1rem .75rem .75rem;display:flex;overflow:hidden}.r-sidebar__footer{border-top:1px solid #ffffff26;flex-shrink:0;padding:1rem}.r-sidebar-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#0006;border:none;transition:opacity .2s;position:fixed;inset:0}.r-main--sidebar-fixed{transition:margin-left .3s cubic-bezier(.32,.72,0,1)}@media (min-width:1024px){.r-main--sidebar-fixed{margin-left:var(--r-sidebar-width)}}.r-modal-overlay{padding:var(--r-space-lg);justify-content:center;align-items:center;display:flex}.r-modal-panel.r-modal--sm{width:var(--r-modal-sm);max-width:100%}.r-modal-panel.r-modal--md{width:var(--r-modal-md);max-width:100%}.r-modal-panel.r-modal--lg{width:var(--r-modal-lg);max-width:100%}.r-modal-panel.r-modal--xl{width:var(--r-modal-xl);max-width:100%}.r-modal-panel.r-modal--full{width:min(72rem,100vw - 2rem);max-width:100%}@media (min-width:768px) and (max-width:1023px){.r-modal-panel.r-modal--sm,.r-modal-panel.r-modal--md{width:min(28rem,100vw - 2rem)}.r-modal-panel.r-modal--lg,.r-modal-panel.r-modal--xl,.r-modal-panel.r-modal--full{width:min(40rem,100vw - 1.5rem)}}@media (max-width:767px){.r-modal-overlay,.app-modal-overlay{justify-content:flex-end!important;align-items:flex-end!important;padding:0!important}.r-modal-panel,.app-modal-panel,.app-modal-panel-opaque{border-radius:1.25rem 1.25rem 0 0!important;width:100%!important;max-width:100%!important;max-height:92dvh!important;margin:0!important}.r-modal-panel:before,.app-modal-panel:before,.app-modal-panel-opaque:before{content:"";background:#ffffff47;border-radius:999px;flex-shrink:0;width:2.5rem;height:.25rem;margin:.625rem auto 0;display:block}}.page-title{font-size:var(--r-text-2xl)}.page-subtitle{font-size:var(--r-text-sm)}.page-toolbar,.module-toolbar,.tab-toolbar{align-items:center;gap:var(--r-space-sm) var(--r-space-md);flex-wrap:wrap;min-width:0;display:flex}.stats-row,.kpi-row,.dashboard-stats{gap:var(--r-space-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));display:grid}.form-grid,.modal-form-grid{gap:var(--r-space-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}@media (min-width:1024px){.r-sidebar-toggle--hide-on-fixed{display:inline-flex}}.app-shell[data-driver-shell=true] .r-sidebar-toggle--driver{background:#ffffff0f;border:1px solid #ffffff1f;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.app-shell[data-driver-shell=true] .r-sidebar__footer .btn-danger{min-height:44px;font-weight:700}@media (min-width:1024px){.app-shell[data-driver-shell=true] .r-sidebar-toggle--driver{display:inline-flex}}.app-shell[data-r-bp=mobile] .glass-header{padding-inline:var(--r-space-md)}.app-shell[data-r-bp=desktop] .page-shell-content{max-width:var(--app-content-max)}.r-filters .page-filter-row,.r-filters__row{width:100%}@media (max-width:767px){.r-filters .page-filter-row,.r-filters__row{gap:var(--r-space-sm)}.r-filters .page-filter-field,.r-filters__field{min-width:6rem;max-width:9rem}.r-filters .page-filter-actions>*,.r-filters__actions>*{flex:none;min-width:0}.r-filters .input-field,.r-filters .select-field,.r-filters button.select-field{min-height:2rem;font-size:var(--r-text-sm)}}@media (min-width:768px) and (max-width:1023px){.r-filters .page-filter-search,.r-filters__search{flex:10rem;min-width:8rem}}[class*=-unified-toolbar-row]{align-items:center;gap:var(--r-space-sm);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex-wrap:nowrap;display:flex;overflow-x:auto}[class*=-unified-toolbar-row]::-webkit-scrollbar{height:4px}[class*=-unified-toolbar-row]::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}[class*=-unified-toolbar-row] .page-filter-field{flex-shrink:0;width:auto!important}@media (max-width:767px){[class*=-toolbar-meta]{flex-shrink:0}[class*=-toolbar-search]{flex:7rem;min-width:6.5rem!important;max-width:none!important}[class*=-toolbar-select],[class*=-toolbar-badge-field]{flex-shrink:0;width:7rem!important;min-width:6rem!important;max-width:9rem!important}[class*=-toolbar-date]{flex-shrink:0;width:10.25rem!important;min-width:10.25rem!important;max-width:11rem!important}[class*=-toolbar-time]{flex-shrink:0;width:7.5rem!important;min-width:7.5rem!important;max-width:8.5rem!important}[class*=-toolbar-select-wide]{width:8.5rem!important;min-width:7.5rem!important;max-width:10rem!important}[class*=-toolbar-actions]{justify-content:flex-end;gap:var(--r-space-sm);flex-wrap:nowrap;flex-shrink:0;display:flex;padding-left:var(--r-space-sm)!important;border-left:1px solid #ffffff1a!important;margin-left:auto!important}[class*=-toolbar-divider]{display:none!important}[class*=-status-tabs],[class*=-primary-tabs],[class*=-tab-switch]{flex-shrink:0}}@media (min-width:768px) and (max-width:1023px){[class*=-toolbar-search]{flex:12rem;min-width:10rem!important}[class*=-toolbar-select]{min-width:6.5rem}[class*=-toolbar-date]{min-width:10.25rem}}@media (max-width:767px){.fees-page-layout{gap:var(--r-space-sm);max-width:100%;min-height:0}.fees-header-row{align-items:stretch;gap:var(--r-space-sm);flex-direction:column;padding:.5rem .625rem}.fees-primary-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;max-width:100%;overflow-x:auto}.fees-primary-tabs::-webkit-scrollbar{display:none}.fees-primary-tab{font-size:var(--r-text-xs);flex-shrink:0;padding-block:.5rem;padding-inline:.875rem}.fees-header-actions{width:100%}.fees-header-actions>*,.fees-header-actions .fees-btn{justify-content:center;width:100%}.fees-student-picker{width:min(100vw - 1.5rem,18rem);left:auto;right:0}.fees-page-filters{padding:.625rem!important}}@media (min-width:768px) and (max-width:1023px){.fees-primary-tab{font-size:var(--r-text-sm);padding-inline:1rem}.fees-btn{font-size:var(--r-text-sm);padding-inline:.875rem}}@media (max-width:767px){.app-shell .glass-header>div{row-gap:var(--r-space-sm);flex-wrap:wrap}.app-shell .header-toolbar{justify-content:flex-end;gap:var(--r-space-sm);flex:100%;width:100%;max-width:100%;padding-bottom:.125rem}.app-shell .header-academic-select,.app-shell .header-branch-select{flex:1 1 calc(50% - var(--r-space-sm));min-width:0!important;max-width:none!important;font-size:var(--r-text-xs)!important}}@media (max-width:1023px){.table-shell,.fees-page-table,.students-page-table,.revenue-ledger-panel{min-width:0;min-height:0}.fees-table-scroll,.students-table-scroll,.revenue-ledger-scroll,[class*=-table-scroll]{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;flex:auto;min-height:0;overflow:auto}.data-table{min-width:max(100%,36rem)}}@media (pointer:coarse){.page-filter-bar .btn-secondary,.page-filter-bar .input-field,.page-filter-bar .select-field,.page-filter-bar button.select-field,.fees-btn,.glass-nav-item{min-height:2.75rem}}@media (max-width:767px){.page-container,.page-container-viewport,[class*=-page-layout]{width:100%;min-width:0;min-height:0}.glass-card.p-6{padding:1rem!important}}
.header-meta-toggle{display:none}.users-mobile-only{display:none!important}@media (max-width:767px){.app-shell[data-staff-admin=true]{--admin-mobile-pad:.75rem;--admin-mobile-gap:.625rem}.app-shell[data-staff-admin=true] .r-main{min-width:0;max-width:100vw}.app-shell[data-staff-admin=true] .r-main>main,.app-shell[data-staff-admin=true] .app-main{min-width:0;overflow-x:hidden;padding-inline:var(--admin-mobile-pad)!important;padding-block:var(--admin-mobile-pad)!important}.app-shell[data-staff-admin=true] .page-container,.app-shell[data-staff-admin=true] .page-container-viewport,.app-shell[data-staff-admin=true] .page-shell-content,.app-shell[data-staff-admin=true] [class*=-page-layout]{gap:var(--admin-mobile-gap);width:100%;min-width:0;max-width:100%;min-height:0}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .glass-header-inner{-moz-column-gap:.5rem;grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"brand toggle branch""year year bell";align-items:center;gap:.375rem .5rem;padding-block:.5rem!important;padding-inline:.625rem!important;display:grid!important}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-brand-cluster{grid-area:brand;min-width:0;max-width:100%;overflow:hidden;flex:unset!important;flex-wrap:nowrap!important;gap:.35rem!important}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-brand-logo{min-width:0;max-width:2.125rem;overflow:hidden;flex:none!important;width:auto!important}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-brand-logo>div{min-width:0;max-width:2.125rem;gap:0!important}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-brand-logo>div>div{flex-shrink:0;width:2.125rem!important;height:2.125rem!important}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-meta-toggle{color:#ffffffd9;box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff26;border-radius:.5rem;flex-shrink:0;grid-area:toggle;justify-content:center;align-items:center;width:2rem;height:2rem;margin-left:0;display:inline-flex}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-toolbar{display:contents}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-slot-school{display:none!important}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-slot-branch{grid-area:branch;justify-self:stretch;min-width:0;max-width:100%;overflow:hidden}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-slot-year{grid-area:year;min-width:0;max-width:11rem}.app-shell[data-staff-admin=true][data-has-branch-switch=true] .header-slot-bell{grid-area:bell;justify-self:end}.app-shell[data-staff-admin=true][data-has-branch-switch=true][data-header-meta=collapsed] .glass-header-inner{grid-template-rows:auto;grid-template-areas:"brand toggle branch"}.app-shell[data-staff-admin=true][data-has-branch-switch=true][data-header-meta=collapsed] .header-slot-year,.app-shell[data-staff-admin=true][data-has-branch-switch=true][data-header-meta=collapsed] .header-slot-bell{display:none!important}.app-shell[data-staff-admin=true][data-has-branch-switch=false] .glass-header-inner{-moz-column-gap:.5rem;grid-template-columns:minmax(0,1fr) minmax(9rem,11rem);grid-template-areas:"brand year"".bell";align-items:center;gap:.375rem .5rem;padding-block:.5rem!important;padding-inline:.625rem!important;display:grid!important}.app-shell[data-staff-admin=true][data-has-branch-switch=false] .header-brand-cluster{grid-area:brand;min-width:0;flex:unset!important}.app-shell[data-staff-admin=true][data-has-branch-switch=false] .header-toolbar{display:contents}.app-shell[data-staff-admin=true][data-has-branch-switch=false] .header-slot-school,.app-shell[data-staff-admin=true][data-has-branch-switch=false] .header-slot-branch{display:none!important}.app-shell[data-staff-admin=true][data-has-branch-switch=false] .header-slot-year{grid-area:year;justify-self:stretch;min-width:0}.app-shell[data-staff-admin=true][data-has-branch-switch=false] .header-slot-bell{grid-area:bell;justify-self:end}.app-shell[data-staff-admin=true] .glass-header .r-sidebar-toggle{min-width:2.75rem;min-height:2.75rem}.app-shell[data-staff-admin=true] .header-academic-select,.app-shell[data-staff-admin=true] .header-branch-select{width:100%!important;min-width:0!important;max-width:none!important;font-size:.75rem!important}.app-shell[data-staff-admin=true] .page-title{word-break:break-word;font-size:1.125rem;line-height:1.3}.app-shell[data-staff-admin=true] .page-subtitle{font-size:.8125rem}.app-shell[data-staff-admin=true] .page-header,.app-shell[data-staff-admin=true] [class*=-page-header]{flex-direction:column;align-items:stretch;gap:.625rem}.app-shell[data-staff-admin=true] .page-header .btn-primary,.app-shell[data-staff-admin=true] .page-header .btn-secondary,.app-shell[data-staff-admin=true] [class*=-page-header] .btn-primary,.app-shell[data-staff-admin=true] [class*=-page-header] .btn-secondary,.app-shell[data-staff-admin=true] [class*=-header-actions]>.btn-primary,.app-shell[data-staff-admin=true] [class*=-header-actions]>.btn-secondary,.app-shell[data-staff-admin=true] [class*=-header-actions]>button{justify-content:center;width:100%}.app-shell[data-staff-admin=true] .glass-card.p-6,.app-shell[data-staff-admin=true] .glass-card.p-5,.app-shell[data-staff-admin=true] .glass-card.p-8{padding:.875rem!important}.app-shell[data-staff-admin=true] .glass-card,.app-shell[data-staff-admin=true] .glass-card-opaque,.app-shell[data-staff-admin=true] .glass-card-sm{min-width:0;max-width:100%}.app-shell[data-staff-admin=true] .stats-row,.app-shell[data-staff-admin=true] .kpi-row,.app-shell[data-staff-admin=true] .dashboard-stats{grid-template-columns:1fr 1fr;gap:.5rem}.app-shell[data-staff-admin=true] .stat-strip-inner{flex-wrap:wrap;gap:.5rem}.app-shell[data-staff-admin=true] .page-filter-bar,.app-shell[data-staff-admin=true] .r-filters,.app-shell[data-staff-admin=true] [class*=-unified-toolbar],.app-shell[data-staff-admin=true] [class*=-page-filters],.app-shell[data-staff-admin=true] .page-filter-row,.app-shell[data-staff-admin=true] .r-filters__row{flex-direction:column;align-items:stretch;gap:.5rem}.app-shell[data-staff-admin=true] .page-filter-field,.app-shell[data-staff-admin=true] .r-filters__field,.app-shell[data-staff-admin=true] .page-filter-search,.app-shell[data-staff-admin=true] .r-filters__search{width:100%;min-width:0}.app-shell[data-staff-admin=true] .page-filter-actions,.app-shell[data-staff-admin=true] .r-filters__actions{flex-wrap:wrap;gap:.5rem;width:100%;display:flex}.app-shell[data-staff-admin=true] .page-filter-actions>*,.app-shell[data-staff-admin=true] .r-filters__actions>*{flex:auto}.app-shell[data-staff-admin=true] [class*=-unified-toolbar-row]{flex-direction:column;align-items:stretch}.app-shell[data-staff-admin=true] .form-grid,.app-shell[data-staff-admin=true] .modal-form-grid{grid-template-columns:1fr!important}.app-shell[data-staff-admin=true] .input-field,.app-shell[data-staff-admin=true] .select-field,.app-shell[data-staff-admin=true] textarea.input-field{font-size:16px}.app-shell[data-staff-admin=true] .table-shell,.app-shell[data-staff-admin=true] [class*=-page-table],.app-shell[data-staff-admin=true] [class*=-table-scroll],.app-shell[data-staff-admin=true] .fees-page-table,.app-shell[data-staff-admin=true] .students-page-table,.app-shell[data-staff-admin=true] .teachers-page-table,.app-shell[data-staff-admin=true] .revenue-ledger-panel{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;min-width:0;max-width:100%;overflow-x:auto}.app-shell[data-staff-admin=true] .data-table{min-width:max(100%,32rem);font-size:.8125rem}.app-shell[data-staff-admin=true] .data-table th,.app-shell[data-staff-admin=true] .data-table td{white-space:nowrap;padding-block:.5rem;padding-inline:.5rem}.app-shell[data-staff-admin=true] [class*=-primary-tabs],.app-shell[data-staff-admin=true] [class*=-status-tabs],.app-shell[data-staff-admin=true] [class*=-tab-switch],.app-shell[data-staff-admin=true] .fees-primary-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;max-width:100%;display:flex;overflow-x:auto}.app-shell[data-staff-admin=true] .revenue-view-bar .expenses-status-tabs{flex-wrap:unset;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;width:100%;overflow:visible;display:grid!important}.app-shell[data-staff-admin=true] .revenue-view-bar .expenses-status-tabs>button{justify-content:center;width:100%;min-width:0}.app-shell[data-staff-admin=true] .revenue-page-shell{-webkit-overflow-scrolling:touch;overflow:hidden auto!important}.app-shell[data-staff-admin=true] .revenue-page-shell .revenue-ledger-panel,.app-shell[data-staff-admin=true] .revenue-page-shell .revenue-summary-panel,.app-shell[data-staff-admin=true] .revenue-page-shell .revenue-refunds-panel,.app-shell[data-staff-admin=true] .revenue-page-shell .revenue-forecast-panel{overflow:visible!important}.app-shell[data-staff-admin=true] .revenue-page-shell .revenue-ledger-table.data-table,.app-shell[data-staff-admin=true] .revenue-page-shell .revenue-refunds-table.data-table,.app-shell[data-staff-admin=true] .revenue-page-shell .revenue-forecast-table.data-table{min-width:0!important}.app-shell[data-staff-admin=true] .expenses-page-layout .expenses-mobile-toolbar{flex-direction:column;gap:.4rem;display:flex}.app-shell[data-staff-admin=true] .expenses-page-layout .expenses-mobile-list-table.data-table,.app-shell[data-staff-admin=true] .assets-page-layout .assets-mobile-list-table.data-table,.app-shell[data-staff-admin=true] .salaries-page-layout .salaries-mobile-list-table.data-table{min-width:0!important}.app-shell[data-staff-admin=true] .leaves-page-layout .leaves-filter-row.page-filter-row{flex-flow:row!important;justify-content:space-between!important;align-items:stretch!important;width:100%!important;display:flex!important;overflow:visible!important}.app-shell[data-staff-admin=true] .leaves-page-layout .leaves-status-filter.page-filter-field{flex:auto!important;width:auto!important;min-width:0!important;max-width:none!important}.app-shell[data-staff-admin=true] .leaves-page-layout .leaves-filter-actions.page-filter-actions{flex:none!important;width:auto!important;margin-left:auto!important}.app-shell[data-staff-admin=true] .leaves-page-layout .leaves-filter-actions.page-filter-actions>*{flex:none!important}.app-shell[data-staff-admin=true] .leaves-page-layout .leaves-mobile-list-table{min-width:0!important}.app-shell[data-staff-admin=true] .leaves-page-layout,.app-shell[data-staff-admin=true] .leaves-page-layout .page-filter-bar{overflow-x:hidden!important}.app-shell[data-staff-admin=true] [class*=-primary-tabs]::-webkit-scrollbar{display:none}.app-shell[data-staff-admin=true] [class*=-status-tabs]::-webkit-scrollbar{display:none}.app-shell[data-staff-admin=true] .fees-primary-tabs::-webkit-scrollbar{display:none}.app-shell[data-staff-admin=true] [class*=-primary-tab],.app-shell[data-staff-admin=true] .fees-primary-tab{flex-shrink:0}.app-shell[data-staff-admin=true] .master-data-layout{flex-direction:column;gap:.5rem}.app-shell[data-staff-admin=true] .master-data-sidebar{width:100%;max-height:none}.app-shell[data-staff-admin=true] .master-data-sidebar-nav{flex-flow:column;gap:.5rem;padding:.5rem;display:flex;overflow:hidden auto}.app-shell[data-staff-admin=true] .fm-workspace{flex-direction:column;gap:.5rem}.app-shell[data-staff-admin=true] .fm-role-rail{width:100%;max-height:none}.app-shell[data-staff-admin=true] .fixed.inset-0.z-50>.glass-card,.app-shell[data-staff-admin=true] .fixed.inset-0>.glass-card{max-width:calc(100vw - 1.5rem);max-height:calc(100dvh - 2rem);margin-inline:.75rem}.app-shell[data-staff-admin=true] .modal-actions,.app-shell[data-staff-admin=true] [class*=-form-actions],.app-shell[data-staff-admin=true] [class*=-modal-footer]{flex-direction:column-reverse;gap:.5rem}.app-shell[data-staff-admin=true] .modal-actions>*,.app-shell[data-staff-admin=true] [class*=-form-actions]>*,.app-shell[data-staff-admin=true] [class*=-modal-footer]>*{width:100%}.app-shell[data-staff-admin=true] .nick-assistant-fab{bottom:.75rem;right:.75rem}.app-shell[data-staff-admin=true] .nick-assistant-panel{max-width:calc(100vw - 1.5rem)}.app-shell[data-staff-admin=true] .fees-page-layout .fees-page-table,.app-shell[data-staff-admin=true] .fees-page-layout .fees-table-scroll{min-height:10rem;overflow-x:hidden!important}.app-shell[data-staff-admin=true] .fees-page-layout .fees-page-table .fees-table-academic,.app-shell[data-staff-admin=true] .fees-page-layout .fees-page-table .fees-table-dc,.app-shell[data-staff-admin=true] .fees-page-layout .fees-mobile-list-table.data-table{width:100%!important;min-width:0!important;max-width:100%!important}.app-shell[data-staff-admin=true] .fees-page-layout .fees-page-table .fees-mobile-list-table tbody td{max-width:none!important}.app-shell[data-staff-admin=true] img,.app-shell[data-staff-admin=true] video,.app-shell[data-staff-admin=true] canvas,.app-shell[data-staff-admin=true] svg{max-width:100%}.app-shell[data-staff-admin=true] pre,.app-shell[data-staff-admin=true] code{word-break:break-word}.app-shell[data-staff-admin=true] .users-desktop-only{display:none!important}.app-shell[data-staff-admin=true] .users-mobile-only{display:flex!important}.app-shell[data-staff-admin=true] .users-mobile-toolbar{flex-direction:column;gap:.5rem;display:flex}.app-shell[data-staff-admin=true] .users-mobile-toolbar-row{align-items:center;gap:.5rem;min-width:0;display:flex}.app-shell[data-staff-admin=true] .users-mobile-type-btn{color:#fff;background:#3b82f647;border:1px solid #93c5fd59;border-radius:.75rem;flex:auto;align-items:center;gap:.5rem;min-width:0;padding:.625rem .75rem;font-size:.875rem;font-weight:600;display:flex}.app-shell[data-staff-admin=true] .users-mobile-type-btn .users-mobile-type-icon{flex-shrink:0;font-size:1.125rem;line-height:1}.app-shell[data-staff-admin=true] .users-mobile-type-btn .users-mobile-type-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell[data-staff-admin=true] .users-mobile-create-btn{white-space:nowrap;flex:none;padding-inline:.75rem!important;font-size:.8125rem!important}.app-shell[data-staff-admin=true] .users-mobile-icon-btn{color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff26;border-radius:.5rem;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.app-shell[data-staff-admin=true] .users-mobile-expand-bar{justify-content:center;padding-block:.125rem;display:flex}.app-shell[data-staff-admin=true] .users-mobile-tile-panel{background:#0f172ab8;border:1px solid #ffffff1f;border-radius:.875rem;padding:.75rem;position:relative}.app-shell[data-staff-admin=true] .users-mobile-tile-close{z-index:1;position:absolute;top:.5rem;right:.5rem}.app-shell[data-staff-admin=true] .users-mobile-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding-top:.25rem;display:grid}.app-shell[data-staff-admin=true] .users-mobile-tile{color:#fff;text-align:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:4.5rem;padding:.5rem .25rem;display:flex}.app-shell[data-staff-admin=true] .users-mobile-tile.is-active{background:#3b82f659;border-color:#93c5fd73}.app-shell[data-staff-admin=true] .users-mobile-tile-icon{font-size:1.35rem;line-height:1}.app-shell[data-staff-admin=true] .users-mobile-tile-name{word-break:break-word;font-size:.6875rem;font-weight:600;line-height:1.2}.app-shell[data-staff-admin=true] .users-mobile-list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:.5rem;min-height:0;display:flex;overflow-y:auto}.app-shell[data-staff-admin=true] .users-mobile-list-item{color:#fff;text-align:left;background:#0f172a8c;border:1px solid #ffffff1a;border-radius:.75rem;flex-direction:column;gap:.2rem;width:100%;padding:.75rem .875rem;display:flex}.app-shell[data-staff-admin=true] .users-mobile-list-name{font-size:.9375rem;font-weight:600}.app-shell[data-staff-admin=true] .users-mobile-list-email{color:#ffffffa6;word-break:break-all;font-size:.75rem}.app-shell[data-staff-admin=true] .users-mobile-detail{background:#0f172ab8;border:1px solid #ffffff1f;border-radius:.875rem;flex-direction:column;gap:.75rem;padding:.875rem;display:flex}.app-shell[data-staff-admin=true] .users-mobile-detail-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.app-shell[data-staff-admin=true] .users-mobile-detail-grid{grid-template-columns:1fr 1fr;gap:.625rem .75rem;display:grid}.app-shell[data-staff-admin=true] .users-mobile-detail-cell{min-width:0}.app-shell[data-staff-admin=true] .users-mobile-detail-label{text-transform:uppercase;letter-spacing:.04em;color:#ffffff80;margin-bottom:.15rem;font-size:.625rem;display:block}.app-shell[data-staff-admin=true] .users-mobile-detail-value{color:#fff;word-break:break-word;font-size:.8125rem}.app-shell[data-staff-admin=true] .users-mobile-detail-actions{flex-wrap:wrap;grid-column:1/-1;gap:.5rem;padding-top:.25rem;display:flex}.app-shell[data-staff-admin=true] .users-page-layout{flex-direction:column;flex:auto;min-height:0;display:flex}}
.app-shell .app-main,.app-shell main.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.app-shell .page-shell-content{width:100%;min-width:0;min-height:0;max-height:100%;max-width:var(--app-content-max);flex-direction:column;flex:1;margin-left:auto;margin-right:auto;display:flex;overflow:hidden}.app-shell .page-shell-content>.page-container:not(.page-container-viewport):not(.master-data-page){width:100%;min-height:0;max-height:100%;max-width:var(--app-content-max);overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;flex:1;overflow:hidden auto}.app-shell .page-shell-content>.page-container:not(.page-container-viewport):not(.master-data-page)::-webkit-scrollbar{width:8px}.app-shell .page-shell-content>.page-container:not(.page-container-viewport):not(.master-data-page)::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.app-shell .page-shell-content>.pt-page{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;flex:1;width:100%;min-width:0;min-height:0;max-height:100%;overflow:hidden auto}.app-shell .page-shell-content>.pt-page::-webkit-scrollbar{width:8px}.app-shell .page-shell-content>.pt-page::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.app-shell .page-shell-content>.page-container-fill,.app-shell .page-shell-content>.fm-page,.app-shell .page-shell-content>.page-container-viewport,.app-shell .page-shell-content>.page-container.page-container-viewport,.app-shell .page-shell-content>.page-container.master-data-page,.app-shell .page-shell-content>.fees-page-layout,.app-shell .page-shell-content>.dc-app-shell,.app-shell .page-shell-content>[class*=-page-layout]{width:100%;min-height:0;max-height:100%;max-width:var(--app-content-max);flex-direction:column;flex:1;margin-left:auto;margin-right:auto;display:flex;overflow:hidden}.page-container-viewport,.fees-page-layout,[class*=-page-layout]{flex:1;min-height:0;max-height:100%}.app-shell .page-shell-content .table-shell.flex-1,.app-shell .page-shell-content .table-shell,.app-shell .page-shell-content .fees-page-table,.app-shell .page-shell-content .students-page-table,.app-shell .page-shell-content .teachers-page-table,.app-shell .page-shell-content .attendance-page-shell,.app-shell .page-shell-content .master-data-page,.app-shell .page-shell-content .master-data-content,.app-shell .page-shell-content .reports-detail-panel,.app-shell .page-shell-content .revenue-ledger-panel,.app-shell .page-shell-content .fees-payment-history,.app-shell .page-shell-content [class*=-page-layout]>.flex-1,.app-shell .page-shell-content .fees-page-layout>.flex-1,.app-shell .page-shell-content .page-container-viewport>.flex-1{min-height:0}:is(.fees-table-scroll,.students-table-scroll,.teachers-table-scroll,.attendance-table-scroll,.exams-table-scroll,.users-table-scroll,.timetable-table-scroll,.expenses-master-table-scroll,.revenue-ledger-scroll,.reports-detail-scroll,.master-data-content-scroll:not(:has(.master-data-tab-shell)),.master-data-tab-table-scroll,.fm-workspace,.fm-permissions,.fm-drawer-scroll,.dc-tab-panel,[class*=-table-scroll]){-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.app-shell .page-shell-content [class*=-page-layout] .overflow-y-auto,.app-shell .page-shell-content .page-container-viewport .overflow-y-auto{min-height:0}.app-shell.parent-portal-mode .parent-portal-page-content{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;max-height:100%;margin:0;display:flex;overflow:hidden}.app-shell.parent-portal-mode .pp-shell{flex:1;min-height:0;max-height:100%;overflow:hidden}.app-shell.parent-portal-mode .pp-main,.app-shell.parent-portal-mode .pp-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app-shell.parent-portal-mode .pp-scroll-host{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;min-height:0;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));flex:1;overflow:hidden auto}@media (min-width:1024px){.app-shell.parent-portal-mode .pp-scroll-host{padding-bottom:12px}}.app-shell.parent-portal-mode .pp-scroll-host::-webkit-scrollbar{width:8px}.app-shell.parent-portal-mode .pp-scroll-host::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.dc-app-shell{flex-direction:column;flex:auto;width:100%;max-width:1120px;min-height:0;margin-left:auto;margin-right:auto;padding:0;display:flex;overflow:hidden}@media (max-width:639px){.app-shell .page-shell-content>.dc-app-shell{width:100%;max-width:none}}.dc-app{min-height:0;min-height:unset;flex-direction:column;flex:auto;width:100%;max-width:none;display:flex;overflow:hidden}.dc-tab-panel{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:hidden auto}.dc-app-shell .dos-app{flex:1;min-height:0;max-height:100%}.dc-app-shell .dos-main{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:hidden auto}.transport-assignment-table-scroll,.transport-payment-table-scroll,.tx-table-wrap{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.app-shell .page-shell-content .page-filter-bar,.app-shell .page-shell-content .fees-page-toolbar,.app-shell .page-shell-content .fees-header,.app-shell .page-shell-content [class*=-page-toolbar],.app-shell .page-shell-content [class*=-unified-toolbar-row]{flex-shrink:0}body.modal-scroll-locked .app-shell .page-shell-content>.page-container:not(.page-container-viewport),html.modal-scroll-locked .app-shell .page-shell-content>.page-container:not(.page-container-viewport),body.modal-scroll-locked .app-shell .page-shell-content>.page-container-viewport,html.modal-scroll-locked .app-shell .page-shell-content>.page-container-viewport,body.modal-scroll-locked .app-shell .page-shell-content>[class*=-page-layout],html.modal-scroll-locked .app-shell .page-shell-content>[class*=-page-layout],body.modal-scroll-locked .app-shell .page-shell-content [class*=-table-scroll],html.modal-scroll-locked .app-shell .page-shell-content [class*=-table-scroll]{overflow:hidden!important}@media print{.app-shell .app-main,.app-shell main.app-main{overflow:visible!important}.app-shell .page-shell-content>.page-container,.app-shell .page-shell-content>.page-container-viewport,.app-shell .page-shell-content>[class*=-page-layout]{height:auto!important;max-height:none!important;overflow:visible!important}}
.tx-module{--tx-space-1:4px;--tx-space-2:8px;--tx-space-3:12px;--tx-space-4:16px;--tx-space-5:20px;--tx-space-6:24px;--tx-space-8:32px;--tx-space-10:40px;--tx-space-12:48px;--tx-space-16:64px;--tx-font-page:28px;--tx-font-section:20px;--tx-font-card:18px;--tx-font-subtitle:16px;--tx-font-body:15px;--tx-font-label:14px;--tx-font-badge:13px;--tx-font-button:14px;--tx-radius-card:20px;--tx-radius-control:12px;--tx-radius-pill:999px;--tx-color-primary:#2563eb;--tx-color-primary-hover:#1d4ed8;--tx-color-primary-muted:#2563eb1f;--tx-color-success:#059669;--tx-color-success-muted:#0596691f;--tx-color-warning:#d97706;--tx-color-warning-muted:#d977061f;--tx-color-danger:#dc2626;--tx-color-danger-muted:#dc26261f;--tx-color-info:#0284c7;--tx-color-info-muted:#0284c71f;--tx-bg-app:#0c0f14;--tx-bg-surface:#141a24;--tx-bg-elevated:#1a2230;--tx-bg-muted:#111820;--tx-border:#ffffff14;--tx-border-strong:#ffffff24;--tx-text:#f4f7fb;--tx-text-secondary:#f4f7fb9e;--tx-text-muted:#f4f7fb6b;--tx-shadow-sm:0 1px 2px #0000003d;--tx-shadow-md:0 8px 24px #00000047;--tx-shadow-card:0 4px 20px #00000038;--tx-control-h:40px;--tx-transition:.16s ease;color:var(--tx-text);font-size:var(--tx-font-body);line-height:1.5}.tx-page-title{font-size:var(--tx-font-page);letter-spacing:-.02em;color:var(--tx-text);margin:0;font-weight:700;line-height:1.2}.tx-section-title{font-size:var(--tx-font-section);letter-spacing:-.01em;color:var(--tx-text);margin:0;font-weight:700}.tx-card-title{font-size:var(--tx-font-card);color:var(--tx-text);margin:0;font-weight:600}.tx-subtitle{font-size:var(--tx-font-subtitle);color:var(--tx-text-secondary);margin:0}.tx-body{font-size:var(--tx-font-body);color:var(--tx-text-secondary);margin:0}.tx-label{font-size:var(--tx-font-label);color:var(--tx-text-secondary);font-weight:500}.tx-muted{font-size:var(--tx-font-label);color:var(--tx-text-muted);margin:0}.tx-shell{background:var(--tx-bg-surface);border:1px solid var(--tx-border);border-radius:var(--tx-radius-card);min-height:0;box-shadow:var(--tx-shadow-md);flex-direction:column;flex:1;display:flex;overflow:hidden}.tx-shell-header{align-items:center;gap:var(--tx-space-4);padding:var(--tx-space-4) var(--tx-space-6);border-bottom:1px solid var(--tx-border);background:var(--tx-bg-elevated);flex-wrap:wrap;display:flex}.tx-shell-body{min-height:0;padding:var(--tx-space-6);flex:1;overflow:auto}.tx-grid{gap:var(--tx-space-4);display:grid}.tx-grid--12{grid-template-columns:repeat(12,minmax(0,1fr))}.tx-grid--kpi{gap:var(--tx-space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.tx-stack{gap:var(--tx-space-4);flex-direction:column;display:flex}@media (max-width:1024px){.tx-grid--12{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:640px){.tx-grid--12,.tx-grid--kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.tx-shell-body{padding:var(--tx-space-4)}}.tx-card{background:var(--tx-bg-elevated);border:1px solid var(--tx-border);border-radius:var(--tx-radius-card);padding:var(--tx-space-6);box-shadow:var(--tx-shadow-card);gap:var(--tx-space-4);transition:transform var(--tx-transition), box-shadow var(--tx-transition), border-color var(--tx-transition);flex-direction:column;display:flex}.tx-card--interactive:hover{border-color:var(--tx-border-strong);box-shadow:var(--tx-shadow-md);transform:translateY(-2px)}.tx-card-header{justify-content:space-between;align-items:flex-start;gap:var(--tx-space-3);display:flex}.tx-card-footer{padding-top:var(--tx-space-3);border-top:1px solid var(--tx-border);margin-top:auto}.tx-btn{justify-content:center;align-items:center;gap:var(--tx-space-2);min-height:var(--tx-control-h);padding:0 var(--tx-space-5);border-radius:var(--tx-radius-control);font-size:var(--tx-font-button);cursor:pointer;white-space:nowrap;transition:background var(--tx-transition), border-color var(--tx-transition), color var(--tx-transition), transform var(--tx-transition);border:1px solid #0000;font-weight:600;line-height:1;display:inline-flex}.tx-btn:focus-visible{outline:2px solid var(--tx-color-primary);outline-offset:2px}.tx-btn:active{transform:scale(.98)}.tx-btn:disabled{opacity:.45;cursor:not-allowed}.tx-btn--primary{background:var(--tx-color-primary);color:#fff}.tx-btn--primary:hover:not(:disabled){background:var(--tx-color-primary-hover)}.tx-btn--secondary{border-color:var(--tx-border-strong);color:var(--tx-text);background:0 0}.tx-btn--secondary:hover:not(:disabled){background:#ffffff0a}.tx-btn--ghost{color:var(--tx-text-secondary);background:0 0}.tx-btn--ghost:hover:not(:disabled){color:var(--tx-text);background:#ffffff0d}.tx-btn--success{background:var(--tx-color-success-muted);color:#6ee7b7;border-color:#05966959}.tx-btn--warning{background:var(--tx-color-warning-muted);color:#fcd34d;border-color:#d9770659}.tx-btn--danger{background:var(--tx-color-danger-muted);color:#fca5a5;border-color:#dc262659}.tx-btn--sm{min-height:32px;padding:0 var(--tx-space-3);font-size:var(--tx-font-badge)}.tx-btn--icon{width:var(--tx-control-h);padding:0}.tx-tabs{gap:var(--tx-space-1);padding:var(--tx-space-1);border-radius:var(--tx-radius-control);background:var(--tx-bg-muted);border:1px solid var(--tx-border);scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.tx-tabs::-webkit-scrollbar{display:none}.tx-tab{padding:var(--tx-space-2) var(--tx-space-4);color:var(--tx-text-muted);font-size:var(--tx-font-label);cursor:pointer;transition:background var(--tx-transition), color var(--tx-transition);background:0 0;border:none;border-radius:10px;flex-shrink:0;font-weight:600}.tx-tab:hover{color:var(--tx-text-secondary);background:#ffffff0a}.tx-tab--active{background:var(--tx-color-primary-muted);color:#93c5fd}.tx-tab:focus-visible{outline:2px solid var(--tx-color-primary);outline-offset:1px}.tx-badge{align-items:center;gap:var(--tx-space-1);border-radius:var(--tx-radius-pill);font-size:var(--tx-font-badge);padding:4px 10px;font-weight:600;line-height:1.2;display:inline-flex}.tx-badge--success{background:var(--tx-color-success-muted);color:#6ee7b7}.tx-badge--warning{background:var(--tx-color-warning-muted);color:#fcd34d}.tx-badge--danger{background:var(--tx-color-danger-muted);color:#fca5a5}.tx-badge--info{background:var(--tx-color-info-muted);color:#7dd3fc}.tx-badge--neutral{color:var(--tx-text-secondary);background:#ffffff0f}.tx-badge--live{background:var(--tx-color-success-muted);color:#6ee7b7;animation:2s infinite tx-pulse}@keyframes tx-pulse{0%,to{opacity:1}50%{opacity:.65}}.tx-input,.tx-select{width:100%;min-height:var(--tx-control-h);padding:0 var(--tx-space-4);border-radius:var(--tx-radius-control);border:1px solid var(--tx-border);background:var(--tx-bg-muted);color:var(--tx-text);font-size:var(--tx-font-body);transition:border-color var(--tx-transition), box-shadow var(--tx-transition)}.tx-input:focus,.tx-select:focus{border-color:#2563eb8c;outline:none;box-shadow:0 0 0 3px #2563eb26}.tx-input::placeholder{color:var(--tx-text-muted)}.tx-field{gap:var(--tx-space-2);flex-direction:column;display:flex}.tx-field-error{color:#fca5a5;font-size:12px}.tx-table-wrap{border:1px solid var(--tx-border);border-radius:var(--tx-radius-card);background:var(--tx-bg-elevated);scrollbar-width:thin;scrollbar-color:#fff3 transparent;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:auto}.tx-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--tx-font-label)}.tx-table thead th{z-index:2;text-align:left;padding:var(--tx-space-3) var(--tx-space-4);text-transform:uppercase;letter-spacing:.04em;color:var(--tx-text-muted);background:var(--tx-bg-muted);border-bottom:1px solid var(--tx-border);white-space:nowrap;font-size:12px;font-weight:700;position:sticky;top:0}.tx-table tbody td{padding:var(--tx-space-4);border-bottom:1px solid var(--tx-border);color:var(--tx-text-secondary);vertical-align:middle;min-height:52px}.tx-table tbody tr:hover td{background:#ffffff05}.tx-table-actions{gap:var(--tx-space-2);flex-wrap:wrap;align-items:center;display:flex}.tx-table-footer{padding:var(--tx-space-3) var(--tx-space-4);border-top:1px solid var(--tx-border);background:var(--tx-bg-muted);font-size:var(--tx-font-label);color:var(--tx-text-muted);font-variant-numeric:tabular-nums;font-weight:600}.tx-module .transport-assignment-table,.tx-module .transport-payment-table{border:1px solid var(--tx-border);border-radius:var(--tx-radius-card);background:var(--tx-bg-elevated)}.tx-module .transport-assignment-table .data-table thead th,.tx-module .transport-payment-table .data-table thead th{text-transform:uppercase;letter-spacing:.04em;background:var(--tx-bg-muted)!important;color:var(--tx-text-muted)!important;padding:var(--tx-space-3) var(--tx-space-4)!important;border-bottom:1px solid var(--tx-border)!important;font-size:12px!important;font-weight:700!important}.tx-module .transport-assignment-table .data-table tbody td,.tx-module .transport-payment-table .data-table tbody td{padding:var(--tx-space-3) var(--tx-space-4)!important;color:var(--tx-text-secondary)!important;border-color:var(--tx-border)!important}.tx-module .ta-btn{min-height:32px;padding:0 var(--tx-space-3);font-size:var(--tx-font-badge);border:1px solid var(--tx-border);background:var(--tx-bg-muted);color:var(--tx-text-secondary);transition:background var(--tx-transition), color var(--tx-transition);border-radius:10px;font-weight:600}.tx-module .ta-btn:hover{color:var(--tx-text);background:#ffffff0f}.tx-module .ta-btn-group{gap:var(--tx-space-2);flex-wrap:wrap;display:flex}.tx-dialog-overlay{z-index:80;padding:var(--tx-space-4);background:#0000008c;justify-content:center;align-items:center;animation:.18s tx-fade-in;display:flex;position:fixed;inset:0}.tx-dialog{background:var(--tx-bg-surface);border:1px solid var(--tx-border-strong);border-radius:var(--tx-radius-card);width:100%;max-width:520px;max-height:min(90vh,720px);box-shadow:var(--tx-shadow-md);flex-direction:column;animation:.2s tx-slide-up;display:flex}.tx-dialog-header,.tx-dialog-footer{padding:var(--tx-space-5) var(--tx-space-6);border-color:var(--tx-border);flex-shrink:0}.tx-dialog-header{border-bottom:1px solid var(--tx-border)}.tx-dialog-footer{border-top:1px solid var(--tx-border);justify-content:flex-end;gap:var(--tx-space-3);display:flex}.tx-dialog-body{padding:var(--tx-space-6);flex:1;overflow-y:auto}@keyframes tx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tx-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tx-empty{text-align:center;justify-content:center;align-items:center;gap:var(--tx-space-4);padding:var(--tx-space-12) var(--tx-space-6);border:1px dashed var(--tx-border);border-radius:var(--tx-radius-card);background:var(--tx-bg-muted);flex-direction:column;display:flex}.tx-empty-icon{background:var(--tx-color-primary-muted);color:#93c5fd;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.tx-skeleton{background:linear-gradient(90deg, var(--tx-bg-muted) 25%, #1e2838 50%, var(--tx-bg-muted) 75%);border-radius:var(--tx-radius-control);background-size:200% 100%;animation:1.4s infinite tx-shimmer}@keyframes tx-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tx-skeleton-card{border-radius:var(--tx-radius-card);height:120px}.tx-skeleton-line{height:14px;margin-bottom:var(--tx-space-2)}.tx-skeleton-line--sm{width:40%}.tx-skeleton-line--md{width:70%}.tx-kpi{padding:var(--tx-space-4) var(--tx-space-5);border-radius:var(--tx-radius-card);background:var(--tx-bg-elevated);border:1px solid var(--tx-border);gap:var(--tx-space-1);flex-direction:column;display:flex}.tx-kpi-value{color:var(--tx-text);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1.1}.tx-kpi-label{text-transform:uppercase;letter-spacing:.04em;color:var(--tx-text-muted);font-size:12px;font-weight:600}.tx-kpi--live{border-color:#05966959}.tx-kpi--live .tx-kpi-value{color:#6ee7b7}.tx-kpi--warn{border-color:#d9770659}.tx-kpi--warn .tx-kpi-value{color:#fcd34d}.tx-kpi--danger{border-color:#dc262659}.tx-kpi--danger .tx-kpi-value{color:#fca5a5}.tx-kpi--done .tx-kpi-value{color:#93c5fd}.tx-map-panel{border-radius:var(--tx-radius-card);border:1px solid var(--tx-border);background:var(--tx-bg-muted);min-height:280px;position:relative;overflow:hidden}.tx-map-overlay{z-index:2;padding:var(--tx-space-4);border-radius:var(--tx-radius-control);border:1px solid var(--tx-border);box-shadow:var(--tx-shadow-sm);background:#141a24eb;position:absolute}.tx-module .tcc-root,.tx-module .nc-root{gap:var(--tx-space-6)}.tx-module .tcc-panel,.tx-module .nc-item,.tx-module .pt-card,.tx-module .dos-card{background:var(--tx-bg-elevated)!important;border:1px solid var(--tx-border)!important;border-radius:var(--tx-radius-card)!important;box-shadow:var(--tx-shadow-card)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.tx-module .tcc-title,.tx-module .nc-title,.tx-module .pt-hero h1{font-size:var(--tx-font-section);font-weight:700}.tx-module .tcc-kpi,.tx-module .tcc-student-stat{border-radius:var(--tx-radius-card)!important;background:var(--tx-bg-elevated)!important;border:1px solid var(--tx-border)!important}.tx-module .tcc-student-stat--active{background:#3b82f61f!important;border-color:#3b82f68c!important}.tx-module .tcc-filter-hint{color:var(--tx-text-muted);margin-top:.5rem;font-size:12px}.tx-module .tcc-link-btn{color:var(--tx-accent);margin-left:.5rem;font-size:12px;text-decoration:underline}.tx-module .tcc-filter-input,.tx-module .tcc-filter-select,.tx-module .nc-input,.tx-module .nc-select{min-height:var(--tx-control-h);border-radius:var(--tx-radius-control);background:var(--tx-bg-muted);border:1px solid var(--tx-border);color:var(--tx-text);font-size:var(--tx-font-body)}.tx-module .tcc-table-wrap{border-radius:var(--tx-radius-card);border:1px solid var(--tx-border)}.tx-module .tcc-table th{background:var(--tx-bg-muted);color:var(--tx-text-muted);text-transform:uppercase;font-size:12px}.tx-module .dos-app{--dos-bg:var(--tx-bg-app);--dos-surface:var(--tx-bg-elevated);--dos-surface-2:#1f2937;--dos-border:var(--tx-border);--dos-text:var(--tx-text);--dos-muted:var(--tx-text-secondary);--dos-primary:var(--tx-color-primary);--dos-radius:var(--tx-radius-card);--dos-radius-sm:var(--tx-radius-control)}.tx-module .pt-page{max-width:880px}.tx-module .pt-loading .pt-spinner{border-color:var(--tx-border);border-top-color:var(--tx-color-primary)}.tx-admin.transport-page-layout{max-width:1440px}.tx-admin .transport-page-shell,.tx-admin .table-shell.transport-page-shell,.tx-admin .tx-shell.transport-page-shell{-webkit-backdrop-filter:blur(24px);border-radius:.75rem;box-shadow:0 8px 32px #00000059,inset 0 1px #ffffff1f;background:linear-gradient(155deg,#2d1e12eb 0%,#20160ef5 100%)!important;border:1px solid #ffffff2e!important}.tx-admin .transport-toolbar{padding:var(--tx-space-3) var(--tx-space-4);background:#0000001f;border-bottom:1px solid #ffffff1f}.tx-admin .transport-toolbar-meta h1{text-shadow:var(--text-glow);color:#fff!important;font-size:.875rem!important;font-weight:600!important}.tx-admin .transport-toolbar-meta p{color:#ffffff80!important;font-size:10px!important}.tx-admin .transport-tab-switch{background:#00000026;border:1px solid #ffffff1a;border-radius:.375rem;padding:2px}.tx-admin .transport-tab-switch button[aria-selected=true]{border-radius:.25rem;box-shadow:0 4px 14px #3b71db4d;color:#fff!important;background:#2563eb!important}.tx-admin .transport-tab-switch button{min-height:28px;color:#ffffffb3!important;padding:4px 8px!important;font-size:11px!important;font-weight:500!important}.tx-admin .tcc-panel,.tx-admin.tx-module .tcc-panel,.tx-module.tx-admin .tcc-panel,.tx-admin .tcc-vehicle-card,.tx-admin .tcc-route-card,.tx-admin .tcc-driver-card,.tx-admin .tcc-student-stat,.tx-admin .tcc-analytic-card,.tx-admin .tcc-sos-card,.tx-admin .tcc-alert-item{-webkit-backdrop-filter:blur(16px);background:linear-gradient(155deg,#3726188c 0%,#261a10a6 100%)!important;border:1px solid #ffffff24!important;box-shadow:0 4px 16px #0003,inset 0 1px #ffffff14!important}.tx-admin .tcc-filter-input,.tx-admin .tcc-filter-select{color:#fff!important;background:#0003!important;border:1px solid #ffffff1f!important}.tx-admin .tcc-map-empty,.tx-admin .tcc-fleet-map{background:linear-gradient(145deg,#2d1e12bf 0%,#1c120ad9 100%)!important;border:1px solid #ffffff1f!important}.tx-admin .tcc-panel--sos{background:linear-gradient(155deg,#501e1e59 0%,#2d16128c 100%)!important;border-color:#ef444440!important}.tx-module .te-toast-stack{bottom:var(--tx-space-6);right:var(--tx-space-6)}.tx-module .te-toast{border-radius:var(--tx-radius-control);background:var(--tx-bg-elevated);border:1px solid var(--tx-border-strong);box-shadow:var(--tx-shadow-md)}.tx-module .glass-card,.tx-module .glass-card-opaque{background:var(--tx-bg-elevated)!important;border:1px solid var(--tx-border)!important;border-radius:var(--tx-radius-card)!important;box-shadow:var(--tx-shadow-card)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.tx-module .tcc-chip{border-radius:var(--tx-radius-pill);font-size:var(--tx-font-badge);color:var(--tx-text-secondary);background:#ffffff0f;align-items:center;padding:4px 10px;font-weight:600;display:inline-flex}.tx-module .tcc-chip--live{background:var(--tx-color-success-muted);color:#6ee7b7}.tx-module .tcc-chip--warn{background:var(--tx-color-warning-muted);color:#fcd34d}.tx-module .tcc-chip--done{background:var(--tx-color-info-muted);color:#7dd3fc}.tx-module .tcc-link-btn{min-height:32px;padding:0 var(--tx-space-3);font-size:var(--tx-font-badge);border:1px solid var(--tx-border);background:var(--tx-bg-muted);color:var(--tx-text-secondary);cursor:pointer;transition:background var(--tx-transition), color var(--tx-transition);border-radius:10px;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.tx-module .tcc-link-btn:hover{color:var(--tx-text);background:#ffffff0f}.tx-module .tcc-actions{gap:var(--tx-space-2);flex-wrap:wrap;display:flex}.tx-live{width:100%;max-width:1440px;height:100%;min-height:0;margin:0 auto}.tx-live .tx-map-panel{min-height:min(72vh,720px)}.tx-live-body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.app-shell.kiosk-mode .kiosk-page-content>.tx-live{flex:auto;max-width:none;height:100%;min-height:0}
.dp4-shell{--dp4-bg:#f1f5f9;--dp4-surface:#fff;--dp4-border:#e2e8f0;--dp4-text:#0f172a;--dp4-muted:#64748b;--dp4-green:#16a34a;--dp4-green-soft:#dcfce7;--dp4-blue:#2563eb;--dp4-blue-soft:#dbeafe;--dp4-red:#dc2626;--dp4-red-soft:#fee2e2;--dp4-gray:#94a3b8;--dp4-gray-soft:#f8fafc;--dp4-radius:12px;--dp4-radius-sm:8px;--dp4-shadow:0 1px 3px #0f172a14;--dp4-header-h:52px;--dp4-footer-h:80px;--dp4-touch:52px;--dp4-font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;background:var(--dp4-bg);height:100dvh;max-height:100dvh;color:var(--dp4-text);font-family:var(--dp4-font);-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-direction:column;font-size:17px;line-height:1.45;display:flex;position:relative;overflow:hidden}.dp4-shell-inner{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dp4-app-header{min-height:var(--dp4-header-h);background:var(--dp4-surface);border-bottom:1px solid var(--dp4-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.dp4-app-brand{align-items:center;gap:10px;min-width:0;display:flex}.dp4-app-logo{border-radius:var(--dp4-radius-sm);-o-object-fit:cover;object-fit:cover;flex-shrink:0;width:36px;height:36px}.dp4-app-logo--fallback{background:var(--dp4-blue-soft);color:var(--dp4-blue);justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.dp4-app-school{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:600;overflow:hidden}.dp4-btn-logout{border:1px solid var(--dp4-border);border-radius:var(--dp4-radius-sm);background:var(--dp4-surface);color:var(--dp4-muted);cursor:pointer;flex-shrink:0;padding:8px 14px;font-size:14px;font-weight:600}.dp4-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dp4-screen{-webkit-overflow-scrolling:touch;min-height:0;padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));flex:1;overflow-y:auto}.dp4-screen--center{justify-content:center;align-items:center;display:flex}.dp4-loading,.dp4-muted{color:var(--dp4-muted);margin:0}.dp4-empty{text-align:center;padding:32px 16px}.dp4-active{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dp4-active-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:10px 12px 16px;overflow:hidden auto}.dp4-active--has-footer .dp4-active-scroll{padding-bottom:calc(var(--dp4-footer-h) + env(safe-area-inset-bottom,0px) + 12px)}.dp4-trip-header{background:var(--dp4-surface);border-bottom:1px solid var(--dp4-border);flex-shrink:0;gap:10px;padding:12px 16px;display:grid}.dp4-trip-header-main{align-items:center;gap:12px;min-width:0;display:flex}.dp4-trip-header-stop{text-align:right;flex-shrink:0;line-height:1}.dp4-trip-header-stop-num{color:var(--dp4-blue);font-size:28px;font-weight:800}.dp4-trip-header-stop-of{color:var(--dp4-muted);font-size:14px;font-weight:600}.dp4-driver-avatar{background:var(--dp4-blue-soft);width:40px;height:40px;color:var(--dp4-blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.dp4-trip-header-info{flex:1;min-width:0}.dp4-trip-header-name{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:700;overflow:hidden}.dp4-trip-header-meta{color:var(--dp4-muted);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:13px;overflow:hidden}.dp4-trip-header-badges{flex-wrap:wrap;gap:6px;display:flex}.dp4-badge{border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.dp4-badge--green{background:var(--dp4-green-soft);color:var(--dp4-green)}.dp4-badge--red{background:var(--dp4-red-soft);color:var(--dp4-red)}.dp4-badge--blue{background:var(--dp4-blue-soft);color:var(--dp4-blue)}.dp4-badge--neutral{background:var(--dp4-gray-soft);color:var(--dp4-muted)}.dp4-trip-progress-text{color:var(--dp4-muted);margin:0;font-size:13px}.dp4-progress-block{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);box-shadow:var(--dp4-shadow);margin-bottom:14px;padding:14px 16px}.dp4-progress-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.dp4-progress-title{text-transform:uppercase;letter-spacing:.05em;color:var(--dp4-muted);font-size:12px;font-weight:700}.dp4-progress-count{color:var(--dp4-text);font-size:13px;font-weight:600}.dp4-progress-bar{background:var(--dp4-border);border-radius:999px;height:6px;margin-bottom:12px;overflow:hidden}.dp4-progress-bar-fill{background:linear-gradient(90deg, var(--dp4-green), var(--dp4-blue));border-radius:999px;height:100%;transition:width .3s}.dp4-progress-steps{justify-content:space-between;align-items:center;gap:4px;display:flex}.dp4-progress-step{flex:1;justify-content:center;display:flex}.dp4-progress-step-dot{border:2px solid var(--dp4-border);background:var(--dp4-surface);width:28px;height:28px;color:var(--dp4-muted);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.dp4-progress-step--done .dp4-progress-step-dot{background:var(--dp4-green);border-color:var(--dp4-green);color:#fff;font-size:13px}.dp4-progress-step--current .dp4-progress-step-dot{background:var(--dp4-blue);border-color:var(--dp4-blue);color:#fff;box-shadow:0 0 0 3px var(--dp4-blue-soft)}.dp4-progress-current{color:var(--dp4-text);text-align:center;margin:10px 0 0;font-size:14px;font-weight:600;line-height:1.35}.dp4-workflow-strip{gap:10px;margin-bottom:14px;display:grid}.dp4-workflow-label{text-transform:uppercase;letter-spacing:.05em;color:var(--dp4-muted);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.dp4-workflow-chips{flex-wrap:wrap;gap:6px;display:flex}.dp4-workflow-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:100%;padding:6px 10px;font-size:12px;font-weight:600;display:inline-block;overflow:hidden}.dp4-workflow-chip--done{background:var(--dp4-green-soft);color:#166534}.dp4-workflow-chip--locked{background:var(--dp4-gray-soft);color:var(--dp4-muted);border:1px dashed var(--dp4-border)}.dp4-current-stop{background:var(--dp4-surface);border:2px solid var(--dp4-blue);border-radius:var(--dp4-radius);overflow:hidden;box-shadow:0 4px 16px #2563eb1f}.dp4-current-stop-head{background:linear-gradient(180deg, var(--dp4-blue-soft) 0%, var(--dp4-surface) 100%);border-bottom:1px solid var(--dp4-border);align-items:flex-start;gap:14px;padding:16px;display:flex}.dp4-current-stop-badge{background:var(--dp4-blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:800;display:flex}.dp4-current-stop-text{flex:1;min-width:0}.dp4-current-stop-step{text-transform:uppercase;letter-spacing:.08em;color:var(--dp4-blue);margin:0 0 4px;font-size:11px;font-weight:800}.dp4-current-stop-name{color:var(--dp4-text);word-break:break-word;margin:0;font-size:20px;font-weight:800;line-height:1.3}.dp4-current-stop-meta{color:var(--dp4-muted);margin:6px 0 0;font-size:14px;line-height:1.4}.dp4-student-mobile{display:none}.dp4-student-desktop{display:block}.dp4-empty-students{text-align:center;color:var(--dp4-muted);margin:0;padding:24px 16px;font-size:15px}.dp4-student-card{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius-sm);padding:14px}.dp4-student-card--done{background:var(--dp4-gray-soft);opacity:.92}.dp4-student-card-main{align-items:center;gap:12px;margin-bottom:12px;display:flex}.dp4-student-photo--lg{width:48px;height:48px;font-size:16px}.dp4-student-card-info{flex:1;min-width:0}.dp4-student-card-name{word-break:break-word;margin:0;font-size:17px;font-weight:700;line-height:1.25}.dp4-student-card-class{color:var(--dp4-muted);margin:4px 0 0;font-size:14px}.dp4-student-card-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dp4-student-card-status{text-align:center;border-radius:var(--dp4-radius-sm);text-transform:uppercase;padding:12px;font-size:14px;font-weight:800}.dp4-student-card-status--ok{background:var(--dp4-green-soft);color:var(--dp4-green)}.dp4-student-card-status--absent{background:var(--dp4-red-soft);color:var(--dp4-red)}.dp4-btn--touch{min-height:var(--dp4-touch);border-radius:var(--dp4-radius-sm);width:100%;font-size:15px;font-weight:800}.dp4-student-section-head{background:var(--dp4-gray-soft);border-bottom:1px solid var(--dp4-border);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.dp4-student-section-head h3{text-transform:uppercase;letter-spacing:.04em;color:var(--dp4-text);margin:0;font-size:13px;font-weight:700}.dp4-student-pending{color:#b45309;background:#fef3c7;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.dp4-student-done{color:var(--dp4-green);font-size:12px;font-weight:700}.dp4-current-hint{color:var(--dp4-muted);text-align:center;border-top:1px solid var(--dp4-border);margin:0;padding:12px 16px 16px;font-size:14px}.dp4-action-bar{z-index:40;padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom));background:var(--dp4-surface);border-top:1px solid var(--dp4-border);flex-direction:column;flex-shrink:0;gap:10px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 20px #0f172a1a}.dp4-action-bar-info{min-width:0}.dp4-btn--complete-bar{width:100%;min-height:var(--dp4-touch);background:var(--dp4-blue);color:#fff;border-radius:var(--dp4-radius);cursor:pointer;touch-action:manipulation;letter-spacing:.02em;border:none;padding:14px 20px;font-size:17px;font-weight:800}.dp4-action-bar-label{text-transform:uppercase;letter-spacing:.06em;color:var(--dp4-muted);font-size:10px;font-weight:700;display:block}.dp4-action-bar-next{color:var(--dp4-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;display:block;overflow:hidden}.dp4-btn--complete-bar:disabled{opacity:.45;cursor:not-allowed}.dp4-student-section{padding:0}.dp4-progress-track-inner{align-items:flex-start;gap:0;min-width:min-content;display:flex}.dp4-progress-node{flex-direction:column;flex-shrink:0;align-items:center;min-width:72px;max-width:96px;display:flex}.dp4-progress-dot{border:2px solid var(--dp4-gray);background:var(--dp4-surface);border-radius:50%;flex-shrink:0;width:14px;height:14px}.dp4-progress-node--done .dp4-progress-dot{background:var(--dp4-green);border-color:var(--dp4-green)}.dp4-progress-node--current .dp4-progress-dot{background:var(--dp4-blue);border-color:var(--dp4-blue);box-shadow:0 0 0 3px var(--dp4-blue-soft)}.dp4-progress-label{text-align:center;color:var(--dp4-muted);word-break:break-word;margin-top:6px;font-size:11px;font-weight:600;line-height:1.2}.dp4-progress-node--done .dp4-progress-label{color:var(--dp4-green)}.dp4-progress-node--current .dp4-progress-label{color:var(--dp4-blue)}.dp4-progress-connector{background:var(--dp4-border);flex:1;align-self:flex-start;min-width:16px;height:2px;margin-top:6px}.dp4-progress-connector--done{background:var(--dp4-green)}.dp4-stop-list{flex-direction:column;gap:10px;display:flex}.dp4-stop-card{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);box-shadow:var(--dp4-shadow);overflow:hidden}.dp4-stop-card--done{opacity:.85}.dp4-stop-card--locked{opacity:.6}.dp4-stop-card--current{border-color:var(--dp4-blue);box-shadow:0 0 0 1px var(--dp4-blue-soft)}.dp4-stop-collapsed{align-items:center;gap:12px;padding:14px 16px;display:flex}.dp4-stop-icon{text-align:center;flex-shrink:0;width:24px;font-size:16px}.dp4-stop-collapsed-title{margin:0;font-size:15px;font-weight:600}.dp4-stop-collapsed-meta{color:var(--dp4-muted);margin:2px 0 0;font-size:13px}.dp4-stop-head{border-bottom:1px solid var(--dp4-border);padding:16px 16px 12px}.dp4-stop-kicker{color:var(--dp4-blue);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:12px;font-weight:700}.dp4-stop-name{margin:0;font-size:20px;font-weight:700;line-height:1.25}.dp4-stop-meta{color:var(--dp4-muted);margin:6px 0 0;font-size:14px}.dp4-boot-msg{text-align:center;color:var(--dp4-muted);margin:0;padding:24px 16px;font-size:15px}.dp4-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.dp4-student-table{border-collapse:collapse;width:100%;font-size:14px}.dp4-student-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--dp4-muted);background:var(--dp4-surface);border-bottom:2px solid var(--dp4-border);white-space:nowrap;z-index:1;padding:12px 10px;font-size:10px;font-weight:800;position:sticky;top:0}.dp4-student-table td{border-bottom:1px solid var(--dp4-border);vertical-align:middle;padding:14px 10px}.dp4-student-row--done{background:#fafafa}.dp4-student-cell--photo{width:48px}.dp4-student-cell--name{min-width:100px;font-weight:600}.dp4-student-cell--action{width:88px}.dp4-student-photo{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:40px;height:40px;display:block}.dp4-student-photo--fallback{background:var(--dp4-blue-soft);color:var(--dp4-blue);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.dp4-student-status{text-transform:uppercase;font-size:12px;font-weight:700}.dp4-student-status--ok{color:var(--dp4-green)}.dp4-student-status--absent{color:var(--dp4-red)}.dp4-student-status--muted{color:var(--dp4-muted);text-transform:none;font-weight:400}.dp4-empty-cell{text-align:center;color:var(--dp4-muted);padding:24px!important}.dp4-btn{border-radius:var(--dp4-radius-sm);cursor:pointer;touch-action:manipulation;border:none;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:12px 20px;font-size:15px;font-weight:700;transition:opacity .15s;display:inline-flex}.dp4-btn:disabled{opacity:.45;cursor:not-allowed}.dp4-btn--sm{min-width:72px;min-height:44px;padding:10px 12px;font-size:12px;font-weight:800}.dp4-btn--primary{background:var(--dp4-blue);color:#fff}.dp4-btn--pick{background:var(--dp4-green);color:#fff}.dp4-btn--absent{background:var(--dp4-surface);color:var(--dp4-red);border:1px solid var(--dp4-red)}.dp4-btn--danger{background:var(--dp4-red);color:#fff}.dp4-btn--ghost{background:var(--dp4-gray-soft);color:var(--dp4-text)}.dp4-btn--complete{background:var(--dp4-blue);color:#fff;width:calc(100% - 32px);min-height:56px;margin:16px;font-size:17px}.dp4-btn--xl{width:100%;min-height:56px;font-size:17px}.dp4-home-actions{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px;display:grid}.dp4-modal--cancel{width:calc(100% - 32px);max-width:420px}.dp4-modal--start{width:calc(100% - 32px);max-width:420px;max-height:90vh;overflow-y:auto}.dp4-start-details{gap:12px;margin:0 0 16px;display:grid}.dp4-start-detail{background:var(--dp4-bg,#f8fafc);border-radius:10px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.dp4-start-detail dt{color:var(--dp4-muted);margin:0;font-size:13px;font-weight:600}.dp4-start-detail dd{color:var(--dp4-text);text-align:right;margin:0;font-size:14px;font-weight:700}.dp4-start-flow{border-left:3px solid var(--dp4-blue);color:var(--dp4-muted);background:var(--dp4-bg,#f8fafc);border-radius:0 8px 8px 0;margin:0 0 16px;padding:10px 12px;font-size:13px}.dp4-modal-sub{color:var(--dp4-muted);margin:0 0 14px;font-size:14px;line-height:1.45}.dp4-cancel-options{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.dp4-cancel-option{border:1px solid var(--dp4-border);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.dp4-cancel-option:has(input:checked){border-color:var(--dp4-blue);background:#2563eb0f}.dp4-cancel-comment-label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.dp4-cancel-comment{border:1px solid var(--dp4-border);width:100%;min-height:84px;font:inherit;resize:vertical;border-radius:10px;margin-bottom:14px;padding:10px 12px}.dp4-modal-actions--stack{flex-direction:column}.dp4-modal-actions--stack .dp4-btn{width:100%}.dp4-btn--start{background:var(--dp4-green);color:#fff}.dp4-nav-footer{padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom));background:var(--dp4-surface);border-top:1px solid var(--dp4-border);flex-shrink:0;grid-template-columns:1fr 1.2fr 1fr;gap:8px;display:grid;box-shadow:0 -2px 8px #0f172a0f}.dp4-nav-footer-btn{border:1px solid var(--dp4-border);border-radius:var(--dp4-radius-sm);background:var(--dp4-surface);min-height:52px;color:var(--dp4-muted);cursor:pointer;touch-action:manipulation;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 6px;font-size:11px;font-weight:600;display:flex}.dp4-nav-footer-btn strong{color:var(--dp4-text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;overflow:hidden}.dp4-nav-footer-btn--primary{background:var(--dp4-blue);border-color:var(--dp4-blue);color:#fff}.dp4-nav-footer-btn--primary strong{color:#fff}.dp4-nav-footer-btn:disabled{opacity:.4;cursor:not-allowed}.dp4-hero{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);box-shadow:var(--dp4-shadow);margin-bottom:20px;padding:20px}.dp4-hero-row{align-items:flex-start;gap:16px;display:flex}.dp4-hero-name{margin:0;font-size:22px;font-weight:700}.dp4-hero-line{color:var(--dp4-muted);margin:4px 0 0;font-size:14px}.dp4-section{margin-bottom:24px}.dp4-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--dp4-muted);margin:0 0 12px;font-size:13px;font-weight:700}.dp4-trip-list{flex-direction:column;gap:10px;display:flex}.dp4-trip-card{border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);background:var(--dp4-surface);text-align:left;cursor:pointer;width:100%;box-shadow:var(--dp4-shadow);touch-action:manipulation;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;display:flex}.dp4-trip-card:disabled{opacity:.5;cursor:not-allowed}.dp4-trip-card--live{border-color:var(--dp4-green);background:var(--dp4-green-soft)}.dp4-trip-card-type{text-transform:uppercase;letter-spacing:.05em;color:var(--dp4-muted);font-size:11px;font-weight:700}.dp4-trip-card-name{color:var(--dp4-text);font-size:17px;font-weight:700}.dp4-trip-card-meta{color:var(--dp4-muted);font-size:13px}.dp4-lock-hint{color:var(--dp4-muted);margin:0 0 10px;font-size:13px}.dp4-link-back{color:var(--dp4-blue);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:16px;padding:0;font-size:15px;font-weight:600;display:inline-flex}.dp4-prep-card{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);text-align:center;box-shadow:var(--dp4-shadow);margin-bottom:20px;padding:24px}.dp4-prep-route{margin:8px 0;font-size:24px;font-weight:700}.dp4-prep-chip{background:var(--dp4-blue-soft);color:var(--dp4-blue);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-block}.dp4-info-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.dp4-info-item{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius-sm);padding:14px}.dp4-info-label{text-transform:uppercase;color:var(--dp4-muted);margin:0 0 4px;font-size:11px;font-weight:700}.dp4-info-value{margin:0;font-size:18px;font-weight:700}.dp4-sticky-action{padding-top:16px;position:sticky;bottom:0}.dp4-summary{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);box-shadow:var(--dp4-shadow);margin-top:16px;padding:20px}.dp4-summary-title{margin:0 0 16px;font-size:18px;font-weight:700}.dp4-summary-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.dp4-summary-stat{background:var(--dp4-gray-soft);border-radius:var(--dp4-radius-sm);padding:12px}.dp4-summary-stat-label{text-transform:uppercase;color:var(--dp4-muted);margin:0 0 4px;font-size:11px;font-weight:700}.dp4-summary-stat-value{margin:0;font-size:22px;font-weight:700}.dp4-modal-backdrop{z-index:200;background:#0f172a80;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.dp4-modal{width:100%;max-width:480px;padding:24px 20px;padding-bottom:max(24px, env(safe-area-inset-bottom));background:var(--dp4-surface);border-radius:var(--dp4-radius) var(--dp4-radius) 0 0;box-shadow:0 -8px 32px #0f172a33}.dp4-modal-title{text-align:center;margin:0 0 20px;font-size:18px;font-weight:700}.dp4-modal-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dp4-modal-actions .dp4-btn{min-height:var(--dp4-touch);font-size:16px}.dp4-success-card{text-align:center;background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);width:100%;max-width:400px;box-shadow:var(--dp4-shadow);padding:32px 24px}.dp4-success-icon{margin:0 0 12px;font-size:48px}.dp4-success-title{margin:0 0 8px;font-size:22px;font-weight:700}.dp4-banner{z-index:50;background:var(--dp4-red-soft);color:var(--dp4-red);margin:0;padding:12px 16px;font-size:14px;font-weight:600;position:relative}.dp4-sync-bar{z-index:200;background:linear-gradient(90deg, var(--dp4-blue), var(--dp4-green));height:3px;animation:1s ease-in-out infinite dp4-sync;position:fixed;top:0;left:0;right:0}@keyframes dp4-sync{0%,to{opacity:.4}50%{opacity:1}}@media (max-width:639px){.dp4-app-header{min-height:48px;padding:8px 12px}.dp4-app-school{max-width:140px;font-size:13px}.dp4-btn-logout{min-height:40px;padding:8px 12px;font-size:13px}.dp4-screen{padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom))}.dp4-trip-header{gap:8px;padding:10px 12px}.dp4-trip-header-name{font-size:16px}.dp4-trip-header-meta{font-size:12px}.dp4-trip-header-stop-num{font-size:24px}.dp4-trip-columns{gap:8px}.dp4-trip-column{padding:10px}.dp4-trip-btn{min-height:64px;padding:12px 14px}.dp4-trip-btn-route{font-size:15px}.dp4-driver-avatar{width:36px;height:36px;font-size:13px}.dp4-badge{padding:3px 8px;font-size:11px}.dp4-progress-block{margin-bottom:10px;padding:12px}.dp4-progress-step-dot{width:24px;height:24px;font-size:10px}.dp4-progress-current{text-align:left;padding:0 2px;font-size:13px}.dp4-workflow-chip{max-width:100%;font-size:11px}.dp4-current-stop{border-radius:var(--dp4-radius-sm);border-width:2px}.dp4-student-desktop{display:none}.dp4-student-mobile{flex-direction:column;gap:10px;padding:12px;display:flex}.dp4-student-section-head{padding:10px 12px}.dp4-student-section-head h3{font-size:12px}.dp4-current-hint{padding:10px 12px 14px;font-size:13px}.dp4-hero{padding:16px}.dp4-hero-name{font-size:20px}.dp4-trip-card{min-height:72px;padding:18px 16px}.dp4-trip-card-name{font-size:18px}.dp4-btn--xl{min-height:56px;font-size:18px}.dp4-prep-route{font-size:22px}.dp4-info-grid{grid-template-columns:1fr 1fr;gap:10px}.dp4-summary-grid{grid-template-columns:1fr 1fr}}@media (min-width:640px){.dp4-action-bar{flex-direction:row;align-items:center;padding:12px 16px}.dp4-action-bar-info{flex:1}.dp4-btn--complete-bar{flex-shrink:0;width:auto;min-width:180px}.dp4-modal-backdrop{align-items:center;padding:24px}.dp4-modal{border-radius:var(--dp4-radius);padding-bottom:24px}}@media (min-width:768px){.dp4-screen,.dp4-active-scroll{padding-left:24px;padding-right:24px}.dp4-info-grid,.dp4-summary-grid{grid-template-columns:repeat(4,1fr)}.dp4-nav-footer{border-radius:var(--dp4-radius) var(--dp4-radius) 0 0;width:100%;max-width:720px;margin:0 auto}.dp4-stop-card--current .dp4-student-table{font-size:15px}}.dp4-driver-avatar--lg{width:56px;height:56px;font-size:18px}.dp4-home{flex-direction:column;gap:16px;display:flex}.dp4-profile-card{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);box-shadow:var(--dp4-shadow);padding:18px}.dp4-profile-top{border-bottom:1px solid var(--dp4-border);align-items:center;gap:14px;margin-bottom:16px;padding-bottom:16px;display:flex}.dp4-profile-info{flex:1;min-width:0}.dp4-profile-name{margin:0;font-size:22px;font-weight:800;line-height:1.2}.dp4-profile-id{color:var(--dp4-muted);margin:6px 0 0;font-size:15px;font-weight:600}.dp4-profile-vehicle{gap:10px;display:grid}.dp4-profile-row{justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex}.dp4-profile-row span{color:var(--dp4-muted)}.dp4-profile-row strong{color:var(--dp4-text);text-align:right}.dp4-trip-select-title{text-transform:uppercase;letter-spacing:.06em;color:var(--dp4-muted);margin:0 0 12px;font-size:13px;font-weight:800}.dp4-trip-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.dp4-trip-column{border-radius:var(--dp4-radius);border:1px solid var(--dp4-border);background:color-mix(in srgb, var(--dp4-surface) 92%, var(--dp4-bg) 8%);min-width:0;padding:12px}.dp4-trip-column--morning{border-top:3px solid #f59e0b}.dp4-trip-column--evening{border-top:3px solid #6366f1}.dp4-trip-column-title{text-transform:uppercase;letter-spacing:.08em;color:var(--dp4-muted);margin:0 0 10px;font-size:12px;font-weight:800}.dp4-trip-buttons{flex-direction:column;gap:10px;display:flex}.dp4-trip-btn{border:2px solid var(--dp4-border);border-radius:var(--dp4-radius);background:var(--dp4-surface);text-align:left;cursor:pointer;touch-action:manipulation;width:100%;min-height:72px;box-shadow:var(--dp4-shadow);flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;display:flex}.dp4-trip-btn--live{border-color:var(--dp4-green);background:var(--dp4-green-soft)}.dp4-trip-btn--locked{opacity:.55;cursor:not-allowed}.dp4-trip-btn-num{text-transform:uppercase;letter-spacing:.06em;color:var(--dp4-blue);font-size:12px;font-weight:800}.dp4-trip-btn-route{color:var(--dp4-text);word-break:break-word;font-size:18px;font-weight:800;line-height:1.25}.dp4-trip-btn-meta{color:var(--dp4-muted);font-size:13px;font-weight:600}.dp4-trip-btn-lock{color:var(--dp4-amber,#b45309);text-transform:uppercase;letter-spacing:.02em;margin-top:4px;font-size:11px;font-weight:700}.dp4-trip-starting{text-align:center;margin-bottom:8px}.dp4-app-header--minimal{justify-content:space-between}.dp4-app-title{color:var(--dp4-text);margin:0;font-size:15px;font-weight:800}.dp4-app-header-left{flex:1;min-width:0}.dp4-btn-home{border:1px solid var(--dp4-border);border-radius:var(--dp4-radius-sm);background:var(--dp4-gray-soft);color:var(--dp4-blue);cursor:pointer;padding:8px 12px;font-size:14px;font-weight:700}.dp4-breadcrumb{color:var(--dp4-muted);background:var(--dp4-gray-soft);border-bottom:1px solid var(--dp4-border);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600;overflow:hidden}.dp4-trip-focus{background:var(--dp4-surface);border-bottom:1px solid var(--dp4-border);flex-shrink:0;padding:14px 16px 12px}.dp4-trip-focus-type{text-transform:uppercase;letter-spacing:.06em;color:var(--dp4-muted);margin:0;font-size:12px;font-weight:700}.dp4-trip-focus-stop{color:var(--dp4-text);word-break:break-word;margin:6px 0 0;font-size:20px;font-weight:800;line-height:1.25}.dp4-trip-focus-meta{color:var(--dp4-muted);margin:6px 0 0;font-size:14px;font-weight:600}.dp4-trip-bar{background:var(--dp4-blue);color:#fff;flex-shrink:0;padding:14px 16px}.dp4-trip-bar-type{text-transform:uppercase;letter-spacing:.08em;opacity:.9;margin:0;font-size:11px;font-weight:800}.dp4-trip-bar-route{margin:4px 0 0;font-size:20px;font-weight:800;line-height:1.25}.dp4-trip-bar-stop{opacity:.95;word-break:break-word;margin:8px 0 0;font-size:14px;font-weight:600;line-height:1.35}.dp4-students-panel{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);box-shadow:var(--dp4-shadow);overflow:hidden}.dp4-students-panel-title{text-transform:uppercase;letter-spacing:.04em;background:var(--dp4-gray-soft);border-bottom:1px solid var(--dp4-border);justify-content:space-between;align-items:center;gap:8px;margin:0;padding:14px 16px;font-size:14px;font-weight:800;display:flex}.dp4-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.dp4-student-table--full{min-width:100%}.dp4-end-panel{background:var(--dp4-surface);border:1px solid var(--dp4-border);border-radius:var(--dp4-radius);text-align:center;box-shadow:var(--dp4-shadow);padding:24px 18px}.dp4-end-panel-title{margin:0 0 8px;font-size:22px;font-weight:800}.dp4-end-stats{text-align:left;gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.dp4-end-stats li{background:var(--dp4-gray-soft);border-radius:var(--dp4-radius-sm);padding:12px 14px;font-size:15px}.dp4-btn--end-trip{background:var(--dp4-green);color:#fff;border-radius:var(--dp4-radius);cursor:pointer;touch-action:manipulation;border:none;width:100%;min-height:56px;font-size:18px;font-weight:800}.dp4-btn--end-trip:disabled{opacity:.45;cursor:not-allowed}@media (min-width:1024px){.dp4-active-scroll,.dp4-screen{width:100%;max-width:720px;margin:0 auto}.dp4-action-bar{border-radius:var(--dp4-radius) var(--dp4-radius) 0 0;width:100%;max-width:720px;margin:0 auto}}.dbc-screen{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:28px;min-height:0;padding:24px 20px 40px;display:flex;overflow-y:auto}.dbc-screen--center{justify-content:center}.dbc-hero{text-align:center;width:100%;max-width:420px}.dbc-status-pill{background:var(--dp4-gray-soft);color:var(--dp4-muted);border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.dbc-status-pill--live{background:var(--dp4-green-soft);color:var(--dp4-green)}.dbc-status-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.dbc-status-pill--live .dbc-status-dot{animation:1.4s ease-in-out infinite dbc-pulse}@keyframes dbc-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.dbc-icon-wrap{background:linear-gradient(145deg, var(--dp4-blue-soft), #eff6ff);width:88px;height:88px;color:var(--dp4-blue);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.dbc-title{letter-spacing:-.02em;margin:0 0 8px;font-size:28px;font-weight:700}.dbc-sub{color:var(--dp4-muted);margin:0;font-size:16px;line-height:1.5}.dbc-actions{grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:480px;display:grid}.dbc-btn{letter-spacing:.02em;cursor:pointer;touch-action:manipulation;border:none;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:120px;padding:20px 16px;font-size:20px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 8px 24px #0f172a1f}.dbc-btn:active:not(:disabled){transform:scale(.97)}.dbc-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.dbc-btn--start{color:#fff;background:linear-gradient(160deg,#22c55e,#16a34a)}.dbc-btn--stop{color:#fff;background:linear-gradient(160deg,#ef4444,#dc2626)}.dbc-muted{color:var(--dp4-muted)}.dbc-sync-hint{color:var(--dp4-muted);margin:0;font-size:13px}.dbc-students{flex-direction:column;gap:12px;width:100%;max-width:520px;display:flex}.dbc-students-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dbc-students-title{color:var(--dp4-text,#0f172a);align-items:center;gap:8px;display:flex}.dbc-students-title h2{margin:0;font-size:18px;font-weight:700}.dbc-students-count{background:var(--dp4-blue-soft,#dbeafe);min-width:28px;height:28px;color:var(--dp4-blue,#2563eb);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.dbc-students-sub{color:var(--dp4-muted);margin:0;font-size:13px}.dbc-students-empty{background:var(--dp4-gray-soft,#f1f5f9);text-align:center;border-radius:16px;padding:16px}.dbc-students-empty p{margin:0}.dbc-students-empty p+p{margin-top:6px}.dbc-students-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dbc-student-card{background:#fff;border:1px solid #0f172a14;border-radius:16px;grid-template-columns:1.2fr 1fr;gap:10px;padding:14px 16px;display:grid;box-shadow:0 4px 14px #0f172a0d}.dbc-student-name{color:var(--dp4-text,#0f172a);margin:0 0 4px;font-size:15px;font-weight:700}.dbc-student-stop{color:var(--dp4-text,#0f172a);text-align:right;margin:0 0 4px;font-size:14px;font-weight:600}.dbc-student-meta{color:var(--dp4-muted);margin:0;font-size:12px;line-height:1.4}.dbc-student-side .dbc-student-meta{text-align:right}.dbc-trips{flex-direction:column;gap:12px;width:100%;max-width:520px;display:flex}.dbc-trips-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dbc-trips-title{align-items:center;gap:8px;display:flex}.dbc-trips-title h2{margin:0;font-size:18px;font-weight:700}.dbc-trips-add{background:var(--dp4-blue,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.dbc-trips-sub{color:var(--dp4-muted);margin:0;font-size:13px}.dbc-trips-empty{background:var(--dp4-gray-soft,#f1f5f9);text-align:center;border-radius:16px;padding:14px 16px}.dbc-trips-empty p{margin:0}.dbc-trips-empty p+p{margin-top:6px}.dbc-trips-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dbc-trip-row{align-items:stretch;gap:8px;display:flex}.dbc-trip-live-check{cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.dbc-trip-live-check input{width:20px;height:20px;accent-color:var(--dp4-blue,#2563eb)}.dbc-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dbc-trip-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #0f172a14;border-radius:16px;flex:1;justify-content:space-between;align-items:center;gap:12px;width:auto;min-width:0;padding:14px 16px;display:flex;box-shadow:0 4px 14px #0f172a0d}.dbc-trip-name{margin:0 0 4px;font-size:15px;font-weight:700}.dbc-trip-meta{color:var(--dp4-muted);margin:0;font-size:12px}.dbc-trip-edit{color:var(--dp4-blue,#2563eb);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.dbc-modal-backdrop{z-index:80;background:#0f172a73;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.dbc-modal{background:#fff;border-radius:20px 20px 16px 16px;flex-direction:column;gap:14px;width:min(520px,100%);max-height:min(88vh,760px);padding:18px 16px 16px;display:flex;overflow:auto;box-shadow:0 20px 50px #0f172a40}.dbc-modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dbc-modal-head h3{margin:0;font-size:18px;font-weight:700}.dbc-modal-close{background:var(--dp4-gray-soft,#f1f5f9);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.dbc-field{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.dbc-field input{border:1px solid #0f172a1f;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:500}.dbc-roster-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.dbc-roster-head p{margin:0;font-size:14px;font-weight:700}.dbc-roster-head span{color:var(--dp4-muted);font-size:12px}.dbc-roster-list{flex-direction:column;gap:8px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.dbc-roster-item{cursor:pointer;background:#fff;border:1px solid #0f172a14;border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.dbc-roster-item--checked{background:#eff6ff;border-color:#2563eb59}.dbc-roster-item--locked{opacity:.7;cursor:not-allowed;background:var(--dp4-gray-soft,#f8fafc)}.dbc-roster-item input{margin-top:3px}.dbc-roster-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dbc-roster-name{font-size:14px;font-weight:700}.dbc-roster-meta,.dbc-roster-lock{color:var(--dp4-muted);font-size:12px}.dbc-roster-lock{color:#b45309;font-weight:600}.dbc-modal-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.dbc-modal-actions-right{gap:8px;display:flex}.dbc-modal-btn{cursor:pointer;border:none;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:700}.dbc-modal-btn:disabled{opacity:.5;cursor:not-allowed}.dbc-modal-btn--primary{background:var(--dp4-blue,#2563eb);color:#fff}.dbc-modal-btn--ghost{background:var(--dp4-gray-soft,#f1f5f9);color:var(--dp4-text,#0f172a)}.dbc-modal-btn--danger{color:#b91c1c;background:#fee2e2}@media (min-width:640px){.dbc-modal-backdrop{align-items:center}.dbc-modal{border-radius:20px}}@media (max-width:400px){.dbc-actions{grid-template-columns:1fr;max-width:280px}.dbc-btn{flex-direction:row;min-height:88px;font-size:18px}.dbc-student-card{grid-template-columns:1fr}.dbc-student-stop,.dbc-student-side .dbc-student-meta{text-align:left}}@media (min-width:768px){.dbc-btn{min-height:140px;font-size:22px}.dbc-title{font-size:32px}}
.ltp-shell{--ltp-bg:#0b0f14;--ltp-surface:#121a26;--ltp-surface-2:#1a2433;--ltp-border:#ffffff14;--ltp-text:#f1f5f9;--ltp-muted:#94a3b8;--ltp-accent:#3b82f6;--ltp-live:#10b981;--ltp-warn:#f59e0b;--ltp-danger:#ef4444;background:var(--ltp-bg);min-height:100%;color:var(--ltp-text);flex-direction:column;display:flex}.ltp-header{border-bottom:1px solid var(--ltp-border);background:linear-gradient(180deg, #1a2433f2 0%, var(--ltp-bg) 100%);flex-shrink:0;padding:16px 20px 12px}.ltp-back{color:var(--ltp-muted);align-items:center;gap:6px;margin-bottom:14px;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.ltp-back:hover{color:var(--ltp-text)}.ltp-header-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ltp-header-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:800}.ltp-header-sub{color:var(--ltp-muted);max-width:52ch;margin:6px 0 0;font-size:13px;line-height:1.45}.ltp-vehicle-badge{background:var(--ltp-surface-2);border:1px solid var(--ltp-border);letter-spacing:.04em;border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.ltp-live-badge{letter-spacing:.06em;text-transform:uppercase;color:#6ee7b7;background:#10b9811f;border:1px solid #10b98159;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;font-size:11px;font-weight:800;display:inline-flex}.ltp-live-badge--stale{color:#fcd34d;background:#f59e0b1f;border-color:#f59e0b59}.ltp-live-badge--offline{color:#cbd5e1;background:#94a3b81a;border-color:#94a3b840}.ltp-pulse{background:currentColor;border-radius:999px;width:8px;height:8px;animation:1.5s ease-in-out infinite ltp-pulse}@keyframes ltp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.ltp-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 20px 24px;display:flex;overflow-y:auto}.ltp-panel.lt-panel--page{background:0 0;border:none;gap:0;padding:0}.lt-panel--page .lt-page-map{border:1px solid var(--ltp-border);background:#0f172a;border-radius:16px;min-height:min(52vh,420px);position:relative;overflow:hidden;box-shadow:0 12px 40px #00000059}.lt-panel--page .lt-map-wrap{background:0 0;border:none;border-radius:0;min-height:min(52vh,420px)}.lt-panel--page .lt-map-iframe{height:min(52vh,420px);min-height:280px}.lt-panel--page .lt-route-map{display:none}.lt-page-map-overlay{z-index:2;pointer-events:none;flex-wrap:wrap;gap:8px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.lt-page-map-chip{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ltp-text);background:#0b0f14e0;border:1px solid #ffffff1a;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600}.lt-page-map-chip span{text-transform:uppercase;letter-spacing:.05em;color:var(--ltp-muted);margin-bottom:2px;font-size:10px;font-weight:600;display:block}.lt-page-toolbar{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.lt-page-btn{cursor:pointer;border:1px solid var(--ltp-border);background:var(--ltp-surface);min-height:42px;color:var(--ltp-text);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.lt-page-btn:hover{background:var(--ltp-surface-2);border-color:#ffffff24}.lt-page-btn--primary{color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#3b82f680}.lt-page-btn--primary:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb)}.lt-page-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}@media (min-width:640px){.lt-page-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.lt-page-kpi{background:var(--ltp-surface);border:1px solid var(--ltp-border);border-radius:14px;padding:14px}.lt-page-kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ltp-muted);margin-bottom:6px;font-size:10px;font-weight:700}.lt-page-kpi-value{color:var(--ltp-text);word-break:break-word;font-size:15px;font-weight:700;line-height:1.3}.lt-page-kpi-value--accent{color:#93c5fd}.lt-page-progress{background:var(--ltp-surface);border:1px solid var(--ltp-border);border-radius:14px;margin-top:16px;padding:14px 16px}.lt-page-progress-head{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.lt-page-progress-bar{background:#ffffff14;border-radius:999px;height:8px;overflow:hidden}.lt-page-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#10b981,#34d399);height:100%;transition:width .3s}.lt-panel--page .lt-health{border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;font-size:13px;display:flex}.lt-page-route{background:var(--ltp-surface);border:1px solid var(--ltp-border);border-radius:16px;margin-top:16px;padding:16px}.lt-page-route-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ltp-muted);margin:0 0 14px;font-size:13px;font-weight:800}.lt-page-stops{flex-direction:column;gap:0;max-height:280px;display:flex;overflow-y:auto}.lt-page-stop{border-bottom:1px solid var(--ltp-border);grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid;position:relative}.lt-page-stop:last-child{border-bottom:none}.lt-page-stop-num{width:32px;height:32px;color:var(--ltp-muted);background:#ffffff0f;border-radius:10px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.lt-page-stop--active .lt-page-stop-num{color:#93c5fd;background:#3b82f633;box-shadow:0 0 0 2px #3b82f640}.lt-page-stop--done .lt-page-stop-num{color:#6ee7b7;background:#10b98126}.lt-page-stop-name{color:var(--ltp-text);font-size:14px;font-weight:600}.lt-page-stop-status{text-transform:uppercase;letter-spacing:.04em;color:var(--ltp-muted);background:#ffffff0f;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:700}.lt-page-stop--active .lt-page-stop-status{color:#93c5fd;background:#3b82f626}.lt-page-stop--done .lt-page-stop-status{color:#6ee7b7;background:#10b9811f}.lt-page-tech{border:1px solid var(--ltp-border);border-radius:12px;margin-top:12px;overflow:hidden}.lt-page-tech summary{color:var(--ltp-muted);cursor:pointer;background:var(--ltp-surface);padding:12px 14px;font-size:12px;font-weight:700;list-style:none}.lt-page-tech summary::-webkit-details-marker{display:none}.lt-page-tech-grid{background:#0003;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 14px 14px;font-size:12px;display:grid}.lt-page-tech-grid dt{color:var(--ltp-muted);text-transform:uppercase;font-size:10px}.lt-page-tech-grid dd{color:var(--ltp-text);margin:2px 0 8px;font-weight:600}@media (max-width:639px){.ltp-header,.ltp-body{padding-left:16px;padding-right:16px}.lt-page-toolbar .lt-page-btn{flex:calc(50% - 4px);min-width:0}}
