@import"https://fonts.googleapis.com/css2?family=Lato:wght@400;500;700;900&family=Quicksand:wght@500;600;700&display=swap";:root{--navy:#4B4F40;--deep:#0F6F68;--teal:#128178;--blue:#1B9B8C;--ink:#25291F;--muted:#687064;--canvas:#F3F5F1;--surface:#fff;--line:#D5DBD1;--soft:#E7F3EF;--success:#147D61;--warning:#8A5A00;--danger:#A8333A;--radius:12px;--shadow:0 10px 28px rgba(75,79,64,.10)}*{box-sizing:border-box}html,body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font-family:"Lato",Arial,sans-serif;overflow-x:hidden}body{line-height:1.55}a{color:var(--teal);font-weight:700}a:hover{color:var(--deep)}h1,h2,h3,h4,h5{color:var(--navy);font-family:"Quicksand","Lato",sans-serif;font-weight:700;letter-spacing:-0.025em}h1{font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.12;margin:0}h2{font-size:1.35rem}h3{font-size:1.05rem}.small{font-size:.875em}.text-muted{color:var(--muted) !important}.text-danger{color:var(--danger) !important}.app-shell{min-height:100vh}.nav-toggle,.mobile-nav-toggle{position:absolute;opacity:0;pointer-events:none}.app-topbar{height:72px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:30;box-shadow:0 3px 18px rgba(75,79,64,.22)}.topbar-inner{height:100%;max-width:1600px;margin:auto;display:flex;align-items:center;gap:1rem;padding:0 1.25rem}.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;flex-shrink:0}.brand:hover{color:#fff}.brand-mark{width:clamp(40px,6vw,48px);aspect-ratio:1;height:auto;object-fit:contain;background:#fff;padding:4px;border-radius:6px;display:block;flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font:700 1.12rem Quicksand}.brand-copy small{font-size:.54rem;letter-spacing:.2em;opacity:.72;margin-top:4px}.topbar-actions,.topbar-actions form{display:flex;align-items:center;gap:.65rem;margin-left:auto}.user-chip{display:flex;align-items:center;gap:.55rem;font-size:.85rem;color:#fff !important;text-decoration:none !important;padding:.32rem .55rem .32rem .35rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;transition:background .15s,border-color .15s,transform .15s}.user-chip:hover{color:#fff !important;text-decoration:none !important;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.38);transform:translateY(-1px)}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e5f1ed;color:var(--navy);font-weight:900}.menu-button,.sidebar-close{display:none}.app-frame{display:flex;min-height:calc(100vh - 72px)}.app-sidebar{width:264px;flex:none;background:#fff;border-right:1px solid var(--line);padding:1.55rem 1rem;display:flex;flex-direction:column}.sidebar-head{padding:0 .75rem}.sidebar-label{color:#70796f;font-size:.66rem;font-weight:900;letter-spacing:.14em}.sidebar-label-spaced{display:block;margin:2rem .75rem .55rem}.nav-stack{display:grid;gap:.18rem;margin-top:.55rem}.nav-stack a,.pending-link{display:flex;align-items:center;gap:.7rem;border-radius:9px;color:var(--muted);font-weight:700;text-decoration:none;padding:.7rem .8rem;min-height:46px;transition:background .15s,color .15s}.nav-stack a:hover,.nav-stack a.active{background:#e7f3ef;color:var(--deep)}.nav-stack a.active{box-shadow:inset 3px 0 var(--teal)}.nav-icon{width:1.2rem;text-align:center;color:var(--teal);font-size:1.15rem}.nav-stack-secondary a{min-height:40px;font-size:.9rem;padding:.52rem .8rem}.pending-link{margin-top:1.25rem;background:#fff4d6;color:var(--warning);font-size:.84rem}.sidebar-footer{margin-top:auto;padding:2rem .8rem .5rem;color:#8c958a;font-size:.62rem;font-weight:900;letter-spacing:.14em;line-height:1.8}.sidebar-footer span{color:var(--teal);font-size:.58rem}.app-content{flex:1;min-width:0}.content-container{width:min(100%,1500px);margin:auto;padding:2.15rem clamp(1rem,3vw,3.25rem) 4rem}.content-container>h1{margin-bottom:1.5rem}.nav-backdrop{display:none}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.6rem}.page-kicker{margin:0 0 .35rem;color:var(--teal);font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.page-subtitle{color:var(--muted);margin:.5rem 0 0;max-width:62ch}.page-actions{display:flex;gap:.55rem;flex-wrap:wrap}.section-label{color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.surface-pad{padding:1.25rem}.surface-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line)}.btn{min-height:44px;border-radius:10px;border-width:1px;font-weight:700;padding:.58rem 1rem;letter-spacing:.005em;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 16px rgba(75,79,64,.16)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgba(75,79,64,.12)}.btn:focus-visible{outline:3px solid rgba(18,129,120,.28);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.52;transform:none;box-shadow:none}.btn-primary,.btn-accent{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 3px 8px rgba(18,129,120,.18)}.btn-primary:hover:not(:disabled),.btn-accent:hover:not(:disabled){background:var(--deep);border-color:var(--deep);color:#fff}.btn-success{background:var(--success);border-color:var(--success);color:#fff;box-shadow:0 3px 8px rgba(20,125,97,.16)}.btn-success:hover:not(:disabled){background:#0f654e;border-color:#0f654e;color:#fff}.btn-outline-primary{border-color:var(--teal);color:var(--deep);background:#fff}.btn-outline-primary:hover:not(:disabled){background:var(--soft);border-color:var(--deep);color:var(--deep)}.btn-outline-secondary{border-color:#9aa79b;color:var(--navy);background:#fff}.btn-outline-secondary:hover:not(:disabled){background:#f1f4f0;border-color:#718073;color:var(--navy)}.btn-outline-danger{border-color:#d09291;color:var(--danger);background:#fff}.btn-outline-danger:hover:not(:disabled){background:#fff0f0;border-color:var(--danger);color:var(--danger)}.btn-ghost{border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(0,0,0,0)}.btn-ghost:hover:not(:disabled){background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff}.btn-link{color:var(--teal);text-decoration:none}.btn-link:hover:not(:disabled){color:var(--deep);text-decoration:underline;box-shadow:none}.btn-sm{min-height:40px;padding:.45rem .75rem;border-radius:8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:40px;height:40px;padding:.4rem;line-height:1}.icon-button .bi{width:1.1rem;height:1.1rem;font-size:1.05rem}.admin-actions .icon-button{flex:0 0 40px}.form-control,.form-select{min-height:46px;border:1px solid #b7c4b8;border-radius:8px;color:var(--ink);background:#fff}.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--teal);box-shadow:0 0 0 .22rem rgba(18,129,120,.18)}.form-label{display:block;color:var(--navy);font-size:.84rem;font-weight:700;margin-bottom:.4rem}.form-check{display:flex;gap:.5rem;align-items:center;min-height:44px}.form-check-input{width:1.1em;height:1.1em}.validation-message{color:var(--danger);font-size:.85rem;margin-top:.25rem}.alert{border:0;border-left:4px solid;border-radius:8px;padding:.8rem 1rem}.alert-danger{background:#fff0f0;color:var(--danger);border-left-color:var(--danger)}.alert-success{background:#e8f6ef;color:var(--success);border-left-color:var(--success)}.alert-warning{background:#fff6dc;color:var(--warning);border-left-color:#b97800}.badge{border-radius:999px;padding:.4em .7em;font-weight:700}.status-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem}.status-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--status-color, currentColor)}.status-draft{--status-color:#657064;background:#edf1ec;color:var(--status-color)}.status-submitted{--status-color:#126F68;background:#e2f1ee;color:var(--status-color)}.status-approved,.status-completed{--status-color:var(--success);background:#e4f4ec;color:var(--status-color)}.status-rejected,.status-cancelled{--status-color:var(--danger);background:#fff0f0;color:var(--status-color)}.legend i{background:var(--status-color, currentColor)}.status-badge.status-draft,.status-badge.status-submitted,.status-badge.status-approved,.status-badge.status-completed,.status-badge.status-rejected,.status-badge.status-cancelled{background:rgba(0,0,0,0)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.table{--bs-table-striped-bg:#F4F8F4;color:var(--ink);vertical-align:middle;margin:0;width:100%}.table thead th{background:var(--navy);color:#fff;border:0;font-size:.73rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.table td,.table th{padding:.85rem .8rem;border-color:var(--line)}.table-responsive{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-body{padding:1.2rem}.card-header{padding:.85rem 1.1rem;background:var(--soft);border-bottom:1px solid var(--line);font-weight:700}.border-warning{border-color:#d4b56b !important}#blazor-error-ui{display:none}.blazor-error-boundary{background:var(--danger);color:#fff;padding:1rem;position:fixed;bottom:0;left:0;width:100%;z-index:1000}.login-shell{min-height:100vh;display:grid;place-items:center;background:var(--navy);padding:1rem}.login-panel{width:min(100%,980px);display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 54px rgba(75,79,64,.25)}.login-aside{background:var(--deep);color:#fff;padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;justify-content:space-between}.login-aside h1{color:#fff;font-size:clamp(2rem,4vw,3rem);margin-top:3rem}.login-aside p{color:#d8ded5;max-width:29ch}.login-aside .brand-mark{width:clamp(56px,8vw,72px)}.login-aside .brand-copy strong{font-size:1.45rem}.login-aside .brand-copy small{font-size:.64rem}.login-form{padding:clamp(2rem,5vw,4rem)}.login-form h1{font-size:2rem}.login-form form{margin-top:1.5rem}.login-form .form-control{min-height:48px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.calendar-week-title{margin:.2rem 0 0;font-size:clamp(1.1rem,2vw,1.45rem)}.calendar-week-actions{justify-content:flex-end}.month-control{display:flex;align-items:center;gap:.35rem}.month-control .btn{min-width:44px;padding:.5rem}.month-title{min-width:170px;text-align:center;font:700 1.1rem Quicksand;color:var(--navy);text-transform:capitalize}.calendar-filters{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:.8rem;padding:1rem 1.15rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem}.calendar-filters .filter-field{min-width:0}.calendar-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.25rem 0 .75rem}.legend{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.legend span{display:inline-flex;align-items:center;gap:.35rem}.legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.desktop-trip-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:1rem}.trip-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.05rem;display:flex;flex-direction:column;transition:border .15s,box-shadow .15s,transform .15s}.trip-card:hover{border-color:#9cc9bc;box-shadow:0 10px 24px rgba(75,79,64,.1);transform:translateY(-2px)}.trip-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.trip-card-status-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.trip-card-status-actions .btn{padding:.2rem 0;min-height:0}.trip-date{font:700 1.25rem Quicksand;color:var(--navy)}.trip-slot{color:var(--teal);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.trip-vehicle{font-weight:700;margin:.8rem 0 .25rem}.trip-route{font-size:.87rem;color:var(--muted);margin:0}.trip-route strong{color:var(--ink)}.trip-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.8rem}.empty-state{background:#fff;border:1px dashed #9bb9a9;border-radius:var(--radius);padding:3rem 1.5rem;text-align:center}.empty-state h2{margin:.2rem 0 .4rem}.mobile-trip-calendar{display:grid;gap:1rem}.mobile-trip-day{border-left:3px solid var(--teal);padding-left:.8rem}.mobile-trip-day-heading{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 .55rem;font-size:1rem}.mobile-trip-day-heading span{text-transform:capitalize}.mobile-trip-day-heading time{color:var(--muted);font-size:.8rem;font-weight:400}.mobile-trip-card{margin-bottom:.55rem;min-height:0;box-shadow:none}.mobile-trip-card .card-body{padding:.9rem}.form-layout{display:grid;grid-template-columns:minmax(0, 1fr) 300px;gap:1.25rem;align-items:start}.form-section{padding:1.35rem}.form-section h2{margin-top:0}.trip-route-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.trip-route-section h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem}.form-actions{display:flex;gap:.6rem;align-items:center;margin-top:1.3rem}.route-list{margin:1rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem}.route-item{display:flex;align-items:center;gap:.55rem;padding:.65rem .7rem;background:var(--soft);border-radius:8px}.route-number{font-weight:900;color:var(--teal)}.trip-detail-body{display:flex;flex-direction:column}.trip-detail-body>form{order:2}.trip-detail-body .trip-editor{order:initial}.trip-detail-body .trip-route-heading,.trip-detail-body .trip-route-list{order:3}.trip-detail-body>.alert{order:4}.trip-detail-body>.d-flex{order:0}.trip-detail-body>.detail-summary{order:1}.trip-editor{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius)}.trip-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.trip-editor-heading h2{margin:.2rem 0 0}.trip-editor-route-list{background:var(--surface);padding:.7rem;border:1px solid var(--line);border-radius:8px}.trip-editor-route-list .route-item{background:var(--soft)}.detail-layout{display:grid;grid-template-columns:minmax(0, 1fr) 300px;gap:1.25rem;align-items:start}.detail-summary{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0;border-top:1px solid var(--line)}.detail-summary div{padding:.8rem 0;border-bottom:1px solid var(--line)}.detail-summary dt{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.detail-summary dd{margin:.2rem 0 0;font-weight:700}.action-rail{padding:1.1rem;display:grid;gap:.55rem}.history-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.history-list li{padding:.75rem;border-bottom:1px solid var(--line)}.report-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.report-summary{display:flex;align-items:baseline;gap:.75rem;padding:1.25rem;background:var(--navy);color:#fff;border-radius:var(--radius);margin-bottom:1rem}.report-summary strong{font:700 2rem Quicksand}.report-summary span{color:#d8ded5}.calendar-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.calendar-table{border-collapse:separate;border-spacing:0;min-width:1180px;width:100%;table-layout:fixed}.calendar-table th,.calendar-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-table tr:last-child th,.calendar-table tr:last-child td{border-bottom:0}.calendar-table th:last-child,.calendar-table td:last-child{border-right:0}.calendar-table thead th{background:var(--navy);color:#fff;padding:.85rem .65rem;text-align:center}.calendar-slot-heading{width:112px;text-align:center !important}.calendar-day-heading{font-size:.78rem;text-transform:capitalize}.calendar-day-heading span,.calendar-day-heading time{display:block}.calendar-day-heading time{font:700 1rem Quicksand;margin-top:.2rem}.calendar-day-heading.calendar-today{background:var(--deep)}.calendar-slot-label{background:var(--soft);color:var(--navy);font-size:.78rem;text-align:left;padding:.8rem;white-space:nowrap}.calendar-cell{min-height:116px;height:auto;vertical-align:top;padding:.45rem;background:#fff}.calendar-trip-block{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.35rem;padding:.55rem .6rem;border-left:4px solid var(--teal);border-radius:7px;background:#eff9f5;color:var(--ink);text-decoration:none;box-shadow:0 2px 7px rgba(75,79,64,.08)}.calendar-trip-block:hover{color:var(--ink);background:#ddf3ec;transform:translateY(-1px)}.calendar-trip-block strong{font-size:.8rem;line-height:1.25}.calendar-trip-block small{font-size:.7rem;color:var(--muted);line-height:1.25}.calendar-trip-customer{opacity:.78}.slot-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.35rem;flex:none}.slot-morning{background:#1b9b8c}.slot-afternoon{background:#7b8f45}.slot-full-day{background:#4b4f40}.legend i.slot-morning{background:#1b9b8c}.legend i.slot-afternoon{background:#7b8f45}.legend i.slot-full-day{background:#4b4f40}.row{display:flex;flex-wrap:wrap;margin-inline:-0.5rem}.row>*{width:100%;padding-inline:.5rem}.g-2{row-gap:.5rem}.g-3{row-gap:1rem}.g-4{row-gap:1.5rem}.col-12{width:100%}.d-flex{display:flex !important}.d-grid{display:grid !important}.d-none{display:none !important}.d-block{display:block !important}.flex-wrap{flex-wrap:wrap !important}.justify-content-between{justify-content:space-between !important}.align-items-center{align-items:center !important}.align-items-end{align-items:flex-end !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.me-2{margin-right:.5rem !important}.ms-2{margin-left:.5rem !important}.p-3{padding:1rem !important}.py-5{padding-block:3rem !important}.w-100{width:100% !important}.h-100{height:100% !important}.text-center{text-align:center !important}.text-capitalize{text-transform:capitalize !important}.h4{font-size:1.5rem}.h5{font-size:1.25rem}.input-group{display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>*{flex:1 1 auto;width:1%;min-width:0}.input-group>.btn{flex:0 0 auto;width:auto}.list-group{padding:0;list-style:none}.list-group-item{position:relative;display:block;padding:.75rem 1rem;background:#fff;border:1px solid var(--line)}.list-group-numbered{counter-reset:section}.list-group-numbered>li::before{counter-increment:section;content:counter(section) ". ";font-weight:900;color:var(--teal)}@media(min-width: 576px){.user-name{display:inline}.col-md-3{width:25%}.col-md-4{width:33.333%}.col-md-5{width:41.667%}.col-md-6{width:50%}.col-md-7{width:58.333%}.d-md-flex{display:flex !important}.d-md-grid{display:grid !important}.d-md-none{display:none !important}}@media(min-width: 768px){.form-grid .span-2{grid-column:span 2}.col-lg-5{width:41.667%}.col-lg-7{width:58.333%}.col-xl-4{width:33.333%}.col-xl-6{width:50%}}@media(max-width: 767px){.brand-copy{display:none}.menu-button{display:grid;place-items:center;width:44px;height:44px;font-size:1.2rem;cursor:pointer}.app-sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:min(84vw,300px);transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 35px rgba(75,79,64,.2);padding-top:1.1rem}.mobile-nav-toggle:checked~.app-frame .app-sidebar{transform:translateX(0)}.mobile-nav-toggle:checked~.nav-backdrop{display:block;position:fixed;inset:0;background:rgba(75,79,64,.48);z-index:35}.sidebar-head{display:flex;justify-content:space-between;align-items:center}.sidebar-close{display:grid;place-items:center;width:44px;height:44px;font-size:1.7rem;color:var(--muted);cursor:pointer}.sidebar-footer{padding-bottom:1rem}.content-container{padding-top:1.35rem}.page-header{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.calendar-toolbar{align-items:stretch;flex-direction:column}.month-control{justify-content:space-between}.month-title{flex:1}.calendar-filters{grid-template-columns:1fr;padding:.85rem}.calendar-meta{align-items:flex-start;flex-direction:column}.desktop-trip-grid{display:none}.mobile-trip-calendar{display:grid}.form-layout,.detail-layout{grid-template-columns:1fr}.form-grid,.detail-summary{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}.login-panel{display:block}.login-aside{padding:1.5rem 1.5rem 1.75rem;min-height:220px}.login-aside h1{margin-top:2rem;font-size:2rem}.login-form{padding:1.5rem}.report-controls .btn{flex:1}.table{min-width:720px}.content-container .d-flex{flex-wrap:wrap}.content-container .d-flex>.btn{max-width:100%}}@media(min-width: 768px){.mobile-trip-calendar{display:none}}.admin-table-wrap{background:var(--surface);box-shadow:var(--shadow)}.admin-entity-table{min-width:620px;table-layout:fixed}.admin-entity-table tbody tr:nth-child(even){background:var(--soft)}.admin-entity-table tbody tr:hover{background:#ddf3ec}.admin-entity-table td,.admin-entity-table th{vertical-align:middle}.admin-entity-table .admin-actions-heading{width:180px;text-align:right;white-space:nowrap}.admin-entity-table td.admin-actions{width:180px;white-space:nowrap}.admin-actions{display:flex;justify-content:flex-end;align-items:center;gap:.4rem;flex-wrap:nowrap;white-space:nowrap;min-width:180px}.admin-actions .btn{min-width:2.5rem;padding-inline:.6rem}.admin-actions .bi{font-size:1.05rem}.admin-date-missing{color:var(--muted);font-size:.85rem;white-space:nowrap}@media(max-width: 767px){.admin-entity-table{min-width:700px}.admin-actions{min-width:190px}}.sidebar-toggle{display:none}@media(min-width: 768px){.sidebar-head{display:flex;align-items:center;justify-content:space-between;min-height:2rem}.sidebar-toggle{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:1.35rem;line-height:1;transition:background .15s,color .15s,border-color .15s}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{background:var(--soft);border-color:var(--teal);color:var(--deep)}.sidebar-toggle:focus-visible{outline:3px solid rgba(18,129,120,.25);outline-offset:2px}.nav-toggle:focus-visible~.app-frame .sidebar-toggle{outline:3px solid rgba(18,129,120,.25);outline-offset:2px}.app-sidebar{transition:width .2s ease}.nav-toggle:checked~.app-frame .app-sidebar{width:76px;padding-inline:.65rem}.nav-toggle:checked~.app-frame .sidebar-label,.nav-toggle:checked~.app-frame .sidebar-footer{display:none}.nav-toggle:checked~.app-frame .sidebar-head{justify-content:center}.nav-toggle:checked~.app-frame .sidebar-toggle span{transform:rotate(180deg)}.nav-toggle:checked~.app-frame .nav-stack a,.nav-toggle:checked~.app-frame .pending-link{justify-content:center;gap:0;padding-inline:.45rem}.nav-toggle:checked~.app-frame .nav-link-label{display:none}.nav-toggle:checked~.app-frame .nav-icon{width:1.35rem}.nav-toggle:checked~.app-frame .pending-link{margin-inline:-0.05rem}.nav-toggle:checked~.app-frame .sidebar-label-spaced{display:none}}@media(max-width: 767px){.sidebar-toggle{display:none}.sidebar-close:focus-visible,.menu-button:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:2px}}@media(prefers-reduced-motion: reduce){*{scroll-behavior:auto !important;transition:none !important}}.form-layout,.detail-layout,.form-grid,.form-section,.surface,.card,.card-body,.action-rail,.form-grid>*,.detail-summary>div,.route-item,.input-group,.row,.row>*{min-width:0;max-width:100%}.form-control,.form-select{display:block;width:100%;max-width:100%;min-width:0;padding:.62rem .8rem;line-height:1.35;box-sizing:border-box}.form-select{padding-right:2.35rem}.form-select[multiple]{height:auto;min-height:7rem;padding:.5rem .65rem}.form-label,.form-check-label{line-height:1.35;overflow-wrap:anywhere}.form-check{min-width:0;max-width:100%;gap:.6rem;padding:.35rem 0}.form-check-input{flex:0 0 auto;margin:0;width:1.1rem;height:1.1rem}.form-check-label{min-width:0}.form-actions{flex-wrap:wrap}.form-actions .btn{max-width:100%}.route-item{display:flex;align-items:flex-start;flex-wrap:wrap}.route-item>span:not(.route-number){min-width:0;flex:1 1 8rem;overflow-wrap:anywhere}.route-item .btn{flex:0 0 auto}.detail-summary dd,.history-list li,.card-header,.report-summary span{min-width:0;overflow-wrap:anywhere;word-break:break-word}.input-group{gap:.5rem}.input-group>*{min-width:0}.input-group>.form-control,.input-group>.form-select{flex:1 1 12rem;width:auto}.trip-route-picker{display:grid !important;grid-template-columns:minmax(0, 1fr) auto;width:100%;max-width:100%;grid-column:1/-1;align-items:stretch}.trip-route-picker .form-select{width:100%;min-width:0;flex:none}.trip-route-picker .btn{white-space:nowrap}.calendar-table-wrap{max-width:100%;overflow-x:auto}.calendar-table{width:100%;table-layout:fixed}.calendar-cell{min-width:0;vertical-align:top}.calendar-trip-block{display:flex;width:100%;max-width:100%;min-width:0;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.calendar-trip-block strong,.calendar-trip-block small{display:block;min-width:0;max-width:100%;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.calendar-trip-block strong{font-weight:700}.calendar-trip-block small{white-space:normal}@media(max-width: 767px){.form-section{padding:1rem}.surface-pad{padding:1rem}.form-grid{gap:.8rem}.form-actions{align-items:stretch}.form-actions .btn{flex:1 1 10rem}.input-group{align-items:stretch}.input-group>.form-control,.input-group>.form-select{flex:1 1 100%;width:100%}.input-group>.btn{flex:1 1 auto}.calendar-cell{padding:.35rem}.calendar-table{min-width:720px}.calendar-trip-block{padding:.45rem .5rem;border-left-width:3px}.calendar-trip-block strong{font-size:.76rem}.calendar-trip-block small{font-size:.68rem}}.calendar-cell-split{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:.35rem}.calendar-cell-split .calendar-trip-block{margin-bottom:0}.report-range-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.report-range-header h2{margin:.2rem 0 0;font-size:1.25rem}.report-range-picker{display:grid;grid-template-columns:minmax(0, 1fr) 220px;gap:1.25rem;margin-top:1rem}.report-calendar{min-width:0}.report-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem;text-transform:capitalize}.report-calendar-nav strong{font:700 1.1rem Quicksand;color:var(--navy)}.report-calendar-nav .btn{min-width:44px;padding:.45rem}.report-calendar-months{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem}.report-calendar-months h3{font-size:.95rem;text-transform:capitalize;text-align:center;margin:0 0 .55rem}.report-calendar-weekdays,.report-calendar-days{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:3px}.report-calendar-weekdays{color:var(--muted);font-size:.7rem;text-align:center;margin-bottom:3px}.report-calendar-day{border:0;border-radius:6px;background:rgba(0,0,0,0);color:var(--ink);min-height:32px;cursor:pointer}.report-calendar-day:hover{background:#ddf3ec}.report-calendar-day.outside-month{visibility:hidden;cursor:default}.report-calendar-day:disabled:hover{background:rgba(0,0,0,0)}.report-calendar-day.in-range{background:#ddf3ec;border-radius:0}.report-calendar-day.range-start,.report-calendar-day.range-end{background:var(--teal);color:#fff;font-weight:700;border-radius:6px}.report-calendar-hint{color:var(--muted);font-size:.78rem;margin:.75rem 0 0}.report-presets{display:flex;flex-direction:column;gap:.4rem}.report-presets h3{font-size:.95rem;margin:0 0 .25rem}.report-presets .btn{text-align:left;padding:.45rem .7rem}.report-charts{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1rem;margin-bottom:1rem}.report-chart{padding:1rem}.report-chart h2{font-size:1rem;margin:0 0 .8rem}.report-chart-body{display:grid;grid-template-columns:110px minmax(0, 1fr);gap:1rem;align-items:center}.report-pie{width:105px;height:105px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.report-legend{list-style:none;padding:0;margin:0;display:grid;gap:.35rem;font-size:.75rem;min-width:0}.report-legend li{display:grid;grid-template-columns:10px minmax(0, 1fr) auto;gap:.35rem;align-items:center}.report-legend li span:nth-child(2){overflow-wrap:anywhere}.report-legend-dot{width:9px;height:9px;border-radius:50%}.report-legend strong{font-size:.72rem}.report-table{min-width:900px;table-layout:fixed}.report-table tbody tr:nth-child(even)>*{background:var(--soft)}.report-table th:nth-child(1){width:100px}.report-table th:nth-child(6){width:130px}@media(max-width: 900px){.report-range-picker{grid-template-columns:1fr}.report-presets{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr))}.report-presets h3{grid-column:1/-1}.report-charts{grid-template-columns:1fr}.report-chart-body{grid-template-columns:110px minmax(0, 1fr)}}@media(max-width: 600px){.report-calendar-months{grid-template-columns:1fr}.report-calendar-months>div:nth-child(2){display:none}.report-presets{grid-template-columns:repeat(2, minmax(0, 1fr))}.report-range-header{align-items:stretch;flex-direction:column}.report-range-header .btn{width:100%}}.report-modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(20,32,30,.58);display:grid;place-items:center;padding:1rem;overflow:auto}.report-date-modal{width:min(100%,980px);max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem;box-shadow:0 20px 60px rgba(20,32,30,.3)}.report-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.report-modal-header h2{margin:.2rem 0 0;font-size:1.25rem}.report-modal-header .btn{min-width:44px;font-size:1.35rem;line-height:1}.report-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:.7rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}.calendar-mobile-actions{display:none}.calendar-action-label-short{display:none}.mobile-calendar-days{display:none}.mobile-calendar-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.mobile-calendar-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:0;padding:.9rem 1rem;background:var(--navy);color:#fff;font-size:1.05rem;text-transform:capitalize}.mobile-calendar-day-heading.mobile-calendar-today{background:var(--deep)}.mobile-calendar-day-heading span{font-weight:700}.mobile-calendar-day-heading time{font:700 .85rem Quicksand;color:#d8ded5;white-space:nowrap}.mobile-calendar-slot{padding:.75rem 1rem;border-bottom:1px solid var(--line)}.mobile-calendar-slot:last-child{border-bottom:0}.mobile-calendar-slot h3{display:flex;align-items:center;margin:0 0 .55rem;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.mobile-calendar-slot .calendar-trip-block{margin-bottom:.45rem}.mobile-calendar-slot .calendar-trip-block:last-child{margin-bottom:0}.mobile-calendar-empty{margin:0;color:var(--muted);font-size:.82rem}.calendar-compact-actions{display:none}.calendar-table-6,.calendar-table-5,.calendar-table-4,.calendar-table-3,.calendar-table-2,.calendar-week-title.calendar-table-6,.calendar-week-title.calendar-table-5,.calendar-week-title.calendar-table-4,.calendar-week-title.calendar-table-3,.calendar-week-title.calendar-table-2{display:none}.calendar-table-6{min-width:1080px}.calendar-table-5{min-width:900px}.calendar-table-4{min-width:760px}.calendar-table-3{min-width:650px}.calendar-table-2{min-width:540px}@media(min-width: 768px)and (max-width: 1599px){.calendar-table-7,.calendar-week-title.calendar-table-7{display:none}.calendar-table-6{display:table}.calendar-week-title.calendar-table-6{display:block}.calendar-compact-actions{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:nowrap;min-width:0}.calendar-compact-actions .btn{flex:0 0 auto;white-space:nowrap;padding-inline:.65rem}.calendar-compact-actions .calendar-action-label-full{display:none}.calendar-compact-actions .calendar-action-label-short{display:inline}.calendar-desktop-actions{display:none}}@media(min-width: 1400px)and (max-width: 1599px){.nav-toggle:checked~.app-frame .calendar-table-7{display:table}.nav-toggle:checked~.app-frame .calendar-week-title.calendar-table-7{display:block}.nav-toggle:checked~.app-frame .calendar-table-6,.nav-toggle:checked~.app-frame .calendar-week-title.calendar-table-6{display:none}.nav-toggle:checked~.app-frame .calendar-compact-actions{display:none}.nav-toggle:checked~.app-frame .calendar-desktop-actions{display:flex}}@media(min-width: 768px)and (max-width: 1199px){.calendar-table-6,.calendar-week-title.calendar-table-6{display:none}.calendar-table-5{display:table}.calendar-week-title.calendar-table-5{display:block}}@media(min-width: 768px)and (max-width: 1049px){.calendar-table-5,.calendar-week-title.calendar-table-5{display:none}.calendar-table-4{display:table}.calendar-week-title.calendar-table-4{display:block}}@media(min-width: 768px)and (max-width: 899px){.calendar-table-4,.calendar-week-title.calendar-table-4{display:none}.calendar-table-3{display:table}.calendar-week-title.calendar-table-3{display:block}}@media(min-width: 768px)and (max-width: 819px){.calendar-table-3,.calendar-week-title.calendar-table-3{display:none}.calendar-table-2{display:table}.calendar-week-title.calendar-table-2{display:block}}@media(max-width: 767px){.calendar-table-wrap{display:block;overflow-x:hidden}.calendar-table{width:100%;min-width:0}.calendar-desktop-actions,.calendar-mobile-actions{display:none}.calendar-compact-actions{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:nowrap;min-width:0}.calendar-compact-actions .btn,.home-page-actions .btn{flex:0 0 auto;white-space:nowrap}.home-page-actions{justify-content:flex-end}.calendar-action-label-full{display:none}.calendar-action-label-short{display:inline}.mobile-calendar-days{display:none}}@media(min-width: 600px)and (max-width: 767px){.calendar-table-7,.calendar-table-2,.calendar-table-4,.calendar-table-5,.calendar-table-6,.calendar-week-title.calendar-table-7,.calendar-week-title.calendar-table-2,.calendar-week-title.calendar-table-4,.calendar-week-title.calendar-table-5,.calendar-week-title.calendar-table-6{display:none}.calendar-table-3{display:table}.calendar-week-title.calendar-table-3{display:block}}@media(max-width: 599px){.calendar-table-7,.calendar-table-3,.calendar-table-4,.calendar-table-5,.calendar-table-6,.calendar-week-title.calendar-table-7,.calendar-week-title.calendar-table-3,.calendar-week-title.calendar-table-4,.calendar-week-title.calendar-table-5,.calendar-week-title.calendar-table-6{display:none}.calendar-table-2{display:table}.calendar-week-title.calendar-table-2{display:block}}
