:root{--ctaxi-ui-bg:#f4f7fb;--ctaxi-ui-surface:#fff;--ctaxi-ui-surface-soft:#f8fafc;--ctaxi-ui-border:#dbe3ee;--ctaxi-ui-text:#122033;--ctaxi-ui-muted:#66758a;--ctaxi-ui-primary:#1266f1;--ctaxi-ui-primary-dark:#0b49b6;--ctaxi-ui-accent:#f5b700;--ctaxi-ui-success:#11845b;--ctaxi-ui-warning:#b96a05;--ctaxi-ui-danger:#b42318;--ctaxi-ui-radius-sm:10px;--ctaxi-ui-radius:16px;--ctaxi-ui-radius-lg:22px;--ctaxi-ui-shadow:0 12px 32px rgba(15,35,63,.08);--ctaxi-ui-shadow-hover:0 18px 44px rgba(15,35,63,.13)}
.ctaxi-admin-shell,.ctaxi-app,.ctaxi-booking-shell{color:var(--ctaxi-ui-text)}
.ctaxi-admin-shell h1,.ctaxi-admin-shell h2,.ctaxi-admin-shell h3,.ctaxi-app h1,.ctaxi-app h2,.ctaxi-app h3{letter-spacing:-.02em}
.ctaxi-admin-shell .ctaxi-card,.ctaxi-app .ctaxi-card,.ctaxi-booking-shell .ctaxi-card{border:1px solid var(--ctaxi-ui-border);border-radius:var(--ctaxi-ui-radius-lg);background:var(--ctaxi-ui-surface);box-shadow:var(--ctaxi-ui-shadow);transition:box-shadow .2s ease,transform .2s ease}
.ctaxi-admin-shell .ctaxi-card:hover,.ctaxi-app .ctaxi-card:hover{box-shadow:var(--ctaxi-ui-shadow-hover)}
.ctaxi-admin-shell .ctaxi-button,.ctaxi-app .ctaxi-button,.ctaxi-booking-shell .ctaxi-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:12px;padding:10px 17px;background:linear-gradient(135deg,var(--ctaxi-ui-primary),var(--ctaxi-ui-primary-dark));color:#fff!important;font-weight:750;text-decoration:none;box-shadow:0 8px 18px rgba(18,102,241,.2);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.ctaxi-admin-shell .ctaxi-button:hover,.ctaxi-app .ctaxi-button:hover,.ctaxi-booking-shell .ctaxi-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(18,102,241,.26);filter:none}
.ctaxi-button-secondary{background:#eef4ff!important;color:var(--ctaxi-ui-primary)!important;border:1px solid #c9d9f5!important;box-shadow:none!important}
.ctaxi-admin-shell input,.ctaxi-admin-shell select,.ctaxi-admin-shell textarea,.ctaxi-app input,.ctaxi-app select,.ctaxi-app textarea,.ctaxi-booking-shell input,.ctaxi-booking-shell select,.ctaxi-booking-shell textarea{border:1px solid #cbd6e4;border-radius:12px;background:#fff;color:var(--ctaxi-ui-text);min-height:42px;transition:border-color .15s ease,box-shadow .15s ease}
.ctaxi-admin-shell input:focus,.ctaxi-admin-shell select:focus,.ctaxi-admin-shell textarea:focus,.ctaxi-app input:focus,.ctaxi-app select:focus,.ctaxi-app textarea:focus,.ctaxi-booking-shell input:focus,.ctaxi-booking-shell select:focus,.ctaxi-booking-shell textarea:focus{outline:0;border-color:var(--ctaxi-ui-primary);box-shadow:0 0 0 3px rgba(18,102,241,.14)}
.ctaxi-table-wrap{border:1px solid var(--ctaxi-ui-border);border-radius:var(--ctaxi-ui-radius);background:#fff;overflow:auto}
.ctaxi-table-wrap table,.ctaxi-table{margin:0;border-collapse:separate;border-spacing:0}
.ctaxi-table-wrap th,.ctaxi-table th{position:sticky;top:0;z-index:1;background:#f3f6fa;color:#334155;font-size:.76rem;letter-spacing:.055em;text-transform:uppercase}
.ctaxi-table-wrap th,.ctaxi-table-wrap td,.ctaxi-table th,.ctaxi-table td{padding:13px 15px;border-bottom:1px solid #e7edf4}
.ctaxi-table-wrap tbody tr:hover,.ctaxi-table tbody tr:hover{background:#f8fbff}
.ctaxi-kpi{border:1px solid var(--ctaxi-ui-border)!important;border-left:0!important;border-radius:var(--ctaxi-ui-radius)!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;box-shadow:0 8px 22px rgba(15,35,63,.06)}
.ctaxi-kpi:before{content:"";display:block;width:38px;height:4px;margin-bottom:12px;border-radius:999px;background:var(--ctaxi-ui-primary)}
.ctaxi-kpi.is-pending:before{background:#f97316}.ctaxi-kpi.is-active:before{background:#2563eb}.ctaxi-kpi.is-upcoming:before{background:#7c3aed}.ctaxi-kpi.is-completed:before{background:#16a34a}.ctaxi-kpi.is-cancelled:before{background:#dc2626}
.ctaxi-status,.ctaxi-status-pill{border:1px solid rgba(15,35,63,.08);font-weight:750;letter-spacing:.02em}
.ctaxi-board-filters{box-shadow:0 8px 22px rgba(15,35,63,.05)}
.ctaxi-empty{padding:32px 20px;color:var(--ctaxi-ui-muted)}

/* Shared professional treatment for every Business Intelligence screen. */
.wrap[class*="ctaxi-bi-"]{max-width:1600px;color:var(--ctaxi-ui-text)}
.wrap[class*="ctaxi-bi-"]>h1,.wrap[class*="ctaxi-bi-"]>h2{letter-spacing:-.03em}
.wrap[class*="ctaxi-bi-"] form{border:1px solid var(--ctaxi-ui-border)!important;border-radius:var(--ctaxi-ui-radius)!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:0 8px 24px rgba(15,35,63,.055)!important}
.wrap[class*="ctaxi-bi-"] form label{color:#334155;font-weight:700}
.wrap[class*="ctaxi-bi-"] input,.wrap[class*="ctaxi-bi-"] select,.wrap[class*="ctaxi-bi-"] textarea{min-height:42px;border:1px solid #cbd6e4!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important}
.wrap[class*="ctaxi-bi-"] input:focus,.wrap[class*="ctaxi-bi-"] select:focus,.wrap[class*="ctaxi-bi-"] textarea:focus{border-color:var(--ctaxi-ui-primary)!important;box-shadow:0 0 0 3px rgba(18,102,241,.14)!important;outline:0!important}
.wrap[class*="ctaxi-bi-"] .button,.wrap[class*="ctaxi-bi-"] button{min-height:40px;border-radius:11px;font-weight:700;transition:transform .15s ease,box-shadow .15s ease}
.wrap[class*="ctaxi-bi-"] .button-primary,.wrap[class*="ctaxi-bi-"] button[type="submit"]{border-color:var(--ctaxi-ui-primary-dark)!important;background:linear-gradient(135deg,var(--ctaxi-ui-primary),var(--ctaxi-ui-primary-dark))!important;color:#fff!important;box-shadow:0 7px 17px rgba(18,102,241,.2)}
.wrap[class*="ctaxi-bi-"] .button:hover,.wrap[class*="ctaxi-bi-"] button:hover{transform:translateY(-1px)}
.wrap[class*="ctaxi-bi-"] section>article,.wrap[class*="ctaxi-bi-"] section>div,.wrap[class*="ctaxi-bi-"] .ctaxi-bi-panel,.wrap[class*="ctaxi-bi-"] .ctaxi-card{border-color:var(--ctaxi-ui-border)!important;border-radius:var(--ctaxi-ui-radius)!important;box-shadow:var(--ctaxi-ui-shadow)!important}
.wrap[class*="ctaxi-bi-"] section>article{transition:transform .18s ease,box-shadow .18s ease}
.wrap[class*="ctaxi-bi-"] section>article:hover{transform:translateY(-2px);box-shadow:var(--ctaxi-ui-shadow-hover)!important}
.wrap[class*="ctaxi-bi-"] article strong{letter-spacing:-.025em}
.wrap[class*="ctaxi-bi-"] table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff}
.wrap[class*="ctaxi-bi-"] table th{background:#f2f6fb!important;color:#334155!important;font-size:.75rem!important;letter-spacing:.055em;text-transform:uppercase}
.wrap[class*="ctaxi-bi-"] table th,.wrap[class*="ctaxi-bi-"] table td{padding:13px 15px!important;border-bottom:1px solid #e7edf4!important}
.wrap[class*="ctaxi-bi-"] table tbody tr{transition:background .15s ease}
.wrap[class*="ctaxi-bi-"] table tbody tr:hover{background:#f7faff}
.wrap[class*="ctaxi-bi-"] .notice,.wrap[class*="ctaxi-bi-"] [class*="alert"]{border-radius:12px;box-shadow:0 6px 18px rgba(15,35,63,.05)}
.wrap[class*="ctaxi-bi-"] progress{height:9px;border:0;border-radius:999px;overflow:hidden;background:#e6edf5}
.wrap[class*="ctaxi-bi-"] progress::-webkit-progress-bar{background:#e6edf5}.wrap[class*="ctaxi-bi-"] progress::-webkit-progress-value{background:linear-gradient(90deg,var(--ctaxi-ui-primary),#55a1ff)}

/* Dispatch Center and reservations board */
.ctaxi-dispatch-center .ctaxi-dispatch-hero,.ctaxi-admin-shell .ctaxi-board-head{border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 45px rgba(15,23,42,.2)}
.ctaxi-dispatch-stat,.ctaxi-analytics-card,.ctaxi-operation-alert,.ctaxi-driver-card,.ctaxi-board-column,.ctaxi-booking-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ctaxi-dispatch-stat:hover,.ctaxi-analytics-card:hover,.ctaxi-operation-alert:hover,.ctaxi-driver-card:hover,.ctaxi-booking-card:hover{transform:translateY(-2px);box-shadow:var(--ctaxi-ui-shadow-hover);border-color:#c7d4e5}
.ctaxi-dispatch-stat:before,.ctaxi-analytics-card:before{content:"";display:block;width:34px;height:4px;margin-bottom:12px;border-radius:999px;background:linear-gradient(90deg,#38bdf8,#2563eb)}
.ctaxi-dispatch-panel,.ctaxi-board-column{border-color:var(--ctaxi-ui-border)!important;box-shadow:var(--ctaxi-ui-shadow)!important}
.ctaxi-dispatch-filters,.ctaxi-board-filters{border-color:var(--ctaxi-ui-border)!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}
.ctaxi-dispatch-table-wrap,.ctaxi-board-list{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.ctaxi-dispatch-table thead th{position:sticky;top:0;z-index:2;background:#f2f6fb!important}
.ctaxi-board-column{position:relative;overflow:hidden}.ctaxi-board-column:after{content:"";position:absolute;inset:0 0 auto;height:5px;background:#94a3b8}.ctaxi-board-column.is-pending:after{background:#f97316}.ctaxi-board-column.is-active:after{background:#2563eb}.ctaxi-board-column.is-upcoming:after{background:#7c3aed}.ctaxi-board-column.is-closed:after{background:#64748b}
.ctaxi-booking-card{border-left:4px solid #94a3b8!important}.ctaxi-booking-card.status-pending{border-left-color:#f97316!important}.ctaxi-booking-card.status-driver_assigned,.ctaxi-booking-card.status-arriving,.ctaxi-booking-card.status-in_progress{border-left-color:#2563eb!important}.ctaxi-booking-card.status-completed{border-left-color:#16a34a!important}.ctaxi-booking-card.status-cancelled,.ctaxi-booking-card.status-disputed{border-left-color:#dc2626!important}
.ctaxi-booking-card h3{letter-spacing:-.02em}.ctaxi-booking-card p{color:#526074}.ctaxi-booking-top{padding-bottom:8px;border-bottom:1px solid #edf1f6}
.ctaxi-dispatch-status,.ctaxi-driver-state,.ctaxi-status-pill{box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}

/* CRM suite: clients, contracts, communications, billing, ledger and dashboard. */
.wrap[class*="ctaxi-crm"],.ctaxi-crm,.ctaxi-crm-contracts{color:var(--ctaxi-ui-text)}
.ctaxi-crm-hero,.ctaxi-contracts-hero,[class*="ctaxi-crm-"] [class*="hero"]{border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 45px rgba(49,46,129,.22)!important;position:relative;overflow:hidden}
.ctaxi-crm-hero:after,.ctaxi-contracts-hero:after{content:"";position:absolute;width:240px;height:240px;right:-80px;top:-120px;border-radius:50%;background:rgba(255,255,255,.08)}
.ctaxi-crm-stats article,.ctaxi-contract-stats article,[class*="ctaxi-crm-"] [class*="stats"] article{border-color:var(--ctaxi-ui-border)!important;background:linear-gradient(180deg,#fff,#fbfcff)!important;box-shadow:var(--ctaxi-ui-shadow)!important;transition:transform .18s ease,box-shadow .18s ease}
.ctaxi-crm-stats article:hover,.ctaxi-contract-stats article:hover,[class*="ctaxi-crm-"] [class*="stats"] article:hover{transform:translateY(-2px);box-shadow:var(--ctaxi-ui-shadow-hover)!important}
.ctaxi-crm-stats article:before,.ctaxi-contract-stats article:before{content:"";display:block;width:36px;height:4px;margin-bottom:12px;border-radius:999px;background:linear-gradient(90deg,#4f46e5,#8b5cf6)}
.ctaxi-crm-panel,.ctaxi-contract-panel,[class*="ctaxi-crm-"] [class*="panel"]{border-color:var(--ctaxi-ui-border)!important;border-radius:var(--ctaxi-ui-radius)!important;box-shadow:var(--ctaxi-ui-shadow)!important;background:#fff!important}
.ctaxi-crm-panel-head,.ctaxi-contract-head,[class*="ctaxi-crm-"] [class*="head"]{padding-bottom:14px;border-bottom:1px solid #e8edf4}
.ctaxi-crm-form,.ctaxi-contract-form,[class*="ctaxi-crm-"] form{border-radius:14px}
.ctaxi-crm-form input,.ctaxi-crm-form select,.ctaxi-crm-form textarea,.ctaxi-contract-form input,.ctaxi-contract-form select,.ctaxi-contract-form textarea,[class*="ctaxi-crm-"] input,[class*="ctaxi-crm-"] select,[class*="ctaxi-crm-"] textarea{min-height:42px;border:1px solid #cbd6e4!important;border-radius:11px!important;background:#fff!important;box-shadow:none!important}
.ctaxi-crm-form input:focus,.ctaxi-crm-form select:focus,.ctaxi-crm-form textarea:focus,.ctaxi-contract-form input:focus,.ctaxi-contract-form select:focus,.ctaxi-contract-form textarea:focus,[class*="ctaxi-crm-"] input:focus,[class*="ctaxi-crm-"] select:focus,[class*="ctaxi-crm-"] textarea:focus{outline:0!important;border-color:#4f46e5!important;box-shadow:0 0 0 3px rgba(79,70,229,.14)!important}
.ctaxi-contact-list article{background:linear-gradient(180deg,#fff,#f8fafc)!important;border-color:var(--ctaxi-ui-border)!important;box-shadow:0 6px 16px rgba(15,35,63,.045);transition:transform .16s ease,box-shadow .16s ease}.ctaxi-contact-list article:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,35,63,.08)}
.ctaxi-crm-table-wrap,.ctaxi-contract-table,[class*="ctaxi-crm-"] [class*="table"]{border:1px solid var(--ctaxi-ui-border);border-radius:14px;overflow:auto;background:#fff}
.ctaxi-crm-table-wrap table,.ctaxi-contract-table table,[class*="ctaxi-crm-"] table{width:100%;border-collapse:separate!important;border-spacing:0!important}
.ctaxi-crm-table-wrap th,.ctaxi-contract-table th,[class*="ctaxi-crm-"] table th{position:sticky;top:0;z-index:1;background:#f3f5fb!important;color:#334155!important;font-size:.75rem!important;letter-spacing:.05em;text-transform:uppercase}
.ctaxi-crm-table-wrap th,.ctaxi-crm-table-wrap td,.ctaxi-contract-table th,.ctaxi-contract-table td,[class*="ctaxi-crm-"] table th,[class*="ctaxi-crm-"] table td{padding:13px 15px!important;border-bottom:1px solid #e7edf4!important}
.ctaxi-crm-table-wrap tbody tr:hover,.ctaxi-contract-table tbody tr:hover,[class*="ctaxi-crm-"] table tbody tr:hover{background:#fafaff}
.ctaxi-crm-status,.ctaxi-contract-status,[class*="ctaxi-crm-"] [class*="status"]{border:1px solid rgba(15,35,63,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.ctaxi-crm-filters,[class*="ctaxi-crm-"] [class*="filters"]{padding:14px;border:1px solid var(--ctaxi-ui-border);border-radius:14px;background:linear-gradient(180deg,#fff,#f8faff);box-shadow:0 7px 20px rgba(15,35,63,.045)}

@media(prefers-reduced-motion:reduce){.ctaxi-admin-shell *,.ctaxi-app *,.ctaxi-booking-shell *,.wrap[class*="ctaxi-bi-"] *,.ctaxi-dispatch-center *,.ctaxi-crm *,[class*="ctaxi-crm-"] *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:700px){.ctaxi-admin-shell .ctaxi-card,.ctaxi-app .ctaxi-card,.ctaxi-booking-shell .ctaxi-card{border-radius:16px}.ctaxi-table-wrap th,.ctaxi-table-wrap td,.ctaxi-table th,.ctaxi-table td{padding:11px 12px}.wrap[class*="ctaxi-bi-"]{margin-right:10px}.wrap[class*="ctaxi-bi-"] table th,.wrap[class*="ctaxi-bi-"] table td{padding:10px 11px!important}.wrap[class*="ctaxi-bi-"] section>article{border-radius:14px!important}.ctaxi-crm-stats,.ctaxi-contract-stats{gap:10px}.ctaxi-crm-panel,.ctaxi-contract-panel{padding:15px!important}.ctaxi-crm-table-wrap th,.ctaxi-crm-table-wrap td,.ctaxi-contract-table th,.ctaxi-contract-table td{padding:10px 11px!important}}
