@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";.dashboard-layout{display:flex;min-height:100vh;background-color:#f8fafc}.sidebar{width:260px;background-color:var(--color-primary-800, #1e2a3a);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:.75rem}.sidebar-logo{font-family:Plus Jakarta Sans,sans-serif;font-size:1.5rem;font-weight:700;margin:0;color:#fff}.env-badge{font-size:.625rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.env-badge-dev{background-color:#f59e0b;color:#000}.env-badge-prod{background-color:#10b981;color:#fff}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;color:#ffffffb3;text-decoration:none;font-size:.9375rem;font-weight:500;transition:all .15s ease;border-left:3px solid transparent}.nav-item:hover{background-color:#ffffff0d;color:#fff}.nav-item-active{background-color:#ffffff1a;color:#fff;border-left-color:var(--color-accent-600, #f05365)}.nav-icon{font-size:1.25rem;width:1.5rem;text-align:center}.nav-label{flex:1}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.user-section{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.user-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--color-accent-600, #f05365);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;text-transform:uppercase}.sidebar-user-details{flex:1;min-width:0}.user-name{display:block;font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{display:block;font-size:.75rem;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-logout{width:100%;padding:.625rem 1rem;background-color:#ffffff1a;border:none;border-radius:6px;color:#fffc;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-logout:hover{background-color:#ffffff26;color:#fff}.main-content{flex:1;margin-left:260px;padding:2rem;min-height:100vh}@media (max-width: 768px){.sidebar{width:100%;position:relative;height:auto}.main-content{margin-left:0}.dashboard-layout{flex-direction:column}}.rides-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.rides-table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#64748b}.rides-table-loading .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--color-accent-600, #f05365);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.rides-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-icon{font-size:4rem;margin-bottom:1rem}.rides-table-empty h3{font-size:1.25rem;font-weight:600;color:var(--color-primary-800, #1e2a3a);margin:0 0 .5rem}.rides-table-empty p{color:#64748b;margin:0 0 1.5rem;max-width:300px}.rides-table-empty .btn{padding:.75rem 1.5rem;font-size:.9375rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;padding:1.5rem;background:linear-gradient(135deg,var(--color-primary-800, #1e2a3a) 0%,var(--color-primary-700, #2c3e50) 100%)}.summary-card{background:#ffffff1a;border-radius:8px;padding:1rem;text-align:center}.summary-label{display:block;font-size:.75rem;color:#ffffffb3;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.summary-value{display:block;font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:700;color:#fff}.summary-value.success{color:#4ade80}.summary-value.error{color:#f87171}.summary-card-with-tooltip{position:relative;cursor:pointer}.summary-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fff;color:#1e2a3a;padding:.75rem 1rem;border-radius:8px;font-size:.8125rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:100;box-shadow:0 4px 12px #00000026}.summary-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#fff}.summary-card-with-tooltip:hover .summary-tooltip{opacity:1;visibility:visible}.tooltip-row{display:flex;justify-content:space-between;gap:1rem;padding:.125rem 0}.tooltip-row span:first-child{color:#64748b}.tooltip-row span:last-child{font-weight:600;font-family:JetBrains Mono,monospace;color:#1e2a3a}.rides-table{width:100%;border-collapse:collapse;font-size:.875rem}.rides-table th{background:#f8fafc;padding:.875rem 1rem;text-align:left;font-weight:600;color:var(--color-primary-800, #1e2a3a);border-bottom:1px solid #e2e8f0;white-space:nowrap}.rides-table td{padding:.875rem 1rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.rides-table tbody tr:hover{background:#f8fafc}.rides-table tbody tr.row-cancelled{background:#fef2f2}.rides-table tbody tr.row-cancelled:hover{background:#fee2e2}.cell-index{width:50px;color:#94a3b8;font-family:JetBrains Mono,monospace}.cell-date{white-space:nowrap}.cell-time{font-family:JetBrains Mono,monospace}.cell-duration,.cell-distance{font-family:JetBrains Mono,monospace;color:#64748b}.cell-income,.cell-deductions,.cell-net{font-family:JetBrains Mono,monospace}.status-badge.status-error{background:#fee2e2;color:#991b1b}.income-breakdown,.deductions-breakdown{display:flex;flex-direction:column;gap:.125rem}.totals-row{background:#f8fafc}.totals-row td{padding:1rem;border-top:2px solid #e2e8f0}.totals-label{color:var(--color-primary-800, #1e2a3a)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc}.pagination-info{font-size:.875rem;color:#64748b}.pagination-controls{display:flex;align-items:center;gap:.25rem}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .5rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;font-weight:500;color:var(--color-primary-800, #1e2a3a);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.pagination-btn.active{background:var(--color-accent-600, #f05365);border-color:var(--color-accent-600, #f05365);color:#fff}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:#94a3b8;font-size:.875rem}.page-size-selector{display:flex;align-items:center;gap:.5rem}.page-size-selector label{font-size:.875rem;color:#64748b}.page-size-select{padding:.5rem 2rem .5rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;color:var(--color-primary-800, #1e2a3a);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:all .15s ease}.page-size-select:hover{border-color:#cbd5e1}.page-size-select:focus{outline:none;border-color:var(--color-accent-600, #f05365);box-shadow:0 0 0 3px #f053651a}.rides-table input,.rides-table select{color:#1e2a3a!important;-webkit-text-fill-color:#1e2a3a!important;background-color:#fff!important}@media (max-width: 768px){.summary-cards{grid-template-columns:repeat(2,1fr)}.rides-table{font-size:.8125rem}.rides-table th,.rides-table td{padding:.625rem .5rem}.pagination{flex-direction:column;gap:.75rem}.pagination-info{order:3}.page-size-selector{order:2;justify-content:center}.pagination-controls{order:1}}.date-filter{position:relative;display:inline-block}.date-filter-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.9375rem;font-weight:500;color:var(--color-primary-800, #1e2a3a);cursor:pointer;transition:all .15s ease;min-width:200px;height:auto}.date-filter-trigger:hover{background:#f8fafc;border-color:#cbd5e1}.date-filter-trigger:focus{outline:none;border-color:var(--color-accent-600, #f05365);box-shadow:0 0 0 3px #f053651a}.filter-icon{font-size:1rem}.filter-label{flex:1;text-align:left}.filter-chevron{font-size:.625rem;color:#94a3b8;transition:transform .2s ease}.filter-chevron.open{transform:rotate(180deg)}.date-filter-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:50;list-style:none;margin:0;padding:.25rem;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.date-filter-dropdown li{margin:0}.dropdown-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:6px;font-size:.875rem;color:var(--color-primary-800, #1e2a3a);text-align:left;cursor:pointer;transition:background .1s ease}.dropdown-option:hover{background:#f1f5f9}.dropdown-option.selected{background:#f0536514;color:var(--color-accent-600, #f05365);font-weight:500}.check-icon{color:var(--color-accent-600, #f05365);font-size:.875rem}@media (max-width: 640px){.date-filter-trigger{min-width:150px;padding:.5rem .75rem;font-size:.8125rem}.date-filter-dropdown{min-width:200px}}.status-filter{position:relative;display:inline-block}.status-filter-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.9375rem;font-weight:500;color:var(--color-primary-800, #1e2a3a);cursor:pointer;transition:all .15s ease;min-width:180px;height:auto}.status-filter-trigger:hover{background:#f8fafc;border-color:#cbd5e1}.status-filter-trigger:focus{outline:none;border-color:var(--color-accent-600, #f05365);box-shadow:0 0 0 3px #f053651a}.status-filter .filter-icon{font-size:1rem}.status-filter .filter-label{flex:1;text-align:left}.status-filter .filter-chevron{font-size:.625rem;color:#94a3b8;transition:transform .2s ease}.status-filter .filter-chevron.open{transform:rotate(180deg)}.status-filter-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:50;list-style:none;margin:0;padding:.25rem;animation:statusDropdownFadeIn .15s ease}@keyframes statusDropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.status-filter-dropdown li{margin:0}.status-filter-dropdown .dropdown-option{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:6px;font-size:.875rem;color:var(--color-primary-800, #1e2a3a);text-align:left;cursor:pointer;transition:background .1s ease;white-space:nowrap}.status-filter-dropdown .dropdown-option:hover{background:#f1f5f9}.status-filter-dropdown .dropdown-option.selected{background:#f0536514;color:var(--color-accent-600, #f05365);font-weight:500}.status-filter-dropdown .option-icon{font-size:.875rem}.status-filter-dropdown .check-icon{margin-left:auto;color:var(--color-accent-600, #f05365);font-size:.875rem}@media (max-width: 640px){.status-filter-trigger{min-width:150px;padding:.5rem .75rem;font-size:.8125rem}.status-filter-dropdown{min-width:180px}}.dashboard-page{max-width:1400px;margin:0 auto}.btn.btn-outline{background:#fff;color:var(--color-primary-800, #1e2a3a);border:1px solid #e2e8f0!important;height:auto;line-height:1.5}.btn.btn-outline:hover{background:#f8fafc;border-color:#cbd5e1!important}.btn.btn-outline:focus{outline:none;border-color:var(--color-accent-600, #f05365)!important;box-shadow:0 0 0 3px #f053651a}@media (max-width: 768px){.page-header{flex-direction:column;gap:1rem;align-items:flex-start}.page-header-actions{width:100%;flex-direction:column}.page-header-actions .btn{width:100%}.error-banner{flex-wrap:wrap}.btn-retry{width:100%;margin-top:.5rem}}.vehicles-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.vehicles-table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#64748b}.vehicles-table-loading .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:var(--color-accent-600, #f05365);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.vehicles-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.vehicles-table-empty .empty-icon{font-size:4rem;margin-bottom:1rem}.vehicles-table-empty h3{font-size:1.25rem;font-weight:600;color:var(--color-primary-800, #1e2a3a);margin:0 0 .5rem}.vehicles-table-empty p{color:#64748b;margin:0 0 1.5rem;max-width:300px}.vehicles-table-empty .btn{padding:.75rem 1.5rem;font-size:.9375rem}.summary-bar{display:flex;gap:2rem;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--color-primary-800, #1e2a3a) 0%,var(--color-primary-700, #2c3e50) 100%)}.summary-item{display:flex;align-items:baseline;gap:.5rem}.summary-count{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;color:#fff}.summary-bar .summary-label{font-size:.875rem;color:#ffffffb3}.table-wrapper{overflow-x:auto}.vehicles-table{width:100%;border-collapse:collapse;font-size:.875rem}.vehicles-table th{background:#f8fafc;padding:.875rem 1rem;text-align:left;font-weight:600;color:var(--color-primary-800, #1e2a3a);border-bottom:1px solid #e2e8f0;white-space:nowrap}.vehicles-table td{padding:.875rem 1rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.vehicles-table tbody tr:hover{background:#f8fafc}.vehicles-table tbody tr.row-primary{background:#fef3c7}.vehicles-table tbody tr.row-primary:hover{background:#fde68a}.th-photo{width:60px}.cell-photo{width:60px;padding:.5rem!important}.vehicle-thumbnail{width:48px;height:48px;object-fit:cover;border-radius:6px;box-shadow:0 1px 3px #0000001a}.vehicle-thumbnail-placeholder{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#f1f5f9;border-radius:6px;font-size:1.25rem}.cell-plate{font-family:JetBrains Mono,monospace;font-weight:600;white-space:nowrap}.primary-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--color-accent-600, #f05365);color:#fff;font-size:.625rem;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.cell-vehicle{min-width:180px}.vehicle-info{display:flex;flex-direction:column;gap:.125rem}.vehicle-brand{font-weight:600;color:var(--color-primary-800, #1e2a3a)}.vehicle-model{color:#64748b}.vehicle-year{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#94a3b8}.cell-type{color:#64748b}.cell-capacity{font-family:JetBrains Mono,monospace;color:#64748b}.cell-document{font-family:JetBrains Mono,monospace;font-size:.8125rem}.cell-document.expiry-ok{color:var(--color-success-600, #16a34a)}.cell-document.expiry-warning{color:var(--color-warning-500, #eab308)}.cell-document.expiry-expired{color:var(--color-error-500, #ef4444)}.expiry-tag{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;background:#fee2e2;color:#991b1b;font-size:.625rem;font-weight:600;border-radius:4px;text-transform:uppercase}.expiry-tag.warning{background:#fef3c7;color:#92400e}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;white-space:nowrap}.status-badge.status-success{background:#dcfce7;color:#166534}.status-badge.status-warning{background:#fef3c7;color:#92400e}.status-badge.status-info{background:#dbeafe;color:#1e40af}.status-badge.status-pending{background:#f3e8ff;color:#6b21a8}.cell-actions{white-space:nowrap}.btn-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .15s ease;margin-right:.25rem}.btn-action:hover{background:#f1f5f9}.btn-set-primary{color:#eab308}.btn-set-primary:hover{background:#fef3c7;border-color:#eab308}.btn-delete{color:#ef4444}.btn-delete:hover{background:#fee2e2;border-color:#ef4444}.btn-edit{color:var(--color-accent-600, #f05365)}.btn-edit:hover{background:#f053651a;border-color:var(--color-accent-600, #f05365)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}@media (max-width: 768px){.summary-bar{flex-direction:column;gap:.5rem}.vehicles-table{font-size:.8125rem}.vehicles-table th,.vehicles-table td{padding:.625rem .5rem}.cell-vehicle{min-width:120px}}.vehicle-form-container{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;max-width:720px;width:100%;max-height:90vh;overflow-y:auto}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:1}.form-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-primary-800, #1e2a3a)}.btn-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;font-size:1.5rem;color:#64748b;cursor:pointer;transition:all .15s ease}.btn-close:hover{background:#f1f5f9;color:var(--color-primary-800, #1e2a3a)}.vehicle-form{padding:1.5rem}.form-section{border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.form-section legend{font-size:.875rem;font-weight:600;color:var(--color-primary-800, #1e2a3a);padding:0 .5rem;margin-left:-.5rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.form-row:last-child{margin-bottom:0}@media (max-width: 480px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:#475569}.form-group input,.form-group select,.form-group textarea{padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9375rem;color:var(--color-primary-800, #1e2a3a);background:#fff;transition:all .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent-600, #f05365);box-shadow:0 0 0 3px #f053651a}.form-group input.error,.form-group select.error{border-color:var(--color-error-500, #ef4444)}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group textarea{resize:vertical;min-height:80px}.error-message{font-size:.75rem;color:var(--color-error-500, #ef4444)}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.625rem;font-size:.9375rem;color:#475569;cursor:pointer;line-height:1.4}.checkbox-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px;accent-color:var(--color-accent-600, #f05365);cursor:pointer;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #e2e8f0;margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--color-accent-500, #f47585)}.btn-secondary{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem;cursor:pointer}.form-group input[type=date]{cursor:pointer;position:relative}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;display:block;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%2364748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>') no-repeat center;background-size:16px 16px;width:20px;height:20px;padding:0;margin-right:4px}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.8}.form-group input[type=number]{font-family:JetBrains Mono,monospace}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{opacity:1}.image-upload-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.image-input{display:none}.image-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:180px;border:2px dashed #e2e8f0;border-radius:8px;background:#f8fafc;cursor:pointer;transition:all .15s ease}.image-upload-placeholder:hover{border-color:var(--color-accent-600, #f05365);background:#fff}.upload-icon{font-size:2.5rem;margin-bottom:.5rem}.upload-text{font-size:.9375rem;font-weight:500;color:var(--color-primary-800, #1e2a3a)}.upload-hint{font-size:.75rem;color:#94a3b8;margin-top:.25rem}.image-preview-wrapper{position:relative;display:inline-block}.image-preview{max-width:100%;max-height:200px;border-radius:8px;object-fit:cover;box-shadow:0 2px 8px #0000001a}.btn-remove-image{position:absolute;top:-8px;right:-8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-error-500, #ef4444);color:#fff;border:2px solid #fff;border-radius:50%;font-size:1.25rem;line-height:1;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 4px #00000026}.btn-remove-image:hover{background:#dc2626;transform:scale(1.1)}.btn-change-image{padding:.5rem 1rem;font-size:.8125rem}.btn-outline{background:transparent;border:1px solid #e2e8f0;color:#475569}.btn-outline:hover{background:#f1f5f9;border-color:#cbd5e1}.vehicles-page{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header-content{flex:1}.page-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.75rem;font-weight:700;color:var(--color-primary-800, #1e2a3a);margin:0 0 .25rem}.page-subtitle{color:#64748b;margin:0;font-size:.9375rem}.page-header-actions{display:flex;align-items:stretch;gap:.75rem}.page-header-actions>*{display:flex;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-decoration:none}.btn-primary{background:var(--color-accent-600, #f05365);color:#fff}.btn-primary:hover{background:var(--color-accent-500, #f47585)}.btn-outline{background:#fff;color:var(--color-primary-800, #1e2a3a);border:1px solid #e2e8f0;height:auto;line-height:1.5}.btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.error-icon{font-size:1.25rem}.error-banner span:nth-child(2){flex:1}.btn-retry{background:#fff;border:1px solid #fecaca;color:#991b1b;padding:.375rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-retry:hover{background:#fee2e2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{max-width:100%;max-height:100%;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.page-header{flex-direction:column;gap:1rem;align-items:flex-start}.page-header-actions{width:100%;flex-direction:column}.page-header-actions .btn{width:100%}.error-banner{flex-wrap:wrap}.btn-retry{width:100%;margin-top:.5rem}.modal-overlay{padding:.5rem}}.indriver-uploader{display:flex;flex-direction:column;gap:1.5rem}.uploader-header{text-align:center}.uploader-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.5rem;font-weight:600;color:var(--color-primary-800, #1e2a3a);margin:0 0 .5rem}.uploader-subtitle{font-family:Inter,sans-serif;font-size:.875rem;color:#64748b;margin:0}.drop-zone{display:flex;align-items:center;justify-content:center;min-height:200px;border:2px dashed #cbd5e1;border-radius:12px;background-color:#f8fafc;cursor:pointer;transition:all .2s ease}.drop-zone:hover:not(.drop-zone-disabled){border-color:var(--color-accent-600, #f05365);background-color:#fff}.drop-zone-active{border-color:var(--color-accent-600, #f05365);background-color:#fef2f2;border-style:solid}.drop-zone-disabled{cursor:not-allowed;opacity:.6}.file-input{display:none}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;text-align:center}.drop-zone-icon{font-size:3rem}.drop-zone-text{font-family:Inter,sans-serif;font-size:1rem;color:var(--color-primary-800, #1e2a3a);margin:0}.drop-zone-hint{font-family:Inter,sans-serif;font-size:.75rem;color:#94a3b8;margin:0}.file-list{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.file-list-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.file-count{font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;color:var(--color-primary-800, #1e2a3a)}.btn-clear{font-family:Inter,sans-serif;font-size:.75rem;color:#64748b;background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s ease}.btn-clear:hover:not(:disabled){color:var(--color-error-500, #ef4444);background-color:#fef2f2}.btn-clear:disabled{cursor:not-allowed;opacity:.5}.files{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}.file-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0}.file-item:last-child{border-bottom:none}.file-preview{width:48px;height:48px;border-radius:6px;overflow:hidden;flex-shrink:0;background-color:#f1f5f9}.file-preview img{width:100%;height:100%;object-fit:cover}.file-preview-pdf{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;color:#64748b;background-color:#e2e8f0}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.file-name{font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;color:var(--color-primary-800, #1e2a3a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#94a3b8}.file-error{font-family:Inter,sans-serif;font-size:.75rem;color:var(--color-error-500, #ef4444)}.file-status{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.875rem;border-radius:50%}.file-status-pending{color:#94a3b8}.file-status-processing{color:var(--color-info-500, #0ea5e9);animation:pulse 1s infinite}.file-status-success{color:#fff;background-color:var(--color-success-600, #16a34a)}.file-status-error{color:#fff;background-color:var(--color-error-500, #ef4444)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.btn-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#94a3b8;background:none;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-remove:hover:not(:disabled){color:var(--color-error-500, #ef4444);background-color:#fef2f2}.btn-remove:disabled{cursor:not-allowed;opacity:.5}.uploader-actions{display:flex;justify-content:center}.review-table-container{display:flex;flex-direction:column;gap:1.5rem}.review-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;text-align:center;color:#64748b}.review-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.review-title-section{display:flex;align-items:flex-start;gap:.75rem}.btn-back{font-size:1.25rem;padding:.5rem;background:none;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-back:hover{background-color:#f1f5f9}.review-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:600;color:var(--color-primary-800, #1e2a3a);margin:0}.review-subtitle{font-family:Inter,sans-serif;font-size:.875rem;color:#64748b;margin:.25rem 0 0}.review-edit-hint{font-family:Inter,sans-serif;font-size:.75rem;color:#94a3b8;margin:.5rem 0 0;font-style:italic}.review-actions{display:flex;gap:.5rem}.export-dropdown{position:relative}.export-menu{position:absolute;top:100%;right:0;margin-top:.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:10;overflow:hidden}.export-menu button{display:block;width:100%;padding:.625rem 1rem;font-family:Inter,sans-serif;font-size:.875rem;text-align:left;background:none;border:none;cursor:pointer;transition:background-color .2s ease}.export-menu button:hover{background-color:#f1f5f9}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.summary-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.summary-label{font-family:Inter,sans-serif;font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.summary-value{font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:600;color:var(--color-primary-800, #1e2a3a)}.summary-value.success{color:var(--color-success-600, #16a34a)}.summary-value.error{color:var(--color-error-500, #ef4444)}.table-wrapper{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.review-table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif;font-size:.875rem}.review-table th,.review-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.review-table th{font-weight:600;color:#64748b;background-color:#f8fafc;white-space:nowrap}.review-table tbody tr:hover{background-color:#f8fafc}.review-table tbody tr.row-cancelled{background-color:#fef2f2}.review-table tbody tr.row-cancelled:hover{background-color:#fee2e2}.cell-index{font-family:JetBrains Mono,monospace;color:#94a3b8;text-align:center;width:40px}.cell-date,.cell-time{font-family:JetBrains Mono,monospace;white-space:nowrap}.cell-date{min-width:140px}.cell-time{min-width:100px}.cell-passenger{min-width:120px}.passenger-info{display:flex;flex-direction:column;gap:.125rem}.passenger-name{font-weight:500;color:var(--color-primary-800, #1e2a3a)}.passenger-rating{font-size:.75rem;color:#eab308}.cell-destination{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-duration,.cell-distance{font-family:JetBrains Mono,monospace;white-space:nowrap}.cell-status{white-space:nowrap}.cell-income{font-family:JetBrains Mono,monospace}.income-breakdown{display:flex;flex-direction:column;gap:.125rem}.income-value{font-weight:600;color:var(--color-primary-800, #1e2a3a)}.income-detail{font-size:.75rem;color:#94a3b8}.cell-deductions{font-family:JetBrains Mono,monospace}.deductions-breakdown{display:flex;flex-direction:column;gap:.125rem}.deduction-value{font-weight:600;color:var(--color-error-500, #ef4444)}.deduction-detail{font-size:.75rem;color:#f87171}.cell-net{font-family:JetBrains Mono,monospace}.net-value{font-weight:700;color:var(--color-success-600, #16a34a);font-size:1rem}.cell-confidence{white-space:nowrap}.cell-actions{text-align:center}.status-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:4px}.status-success{color:var(--color-success-600, #16a34a);background-color:#dcfce7}.status-error{color:var(--color-error-500, #ef4444);background-color:#fee2e2}.status-default{color:#64748b;background-color:#f1f5f9}.confidence-badge{display:inline-block;padding:.25rem .5rem;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;border-radius:4px}.confidence-high{color:var(--color-success-600, #16a34a);background-color:#dcfce7}.confidence-medium{color:var(--color-warning-500, #eab308);background-color:#fef9c3}.confidence-low{color:var(--color-error-500, #ef4444);background-color:#fee2e2}.btn-action{padding:.375rem;background:none;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.btn-action:hover{background-color:#f1f5f9}.btn-delete:hover{background-color:#fee2e2}.totals-row{background-color:#f8fafc}.totals-row td{border-bottom:none}.totals-label{text-align:right;padding-right:1rem}.review-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #e2e8f0}.btn{font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.btn-primary{color:#fff;background-color:var(--color-accent-600, #f05365)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-500, #f47585)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{color:var(--color-primary-800, #1e2a3a);background-color:#fff;border:1px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background-color:#f8fafc}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.editable-cell{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;margin:-.125rem -.25rem;border-radius:4px;cursor:pointer;transition:all .15s ease;position:relative}.editable-cell:hover{background-color:#f0536514;outline:1px dashed var(--color-accent-600, #f05365)}.editable-cell .edit-icon{font-size:.625rem;opacity:0;color:var(--color-accent-600, #f05365);transition:opacity .15s ease}.editable-cell:hover .edit-icon{opacity:1}.editable-input{font-family:JetBrains Mono,monospace;font-size:.875rem;padding:.25rem .5rem;border:1px solid var(--color-accent-600, #f05365);border-radius:4px;background-color:#fff!important;color:#1e2a3a!important;-webkit-text-fill-color:#1e2a3a!important;outline:none;box-shadow:0 0 0 2px #f0536533;min-width:80px}.review-table input,.review-table select{color:#1e2a3a!important;-webkit-text-fill-color:#1e2a3a!important;background-color:#fff!important}.editable-input:focus{border-color:var(--color-accent-500, #f47585);color:#1e2a3a}.editable-number{text-align:right;max-width:120px}.editable-select{font-family:Inter,sans-serif;min-width:140px;cursor:pointer}.editable-date{font-family:JetBrains Mono,monospace;min-width:140px;width:140px;cursor:pointer;color:#1e2a3a!important;background-color:#fff!important;padding:.25rem .5rem}.editable-date::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;margin-left:4px;opacity:.7}.editable-date::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date].editable-input{color:#1e2a3a;-webkit-text-fill-color:#1e2a3a}.editable-time,input[type=time].editable-input{font-family:JetBrains Mono,monospace;min-width:120px;width:120px;color:#1e2a3a!important;-webkit-text-fill-color:#1e2a3a;background-color:#fff!important}input[type=time].editable-input::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;margin-left:4px;opacity:.7}input[type=time].editable-input::-webkit-calendar-picker-indicator:hover{opacity:1}.status-badge.editable-cell{cursor:pointer}.status-badge.editable-cell:hover{outline:1px dashed currentColor}.status-badge.editable-cell .edit-icon{margin-left:.25rem}.income-value.editable-cell,.deduction-value.editable-cell,.deduction-detail.editable-cell{display:inline-flex}.deduction-value.editable-cell{font-weight:600;color:var(--color-error-500, #ef4444)}.net-value.editable-cell{font-weight:700;color:var(--color-success-600, #16a34a);font-size:1rem}.value-warning{background-color:#eab30826!important;border-radius:4px;animation:pulse-warning 2s ease-in-out infinite}.value-warning:before{content:"⚠️";margin-right:.25rem;font-size:.75rem}@keyframes pulse-warning{0%,to{background-color:#eab30826}50%{background-color:#eab3084d}}.editable-cell.value-warning:hover{background-color:#eab3084d!important;outline-color:var(--color-warning-500, #eab308)}@media (max-width: 768px){.review-header{flex-direction:column}.summary-cards{grid-template-columns:repeat(2,1fr)}.review-footer{flex-direction:column}.review-footer .btn{width:100%;justify-content:center}}.indriver-import-page{min-height:100vh;background-color:#f8fafc;padding:2rem 1rem}.page-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.alert{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;font-family:Inter,sans-serif;font-size:.875rem}.alert-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.alert-success{color:#166534;background-color:#dcfce7;border:1px solid #bbf7d0}.alert-warning{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.alert-icon{flex-shrink:0}.alert-message{flex:1}.indriver-uploader,.review-table-container{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000000d}@media (max-width: 768px){.indriver-import-page{padding:1rem}.indriver-uploader,.review-table-container{padding:1.5rem 1rem}}:root{--color-primary-900: #0F151D;--color-primary-800: #1E2A3A;--color-primary-700: #2C3E50;--color-primary-600: #34495E;--color-primary-500: #415B76;--color-primary-400: #5D7A99;--color-primary-300: #8BA3BB;--color-primary-200: #B8C9D9;--color-primary-100: #E4EBF1;--color-primary-50: #F5F7FA;--color-accent-900: #7A1A26;--color-accent-800: #A82335;--color-accent-700: #D62C43;--color-accent-600: #F05365;--color-accent-500: #F47585;--color-accent-400: #F797A4;--color-accent-300: #FABAC3;--color-accent-200: #FCDCE1;--color-accent-100: #FEF0F2;--color-accent-50: #FFF5F6;--color-success-700: #15803D;--color-success-600: #16A34A;--color-success-500: #22C55E;--color-success-400: #4ADE80;--color-success-100: #DCFCE7;--color-success-50: #F0FDF4;--color-warning-700: #A16207;--color-warning-600: #CA8A04;--color-warning-500: #EAB308;--color-warning-400: #FACC15;--color-warning-100: #FEF9C3;--color-warning-50: #FEFCE8;--color-error-700: #B91C1C;--color-error-600: #DC2626;--color-error-500: #EF4444;--color-error-400: #F87171;--color-error-100: #FEE2E2;--color-error-50: #FEF2F2;--color-info-700: #0369A1;--color-info-600: #0284C7;--color-info-500: #0EA5E9;--color-info-400: #38BDF8;--color-info-100: #E0F2FE;--color-info-50: #F0F9FF;--color-neutral-950: #0A0A0A;--color-neutral-900: #171717;--color-neutral-800: #262626;--color-neutral-700: #404040;--color-neutral-600: #525252;--color-neutral-500: #737373;--color-neutral-400: #A3A3A3;--color-neutral-300: #D4D4D4;--color-neutral-200: #E5E5E5;--color-neutral-100: #F5F5F5;--color-neutral-50: #FAFAFA;--color-white: #FFFFFF;--surface-background: var(--color-neutral-50);--surface-card: var(--color-white);--surface-elevated: var(--color-white);--surface-overlay: rgba(30, 42, 58, .5);--surface-sidebar: var(--color-primary-800);--surface-header: var(--color-white);--text-primary: var(--color-primary-800);--text-secondary: var(--color-neutral-600);--text-tertiary: var(--color-neutral-500);--text-disabled: var(--color-neutral-400);--text-inverse: var(--color-white);--text-accent: var(--color-accent-600);--text-link: var(--color-info-600);--text-link-hover: var(--color-info-700);--border-default: var(--color-neutral-200);--border-strong: var(--color-neutral-300);--border-subtle: var(--color-neutral-100);--border-focus: var(--color-accent-600);--border-error: var(--color-error-500);--border-success: var(--color-success-500);--ride-pending: var(--color-warning-500);--ride-in-progress: var(--color-info-500);--ride-completed: var(--color-success-500);--ride-cancelled: var(--color-error-500);--service-standard: var(--color-primary-600);--service-pets: var(--color-accent-600);--service-senior: var(--color-info-600);--service-special: var(--color-warning-600);--money-positive: var(--color-success-600);--money-negative: var(--color-error-600);--money-neutral: var(--color-neutral-600);--commission-highlight: var(--color-accent-500)}[data-theme=dark]{--surface-background: var(--color-primary-900);--surface-card: var(--color-primary-800);--surface-elevated: var(--color-primary-700);--surface-overlay: rgba(0, 0, 0, .7);--surface-sidebar: var(--color-neutral-950);--surface-header: var(--color-primary-800);--text-primary: var(--color-neutral-100);--text-secondary: var(--color-neutral-300);--text-tertiary: var(--color-neutral-400);--text-disabled: var(--color-neutral-500);--text-inverse: var(--color-primary-800);--border-default: var(--color-primary-700);--border-strong: var(--color-primary-600);--border-subtle: var(--color-primary-800)}:root{--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em}.heading-1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.heading-2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.heading-3{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.heading-4{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.heading-5{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--text-primary)}.overline{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-secondary)}.body-lg{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--font-normal);line-height:var(--leading-relaxed);color:var(--text-primary)}.body-base{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary)}.body-sm{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-secondary)}.caption{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-tertiary)}.button-text{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-none);letter-spacing:var(--tracking-wide)}.table-header{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary)}.table-cell{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary)}.data-number{font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-medium);font-variant-numeric:tabular-nums}.data-currency{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums}.data-stat{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}@media (max-width: 768px){:root{--text-4xl: 1.875rem;--text-5xl: 2.25rem;--text-6xl: 2.5rem}}:root{--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(30, 42, 58, .05);--shadow-sm: 0 1px 3px 0 rgba(30, 42, 58, .1), 0 1px 2px -1px rgba(30, 42, 58, .1);--shadow-md: 0 4px 6px -1px rgba(30, 42, 58, .1), 0 2px 4px -2px rgba(30, 42, 58, .1);--shadow-lg: 0 10px 15px -3px rgba(30, 42, 58, .1), 0 4px 6px -4px rgba(30, 42, 58, .1);--shadow-xl: 0 20px 25px -5px rgba(30, 42, 58, .1), 0 8px 10px -6px rgba(30, 42, 58, .1);--shadow-2xl: 0 25px 50px -12px rgba(30, 42, 58, .25);--shadow-accent: 0 4px 14px 0 rgba(240, 83, 101, .4);--shadow-inner: inset 0 2px 4px 0 rgba(30, 42, 58, .05);--ring-focus: 0 0 0 3px rgba(240, 83, 101, .3);--width-sidebar: 280px;--width-sidebar-collapsed: 72px;--width-content-max: 1280px;--width-form-max: 640px;--width-card-sm: 320px;--width-card-md: 400px;--width-card-lg: 480px;--width-modal-sm: 400px;--width-modal-md: 560px;--width-modal-lg: 800px;--height-header: 64px;--height-input: 40px;--height-input-sm: 32px;--height-input-lg: 48px;--height-button: 40px;--height-button-sm: 32px;--height-button-lg: 48px;--height-table-row: 52px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-slower: .5s ease;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);height:var(--height-button);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-none);text-decoration:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background-color:var(--color-accent-600);color:var(--color-white);border-color:var(--color-accent-600)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-700);border-color:var(--color-accent-700);box-shadow:var(--shadow-accent)}.btn-secondary{background-color:var(--color-primary-800);color:var(--color-white);border-color:var(--color-primary-800)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-700);border-color:var(--color-primary-700)}.btn-outline{background-color:transparent;color:var(--color-primary-800);border-color:var(--color-primary-800)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-800);color:var(--color-white)}.btn-outline-accent{background-color:transparent;color:var(--color-accent-600);border-color:var(--color-accent-600)}.btn-outline-accent:hover:not(:disabled){background-color:var(--color-accent-600);color:var(--color-white)}.btn-ghost{background-color:transparent;color:var(--color-primary-700);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-100)}.btn-link{background-color:transparent;color:var(--color-accent-600);border-color:transparent;padding-left:0;padding-right:0;height:auto}.btn-link:hover:not(:disabled){color:var(--color-accent-700);text-decoration:underline}.btn-success{background-color:var(--color-success-600);color:var(--color-white);border-color:var(--color-success-600)}.btn-success:hover:not(:disabled){background-color:var(--color-success-700);border-color:var(--color-success-700)}.btn-danger{background-color:var(--color-error-600);color:var(--color-white);border-color:var(--color-error-600)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-700);border-color:var(--color-error-700)}.btn-warning{background-color:var(--color-warning-500);color:var(--color-neutral-900);border-color:var(--color-warning-500)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-600);border-color:var(--color-warning-600)}.btn-sm{height:var(--height-button-sm);padding:var(--space-1-5) var(--space-3);font-size:var(--text-xs)}.btn-lg{height:var(--height-button-lg);padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-icon{width:var(--height-button);padding:0}.btn-icon.btn-sm{width:var(--height-button-sm)}.btn-icon.btn-lg{width:var(--height-button-lg)}.btn-full{width:100%}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}.btn-primary.btn-loading:after,.btn-secondary.btn-loading:after,.btn-success.btn-loading:after,.btn-danger.btn-loading:after{border-color:var(--color-white);border-right-color:transparent}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.btn-group .btn:not(:last-child){border-right-width:0}.btn-group .btn:hover,.btn-group .btn:focus{z-index:1}.input{display:block;width:100%;height:var(--height-input);padding:var(--space-2-5) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-primary);background-color:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.input::placeholder{color:var(--text-tertiary)}.input:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.input:focus{outline:none;border-color:var(--color-accent-600);box-shadow:var(--ring-focus)}.input:disabled{background-color:var(--color-neutral-100);color:var(--text-disabled);cursor:not-allowed}.input-error{border-color:var(--color-error-500)}.input-error:focus{border-color:var(--color-error-500);box-shadow:0 0 0 3px #ef44444d}.input-success{border-color:var(--color-success-500)}.input-success:focus{border-color:var(--color-success-500);box-shadow:0 0 0 3px #22c55e4d}.input-sm{height:var(--height-input-sm);padding:var(--space-1-5) var(--space-2-5);font-size:var(--text-xs)}.input-lg{height:var(--height-input-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-base)}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:var(--space-10)}.input-group-icon{position:absolute;left:var(--space-3);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);pointer-events:none}.input-group-icon svg{width:20px;height:20px}.input-group-right .input{padding-left:var(--space-3);padding-right:var(--space-10)}.input-group-right .input-group-icon{left:auto;right:var(--space-3)}.textarea{display:block;width:100%;min-height:100px;padding:var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);background-color:var(--color-white);border:1px solid var(--border-default);border-radius:var(--radius-md);resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.textarea:focus{outline:none;border-color:var(--color-accent-600);box-shadow:var(--ring-focus)}.select{display:block;width:100%;height:var(--height-input);padding:var(--space-2-5) var(--space-10) var(--space-2-5) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);background-color:var(--color-white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231E2A3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.select:focus{outline:none;border-color:var(--color-accent-600);box-shadow:var(--ring-focus)}.checkbox-group,.radio-group{display:flex;align-items:flex-start;gap:var(--space-2)}.checkbox,.radio{flex-shrink:0;width:18px;height:18px;margin-top:2px;border:2px solid var(--border-strong);background-color:var(--color-white);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.checkbox{border-radius:var(--radius-sm)}.radio{border-radius:var(--radius-full)}.checkbox:checked,.radio:checked{background-color:var(--color-accent-600);border-color:var(--color-accent-600)}.checkbox:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.radio:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='4' fill='white'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.checkbox:focus,.radio:focus{outline:none;box-shadow:var(--ring-focus)}.label{display:block;margin-bottom:var(--space-1-5);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.label-required:after{content:" *";color:var(--color-error-500)}.helper-text{display:block;margin-top:var(--space-1-5);font-size:var(--text-xs);color:var(--text-tertiary)}.helper-text-error{color:var(--color-error-500)}.helper-text-success{color:var(--color-success-600)}.form-group{margin-bottom:var(--space-4)}.form-row{display:grid;gap:var(--space-4)}.form-row-2{grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.form-row-2,.form-row-3{grid-template-columns:1fr}}.toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-track{width:44px;height:24px;background-color:var(--color-neutral-300);border-radius:var(--radius-full);transition:background-color var(--transition-fast)}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--color-white);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.toggle-input:checked+.toggle-track{background-color:var(--color-accent-600)}.toggle-input:checked~.toggle-thumb{transform:translate(20px)}.toggle-input:focus+.toggle-track{box-shadow:var(--ring-focus)}.toggle-label{margin-left:var(--space-3);font-size:var(--text-sm);color:var(--text-primary)}.card{background-color:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.card-hover{transition:box-shadow var(--transition-base),transform var(--transition-base)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.card-header-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.card-header-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-0-5)}.card-body{padding:var(--space-5)}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background-color:var(--color-neutral-50)}.stat-card{background-color:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-5)}.stat-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.stat-card-icon-primary{background-color:var(--color-accent-100);color:var(--color-accent-600)}.stat-card-icon-secondary{background-color:var(--color-primary-100);color:var(--color-primary-700)}.stat-card-icon-success{background-color:var(--color-success-100);color:var(--color-success-600)}.stat-card-icon-warning{background-color:var(--color-warning-100);color:var(--color-warning-700)}.stat-card-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-1)}.stat-card-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-card-change{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium)}.stat-card-change-positive{color:var(--color-success-600)}.stat-card-change-negative{color:var(--color-error-600)}.ride-card{background-color:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-4);transition:box-shadow var(--transition-base)}.ride-card:hover{box-shadow:var(--shadow-md)}.ride-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.ride-card-id{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary)}.ride-card-status{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full)}.ride-card-status-pending{background-color:var(--color-warning-100);color:var(--color-warning-700)}.ride-card-status-in-progress{background-color:var(--color-info-100);color:var(--color-info-700)}.ride-card-status-completed{background-color:var(--color-success-100);color:var(--color-success-700)}.ride-card-status-cancelled{background-color:var(--color-error-100);color:var(--color-error-700)}.ride-card-route{margin-bottom:var(--space-3)}.ride-card-location{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0}.ride-card-location-dot{width:10px;height:10px;border-radius:var(--radius-full);margin-top:4px;flex-shrink:0}.ride-card-location-origin .ride-card-location-dot{background-color:var(--color-accent-600)}.ride-card-location-destination .ride-card-location-dot{background-color:var(--color-primary-800)}.ride-card-location-text{font-size:var(--text-sm);color:var(--text-primary)}.ride-card-location-address{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-0-5)}.ride-card-line{width:2px;height:20px;background-color:var(--border-default);margin-left:4px}.ride-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.ride-card-service-type{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary)}.ride-card-service-pets{color:var(--color-accent-600)}.ride-card-service-senior{color:var(--color-info-600)}.ride-card-price{font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-success-600)}.driver-card{display:flex;align-items:center;gap:var(--space-4);background-color:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-4)}.driver-card-avatar{width:56px;height:56px;border-radius:var(--radius-full);background-color:var(--color-primary-100);display:flex;align-items:center;justify-content:center;color:var(--color-primary-700);font-weight:var(--font-semibold);font-size:var(--text-lg);flex-shrink:0}.driver-card-info{flex-grow:1;min-width:0}.driver-card-name{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-0-5)}.driver-card-rating{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary)}.driver-card-rating-star{color:var(--color-warning-500)}.driver-card-stats{display:flex;gap:var(--space-4);margin-top:var(--space-2)}.driver-card-stat{font-size:var(--text-xs);color:var(--text-tertiary)}.driver-card-stat-value{font-weight:var(--font-semibold);color:var(--text-primary)}.empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center;background-color:var(--surface-card);border:2px dashed var(--border-default);border-radius:var(--radius-xl)}.empty-card-icon{width:64px;height:64px;margin-bottom:var(--space-4);color:var(--color-neutral-400)}.empty-card-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-card-description{font-size:var(--text-sm);color:var(--text-secondary);max-width:320px;margin-bottom:var(--space-4)}.table-container{width:100%;overflow-x:auto;background-color:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl)}.table{width:100%;border-collapse:collapse}.table-head{background-color:var(--color-neutral-50);border-bottom:1px solid var(--border-default)}.table-head th{padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);text-align:left;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-secondary);white-space:nowrap}.table-head th:first-child{padding-left:var(--space-5)}.table-head th:last-child{padding-right:var(--space-5)}.table-head-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.table-head-sortable:hover{color:var(--text-primary)}.table-head-sortable-icon{display:inline-flex;margin-left:var(--space-1);opacity:.5}.table-head-sortable-active{color:var(--color-accent-600)}.table-head-sortable-active .table-head-sortable-icon{opacity:1}.table-body tr{border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast)}.table-body tr:last-child{border-bottom:none}.table-body tr:hover{background-color:var(--color-neutral-50)}.table-body td{padding:var(--space-4);font-size:var(--text-sm);color:var(--text-primary);vertical-align:middle}.table-body td:first-child{padding-left:var(--space-5)}.table-body td:last-child{padding-right:var(--space-5)}.table-striped .table-body tr:nth-child(2n){background-color:var(--color-neutral-50)}.table-compact .table-head th,.table-compact .table-body td{padding:var(--space-2) var(--space-3)}.table-compact .table-head th:first-child,.table-compact .table-body td:first-child{padding-left:var(--space-4)}.table-clickable .table-body tr{cursor:pointer}.table-clickable .table-body tr:hover{background-color:var(--color-primary-50)}.table-cell-numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.table-cell-currency{font-family:var(--font-mono);font-weight:var(--font-medium);font-variant-numeric:tabular-nums;text-align:right}.table-cell-currency-positive{color:var(--color-success-600)}.table-cell-currency-negative{color:var(--color-error-600)}.table-cell-actions{text-align:right;white-space:nowrap}.table-cell-actions .btn{margin-left:var(--space-2)}.table-cell-actions .btn:first-child{margin-left:0}.table-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2-5);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);white-space:nowrap}.table-badge-pending{background-color:var(--color-warning-100);color:var(--color-warning-700)}.table-badge-in-progress{background-color:var(--color-info-100);color:var(--color-info-700)}.table-badge-completed{background-color:var(--color-success-100);color:var(--color-success-700)}.table-badge-cancelled{background-color:var(--color-error-100);color:var(--color-error-700)}.table-badge-pets{background-color:var(--color-accent-100);color:var(--color-accent-700)}.table-badge-senior{background-color:var(--color-primary-100);color:var(--color-primary-700)}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background-color:var(--color-neutral-50)}.table-footer-info{font-size:var(--text-sm);color:var(--text-secondary)}.table-footer-info-highlight{font-weight:var(--font-medium);color:var(--text-primary)}.pagination{display:flex;align-items:center;gap:var(--space-1)}.pagination-btn{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background-color:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.pagination-btn:hover:not(:disabled){background-color:var(--color-neutral-100);border-color:var(--border-strong);color:var(--text-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn-active{background-color:var(--color-accent-600);border-color:var(--color-accent-600);color:var(--color-white)}.pagination-btn-active:hover:not(:disabled){background-color:var(--color-accent-700);border-color:var(--color-accent-700);color:var(--color-white)}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:var(--text-sm);color:var(--text-tertiary)}.table-skeleton-row td{padding:var(--space-4)}.table-skeleton-cell{height:16px;background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:table-skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes table-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.table-empty{padding:var(--space-12) var(--space-6);text-align:center}.table-empty-icon{width:48px;height:48px;margin:0 auto var(--space-4);color:var(--color-neutral-400)}.table-empty-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.table-empty-description{font-size:var(--text-sm);color:var(--text-secondary)}.app-layout{display:flex;min-height:100vh}.app-content{flex:1;display:flex;flex-direction:column;margin-left:var(--width-sidebar);transition:margin-left var(--transition-base)}.app-content-collapsed{margin-left:var(--width-sidebar-collapsed)}.app-main{flex:1;padding:var(--space-6);background-color:var(--surface-background)}.sidebar{position:fixed;top:0;left:0;width:var(--width-sidebar);height:100vh;background-color:var(--color-primary-800);display:flex;flex-direction:column;transition:width var(--transition-base);z-index:var(--z-fixed)}.sidebar-collapsed{width:var(--width-sidebar-collapsed)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo-icon{width:40px;height:40px;flex-shrink:0}.sidebar-logo-text{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-white);white-space:nowrap;overflow:hidden}.sidebar-collapsed .sidebar-logo-text{opacity:0;width:0}.sidebar-nav{flex:1;padding:var(--space-4) var(--space-3);overflow-y:auto}.sidebar-nav-section{margin-bottom:var(--space-6)}.sidebar-nav-label{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:#ffffff80;white-space:nowrap;overflow:hidden}.sidebar-collapsed .sidebar-nav-label{opacity:0;height:0;padding:0;margin:0}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);color:#ffffffb3;text-decoration:none;border-radius:var(--radius-lg);transition:background-color var(--transition-fast),color var(--transition-fast);cursor:pointer}.sidebar-nav-item:hover{background-color:#ffffff1a;color:var(--color-white)}.sidebar-nav-item-active{background-color:var(--color-accent-600);color:var(--color-white)}.sidebar-nav-item-active:hover{background-color:var(--color-accent-500)}.sidebar-nav-item-icon{width:20px;height:20px;flex-shrink:0}.sidebar-nav-item-text{white-space:nowrap;overflow:hidden}.sidebar-collapsed .sidebar-nav-item-text{opacity:0;width:0}.sidebar-nav-item-badge{margin-left:auto;padding:var(--space-0-5) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);background-color:var(--color-accent-500);color:var(--color-white);border-radius:var(--radius-full)}.sidebar-collapsed .sidebar-nav-item-badge{display:none}.sidebar-footer{padding:var(--space-4);border-top:1px solid rgba(255,255,255,.1)}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-2-5);color:#ffffffb3;background-color:#ffffff1a;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar-toggle:hover{background-color:#ffffff26;color:var(--color-white)}.header{display:flex;align-items:center;justify-content:space-between;height:var(--height-header);padding:0 var(--space-6);background-color:var(--surface-header);border-bottom:1px solid var(--border-subtle)}.header-left{display:flex;align-items:center;gap:var(--space-4)}.header-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.header-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.header-breadcrumb-separator{color:var(--text-tertiary)}.header-breadcrumb-link{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.header-breadcrumb-link:hover{color:var(--color-accent-600)}.header-breadcrumb-current{color:var(--text-primary);font-weight:var(--font-medium)}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-search{position:relative;width:280px}.header-search-input{width:100%;height:40px;padding:var(--space-2-5) var(--space-4) var(--space-2-5) var(--space-10);font-size:var(--text-sm);background-color:var(--color-neutral-100);border:1px solid transparent;border-radius:var(--radius-full);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.header-search-input:focus{outline:none;background-color:var(--color-white);border-color:var(--color-accent-600);box-shadow:var(--ring-focus)}.header-search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-tertiary);pointer-events:none}.header-notification{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--text-secondary);background-color:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.header-notification:hover{background-color:var(--color-neutral-100);color:var(--text-primary)}.header-notification-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 var(--space-1);font-size:10px;font-weight:var(--font-bold);color:var(--color-white);background-color:var(--color-accent-600);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.header-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background-color:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast)}.header-user:hover{background-color:var(--color-neutral-100)}.header-user-avatar{width:36px;height:36px;background-color:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);font-size:var(--text-sm)}.header-user-info{text-align:left}.header-user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.header-user-role{font-size:var(--text-xs);color:var(--text-tertiary)}.tabs{display:flex;gap:var(--space-1);padding:var(--space-1);background-color:var(--color-neutral-100);border-radius:var(--radius-lg)}.tab{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background-color:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.tab:hover{color:var(--text-primary)}.tab-active{background-color:var(--color-white);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tabs-underline{display:flex;gap:var(--space-6);padding:0;background-color:transparent;border-bottom:1px solid var(--border-default);border-radius:0}.tabs-underline .tab{padding:var(--space-3) 0;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs-underline .tab-active{background-color:transparent;color:var(--color-accent-600);border-bottom-color:var(--color-accent-600);box-shadow:none}@media (max-width: 1024px){.sidebar{transform:translate(-100%)}.sidebar-open{transform:translate(0)}.app-content{margin-left:0}.header-search{display:none}}@media (max-width: 768px){.header-user-info{display:none}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--surface-background)}:focus-visible{outline:none;box-shadow:var(--ring-focus)}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--text-link-hover)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-4) 0;font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin:0 0 var(--space-4) 0}ul,ol{margin:0 0 var(--space-4) 0;padding-left:var(--space-6)}li{margin-bottom:var(--space-2)}img{max-width:100%;height:auto}table{border-collapse:collapse;width:100%}code{font-family:var(--font-mono);font-size:.875em;padding:var(--space-0-5) var(--space-1);background-color:var(--color-neutral-100);border-radius:var(--radius-sm)}pre{font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-4);background-color:var(--color-neutral-100);border-radius:var(--radius-md);overflow-x:auto}pre code{padding:0;background-color:transparent}::selection{background-color:var(--color-accent-200);color:var(--color-primary-800)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-100)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--text-accent)}.text-success{color:var(--color-success-600)}.text-warning{color:var(--color-warning-600)}.text-error{color:var(--color-error-600)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.m-0{margin:0}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.w-full{width:100%}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.auth-layout{display:flex;min-height:100vh}.auth-layout-brand{display:none;flex:1;background:linear-gradient(135deg,var(--color-primary-800) 0%,var(--color-primary-900) 100%);padding:var(--space-12);position:relative;overflow:hidden}.auth-layout-brand:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,var(--color-accent-600) 0%,transparent 70%);opacity:.1}.auth-layout-brand-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;height:100%;color:var(--color-white)}.auth-layout-brand-logo{width:180px;height:auto;margin-bottom:var(--space-8);background-color:var(--color-white);padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.auth-layout-brand-tagline{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin-bottom:var(--space-4);color:var(--color-white)}.auth-layout-brand-description{font-size:var(--text-lg);color:var(--color-primary-300);max-width:400px;line-height:var(--leading-relaxed)}.auth-layout-brand-features{margin-top:var(--space-10);display:flex;flex-direction:column;gap:var(--space-4)}.auth-layout-brand-feature{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);color:var(--color-primary-200)}.auth-layout-brand-feature-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#f0536533;border-radius:var(--radius-lg);color:var(--color-accent-500)}.auth-layout-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--space-6);background-color:var(--surface-background)}@media (min-width: 1024px){.auth-layout-brand{display:flex}}.auth-card{width:100%;max-width:420px}.auth-card-logo{display:flex;justify-content:center;margin-bottom:var(--space-6)}.auth-card-logo img{height:80px;width:auto}.auth-card-header{text-align:center;margin-bottom:var(--space-8)}.auth-card-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.auth-card-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin:0}.auth-card-form{background-color:var(--surface-card);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle)}.auth-card-footer{margin-top:var(--space-6);text-align:center}.auth-card-footer-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-card-footer-link{color:var(--color-accent-600);font-weight:var(--font-semibold);transition:color var(--transition-fast)}.auth-card-footer-link:hover{color:var(--color-accent-700)}.auth-form .form-group{margin-bottom:var(--space-5)}.auth-form .form-group:last-of-type{margin-bottom:var(--space-6)}.auth-form .label{font-weight:var(--font-medium);color:var(--text-primary)}.auth-form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.auth-form-remember{display:flex;align-items:center;gap:var(--space-2)}.auth-form-remember-label{font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.auth-form-forgot{font-size:var(--text-sm);color:var(--color-accent-600);font-weight:var(--font-medium)}.auth-form-forgot:hover{color:var(--color-accent-700)}.auth-form-submit{width:100%;height:var(--height-button-lg);font-size:var(--text-base)}.auth-form-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--text-tertiary);font-size:var(--text-sm)}.auth-form-divider:before,.auth-form-divider:after{content:"";flex:1;height:1px;background-color:var(--border-default)}.auth-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0}.auth-divider-text{color:var(--text-tertiary);font-size:var(--text-sm);white-space:nowrap}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background-color:var(--border-default)}.btn-google{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;height:var(--height-button-lg);font-size:var(--text-base);background-color:var(--surface-card);border:1px solid var(--border-default);color:var(--text-primary);transition:all var(--transition-fast)}.btn-google:hover:not(:disabled){background-color:var(--surface-hover);border-color:var(--border-hover)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.btn-google svg{flex-shrink:0}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-sm)}.alert-error{background-color:var(--color-error-50);border:1px solid var(--color-error-100);color:var(--color-error-700)}.alert-success{background-color:var(--color-success-50);border:1px solid var(--color-success-100);color:var(--color-success-700)}.alert-icon{flex-shrink:0;width:20px;height:20px}.alert-content{flex:1}.home-page{min-height:100vh;display:flex;flex-direction:column}.home-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);background-color:var(--surface-card);border-bottom:1px solid var(--border-subtle)}.home-header-logo{height:48px;width:auto}@media (min-width: 768px){.home-header-logo{height:56px}}.home-header-nav{display:flex;gap:var(--space-3)}.home-hero{flex:1;display:flex;align-items:center;background:linear-gradient(135deg,var(--color-primary-800) 0%,var(--color-primary-900) 100%);position:relative;overflow:hidden}.home-hero:before{content:"";position:absolute;top:0;right:0;width:60%;height:100%;background:radial-gradient(circle at 70% 50%,var(--color-accent-600) 0%,transparent 60%);opacity:.15}.home-hero-content{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:var(--space-12) var(--space-6);display:grid;grid-template-columns:1fr;gap:var(--space-10);align-items:center}@media (min-width: 1024px){.home-hero-content{grid-template-columns:1fr 1fr}}.home-hero-text{color:var(--color-white)}.home-hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:#f0536533;border:1px solid rgba(240,83,101,.3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-accent-400);margin-bottom:var(--space-6)}.home-hero-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin-bottom:var(--space-6);color:var(--color-white)}@media (min-width: 768px){.home-hero-title{font-size:3rem}}.home-hero-description{font-size:var(--text-lg);color:var(--color-primary-300);line-height:var(--leading-relaxed);margin-bottom:var(--space-8);max-width:500px}.home-hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-4)}.home-hero-features{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.home-hero-feature{background-color:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center}.home-hero-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#f0536533;border-radius:var(--radius-lg);margin-bottom:var(--space-3);color:var(--color-accent-500)}.home-hero-feature-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-white);margin-bottom:var(--space-2)}.home-hero-feature-description{font-size:var(--text-sm);color:var(--color-primary-400);margin:0}.dashboard-page{max-width:1200px;margin:0 auto;padding:var(--space-6)}.dashboard-page h1{margin-bottom:var(--space-6)}.user-info{margin-top:var(--space-6);padding:var(--space-6);background-color:var(--surface-card);border-radius:var(--radius-xl);border:1px solid var(--border-subtle)}.user-info p{margin-bottom:var(--space-3);color:var(--text-secondary)}.user-info p strong{color:var(--text-primary)}.user-info button{margin-top:var(--space-4);max-width:200px}@media (max-width: 1023px){.auth-card-logo{display:flex}}@media (min-width: 1024px){.auth-card-logo{display:none}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
