
:root{
 --bg:#07111c;--bg2:#0a1725;--panel:#0d1c2c;--panel2:#102238;--line:#1b3853;
 --text:#f2f7fb;--muted:#9eb0c2;--blue:#0f8cff;--blue2:#0564c5;--green:#5bc236;
 --yellow:#f3b317;--purple:#8b43d3;--gray:#526171;--red:#d74551;
 --sidebar:252px;--radius:14px
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
body{overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{text-decoration:none;color:inherit}
.hidden{display:none!important}

/* App shell */
.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);background:
 linear-gradient(90deg,rgba(4,12,20,.96),rgba(4,12,20,.88) 58%,rgba(4,12,20,.58)),
 url('assets/fondo.png') center/cover fixed}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#07121f,#07111ce6);
 border-right:1px solid #1f3a52;padding:18px 10px;display:flex;flex-direction:column;z-index:50}
.logo-wrap{text-align:center;padding:4px 10px 18px}
.logo{width:145px;max-width:78%;filter:drop-shadow(0 8px 18px #0007)}
.brand-text{font-size:14px;font-weight:800;margin-top:4px}
.brand-owner{font-size:12px;color:#d8e4ed;margin-top:4px}
.menu{display:grid;gap:5px;margin-top:8px}
.menu button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:#d5e0e9;
 padding:11px 14px;border-radius:10px;text-align:left;font-size:14px}
.menu button:hover,.menu button.active{background:#0d4c83;color:white}
.menu .ico{width:22px;text-align:center;font-size:17px}
.sidebar-bottom{margin-top:auto;border-top:1px solid #17324a;padding-top:14px}
.userbox{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #1c3c57;border-radius:11px;background:#0a1827}
.useravatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#153b5d;font-size:18px}
.userbox b{display:block;font-size:13px}.userbox small{color:#9fb2c4}
.main{min-width:0}
.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 26px;border-bottom:1px solid #ffffff10;
 background:#07111bdc;backdrop-filter:blur(10px);position:sticky;top:0;z-index:30}
.top-title{display:flex;align-items:center;gap:14px}.top-title h1{font-size:23px;margin:0}
.mobile-toggle{display:none;border:0;background:transparent;color:white;font-size:26px;padding:5px}
.topmeta{display:flex;align-items:center;gap:18px;color:#d8e3ec;font-size:13px}
.content{padding:22px 24px 34px;max-width:1500px;margin:0 auto}
.view{display:none}.view.active{display:block}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}
.stat{background:linear-gradient(180deg,#0c1d2f,#091724);border:1px solid #1b3a55;border-radius:13px;padding:16px 15px;min-height:114px;display:flex;gap:12px;align-items:flex-start}
.stat-icon{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;font-size:24px;color:white;flex:0 0 auto}
.stat-icon.blue{background:#107df2}.stat-icon.yellow{background:#ffad13}.stat-icon.cyan{background:#1e8fd4}.stat-icon.green{background:#57b72f}.stat-icon.purple{background:#7b3fe0}
.stat-value{font-size:25px;font-weight:800;line-height:1}.stat-label{font-size:12px;color:#d8e1e9;margin-top:7px;line-height:1.25}.stat-link{font-size:11px;color:#52a9ff;margin-top:10px}

/* Section */
.section{background:linear-gradient(180deg,#0b1928e8,#081522e8);border:1px solid #1b3b56;border-radius:14px;overflow:hidden}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 16px;border-bottom:1px solid #17354d}
.section-head h2{margin:0;font-size:19px}
.section-actions{display:flex;gap:10px;align-items:center}
.search{width:265px;border:1px solid #2a4963;background:#081421;color:white;border-radius:9px;padding:10px 12px;outline:none}
.btn{border:1px solid transparent;border-radius:9px;padding:9px 12px;color:white;background:#14314a}
.btn:hover{filter:brightness(1.1)}
.btn.primary{background:linear-gradient(135deg,#118cff,#0768ce)}
.btn.ghost{background:#0c1b2b;border-color:#27455e}
.btn.danger{background:#832733}
.btn.small{padding:7px 9px;font-size:11px}

/* Vehicle cards - core reference layout */
.vehicle-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:10px}
.vehicle-card{background:linear-gradient(180deg,#0d1d2d,#091521);border:1px solid #284359;border-radius:12px;overflow:hidden;min-width:0;transition:.2s}
.vehicle-card:hover{transform:translateY(-2px);border-color:#3b6588}
.vehicle-photo{position:relative;aspect-ratio:1.12/1;overflow:hidden;background:#111}
.vehicle-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ot-tag{position:absolute;top:9px;left:9px;padding:6px 8px;border-radius:7px;background:#1267cf;color:#fff;font-size:10px;font-weight:800}
.status-tag{position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);white-space:nowrap;padding:6px 11px;border-radius:7px 7px 0 0;font-size:10px;font-weight:800;color:#fff}
.s-repair{background:#086dd1}.s-wait{background:#bd8800}.s-ready{background:#3a8f22}.s-diagnose{background:#7b39aa}.s-entry{background:#4e5a68}
.vehicle-info{padding:12px}
.vehicle-info h3{font-size:15px;margin:0 0 8px;line-height:1.25}
.vehicle-meta{font-size:12px;color:#c5d0da;line-height:1.55}
.vehicle-km{font-size:11px;color:#c7d4df;margin-top:5px}
.card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}
.card-actions button{min-width:0;border:1px solid #26445d;background:#0b1724;color:#dbe6ef;border-radius:8px;padding:8px 4px;font-size:10px}
.card-actions button:hover{border-color:#4383b6;background:#11263a}
.card-actions .action-icon{display:block;font-size:16px;margin-bottom:3px}

/* Bottom dashboard */
.dashboard-bottom{display:grid;grid-template-columns:1.05fr 1fr;gap:14px;margin-top:14px}
.panel{background:linear-gradient(180deg,#0b1928,#081522);border:1px solid #1b3b56;border-radius:13px;overflow:hidden}
.panel-title{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #18354d}
.panel-title h3{margin:0;font-size:17px}.panel-body{padding:10px 16px}
.service-row,.activity-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #ffffff0c}
.service-row:last-child,.activity-row:last-child{border-bottom:0}
.service-car{width:42px;height:34px;border-radius:7px;background:#0b2c4b;display:grid;place-items:center;color:#2b9bff}
.service-info{min-width:0;flex:1}.service-info b{font-size:12px}.service-info small{display:block;color:#a7b8c7;margin-top:3px}
.service-pill{background:#0a3d6c;color:#72bdff;padding:7px 9px;border-radius:7px;font-size:11px;white-space:nowrap}
.activity-dot{width:10px;height:10px;border-radius:50%;background:#168cff;flex:0 0 auto}.activity-row small{color:#c5d0da}.activity-row em{font-style:normal;color:#5caeff}

/* Clients */
.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.client-card{background:#0b1928e8;border:1px solid #1b3b56;border-radius:13px;overflow:hidden}
.client-car{height:150px}.client-car img{width:100%;height:100%;object-fit:cover}
.client-body{padding:14px}.client-top{display:flex;gap:10px;align-items:center}
.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#164369;font-weight:800}
.client-top h3{margin:0 0 4px}.muted{color:#9eafbf;font-size:12px}
.client-vehicle{border-top:1px solid #ffffff0c;margin-top:12px;padding-top:11px;font-size:12px;line-height:1.55}

/* Vehicle list */
.vehicle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vehicle-list-card{display:grid;grid-template-columns:180px minmax(0,1fr);background:#0b1928;border:1px solid #1b3b56;border-radius:13px;overflow:hidden}
.vehicle-list-card img{width:100%;height:100%;min-height:155px;object-fit:cover}
.vehicle-list-body{padding:15px}.vehicle-list-body h3{margin:0 0 6px}.vehicle-list-body .card-actions{max-width:330px}

/* Works */
.kanban-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kanban-col{background:#081522db;border:1px solid #1a3954;border-radius:13px;padding:11px}
.kanban-col h3{margin:2px 2px 11px;font-size:14px;color:#dce7ef}
.work-card{background:#102237;border:1px solid #284965;border-radius:11px;overflow:hidden;margin-bottom:10px}
.work-card img{width:100%;height:130px;object-fit:cover;display:block}.work-body{padding:11px}.work-body b{font-size:12px}.work-body p{font-size:11px;color:#aebdca;line-height:1.45}

/* Turns */
.calendar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.day{background:#0a1827;border:1px solid #1b3953;border-radius:12px;padding:11px;min-height:250px}
.day h3{margin:0 0 10px;font-size:14px}.appointment{background:#10283f;border-left:3px solid #178cff;border-radius:8px;padding:9px;margin-bottom:8px}
.appointment b{font-size:11px}.appointment small{display:block;color:#a9bac8;font-size:10px;line-height:1.4;margin-top:4px}

/* History/reports/services/settings */
.simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.report-card{padding:18px;background:#0b1928;border:1px solid #1b3b56;border-radius:13px}.report-card strong{font-size:26px}.report-card span{display:block;color:#9eafbf;font-size:12px;margin-top:5px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.setting-card{padding:18px;background:#0b1928;border:1px solid #1b3b56;border-radius:13px}
.setting-card h3{margin-top:0}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:#9eafbf;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;border:1px solid #284862;background:#07131f;color:white;border-radius:8px;padding:10px}

/* Modal */
.modal{position:fixed;inset:0;background:#000c;display:grid;place-items:center;padding:18px;z-index:100}
.modalbox{width:min(840px,100%);max-height:92vh;overflow:auto;background:#0a1827;border:1px solid #2a4e6b;border-radius:15px;box-shadow:0 25px 80px #000b}
.modal-close{position:sticky;top:0;z-index:4;display:flex;justify-content:flex-end;padding:10px;background:#0a1827e8}
.detail-hero{height:300px;position:relative;overflow:hidden}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#07111c)}
.detail-overlay{position:absolute;z-index:2;left:20px;right:20px;bottom:18px}.detail-overlay h2{margin:6px 0 3px}.detail-content{padding:18px}
.timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:14px}.step{padding:8px 5px;text-align:center;background:#ffffff08;border-radius:7px;font-size:10px;color:#7f94a6}.step.done{background:#0d4b7d;color:#dff0ff}.step.current{outline:2px solid #219eff}
.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.info{background:#ffffff06;border:1px solid #ffffff0d;border-radius:10px;padding:12px;margin-bottom:10px}.info h4{margin:0 0 7px;color:#7bc1ff;font-size:12px}.info p{font-size:12px;line-height:1.55;margin:0}
.evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.evidence-card{height:150px;border:1px dashed #42617a;border-radius:10px;display:grid;place-items:center;text-align:center;color:#8da2b4;font-size:11px;padding:10px;overflow:hidden}.evidence-card img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.qr{width:190px;height:190px;background:white;padding:10px;border-radius:10px;margin:12px auto}.share-input{width:100%;border:1px solid #2b4e69;background:#07131f;color:white;padding:10px;border-radius:8px}
.toast{position:fixed;right:18px;bottom:18px;background:#10304a;border:1px solid #346b92;color:#fff;border-radius:9px;padding:11px 14px;z-index:200;display:none}

/* drawer overlay */
.drawer-overlay{display:none}

/* Responsive */
@media(max-width:1280px){
 .stats{grid-template-columns:repeat(3,1fr)}
 .vehicle-grid{grid-template-columns:repeat(3,1fr)}
 .calendar{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
 :root{--sidebar:220px}
 .stats{grid-template-columns:repeat(2,1fr)}
 .vehicle-grid{grid-template-columns:repeat(2,1fr)}
 .client-grid{grid-template-columns:repeat(2,1fr)}
 .vehicle-list{grid-template-columns:1fr}
 .kanban-grid{grid-template-columns:1fr 1fr}
 .calendar{grid-template-columns:repeat(2,1fr)}
 .report-grid{grid-template-columns:repeat(2,1fr)}
 .dashboard-bottom,.detail-grid,.settings-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
 .shell{display:block;background:linear-gradient(rgba(4,12,20,.92),rgba(4,12,20,.93)),url('assets/fondo.png') center/cover fixed}
 .sidebar{position:fixed;left:0;top:0;width:276px;height:100vh;transform:translateX(-105%);transition:.22s;box-shadow:20px 0 60px #000b}
 .sidebar.open{transform:translateX(0)}
 .drawer-overlay{display:block;position:fixed;inset:0;background:#0009;z-index:45;opacity:0;pointer-events:none;transition:.2s}
 .drawer-overlay.show{opacity:1;pointer-events:auto}
 .logo{width:125px}
 .topbar{height:68px;padding:0 14px}
 .mobile-toggle{display:block}
 .top-title h1{font-size:19px}
 .topmeta{font-size:11px}.topmeta .desktop-only{display:none}
 .content{padding:14px}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .stat{min-height:94px;padding:12px;gap:9px}.stat-icon{width:38px;height:38px;font-size:19px}.stat-value{font-size:21px}.stat-label{font-size:10px}.stat-link{display:none}
 .section-head{align-items:stretch;flex-direction:column}
 .section-actions{width:100%}.search{width:100%}.section-actions .btn{white-space:nowrap}
 .vehicle-grid{grid-template-columns:1fr;gap:12px;padding:10px}
 .vehicle-photo{aspect-ratio:16/10}
 .vehicle-info h3{font-size:16px}.vehicle-meta{font-size:13px}.vehicle-km{font-size:12px}
 .card-actions button{font-size:11px;padding:9px 5px}
 .dashboard-bottom{grid-template-columns:1fr}
 .client-grid{grid-template-columns:1fr}
 .vehicle-list-card{grid-template-columns:1fr}.vehicle-list-card img{height:200px}
 .kanban-grid,.calendar,.simple-grid,.report-grid,.settings-grid{grid-template-columns:1fr}
 .detail-hero{height:230px}.timeline{grid-template-columns:repeat(2,1fr)}.evidence{grid-template-columns:1fr}
 .modal{padding:0;align-items:end}.modalbox{border-radius:16px 16px 0 0;max-height:94vh}
}
@media(max-width:420px){
 .stats{grid-template-columns:1fr 1fr}
 .stat{display:block}.stat-icon{margin-bottom:8px}
 .topmeta{display:none}
}

/* ===== V5 ADMIN + GALERIA ===== */
.admin-launch{position:fixed;right:18px;bottom:18px;z-index:40}
.admin-launch .btn{box-shadow:0 12px 32px #0008}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gallery-item{position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden;border:1px solid #294963;background:#0a1725}
.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;display:block}
.gallery-item .gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:8px 9px;background:linear-gradient(transparent,#07111ce8);font-size:10px;color:white}
.gallery-item.video-placeholder{display:grid;place-items:center;text-align:center;color:#8fa5b8;padding:12px}
.gallery-item.video-placeholder .play{font-size:32px;margin-bottom:4px}
.gallery-item .remove-media{position:absolute;top:7px;right:7px;width:28px;height:28px;border-radius:50%;border:0;background:#9a2634;color:white;z-index:3}
.upload-zone{border:1px dashed #3d6484;border-radius:12px;padding:16px;background:#0a1725;text-align:center;color:#a9bac8}
.upload-zone input{display:none}
.upload-zone label{display:inline-block;margin-top:8px}
.admin-page{min-height:100vh;background:linear-gradient(90deg,rgba(4,12,20,.96),rgba(4,12,20,.88)),url('assets/fondo.png') center/cover fixed;color:#fff}
.admin-shell{max-width:1200px;margin:auto;padding:22px}
.admin-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.admin-header h1{margin:0;font-size:28px}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.admin-tab{border:1px solid #27455f;background:#0c1b2b;color:white;border-radius:9px;padding:10px 13px}
.admin-tab.active{background:#0d6fd1}
.admin-panel{display:none}.admin-panel.active{display:block}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-form .full{grid-column:1/-1}
.admin-table{width:100%;border-collapse:collapse;min-width:820px}
.admin-table th,.admin-table td{padding:11px;border-bottom:1px solid #ffffff0c;text-align:left;font-size:12px}
.admin-table th{color:#8fa5b8;background:#0d1c2b}
.admin-table-wrap{overflow:auto;border:1px solid #1c3a55;border-radius:12px;background:#081522}
.preview-card{background:#0b1928;border:1px solid #1b3b56;border-radius:12px;overflow:hidden}
.preview-card img{width:100%;height:230px;object-fit:cover}
.preview-card .body{padding:14px}
.media-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.media-thumb{background:#0b1928;border:1px solid #1c3a55;border-radius:10px;overflow:hidden}
.media-thumb img,.media-thumb video{width:100%;height:130px;object-fit:cover}
.media-thumb .body{padding:8px;font-size:11px}
@media(max-width:760px){
 .admin-launch{right:12px;bottom:12px}
 .gallery-grid{grid-template-columns:1fr}
 .admin-shell{padding:12px}
 .admin-header{align-items:flex-start;flex-direction:column}
 .admin-form{grid-template-columns:1fr}
 .admin-form .full{grid-column:auto}
 .media-library{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== V6: LOGIN ADMIN + MAPA ===== */
.admin-login-overlay{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:linear-gradient(rgba(3,10,17,.9),rgba(3,10,17,.96)),url('assets/fondo.png') center/cover;
  padding:18px
}
.admin-login-box{
  width:min(420px,100%);background:#091827;border:1px solid #264962;border-radius:16px;
  padding:22px;box-shadow:0 24px 70px #000b
}
.admin-login-box h2{margin:0 0 8px}.admin-login-box p{color:#9fb1c1;font-size:13px}
.admin-login-box input{width:100%;padding:12px;border-radius:9px;border:1px solid #2c506c;background:#06131f;color:#fff;margin:10px 0}
.admin-login-error{color:#ff8792;font-size:12px;min-height:18px}
.map-card{background:#0b1928;border:1px solid #1b3b56;border-radius:13px;overflow:hidden}
.map-card iframe{width:100%;height:280px;border:0;display:block}
.map-card-body{padding:14px}
.location-line{display:flex;gap:10px;align-items:flex-start;color:#d7e2eb;font-size:13px;line-height:1.5}
.location-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.config-note{font-size:11px;color:#8ea3b6;margin-top:8px}
.contact-card{background:#0b1928;border:1px solid #1b3b56;border-radius:13px;padding:14px;margin-top:12px}
.contact-card strong{display:block;margin-bottom:4px}
@media(max-width:760px){
 .map-card iframe{height:240px}
}

/* V8 - Admin unificado */
.sidebar .logo-wrap img.logo-real{
  width:150px;height:auto;max-width:90%;object-fit:contain;clip-path:none!important;margin:0 auto!important;display:block;
}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-form-grid .full{grid-column:1/-1}
.upload-box{border:1px dashed #3d6484;border-radius:12px;padding:14px;background:#0a1725;text-align:center;color:#9fb1c2}
.upload-box input{display:none}
.gallery-admin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gallery-admin-item{position:relative;background:#0b1928;border:1px solid #1b3b56;border-radius:10px;overflow:hidden}
.gallery-admin-item img,.gallery-admin-item video{width:100%;height:130px;object-fit:cover;display:block}
.gallery-admin-item .gbody{padding:8px;font-size:11px;color:#c8d4de}
.gallery-admin-item .remove{position:absolute;top:6px;right:6px;border:0;border-radius:50%;width:28px;height:28px;background:#8e2834;color:#fff}
.admin-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
@media(max-width:760px){
 .admin-form-grid{grid-template-columns:1fr}.admin-form-grid .full{grid-column:auto}
 .gallery-admin{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V9 - Multimedia integrada en Nueva ficha */
.new-media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
.new-media-item{position:relative;border:1px solid #294963;border-radius:10px;overflow:hidden;background:#0b1928}
.new-media-item img,.new-media-item video{width:100%;height:120px;object-fit:cover;display:block}
.new-media-item .media-meta{padding:8px;font-size:10px;color:#c8d4de;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.new-media-item .cover-badge{position:absolute;left:6px;top:6px;background:#0e82ef;color:#fff;padding:5px 7px;border-radius:6px;font-size:9px;font-weight:700}
.new-media-item .media-actions{display:flex;gap:5px;padding:7px}
.new-media-item .media-actions button{flex:1;border:1px solid #31536d;background:#0d1b2a;color:#fff;border-radius:7px;padding:6px 4px;font-size:9px}
.new-media-item .media-actions button.active{background:#0b6ecb}
.media-counter{font-size:11px;color:#8ea3b6;margin-top:6px}
.video-note{font-size:11px;color:#91a7b9;margin-top:6px}
@media(max-width:980px){.new-media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.new-media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.new-media-grid{grid-template-columns:1fr}}

/* V10 - Nueva ficha y Editar comparten formulario completo */
.new-media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}
.new-media-item{position:relative;border:1px solid #294963;border-radius:10px;overflow:hidden;background:#0b1928}
.new-media-item img,.new-media-item video{width:100%;height:120px;object-fit:cover;display:block}
.new-media-item .media-meta{padding:8px;font-size:10px;color:#c8d4de;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.new-media-item .cover-badge{position:absolute;left:6px;top:6px;background:#0e82ef;color:#fff;padding:5px 7px;border-radius:6px;font-size:9px;font-weight:700;z-index:2}
.new-media-item .media-actions{display:flex;gap:5px;padding:7px}
.new-media-item .media-actions button{flex:1;border:1px solid #31536d;background:#0d1b2a;color:#fff;border-radius:7px;padding:6px 4px;font-size:9px}
.new-media-item .media-actions button.active{background:#0b6ecb}
.media-counter,.video-note{font-size:11px;color:#8ea3b6;margin-top:6px}
@media(max-width:980px){.new-media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.new-media-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.new-media-grid{grid-template-columns:1fr}}

/* ===== CAMINA - TURNOS FUNCIONALES V10.2 ===== */
#turnModal .turn-form-grid{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
}
#turnModal .turn-form-grid .full{grid-column:1/-1}
#turnModal textarea{min-height:86px;resize:vertical}
.turn-actions{display:flex;gap:5px;margin-top:8px}
.turn-actions button{
 border:1px solid #31536d;
 background:#0b1c2b;
 color:#dce8f1;
 border-radius:6px;
 padding:5px 7px;
 font-size:9px;
 cursor:pointer;
}
.turn-actions button:hover{background:#12324c}
.turn-actions button.danger{background:#65212a;border-color:#8d303b}
.turn-empty{padding:8px 2px;font-size:11px}
@media(max-width:760px){
 #turnModal .turn-form-grid{grid-template-columns:1fr}
 #turnModal .turn-form-grid .full{grid-column:auto}
}

/* ===== CAMINA - SESIÓN PERSISTENTE ===== */
.logout-btn{
 width:100%;
 margin-top:8px;
 padding:9px 10px;
 font-size:12px;
}

/* ===== BASE MULTITALLER ===== */
:root{--brand:#168df5}
.btn.primary,.booking-slot,.menu button.active{background:var(--brand)!important}
.brandmark,.client-logo{border-color:var(--brand)!important}
.config-map{height:300px;border-radius:12px;overflow:hidden;border:1px solid #294963;background:#071522;margin-top:10px}
.config-service-row{display:grid;grid-template-columns:220px 1fr 2fr;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #ffffff10}
.config-service-row input[type="text"],.config-service-row input:not([type]){width:100%}
@media(max-width:760px){.config-service-row{grid-template-columns:1fr}}

.tracking-legal{max-width:760px;margin:12px auto 24px;padding:0 16px;text-align:center;font-size:10px;line-height:1.6;color:#8193a1}

/* V3.1 - ESTADO DE CONFIGURACIÓN */
.config-status{margin-top:8px;font-size:11px;color:#8fa8ba}
.config-save-status{margin-top:14px;padding:10px 12px;border:1px solid #294963;border-radius:9px;color:#9bb0bf;background:#071522}
.config-save-status:empty{display:none}
.config-save-status.ok{display:block;border-color:#267b59;background:#09231c;color:#a9e8ca}

/* ===== V3.3 BRAND MULTITALLER ===== */
.multitaller-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:16px 10px 14px;
  text-align:center;
}
.multitaller-brand .logo-real{
  width:135px;
  max-width:90%;
  height:auto;
  object-fit:contain;
}
.sidebar-brand-name{
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  color:#eaf4fb;
  text-align:center;
}


/* ===== CORRECCIÓN SCROLL MENÚ LATERAL ADMIN ===== */
.sidebar{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:#31536d transparent;
}

.sidebar::-webkit-scrollbar{
  width:7px;
}

.sidebar::-webkit-scrollbar-track{
  background:transparent;
}

.sidebar::-webkit-scrollbar-thumb{
  background:#31536d;
  border-radius:10px;
}

.sidebar .menu{
  flex:0 0 auto;
}

.sidebar-bottom{
  flex:0 0 auto;
}

@media(max-width:760px){
  .sidebar{
    height:100dvh;
    max-height:100dvh;
    padding-bottom:24px;
    touch-action:pan-y;
  }
}


/* ===== SCROLL MÓVIL DEFINITIVO DEL SIDEBAR ADMIN ===== */
@media(max-width:760px){
  .sidebar{
    display:block !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    bottom:0 !important;
    width:276px !important;
    height:100dvh !important;
    max-height:100dvh !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    touch-action:pan-y !important;
    padding-bottom:36px !important;
  }

  .sidebar .logo-wrap,
  .sidebar .multitaller-brand,
  .sidebar .menu,
  .sidebar .sidebar-bottom{
    flex:none !important;
    min-height:auto !important;
  }

  .sidebar .menu{
    display:grid !important;
    height:auto !important;
    overflow:visible !important;
  }

  .sidebar-bottom{
    margin-top:18px !important;
    position:static !important;
  }

  /* espacio final para que Cerrar sesión nunca quede pegado al borde */
  .sidebar::after{
    content:"";
    display:block;
    height:28px;
  }
}
