:root{--primary: #3b82f6;--primary-dark: #2563eb;--primary-light: #60a5fa;--primary-50: #eff6ff;--primary-100: #dbeafe;--secondary: #64748b;--success: #10b981;--success-light: #d1fae5;--success-dark: #059669;--warning: #f59e0b;--warning-light: #fef3c7;--warning-dark: #d97706;--danger: #ef4444;--danger-light: #fee2e2;--danger-dark: #dc2626;--info: #06b6d4;--info-light: #cffafe;--fuel-gasoline: #f97316;--fuel-gasoline-light: #ffedd5;--fuel-gasoline-gradient: linear-gradient(135deg, #f97316 0%, #ea580c 100%);--fuel-diesel: #64748b;--fuel-diesel-light: #f1f5f9;--fuel-diesel-gradient: linear-gradient(135deg, #64748b 0%, #475569 100%);--fuel-lpg: #a855f7;--fuel-lpg-light: #f3e8ff;--fuel-lpg-gradient: linear-gradient(135deg, #a855f7 0%, #9333ea 100%);--fuel-electric: #10b981;--fuel-electric-light: #d1fae5;--fuel-electric-gradient: linear-gradient(135deg, #10b981 0%, #059669 100%);--fuel-hybrid: #06b6d4;--fuel-hybrid-light: #cffafe;--fuel-hybrid-gradient: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);--background: #f8fafc;--surface: #ffffff;--surface-hover: #f1f5f9;--surface-active: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-disabled: #cbd5e1;--border: #e2e8f0;--border-light: #f1f5f9;--border-focus: #3b82f6;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .03);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 24px;--radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition: all .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-modal-backdrop: 40;--z-modal: 50;--z-popover: 60;--z-tooltip: 70}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);z-index:9999}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-logo{width:64px;height:64px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-lg);animation:pulse-shadow 2s ease-in-out infinite}@keyframes pulse-shadow{0%,to{box-shadow:0 0 #3b82f666,var(--shadow-lg)}50%{box-shadow:0 0 0 20px #3b82f600,var(--shadow-lg)}}.spinner{position:relative;display:flex;align-items:center;justify-content:center}.spinner-sm{width:24px;height:24px}.spinner-md{width:40px;height:40px}.spinner-lg{width:56px;height:56px}.spinner-ring{position:absolute;border-radius:50%;border:3px solid transparent;border-top-color:var(--primary);animation:spinner-rotate 1s cubic-bezier(.5,0,.5,1) infinite}.spinner-sm .spinner-ring{border-width:2px}.spinner-ring:nth-child(1){width:100%;height:100%;animation-delay:-.3s}.spinner-ring:nth-child(2){width:75%;height:75%;border-top-color:var(--primary-light);animation-delay:-.15s}.spinner-ring:nth-child(3){width:50%;height:50%;border-top-color:var(--primary-50);animation-delay:0s}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{font-size:.9375rem;color:var(--text-secondary);font-weight:500;letter-spacing:-.01em}.loading-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--surface);border-right:1px solid var(--border);padding:1.5rem;position:fixed;height:100vh;overflow-y:auto;display:flex;flex-direction:column;z-index:50}.sidebar-logo{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;color:var(--primary);margin-bottom:2rem;text-decoration:none;letter-spacing:-.02em}.sidebar-logo:hover{color:var(--primary-dark)}.sidebar-nav{display:flex;flex-direction:column;gap:.375rem;flex:1}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.9375rem;transition:var(--transition);letter-spacing:-.01em}.nav-item:hover{background:var(--background);color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.nav-item.active:hover{transform:translate(0)}.main-content{flex:1;margin-left:260px;padding:2rem;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.page-title{font-size:1.625rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.5rem;border:1px solid var(--border-light);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.card-title{font-size:1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.75rem}.stat-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem;border:1px solid var(--border-light);transition:var(--transition);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);opacity:0;transition:var(--transition)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.clickable:focus{outline:2px solid var(--primary);outline-offset:2px}.clickable:active{transform:translateY(0) scale(.98)}.stat-card:hover:before{opacity:1}.stat-card-icon{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:.875rem;transition:var(--transition)}.stat-card:hover .stat-card-icon{transform:scale(1.05)}.stat-card-icon.blue{background:var(--primary-100);color:var(--primary)}.stat-card-icon.green{background:var(--success-light);color:var(--success)}.stat-card-icon.orange{background:var(--warning-light);color:var(--warning)}.stat-card-icon.red{background:var(--danger-light);color:var(--danger)}.stat-card-label{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.375rem;font-weight:500}.stat-card-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.stat-card-sub{font-size:.75rem;color:var(--text-muted);margin-top:.375rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.125rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:var(--transition);letter-spacing:-.01em;text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);filter:brightness(1.05)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--text-muted)}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover{box-shadow:var(--shadow-md);filter:brightness(1.05)}.btn-sm{padding:.4375rem .875rem;font-size:.8125rem;border-radius:8px}.btn-icon{padding:.5rem;min-width:36px}.table-container{overflow-x:auto;border-radius:var(--radius)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border-light)}.table th{font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--background)}.table td{font-size:.875rem}.table tbody tr{transition:var(--transition)}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr:last-child td{border-bottom:none}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.6875rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9375rem;color:var(--text-primary);background:var(--surface);transition:var(--transition)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.form-textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light)}.modal-title{font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.modal-close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.375rem;border-radius:8px;transition:var(--transition);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--background);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light);background:var(--background);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;letter-spacing:-.01em}.badge-blue{background:var(--primary-100);color:var(--primary-dark)}.badge-green{background:var(--success-light);color:#059669}.badge-orange{background:var(--warning-light);color:#d97706}.badge-red{background:var(--danger-light);color:#dc2626}.badge-gray{background:var(--border);color:var(--text-secondary)}.vehicle-card{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:var(--radius-xl);padding:1.75rem;margin-bottom:1.75rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.vehicle-card:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);pointer-events:none}.vehicle-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.vehicle-card-name{font-size:1.375rem;font-weight:700;letter-spacing:-.02em}.vehicle-card-plate{background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500}.vehicle-card-info{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.vehicle-card-info-item{text-align:center}.vehicle-card-info-label{font-size:.75rem;opacity:.8;margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.02em}.vehicle-card-info-value{font-size:1.0625rem;font-weight:600}.record-list{display:flex;flex-direction:column;gap:.625rem}.record-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background);border-radius:var(--radius);transition:var(--transition);cursor:pointer}.record-item:hover{background:var(--border-light);transform:translate(4px)}.record-item-icon{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.record-item-content{flex:1;min-width:0}.record-item-title{font-weight:500;margin-bottom:.25rem;letter-spacing:-.01em}.record-item-subtitle{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center}.record-item-cost{font-weight:600;text-align:right;color:var(--text-primary)}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.empty-state-icon{width:72px;height:72px;margin:0 auto 1.25rem;color:var(--border)}.empty-state-title{font-size:1.0625rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.empty-state-desc{font-size:.9375rem;margin-bottom:1.75rem;color:var(--text-secondary)}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--surface);border-bottom:1px solid var(--border);padding:0 1rem;align-items:center;justify-content:space-between;z-index:40}.menu-btn{background:none;border:none;cursor:pointer;color:var(--text-primary);padding:.5rem;margin:-.5rem;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:var(--transition)}.menu-btn:hover{background:var(--background)}.mobile-logo{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;color:var(--primary);text-decoration:none;letter-spacing:-.02em}.mobile-header-spacer{width:40px}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:45;animation:fadeIn .2s ease-out}.sidebar-close{display:none;position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.375rem;border-radius:8px;transition:var(--transition)}.sidebar-close:hover{background:var(--background);color:var(--text-primary)}@media(max-width:768px){.mobile-header{display:flex}.sidebar-overlay,.sidebar-close{display:block}.sidebar{position:fixed;left:-260px;z-index:50;transition:left .3s cubic-bezier(.4,0,.2,1)}.sidebar.open{left:0}.sidebar-logo{margin-top:2rem}.main-content{margin-left:0;padding:calc(56px + 1rem) 1rem 1rem}.vehicle-card-info{grid-template-columns:1fr;text-align:left}.vehicle-card-info-item{text-align:left;display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.vehicle-card-info-item:last-child{border-bottom:none}.vehicle-card-info-label{margin-bottom:0}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.stat-card{padding:1rem}.stat-card-value{font-size:1.25rem}.form-row{grid-template-columns:1fr}.page-title{font-size:1.375rem}.modal{margin:.5rem;max-height:calc(100vh - 1rem)}}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f4ff,#e0e7ff,#ddd6fe);padding:1rem}.login-container{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:2.5rem;width:100%;max-width:440px;animation:slideUp .4s ease-out}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:80px;height:80px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:#fff;box-shadow:var(--shadow-lg)}.login-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.375rem;letter-spacing:-.02em}.login-subtitle{color:var(--text-secondary);font-size:1rem}.login-error{background:var(--danger-light);color:#dc2626;padding:.875rem 1rem;border-radius:var(--radius);margin-bottom:1.5rem;font-size:.875rem;text-align:center;border:1px solid rgba(239,68,68,.2)}.login-features{display:flex;flex-direction:column;gap:.875rem;margin-bottom:2rem}.feature-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--background);border-radius:var(--radius);transition:var(--transition)}.feature-item:hover{background:var(--border-light)}.feature-item svg{flex-shrink:0;color:var(--primary)}.feature-item h3{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.feature-item p{font-size:.8125rem;color:var(--text-secondary)}.login-action{display:flex;justify-content:center;margin-bottom:1.5rem}.login-footer{text-align:center;font-size:.75rem;color:var(--text-muted);line-height:1.6}.login-footer p{margin-bottom:.25rem}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:.75rem}.sync-status{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border-radius:var(--radius);font-size:.8125rem;background:var(--background);transition:var(--transition)}.sync-status.syncing{color:var(--primary);background:var(--primary-50)}.sync-status.error{background:var(--danger-light);color:#dc2626}.sync-status.success{color:var(--success);background:var(--success-light)}.sync-status.idle{color:var(--text-muted)}.user-profile{display:flex;align-items:center;gap:.75rem;padding:.5rem}.user-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--border-light)}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.language-selector{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--background);border-radius:var(--radius);color:var(--text-secondary)}.language-select{flex:1;border:none;background:transparent;font-size:.8125rem;font-weight:500;color:var(--text-primary);cursor:pointer;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.logout-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.logout-btn:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--primary-100);color:var(--primary-dark)}.vehicle-card.fuel-gasoline{background:var(--fuel-gasoline-gradient)}.vehicle-card.fuel-diesel{background:var(--fuel-diesel-gradient)}.vehicle-card.fuel-lpg{background:var(--fuel-lpg-gradient)}.vehicle-card.fuel-electric{background:var(--fuel-electric-gradient)}.vehicle-card.fuel-hybrid{background:var(--fuel-hybrid-gradient)}.vehicle-type-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.vehicle-type-badge.gasoline{background:var(--fuel-gasoline-light);color:var(--fuel-gasoline)}.vehicle-type-badge.diesel{background:var(--fuel-diesel-light);color:var(--fuel-diesel)}.vehicle-type-badge.lpg{background:var(--fuel-lpg-light);color:var(--fuel-lpg)}.vehicle-type-badge.electric{background:var(--fuel-electric-light);color:var(--fuel-electric)}.vehicle-type-badge.hybrid{background:var(--fuel-hybrid-light);color:var(--fuel-hybrid)}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}@media(max-width:400px){.vehicle-grid{grid-template-columns:1fr}}.vehicle-card-enhanced{background:var(--surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.vehicle-card-banner{padding:1.5rem;color:#fff;position:relative}.vehicle-card-banner:before{content:"";position:absolute;top:-30%;right:-10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);pointer-events:none}.vehicle-card-banner.gasoline{background:var(--fuel-gasoline-gradient)}.vehicle-card-banner.diesel{background:var(--fuel-diesel-gradient)}.vehicle-card-banner.lpg{background:var(--fuel-lpg-gradient)}.vehicle-card-banner.electric{background:var(--fuel-electric-gradient)}.vehicle-card-banner.hybrid{background:var(--fuel-hybrid-gradient)}.vehicle-card-body{padding:1.25rem 1.5rem}.vehicle-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem 1.5rem;background:var(--background);border-top:1px solid var(--border-light)}.vehicle-stat-item{text-align:center}.vehicle-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.vehicle-stat-label{font-size:.75rem;color:var(--text-muted);margin-top:.25rem;text-transform:uppercase;letter-spacing:.02em}.quick-actions{display:flex;gap:.5rem;flex-wrap:wrap}.quick-action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);transition:var(--transition)}.quick-action-btn:hover{background:var(--surface-hover);border-color:var(--text-muted);transform:translateY(-1px)}.quick-action-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.quick-action-btn.primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.form-input-group{position:relative}.form-input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.form-input-group .form-input{padding-left:2.75rem}.form-input-suffix{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:.875rem}.form-input-group .form-input.has-suffix{padding-right:3.5rem}.number-input-wrapper{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:var(--transition)}.number-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.number-input-wrapper input{flex:1;border:none;padding:.6875rem 1rem;font-size:.9375rem;text-align:center;background:transparent;color:var(--text-primary)}.number-input-wrapper input:focus{outline:none}.number-input-btn{padding:.5rem .75rem;background:var(--surface-hover);border:none;cursor:pointer;color:var(--text-secondary);transition:var(--transition)}.number-input-btn:hover{background:var(--surface-active);color:var(--text-primary)}.number-input-btn:active{background:var(--border)}.preset-buttons{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.preset-btn{padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);transition:var(--transition)}.preset-btn:hover{background:var(--primary-50);border-color:var(--primary-light);color:var(--primary)}.preset-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.record-list{display:flex;flex-direction:column;gap:.75rem}.record-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);overflow:hidden;transition:var(--transition)}.record-card:hover{box-shadow:var(--shadow-md)}.record-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;gap:1rem}.record-card-body{padding:0 1.25rem 1rem}.record-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.record-card-item{display:flex;flex-direction:column;gap:.125rem}.record-card-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.record-card-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.record-card-actions{display:flex;gap:.5rem;padding:.75rem 1.25rem;background:var(--background);border-top:1px solid var(--border-light)}@media(max-width:768px){.record-card-header>div:first-child{flex:1}.preset-buttons{gap:.375rem}.preset-btn{padding:.375rem .625rem;font-size:.6875rem}}@media(max-width:480px){.record-card-header{flex-direction:column;align-items:stretch;gap:.75rem}.record-card-header>div:last-child{text-align:left!important;display:flex;justify-content:space-between;align-items:center}.record-card-grid{grid-template-columns:1fr}.vehicle-card-enhanced{border-radius:var(--radius-lg)}.vehicle-card-banner{padding:1rem!important}.vehicle-card-banner>div>div:first-child>span:first-child{font-size:1.125rem!important}}.record-card-compact{border-radius:var(--radius)}.record-card-compact .record-card-header{padding:.625rem .875rem}.record-card-compact .record-card-body{padding:0 .875rem .625rem}.record-card-compact .record-card-actions{padding:.5rem .875rem}.record-list-compact{display:flex;flex-direction:column;gap:.5rem}.claim-description{padding:0 .875rem .5rem;font-size:.8125rem;color:var(--text-secondary);line-height:1.4}@media(max-width:480px){.record-card-compact .record-card-header{flex-direction:row;align-items:center;gap:.5rem}}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}.dashboard-grid .col-full{grid-column:span 12}.dashboard-grid .col-half{grid-column:span 6}.dashboard-grid .col-third{grid-column:span 4}.dashboard-grid .col-quarter{grid-column:span 3}.record-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.info-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);overflow:hidden;transition:var(--transition)}.info-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.info-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light)}.info-card-title{display:flex;align-items:center;gap:.625rem;font-weight:600;color:var(--text-primary)}.info-card-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.info-card-body{padding:1.25rem}.info-card-footer{padding:.875rem 1.25rem;background:var(--background);border-top:1px solid var(--border-light)}.alert-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;border-radius:var(--radius);margin-bottom:1rem}.alert-banner.warning{background:var(--warning-light);border:1px solid rgba(245,158,11,.3)}.alert-banner.warning .alert-icon{color:var(--warning-dark)}.alert-banner.danger{background:var(--danger-light);border:1px solid rgba(239,68,68,.3)}.alert-banner.danger .alert-icon{color:var(--danger-dark)}.alert-banner.info{background:var(--primary-50);border:1px solid rgba(59,130,246,.3)}.alert-banner.info .alert-icon{color:var(--primary)}.alert-content{flex:1}.alert-title{font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.alert-message{font-size:.875rem;color:var(--text-secondary)}.progress-bar{height:8px;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .5s ease}.progress-bar-fill.primary{background:var(--primary)}.progress-bar-fill.success{background:var(--success)}.progress-bar-fill.warning{background:var(--warning)}.progress-bar-fill.danger{background:var(--danger)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:.5rem .75rem;background:var(--text-primary);color:#fff;font-size:.75rem;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition-fast)}.tooltip:hover:after{opacity:1}@media(max-width:1280px){.dashboard-grid .col-quarter{grid-column:span 6}}@media(max-width:1024px){.main-content{padding:1.5rem}.dashboard-grid .col-half{grid-column:span 12}.dashboard-grid .col-third{grid-column:span 6}.record-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:768px){.mobile-header{display:flex}.sidebar-overlay,.sidebar-close{display:block}.sidebar{position:fixed;left:-260px;z-index:50;transition:left .3s cubic-bezier(.4,0,.2,1)}.sidebar.open{left:0}.sidebar-logo{margin-top:2rem}.main-content{margin-left:0;padding:calc(56px + 1rem) 1rem 1rem}.dashboard-grid .col-third{grid-column:span 12}.dashboard-grid .col-quarter{grid-column:span 6}.vehicle-card-info{grid-template-columns:1fr;text-align:left}.vehicle-card-info-item{text-align:left;display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.vehicle-card-info-item:last-child{border-bottom:none}.vehicle-card-info-label{margin-bottom:0}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem}.stat-card{padding:1rem}.stat-card-value{font-size:1.25rem}.form-row{grid-template-columns:1fr}.page-title{font-size:1.375rem}.modal{margin:.5rem;max-height:calc(100vh - 1rem);width:calc(100% - 1rem)}.modal-header,.modal-body,.modal-footer{padding:1rem}.record-grid{grid-template-columns:1fr}.vehicle-card-stats{grid-template-columns:1fr;gap:.75rem}.vehicle-stat-item{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.vehicle-stat-item:last-child{border-bottom:none}.quick-actions{flex-direction:column}.quick-action-btn{justify-content:center}}@media(max-width:480px){.main-content{padding:calc(56px + .75rem) .75rem .75rem}.stats-grid{grid-template-columns:1fr}.dashboard-grid .col-quarter{grid-column:span 12}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.page-header .btn{width:100%;justify-content:center}.card{padding:1rem;border-radius:var(--radius)}.btn{padding:.75rem 1rem;font-size:.9375rem}.form-input,.form-select,.form-textarea{padding:.875rem 1rem;font-size:1rem}.btn-sm{padding:.625rem 1rem;min-height:44px}.preset-btn{padding:.5rem 1rem;min-height:36px}.table th,.table td{padding:.75rem}}@media(hover:none)and (pointer:coarse){.btn,.nav-item,.quick-action-btn,.preset-btn{min-height:44px}.form-input,.form-select{min-height:48px}.card:hover,.stat-card:hover,.info-card:hover,.record-card:hover{transform:none;box-shadow:var(--shadow)}}@supports (padding: env(safe-area-inset-bottom)){.mobile-header{padding-top:env(safe-area-inset-top)}.main-content{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.sidebar{padding-bottom:env(safe-area-inset-bottom)}.modal-footer{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}.period-selector{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.period-toggle{display:flex;background:var(--background);border-radius:var(--radius);padding:3px;border:1px solid var(--border)}.period-toggle-btn{padding:.5rem 1.25rem;border:none;background:transparent;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.period-toggle-btn.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.period-toggle-btn:not(.active):hover{color:var(--text-primary);background:var(--surface-hover)}.year-navigator{display:flex;align-items:center;gap:.5rem}.year-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.year-nav-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-muted);color:var(--text-primary)}.year-nav-btn:disabled{opacity:.4;cursor:not-allowed}.year-nav-label{font-size:1rem;font-weight:600;color:var(--text-primary);min-width:3.5rem;text-align:center}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;box-shadow:var(--shadow-lg);font-size:.8125rem;min-width:160px}.chart-tooltip-title{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;padding-bottom:.375rem;border-bottom:1px solid var(--border-light)}.chart-tooltip-row{display:flex;align-items:center;gap:.5rem;padding:.125rem 0}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-label{flex:1;color:var(--text-secondary)}.chart-tooltip-value{font-weight:600;color:var(--text-primary);white-space:nowrap}.chart-tooltip-total{display:flex;justify-content:space-between;margin-top:.375rem;padding-top:.375rem;border-top:1px solid var(--border-light);font-weight:600;color:var(--text-primary)}.donut-center-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);text-align:center;pointer-events:none}.donut-center-amount{font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.donut-center-text{font-size:.75rem;color:var(--text-muted)}.donut-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center;margin-top:.5rem}.donut-legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem}.donut-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.donut-legend-label{color:var(--text-secondary)}.donut-legend-value{font-weight:600;color:var(--text-primary)}.statistics-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1rem}@media(max-width:480px){.statistics-charts-grid{grid-template-columns:1fr}.period-selector{flex-direction:column;align-items:stretch}.year-navigator{justify-content:center}.donut-center-amount{font-size:.875rem}}@media print{.sidebar,.mobile-header,.btn,.quick-actions{display:none!important}.main-content{margin-left:0;padding:0}.card{box-shadow:none;border:1px solid #ddd}}
