:root{--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-900: #1e3a8a;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--emerald-500: #10b981;--red-500: #ef4444;--amber-500: #f59e0b;--amber-100: #fef3c7;--bg-body: var(--slate-50);--bg-surface: #ffffff;--bg-sidebar: var(--slate-800);--bg-card: #ffffff;--bg-header: #ffffff;--text-primary: var(--slate-900);--text-secondary: var(--slate-500);--text-muted: var(--slate-400);--text-inverse: #ffffff;--border: var(--slate-200);--border-strong: var(--slate-300);--primary: var(--blue-500);--primary-dark: var(--blue-600);--primary-light: var(--blue-50);--success: var(--emerald-500);--danger: var(--red-500);--warning: var(--amber-500);--shadow: rgba(0, 0, 0, .1);--shadow-lg: rgba(0, 0, 0, .15);--sidebar-width: 260px}@media(prefers-color-scheme:dark){:root{--bg-body: #020617;--bg-surface: var(--slate-800);--bg-sidebar: var(--slate-900);--bg-card: var(--slate-800);--bg-header: var(--slate-800);--text-primary: var(--slate-50);--text-secondary: var(--slate-400);--text-muted: var(--slate-500);--text-inverse: var(--slate-900);--border: var(--slate-700);--border-strong: var(--slate-500);--primary: #60a5fa;--primary-dark: #3b82f6;--primary-light: rgba(59, 130, 246, .1);--shadow: rgba(0, 0, 0, .5);--shadow-lg: rgba(0, 0, 0, .7)}body{color:var(--text-primary)}}:root{--dark: var(--bg-sidebar);--white: var(--bg-surface);--gray: var(--text-secondary);--gray-light: var(--border)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-body);color:var(--text-primary);line-height:1.6}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-gray{color:var(--text-secondary)!important}.text-gray-light{color:var(--text-muted)!important}.layout{display:flex;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;margin-left:260px;min-width:0;transition:margin-left .3s ease;background:var(--bg-body)}.main-content.mobile{margin-left:0}.content{flex:1;padding:2rem;overflow-y:auto;overflow-x:hidden;min-width:0}.stats-grid{display:grid;gap:1rem;margin-bottom:2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stats-grid.cols-6{grid-template-columns:repeat(6,1fr)}.stats-grid.cols-3{grid-template-columns:repeat(3,1fr)}.stat-card{background:var(--bg-surface);border-radius:12px;padding:1rem;box-shadow:0 1px 3px var(--shadow);border:1px solid var(--border);display:flex;align-items:center;gap:.75rem;transition:transform .2s,box-shadow .2s;min-width:0;width:100%}.stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-icon.primary{background:var(--primary)}.stat-icon.success{background:var(--success)}.stat-icon.warning{background:var(--warning)}.stat-icon.danger{background:var(--danger)}.stat-icon.indigo{background:#6366f1}.stat-content{min-width:0;flex:1}.stat-content h3{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}.activity-item.overdue{border-left:4px solid var(--danger);background:#fef2f2}@media(prefers-color-scheme:dark){.activity-item.overdue{background:#ef44441a}}.text-success{color:var(--success)!important}.text-danger{color:var(--danger)!important}.text-warning{color:var(--warning)!important}.font-semibold{font-weight:600}.text-sm{font-size:.875rem}.flex-col{display:flex;flex-direction:column}.text-secondary{color:var(--text-secondary)}.badge{font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;display:inline-flex;align-items:center;gap:.25rem;color:#fff}.badge.danger{background:var(--danger)}.badge.warning{background:var(--warning)}.badge.success{background:var(--success)}@media(max-width:1400px){.stats-grid.cols-6{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.stats-grid.cols-6,.stats-grid.cols-3,.gantt-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.stats-grid.cols-6,.stats-grid.cols-3,.gantt-stats-grid{grid-template-columns:1fr}.activity-item{flex-direction:column;align-items:flex-start!important;gap:.5rem}.activity-meta{text-align:left!important;display:flex;justify-content:space-between;width:100%;margin-top:.25rem;padding-top:.5rem;border-top:1px dashed #eee}}.sidebar{position:fixed;left:0;top:0;width:260px;height:100vh;background:var(--bg-sidebar);color:var(--text-muted);padding:1.5rem;display:flex;flex-direction:column;z-index:1000;border-right:1px solid var(--border-strong);transition:transform .3s cubic-bezier(.4,0,.2,1)}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.sidebar-header{display:flex;align-items:center;gap:1rem;padding-bottom:2rem;border-bottom:1px solid var(--dark-lighter);margin-bottom:2rem}.sidebar-header h2{font-size:1.25rem;font-weight:600}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;color:var(--text-muted);text-decoration:none;transition:all .2s;font-weight:500}.nav-item:hover{background:var(--dark-lighter);color:var(--white)}.nav-item.active{background:var(--primary);color:var(--white)}.header{background:var(--bg-surface);border-bottom:1px solid var(--border);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px var(--shadow);padding-top:max(1rem,env(safe-area-inset-top))}.header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.header-actions{display:flex;justify-content:space-between;align-items:center}.icon-btn{background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:6px;color:var(--gray);transition:all .2s;display:flex;align-items:center;gap:.5rem}.icon-btn:hover{background:var(--gray-light);color:var(--text-primary)}.icon-btn.danger:hover{background:#fee2e2;color:var(--danger)}.user-menu{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--gray-light);border-radius:8px;font-weight:500}.mobile-menu-btn{display:none}@media(max-width:768px){.mobile-menu-btn{display:flex}}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:99;opacity:0;transition:opacity .3s ease}.sidebar-overlay.open{display:block;opacity:1}.btn-primary{background:var(--primary);color:var(--white);padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);padding:.75rem 1.5rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--gray-light)}.btn-icon{background:transparent;border:1px solid var(--border);padding:.5rem 1rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.875rem;transition:all .2s;color:var(--text-primary)}.btn-icon:hover{background:var(--gray-light)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:2rem;position:relative}.branding-bg:before{content:"";position:absolute;inset:0;background-image:url(/src/assets/login_bg.png);background-size:cover;background-position:center;opacity:.2;pointer-events:none}.login-logo{max-width:180px;margin:0 auto 1.5rem;display:block}.login-card{background:var(--white);border-radius:16px;padding:3rem;width:100%;max-width:420px;box-shadow:0 20px 60px var(--shadow-lg)}.login-header{text-align:center;margin-bottom:2rem}.login-header svg{color:var(--primary);margin-bottom:1rem}.login-header h1{font-size:1.75rem;margin-bottom:.5rem}.login-header p{color:var(--gray)}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;transition:all .2s;font-family:inherit;background:var(--bg-surface);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.error-message{background:#fee2e2;color:var(--danger);padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.dashboard h1{font-size:2rem;margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--white);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px var(--shadow);transition:all .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--white)}.stat-content h3{font-size:.875rem;color:var(--gray);font-weight:500;margin-bottom:.25rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.dashboard-content{display:grid;gap:1.5rem}.card{background:var(--white);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px var(--shadow)}.card h2{font-size:1.25rem;margin-bottom:1rem}.fleet-page{max-width:1400px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:600}.filter-bar{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:1px solid var(--border);background:var(--bg-surface);border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500}.filter-btn:hover{background:var(--gray-light)}.filter-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.search-box{position:relative;flex:1;min-width:200px;max-width:300px}.search-box svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none}.search-box input{width:100%;padding:.625rem 1rem .625rem 2.5rem;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.875rem;box-sizing:border-box;transition:all .2s}.search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.filter-select{padding:.625rem 2rem .625rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);font-family:inherit;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all .2s;font-weight:500}.filter-select:hover{background:var(--gray-light)}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.view-toggle{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-left:auto}.toggle-btn{padding:.625rem;background:var(--bg-surface);border:none;cursor:pointer;color:var(--gray);display:flex;align-items:center;justify-content:center;transition:all .2s;border-right:1px solid var(--border)}.toggle-btn:last-child{border-right:none}.toggle-btn:hover:not(.active){background:var(--gray-light)}.toggle-btn.active{background:#eff6ff;color:var(--primary)}.table-container{background:var(--bg-surface);border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 3px var(--shadow);overflow-x:auto;-webkit-overflow-scrolling:touch}.fleet-table{width:100%;border-collapse:collapse;min-width:800px}.fleet-table thead{background:var(--bg-body);border-bottom:1px solid var(--border)}.fleet-table th{text-align:left;padding:1rem 1.5rem;color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.fleet-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--gray-light);color:var(--text-primary);font-size:.875rem;vertical-align:middle}.fleet-table tbody tr:last-child td{border-bottom:none}.fleet-table tbody tr:hover{background:var(--gray-light)}.fleet-table .car-info .plate{font-weight:600;color:var(--text-primary);margin-bottom:.125rem}.fleet-table .car-info .model{color:var(--gray);font-size:.75rem}.fleet-table .expiring{color:var(--danger);font-weight:600;display:inline-flex;align-items:center;gap:.25rem}.table-actions{display:flex;gap:.5rem}.table-actions .btn-icon{min-width:auto;padding:.5rem}.cars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.car-card{background:var(--white);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px var(--shadow);transition:all .2s}.car-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow)}.car-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-light)}.car-header h3{font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.car-model{color:var(--gray);font-size:.875rem}.status-badge{padding:.25rem .75rem;border-radius:6px;color:var(--white);font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.car-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;font-size:.875rem}.detail-row span:first-child{color:var(--gray)}.detail-row span:last-child{font-weight:500;display:flex;align-items:center;gap:.25rem}.detail-row .expiring{color:var(--danger)}.car-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid var(--gray-light);flex-wrap:wrap}.car-actions .btn-icon{flex:1;justify-content:center;min-width:100px}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--gray)}.empty-state svg{margin-bottom:1rem}.empty-state p{margin-bottom:1.5rem;font-size:1.125rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:var(--white);border-radius:16px;width:100%;max-width:850px;max-height:95vh;overflow-y:auto;box-shadow:0 20px 60px var(--shadow-lg);position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.5rem;font-weight:600}.car-form,.renter-form{padding:1.5rem}.form-section{margin-bottom:2rem}.form-section h3{font-size:1.125rem;margin-bottom:1rem;color:var(--dark)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border)}.page{padding:2rem}.page h1{font-size:2rem;margin-bottom:1rem}.header-actions-group{display:flex;gap:1rem}.search-filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.search-box{flex:1;min-width:300px;display:flex;align-items:center;gap:.75rem;background:var(--white);padding:.75rem 1rem;border-radius:12px;border:1px solid var(--border);transition:all .2s;box-shadow:0 1px 2px var(--shadow)}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.search-box input{border:none;outline:none;width:100%;font-size:1rem;background:transparent;color:var(--text-primary)}.renters-table{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px var(--shadow),0 2px 4px -1px var(--shadow);border:1px solid var(--border)}table{width:100%;border-collapse:collapse;text-align:left}th{background:var(--bg-body);padding:1rem 1.5rem;font-weight:600;font-size:.75rem;color:var(--gray);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}td{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-light);vertical-align:middle;font-size:.9375rem}.blacklisted-row{background:#fff1f2}.blacklisted-row:hover{background:#ffe4e6}.address-cell{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gray)}.secondary-text{font-size:.8125rem;color:var(--gray);margin-top:.25rem}.action-buttons{display:flex;gap:.5rem}.status-badge.blacklist{display:inline-flex;align-items:center;gap:.375rem;background:#fee2e2;color:var(--danger);padding:.375rem .75rem;border-radius:20px;font-weight:600;font-size:.75rem}.status-badge.active{background:#dcfce7;color:#16a34a;padding:.375rem .75rem;border-radius:20px;font-weight:600;font-size:.75rem}.status-badge.danger{background:#fee2e2;color:#ef4444;padding:.375rem .75rem;border-radius:20px;font-weight:600;font-size:.75rem}.status-badge.success{background:#dbeafe;color:#1e40af;padding:.375rem .75rem;border-radius:20px;font-weight:600;font-size:.75rem}.status-badge.reserved{background:var(--blue-100);color:var(--blue-900);padding:.375rem .75rem;border-radius:20px;font-weight:600;font-size:.75rem}@media(prefers-color-scheme:dark){.status-badge.active{background:#16a34a33;color:#4ade80}.status-badge.danger{background:#ef444433;color:#f87171}.status-badge.success{background:#2563eb33;color:#60a5fa}.status-badge.reserved{background:#3b82f61a;color:#93c5fd}.status-badge.warning{background:#f59e0b1a;color:#fbbf24}.status-badge.blacklist{background:#f43f5e33;color:#feecf0}}.blacklist-warning{display:flex;gap:1rem;background:#fff1f2;border:1px solid #fda4af;color:#9f1239;padding:1.25rem;border-radius:12px;margin-bottom:2rem;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.blacklist-warning strong{display:block;margin-bottom:.25rem;font-size:1rem}.blacklist-warning p{font-size:.875rem;margin:0;opacity:.9}.subscription-banner{background:#fffbeb;border-bottom:1px solid #fde68a;color:#92400e;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem;font-weight:500;font-size:.9375rem;z-index:1000;animation:slideDown .3s ease-out}.subscription-banner svg{flex-shrink:0}.subscription-banner strong{font-weight:700}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.scanner-modal{max-width:550px}.scanner-content{padding:2.5rem;display:flex;flex-direction:column;align-items:center;gap:2rem}.scanner-options{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%}.scanner-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:3rem 2rem;background:#f8fafc;border:2px dashed var(--border);border-radius:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--text-primary);font-weight:600}.scanner-btn:hover{border-color:var(--primary);background:#eff6ff;color:var(--primary);transform:scale(1.02);box-shadow:0 10px 15px -3px #3b82f61a}.scanner-btn svg{color:var(--gray);transition:color .3s}.scanner-btn:hover svg{color:var(--primary)}.camera-view{width:100%;border-radius:16px;overflow:hidden;position:relative;background:#000;box-shadow:0 20px 25px -5px #0003}.camera-view video{width:100%;display:block}.camera-controls{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.image-preview{width:100%;text-align:center}.image-preview img{width:100%;max-height:400px;object-fit:contain;border-radius:16px;background:#f1f5f9;border:1px solid var(--border)}.scanning-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--primary)}.spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-icon.success:hover{background:#dcfce7;color:#166534;border-color:#bbf7d0}.btn-icon.warning:hover{background:#fef3c7;color:#92400e;border-color:#fde68a}.rentals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1rem}.rental-card{background:var(--bg-surface);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;transition:transform .2s}.rental-card:hover{transform:translateY(-2px)}.rental-header{display:flex;justify-content:space-between;align-items:flex-start}.rental-car-info{display:flex;gap:1rem;align-items:center}.rental-car-info .icon-main{color:var(--primary);background:var(--primary-light);padding:.5rem;border-radius:8px;width:44px;height:44px}.rental-car-info h3{font-size:1.125rem;margin:0}.rental-car-info p{font-size:.875rem;color:var(--text-secondary);margin:0}.rental-details{background:var(--bg-body);padding:1rem;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;border:1px dashed var(--border)}.financial-summary{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;margin-top:.5rem;border-top:1px dashed var(--border)}.detail-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-secondary)}.detail-item svg{color:var(--text-muted)}.rental-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--gray-light)}.price-tag{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.btn-secondary.sm{padding:.5rem .75rem;font-size:.875rem}.btn-secondary.warning{background:var(--warning);border-color:var(--warning);color:var(--slate-900)}.btn-secondary.warning:hover{background:#d97706;border-color:#d97706}.rental-card.active{border-left:4px solid var(--primary)}.rental-card.returned{opacity:.8}.rental-card.overdue{border-left:4px solid var(--danger)}.gantt-page{padding:1.5rem;max-width:100%;overflow-x:hidden}.gantt-page .header-actions{display:flex;align-items:center;gap:1rem}.gantt-controls{display:flex;align-items:center;gap:.75rem;background:var(--bg-surface);padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border);height:42px}.btn-icon-minimal{background:none;border:none;padding:.25rem;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;transition:color .2s}.btn-icon-minimal:hover{color:var(--primary)}.gantt-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;width:100%}.gantt-stats-grid .stat-card{min-width:0;width:100%}.gantt-container{background:var(--bg-surface);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;border:1px solid var(--border);display:flex;flex-direction:column;max-width:100%}.gantt-scroll-area{overflow-x:auto;position:relative}.gantt-grid{display:flex;flex-direction:column;min-width:min-content}.gantt-header-row{display:flex;height:60px;border-bottom:1px solid var(--border);background:var(--bg-body);width:max-content}.gantt-row{display:flex;height:70px;border-bottom:1px solid var(--border);width:max-content;position:relative}.gantt-row:last-child{border-bottom:none}.gantt-cell.car-column{width:250px;min-width:250px;position:sticky;left:0;background:var(--bg-surface);z-index:30;display:flex;align-items:center;padding:0 1.5rem;border-right:2px solid var(--border);box-shadow:4px 0 6px -4px var(--shadow)}@media(max-width:768px){.gantt-cell.car-column{width:140px;min-width:140px;padding:0 .5rem;font-size:.8rem}.gantt-car-info .car-model{display:none}}.gantt-cell.header.car-column{background:var(--bg-body);z-index:40;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--text-primary)}.gantt-timeline-track{display:flex;position:relative;height:100%}.gantt-cell.day-column{width:60px;min-width:60px;height:100%;border-right:1px solid var(--border);background:transparent}.gantt-cell.header.date-column{width:60px;min-width:60px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-right:1px solid var(--border);font-size:.875rem;color:var(--gray-dark)}.gantt-cell.header.date-column.today{background:var(--primary-light);color:var(--primary);border-bottom:3px solid var(--primary)}.gantt-rental-bar{position:absolute;top:15px;height:40px;border-radius:6px;z-index:20;display:flex;align-items:center;padding:0 .5rem;overflow:visible;white-space:nowrap;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .1s;font-size:.75rem;font-weight:600;color:#fff}.gantt-rental-bar:hover{transform:translateY(-1px);z-index:25}.gantt-rental-bar.active{background:var(--success);border:1px solid var(--success)}.gantt-rental-bar.reserved{background:var(--primary);border:1px solid var(--primary-dark)}.gantt-rental-bar.active.overdue,.gantt-rental-bar.reserved.overdue{background:repeating-linear-gradient(45deg,#22c55e,#22c55e 10px,#dc2626 10px 20px)!important;border:2px solid #dc2626!important}.gantt-cell.day-column.today{background:var(--primary-light)}.gantt-rental-bar.active.today,.gantt-rental-bar.reserved.today{border:2px solid #f59e0b!important;box-shadow:0 0 0 2px #f59e0b33!important}.gantt-renter-name{text-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.gantt-car-info .car-plate{font-weight:700;color:var(--text-primary);font-size:1rem}.gantt-car-info .car-model{font-size:.875rem;color:var(--text-secondary)}.gantt-overdue-label{position:absolute;top:-18px;left:4px;font-size:.65rem;font-weight:700;color:var(--danger);background:#fee2e2;padding:2px 6px;border-radius:3px;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.gantt-due-today-label{position:absolute;top:-18px;left:4px;font-size:.65rem;font-weight:700;color:var(--warning);background:var(--amber-100);padding:2px 6px;border-radius:3px;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}@media(prefers-color-scheme:dark){.gantt-overdue-label{background:#ef444433;color:#fca5a5}.gantt-due-today-label{background:#f59e0b33;color:#fcd34d}}.rental-form-body{padding:1.5rem}.rental-form-body label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:500}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:1.5rem;margin-top:2rem}.chart-card{background:var(--bg-surface);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px var(--shadow);border:1px solid var(--border)}.chart-card h3{font-size:1rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-primary)}.chart-container{width:100%;height:300px}.expense-container{padding:1.5rem}.expense-form-inline{display:flex;gap:1rem;align-items:flex-end;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--gray-light);flex-wrap:wrap}.expense-table-wrapper{margin-top:1rem;max-height:400px;overflow-y:auto;border:1px solid var(--gray-light);border-radius:8px}.badge-type{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.financial-summary{margin-top:1rem;padding:1rem;background:var(--bg-body);border-radius:8px;border:1px solid var(--gray-light);display:flex;flex-direction:column;gap:.5rem}.summary-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--gray)}.summary-row.total{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border);font-weight:700;color:var(--text-primary);font-size:1rem}.summary-row.refund{color:var(--primary);font-weight:600}.success-text{color:var(--secondary)}.status-badge.warning{background:#fef3c7;color:#d97706}.rental-card.pending-refund{border-left:4px solid var(--warning)}.rental-card.returned{opacity:.9}.sidebar-logo-icon{color:var(--primary)}.login-logo-container{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#eff6ff;border-radius:20px;margin:0 auto 1.5rem}.login-logo-icon{color:var(--primary)}.badge-type.service{background:#dcfce7;color:#166534}.badge-type.repair{background:#fee2e2;color:#9f1239}.badge-type.wash{background:#e0f2fe;color:#0369a1}.amount-cell{font-weight:600;color:var(--text-primary)}@media(max-width:768px){.reports-grid{grid-template-columns:1fr}.expense-form-inline{flex-direction:column;align-items:stretch}}.settings-page{max-width:1200px;margin:0 auto}.settings-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border)}.settings-tabs button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--gray);font-weight:500;cursor:pointer;transition:all .2s}.settings-tabs button:hover{color:var(--primary);background:#3b82f60d}.settings-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.settings-content{background:var(--white);border-radius:12px;padding:2rem;box-shadow:0 1px 3px var(--shadow)}.settings-section{max-width:800px}.section-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.section-header h2{font-size:1.5rem;margin-bottom:.5rem}.section-description{color:var(--gray);font-size:.875rem}.checkbox-group{background:var(--bg-body);padding:1rem;border-radius:8px;border:1px solid var(--border)}.checkbox-group small{margin-left:1.75rem;color:var(--gray)}.receipt-preview{margin-top:2rem;padding:1.5rem;background:var(--bg-body);border-radius:8px;border:1px solid var(--border)}.receipt-preview h3{font-size:1rem;margin-bottom:1rem;color:var(--gray)}.preview-box{background:var(--bg-surface);padding:1.5rem;border-radius:8px;border:2px dashed var(--border);font-family:Courier New,monospace;font-size:.875rem}.preview-header{text-align:center;line-height:1.6}.preview-divider{text-align:center;color:var(--gray);margin:.5rem 0}.notification{position:fixed;top:2rem;right:2rem;display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--white);border-radius:8px;box-shadow:0 10px 25px var(--shadow-lg);animation:slideIn .3s ease;z-index:1000;min-width:300px}.notification.success{border-left:4px solid var(--secondary);color:var(--secondary)}.notification.error{border-left:4px solid var(--danger);color:var(--danger)}.notification.info{border-left:4px solid var(--primary);color:var(--primary)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.btn-icon.delete{color:var(--danger);border-color:var(--danger)}.btn-icon.delete:hover{background:#fee2e2;border-color:#ef4444}.action-buttons{flex-wrap:wrap}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--white);border:1px solid var(--border);border-radius:8px;margin-top:4px;max-height:250px;overflow-y:auto;z-index:50;box-shadow:0 4px 12px var(--shadow-lg)}.autocomplete-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--gray-light);transition:all .2s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--gray-light)}.autocomplete-item.selected{background:#eff6ff;color:var(--primary);font-weight:500}.autocomplete-empty{padding:1rem;text-align:center;color:var(--gray);font-size:.875rem}.gantt-page{display:flex;flex-direction:column;overflow-x:hidden}.gantt-page .page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.gantt-controls{display:flex;align-items:center;background:var(--white);padding:0 .5rem;border:1px solid var(--border);border-radius:8px;height:42px}.gantt-controls span{font-size:1rem;font-weight:600;min-width:140px;text-align:center;margin:0 .5rem;white-space:nowrap}.gantt-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;max-width:100%}.gantt-stats-grid .stat-card{padding:1.5rem}.gantt-container{display:flex;flex-direction:column;background:var(--white);border-radius:12px;border:1px solid var(--border);overflow:hidden;max-width:100%}.gantt-scroll-area{width:100%;max-width:100%;overflow-x:auto}.gantt-grid{display:flex;flex-direction:column}.gantt-header-row{display:flex;background:#f8fafc;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.gantt-row{display:flex;border-bottom:1px solid var(--border);height:70px}.gantt-row:hover{background:var(--gray-light)}.gantt-cell{padding:0 .5rem;border-right:1px solid #f1f5f9;display:flex;align-items:center;justify-content:center;font-size:.875rem}.gantt-cell.header{font-weight:600;color:var(--gray);height:60px;flex-direction:column;gap:2px}.gantt-cell.car-column{width:160px;min-width:160px;position:sticky;left:0;background:var(--white);z-index:25;border-right:2px solid var(--border);justify-content:flex-start;padding-left:1rem}.gantt-cell.date-column,.gantt-cell.day-column{flex:1;min-width:0;overflow:hidden;padding:0}.gantt-cell.header.date-column .day-num{font-size:1rem}.gantt-cell.header.date-column .day-name{font-size:.7rem}.gantt-cell.header.today,.gantt-cell.day-column.today{background:var(--primary-light);border-left:2px solid var(--primary)}.gantt-cell.day-column.weekend{background:var(--bg-body)}.gantt-car-info{display:flex;flex-direction:column}.gantt-timeline-track{display:flex;flex:1;position:relative;height:100%}.gantt-rental-bar{position:absolute;top:15px;height:40px;border-radius:6px;z-index:20;display:flex;align-items:center;padding:0 .5rem;overflow:hidden;white-space:nowrap;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .1s;font-size:.75rem;font-weight:600;color:#fff}.gantt-rental-bar:hover{transform:scaleY(1.1);z-index:22}.gantt-rental-bar.active{background:#22c55e;border:1px solid #16a34a}.gantt-rental-bar.reserved{background:#3b82f6;border:1px solid #2563eb}.gantt-renter-name{text-overflow:ellipsis;overflow:hidden}.expense-breakdown-table{margin-top:1rem}.expense-breakdown-header{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px 8px 0 0;font-weight:600;font-size:.875rem;color:var(--text-secondary);border-bottom:2px solid var(--border)}.expense-breakdown-row{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);transition:background .2s}.expense-breakdown-row:hover{background:#f8fafc}.expense-breakdown-total{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1rem;padding:1rem;background:#f8fafc;border-radius:0 0 8px 8px;border-top:2px solid var(--border);margin-top:.5rem}.expense-category-col{display:flex;align-items:center;gap:.75rem;font-size:.9375rem}.category-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.expense-amount-col{display:flex;align-items:center;justify-content:flex-end;font-size:.9375rem;font-weight:500}.expense-bar-col{display:flex;align-items:center;gap:1rem}.expense-bar-container{flex:1;height:24px;background:#f1f5f9;border-radius:4px;overflow:hidden}.expense-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.expense-percentage{min-width:50px;text-align:right;font-size:.875rem;font-weight:600;color:var(--gray)}@media(max-width:768px){.expense-breakdown-header,.expense-breakdown-row,.expense-breakdown-total{grid-template-columns:1fr;gap:.5rem}.expense-bar-col{flex-direction:column;align-items:stretch;gap:.5rem}.expense-percentage{text-align:left}}@media(max-width:768px){.mobile-menu-btn{display:flex!important}.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.header{padding:1rem}.header-actions{gap:.5rem}.user-menu span{display:none}.content{padding:1rem}.cars-grid,.stats-grid,.form-row{grid-template-columns:1fr}.renters-table{overflow-x:auto}.modal-content{max-width:95%;margin:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.search-filter-bar{flex-direction:column;align-items:stretch}.search-box{min-width:100%}}.confirmation-modal{max-width:400px;padding:2.5rem 2rem}.modal-content label{color:var(--text-secondary)}.modal-content h2,.modal-content h3{color:var(--text-primary)}.modal-content input,.modal-content select,.modal-content textarea{background:var(--bg-body);color:var(--text-primary);border-color:var(--border)}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid var(--border)}.modal-footer button{min-width:100px}.btn-primary.danger{background:var(--danger);border-color:var(--danger)}.btn-primary.danger:hover{background:#dc2626;border-color:#dc2626}.modal-icon-wrapper{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.modal-icon-wrapper.danger{background:#fee2e2;color:#ef4444}.modal-header.centered{text-align:center;border-bottom:none;padding-bottom:.5rem}.modal-header.centered h2{font-size:1.25rem;color:var(--text-primary)}.modal-body.centered{text-align:center;padding-top:0}.modal-message{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.modal-subtext{font-size:.875rem;color:var(--text-secondary)}.modal-footer.centered{justify-content:center;border-top:none;padding-top:1rem}.modal-footer.centered button{min-width:120px}.fleet-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.fleet-table th.sortable:hover{background-color:var(--gray-light);color:var(--dark)}.th-content{display:flex;align-items:center;gap:.5rem}.sort-icon{color:var(--primary);opacity:1;transition:opacity .2s}.sort-icon.invisible{opacity:.3;color:var(--gray)}.fleet-table th.sortable:hover .sort-icon.invisible{opacity:.6}.mobile-layout .main-content{margin-left:0;width:100%}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;height:60px;background:var(--white);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:center;z-index:1000;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 10px #0000000d}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--gray);font-size:.7rem;background:none;border:none;width:100%;height:100%;gap:2px;cursor:pointer}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item svg{width:22px;height:22px}.mobile-more-menu{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--white);z-index:1001;display:flex;flex-direction:column;animation:slideUp .3s ease-out;padding-bottom:80px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.more-menu-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#f8fafc}.more-menu-header h3{font-size:1.25rem;font-weight:600}.more-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:2rem;overflow-y:auto}.more-menu-item{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-decoration:none;color:var(--dark);text-align:center;border:none;background:none;cursor:pointer}.more-menu-item .icon-box{width:60px;height:60px;background:#f1f5f9;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--primary);transition:transform .2s}.more-menu-item:active .icon-box{transform:scale(.95);background:#e2e8f0}.more-menu-item span{font-size:.85rem;font-weight:500}.day-strip-container{overflow-x:auto;background:var(--bg-surface);padding:1rem;cursor:grab;margin:0 -1rem 1rem;scrollbar-width:none}.day-strip-container::-webkit-scrollbar{display:none}.day-strip{display:flex;gap:.5rem;min-width:min-content}.day-chip{display:flex;flex-direction:column;align-items:center;min-width:50px;padding:.5rem .25rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-surface);cursor:pointer;transition:all .2s}.day-chip.selected{background:var(--primary);color:var(--text-inverse);border-color:var(--primary);box-shadow:0 4px 10px #3b82f64d}.day-chip.today{border-color:var(--primary)}.day-name{font-size:.7rem;text-transform:uppercase;font-weight:500;margin-bottom:.1rem}.day-number{font-size:1.1rem;font-weight:700}.today-dot{width:4px;height:4px;background:var(--primary);border-radius:50%;margin-top:4px}.day-chip.selected .today-dot{background:#fff}.selected-date-header{margin-bottom:1rem}.selected-date-header h2{font-size:1.1rem;font-weight:600}.event-count{color:var(--text-secondary);font-size:.85rem;background:var(--bg-body);padding:.25rem .75rem;border-radius:20px}.events-list{display:flex;flex-direction:column;gap:1rem;padding-bottom:6rem}.mobile-event-card{background:var(--bg-surface);border-radius:12px;padding:1rem;box-shadow:0 1px 3px var(--shadow);border-left:4px solid var(--text-secondary);position:relative;overflow:hidden}.mobile-event-card.return{border-left-color:var(--danger)}.mobile-event-card.pickup{border-left-color:var(--secondary)}.mobile-event-card.ongoing{border-left-color:var(--primary)}.mobile-event-card.single{border-left-color:var(--warning)}.event-time-strip{position:absolute;top:0;right:0}.badge{font-size:.65rem;font-weight:700;padding:.25rem .75rem;text-transform:uppercase;border-bottom-left-radius:8px;color:#fff}.badge.return{background:var(--danger)}.badge.pickup{background:var(--secondary)}.badge.ongoing{background:var(--primary)}.badge.single{background:var(--warning)}.event-details{display:flex;flex-direction:column;gap:.5rem}.car-info h3{font-size:1rem;font-weight:600;margin-bottom:0}.car-info .plate{font-size:.9rem;font-weight:700;color:var(--text-primary);margin-bottom:.125rem}.renter-info{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem}.time-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.status-warning{display:flex;align-items:center;gap:.5rem;color:var(--warning);font-size:.8rem;font-weight:500;margin-top:.25rem}.no-events{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0;color:var(--text-muted)}.header{padding-top:max(1rem,env(safe-area-inset-top))!important}.bottom-nav{padding-bottom:max(.5rem,env(safe-area-inset-bottom))!important;height:auto!important;background:var(--white)}.filter-btn{padding:.5rem 1rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500}.filter-btn:hover{background:var(--gray-light);color:var(--text-primary)}.rental-expense-form{background:var(--bg-surface);padding:1.5rem;border-radius:12px;margin-bottom:2rem;border:1px solid var(--border)}.expense-table-header,.expense-table-footer{background:var(--bg-body);font-weight:600}.role-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;margin-top:.5rem;display:inline-block;font-weight:600}.role-badge.admin,.role-badge.owner{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.role-badge.staff{background:var(--bg-body);color:var(--text-secondary);border:1px solid var(--border)}.permission-tag{font-size:.7rem;background:var(--bg-body);color:var(--text-secondary);padding:2px 8px;border-radius:12px;border:1px solid var(--border);font-weight:500}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.toggle-btn{padding:.5rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.toggle-btn:hover{background:var(--gray-light);color:var(--text-primary)}.toggle-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
