*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f1a;--bg2: #1a1a2e;--bg3: #16213e;--card: #1e1e35;--border: #2a2a4a;--accent: #6c63ff;--accent2: #818cf8;--danger: #ef4444;--success: #22c55e;--warning: #f59e0b;--text: #e2e8f0;--text2: #94a3b8;--radius: 14px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0,0,0,.4)}html,body,#root{height:100%;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#1a1a4a 0%,var(--bg) 70%);padding:20px}.login-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;box-shadow:var(--shadow)}.login-logo{text-align:center;margin-bottom:32px}.logo-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--accent),#a78bfa);border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff;box-shadow:0 0 32px #6c63ff66}.login-logo h1{font-size:22px;font-weight:700}.login-logo p{color:var(--text2);font-size:13px;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:500;color:var(--text2)}.input-wrap{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;transition:border-color .2s}.input-wrap:focus-within{border-color:var(--accent)}.input-wrap svg{color:var(--text2);flex-shrink:0}.input-wrap input{background:none;border:none;outline:none;color:var(--text);font-size:15px;width:100%;font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--accent),#818cf8);color:#fff;border:none;border-radius:var(--radius-sm);padding:13px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s}.btn-secondary:hover{background:var(--bg3)}.btn-danger{background:linear-gradient(135deg,var(--danger),#f87171);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-icon{background:none;border:none;color:var(--text2);cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center}.btn-icon:hover{background:var(--bg3);color:var(--text)}.btn-large{width:100%;padding:16px;font-size:16px;border-radius:var(--radius);margin-top:8px}.alert-error{display:flex;align-items:center;gap:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);padding:10px 14px;color:#fca5a5;font-size:13px}.page{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.page-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.page-header h2{font-size:17px;font-weight:600}.dash-header{background:linear-gradient(135deg,var(--bg2),var(--bg3));border-bottom:1px solid var(--border);padding:16px 20px 20px}.dash-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.logo-sm{display:flex;align-items:center;gap:6px;font-weight:700;font-size:16px}.header-right{display:flex;align-items:center;gap:10px}.badge-online{display:flex;align-items:center;gap:4px;font-size:11px;background:#22c55e26;color:var(--success);border:1px solid rgba(34,197,94,.3);padding:4px 10px;border-radius:20px}.badge-offline{display:flex;align-items:center;gap:4px;font-size:11px;background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.3);padding:4px 10px;border-radius:20px}.dash-greeting p{font-size:18px;font-weight:600}.dash-greeting .sub{color:var(--text2);font-size:13px;margin-top:2px}.dash-content{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}.viatura-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 2px 12px #0000004d}.viatura-info{display:flex;align-items:center;gap:12px;margin-bottom:14px}.viatura-info svg{color:var(--accent2)}.viatura-info strong{display:block;font-size:16px}.viatura-info span{color:var(--text2);font-size:13px}.viatura-actions{display:flex;gap:8px}.viatura-actions button{flex:1;justify-content:center}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text2);text-align:center;padding:40px}.checklist-content{padding:16px;display:flex;flex-direction:column;gap:16px;flex:1}.km-section label{display:block;font-size:13px;font-weight:500;color:var(--text2);margin-bottom:6px}.km-input{width:100%;background:var(--card);border:2px solid var(--accent);border-radius:var(--radius-sm);padding:14px 16px;font-size:22px;font-weight:700;color:var(--text);outline:none;font-family:inherit;text-align:center}.checklist-list{display:flex;flex-direction:column;gap:8px}.checklist-item{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;transition:border-color .2s,background .2s}.checklist-item.checked{border-color:var(--success);background:#22c55e0d}.check-toggle{display:flex;align-items:center;gap:12px;background:none;border:none;color:var(--text);cursor:pointer;font-size:14px;font-family:inherit;flex:1;text-align:left}.icon-ok{color:var(--success)}.icon-empty{color:var(--border)}.foto-btn{position:relative;cursor:pointer;color:var(--text2);display:flex;align-items:center;padding:6px;border-radius:8px;transition:color .2s}.foto-btn:hover{color:var(--accent2)}.foto-badge{position:absolute;top:-2px;right:-2px;background:var(--success);color:#fff;font-size:9px;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}.obs-section label{display:block;font-size:13px;font-weight:500;color:var(--text2);margin-bottom:6px}.obs-section textarea,.field textarea{width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;color:var(--text);outline:none;font-family:inherit;resize:vertical}.field textarea:focus{border-color:var(--accent)}.retorno-content{padding:20px;display:flex;flex-direction:column;gap:16px;flex:1}.retorno-info{text-align:center;padding:20px 0 8px}.retorno-icon{color:var(--warning);margin-bottom:8px}.retorno-info p{color:var(--text2);font-size:14px}.field input.km-input{text-align:left;font-size:18px}.spinner-wrap{display:flex;justify-content:center;padding:40px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
