*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f5f6f8;color:#20242a}a{text-decoration:none;color:inherit}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef1f4}.login-card{width:min(420px,100%);background:#fff;padding:34px;border-radius:18px;box-shadow:0 15px 50px #00000012}.login-card h1{margin:14px 0 5px}.login-card p{color:#707780;margin-top:0}.brand-mark{width:52px;height:52px;border-radius:14px;background:#ed1c24;color:#fff;display:grid;place-items:center;font-weight:800;font-size:24px}.brand-mark.small{width:38px;height:38px;border-radius:10px;font-size:18px;flex:0 0 auto}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;margin-bottom:16px}input,select,textarea{width:100%;border:1px solid #d9dde2;border-radius:9px;padding:11px 12px;font:inherit;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid #ed1c2430;border-color:#ed1c24}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d7dbe0;border-radius:9px;padding:10px 15px;background:#fff;font-weight:700;cursor:pointer}.btn.primary{background:#ed1c24;border-color:#ed1c24;color:#fff}.login-card .btn{width:100%}.alert{padding:12px 14px;border-radius:9px;margin:14px 0;font-size:14px}.alert.error{background:#fff0f0;color:#a92929}.alert.success{background:#edf9f1;color:#267340}.app-shell{min-height:100vh;display:flex}.sidebar{width:235px;background:#16191d;color:#c9ced5;padding:20px 14px;position:fixed;inset:0 auto 0 0;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px 25px;color:#fff}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand small{font-size:11px;color:#8f969e;margin-top:2px}.sidebar nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:9px;margin:3px 0;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff10;color:#fff}.sidebar nav a.active{border-left:3px solid #ed1c24}.sidebar nav a.disabled{opacity:.42;pointer-events:none}.sidebar nav a small{margin-left:auto;font-size:9px}.nav-sep{height:1px;background:#ffffff12;margin:15px 8px}.main{margin-left:235px;min-width:0;width:calc(100% - 235px)}.topbar{height:70px;background:#fff;border-bottom:1px solid #e6e8eb;display:flex;align-items:center;padding:0 26px;gap:15px;position:sticky;top:0;z-index:10}.topbar>div:nth-child(2){flex:1}.topbar strong,.topbar small{display:block}.topbar small{font-size:12px;color:#8a9098;margin-top:2px}.icon-btn{display:none;border:0;background:none;font-size:25px}.top-user{display:flex;align-items:center;gap:9px}.top-user>a{margin-left:8px}.content{padding:26px;max-width:1500px}.welcome h1{margin:0 0 5px;font-size:25px}.welcome p,.card-head p,.help{color:#747b84}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stats article{background:#fff;border:1px solid #e7e9ec;border-radius:14px;padding:20px;display:flex;align-items:center;gap:15px}.stats i{font-size:27px;color:#ed1c24}.stats span,.stats strong{display:block}.stats span{font-size:12px;color:#7b828a}.stats strong{font-size:25px;margin-top:3px}.panel-card{background:#fff;border:1px solid #e6e8eb;border-radius:14px;padding:22px;margin-bottom:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.card-head h2{margin:0 0 4px;font-size:18px}.card-head p{margin:0;font-size:13px}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick{border:1px solid #e5e8eb;border-radius:11px;padding:16px;display:flex;gap:13px;align-items:center}.quick>i{font-size:24px;color:#ed1c24}.quick strong,.quick small{display:block}.quick small{color:#818891;margin-top:4px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #eceef0;font-size:13px}th{font-size:11px;text-transform:uppercase;color:#818890}.badge{padding:5px 8px;border-radius:20px;font-size:11px}.badge.ok{background:#eaf7ef;color:#267243}.badge.muted{background:#eee;color:#777}.actions{text-align:right}.actions a{font-size:16px}.cell-sub{display:block;color:#8a9097;margin-top:3px}.empty{text-align:center;color:#888;padding:30px}.form-card{max-width:950px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.form-grid .full{grid-column:1/-1}.check{flex-direction:row;align-items:center}.check input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #eee;padding-top:18px;margin-top:12px}.section-title{font-size:15px;margin-top:25px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.permission{border:1px solid #e5e8eb;border-radius:9px;padding:10px;display:flex;flex-direction:row;align-items:flex-start;margin:0}.permission input{width:auto;margin-top:3px}.permission strong,.permission small{display:block}.permission small{color:#888;margin-top:2px}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 30px #0003}.main{margin-left:0;width:100%}.icon-btn{display:block}.topbar{padding:0 15px}.top-user span{display:none}.content{padding:16px}.stats{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.form-grid,.permission-grid{grid-template-columns:1fr}.card-head{align-items:flex-start;flex-direction:column}.card-head .btn{width:100%}}.vehicle-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:18px}.vehicle-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e6e8eb;border-radius:14px;padding:22px;margin-bottom:16px}.vehicle-hero h1{margin:5px 0;font-size:24px}.vehicle-hero p{margin:0;color:#747b84}.eyebrow{font-size:11px;font-weight:800;color:#ed1c24;letter-spacing:.06em}.vehicle-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.vehicle-summary article{background:#fff;border:1px solid #e6e8eb;border-radius:12px;padding:16px}.vehicle-summary span,.vehicle-summary strong{display:block}.vehicle-summary span{font-size:11px;text-transform:uppercase;color:#858c94;margin-bottom:7px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.data-list{margin:0}.data-list>div{padding:11px 0;border-bottom:1px solid #eee}.data-list dt{font-size:11px;text-transform:uppercase;color:#858c94}.data-list dd{margin:4px 0 0;font-weight:600}.timeline-item{display:flex;gap:10px;padding:0 0 16px}.timeline-item>i{font-size:8px;color:#ed1c24;margin-top:5px}.timeline-item strong,.timeline-item small{display:block}.timeline-item small{font-size:11px;color:#858c94;margin-top:4px}@media(max-width:800px){.vehicle-filters{grid-template-columns:1fr}.vehicle-hero{flex-direction:column}.vehicle-hero .btn{width:100%}.vehicle-summary{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}@media(max-width:480px){.vehicle-summary{grid-template-columns:1fr}}

/* V3: QR, controles y fotos */
:root{--primary:#ed1c24;--font-family:'Inter',Arial,sans-serif}html,body,button,input,select,textarea{font-family:var(--font-family)}
.btn.danger{background:#fff;border-color:#f0b8ba;color:#b5141a}.btn.small{padding:7px 10px;font-size:12px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.control-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.control-block{border:1px solid #e5e8eb;border-radius:12px;padding:16px}.control-block h3{font-size:14px;margin:0 0 12px}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice{position:relative;margin:0}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9dde2;border-radius:9px;padding:9px 12px;font-size:13px;font-weight:600;cursor:pointer}.choice input:checked+span{border-color:var(--primary);box-shadow:0 0 0 2px #ed1c2417;color:#b4141a;background:#fff7f7}.conditional{margin-top:12px}.photo-input{border:1px dashed #cfd4da;border-radius:12px;padding:18px;background:#fafbfc}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.photo-grid a{display:block}.photo-grid img{width:100%;height:130px;object-fit:cover;border-radius:10px;border:1px solid #e4e6e8}.qr-card{text-align:center;max-width:390px}.qr-box{display:grid;place-items:center;min-height:230px;padding:16px;background:#fff}.qr-box img,.qr-box canvas{max-width:100%;height:auto}.qr-url{font-size:11px;color:#747b84;word-break:break-all}.public-body{min-height:100vh;background:#f3f4f6;padding:22px;display:grid;place-items:center}.public-card{width:min(520px,100%);background:#fff;border:1px solid #e5e7ea;border-radius:18px;padding:26px;box-shadow:0 15px 45px #0000000d}.public-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.public-status{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.public-status article{border:1px solid #e5e7ea;border-radius:12px;padding:16px}.public-status span,.public-status strong{display:block}.public-status span{font-size:11px;text-transform:uppercase;color:#7d848c;margin-bottom:6px}.control-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #eee}.control-list-item:last-child{border-bottom:0}.control-list-item strong,.control-list-item small{display:block}.control-list-item small{color:#7d848c;margin-top:4px}.status-pill{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:11px;font-weight:700;background:#eef0f2}.status-pill.observed{background:#fff0f0;color:#a92929}.status-pill.ok{background:#edf9f1;color:#267340}@media(max-width:800px){.control-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.hero-actions{width:100%}.hero-actions .btn{flex:1}.public-status{grid-template-columns:1fr}}
.control-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.control-flags span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:7px;background:#fff4f4;color:#a92929;font-size:11px;font-weight:600}.control-detail-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.control-detail-head h2{margin:5px 0}.control-detail-head p{margin:0;color:#747b84}.control-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.control-detail-item{border:1px solid #e5e8eb;border-radius:12px;padding:16px}.control-detail-item>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.control-detail-item p{margin:12px 0 0;padding-top:12px;border-top:1px solid #eee;color:#555e67;font-size:13px;line-height:1.5}.control-result{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.control-result.ok{background:#edf9f1;color:#267340}.control-result.observed{background:#fff0f0;color:#a92929}.control-observations{border:1px solid #e5e8eb;border-radius:10px;background:#fafbfc;padding:15px;line-height:1.55;font-size:14px}@media(max-width:800px){.control-detail-head{align-items:flex-start;flex-direction:column}.control-detail-head .btn{width:100%}.control-detail-grid{grid-template-columns:1fr}.control-list-item{align-items:flex-start}.control-list-item>.btn{flex:0 0 auto}}@media(max-width:520px){.control-list-item{flex-direction:column}.control-list-item>.btn{width:100%}}
