html,body,#root{min-height:100%;margin:0}:root{--ink:#1b2430;--ink-muted:#5a6573;--surface:#eef1f4;--surface-2:#e3e8ee;--paper:#f7f8fa;--line:#c5ced6;--accent:#c45c26;--accent-hover:#a84c1e;--accent-soft:#c45c261f;--ok:#3d6b5a;--err:#a32020;--bar:#243040;--shadow-soft:0 1px 0 #1b24300f;--font-ui:"IBM Plex Sans", "Segoe UI", sans-serif;--font-display:"IBM Plex Serif", Georgia, serif;--radius:2px;color:var(--ink);font-family:var(--font-ui);background-color:var(--surface);background-image:linear-gradient(#f7f8faeb,#eef1f4fa),repeating-linear-gradient(0deg,#0000,#0000 23px,#1b243009 23px 24px),repeating-linear-gradient(90deg,#0000,#0000 23px,#1b243009 23px 24px);background-attachment:fixed}*{box-sizing:border-box}body{min-height:100vh;margin:0}button,input,select{font:inherit;color:inherit}button:disabled{opacity:.65;cursor:wait}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes criteria-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes progress-slide{0%{transform:translate(-40%)}to{transform:translate(140%)}}.page-enter{animation:.35s ease-out both page-enter}.topbar{background:var(--bar);color:#f3f5f7;border-bottom:3px solid var(--accent);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.topbar .brand{font-family:var(--font-display);letter-spacing:.04em;font-size:1.15rem;font-weight:600}.topbar .title{letter-spacing:.02em;text-align:center;flex:1;font-size:.92rem;font-weight:500}.topbar .linkish{color:#f3f5f7;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:600}.topbar .linkish:hover{color:#ffd7c2}.topbar .user{color:#c8d0da;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.85rem;font-weight:400;overflow:hidden}.login-shell{flex-direction:column;min-height:100vh;display:flex}.login-stage{flex:1;place-items:center;padding:32px 16px 48px;display:grid}.login-compose{gap:20px;width:min(420px,94vw);animation:.4s ease-out both page-enter;display:grid}.login-compose .brand-mark{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink);margin:0;font-size:clamp(2.4rem,6vw,3.2rem);font-weight:600;line-height:1}.login-compose .lede{color:var(--ink-muted);max-width:28ch;margin:-8px 0 0;font-size:.98rem;line-height:1.45}.login-box{border-top:1px solid var(--line);gap:14px;padding:20px 0 0;display:grid}.login-box label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);gap:6px;font-size:.78rem;font-weight:600;display:grid}.login-box input,.login-box select,.filters select,.criteria select,.criteria input[type=date]{text-transform:none;letter-spacing:normal;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:10px 12px;font-weight:400;transition:border-color .15s,box-shadow .15s}.login-box input:focus,.login-box select:focus,.filters select:focus,.criteria select:focus,.criteria input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.login-box button,.primary,.refresh-veh{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;letter-spacing:.02em;border:0;padding:11px 16px;font-weight:600;transition:background .15s,transform .15s}.login-box button:hover,.primary:hover,.refresh-veh:hover{background:var(--accent-hover)}.login-box button:active,.primary:active{transform:translateY(1px)}.refresh-veh{color:var(--ink);border:1px solid var(--line);background:0 0;padding:9px 12px;font-size:.85rem}.refresh-veh:hover{background:var(--surface-2);color:var(--ink)}.entra{text-align:center;color:var(--accent);font-size:.85rem;font-weight:500;text-decoration:none}.entra:hover{text-decoration:underline}.stamp{text-align:left;color:var(--ink-muted);margin:0;font-size:.8rem}.error{color:var(--err);margin:0;font-size:.9rem;font-weight:600}.boot{text-align:center;color:var(--ink-muted);padding:48px;animation:.3s ease-out both page-enter}.app-shell{flex-direction:column;gap:0;min-height:100vh;animation:.35s ease-out both page-enter;display:flex}.filters{background:color-mix(in srgb, var(--surface-2) 85%, #fff);border-bottom:1px solid var(--line);box-shadow:var(--shadow-soft);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 18px;padding:16px 20px;display:grid}.filters label,.criteria>label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);gap:6px;font-size:.75rem;font-weight:600;display:grid}.hint{color:var(--ink-muted);text-align:center;max-width:36ch;margin:40px auto;font-size:.95rem;line-height:1.5}.criteria{border-top:1px solid var(--line);gap:14px;margin:16px 20px 0;padding:18px 0 8px;animation:.35s ease-out both criteria-enter;display:grid}.criteria h2{font-family:var(--font-display);color:var(--ink);letter-spacing:.01em;margin:0;font-size:1.35rem;font-weight:600}.criteria .row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.criteria .dates-row label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);gap:6px;font-size:.75rem;font-weight:600;display:grid}.criteria-actions{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:4px;display:flex}.primary{min-width:140px}.progress-track{background:var(--surface-2);border-radius:1px;width:min(220px,40vw);height:3px;position:relative;overflow:hidden}.progress-track:after{content:"";background:var(--accent);width:40%;animation:1.1s ease-in-out infinite progress-slide;position:absolute;inset:0 auto 0 0}.status{color:var(--ok);margin:0;font-size:.88rem;font-weight:500}.multi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.multi{border:1px solid var(--line);border-left:3px solid var(--accent);background:color-mix(in srgb, var(--paper) 90%, transparent);min-width:0;margin:0;padding:10px 12px 12px}.multi legend{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);padding:0 4px;font-size:.75rem;font-weight:600}.multi .list{gap:4px;max-height:150px;margin-top:6px;font-size:.88rem;display:grid;overflow:auto}.multi label,.multi .tous{text-transform:none;letter-spacing:normal;color:var(--ink);cursor:pointer;align-items:flex-start;gap:8px;font-size:.88rem;font-weight:400;display:flex}.multi .tous{margin-bottom:4px;font-weight:600}.viewer{flex-direction:column;flex:1;gap:10px;min-height:60vh;margin:12px 20px 20px;animation:.35s ease-out both criteria-enter;display:flex}.viewer iframe{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex:1;width:100%;min-height:70vh}.download{color:var(--accent);align-self:flex-start;font-size:.9rem;font-weight:600;text-decoration:none}.download:hover{text-decoration:underline}@media (width<=640px){.topbar{flex-wrap:wrap}.topbar .title{text-align:left;flex-basis:100%;order:3;font-size:.8rem}.criteria,.viewer,.filters{margin-left:12px;margin-right:12px}.filters{margin:0;padding-left:12px;padding-right:12px}}
