*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#f5f7fb 0%,#eef3ff 100%);color:#12233d}a{text-decoration:none;color:inherit}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-box,.card{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border:1px solid #e4eaf5;border-radius:24px;box-shadow:0 20px 55px rgba(18,35,61,.08)}.login-box{width:100%;max-width:460px;padding:30px}.container{padding:24px;max-width:1500px;margin:0 auto}.card{padding:26px}.topbar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:18px 24px;background:linear-gradient(135deg,#0d2346 0%,#123868 55%,#1c59a8 100%);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 10px 30px rgba(13,35,70,.18)}.brand{font-size:24px;font-weight:800;letter-spacing:.2px}.menu-links{display:flex;flex-wrap:wrap;gap:10px}.menu-links a{color:#fff;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.1);transition:.2s ease}.menu-links a.active,.menu-links a:hover{background:#fff;color:#123868}h1{margin:0 0 6px;font-size:30px}label{display:block;margin:0 0 8px;font-weight:700;color:#17325a}input,select,textarea,button{width:100%;padding:13px 14px;border:1px solid #cad7eb;border-radius:14px;font-size:15px;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border-color:#2f6fed;box-shadow:0 0 0 4px rgba(47,111,237,.14)}button{cursor:pointer;font-weight:800}.btn-primary,.btn-small{background:linear-gradient(135deg,#165ef0 0%,#2d7dff 100%);color:#fff;border:none;box-shadow:0 10px 20px rgba(22,94,240,.22)}.btn-primary{width:auto;padding:14px 20px}.btn-small{display:inline-block;width:auto;padding:9px 12px;border-radius:12px;font-size:14px}.btn-ghost{display:inline-block;width:auto;padding:14px 20px;border-radius:14px;background:#eef4ff;color:#18437a;font-weight:800}.danger{background:linear-gradient(135deg,#c23a36 0%,#e2554d 100%)!important}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid .full{grid-column:1/-1}.actions{display:flex;gap:12px;align-items:center;justify-content:flex-start;margin-top:22px;flex-wrap:wrap}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.card-head.wrap{flex-wrap:wrap}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.summary-card{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #e2eaf6;border-radius:22px;padding:20px 18px;box-shadow:0 14px 34px rgba(18,35,61,.06)}.summary-main{background:linear-gradient(135deg,#0e3161 0%,#1f5fb6 100%);color:#fff;border:none}.summary-label{font-size:13px;font-weight:700;opacity:.88;text-transform:uppercase;letter-spacing:.4px}.summary-number{margin-top:10px;font-size:34px;font-weight:900}.muted,small{color:#61758f}.mt-8{margin-top:8px}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;margin-bottom:18px}.table-wrap{overflow:auto;border:1px solid #e1e8f3;border-radius:18px}.table-wrap table{width:100%;border-collapse:collapse;min-width:1450px;background:#fff}.table-wrap th,.table-wrap td{border-bottom:1px solid #edf2f8;padding:12px 10px;text-align:left;vertical-align:top}.table-wrap th{background:#f6f9fe;position:sticky;top:0;color:#1b3a66}.alerta-ok,.alerta-error{padding:16px 18px;border-radius:16px;margin-bottom:18px;font-weight:700}.alerta-ok{background:#ebfaf1;color:#12703f;border:1px solid #bde9cb}.alerta-error{background:#fff0ef;color:#b53127;border:1px solid #f3cbc6}.upper-input{text-transform:uppercase}.hidden{display:none}.foto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px}.actions-inline{min-width:150px}.search-form{display:flex;gap:10px;max-width:560px;width:100%}.search-form input{flex:1}.placa-row{display:flex;gap:10px;align-items:center}.placa-row input{flex:1}@media (max-width:1100px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid button{grid-column:1/-1}}@media (max-width:900px){.grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.container{padding:16px}.summary-grid{grid-template-columns:1fr}.foto-grid{grid-template-columns:1fr}.placa-row{flex-direction:column;align-items:stretch}}