@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ink:#182f31;--muted:#667b7c;--teal:#0a8176;--mint:#dff3eb;--bg:#f5f7f5;--line:#dce5df;--white:#fff;--orange:#f4b56c}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,.btn{border:0;background:var(--teal);color:#fff;padding:12px 19px;border-radius:9px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:650}button:disabled{opacity:.55;cursor:wait}button.secondary,.btn.secondary{background:#eef3ef;color:var(--ink)}button.danger{background:#a73932}a{color:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.15}h2{font-size:21px;letter-spacing:-.4px}h3{font-size:17px}.muted,small{color:var(--muted)}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--ink);color:white;padding:34px 24px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh}.brand{font-size:27px;font-weight:800;letter-spacing:-1px}.brand span{color:#89dbc6}.brand small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:3px;color:#b7c9c6;margin-top:4px}.nav{display:grid;gap:8px}.nav button{background:transparent;color:#b8ccca;justify-content:flex-start;padding:13px 15px;font-weight:550}.nav button.active{background:#304a4b;color:white}.sidebar footer{margin-top:auto;font-size:12px;color:#b8ccca}.workspace{padding:32px 42px;max-width:1600px;width:100%}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:32px}.topbar select{max-width:250px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--teal);margin-bottom:9px}.hero{background:var(--ink);color:white;border-radius:17px;padding:30px 34px;display:flex;gap:28px;justify-content:space-between;align-items:center;margin-bottom:28px}.hero p{color:#bed5d0;max-width:500px}.hero h2{font-size:28px;line-height:1.2}.hero .eyebrow{color:#87dbc7}.hero svg{width:220px;flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.stat b{display:block;font-size:30px;letter-spacing:-1px;margin-top:6px}.columns{display:grid;grid-template-columns:1.5fr 1fr;gap:23px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.card-head h2{margin:0}.badge{display:inline-block;font-size:11px;padding:5px 9px;border-radius:6px;background:var(--mint);color:#226653;white-space:nowrap;font-weight:650}.badge.waiting_authorization,.badge.received{background:#fff0d8;color:#936724}.badge.cancelled{background:#ffe6e2;color:#a73932}.badge.in_service,.badge.diagnosis{background:#e6edf9;color:#416798}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:700;padding:11px 12px;border-bottom:1px solid var(--line)}td{padding:16px 12px;border-bottom:1px solid #edf1ed;vertical-align:middle}td button{padding:7px 11px;font-size:12px}td small{display:block}tr:last-child td{border-bottom:none}.empty{text-align:center;padding:35px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:block;font-size:12px;font-weight:650;margin-bottom:5px}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #cddbd3;border-radius:8px;background:white;color:var(--ink)}textarea{resize:vertical;min-height:92px}.field{margin-bottom:17px}.full{grid-column:1/-1}.login{max-width:450px;margin:8vh auto;padding:35px;background:white;border-radius:18px;border:1px solid var(--line)}.login .brand{margin-bottom:30px}.login h1{font-size:27px}.loading{padding:60px;text-align:center}.list-item{padding:15px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.list-item p{margin:4px 0}.public{max-width:780px;margin:0 auto;padding:32px 22px}.public header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.bike-panel{padding:32px;background:var(--ink);color:white;border-radius:17px;margin-bottom:24px}.bike-panel .muted{color:#b8d7d0}.bike-panel svg{width:100%;height:180px;margin:15px 0}.public .grid{gap:18px}.notice{padding:12px 16px;background:#fff2dd;border-radius:8px;color:#8a672a;margin-bottom:18px;font-size:13px}.qr svg{width:180px;height:180px}.sticker{text-align:center;border:2px solid var(--ink);border-radius:12px;padding:16px}.sticker strong{font-size:21px}.sticker .url{font-size:10px;word-break:break-all}.stepper{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 24px}.stepper span{font-size:10px;background:#edf2ee;padding:7px 9px;border-radius:5px}.stepper .current{color:white;background:var(--teal)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;padding:13px 22px;background:var(--ink);color:white;border-radius:10px;max-width:90%;display:none}dialog{border:0;border-radius:17px;padding:30px;max-width:760px;width:calc(100% - 32px);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#102b2b80}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-head h2{margin:0}.dialog-head button{background:#edf3ef;color:var(--ink);padding:8px 13px}.photos{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.photos img{width:130px;height:100px;object-fit:cover;border-radius:8px}.split{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}.split>*{flex:1}.small{font-size:12px}.error{color:#a73932}.login-error{margin:12px 0}.menu-bottom{margin-top:auto}.print-only{display:none}@media(max-width:1050px){.layout{grid-template-columns:190px 1fr}.sidebar{padding:25px 15px}.workspace{padding:25px}.columns{grid-template-columns:1fr}.hero svg{width:160px}}@media(max-width:700px){.layout{display:block}.sidebar{position:static;height:auto;padding:18px;gap:18px}.sidebar .brand small,.sidebar footer{display:none}.nav{display:flex;overflow:auto;gap:4px}.nav button{white-space:nowrap;padding:9px 10px;font-size:12px}.workspace{padding:22px 16px}.topbar{align-items:flex-start;flex-direction:column;gap:15px}.topbar select{max-width:none}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px}.grid{grid-template-columns:1fr}.hero{padding:24px}.hero svg{display:none}h1{font-size:28px}.split{flex-direction:column}.public .grid{grid-template-columns:1fr}.card{padding:19px}.toolbar{width:100%}.toolbar>*{flex:1}dialog{padding:20px}}@media print{body>*{display:none!important}dialog[open]{display:block!important;position:static;max-width:100%;max-height:none;margin:0}.dialog-head,.no-print{display:none!important}.sticker{max-width:320px;margin:auto}.print-only{display:block}}
[hidden]{display:none!important}
/* El Rescate identity: colors and typography taken from the current landing. */
:root{color-scheme:dark;--ink:#f4f4ef;--muted:#9da39d;--teal:#8dff38;--mint:rgba(141,255,56,.11);--bg:#080a09;--line:rgba(255,255,255,.11);--white:#121612;--orange:#f4b56c;--mono:'IBM Plex Mono',ui-monospace,monospace}
body{background:radial-gradient(circle at 86% 0,rgba(141,255,56,.07),transparent 27rem),var(--bg);font-family:Inter,system-ui,sans-serif;color:var(--ink)}
button,.btn{background:var(--teal);color:#071004;border:1px solid transparent;border-radius:999px;font:700 12px/1.4 var(--mono);letter-spacing:.02em;min-height:43px}
button:hover,.btn:hover{background:#b0ff78}button.secondary,.btn.secondary{background:#151a16;border-color:var(--line);color:#d0d4d0}button.secondary:hover,.btn.secondary:hover{border-color:rgba(141,255,56,.4);color:var(--teal);background:#182017}button.danger{background:#a73932;color:white}
.sidebar{background:#0d100e;color:var(--ink);border-right:1px solid var(--line)}
.brand{font-family:var(--mono);font-size:21px;letter-spacing:-.06em;font-weight:700;display:flex;gap:12px;align-items:center}.brand img{width:48px;height:48px;object-fit:contain;border-radius:50%;background:white}.brand span{color:var(--teal)}.brand .brand-name{color:var(--ink);font-size:14px;letter-spacing:-.04em;line-height:1.3}.brand small{color:var(--muted);font-size:10px;letter-spacing:.11em;margin-top:5px}.nav button{border:0;color:#9da39d;font:500 12px/1.4 var(--mono);border-radius:8px}.nav button:hover{background:#151a16;color:var(--ink)}.nav button.active{background:rgba(141,255,56,.09);color:var(--teal);box-shadow:inset 2px 0 var(--teal)}.sidebar footer{color:var(--muted)}
h1{font-weight:800;letter-spacing:-.055em}h2,h3{letter-spacing:-.04em}.eyebrow{color:var(--teal);font:600 10px/1.4 var(--mono);letter-spacing:.12em}.hero{background:radial-gradient(circle at 85% 20%,rgba(141,255,56,.12),transparent 34%),#0f130f;border:1px solid rgba(141,255,56,.17);color:var(--ink);border-radius:22px;padding:34px}.hero p{color:var(--muted)}.hero .eyebrow{color:var(--teal)}.hero h2{font-size:32px;font-weight:800;letter-spacing:-.055em;text-transform:uppercase}
.card,.stat{background:#111512;border-color:var(--line);border-radius:18px}.stat>span{font:500 11px/1.5 var(--mono)}.stat b{font-family:var(--mono);font-size:34px;color:var(--teal)}.card-head h2{font-size:19px}th{color:var(--muted);font:500 10px/1.5 var(--mono);border-bottom-color:var(--line)}td{border-bottom-color:var(--line)}
input,textarea,select{background:#080b09;color:var(--ink);border-color:rgba(255,255,255,.16);border-radius:9px}input:focus,textarea:focus,select:focus{outline:2px solid rgba(141,255,56,.55);border-color:var(--teal)}input::placeholder,textarea::placeholder{color:#6f766f}label{font:500 11px/1.5 var(--mono);color:#c8cec8}a{color:var(--teal)}small{font-size:11px}
.badge{background:rgba(141,255,56,.11);color:#b0ff78;font:500 10px/1.5 var(--mono);border:1px solid rgba(141,255,56,.18)}.badge.waiting_authorization,.badge.received{background:rgba(244,181,108,.1);color:#f4b56c;border-color:rgba(244,181,108,.22)}.badge.in_service,.badge.diagnosis{background:rgba(128,168,246,.1);color:#9ab8f0;border-color:rgba(128,168,246,.22)}.badge.cancelled{background:rgba(255,112,104,.1);color:#ff7068;border-color:rgba(255,112,104,.2)}
.login{background:#0d100e;border-color:rgba(141,255,56,.2);padding:42px;box-shadow:0 24px 80px rgba(0,0,0,.38)}.login .brand{margin-bottom:35px}.login h1{font-size:32px;letter-spacing:-.06em}.login .brand img{width:65px;height:65px}.login>p,.login-error{font-size:13px}.notice{background:rgba(244,181,108,.08);color:#d7b684;border:1px solid rgba(244,181,108,.16)}
.bike-panel{background:radial-gradient(circle at 85% 20%,rgba(141,255,56,.12),transparent 34%),#0f130f;border:1px solid rgba(141,255,56,.17);color:var(--ink);border-radius:22px}.bike-panel .muted{color:var(--muted)}.stepper span{background:#1b211c;color:var(--muted);font-family:var(--mono)}.stepper .current{background:var(--teal);color:#071004}.sticker{background:white;color:#080a09;border-color:#080a09}.sticker strong{font-family:var(--mono)}dialog{background:#111512;color:var(--ink);border:1px solid rgba(141,255,56,.2);box-shadow:0 24px 80px #0009}.dialog-head button{background:#1b211c;color:var(--ink);border-radius:50%}hr{border:0;border-top:1px solid var(--line)}#toast{background:#172015;border:1px solid rgba(141,255,56,.3);color:#f4f4ef}.error{color:#ff7068}::selection{background:#8dff38;color:#071004}.brand-link{color:var(--ink)}
@media print{dialog{background:white;color:#080a09;border:none}.sticker{background:white;color:#080a09}}
/* Functional layout and touch controls. */
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-menu{display:none}.hero{padding:22px 28px;min-height:130px}.hero h2{font-size:24px;text-transform:none;margin-bottom:16px}.hero svg{width:180px}.form-section{border-top:1px solid var(--line);margin:12px 0;padding:0 0 8px}.form-section>summary,details.card>summary{cursor:pointer;min-height:48px;display:list-item;padding:14px 4px;font-weight:650;font-size:14px;color:var(--ink)}.form-section[open]>summary{margin-bottom:10px}.form-section>p{margin:0 0 12px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:12px}.form-actions button{flex:1;min-width:140px}details.card>summary{padding:0;min-height:32px}details.card[open]>summary{margin-bottom:16px}.sidebar footer p{overflow-wrap:anywhere}.grid>.field{min-width:0}.split>*{min-width:0}.toolbar button,.toolbar a{min-height:44px}summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button:disabled{cursor:default}
@media(max-width:700px){
 body{font-size:14px}.sidebar{padding:12px 16px;gap:0;border-bottom:1px solid var(--line);border-right:0}.sidebar-head .brand img{width:42px;height:42px}.sidebar .brand small{display:block}.mobile-menu{display:inline-flex;min-width:64px}.sidebar .nav,.sidebar footer{display:none}.sidebar.menu-open .nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:14px;overflow:visible}.sidebar.menu-open footer{display:block;margin-top:14px}.nav button{white-space:normal;min-height:48px;font-size:12px;padding:12px;justify-content:flex-start}.workspace{padding:18px 14px;min-width:0}.topbar{margin-bottom:20px;gap:12px}.topbar .toolbar{display:flex;flex-wrap:nowrap}.topbar select{flex:1;min-width:0;width:100%}.topbar #reload{flex:0 0 48px;min-height:48px}.hero{padding:18px;min-height:110px;gap:8px}.hero h2{font-size:20px}.hero svg{display:block;width:100px;max-width:30%}.hero button{padding:12px 14px;font-size:11px}.stats{margin:16px 0}.stat b{font-size:28px}.stat>span{font-size:11px}.card{padding:16px;border-radius:12px}.card-head{align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:16px}.card-head .toolbar{display:flex;flex-wrap:wrap}.grid{gap:0}.field{margin-bottom:16px}input,textarea,select{font-size:16px;min-height:48px;max-width:100%}label{font-size:12px}button,.btn{min-height:48px}textarea{min-height:96px}.table-wrap{overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}tbody{display:grid;gap:12px}tr{border:1px solid var(--line);border-radius:10px;padding:12px}td{border:0;padding:5px 0;font-size:14px;overflow-wrap:anywhere}td[data-label]::before{content:attr(data-label);display:block;font:500 10px/1.4 var(--mono);color:var(--muted);margin-bottom:3px}td small{font-size:12px}.row-action{padding-top:10px}.row-action button{width:100%;font-size:12px}.empty{padding:20px}.public header{flex-wrap:wrap;gap:12px}.public{padding:18px 14px}.bike-panel{padding:20px}.split{width:100%;gap:16px}.split>*{width:100%;flex:auto}.sticker{max-width:100%}dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:16px;border-radius:14px}.dialog-head{position:sticky;top:-16px;background:#111512;padding:12px 0;z-index:2;margin-bottom:12px}.dialog-head button{min-width:48px}.stepper{gap:5px;margin-bottom:16px}.stepper span{font-size:10px;padding:6px}.form-actions{position:sticky;bottom:-16px;background:#111512;padding:12px 0;z-index:1}.photos img{width:calc(50% - 5px)}#toast{bottom:16px;width:calc(100% - 28px);max-width:calc(100% - 28px);font-size:13px;padding:12px 16px}
}
