.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%;padding:40px;text-align:center}.login-header h1{margin:0 0 10px;font-size:2.5em;color:#333}.login-header p{color:#666;margin:0 0 30px}.login-content{margin:30px 0}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{text-align:left}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-button:disabled{opacity:.7;cursor:not-allowed}.error-message{background-color:#fee2e2;color:#dc2626;padding:12px;border-radius:8px;font-size:.9em}.login-footer{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.login-footer p{color:#999;font-size:.9em;margin:0}.link-button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;padding:0;font-size:inherit}.link-button:hover{text-decoration:underline}.form-container{margin-bottom:30px}.kilometer-form{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #00000014}.kilometer-form h2{margin:0 0 24px;color:#333;font-size:1.5em}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:600;font-size:.95em}.form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel,.btn-save{padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s;border:none}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media (max-width: 768px){.kilometer-form{padding:20px}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}}.list-container{margin-top:40px}.list-container h2{margin-bottom:20px;color:#333;font-size:1.5em}.entries-list{display:grid;gap:16px}.entry-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.entry-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.entry-date{color:#999;font-size:.9em;font-weight:600;text-transform:capitalize;min-width:150px}.entry-main{display:flex;align-items:center;gap:16px;flex:1}.entry-km{display:flex;align-items:baseline;gap:6px}.km-value{font-size:1.8em;font-weight:700;color:#333}.km-unit{color:#999;font-size:.9em}.entry-distance{margin-left:8px}.distance-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:20px;font-size:.85em;font-weight:600}.entry-comment{grid-column:2;color:#666;font-style:italic;font-size:.9em;padding-top:8px;border-top:1px solid #f0f0f0}.entry-actions{display:flex;gap:8px}.btn-edit,.btn-delete{background:transparent;border:none;font-size:1.3em;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s}.btn-edit:hover{background:#f0f0f0}.btn-delete:hover{background:#ffe0e0}@media (max-width: 768px){.entry-card{grid-template-columns:1fr;gap:12px}.entry-date{min-width:auto}.entry-comment{grid-column:1}.entry-actions{justify-content:flex-end}}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:20px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.stat-card.full-width{grid-column:1 / -1}.stat-icon{font-size:2.5em;line-height:1}.stat-content{flex:1}.stat-value{font-size:1.8em;font-weight:700;color:#333;margin-bottom:4px}.stat-label{font-size:.9em;color:#999;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.stats-container{grid-template-columns:1fr}.stat-value{font-size:1.5em}}.chart-container{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #00000014;margin-bottom:30px}.chart-container h2{margin:0 0 24px;color:#333;font-size:1.5em}.chart-wrapper{height:400px;position:relative}@media (max-width: 768px){.chart-container{padding:20px}.chart-wrapper{height:300px}}.vehicle-selector{position:relative}.vehicle-selector-button{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:1em;min-width:250px;transition:border-color .2s,box-shadow .2s}.vehicle-selector-button:hover{border-color:#667eea}.vehicle-icon{font-size:1.2em}.vehicle-name{flex:1;text-align:left;color:#333}.arrow{font-size:.8em;color:#666;transition:transform .2s}.arrow.open{transform:rotate(180deg)}.vehicle-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:300px;overflow-y:auto}.vehicle-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px 16px;background:none;border:none;border-bottom:1px solid #eee;cursor:pointer;text-align:left;transition:background-color .2s}.vehicle-option:last-child{border-bottom:none}.vehicle-option:hover{background-color:#f5f5f5}.vehicle-option.selected{background-color:#e8eaff}.vehicle-option-name{font-weight:600;color:#333}.vehicle-option-details{font-size:.85em;color:#666}.vehicle-option-plate{font-size:.8em;color:#999;background:#f0f0f0;padding:2px 8px;border-radius:4px}.vehicle-option.add-new{flex-direction:row;align-items:center;gap:10px;color:#667eea;font-weight:600;border-top:2px solid #eee}.vehicle-option.add-new:hover{background-color:#f0f2ff}.add-icon{font-size:1.2em;font-weight:700}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.4em;color:#333}.modal-close{background:none;border:none;font-size:1.8em;color:#999;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#333}.vehicle-form{padding:24px;display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vehicle-form .form-group{display:flex;flex-direction:column;gap:8px}.vehicle-form .form-group label{font-weight:500;color:#333;font-size:.9em}.vehicle-form .form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;transition:border-color .2s,box-shadow .2s}.vehicle-form .form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.vehicle-form .form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:10px}.btn-cancel{padding:12px 24px;background:#f5f5f5;color:#666;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-save{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-save:disabled,.btn-cancel:disabled{opacity:.7;cursor:not-allowed}.vehicle-form .error-message{background-color:#fee2e2;color:#dc2626;padding:12px;border-radius:8px;font-size:.9em}@media (max-width: 500px){.form-row{grid-template-columns:1fr}}.dashboard-container{min-height:100vh;background:#f5f7fa}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;box-shadow:0 2px 10px #0000001a}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-content h1{margin:0;font-size:1.8em}.user-info{display:flex;align-items:center;gap:15px}.user-avatar{width:40px;height:40px;border-radius:50%;border:2px solid white}.btn-logout{background:#fff3;color:#fff;border:1px solid white;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9em;transition:all .3s}.btn-logout:hover{background:#ffffff4d}.dashboard-main{max-width:1200px;margin:0 auto;padding:30px 20px}.btn-add-entry{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;margin-bottom:30px;transition:transform .2s}.btn-add-entry:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.loading{text-align:center;padding:60px 20px;font-size:1.2em;color:#666}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state h2{color:#333;margin-bottom:10px}.empty-state p{margin:10px 0;font-size:1.1em}.vehicle-section{margin-bottom:30px}.btn-add-vehicle{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 28px;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;margin-top:20px;transition:transform .2s,box-shadow .2s}.btn-add-vehicle:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.spinner{border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top:4px solid white;width:50px;height:50px;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-loading p{font-size:1.2em}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:#333;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh}button{font-family:inherit}
