/* =====================================================================
   VECTOR - componentes de la Cuenta VECTOR (prefijo dk-) + shell Desktop.
   Se carga en todos los anchos: el shell Desktop solo aplica bajo #root.dk-app
   (>= 1024px) y la seccion MOBILE / TABLET al final adapta los mismos
   componentes al shell mobile. No redefine clases de la vista movil heredada.
   Lenguaje visual: dark premium / editorial nightlife. Lineas finas en lugar de
   tarjetas, jerarquia por tamano tipografico, indicadores de estado pequenos.
   ===================================================================== */
:root{
  --dk-sidebar-w:240px; --dk-sidebar-w-compact:72px; --dk-header-h:48px;
  --dk-pad:44px; --dk-content-max:1560px;
  --dk-bg:#06070a; --dk-side:#08090c; --dk-surface:#0c0d11; --dk-surface-2:#111217;
  --dk-line:rgba(237,234,225,.08); --dk-line-2:rgba(237,234,225,.16);
  --dk-ink:#EDEAE1; --dk-mute:#8b95a1; --dk-dim:#5d6672;
  --dk-violet:#7c7cf0; --dk-glow:rgba(124,124,240,.16);
}

/* ---------- Shell: raiz en fila, sin scroll de pagina; cada zona scrollea sola ---------- */
#root.dk-app{position:fixed;inset:0;display:flex;background:var(--dk-bg);color:var(--dk-ink);font-family:var(--font);overflow:hidden;-webkit-font-smoothing:antialiased;}
.dk-work{flex:1;min-width:0;display:flex;flex-direction:column;}
.dk-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-color:#23252b transparent;
  background:radial-gradient(1100px 520px at 88% -8%,var(--dk-glow),transparent 62%),radial-gradient(760px 380px at 8% 0%,rgba(79,209,165,.05),transparent 60%),var(--dk-bg);}
.dk-app button:focus-visible,.dk-app a:focus-visible,.dk-app input:focus-visible,.dk-app select:focus-visible{outline:2px solid var(--dk-ink);outline-offset:2px;}

/* ---------- Sidebar ---------- */
.dk-sidebar{width:var(--dk-sidebar-w);flex:none;display:flex;flex-direction:column;background:var(--dk-side);border-right:1px solid var(--dk-line);padding:22px 12px 14px;overflow-y:auto;overflow-x:hidden;}
.dk-brand{display:flex;align-items:center;padding:2px 12px 20px;}
.dk-brand-txt{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.02em;color:var(--dk-ink);}
.dk-brand-txt::after{content:'';display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;background:var(--dk-violet);box-shadow:0 0 14px 1px var(--dk-violet);vertical-align:middle;}
.dk-brand-mark{display:none;font-family:var(--display);font-weight:800;font-size:24px;color:var(--dk-ink);}
.dk-nav{flex:1;display:flex;flex-direction:column;}
.dk-nav-group{margin-bottom:22px;}
.dk-nav-label{display:block;font-family:var(--font);font-weight:600;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dk-dim);padding:0 12px;margin-bottom:6px;}
.dk-nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;border:none;background:none;border-radius:5px;color:#a9a69d;font-family:var(--font);font-size:13.5px;font-weight:500;line-height:1.25;text-align:left;cursor:pointer;margin-bottom:1px;transition:background .12s,color .12s;}
.dk-nav-item:hover{background:rgba(237,234,225,.04);color:var(--dk-ink);}
.dk-nav-item.active{background:rgba(237,234,225,.05);color:#fff;font-weight:600;}
.dk-nav-item.active::before{display:none;}
.dk-nav-ico{display:inline-flex;flex:none;width:16px;height:16px;opacity:.5;}
.dk-nav-item.active .dk-nav-ico{opacity:.95;}
.dk-nav-ico svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;}
.dk-nav-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dk-nav-prox .dk-nav-label-btn{display:flex;align-items:center;gap:12px;width:100%;background:none;border:none;cursor:pointer;margin-bottom:6px;padding:6px 12px;border-radius:8px;text-align:left;}
.dk-nav-prox .dk-nav-label-btn:hover{background:rgba(237,234,225,.05);}
.dk-nav-prox .dk-nav-ico svg{stroke:var(--dk-dim);}
.dk-count{display:inline-block;margin-left:6px;font-size:10px;color:var(--dk-dim);letter-spacing:0;}
.dk-chev{display:inline-flex;width:14px;height:14px;transition:transform .15s;}
.dk-chev svg{width:14px;height:14px;stroke:var(--dk-dim);fill:none;stroke-width:2;}
.dk-chev.open{transform:rotate(90deg);}
.dk-nav-item--prox{color:var(--dk-mute);font-weight:400;font-size:13px;padding:7px 12px 7px 42px;}
.dk-nav-tag{flex:none;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--dk-dim);}
.dk-side-foot{padding-top:12px;border-top:1px solid var(--dk-line);}
.dk-user{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;min-width:0;}
.dk-avatar{flex:none;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:700 12px var(--font);color:#0b0c0e;background:linear-gradient(135deg,var(--dk-violet),var(--confirmada));}
.dk-user-txt{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.dk-user-txt b{font-size:12px;font-weight:600;color:var(--dk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dk-user-txt small{font-size:10.5px;color:var(--dk-mute);letter-spacing:.04em;}

/* Sidebar compacto (solo iconos) */
.dk-nav-compacto .dk-sidebar{width:var(--dk-sidebar-w-compact);padding:22px 8px 14px;}
.dk-nav-compacto .dk-brand{justify-content:center;padding:2px 0 22px;}
.dk-nav-compacto .dk-brand-txt{display:none;}
.dk-nav-compacto .dk-brand-mark{display:block;}
.dk-nav-compacto .dk-nav-txt,.dk-nav-compacto .dk-nav-label,.dk-nav-compacto .dk-nav-item--prox,.dk-nav-compacto .dk-count,.dk-nav-compacto .dk-chev,.dk-nav-compacto .dk-user-txt{display:none;}
.dk-nav-compacto .dk-nav-item,.dk-nav-compacto .dk-nav-prox .dk-nav-label-btn{justify-content:center;padding:10px 0;}
.dk-nav-compacto .dk-user{justify-content:center;padding:8px 0;background:none;}
.dk-nav-compacto .dk-sidebar .dk-context{display:none;}

/* ---------- Slot de contexto Organizacion > Club (visual; sin selector) ---------- */
.dk-context{display:flex;flex-direction:column;gap:3px;margin:0 2px 26px;padding:2px 0 2px 12px;border-left:2px solid var(--dk-violet);}
.dk-context--vacio{display:none;}
.dk-context-k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);}
.dk-context-org{font-size:11px;color:var(--dk-mute);}
.dk-context-sep{display:none;}
.dk-context-club{font-size:14px;font-weight:700;color:var(--dk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dk-context--header{flex-direction:row;align-items:center;gap:8px;margin:0;padding:0;border:0;}
.dk-context--header .dk-context-k{display:none;}
.dk-context--header .dk-context-sep{display:inline;color:var(--dk-dim);}
.dk-context--header .dk-context-org{font-size:11.5px;}
.dk-context--header .dk-context-club{font-size:12.5px;font-weight:500;color:var(--dk-mute);}

/* ---------- Header ---------- */
.dk-header{flex:none;height:var(--dk-header-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--dk-pad);border-bottom:1px solid var(--dk-line);background:rgba(6,7,10,.6);}
.dk-crumbs{display:flex;align-items:center;gap:12px;min-width:0;}
.dk-crumb-root{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.2em;color:var(--dk-ink);}
.dk-crumb-area{font-family:var(--font);font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);}
.dk-crumb-sep{color:var(--dk-dim);font-size:13px;}
.dk-crumb-actual{font-family:var(--font);font-weight:500;font-size:13px;color:var(--dk-ink);}
.dk-header-right{display:flex;align-items:center;gap:14px;flex:none;}
.dk-fecha{font-size:11.5px;color:var(--dk-mute);}
.dk-time{font-family:var(--mono);font-size:11.5px;color:var(--dk-ink);}
.dk-header-user{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid var(--dk-line);}
.dk-role{font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-ink);}

/* ---------- Pantallas todavia no redisenadas: se montan dentro del shell ---------- */
.dk-legacy{max-width:760px;margin:0 auto;min-height:100%;background:var(--bg);border-left:1px solid var(--dk-line);border-right:1px solid var(--dk-line);}
.dk-legacy .v-header,.dk-legacy nav.bottom{display:none;}
.dk-legacy .scroll{overflow:visible;padding-bottom:48px;}

/* ---------- Fichas / formularios como panel lateral ---------- */
.dk-app .overlay{background:rgba(3,4,6,.66);display:flex;justify-content:flex-end;}
.dk-app .overlay .app{width:min(560px,100vw);max-width:none;margin:0;min-height:100%;border-left:1px solid var(--dk-line-2);border-right:0;}

/* ---------- Componentes comunes ---------- */
.dk-home{max-width:var(--dk-content-max);margin:0 auto;padding:44px var(--dk-pad) 72px;display:flex;flex-direction:column;gap:48px;}
.dk-label{border:0;}
.dk-label-t{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-mute);}
.dk-label-t i{font-style:normal;color:var(--dk-dim);margin-left:8px;}
.dk-link{background:none;border:none;color:var(--dk-ink);font:600 12px var(--font);cursor:pointer;padding:2px 0;}
.dk-link:hover{text-decoration:underline;text-underline-offset:3px;}
.dk-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 24px;border-radius:3px;border:1px solid var(--dk-line-2);background:transparent;color:var(--dk-ink);font:600 13px var(--font);cursor:pointer;transition:border-color .12s,background .12s;}
.dk-btn:hover{border-color:rgba(237,234,225,.4);background:rgba(237,234,225,.05);}
.dk-btn-primary{background:#ebe8de;color:#0a0b0d;border-color:#ebe8de;}
.dk-btn-primary:hover{background:#fff;border-color:#fff;}
.dk-btn-ghost{border-color:transparent;color:var(--dk-mute);padding-left:14px;padding-right:14px;}
.dk-empty{color:var(--dk-mute);font-size:13.5px;}
.dk-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:20px;border:1px solid var(--dk-line-2);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dk-ink);white-space:nowrap;}
.dk-pill--mute{color:var(--dk-mute);}
.dk-dot{width:7px;height:7px;border-radius:50%;background:var(--dk-mute);flex:none;}
.dk-e-confirmada .dk-dot,.dk-dot.dk-e-confirmada{background:var(--confirmada);box-shadow:0 0 8px rgba(79,209,165,.6);}
.dk-e-tentativa .dk-dot,.dk-dot.dk-e-tentativa{background:var(--tentativa);}
.dk-e-bloqueada .dk-dot,.dk-dot.dk-e-bloqueada{background:var(--bloqueada);}
.dk-e-feriado .dk-dot,.dk-dot.dk-e-feriado{background:var(--feriado);}
.dk-e-cancelada .dk-dot,.dk-dot.dk-e-cancelada{background:var(--cancelada);}
.dk-estado{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dk-ink);white-space:nowrap;}
.dk-pub{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dk-mute);white-space:nowrap;}
.dk-pub--on{color:var(--dk-ink);}
.dk-pub i{width:6px;height:6px;border-radius:50%;background:var(--dk-dim);}
.dk-pub--on i{background:var(--confirmada);}

/* ---------- Inicio: composicion editorial ---------- */
.dk-hoy{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid rgba(79,209,165,.4);border-bottom:1px solid rgba(79,209,165,.4);}
.dk-hoy span{font-size:13px;color:var(--dk-mute);}
.dk-hoy b{color:var(--dk-ink);}
.dk-stage{display:grid;grid-template-columns:clamp(300px,26vw,400px) minmax(0,1fr);gap:clamp(40px,4.5vw,72px);align-items:stretch;}
.dk-stage--vacio{grid-template-columns:minmax(0,1fr);}
.dk-stage-flyer{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0b0c10;box-shadow:0 40px 70px -40px rgba(0,0,0,.9);cursor:pointer;}
.dk-stage-flyer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* Sin flyer: bloque tipografico compacto (no simula imagen) */
.dk-stage--sinflyer{grid-template-columns:clamp(96px,9vw,132px) minmax(0,1fr);gap:clamp(32px,3.5vw,56px);}
.dk-stage-fecha{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-top:34px;border-top:1px solid var(--dk-line-2);}
.dk-sf-dia{font-family:var(--display);font-weight:800;font-size:clamp(56px,5.6vw,84px);line-height:.9;letter-spacing:-.05em;color:#fff;}
.dk-sf-mes{margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dk-ink);}
.dk-sf-sem{margin-top:4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);}
.dk-stage--sinflyer .dk-stage-info{justify-content:flex-start;gap:26px;}
.dk-stage--sinflyer .dk-stage-title{margin-bottom:18px;}
.dk-stage-info{display:flex;flex-direction:column;justify-content:space-between;min-width:0;}
.dk-stage-bottom{display:flex;flex-direction:column;min-width:0;}
.dk-eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);}
.dk-live{width:6px;height:6px;border-radius:50%;background:var(--confirmada);box-shadow:0 0 0 4px rgba(79,209,165,.14);flex:none;}
.dk-stage-title{font-family:var(--display);font-weight:800;font-size:clamp(46px,5.4vw,96px);line-height:.92;letter-spacing:-.035em;color:#fff;text-transform:uppercase;overflow-wrap:anywhere;margin-bottom:22px;}
.dk-stage-title--largo{font-size:clamp(36px,3.8vw,64px);}
.dk-stage-date{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dk-ink);}
.dk-stage-mono{margin-top:12px;font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:#8f9cc0;overflow-wrap:anywhere;}
.dk-stage-lineup{margin-top:10px;font-size:13.5px;color:var(--dk-ink);overflow-wrap:anywhere;}
.dk-stage-lineup span{display:inline-block;margin-right:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dk-dim);}
.dk-stage-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;}
.dk-stats{display:flex;flex-wrap:wrap;margin-top:34px;border-top:1px solid var(--dk-line);}
.dk-stat{flex:1 1 0;min-width:130px;padding:20px 24px 0 0;}
.dk-stat + .dk-stat{padding-left:24px;border-left:1px solid var(--dk-line);}
.dk-stat-k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dk-dim);margin-bottom:10px;}
.dk-stat-v{font-family:var(--display);font-weight:800;font-size:34px;line-height:1;letter-spacing:-.03em;color:#fff;}
.dk-stat-v small{font-family:var(--font);font-weight:500;font-size:13px;letter-spacing:0;color:var(--dk-mute);margin-left:7px;}
.dk-stat-v--txt{font-family:var(--font);font-size:16px;font-weight:600;letter-spacing:0;line-height:1.2;padding-top:9px;}
.dk-stat-s{margin-top:8px;font-size:11.5px;color:var(--dk-mute);}
.dk-bar{height:2px;margin-top:12px;background:rgba(237,234,225,.1);overflow:hidden;}
.dk-bar i{display:block;height:100%;background:var(--dk-ink);}

.dk-rumbo{display:flex;align-items:center;gap:12px;padding:20px 0 0;border-top:1px solid var(--dk-line);font-size:13.5px;color:var(--dk-mute);}
.dk-rumbo b{color:var(--dk-ink);font-weight:600;}
.dk-rumbo-ico{display:inline-flex;width:16px;height:16px;color:var(--dk-mute);}
.dk-rumbo-ico svg{width:16px;height:16px;}

/* ---------- Inicio: proximas fechas (lista ancha) + calendario ---------- */
.dk-split{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:clamp(40px,4vw,80px);align-items:start;}
.dk-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:16px;}
.dk-label-t{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dk-mute);}
.dk-label-t i{font-style:normal;color:var(--dk-dim);margin-left:10px;}
.dk-link{background:none;border:none;color:var(--dk-mute);font:500 12px var(--font);cursor:pointer;padding:2px 0;}
.dk-link:hover{color:var(--dk-ink);}
.dk-rows{border-top:1px solid var(--dk-line-2);}
.dk-proximas{container-type:inline-size;}
.dk-row{display:grid;grid-template-columns:84px minmax(0,1fr) 124px 128px;align-items:center;gap:20px;padding:21px 0;border-bottom:1px solid var(--dk-line);cursor:pointer;}
.dk-row:not(.dk-row--head):hover{background:linear-gradient(90deg,rgba(237,234,225,.035),transparent);}
.dk-row--head{padding:12px 0;cursor:default;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);}
.dk-row-fecha{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--dk-mute);white-space:nowrap;}
.dk-row-nombre{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.01em;color:var(--dk-ink);overflow-wrap:anywhere;}
.dk-row-nombre small{display:block;margin-top:4px;font-family:var(--font);font-size:11.5px;font-weight:400;letter-spacing:0;color:var(--dk-dim);}
.dk-row-prod{display:none;font-size:13px;color:var(--dk-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dk-row > span:last-child{justify-self:end;}
.dk-row--head .dk-row-prod{font-size:inherit;color:inherit;}
@container (min-width:720px){
  .dk-row{grid-template-columns:76px minmax(0,1fr) minmax(0,132px) 112px 112px;}
  .dk-row-prod{display:block;}
  .dk-row-nombre small{display:none;}
}
.dk-estado{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--dk-ink);white-space:nowrap;}
.dk-pub{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--dk-dim);white-space:nowrap;}
.dk-pub--on{color:var(--dk-mute);}
.dk-pub i{width:5px;height:5px;border-radius:50%;background:var(--dk-dim);}
.dk-pub--on i{background:var(--confirmada);}
.dk-minical-nav{display:flex;align-items:center;justify-content:space-between;padding:0 0 14px;}
.dk-minical-mes{font-family:var(--display);font-weight:600;font-size:15px;color:var(--dk-ink);}
.dk-icon-btn{width:26px;height:26px;border-radius:4px;border:1px solid var(--dk-line-2);background:transparent;color:var(--dk-mute);font-size:15px;line-height:1;cursor:pointer;}
.dk-icon-btn:hover{color:var(--dk-ink);background:rgba(237,234,225,.06);}
.dk-weekdays,.dk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.dk-weekdays{padding-top:12px;border-top:1px solid var(--dk-line-2);margin-bottom:2px;}
.dk-weekdays span{text-align:center;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--dk-dim);padding:4px 0;}
.dk-day{position:relative;height:36px;border:1px solid transparent;border-radius:4px;background:none;color:var(--dk-mute);font:500 12px var(--font);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.dk-day:hover{background:rgba(237,234,225,.06);color:var(--dk-ink);}
.dk-day--vacio{cursor:default;pointer-events:none;}
.dk-day--hoy{border-color:var(--dk-ink);color:var(--dk-ink);font-weight:700;}
.dk-day--ev{color:var(--dk-ink);font-weight:700;}
.dk-day--ev::after{content:'';position:absolute;bottom:4px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--dk-mute);}
.dk-day--ev.dk-e-confirmada::after{background:var(--confirmada);}
.dk-day--ev.dk-e-tentativa::after{background:var(--tentativa);}
.dk-day--ev.dk-e-bloqueada::after{background:var(--bloqueada);}
.dk-day--ev.dk-e-feriado::after{background:var(--feriado);}
.dk-legend{display:flex;flex-wrap:wrap;gap:6px 10px;padding-top:14px;margin-top:8px;border-top:1px solid var(--dk-line);}
.dk-legend span{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--dk-dim);}
.dk-legend i{width:6px;height:6px;border-radius:50%;}

/* ---------- Inicio: accesos (discretos) ---------- */
.dk-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;padding-top:24px;border-top:1px solid var(--dk-line);}
.dk-quick-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);margin-right:8px;}
.dk-quick-btn{display:inline-flex;align-items:center;gap:9px;padding:6px 0;border:none;background:transparent;color:var(--dk-mute);font:500 13px var(--font);cursor:pointer;transition:color .12s;}
.dk-quick-btn:hover{color:var(--dk-ink);}
.dk-quick-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;opacity:.8;}
.dk-quick-btn--nuevo{color:var(--dk-ink);}

/* ---------- Anchos intermedios ---------- */
@media (max-width:1359px){
  :root{--dk-pad:36px;}
  .dk-stage{grid-template-columns:clamp(260px,25vw,320px) minmax(0,1fr);gap:40px;}
  .dk-stage--sinflyer{grid-template-columns:clamp(96px,9vw,132px) minmax(0,1fr);gap:40px;}
}
@media (max-width:1099px){
  :root{--dk-pad:32px;}
  .dk-split{grid-template-columns:minmax(0,1fr);gap:48px;}
  .dk-minical{max-width:360px;}
}

/* ---------- Boleteria desktop ---------- */
.dk-app select{color-scheme:dark;}
.dk-home.dk-bol{height:calc(100vh - var(--dk-header-h));min-height:660px;box-sizing:border-box;padding-top:24px;padding-bottom:24px;gap:18px;}
.dk-bol-head{flex:none;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;}
.dk-bol-title{min-width:0;}
.dk-bol-evento{margin:10px 0 10px;font-family:var(--display);font-weight:800;font-size:clamp(34px,3.6vw,60px);line-height:.94;letter-spacing:-.035em;color:#fff;text-transform:uppercase;overflow-wrap:anywhere;}
.dk-bol-evento--largo{font-size:clamp(28px,2.6vw,42px);}
.dk-bol-meta{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--dk-ink);}
.dk-bol-meta i{font-style:normal;color:var(--dk-dim);margin:0 12px;}
.dk-bol-sel{flex:none;display:flex;flex-direction:column;gap:8px;min-width:clamp(260px,24vw,340px);}
.dk-bol-sel span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);}
.dk-bol-sel select{width:100%;padding:12px 14px;background:transparent;border:1px solid var(--dk-line-2);border-radius:3px;color:var(--dk-ink);font:500 13px var(--font);cursor:pointer;}
.dk-bol-sel select:hover{border-color:rgba(237,234,225,.4);}
.dk-bol-cargando{flex:none;}

.dk-bol-metricas{flex:none;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:center;border-top:1px solid var(--dk-line-2);}
.dk-bol-metricas .dk-stats{margin-top:0;border-top:0;flex-wrap:nowrap;}
.dk-bol-metricas .dk-stat{flex:none;min-width:0;padding:12px 32px 12px 0;}
.dk-bol-metricas .dk-stat + .dk-stat{padding-left:32px;}
.dk-bol-metricas .dk-stat-v{font-size:28px;}
.dk-bol-metricas .dk-stat-k{margin-bottom:6px;white-space:nowrap;}
.dk-bol-desglose{display:flex;flex-direction:column;gap:8px;padding:10px 0;min-width:0;}
.dk-bol-desglose-fila{display:flex;align-items:baseline;gap:16px;min-width:0;}
.dk-bol-desglose-k{flex:none;width:150px;white-space:nowrap;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dk-dim);}
.dk-bol-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-height:62px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#23252b transparent;}
.dk-bol-chips em{font-style:normal;color:var(--dk-dim);}
.dk-bol-chip{display:inline-flex;align-items:baseline;gap:9px;padding:4px 10px;border:1px solid var(--dk-line-2);border-radius:3px;font-size:11.5px;}
.dk-bol-chip b{font-weight:500;color:var(--dk-ink);}
.dk-bol-chip i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--dk-mute);}

.dk-bol-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(380px,32vw,520px);gap:clamp(40px,4vw,72px);align-items:stretch;border-top:1px solid var(--dk-line);padding-top:20px;}
.dk-bol-buscar{display:flex;flex-direction:column;min-height:0;min-width:0;container-type:inline-size;}
.dk-bol-search{flex:none;display:flex;gap:12px;}
.dk-bol-search input{flex:1;min-width:0;height:56px;padding:0 18px;background:rgba(237,234,225,.03);border:1px solid var(--dk-line-2);border-radius:3px;color:var(--dk-ink);font:500 17px var(--font);}
.dk-bol-search input::placeholder{color:var(--dk-dim);}
.dk-bol-search input:focus{outline:none;border-color:rgba(237,234,225,.55);background:rgba(237,234,225,.05);}
.dk-bol-scan{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 26px;border:1px solid #ebe8de;border-radius:3px;background:#ebe8de;color:#0a0b0d;font:700 12.5px var(--font);letter-spacing:.12em;white-space:nowrap;cursor:pointer;transition:background .12s;}
.dk-bol-scan:hover:not(:disabled){background:#fff;}
.dk-bol-scan svg{width:19px;height:19px;stroke:currentColor;fill:none;}
.dk-bol-scan:disabled{opacity:.4;cursor:not-allowed;}
.dk-bol-buscar .bol-aviso-dni{flex:none;margin:16px 0 0;padding:14px 16px;border-radius:3px;font-size:13px;}
.dk-bol-buscar .bol-aviso-dni .acciones{margin-top:12px;}
.dk-bol .dni-scan-btn{background:transparent;border:1px solid var(--dk-line-2);border-radius:3px;color:var(--dk-ink);padding:9px 16px;font:600 11px var(--font);letter-spacing:.1em;}
.dk-bol .dni-scan-btn:hover{border-color:rgba(237,234,225,.45);}
.dk-bol-vacio{display:flex;flex-direction:column;gap:8px;padding:44px 0 0;max-width:460px;}
.dk-bol-vacio b{font-family:var(--display);font-weight:600;font-size:20px;color:var(--dk-ink);}
.dk-bol-vacio span{font-size:13.5px;line-height:1.5;color:var(--dk-mute);}
.dk-bol-lista{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:18px;}
.dk-bol-lista .dk-label{flex:none;padding-bottom:12px;}
.dk-bol-rows{flex:1;min-height:0;overflow-y:auto;border-top:1px solid var(--dk-line-2);scrollbar-color:#23252b transparent;}
.dk-bol-row{display:grid;grid-template-columns:116px minmax(0,1fr) auto;align-items:center;gap:20px;margin:0 -14px;padding:14px 14px;border-bottom:1px solid var(--dk-line);cursor:pointer;}
.dk-bol-row:hover{background:rgba(237,234,225,.03);}
.dk-bol-row.sel{background:rgba(237,234,225,.06);box-shadow:inset 2px 0 0 var(--dk-ink);}
.dk-bol-est{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--dk-mute);white-space:nowrap;}
.dk-bol-est i{width:7px;height:7px;border-radius:50%;background:var(--tentativa);flex:none;}
.dk-bol-est.ing{color:var(--confirmada);}
.dk-bol-est.ing i{background:var(--confirmada);box-shadow:0 0 8px rgba(79,209,165,.6);}
.dk-bol-quien{min-width:0;}
.dk-bol-quien b{display:block;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--dk-ink);overflow-wrap:anywhere;}
.dk-bol-row.ing .dk-bol-quien b{color:var(--dk-mute);}
.dk-bol-quien small{display:block;margin-top:4px;font-family:var(--mono);font-size:11.5px;color:var(--dk-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dk-bol-col-lista,.dk-bol-col-tipo{display:none;font-size:13px;color:var(--dk-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dk-bol-col-pago{justify-self:end;}
@container (min-width:760px){
  .dk-bol-row{grid-template-columns:120px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) 132px;}
  .dk-bol-extra{display:none;}
  .dk-bol-col-lista,.dk-bol-col-tipo{display:block;}
}
.dk-bol .pago-badge{margin:0;padding:4px 9px;border-radius:3px;font-size:10px;letter-spacing:.1em;}

.dk-bol-ficha{min-height:0;min-width:0;overflow-y:auto;display:flex;flex-direction:column;padding-left:clamp(28px,3vw,52px);border-left:1px solid var(--dk-line-2);scrollbar-color:#23252b transparent;}
.dk-bol-ficha .dk-label{flex:none;padding-bottom:14px;}
.dk-bol-ficha-vacio{display:flex;flex-direction:column;gap:8px;padding-top:28px;max-width:360px;}
.dk-bol-ficha-vacio b{font-family:var(--display);font-weight:600;font-size:20px;color:var(--dk-mute);}
.dk-bol-ficha-vacio span{font-size:13.5px;line-height:1.5;color:var(--dk-dim);}
.dk-bol-nombre{margin:2px 0 8px;font-family:var(--display);font-weight:800;font-size:clamp(28px,2.4vw,40px);line-height:.98;letter-spacing:-.03em;color:#fff;text-transform:uppercase;overflow-wrap:anywhere;}
.dk-bol-dni{font-family:var(--mono);font-size:clamp(20px,1.6vw,24px);letter-spacing:.04em;color:var(--dk-ink);}
.dk-bol-dni span{margin-right:12px;font-size:10.5px;letter-spacing:.16em;color:var(--dk-dim);}
.dk-bol-pendiente{display:flex;align-items:center;gap:10px;margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--tentativa);}
.dk-bol-pendiente i{width:7px;height:7px;border-radius:50%;background:var(--tentativa);}
.dk-bol-yaingreso{margin-top:14px;padding:14px 0;border-top:1px solid rgba(79,209,165,.45);border-bottom:1px solid rgba(79,209,165,.45);}
.dk-bol-yaingreso-t{font-family:var(--display);font-weight:800;font-size:clamp(24px,2vw,32px);letter-spacing:.02em;color:var(--confirmada);}
.dk-bol-yaingreso-d{display:flex;align-items:flex-end;gap:36px;margin-top:10px;font-family:var(--mono);font-size:clamp(26px,2.2vw,34px);color:var(--dk-ink);}
.dk-bol-yaingreso-d small{margin-left:6px;font-size:12px;color:var(--dk-mute);}
.dk-bol-op{display:flex;flex-direction:column;font-family:var(--font);font-size:15px;font-weight:600;line-height:1.2;}
.dk-bol-op em{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);margin-bottom:4px;}
.dk-bol-dl{margin:10px 0 0;flex:none;}
.dk-bol-fila{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--dk-line);}
.dk-bol-fila dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dk-dim);}
.dk-bol-fila dd{margin:0;font-size:13.5px;color:var(--dk-ink);text-align:right;overflow-wrap:anywhere;}
.dk-bol-comp{padding:7px 12px;border:1px solid var(--dk-line-2);border-radius:3px;background:transparent;color:var(--dk-ink);font:600 12px var(--font);cursor:pointer;}
.dk-bol-comp:hover{border-color:rgba(237,234,225,.45);background:rgba(237,234,225,.05);}
.dk-bol-ficha .bol-alerta-pago{flex:none;margin-top:14px;padding:12px 16px;border-radius:3px;text-align:left;font-size:13px;line-height:1.4;}
.dk-bol-espacio{flex:1 0 16px;}
.dk-bol-confirmar{flex:none;height:60px;border:0;border-radius:3px;background:#ebe8de;color:#0a0b0d;font:800 15px var(--font);letter-spacing:.14em;cursor:pointer;transition:background .12s;}
.dk-bol-confirmar:hover:not(:disabled){background:#fff;}
.dk-bol-confirmar:disabled{opacity:.5;cursor:wait;}

/* Lectora de DNI: mismo overlay y misma logica; en desktop se presenta como panel centrado (no fullscreen) */
@media (min-width:1024px){
.dni-scan{inset:0;margin:auto;width:min(880px,92vw);height:min(620px,86vh);border:1px solid var(--dk-line-2);border-radius:8px;box-shadow:0 0 0 100vmax rgba(3,4,6,.8),0 40px 120px rgba(0,0,0,.7);}
.dni-scan::before{content:'';position:fixed;inset:0;z-index:-1;}
.dni-scan-top{padding:18px 22px;font-size:12px;letter-spacing:.2em;}
.dni-scan-guia{width:72%;max-width:560px;border-radius:6px;}
.dni-scan-pie{padding:18px 22px 22px;}
.dni-scan-btn{border-radius:3px;padding:12px 28px;font-size:11.5px;letter-spacing:.12em;}
}

@media (max-width:1359px){
  .dk-bol-main{grid-template-columns:minmax(0,1fr) 380px;}
}
@media (max-width:1099px){
  .dk-bol-metricas{grid-template-columns:minmax(0,1fr);gap:0;}
  .dk-bol-desglose{padding-top:0;}
  .dk-bol-main{grid-template-columns:minmax(0,1fr);}
  .dk-bol-ficha{border-left:0;padding-left:0;}
}

/* ---------- Eventos (grilla desktop) ---------- */
.dk-eventos{gap:0;}
.dk-ev-head{flex:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:28px;}
.dk-ev-title{margin:8px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(30px,3vw,46px);line-height:.98;letter-spacing:-.03em;color:#fff;}
.dk-ev-title i{font-style:normal;margin-left:14px;font-family:var(--font);font-weight:600;font-size:15px;letter-spacing:0;color:var(--dk-dim);}
.dk-ev-tabs{display:flex;gap:6px;padding-bottom:24px;border-bottom:1px solid var(--dk-line);margin-bottom:32px;}
.dk-ev-tab{padding:9px 4px;margin-right:22px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--dk-mute);font:600 12.5px var(--font);letter-spacing:.04em;cursor:pointer;transition:color .12s,border-color .12s;}
.dk-ev-tab:hover{color:var(--dk-ink);}
.dk-ev-tab.active{color:var(--dk-ink);border-bottom-color:var(--dk-violet);}
.dk-ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;}
.dk-ev-card{display:flex;flex-direction:column;border:1px solid var(--dk-line-2);border-radius:5px;overflow:hidden;background:var(--dk-surface);cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;}
.dk-ev-card:hover{border-color:rgba(237,234,225,.4);transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.35);}
.dk-ev-card-flyer{position:relative;aspect-ratio:4/5;background:var(--dk-surface-2);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:14px;}
.dk-ev-card-flyer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.dk-ev-card-flyer--vacio{justify-content:center;align-items:center;gap:2px;}
.dk-ev-card-dia{font-family:var(--display);font-weight:800;font-size:34px;color:var(--dk-mute);}
.dk-ev-card-mes{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-dim);}
.dk-ev-card-flyer .dk-estado{position:relative;z-index:1;padding:5px 9px;border-radius:3px;background:rgba(6,7,10,.72);backdrop-filter:blur(3px);font-size:11px;}
.dk-ev-card-info{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;}
.dk-ev-card-fecha{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dk-dim);}
.dk-ev-card-title{margin:0;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.01em;color:var(--dk-ink);overflow-wrap:anywhere;}
.dk-ev-card-meta{font-size:12.5px;color:var(--dk-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dk-ev-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid var(--dk-line);}
.dk-ev-card-cta{display:flex;gap:2px;}
.dk-ev-card-cta .dk-btn-ghost{padding:6px 10px;font-size:12px;}
@media (max-width:1359px){
  .dk-ev-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));}
}

/* ---------- Eventos: tab Calendario embebido (reutiliza dkMiniCalendarioHTML de Inicio) ---------- */
.dk-ev-cal{max-width:640px;}
.dk-ev-cal .dk-days{gap:6px;}
.dk-ev-cal .dk-day{height:60px;font-size:15px;border-radius:6px;}
.dk-ev-cal .dk-minical-mes{font-size:18px;}

/* ---------- Ficha de evento (workspace desktop) ---------- */
.dk-evento{max-width:var(--dk-content-max);margin:0 auto;padding:0 var(--dk-pad) 72px;}
.dk-evh{position:relative;padding:28px var(--dk-pad) 0;margin:0 calc(var(--dk-pad) * -1) 0;border-radius:8px;background:radial-gradient(900px 340px at 85% -20%,var(--dk-glow),transparent 65%);}
.dk-evh-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:6px 0;border:none;background:transparent;color:var(--dk-mute);font:600 12px var(--font);letter-spacing:.04em;cursor:pointer;}
.dk-evh-back:hover{color:var(--dk-ink);}
.dk-evh-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
.dk-evh-main{display:flex;align-items:flex-end;gap:36px;padding-bottom:32px;}
.dk-evh-flyer{flex:none;width:156px;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--dk-surface-2);border:1px solid var(--dk-line-2);box-shadow:0 24px 60px rgba(0,0,0,.45);}
.dk-evh-flyer img{width:100%;height:100%;object-fit:cover;display:block;}
.dk-evh-flyer--vacio{background:linear-gradient(135deg,var(--dk-surface-2),var(--dk-surface));}
.dk-evh-info{flex:1;min-width:0;}
.dk-evh-title{margin:12px 0 6px;font-family:var(--display);font-weight:800;font-size:clamp(30px,3.4vw,52px);line-height:.98;letter-spacing:-.03em;color:#fff;overflow-wrap:anywhere;}
.dk-evh-meta{font-size:13.5px;color:var(--dk-ink);}
.dk-evh-meta--sub{margin-top:3px;color:var(--dk-mute);font-size:12.5px;}
.dk-evh-lineup{margin-top:12px;font-size:13px;color:var(--dk-ink);overflow-wrap:anywhere;}
.dk-evh-lineup span{display:inline-block;margin-right:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dk-dim);}
.dk-evh-main > .dk-pub{flex:none;align-self:flex-start;margin-top:8px;}
.dk-evh-tabs{display:flex;gap:2px;border-top:1px solid var(--dk-line);}
.dk-evh-tab{padding:14px 20px;margin-right:4px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--dk-mute);font:600 13px var(--font);letter-spacing:.02em;cursor:pointer;transition:color .12s,border-color .12s;}
.dk-evh-tab:hover{color:var(--dk-ink);}
.dk-evh-tab.active{color:var(--dk-ink);border-bottom-color:var(--dk-violet);}
.dk-evb{padding-top:32px;max-width:880px;}
.dk-evb-datos{margin-top:8px;}
.dk-evb-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.dk-evl-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--dk-line);}
.dk-evl-info{flex:1;min-width:0;cursor:pointer;}
.dk-evl-top{display:flex;align-items:center;gap:10px;}
.dk-evl-estado{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--confirmada);}
.dk-evl-estado i{width:6px;height:6px;border-radius:50%;background:var(--confirmada);}
.dk-evl-estado--cerrada{color:var(--dk-dim);}
.dk-evl-estado--cerrada i{background:var(--dk-dim);}
.dk-evl-nombre{font-family:var(--display);font-weight:700;font-size:19px;color:var(--dk-ink);}
.dk-evl-rrpp{margin-top:3px;font-size:12.5px;color:var(--dk-mute);}
.dk-evl-nums{display:flex;gap:16px;margin-top:9px;font-size:11.5px;color:var(--dk-dim);}
.dk-evl-cta{flex:none;display:flex;gap:8px;}
@media (max-width:1099px){
  .dk-evh-main{flex-direction:column;align-items:flex-start;gap:18px;}
  .dk-evh-main > .dk-pub{align-self:flex-start;margin-top:0;}
}

/* ---------- Home /app: bienvenida + Crear evento + acciones principales ---------- */
.dk-home-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:6px;}
.dk-home-hero-txt{min-width:0;}
.dk-home-titulo{margin:8px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(26px,2.8vw,40px);line-height:1.05;letter-spacing:-.02em;color:#fff;overflow-wrap:anywhere;}
.dk-home-crear svg,.m-menu-crear svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;}
.dk-home .dk-home-hero + .dk-acciones-grid{margin-top:-20px;}
.dk-acciones-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.dk-accion-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--dk-line-2);border-radius:8px;background:var(--dk-surface);color:var(--dk-ink);text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,background .15s;}
.dk-accion-card:hover{border-color:rgba(237,234,225,.4);transform:translateY(-2px);background:var(--dk-surface-2);}
.dk-accion-ico{flex:none;display:inline-flex;width:26px;height:26px;}
.dk-accion-ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;}
.dk-accion-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.dk-accion-txt b{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em;}
.dk-accion-txt small{font-size:11.5px;color:var(--dk-mute);}

/* ---------- Menu de cuenta (arriba a la derecha) ---------- */
.dk-cuenta{position:relative;padding-left:14px;border-left:1px solid var(--dk-line);}
.dk-cuenta-btn{display:flex;align-items:center;gap:9px;max-width:240px;padding:5px 8px 5px 5px;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--dk-ink);font:600 12.5px var(--font);cursor:pointer;}
.dk-cuenta-btn:hover,.dk-cuenta-btn[aria-expanded="true"]{border-color:var(--dk-line-2);background:rgba(237,234,225,.05);}
.dk-cuenta-nombre{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dk-cuenta-chev{display:inline-flex;width:14px;height:14px;transform:rotate(90deg);transition:transform .15s;}
.dk-cuenta-chev.open{transform:rotate(-90deg);}
.dk-cuenta-chev svg{width:14px;height:14px;stroke:var(--dk-mute);fill:none;stroke-width:2;}
.dk-cuenta-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:250px;padding:6px;border:1px solid var(--dk-line-2);border-radius:8px;background:#0e0f13;box-shadow:0 24px 60px rgba(0,0,0,.55);}
.dk-cuenta-head{display:flex;flex-direction:column;gap:2px;padding:10px 10px 12px;border-bottom:1px solid var(--dk-line);margin-bottom:6px;}
.dk-cuenta-head b{font-size:13.5px;color:var(--dk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dk-cuenta-head small{font-size:11.5px;color:var(--dk-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dk-cuenta-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:5px;background:none;color:var(--dk-ink);font:500 13px var(--font);text-align:left;cursor:pointer;}
.dk-cuenta-item:hover{background:rgba(237,234,225,.06);}
.dk-cuenta-item svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;opacity:.7;}
.dk-cuenta-sep{height:1px;margin:6px 4px;background:var(--dk-line);}
.dk-cuenta-item--salir{color:var(--feriado);}

/* ---------- Perfil (solo lectura) ---------- */
.dk-perfil-card{display:flex;align-items:center;gap:24px;padding:24px;border:1px solid var(--dk-line-2);border-radius:8px;background:var(--dk-surface);max-width:620px;}
.dk-perfil-logo{flex:none;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 24px var(--display);color:#0b0c0e;background:linear-gradient(135deg,var(--dk-violet),var(--confirmada));}
.dk-perfil-datos{flex:1;min-width:0;}
.dk-perfil-datos .dk-bol-fila:last-child{border-bottom:0;}
.dk-perfil-bloque{max-width:620px;}
.dk-perfil-bloque .dk-label{margin-bottom:6px;}
.dk-perfil-salir{gap:10px;color:var(--feriado);border-color:rgba(239,106,92,.35);}
.dk-perfil-salir:hover{border-color:var(--feriado);background:rgba(239,106,92,.08);}
.dk-perfil-salir svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;}

/* Formulario de edicion (ficha heredada, abierto desde el workspace): el icono del
   desplegable "Links y materiales" no tenia tamano y se veia gigante. */
details > summary > svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px;stroke:currentColor;fill:none;}

/* ---------- Workspace de evento: gestion (editar / mover / cancelar) ---------- */
.dk-evb-gestion{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px;padding-top:18px;border-top:1px solid var(--dk-line);}
.dk-evb-gestion .dk-link{color:var(--dk-mute);}
.dk-evb-gestion .dk-link:hover{color:var(--dk-ink);}
.dk-evb-gestion .dk-link--peligro{color:var(--feriado);}

/* ---------- Publicación / Producción del evento ---------- */
.dk-pub-bloque{max-width:720px;padding:0 0 26px;margin-bottom:26px;border-bottom:1px solid var(--dk-line);}
.dk-pub-bloque:last-child{border-bottom:0;}
.dk-pub-bloque .dk-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.dk-pub-estado{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.dk-pub-link-url{padding:12px 14px;border:1px solid var(--dk-line-2);border-radius:6px;background:var(--dk-surface);font-family:var(--mono);font-size:12.5px;color:var(--dk-ink);overflow-wrap:anywhere;}
.dk-pub-link-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.dk-pub-nota{margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--dk-mute);}
.dk-pub-ticket{color:var(--dk-ink);font-size:13.5px;overflow-wrap:anywhere;}
.dk-prod-estado{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:20px;border:1px solid var(--dk-line-2);color:var(--dk-mute);}
.dk-prod-estado--enviado{color:var(--tentativa);border-color:rgba(232,193,90,.4);}
.dk-prod-estado--aprobado{color:var(--confirmada);border-color:rgba(79,209,165,.4);}
.dk-prod-fila{align-items:flex-start;}
.dk-prod-fila dd{white-space:pre-line;max-width:70%;}
.dk-perfil-logo-fila{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
.dk-wiz-par{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px;}
.dk-wiz-form textarea,.dk-perfil textarea{min-height:64px;}
.ficha-publicar{display:flex;align-items:center;gap:10px;margin:4px 18px 12px;font-size:13px;color:var(--text);}
@media (max-width:420px){ .dk-wiz-par{grid-template-columns:minmax(0,1fr);} }

/* ---------- Crear evento (wizard) ---------- */
.dk-wiz-head{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding-bottom:20px;}
.dk-wiz-head .dk-evh-back{margin-bottom:0;}
.dk-wiz-head .dk-evh-title{flex:none;}
.dk-wiz-titulo{font-size:clamp(24px,2.4vw,34px);}
.dk-wiz-pasos{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap;}
.dk-wiz-paso{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--dk-dim);}
.dk-wiz-paso.done{color:var(--dk-mute);}
.dk-wiz-paso.active{color:var(--dk-ink);font-weight:700;}
.dk-wiz-form{max-width:480px;display:flex;flex-direction:column;gap:2px;}
.dk-wiz-form .field-row{margin:0 0 9px;}
.dk-wiz-form--imagen{align-items:flex-start;gap:16px;}
.dk-wiz-flyer-preview{width:220px;aspect-ratio:4/5;border-radius:6px;object-fit:cover;background:var(--dk-surface-2);border:1px solid var(--dk-line-2);}
.dk-wiz-flyer-preview--vacio{display:flex;align-items:center;justify-content:center;color:var(--dk-dim);font-size:12.5px;text-align:center;padding:16px;}
.dk-wiz-revision{display:flex;gap:24px;max-width:620px;}
.dk-wiz-revision-flyer{flex:none;width:160px;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--dk-surface-2);border:1px solid var(--dk-line-2);}
.dk-wiz-revision-flyer img{width:100%;height:100%;object-fit:cover;display:block;}
.dk-wiz-revision-info{min-width:0;}
.dk-wiz-revision-info h3{margin:0 0 8px;font-family:var(--display);font-weight:800;font-size:24px;color:#fff;overflow-wrap:anywhere;}
.dk-wiz-nota{margin-top:18px;font-size:12.5px;line-height:1.45;color:var(--dk-mute);}

@media (max-width:1359px){
  .dk-acciones-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* =====================================================================
   MOBILE / TABLET (< 1024px) - shell de la Cuenta VECTOR
   Los componentes dk- (Home, Eventos, workspace de evento, wizard, Perfil) se
   reutilizan dentro del shell mobile (.app: header + scroll + bottom nav).
   Boleteria, Base de Datos y Encuestas mantienen su pantalla mobile de siempre.
   ===================================================================== */
@media (max-width:1023px){
  :root{--dk-pad:18px;}
  #root.app-authenticated{background:var(--dk-bg);}
  #root.app-authenticated > .app-main{flex:1;display:flex;flex-direction:column;min-height:100vh;}

  /* Header y bottom nav fijos (el contenido scrollea entre ambos) */
  .m-header{position:sticky;top:0;z-index:30;gap:12px;padding:14px 18px;background:rgba(6,7,10,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
  .m-header-brand{flex:none;border:0;background:none;padding:0;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:.02em;color:var(--dk-ink);cursor:pointer;}
  .m-header-section{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .m-header-cuenta{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;}
  .m-header-cuenta .dk-avatar{width:32px;height:32px;font-size:13px;}
  nav.bottom.m-bottom{position:sticky;bottom:0;z-index:30;padding:8px 0 calc(10px + env(safe-area-inset-bottom));background:rgba(6,7,10,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
  .m-nav-crear{color:var(--dk-ink);}
  .m-nav-crear-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-top:-10px;border-radius:50%;background:#ebe8de;color:#0a0b0d;box-shadow:0 6px 18px rgba(0,0,0,.45);}
  .m-nav-crear-ico svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.4;}
  .m-nav-crear.active::before{display:none;}

  /* Contenedor de las pantallas dk- dentro del shell mobile */
  .m-dk .dk-home{padding:24px var(--dk-pad) 40px;gap:28px;}
  .m-dk .dk-evento{padding:0 var(--dk-pad) 40px;}
  .m-dk .dk-btn{padding:12px 18px;}

  /* Home */
  .dk-home-hero{align-items:stretch;flex-direction:column;gap:16px;}
  .dk-home-titulo{font-size:clamp(26px,7.4vw,34px);}
  .dk-home-crear{width:100%;padding:15px 18px;font-size:14px;}
  .dk-home .dk-home-hero + .dk-acciones-grid{margin-top:-10px;}
  .dk-acciones-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .dk-accion-card{flex-direction:column;align-items:flex-start;gap:12px;padding:16px;}
  .dk-accion-card:hover{transform:none;}
  .dk-accion-ico{width:22px;height:22px;}
  .dk-accion-txt b{font-size:14.5px;}
  .dk-hoy{flex-wrap:wrap;gap:10px;}
  .m-prox .dk-label,.m-siguientes .dk-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
  .m-prox-card{display:flex;gap:16px;padding:14px;border:1px solid var(--dk-line-2);border-radius:8px;background:var(--dk-surface);cursor:pointer;}
  .m-prox-flyer{position:relative;flex:none;width:112px;aspect-ratio:4/5;border-radius:5px;overflow:hidden;background:var(--dk-surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;}
  .m-prox-flyer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .m-prox-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;}
  .m-prox-title{margin:4px 0 0;font-family:var(--display);font-weight:800;font-size:22px;line-height:1.02;letter-spacing:-.02em;color:#fff;overflow-wrap:anywhere;}
  .m-prox-fecha{font-size:12.5px;color:var(--dk-ink);}
  .m-prox-meta{font-size:12px;color:var(--dk-mute);}
  .m-prox-cta{margin-top:auto;padding:9px 14px !important;font-size:12.5px;}
  .m-fila{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--dk-line);cursor:pointer;}
  .m-fila-fecha{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--dk-mute);}
  .m-fila-nombre{font-family:var(--display);font-weight:600;font-size:15.5px;color:var(--dk-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .m-fila .dk-estado{font-size:11.5px;}

  /* Mis eventos: tarjetas horizontales (flyer a la izquierda) */
  .dk-ev-head{align-items:center;gap:12px;padding-bottom:18px;}
  .dk-ev-title{font-size:clamp(24px,7vw,30px);}
  .dk-ev-head .dk-btn-primary{flex:none;padding:11px 14px;font-size:12px;}
  .dk-ev-tabs{padding-bottom:0;margin-bottom:18px;}
  .dk-ev-tab{margin-right:14px;padding:10px 2px;}
  .dk-ev-grid{grid-template-columns:minmax(0,1fr);gap:12px;}
  .dk-ev-card{flex-direction:row;}
  .dk-ev-card:hover{transform:none;box-shadow:none;}
  .dk-ev-card-flyer{flex:none;width:104px;padding:8px;}
  .dk-ev-card-flyer .dk-estado{display:none;}
  .dk-ev-card-dia{font-size:28px;}
  .dk-ev-card-info{flex:1;min-width:0;padding:12px 14px;gap:4px;}
  .dk-ev-card-title{font-size:17px;}
  .dk-ev-card-foot{margin-top:6px;padding-top:8px;}
  .dk-ev-card-cta{display:none;}
  .dk-ev-cal{max-width:none;}
  .dk-ev-cal .dk-day{height:44px;font-size:13.5px;}

  /* Workspace del evento */
  .dk-evh{padding:16px var(--dk-pad) 0;}
  .dk-evh-back{margin-bottom:14px;}
  .dk-evh-main{flex-direction:row;align-items:flex-start;gap:16px;padding-bottom:18px;}
  .dk-evh-main > .dk-pub{display:none;}
  .dk-evh-flyer{width:92px;box-shadow:none;}
  .dk-evh-title{margin:8px 0 4px;font-size:clamp(24px,6.6vw,34px);}
  .dk-evh-tabs{overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--dk-pad) * -1);padding:0 var(--dk-pad);}
  .dk-evh-tabs::-webkit-scrollbar{display:none;}
  .dk-evh-tab{flex:none;padding:13px 12px;margin-right:0;}
  .dk-evb{padding-top:20px;}
  .dk-stats{margin-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .dk-stat{min-width:0;padding:16px 12px 16px 0;border-bottom:1px solid var(--dk-line);}
  .dk-stat + .dk-stat{padding-left:0;border-left:0;}
  .dk-stat:nth-child(even){padding-left:14px;border-left:1px solid var(--dk-line);}
  .dk-stat-v{font-size:28px;}
  .dk-stat-v--txt{font-size:15px;}
  .dk-evb-acciones{margin-top:20px;}
  .dk-evb-acciones .dk-btn-primary{flex:1 1 100%;}
  .dk-evl-row{flex-direction:column;align-items:stretch;gap:12px;padding:16px 0;}
  .dk-evl-cta .dk-btn{flex:1;}
  .dk-evb .dk-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;}
  .dk-evb .dk-label .dk-btn{padding:10px 14px;font-size:12px;}
  .m-dk .dk-legacy{margin:0 calc(var(--dk-pad) * -1);border:0;}

  /* Wizard */
  .dk-wiz-head{flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:18px;}
  .dk-wiz-titulo{font-size:28px;}
  .dk-wiz-pasos{margin-left:0;gap:14px;}
  .dk-wiz-form{max-width:none;}
  .dk-wiz-flyer-preview{width:min(220px,60vw);}
  .dk-wiz-revision{flex-direction:column;gap:16px;}
  .dk-wiz-revision-flyer{width:130px;}
  .dk-wiz-acciones .dk-btn{flex:1 1 auto;}
  .dk-wiz-acciones .dk-btn-primary{flex:1 1 100%;order:3;padding:15px 18px;}

  /* Perfil */
  .dk-perfil-card{flex-direction:column;align-items:flex-start;gap:16px;padding:18px;}
  .dk-perfil-datos{width:100%;}

  /* Menu (overlay a pantalla completa) */
  .overlay .app.m-menu{background:var(--dk-bg);padding:0 18px 28px;}
  .m-menu-head{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
  .m-menu-brand{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:.02em;color:var(--dk-ink);}
  .m-menu-perfil{display:flex;align-items:center;gap:14px;width:100%;padding:18px 0;border:0;border-top:1px solid var(--dk-line);border-bottom:1px solid var(--dk-line);background:none;color:var(--dk-ink);text-align:left;cursor:pointer;}
  .m-menu-logo{width:48px;height:48px;font-size:19px;}
  .m-menu-perfil-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
  .m-menu-perfil-txt b{font-family:var(--display);font-weight:700;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .m-menu-perfil-txt small{font-size:12px;color:var(--dk-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .m-menu-crear{width:100%;margin:18px 0 8px;padding:15px 18px;font-size:14px;}
  .m-menu-nav{display:flex;flex-direction:column;padding:6px 0;}
  .m-menu-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 4px;border:0;border-bottom:1px solid var(--dk-line);background:none;color:#c9c6bd;font:500 15.5px var(--font);text-align:left;cursor:pointer;}
  .m-menu-item.active{color:#fff;font-weight:700;}
  .m-menu-ico{display:inline-flex;width:20px;height:20px;opacity:.6;}
  .m-menu-item.active .m-menu-ico{opacity:1;}
  .m-menu-ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;}
  .m-menu-salir{width:100%;margin-top:18px;padding:14px 18px;gap:10px;font-size:14px;color:var(--feriado);border-color:rgba(239,106,92,.4);}
  .m-menu-salir svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;}
}

/* Tablet (768-1023): columna mas ancha que el telefono, igual a la de las pantallas heredadas en Desktop */
@media (min-width:768px) and (max-width:1023px){
  #root.app-authenticated{max-width:760px;}
  .dk-acciones-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .dk-home-hero{flex-direction:row;align-items:flex-end;}
  .dk-home-crear{width:auto;}
  .dk-ev-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
