:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:300}h1{letter-spacing:-1.68px;margin:32px 0;font-size:32px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:18px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.car-list{max-width:1200px;margin:0 auto;padding:20px}.car-list h1{color:#333;margin-bottom:30px}.cars-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px;display:grid}.car-card{background:#fff;border-radius:12px;padding:25px;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0000001a}.car-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.car-header h3{color:#2c3e50;margin:0 0 8px;font-size:20px}.car-vin{color:#7f8c8d;background:#f8f9fa;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:12px}.car-info{margin-bottom:20px}.info-row{border-bottom:1px solid #f8f9fa;justify-content:space-between;padding:8px 0;display:flex}.info-row:last-child{border-bottom:none}.label{color:#7f8c8d;font-weight:500}.value{color:#2c3e50;font-weight:600}.car-link{color:#3498db;padding:8px 0;font-weight:600;text-decoration:none;transition:color .2s;display:inline-block}.car-link:hover{color:#2980b9}.loading,.error,.empty-state{text-align:center;background:#fff;border-radius:12px;padding:60px 20px;box-shadow:0 2px 8px #0000001a}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{color:#e74c3c}.error button{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;margin-top:15px;padding:10px 20px;font-size:14px}.error button:hover{background:#2980b9}.empty-state a{color:#3498db}.car-details{max-width:1000px;margin:0 auto;padding:20px}.back-link:hover{color:#2980b9}.car-header{border-bottom:2px solid #e0e0e0;margin-bottom:30px;padding-bottom:20px}.car-header h1{color:#2c3e50;margin:0 0 10px}.car-meta{gap:15px;display:flex}.vin,.plate{background:#f8f9fa;border-radius:4px;padding:4px 12px;font-family:monospace;font-size:14px}.car-info-section,.forecast-section{background:#fff;border-radius:12px;margin-bottom:25px;padding:25px;box-shadow:0 2px 8px #0000001a}.car-info-section h2,.forecast-section h2{color:#2c3e50;border-bottom:2px solid #3498db;margin-top:0;margin-bottom:20px;padding-bottom:10px}.info-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.info-item{flex-direction:column;display:flex}.info-item .label{color:#7f8c8d;margin-bottom:5px;font-size:14px}.info-item .value{color:#2c3e50;font-size:16px;font-weight:600}.forecast-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px;display:grid}.summary-card{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;padding:20px}.summary-label{opacity:.9;margin-bottom:8px;font-size:14px;display:block}.summary-value{font-size:24px;font-weight:700;display:block}.tasks-section,.parts-section{margin:25px 0}.tasks-section h3,.parts-section h3{color:#34495e;margin-bottom:15px}.tasks-list{margin:0;padding:0;list-style:none}.task-item{background:#f8f9fa;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 15px;display:flex}.task-name{color:#2c3e50;font-weight:600}.task-system{color:#7f8c8d;font-size:14px}.task-cost{color:#27ae60;font-weight:600}.parts-table{border-collapse:collapse;width:100%;margin-bottom:20px}.parts-table th,.parts-table td{text-align:left;border-bottom:1px solid #e0e0e0;padding:12px 15px}.parts-table th{color:#34495e;background:#f8f9fa;font-weight:600}.parts-table td.total,.parts-table th:last-child{text-align:right;font-weight:600}.forecast-total{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.total-row{justify-content:space-between;padding:8px 0;font-size:16px;display:flex}.total-row.grand-total{color:#2c3e50;border-top:2px solid #3498db;margin-top:10px;padding-top:15px;font-size:20px;font-weight:700}.total-row.grand-total span:last-child{color:#27ae60}.btn-add-record{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:8px;margin-top:15px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 6px -1px #2563eb33,0 2px 4px -1px #2563eb1a}.btn-add-record:hover{background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);transform:translateY(-2px);box-shadow:0 10px 15px -3px #2563eb4d,0 4px 6px -2px #2563eb26}.btn-add-record:active{transform:translateY(0);box-shadow:0 2px 4px -1px #2563eb33}.btn-icon{background:#fff3;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:18px;font-weight:700;line-height:1;display:flex}.timeline{padding-left:30px;position:relative}.timeline:before{content:"";background:#e2e8f0;width:2px;position:absolute;top:0;bottom:0;left:10px}.timeline-item{margin-bottom:30px;position:relative}.timeline-marker{background:#fff;border:3px solid #3b82f6;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:0;left:-30px}.timeline-marker:after{content:"";background:#3b82f6;border-radius:50%;width:8px;height:8px}.timeline-date{color:#64748b;margin-bottom:2px;font-size:12px;display:block}.timeline-mileage{color:#10b981;font-size:11px;font-weight:600;display:block}.timeline-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014}.timeline-header{border-bottom:2px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;display:flex}.timeline-header h3{color:#0f172a;margin:0;font-size:18px}.timeline-cost{color:#10b981;font-size:20px;font-weight:700}.timeline-tasks,.timeline-parts{margin:15px 0}.timeline-tasks h4,.timeline-parts h4{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:14px}.tasks-list-small{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tasks-list-small li{background:#f8fafc;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:14px;display:flex}.task-cost-small{color:#64748b;font-size:13px;font-weight:600}.parts-grid-small{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.part-item-small{background:#f8fafc;border-left:3px solid #3b82f6;border-radius:6px;padding:12px}.part-name{color:#0f172a;margin-bottom:4px;font-weight:600;display:block}.part-manufacturer{color:#64748b;margin-bottom:6px;font-size:12px;display:block}.part-quantity,.part-price{margin-right:15px;font-size:13px;display:inline-block}.part-price{color:#10b981;font-weight:600}.timeline-notes{color:#92400e;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;margin-top:15px;padding:12px;font-size:14px}.maintenance-history-section{margin-top:40px}.plotter-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-height:600px;position:relative;overflow:auto;box-shadow:0 2px 8px #00000014}.plotter-table{border-collapse:separate;border-spacing:0;width:100%;min-width:800px}.plotter-table th,.plotter-table td{text-align:center;border-bottom:1px solid #e2e8f0;border-right:1px solid #f1f5f9;padding:12px 16px}.sticky-col{z-index:20;text-align:left;color:#0f172a;background:#f8fafc;min-width:250px;max-width:300px;font-weight:600;position:sticky;left:0;border-right:2px solid #cbd5e1!important}.sticky-header{z-index:15;color:#334155;background:#f1f5f9;font-weight:600;position:sticky;top:0;border-bottom:2px solid #cbd5e1!important}th.sticky-col.sticky-header{z-index:25;background:#e2e8f0}.to-header-name{margin-bottom:4px;font-size:14px}.to-header-date{color:#64748b;font-size:12px;font-weight:400}.item-name-cell{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.changed-cell{color:#166534;font-size:13px;font-weight:600;background-color:#dcfce7!important}.changed-cell:hover{cursor:help;background-color:#bbf7d0!important}.empty-cell{color:#cbd5e1;font-size:18px}.empty-history{text-align:center;background:#fff;border-radius:12px;padding:60px 20px;box-shadow:0 2px 8px #00000014}.empty-history p{color:#64748b;margin-bottom:20px;font-size:16px}.record-form-container{max-width:900px;margin:0 auto;padding:20px}.back-link{color:#3498db;margin-bottom:15px;font-weight:500;text-decoration:none;display:inline-block}.record-form{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 12px #00000014}.form-section{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.form-section:last-of-type{border-bottom:none}.form-section h2{color:#2c3e50;margin-top:0;margin-bottom:15px;font-size:18px}.form-group.full-width{margin-top:15px}.form-group input,.form-group textarea,.form-group select{border:1px solid #ddd;border-radius:6px;padding:10px 12px;font-size:15px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#3498db;outline:none}.tasks-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.task-checkbox{cursor:pointer;background:#f8f9fa;border-radius:6px;align-items:center;padding:10px;transition:background .2s;display:flex}.task-checkbox:hover{background:#e9ecef}.task-checkbox input{width:18px;height:18px;margin-right:10px}.task-checkbox small{color:#7f8c8d;font-size:12px;display:block}.section-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.btn-add{color:#fff;cursor:pointer;background:#2ecc71;border:none;border-radius:6px;padding:8px 16px;font-weight:600}.btn-add:hover{background:#27ae60}.part-row{background:#f8f9fa;border-radius:6px;grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:grid}.part-row select,.part-row input{border:1px solid #ddd;border-radius:4px;padding:8px}.row-total{color:#2c3e50;text-align:right;font-weight:600}.btn-remove{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:18px;display:flex}.btn-remove:hover{background:#c0392b}.form-summary{background:#f1f2f6;border-radius:8px;margin-bottom:25px;padding:20px}.summary-row{justify-content:space-between;padding:8px 0;font-size:16px;display:flex}.summary-row.grand-total{color:#2c3e50;border-top:2px solid #3498db;margin-top:10px;padding-top:15px;font-size:20px;font-weight:700}.summary-row.grand-total span:last-child{color:#27ae60}.form-actions{justify-content:flex-end;gap:15px;display:flex}.btn-cancel{color:#7f8c8d;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:12px 24px;font-size:16px}.btn-submit{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;padding:12px 30px;font-size:16px;font-weight:600}.dashboard{max-width:1200px;margin:0 auto;padding:20px}.dashboard h1{color:#0f172a;margin-bottom:30px}.dashboard-loading{text-align:center;padding:100px 20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px;display:grid}.stat-card{background:#fff;border-radius:12px;align-items:center;gap:20px;padding:25px;transition:transform .2s;display:flex;box-shadow:0 2px 8px #00000014}.stat-card:hover{transform:translateY(-4px)}.stat-card.warning{border-left:4px solid #f59e0b}.stat-card.info{border-left:4px solid #3b82f6}.stat-card.success{border-left:4px solid #10b981}.stat-icon{font-size:40px}.stat-content{flex-direction:column;display:flex}.stat-value{color:#0f172a;font-size:32px;font-weight:700}.stat-label{color:#64748b;margin-top:4px;font-size:14px}.dashboard-section{background:#fff;border-radius:12px;margin-bottom:30px;padding:25px;box-shadow:0 2px 8px #00000014}.dashboard-section h2{color:#0f172a;margin-top:0;margin-bottom:20px;font-size:20px}.alert-list{flex-direction:column;gap:15px;display:flex}.alert-item{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.alert-car{flex-direction:column;flex:1;display:flex}.alert-vin{color:#64748b;font-family:monospace;font-size:12px}.alert-info{flex-direction:column;align-items:flex-end;gap:5px;margin:0 20px;display:flex}.alert-badge{border-radius:4px;padding:4px 12px;font-size:13px;font-weight:600}.alert-badge.overdue{color:#fff;background:#f59e0b}.alert-to{color:#0f172a;font-size:14px;font-weight:600}.btn-small{color:#fff;background:#3b82f6;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s}.btn-small:hover{background:#2563eb}.recent-records{flex-direction:column;gap:15px;display:flex}.record-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .2s}.record-card:hover{background:#f1f5f9;border-color:#cbd5e1}.record-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.record-car{color:#0f172a;font-size:16px;font-weight:600}.record-date{color:#64748b;font-size:14px}.record-details{gap:20px;margin-bottom:10px;display:flex}.record-mileage{color:#0f172a;font-weight:500}.record-cost{color:#10b981;font-weight:600}.record-link{color:#3b82f6;font-size:14px;font-weight:500;text-decoration:none}.record-link:hover{text-decoration:underline}.empty-message{color:#64748b;text-align:center;padding:40px}.spinner{border:3px solid #f3f3f3;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;margin:0 auto 20px;animation:1s linear infinite spin}.form-container{max-width:800px;margin:0 auto;padding:20px}.modern-form{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 12px #0000000d}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;display:flex}.form-group label{color:#64748b;margin-bottom:8px;font-size:14px;font-weight:500}.form-group input,.form-group select{border:1px solid #e2e8f0;border-radius:8px;padding:12px;font-size:15px;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;display:flex}.btn-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:12px 24px;font-weight:600;transition:background .2s}.btn-submit:hover{background:#1d4ed8}.btn-cancel{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 24px;font-weight:600}.login-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:30px}.login-icon{margin-bottom:10px;font-size:48px;display:block}.login-header h1{color:#0f172a;margin:0;font-size:28px}.login-subtitle{color:#64748b;margin:8px 0 0;font-size:14px}.login-form{flex-direction:column;gap:20px;display:flex}.login-error{color:#991b1b;background:#fee2e2;border-left:4px solid #ef4444;border-radius:8px;padding:12px;font-size:14px}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#334155;font-size:14px;font-weight:500}.form-group input{border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;font-size:15px;transition:all .2s}.form-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.btn-login{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;margin-top:10px;padding:14px;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-login:disabled{opacity:.7;cursor:not-allowed}.navbar{z-index:1000;-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-bottom:1px solid #0000000f;position:sticky;top:0;box-shadow:0 4px 6px -1px #00000008}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;padding:0 24px;display:flex}.nav-brand{color:#0f172a;letter-spacing:-.5px;align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none;transition:transform .2s,opacity .2s;display:flex}.nav-brand:hover{opacity:.9;transform:scale(1.02)}.brand-icon{font-size:24px}.nav-menu{align-items:center;gap:8px;display:flex}.nav-link{color:#64748b;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:15px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{color:#0f172a;background-color:#f1f5f9}.nav-link.active{color:#0284c7;background-color:#e0f2fe;font-weight:600}.admin-link{border:1px solid #e2e8f0;font-size:14px}.admin-link:hover{color:#334155;background-color:#f8fafc;border-color:#cbd5e1}.main-content{max-width:1200px;margin:0 auto;padding:32px 24px;animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.logout-link{background:#fef2f2;border:1px solid #fecaca;color:#dc2626!important}.logout-link:hover{border-color:#fca5a5;color:#991b1b!important;background:#fee2e2!important}
