/* SKE — diseño del portal y navegación común (sin librerías externas). */
:root{--ske-navy:#123830;--ske-deep:#173f35;--ske-accent:#d7edb6;--ske-muted:#698077;--ske-border:#e4ece6;--ske-paper:#fff;--ske-page:#f7f9f6}
.ske-topbar,.ske-topbar *,.ske-home *,.ske-footer *,.ske-module-bar *{box-sizing:border-box}
.ske-topbar{width:100%;background:transparent;position:relative;z-index:10}
.ske-topbar__inner{margin:0 auto;max-width:1340px;min-height:82px;padding:12px 12px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.ske-logo{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:var(--ske-deep);min-width:0;flex-shrink:1}
.ske-logo__badge{width:57px;height:57px;flex:0 0 57px;border-radius:18px;background:#133b31;color:#edfad5;display:grid;place-items:center;position:relative;box-shadow:0 12px 24px #16463518}
.ske-logo__badge span{font-size:19px;font-weight:850;letter-spacing:-.075em}
.ske-logo__badge i{position:absolute;width:9px;height:9px;background:#b7dcb4;border:2px solid #133b31;border-radius:50%;right:8px;top:7px}
.ske-logo__words{display:flex;flex-direction:column;gap:5px;min-width:0}
.ske-logo__words strong{font-size:14px;line-height:1.22;letter-spacing:-.035em;font-weight:820}
.ske-nav{display:flex;align-items:center;gap:5px;border:1px solid #e3eae4;padding:5px;background:#fff;border-radius:17px;box-shadow:0 4px 18px rgba(28,57,46,.03);flex-shrink:0}
.ske-nav a{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:41px;padding:10px 16px;border-radius:12px;color:#5f766b;font-weight:750;font-size:12.5px;white-space:nowrap;text-decoration:none;transition:background .15s,color .15s}
.ske-nav a:hover{background:#f4f7f2;color:var(--ske-deep)}
.ske-nav a[aria-current="page"]{background:#e8f1e6;color:#174b3c}
.ske-nav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;flex:none}
/* Portada: únicamente el menú, sin bloques descriptivos */
.ske-home-body{margin:0;background:var(--ske-page);color:var(--ske-deep);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.ske-home-body h1{margin:0}
.ske-home-body :is(a,button):focus-visible{outline:3px solid #88b65b;outline-offset:4px}
.ske-home{max-width:1340px;margin:0 auto;padding:64px 12px 64px}
.ske-hub{max-width:1040px}
.ske-hub h1{font-size:clamp(26px,3vw,39px);line-height:1.2;letter-spacing:-.055em;font-weight:800;margin-bottom:28px}
.ske-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ske-menu-card{display:flex;flex-direction:column;gap:22px;min-height:215px;padding:27px 25px 23px;border-radius:22px;border:1px solid #dde7df;background:#fff;box-shadow:0 8px 24px #102e1f08;text-decoration:none;color:var(--ske-deep);position:relative;transition:transform .18s,box-shadow .18s,border-color .18s}
.ske-menu-card:hover{transform:translateY(-3px);box-shadow:0 18px 32px #102e1f13;border-color:#b5d3be}
.ske-menu-card__icon{width:83px;height:83px;border-radius:23px;background:#e5f1e7;color:#225e4e;display:grid;place-items:center}
.ske-menu-card__icon svg{width:46px;height:46px}
.ske-menu-card__name{font-size:clamp(18px,2vw,23px);font-weight:780;letter-spacing:-.045em;line-height:1.2;margin-top:auto;padding-right:38px}
.ske-menu-card__arrow{position:absolute;right:23px;bottom:22px;display:grid;place-items:center;color:#235d4d}
.ske-menu-card__arrow svg{width:22px;height:22px}
/* Ajustes para el módulo coches: mantienen intactos formularios y gestión existente. */
.app-shell>.ske-topbar .ske-topbar__inner{padding-left:0;padding-right:0}
.ske-module-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:62px;padding-bottom:17px}
.ske-breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;color:#94a59a}
.ske-breadcrumb a{color:#6f8977;text-decoration:none;font-weight:650}
.ske-breadcrumb a:hover{color:#255d48}
.ske-breadcrumb b{font-weight:800;color:#275645}
.ske-module-actions{display:flex;align-items:center;gap:19px}
.ske-module-actions .live-dot{white-space:nowrap}
.app-shell .site-footer a:hover{text-decoration:underline}
/* Gestión de coches: acciones y datos a primera vista */
.ske-cars-hero{height:auto;min-height:208px;border-radius:21px;background:linear-gradient(115deg,#123a31,#22614c)}
.ske-cars-hero .hero-copy{width:100%;max-width:none;padding:34px 40px 32px}
.ske-cars-hero h1{font-size:clamp(29px,3.4vw,42px);line-height:1.1;letter-spacing:-.05em;margin:0}
.ske-cars-hero .hero-actions{margin-top:21px}
.ske-vehicles-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:19px}
.ske-vehicles-head h2{margin:0}
.vehicles-section{padding-top:30px}
.people-section{padding-top:30px}
@media(max-width:900px){
 .ske-logo__words strong{font-size:13px}
 .ske-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 .ske-topbar__inner{min-height:unset;flex-wrap:wrap;padding:12px 12px 9px;gap:11px}
 .ske-logo__badge{width:43px;height:43px;flex-basis:43px;border-radius:13px}
 .ske-logo__badge span{font-size:15px}
 .ske-logo__words strong{font-size:12px;line-height:1.24}
 .ske-logo__desktop-break{display:none}
 .ske-nav{width:100%;gap:4px;padding:4px;border-radius:12px}
 .ske-nav a{flex:1;padding:10px 8px;gap:7px;min-height:41px;font-size:12px}
 .ske-nav svg{width:16px;height:16px}
 .ske-home{padding:39px 16px 32px}
 .ske-hub h1{font-size:30px;margin-bottom:22px}
 .ske-menu-grid{grid-template-columns:1fr;gap:12px}
 .ske-menu-card{min-height:130px;padding:20px 18px;gap:12px;border-radius:17px}
 .ske-menu-card__icon{width:59px;height:59px;border-radius:17px}
 .ske-menu-card__icon svg{width:35px;height:35px}
 .ske-menu-card__name{font-size:21px}
 .ske-menu-card__arrow{right:19px;bottom:18px}
 .app-shell>.ske-topbar .ske-topbar__inner{padding:12px 0 9px}
 .ske-module-bar{margin-top:2px;min-height:55px;padding-bottom:11px}
 .ske-breadcrumb{gap:6px;font-size:11px}
 .ske-cars-hero{height:auto;min-height:188px;border-radius:17px}
 .ske-cars-hero .hero-copy{padding:27px 20px}
 .ske-cars-hero h1{font-size:29px;margin:0}
 .ske-cars-hero .hero-actions{margin-top:19px;gap:8px}
 .ske-cars-hero .hero-actions .button{font-size:12px}
 .ske-vehicles-head{align-items:flex-start;flex-wrap:wrap}
 .ske-vehicles-head .button-optimize{width:100%}
 .vehicles-section{padding-top:24px}
}
@media(max-width:360px){.ske-logo__words strong{font-size:11px}.ske-nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ske-menu-card,.ske-nav a{transition:none}}

/* SKE Coches v2 · Vista real de 2 plazas delante y hasta 3 detrás */
.stage-display{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.car-seatmap{display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:4px;top:54px;bottom:41px;left:12px;right:12px}
.seat-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:4px}
.front-seats{padding:0 6px}
.rear-seats{padding:0}
.car-seatmap .seat{display:grid;place-items:center;flex:0 0 23px;width:23px;height:29px;min-height:0;border-radius:8px;border:1px solid #ffffff9c;padding:0;font-size:9px;line-height:1.1}
.car-seatmap .seat.driver{background:#e3f598}
.car-seatmap .seat.taken:not(.driver){background:#fff}
.car-seatmap .seat.person-drag-handle{cursor:grab;touch-action:none}
.car-seatmap .seat.person-drag-handle:active{cursor:grabbing}
.car-illustration.paint-blanco{--paint:#fff;background:#fff;border-color:#aab9b4;box-shadow:0 13px 23px #123f3321,inset 0 0 0 2px #d2e0da}
.car-illustration.paint-blanco .seat{border-color:#c1cecb;background:#e3eae7}
.car-illustration.paint-blanco .seat.taken:not(.driver){background:#f2f5f3;border-color:#aebfba}
.car-illustration.paint-blanco .windshield,.car-illustration.paint-blanco .back-window{background:#91b5b6aa}
.swatch-blanco{background:#fff;border:1px solid #acbdb4}
/* Elegir el color visualmente, incluida la opción blanca */
.color-options{gap:11px}
.color-swatch{width:34px;height:34px}
/* Ocupantes visibles y arrastrables desde cualquier tarjeta */
.car-passengers{display:flex;gap:7px;flex-wrap:wrap;min-height:42px;margin:0 0 14px}
.car-person{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px 5px 5px;background:#f3f7f2;border:1px solid #e0e9df;border-radius:10px;color:#3b6351;font-size:11px;font-weight:750;cursor:grab;touch-action:none;text-align:left}
.car-person .person-avatar{width:27px;height:27px;border-radius:8px;font-size:9px}
.car-person-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.grip-icon{font-size:19px;line-height:1;color:#8aa697;font-weight:600}
.car-person:hover,.pending-person:hover{background:#e9f1e7;border-color:#b1c9b6}
.car-person:active,.pending-person:active{cursor:grabbing}
.car-actions-row{display:grid;grid-template-columns:1fr auto;gap:9px}
.quick-car-toggle{min-height:42px;background:#f8ece9;color:#ad5248;font-size:12px;font-weight:800;border:1px solid #f2dcd6;border-radius:11px;padding:9px 12px}
.quick-car-toggle:hover{background:#ffdfd7}
.quick-car-toggle.is-enable{background:#eaf4e6;color:#32664f;border-color:#d7e8cf}
.quick-car-toggle.is-enable:hover{background:#d9efd1}
.car-actions-row .car-open{width:auto;min-width:102px;padding:0 10px}
.reserve-empty{font-size:11px;color:#9da99c;margin:4px 0 17px}
.pending-person{touch-action:none;cursor:grab;display:inline-flex;gap:7px;align-items:center;text-align:left;background:#edf4e9;border:1px solid #dce9d8;color:#41634e;border-radius:9px;padding:8px 10px;font-size:12px;font-weight:750;max-width:100%}
.person-chip{max-width:100%}
.person-chip .pending-person{overflow-wrap:anywhere}
/* Zonas de soltado visibles: aceptadas en verde, bloqueadas en rojo */
.car-card,.people-section{transition:border-color .15s,box-shadow .15s,background-color .15s}
.car-card.drop-available{border:2px dashed #74ad87}
.car-card.drop-hover{border:2px solid #277f57;box-shadow:0 0 0 5px #7bc19655,0 20px 35px #14362d19;z-index:8}
.car-card.drop-hover-invalid{border:2px solid #dc8a76;box-shadow:0 0 0 4px #e9b2a64a}
.people-section.drop-available{outline:2px dashed #74ad87;outline-offset:8px;border-radius:13px}
.people-section.drop-hover{background:#e8f7ec;border-radius:13px;outline:3px solid #277f57;outline-offset:7px}
.people-section.drop-hover-invalid{outline:2px solid #dc8a76;outline-offset:7px}
.person-drag-ghost{position:fixed;z-index:9999;pointer-events:none;white-space:nowrap;max-width:65vw;overflow:hidden;text-overflow:ellipsis;border-radius:11px;padding:12px 16px;background:#184d3d;color:#fff;box-shadow:0 14px 32px #123c3280;font-size:13px;font-weight:750}
.is-person-dragging,.is-person-dragging *{cursor:grabbing!important;user-select:none!important}
.drag-source{opacity:.34}
@media(max-width:680px){
 .car-stage{height:218px}
 .car-person-name{max-width:180px}
 .people-section.drop-hover{outline-offset:3px}
 .car-actions-row{grid-template-columns:1fr auto}
 .car-illustration{transform:none!important}
}
