:root{
    --navy:#10253f;
    --navy2:#19354f;
    --cyan:#37c9e4;
    --orange:#f68b40;
    --ink:#1b2d41;
    --muted:#6a7889;
    --line:#e1e8ef;
    --bg:#f3f6fa;
    --white:#fff;
    --radius:12px}*{box-sizing:border-box}body{
        margin:0;
        background:var(--bg);
        color:var(--ink);
        font-family:Inter,"Segoe UI",Arial,sans-serif;
        font-size:14px;line-height:1.5}a{
            color:#126383;
            text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;background:var(--navy);color:#cfdeec;z-index:20}.brand{display:block;padding:27px 25px 21px;color:#fff;border-bottom:1px solid #ffffff14}.brand strong{font-size:25px;letter-spacing:1.7px;line-height:1.1}.brand strong span{display:block;font-size:15px;font-weight:500;letter-spacing:3px;margin-top:6px}.brand small{display:block;font-size:9px;letter-spacing:1.1px;color:var(--cyan);margin-top:15px}.brand img{max-width:180px;max-height:65px;object-fit:contain}.workspace-label{font-size:10px;letter-spacing:1.7px;padding:20px 25px 7px;color:#8ca5bd}.sidebar nav{overflow:auto;padding:0 13px 20px;scrollbar-width:thin}.nav-section p{color:#8299b0;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:12px 13px 4px;margin:0}.nav-section a{display:flex;align-items:center;gap:11px;color:#cfdeec;padding:9px 13px;margin:2px 0;border-radius:6px;font-size:13px;min-height:38px}.nav-section a:hover{background:#ffffff0b;text-decoration:none}.nav-section a.active{background:#214258;color:#a1eff9;border-left:3px solid var(--cyan);padding-left:10px}.nav-dot{width:5px;height:5px;border:1px solid #809db7;border-radius:2px}.active .nav-dot{background:var(--cyan);border-color:var(--cyan)}.sidebar-footer{margin-top:auto;padding:16px 25px;background:#0b2037;font-size:11px;color:#8099b1}.sidebar-footer a{display:block;color:#b4dce8;margin-top:6px}.app{margin-left:240px;min-width:0}.topbar{height:82px;display:flex;align-items:center;gap:23px;padding:0 34px;background:white;border-bottom:1px solid var(--line)}.top-label{font-size:13px;font-weight:600;white-space:nowrap}.global-search{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:8px;background:#f7f9fc;width:min(360px,38vw)}.global-search input{border:0;background:transparent;padding:10px 13px;width:100%;min-width:0;font-size:12px}.global-search button{border:0;background:none;color:var(--muted);font-size:25px;padding:0 13px}.notification-button{display:flex;align-items:center;gap:5px;color:var(--ink)}.notification-button span{font-size:10px;background:#e8f8fb;border-radius:10px;padding:1px 5px}.profile{position:relative;border-left:1px solid var(--line);padding-left:20px}.profile summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:12px;font-weight:600}.profile small{display:block;font-size:10px;color:var(--muted);font-weight:400}.avatar{display:grid;place-items:center;background:#e7f4f8;border:1px solid #c8e9f1;width:34px;height:34px;border-radius:50%;color:#2b7391}.profile-menu{position:absolute;right:0;top:48px;background:white;box-shadow:0 8px 24px #14273f22;border:1px solid var(--line);padding:16px;min-width:200px;z-index:25}.profile-menu button{background:none;border:0;color:var(--ink);padding:10px 0}main{max-width:1840px;margin:0 auto;padding:31px 34px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.eyebrow{font-size:10px;letter-spacing:2px;color:#70869e;font-weight:700;margin:0 0 6px}h1{font-size:28px;line-height:1.25;margin:0;font-weight:650;letter-spacing:-.6px}h2{font-size:17px;line-height:1.4;margin:0 0 16px;font-weight:650}h3{font-size:14px;margin:20px 0 8px}p{margin:0 0 14px}.page-intro{color:var(--muted);margin-bottom:24px}.heading-actions,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d5dfe9;border-radius:7px;background:white;color:var(--ink);padding:10px 15px;font-size:12px;font-weight:600;min-height:40px;text-decoration:none;white-space:nowrap}.button:hover{background:#edf3f8;text-decoration:none}.button.primary{background:var(--navy);border-color:var(--navy);color:white}.button.primary:hover{background:#234865}.heading-actions .primary{box-shadow:inset 3px 0 var(--orange)}.date-chip{font-size:12px;color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:20px 0 26px}.kpi{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:20px 19px;position:relative;overflow:hidden;min-height:138px;box-shadow:0 3px 7px #152c4510}.kpi:before{content:'';position:absolute;left:19px;top:0;width:28px;height:3px;background:var(--cyan)}.kpi>span{display:block;color:var(--muted);font-size:11px;min-height:32px}.kpi strong{display:block;font-size:26px;line-height:1.3;font-weight:650;letter-spacing:-1px;overflow-wrap:anywhere}.kpi a{display:flex;justify-content:space-between;font-size:10px;margin-top:16px;color:#627b90}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px;overflow:hidden;box-shadow:0 2px 6px #152c4506}.padded{padding:24px}.panel-heading{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.panel-heading h2{margin:0}.panel-heading>a{font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(230px,1fr);gap:20px}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:12px}thead{background:#f8fafc}th{padding:14px 17px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:650;color:#687d93;border-bottom:1px solid var(--line)}td{padding:17px;border-bottom:1px solid #edf1f5;color:#394d62}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f9fbfd}td a{font-weight:600}td small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.badge{display:inline-block;border-radius:5px;background:#eff3f7;color:#4b5e71;padding:4px 8px;font-size:10px;font-weight:600;white-space:nowrap}.empty{padding:44px 24px!important;text-align:center;color:var(--muted);font-size:12px;white-space:normal}.empty strong{display:block;color:#40576d;font-size:14px;margin-bottom:8px}.notice-item{display:flex;align-items:center;gap:12px;padding:18px 22px;color:var(--ink);border-bottom:1px solid var(--line);font-size:12px}.notice-item:last-child{border:0}.notice-item:hover{background:#f8fbfd;text-decoration:none}.notice-item div{flex:1}.notice-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.notice-item>span:last-child{margin-left:auto;color:var(--muted)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c4d2df;flex-shrink:0}.green{--tone:#25845b;--wash:#e7f5ec}.purple{--tone:#7750a9;--wash:#f0eafa}.blue{--tone:#377cc1;--wash:#e8f1ff}.red{--tone:#bd4250;--wash:#fbe9ec}.yellow{--tone:#a18013;--wash:#fff6cc}.orange{--tone:#b97429;--wash:#ffecd8}.grey{--tone:#737e8c;--wash:#eff1f4}.beige{--tone:#9b8763;--wash:#f4eddf}.dot[class*=' ']{background:var(--tone,#c4d2df)}.badge.purple,.info.yellow,.info.orange{color:var(--tone);background:var(--wash)}.legend{display:flex;flex-wrap:wrap;gap:10px 22px;padding:18px 22px;border-bottom:1px solid var(--line);font-size:10px}.legend>span{display:flex;gap:7px;align-items:center}.planning-row{background:var(--wash)!important;border-left:4px solid var(--tone)}.planning-row td{border-bottom:1px solid #ffffffaa}.planning-table{min-height:280px}.planning-table th{white-space:nowrap}.planning-table td{vertical-align:top;max-width:220px}.planning-table .remarks{white-space:normal;min-width:150px}.row-action{display:block;font-size:10px;margin-top:7px}.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:20px 22px;border-bottom:1px solid var(--line)}label{display:block;font-size:11px;font-weight:600;color:#52677c}.filters label{max-width:220px}.filters input,.filters select{font-size:12px;min-width:100px}.filters input[type=number]{width:90px}.text-link{font-size:12px;padding:11px 4px}input,select,textarea{display:block;width:100%;border:1px solid #d4dfe8;background:white;border-radius:6px;padding:10px 11px;color:var(--ink);margin-top:6px;min-height:40px}input[type=checkbox]{display:inline-block;width:16px;min-height:16px;vertical-align:middle}textarea{resize:vertical}.checkbox{padding-bottom:8px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.pagination>div{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-grid>.panel{margin-bottom:0}.detail-grid{margin-bottom:22px}dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:11px 18px;font-size:12px;margin:16px 0 22px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.edit-form{max-width:1000px;padding:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 26px}.field:has(textarea){grid-column:1/-1}.field label{font-size:12px}.field small{color:var(--muted);font-size:11px;display:block;margin-top:5px}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.errorlist{color:#a83039;background:#fff0f0;padding:12px 20px;border-radius:6px;font-size:12px}.message,.info{border:1px solid #d8e6ed;border-radius:8px;background:#eef7fb;padding:14px 18px;font-size:12px;margin:18px 0}.message.error{background:#fff0f0;color:#a83039;border-color:#edc6c6}.info form{display:inline-block;margin-left:10px}.muted{color:var(--muted)}.small{font-size:11px}.section-title{margin-top:12px}.page-footer{font-size:10px;color:#8392a3;display:flex;justify-content:space-between;padding:28px 0 5px;letter-spacing:.2px}.vehicle-hero{display:flex;gap:26px;padding:24px;align-items:center}.vehicle-hero>img,.vehicle-placeholder{width:290px;height:175px;object-fit:cover;border-radius:9px}.vehicle-placeholder{display:grid;place-content:center;text-align:center;background:#edf3f8;color:#7d90a3}.vehicle-placeholder small{font-size:11px}.thumb{width:75px;height:45px;object-fit:cover;border-radius:5px}.big-number{font-size:27px;font-weight:650}.invoice-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--navy);padding-bottom:20px;margin-bottom:25px}.invoice-totals{max-width:500px;margin-left:auto;border-top:1px solid var(--line);padding-top:20px}.history{border-bottom:1px solid var(--line);padding:12px 0}.history summary{cursor:pointer;font-size:12px}.code-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.code-pair pre{white-space:pre-wrap;word-break:break-word;font-size:10px;background:#f5f7fa;padding:12px}.menu-button{display:none}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-intro{background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:center;padding:12%;min-height:100vh}.login-intro h1{font-size:55px;line-height:1.15;margin:25px 0}.login-intro .eyebrow{color:var(--cyan)}.login-intro>p:not(.eyebrow){color:var(--cyan);letter-spacing:2px;font-size:12px}.login-intro>span{color:#8ea5bb;margin-top:50px;font-size:12px}.login-card{width:min(470px,90%);align-self:center;padding:35px}.login-card h1{font-size:25px;margin-bottom:15px}.login-card .field{margin:18px 0}.login-logo{max-width:240px;max-height:100px;object-fit:contain;margin-bottom:20px}.full{width:100%;margin:15px 0}.public-header{display:flex;justify-content:space-between;align-items:center;padding:24px 5%;background:var(--navy);color:white}.public-header a{color:white;margin-right:15px}.public-header img{max-width:190px;max-height:65px}.public-main{max-width:1250px}.public-cars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.public-car img{width:100%;height:180px;object-fit:cover}.public-car .padded{padding:22px}.public-hero{padding:45px 0}.public-hero h1{font-size:42px;margin:15px 0}.public-footer{background:var(--navy);padding:30px 5%;color:#bdcfde}.public-footer a{color:white;margin-right:18px}@media(min-width:1700px){.sidebar{width:265px}.app{margin-left:265px}}@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top-label{display:none}.dashboard-grid{grid-template-columns:1fr}.profile summary>span:last-child{display:none}main{padding:25px}.topbar{padding:0 25px}}@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.app{margin-left:0}.menu-button{display:block;background:none;border:0;color:var(--navy);font-size:22px}.global-search{width:min(400px,55vw)}.detail-grid{grid-template-columns:1fr}.login-intro{padding:9%}.login-intro h1{font-size:40px}}@media(max-width:640px){main{padding:22px 16px}.topbar{padding:0 16px;height:68px;gap:12px}.topbar .profile{padding-left:10px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:17px 14px}.kpi strong{font-size:23px}.page-heading{align-items:flex-start;flex-direction:column}.date-chip{display:none}.form-grid{grid-template-columns:1fr}.vehicle-hero{flex-direction:column;align-items:flex-start}.vehicle-hero>img,.vehicle-placeholder{width:100%}.public-cars{grid-template-columns:1fr}.page-footer{gap:15px}.login-page{display:block}.login-intro{min-height:200px;padding:30px}.login-intro h1{font-size:30px;margin:10px 0}.login-intro>span{display:none}.login-card{padding:30px 15px}.code-pair{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.page-heading,.no-print,.page-footer,.skip{display:none!important}.app{margin:0}main{padding:0}.panel{box-shadow:none;border:0}.invoice-sheet{padding:0}body{background:white}.invoice-sheet .detail-grid{display:grid;grid-template-columns:1fr 1fr}}

/* Shared Management, Taxi and Garage scrolling; titles and filters stay outside. */
:root {--table-scroll-height: min(65vh, 36rem); --card-scroll-height: 24rem}
.table-wrap {max-height:var(--table-scroll-height);overscroll-behavior:contain}
.table-wrap thead th {position:sticky;top:0;background:#f8fafc;z-index:1}
.card-body-scroll {max-height:var(--card-scroll-height);max-width:100%;min-width:0;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere;padding:2px}
.card-body-scroll:focus-visible {outline:2px solid #126383;outline-offset:-2px}
.scroll-card {display:flex;flex-direction:column;min-width:0}
.scroll-card>h2 {flex-shrink:0}
.booking-detail-grid>.info,.booking-detail-grid>p,.booking-detail-grid>small,.booking-detail-grid>a {grid-column:1/-1}
.button.success {background:#187044;border-color:#187044;color:#fff}
.button.success:hover {background:#115333;border-color:#115333}
.button.danger {background:#b42332;border-color:#b42332;color:#fff}
.button.danger:hover {background:#8f1926;border-color:#8f1926}
.button.success:focus-visible,.button.danger:focus-visible {outline:3px solid #126383;outline-offset:3px}
.button.success:disabled,.button.danger:disabled {background:#586573;border-color:#586573;color:#fff;opacity:1}
.document-history .button {margin:3px 4px 3px 0;white-space:normal}
@media (min-width:981px) {
    :is(.booking-detail-grid,.customer-detail-grid)>.panel:nth-child(odd of .panel):nth-last-child(1 of .panel) {grid-column:1/-1;width:calc((100% - 20px)/2);justify-self:center}
}
.planning-print .table-wrap,.garage-print .table-wrap {max-height:none}
@media print {
    .table-wrap,.card-body-scroll {max-height:none!important;overflow:visible!important}
    .table-wrap thead th {position:static}
    :is(.booking-detail-grid,.customer-detail-grid)>.panel {width:auto!important}
}
/* Lists keep their natural column widths and scroll inside the panel. */
.table-wrap {max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.panel,.dashboard-grid>*,.detail-grid>* {min-width:0}
.table-wrap:focus-visible {
    outline:2px solid #126383;
    outline-offset:-2px}
.field input[aria-invalid="true"],
.field select[aria-invalid="true"],
.field textarea[aria-invalid="true"],
.field input:user-invalid,
.field select:user-invalid {
    border-color:#b91c1c;
    box-shadow:0 0 0 1px #b91c1c}
@media print {
    @page {size:A4 portrait} 
    .table-wrap {overflow:visible}}
.currency-rates{margin-bottom:18px}.currency-rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.currency-rate-grid small{display:block;margin-top:4px;color:#607583}.currency-rate-form{max-width:520px}.currency-rate-form select,.currency-rate-form input{width:100%}@media(max-width:650px){.currency-rate-grid{grid-template-columns:1fr}}
