:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;background:#1a1a1a;color:#f0f0f0}*{box-sizing:border-box}body{margin:0;padding:0;background:#2a2a2a}button,input,select{font:inherit}.login-shell{max-width:440px;margin:2rem auto;padding:1.5rem;background:#1f1f1f;border:1px solid #3a3a3a;border-radius:16px}.dashboard-shell{max-width:1700px;margin:.75rem auto;padding:1rem 1.25rem;background:#1f1f1f;border:1px solid #3a3a3a;border-radius:16px}.login-shell h1{margin-top:0}.login-shell form{display:grid;gap:1rem}.login-shell label{display:grid;gap:.5rem}.login-shell input{width:100%;padding:.8rem;border:1px solid #3a3a3a;border-radius:.75rem;background:#141414;color:#e0e0e0}button{padding:.7rem 1.1rem;border:none;border-radius:.75rem;background:#2563eb;color:#fff;cursor:pointer;white-space:nowrap}button:disabled{opacity:.5;cursor:not-allowed}button.btn-secondary{background:#3a3a3a;color:#e0e0e0}button.btn-success{background:#16a34a}button.btn-danger{background:#dc2626;padding:.4rem .75rem;font-size:.8rem}button.btn-sm{padding:.4rem .75rem;font-size:.85rem}.error-message{color:#f87171;margin:.5rem 0}.success-message{color:#4ade80;margin:.5rem 0}.dashboard-shell header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.header-brand{display:flex;align-items:center;gap:1rem}.header-brand h1{margin:0;font-size:1.4rem}.header-brand p{margin:.25rem 0 0;color:#9a9a9a;font-size:.9rem}.brand-logo{height:52px;width:auto;object-fit:contain;mix-blend-mode:screen}.login-shell .brand-logo{height:80px;display:block;margin:0 auto 1.5rem;mix-blend-mode:screen}.tabs{display:flex;gap:.25rem;border-bottom:1px solid #3a3a3a;margin-bottom:1.5rem}.tab-btn{padding:.6rem 1.2rem;border-radius:.5rem .5rem 0 0;background:transparent;color:#9a9a9a;border-bottom:2px solid transparent}.tab-btn.active{background:#2a2a2a;color:#f0f0f0;border-bottom-color:#2563eb}.summary-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card div{padding:1rem;background:#2a2a2a;border-radius:1rem;border:1px solid #3a3a3a}.summary-card strong{display:block;margin-bottom:.5rem;color:#9a9a9a;font-size:.85rem}.summary-card span{font-size:1.3rem;font-weight:600}.toolbar{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.toolbar input[type=text]{flex:1;min-width:200px;padding:.6rem .9rem;border:1px solid #3a3a3a;border-radius:.75rem;background:#141414;color:#e0e0e0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:860px}thead th{text-align:left;padding:.55rem .6rem;border-bottom:1px solid #3a3a3a;color:#b0b0b0;white-space:nowrap;font-size:.8rem}tbody tr{border-bottom:1px solid #2a2a2a}tbody tr:hover{background:#252525}tbody td{padding:.5rem .6rem;white-space:nowrap;font-size:.83rem}tr.critical{background:#f8717112}td.cell-clip{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.inv-table{table-layout:fixed;min-width:unset}table.inv-table col.col-code{width:90px}table.inv-table col.col-name{width:17%}table.inv-table col.col-fab{width:9%}table.inv-table col.col-brand{width:8%}table.inv-table col.col-model{width:12%}table.inv-table col.col-qty{width:72px}table.inv-table col.col-cost{width:90px}table.inv-table col.col-min,table.inv-table col.col-max{width:52px}table.inv-table col.col-status{width:84px}table.inv-table col.col-action{width:52px}.add-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;padding:1rem;background:#252525;border:1px solid #3a3a3a;border-radius:.75rem;margin-bottom:1rem}.add-form input{padding:.55rem .75rem;border:1px solid #3a3a3a;border-radius:.5rem;background:#141414;color:#e0e0e0}.add-form input::placeholder{color:#555;font-size:.85rem}.add-form-actions{grid-column:1 / -1;display:flex;gap:.5rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi-card{padding:1rem;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:1rem}.kpi-card .kpi-label{font-size:.8rem;color:#9a9a9a;margin-bottom:.4rem}.kpi-card .kpi-value{font-size:1.4rem;font-weight:700}.kpi-card .kpi-sub{font-size:.8rem;color:#6a6a6a;margin-top:.2rem}.kpi-section-title{font-size:.95rem;color:#9a9a9a;margin:1.5rem 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.user-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;padding:1rem;background:#252525;border:1px solid #3a3a3a;border-radius:.75rem;margin-bottom:1.5rem}.user-form input,.user-form select{padding:.55rem .75rem;border:1px solid #3a3a3a;border-radius:.5rem;background:#141414;color:#e0e0e0}.user-form-actions{grid-column:1 / -1;display:flex;gap:.5rem}.role-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.role-badge.admin{background:#7c3aed22;color:#a78bfa;border:1px solid #7c3aed44}.role-badge.operator{background:#0369a122;color:#38bdf8;border:1px solid #0369a144}.role-badge.viewer{background:#15803d22;color:#4ade80;border:1px solid #15803d44}.maint-status{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.maint-status.ok{background:#15803d22;color:#4ade80;border:1px solid #15803d44}.maint-status.warning{background:#92400e22;color:#fbbf24;border:1px solid #92400e44}.maint-status.critical{background:#dc262622;color:#f87171;border:1px solid #dc262644}.maint-status.overdue{background:#7f1d1d;color:#fca5a5;border:1px solid #f87171}.maint-km-ok{color:#4ade80;font-weight:600}.maint-km-warning{color:#fbbf24;font-weight:600}.maint-km-critical{color:#f87171;font-weight:700}.maint-km-overdue{color:#fca5a5;font-weight:700;background:#7f1d1d44;border-radius:4px;padding:0 4px}.maint-km-na{color:#555;font-size:.8rem}.maint-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;padding:1rem;background:#252525;border:1px solid #3a3a3a;border-radius:.75rem;margin-bottom:1rem}.maint-form input,.maint-form select{padding:.55rem .75rem;border:1px solid #3a3a3a;border-radius:.5rem;background:#141414;color:#e0e0e0}.maint-form label{font-size:.78rem;color:#9a9a9a;display:grid;gap:.3rem}.maint-form-actions{grid-column:1 / -1;display:flex;gap:.5rem;flex-wrap:wrap}.maint-section{font-size:.78rem;color:#6a6a6a;text-transform:uppercase;letter-spacing:.06em;grid-column:1 / -1;padding-top:.5rem;border-top:1px solid #3a3a3a;margin-top:.25rem}table.maint-table{table-layout:fixed;min-width:1200px;width:100%}table.maint-table col.col-plate{width:88px}table.maint-table col.col-model{width:13%}table.maint-table col.col-client{width:15%}table.maint-table col.col-km{width:82px}table.maint-table col.col-svc,table.maint-table col.col-svc2,table.maint-table col.col-svc3{width:108px}table.maint-table col.col-act{width:96px}table.maint-table td{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}table.maint-table td.td-schedule{white-space:normal;overflow:visible;word-break:break-word}.pending-badge{background:#dc262622;color:#f87171;border:1px solid #dc262644;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700;margin-left:.5rem}.edit-inline input{background:#1a1a1a;border:1px solid #4a90d9;border-radius:4px;color:#e0e0e0;padding:.2rem .4rem;font-size:.83rem;width:100%}
