:root{--yellow:#ffd400;--bg:#0d0e0d;--surface:#171817;--surface-2:#1e1f1e;--ink:#f5f5f2;--muted:#7f827f;--line:#303230;--green:#25d38a;--danger:#ff6d6d}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}.access-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 68% 18%,rgba(255,212,0,.12),transparent 28rem),rgba(7,8,7,.98);backdrop-filter:blur(14px)}.access-gate.hidden{display:none}.access-panel{width:min(420px,100%);padding:34px;background:#171817;border:1px solid #383a38;border-radius:12px;box-shadow:0 32px 100px #000}.access-logo,.brand-mark{display:grid;place-items:center;background:var(--yellow);color:#111;border-radius:9px;font:800 13px Inter}.access-logo{width:46px;height:46px;margin-bottom:22px}.access-badge{display:block;color:var(--yellow);font:800 10px Inter;letter-spacing:.18em;margin-bottom:10px}.access-panel h1{margin:0 0 8px;font:700 34px Rajdhani}.access-panel p{margin:0 0 24px;color:#8f928f;font-size:13px;line-height:1.65}.access-panel label{display:block;margin-bottom:8px;color:#9da09d;font-size:10px;font-weight:800;letter-spacing:.12em}.access-panel input{width:100%;height:56px;margin-bottom:12px;padding:0 16px;background:#0c0d0c;border:1px solid #393b39;border-radius:7px;color:#fff;font:700 23px Inter;text-align:center;letter-spacing:.36em;outline:none}.access-panel input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,212,0,.1)}.primary{width:100%;height:52px;border:0;border-radius:7px;background:var(--yellow);color:#111;font:800 11px Inter;letter-spacing:.08em;cursor:pointer}.access-panel small{display:block;min-height:18px;margin-top:11px;color:var(--danger);font-size:11px;text-align:center}
.app-header{border-bottom:3px solid var(--yellow);background:#171817}.header-inner,.search-shell,main,footer{width:min(990px,calc(100% - 40px));margin-inline:auto}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.brand-mark{width:36px;height:36px}.brand strong{display:block;font:700 17px Rajdhani;letter-spacing:.01em}.brand strong::first-letter{color:var(--yellow)}.brand small{display:block;margin-top:2px;color:#696c69;font-size:9px}.sync{display:flex;align-items:center;gap:8px;color:#777a77;font-size:9px}.sync i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px rgba(37,211,138,.35)}.search-shell{padding-bottom:16px}.search-box{position:relative;display:flex;align-items:center}.search-box>svg{position:absolute;left:16px;width:18px;fill:none;stroke:#6f726f;stroke-width:1.8}.search-box input{width:100%;height:50px;padding:0 140px 0 47px;background:#090a09;border:1px solid #343634;border-radius:8px;color:#fff;font:700 17px Rajdhani;letter-spacing:.05em;outline:none}.search-box input:focus{border-color:#5b5f5b}.search-box input::placeholder{color:#5c5f5c;font-weight:600;letter-spacing:0}.clear{position:absolute;right:82px;border:0;background:transparent;color:#686b68;font-size:21px;cursor:pointer}.search-submit{position:absolute;right:6px;height:38px;padding:0 14px;border:0;border-radius:5px;background:var(--yellow);color:#111;font-size:9px;font-weight:800;cursor:pointer}.search-submit:disabled{opacity:.55;cursor:wait}.search-modes{display:flex;gap:8px;margin-top:9px}.mode{height:29px;padding:0 16px;border:1px solid #353735;border-radius:99px;background:#202120;color:#a1a4a1;font:800 9px Inter;letter-spacing:.07em;cursor:pointer}.mode.active{border-color:var(--yellow);background:var(--yellow);color:#111}
main{padding:24px 0 76px;min-height:calc(100vh - 210px)}.welcome,.empty,.error,.loading{margin-top:62px;text-align:center}.welcome-icon,.empty-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border:1px solid #353735;border-radius:10px;background:#181918;color:var(--yellow);font-size:25px}.welcome h1,.empty h2,.error h2{margin:0 0 8px;font:700 27px Rajdhani}.welcome p,.empty p,.error p{max-width:550px;margin:0 auto;color:#777a77;font-size:12px;line-height:1.7}.loading{padding:45px;border:1px solid #2b2d2b;border-radius:10px;background:#151615;color:#8d908d;font-size:12px}.spinner{width:30px;height:30px;margin:0 auto 13px;border:3px solid #303230;border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.secondary{margin-top:20px;padding:11px 17px;border:1px solid #474947;border-radius:5px;background:#181918;color:var(--yellow);font-weight:800;cursor:pointer}
.results{display:grid;gap:20px}.identity-card{display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid #343634;border-radius:10px;background:var(--surface);box-shadow:0 14px 34px rgba(0,0,0,.18)}.identity-main,.registered-bikes{padding:27px 24px}.registered-bikes{border-left:1px solid #343634;background:var(--surface-2)}.section-label{display:block;margin-bottom:4px;color:#747774;font:800 9px Inter;letter-spacing:.17em}.identity-main h1{margin:0 0 13px;font:700 37px/.95 Rajdhani;text-transform:uppercase}.badges,.bike-chips{display:flex;flex-wrap:wrap;gap:8px}.badge,.bike-chip{display:inline-flex;align-items:center;gap:7px;height:29px;padding:0 11px;border:1px solid #3a3c3a;border-radius:99px;color:#d8dad8;font:700 11px Rajdhani;letter-spacing:.05em}.badge.plate{background:#f1f1ee;color:#111;border-color:#f1f1ee}.badge.plate b{display:grid;place-items:center;width:17px;height:17px;border-radius:4px;background:#111;color:#fff;font-size:8px}.badge.phone{border-color:#6b5e00;background:#211f12;color:var(--yellow)}.badge small{font:800 7px Inter}.registered-bikes .section-label{margin-bottom:14px}.bike-chip{color:#c2c4c2}
.stats{display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;border:1px solid #343634;border-radius:10px;background:var(--surface)}.stat{min-height:116px;padding:20px 16px;border-right:1px solid #343634}.stat:last-child{border:0}.stat small{display:block;min-height:20px;color:#737673;font:800 8px Inter;letter-spacing:.13em}.stat strong{display:block;margin:1px 0 6px;color:#fff;font:700 23px/1 Rajdhani}.stat:first-child strong{color:var(--yellow)}.stat span{display:block;color:#656865;font-size:9px;line-height:1.35}
.block-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 7px;padding-left:13px;position:relative}.block-title:before{content:"";position:absolute;left:0;width:4px;height:15px;border-radius:2px;background:var(--yellow)}.block-title h2{margin:0;font:700 14px Rajdhani;letter-spacing:.12em}.block-title span{color:#777a77;font:800 8px Inter;letter-spacing:.12em}.bikes-list{overflow:hidden;border:1px solid #343634;border-radius:10px;background:var(--surface)}.bike-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;border-bottom:1px solid #303230}.bike-row:last-child{border:0}.bike-row strong{font:700 15px Rajdhani}.bike-row small{display:block;margin-top:3px;color:#666966;font-size:9px}.bike-row span{color:#aeb1ae;font:700 11px Rajdhani;text-align:right}
.history{display:grid;gap:8px}.service-card{overflow:hidden;border:1px solid #3a3c3a;border-radius:9px;background:var(--surface)}.service-card[open]{border-color:#9f8800}.service-summary{list-style:none;display:grid;grid-template-columns:122px 1fr auto 20px;align-items:start;gap:12px;padding:16px;cursor:pointer}.service-summary::-webkit-details-marker{display:none}.service-date strong{display:block;font:700 14px Rajdhani}.service-date small,.service-title small{display:block;margin-top:3px;color:#666966;font-size:8px;text-transform:uppercase}.service-title strong{font:700 14px Rajdhani;text-transform:uppercase}.service-title small{max-width:470px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-tag{align-self:center;padding:6px 9px;border:1px solid #343634;border-radius:99px;color:#777a77;font:800 7px Inter;letter-spacing:.08em}.match-tag.direct{background:#efefec;color:#111;border-color:#efefec}.chevron{align-self:center;color:var(--yellow);font-size:17px;transition:.2s}.service-card[open] .chevron{transform:rotate(180deg)}.service-detail{padding:0 16px 19px;border-top:1px solid #303230}.wide-field{margin-top:15px}.wide-field label,.detail-item label{display:block;margin-bottom:7px;color:#707370;font:800 8px Inter;letter-spacing:.12em}.wide-field p{margin:0;padding:11px 12px;border:1px solid #2f312f;border-left:2px solid var(--yellow);border-radius:6px;background:#090a09;color:#eee;font-size:10px;line-height:1.5}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px 28px;margin-top:15px}.detail-item strong{display:block;color:#eceeec;font:700 12px Rajdhani;word-break:break-word}.empty-value{color:#686b68!important}
footer{display:flex;justify-content:space-between;padding:23px 0 28px;border-top:1px solid #242624;color:#5f625f;font-size:9px}
@media(max-width:760px){.header-inner,.search-shell,main,footer{width:min(100% - 28px,990px)}.header-inner{height:66px}.brand strong{font-size:14px}.brand small{font-size:8px}.sync span{display:none}.search-box input{padding-right:113px}.search-submit{right:5px;width:67px;padding:0;font-size:8px}.clear{right:76px}.mode{padding:0 12px}.identity-card{grid-template-columns:1fr}.registered-bikes{border-left:0;border-top:1px solid #343634}.identity-main,.registered-bikes{padding:21px 17px}.identity-main h1{font-size:31px}.stats{grid-template-columns:repeat(2,1fr)}.stat{min-height:98px;border-right:1px solid #343634;border-bottom:1px solid #343634}.stat:nth-child(2n){border-right:0}.stat:nth-child(-n+4){border-bottom:1px solid #343634}.stat:last-child{grid-column:1/-1;border-right:0;border-bottom:0}.block-title{align-items:flex-end}.block-title span{text-align:right;line-height:1.4}.service-summary{grid-template-columns:92px 1fr 18px;padding:14px 12px;gap:8px}.match-tag{display:none}.service-title small{max-width:150px}.service-detail{padding:0 12px 16px}.detail-grid{grid-template-columns:repeat(2,1fr);gap:14px}.bike-row{align-items:flex-start}.bike-row span{max-width:125px}footer{flex-direction:column;align-items:center;gap:6px}}
@media(max-width:390px){.search-modes{gap:5px}.mode{padding:0 10px;font-size:8px}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:20px}.service-summary{grid-template-columns:84px 1fr 16px}.service-date strong,.service-title strong{font-size:12px}}

/* Experiencia móvil: superficies claras, tarjetas táctiles y jerarquía tipo app nativa. */
@media(max-width:760px){
  :root{--mobile-bg:#f3f4ee;--mobile-card:#fcfcf8;--mobile-ink:#191a18;--mobile-muted:#72756e;--mobile-line:#dde0d6;--mobile-accent:#7e8a22;--mobile-accent-soft:#e8ecd5}
  html{background:var(--mobile-bg);color-scheme:light}
  body{background:var(--mobile-bg);color:var(--mobile-ink);font-size:16px;-webkit-tap-highlight-color:transparent}
  .header-inner,.search-shell,main,footer{width:calc(100% - 32px);max-width:560px}

  .access-gate{padding:20px;background:var(--mobile-bg);backdrop-filter:none}
  .access-panel{width:min(100%,440px);padding:30px 24px 26px;border:1px solid var(--mobile-line);border-radius:28px;background:var(--mobile-card);box-shadow:0 18px 45px rgba(38,42,31,.10)}
  .access-logo{width:54px;height:54px;margin-bottom:25px;border-radius:16px;background:var(--mobile-accent-soft);color:var(--mobile-accent);font-size:14px}
  .access-badge{margin-bottom:12px;color:var(--mobile-accent);font-size:11px}
  .access-panel h1{margin-bottom:12px;color:var(--mobile-ink);font:700 38px/1.02 Georgia,serif;letter-spacing:-.03em}
  .access-panel p{margin-bottom:28px;color:var(--mobile-muted);font-size:15px;line-height:1.55}
  .access-panel label{margin-bottom:9px;color:#555950;font-size:11px}
  .access-panel input{height:62px;margin-bottom:14px;border:1px solid var(--mobile-line);border-radius:18px;background:#fff;color:var(--mobile-ink);font-size:21px}
  .access-panel input:focus{border-color:var(--mobile-accent);box-shadow:0 0 0 4px rgba(126,138,34,.12)}
  .primary{height:58px;border-radius:999px;background:var(--mobile-ink);color:#fff;font-size:12px;box-shadow:0 10px 24px rgba(25,26,24,.18)}

  .app-header{border-bottom:0;background:var(--mobile-bg)}
  .header-inner{height:88px}
  .brand{color:var(--mobile-ink);gap:12px}
  .brand-mark{width:44px;height:44px;border-radius:14px;background:var(--mobile-accent-soft);color:var(--mobile-accent);font-size:12px}
  .brand strong{font:800 15px/1.1 Inter,Arial,sans-serif;letter-spacing:-.02em}
  .brand strong::first-letter{color:inherit}
  .brand small{margin-top:4px;color:var(--mobile-muted);font-size:9px}
  .sync{min-height:38px;padding:0 12px;border:1px solid #d8ddc7;border-radius:999px;background:#f9faef;color:var(--mobile-accent);font-size:9px;font-weight:700}
  .sync span{display:inline;max-width:86px;line-height:1.2}
  .sync i{width:7px;height:7px;background:var(--mobile-accent);box-shadow:none}

  .search-shell{padding:0 0 22px}
  .search-box{height:60px;border:1px solid var(--mobile-line);border-radius:22px;background:#fff;box-shadow:0 7px 18px rgba(40,45,31,.05)}
  .search-box>svg{left:18px;width:20px;stroke:#686c63}
  .search-box input{height:58px;padding:0 118px 0 50px;border:0;border-radius:22px;background:transparent;color:var(--mobile-ink);font:700 17px Inter,Arial,sans-serif;letter-spacing:.01em}
  .search-box input:focus{border:0}
  .search-box input::placeholder{color:#8b8e87;font-weight:500}
  .clear{right:74px;width:44px;height:44px;color:#858980;font-size:22px}
  .search-submit{right:7px;width:68px;height:46px;padding:0;border-radius:16px;background:var(--mobile-ink);color:#fff;font-size:9px}
  .search-modes{gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .search-modes::-webkit-scrollbar{display:none}
  .mode{flex:0 0 auto;height:40px;padding:0 18px;border:1px solid var(--mobile-line);border-radius:999px;background:var(--mobile-card);color:#656960;font-size:9px}
  .mode.active{border-color:var(--mobile-accent);background:var(--mobile-accent-soft);color:#626d10}

  main{min-height:calc(100vh - 220px);padding:20px 0 72px}
  .welcome,.empty,.error,.loading{margin-top:28px}
  .welcome,.empty,.error{padding:30px 22px;border:1px solid var(--mobile-line);border-radius:26px;background:var(--mobile-card)}
  .welcome-icon,.empty-icon{width:64px;height:64px;margin-bottom:20px;border:0;border-radius:19px;background:var(--mobile-accent-soft);color:var(--mobile-accent);font-size:25px}
  .welcome h1,.empty h2,.error h2{margin-bottom:11px;color:var(--mobile-ink);font:700 31px/1.05 Georgia,serif;letter-spacing:-.025em}
  .welcome p,.empty p,.error p{color:var(--mobile-muted);font-size:14px;line-height:1.55}
  .loading{padding:34px 22px;border:1px solid var(--mobile-line);border-radius:26px;background:var(--mobile-card);color:var(--mobile-muted);font-size:14px}
  .spinner{border-color:#e2e5db;border-top-color:var(--mobile-accent)}
  .secondary{min-height:48px;border:1px solid var(--mobile-line);border-radius:999px;background:#fff;color:var(--mobile-ink)}

  .results{gap:18px}
  .identity-card{grid-template-columns:1fr;border:1px solid var(--mobile-line);border-radius:26px;background:var(--mobile-card);box-shadow:0 8px 24px rgba(40,45,31,.055)}
  .identity-main,.registered-bikes{padding:24px 22px}
  .registered-bikes{border-top:1px solid var(--mobile-line);background:#f8f9f2}
  .section-label{margin-bottom:7px;color:var(--mobile-muted);font-size:9px}
  .identity-main h1{margin-bottom:17px;color:var(--mobile-ink);font:700 39px/.98 Georgia,serif;letter-spacing:-.03em;text-transform:none}
  .badges,.bike-chips{gap:9px}
  .badge,.bike-chip{min-height:36px;height:auto;padding:8px 13px;border-color:var(--mobile-line);background:#fff;color:#42453f;font:700 12px Inter,Arial,sans-serif;letter-spacing:0}
  .badge.plate{border-color:var(--mobile-ink);background:var(--mobile-ink);color:#fff}
  .badge.plate b{background:#fff;color:var(--mobile-ink)}
  .badge.phone{border-color:#d9ddc4;background:var(--mobile-accent-soft);color:#606b11}
  .registered-bikes .section-label{margin-bottom:13px}
  .bike-chip{background:#fff;color:#4f534b}

  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;border:0;border-radius:0;background:transparent}
  .stat{min-height:128px;padding:18px 16px;border:1px solid var(--mobile-line)!important;border-radius:21px;background:var(--mobile-card)}
  .stat:last-child{grid-column:1/-1;min-height:105px}
  .stat small{min-height:24px;color:var(--mobile-muted);font-size:9px;line-height:1.35}
  .stat strong{margin:4px 0 8px;color:var(--mobile-ink);font:800 24px/1 Inter,Arial,sans-serif;letter-spacing:-.04em}
  .stat:first-child strong{color:var(--mobile-accent)}
  .stat span{color:var(--mobile-muted);font-size:10px;line-height:1.4}

  .block-title{align-items:center;margin:5px 0 10px;padding-left:0}
  .block-title:before{display:none}
  .block-title h2{color:var(--mobile-ink);font:800 13px Inter,Arial,sans-serif;letter-spacing:.08em}
  .block-title span{color:var(--mobile-muted);font-size:8px;line-height:1.4}
  .bikes-list{display:grid;gap:10px;overflow:visible;border:0;border-radius:0;background:transparent}
  .bike-row{min-height:82px;padding:17px 18px;border:1px solid var(--mobile-line)!important;border-radius:21px;background:var(--mobile-card)}
  .bike-row strong{color:var(--mobile-ink);font:800 15px Inter,Arial,sans-serif}
  .bike-row small{margin-top:5px;color:var(--mobile-muted);font-size:10px}
  .bike-row span{max-width:142px;color:#555950;font:700 11px Inter,Arial,sans-serif;line-height:1.4}

  .history{gap:11px}
  .service-card{border:1px solid var(--mobile-line);border-radius:21px;background:var(--mobile-card);box-shadow:0 4px 14px rgba(40,45,31,.035)}
  .service-card[open]{border-color:#cbd1a9}
  .service-summary{grid-template-columns:86px minmax(0,1fr) 22px;min-height:82px;padding:17px 16px;gap:10px}
  .service-date strong{color:var(--mobile-ink);font:800 13px Inter,Arial,sans-serif;line-height:1.25}
  .service-title strong{color:var(--mobile-ink);font:800 14px/1.25 Inter,Arial,sans-serif}
  .service-date small,.service-title small{margin-top:5px;color:var(--mobile-muted);font-size:8px;line-height:1.35}
  .service-title small{max-width:none;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .chevron{color:var(--mobile-accent);font-size:18px}
  .service-detail{padding:0 16px 19px;border-top:1px solid var(--mobile-line);background:#fafbf6}
  .wide-field{margin-top:16px}
  .wide-field label,.detail-item label{margin-bottom:8px;color:var(--mobile-muted);font-size:8px}
  .wide-field p{padding:13px 14px;border:1px solid #e1e4d9;border-left:4px solid var(--mobile-accent);border-radius:14px;background:#fff;color:var(--mobile-ink);font-size:12px;line-height:1.5}
  .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px;margin-top:18px;padding:3px 2px}
  .detail-item strong{color:var(--mobile-ink);font:700 13px/1.35 Inter,Arial,sans-serif}
  .empty-value{color:#93968f!important}

  footer{padding:25px 0 34px;border-top:1px solid var(--mobile-line);color:var(--mobile-muted);font-size:10px}
}

@media(max-width:390px){
  .header-inner,.search-shell,main,footer{width:calc(100% - 24px)}
  .sync{padding:0 9px}.sync span{max-width:70px;font-size:8px}
  .brand small{max-width:150px}
  .access-panel h1{font-size:34px}
  .identity-main h1{font-size:36px}
  .mode{padding:0 14px}
  .service-summary{grid-template-columns:78px minmax(0,1fr) 20px;padding-inline:14px}
}
