
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Dark mode */
  --bg:#0D1117;
  --sf:rgba(255,255,255,0.07);--sf2:rgba(255,255,255,0.04);--sf3:rgba(255,255,255,0.02);
  --b:rgba(255,255,255,0.08);--b2:rgba(255,255,255,0.14);
  --tx:#F0F2FF;--tx2:#A0A8C0;--tx3:#606880;
  /* Premios: morado, Promos: naranja, Eventos: AMARILLO, Productos: azul */
  --pm:#8B7FFF;--pm-bg:rgba(139,127,255,0.12);--pm-bd:rgba(139,127,255,0.3);
  --pr:#F5623A;--pr-bg:rgba(245,98,58,0.12);--pr-bd:rgba(245,98,58,0.3);
  --ev:#FACC15;--ev-bg:rgba(250,204,21,0.12);--ev-bd:rgba(250,204,21,0.3);
  --pd:#0096D6;--pd-bg:rgba(0,150,214,0.12);--pd-bd:rgba(0,150,214,0.3);
  --fe:#E8930A;--fe-bg:rgba(232,147,10,0.12);--fe-bd:rgba(232,147,10,0.3);
  --red:#F87171;
  /* Activas: verde brillante */
  --ac:#4ADE80;--ac-bg:rgba(74,222,128,0.12);--ac-bd:rgba(74,222,128,0.3);
  /* FE category colors */
  --fe-nacional:#60A5FA;--fe-nacional-bg:rgba(96,165,250,0.12);--fe-nacional-bd:rgba(96,165,250,0.3);
  --fe-familia:#F472B6;--fe-familia-bg:rgba(244,114,182,0.12);--fe-familia-bd:rgba(244,114,182,0.3);
  --fe-comercial:#FB923C;--fe-comercial-bg:rgba(251,146,60,0.12);--fe-comercial-bd:rgba(251,146,60,0.3);
  --fe-descuento:#E8930A;--fe-descuento-bg:rgba(232,147,10,0.12);--fe-descuento-bd:rgba(232,147,10,0.3);
  --fe-deportivo:#4ADE80;--fe-deportivo-bg:rgba(74,222,128,0.12);--fe-deportivo-bd:rgba(74,222,128,0.3);
  --fe-estreno:#A78BFA;--fe-estreno-bg:rgba(167,139,250,0.12);--fe-estreno-bd:rgba(167,139,250,0.3);
}
body{
  font-family:'Plus Jakarta Sans',sans-serif;
  background:var(--bg);
  color:var(--tx);
  min-height:100vh;
  font-size:13px;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  position:relative;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 0% 0%, rgba(74,222,128,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 70% 60% at 100% 100%, rgba(139,92,246,0.10) 0%, transparent 70%);
  pointer-events:none;
  z-index:0;
}
.wrap{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh}

/* LEFT NAV SIDEBAR */
.app-shell{display:flex;flex:1;min-height:0}
.left-nav{width:180px;background:#1A1D2E;border-right:none;display:flex;flex-direction:column;align-items:stretch;padding:10px 0;gap:2px;position:sticky;top:0;align-self:flex-start;min-height:calc(100vh - 57px);overflow:hidden;z-index:90;flex-shrink:0;box-shadow:2px 0 8px rgba(0,0,0,0.18)}
.left-nav-logo{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,0.08)}
.left-nav-logo-img{width:36px;height:36px;border-radius:50%;background:#fff;object-fit:contain;flex-shrink:0;padding:2px}
.left-nav-logo-text{font-size:14px;font-weight:700;color:#fff;letter-spacing:-.2px}
.lnav-item{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:0 8px;padding:10px 12px;border:none;background:transparent;cursor:pointer;border-radius:12px;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;text-align:left;color:#9CA3AF;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:500;position:relative}
.lnav-item:hover{background:rgba(255,255,255,0.07);color:#fff}
.lnav-item.active{background:#4ADE80;color:#111827;font-weight:700}
.lnav-item.active::before{display:none}
.lnav-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.lnav-item.active .lnav-icon{background:transparent}
.lnav-label{font-size:13px;font-weight:500}
.lnav-divider{width:80%;height:1px;background:rgba(255,255,255,0.08);margin:6px 8px;flex-shrink:0}
.lnav-spacer{flex:1}

/* HEADER */
.header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--b);background:rgba(13,17,23,0.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:sticky;top:0;z-index:100;gap:12px;flex-wrap:wrap}
.logo-wrap{display:flex;flex-direction:column}
.logo{font-size:15px;font-weight:700;color:var(--tx);letter-spacing:-.3px;display:flex;align-items:center;gap:8px}
.logo-img{width:28px;height:28px;min-width:28px;min-height:28px;max-width:28px;max-height:28px;border-radius:50%;background:#fff;object-fit:contain;padding:1px;flex-shrink:0;display:inline-block}
.logo-sub{font-size:10px;color:var(--tx3);font-weight:400;margin-top:1px}
.hdr-r{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn-icon{padding:7px 13px;background:var(--sf);border:1px solid var(--b2);border-radius:16px;color:var(--tx2);font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;backdrop-filter:blur(8px)}
.btn-icon:hover{background:rgba(255,255,255,0.12);color:var(--tx)}
.btn-add{padding:7px 14px;background:var(--pm);color:#fff;border:none;border-radius:16px;font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 2px 12px rgba(139,127,255,0.4)}
.btn-add:hover{opacity:.9}
/* Session button */
.session-btn{position:relative;display:inline-flex;align-items:center;gap:8px;background:var(--sf);border:1px solid var(--b2);border-radius:99px;padding:4px 12px 4px 4px;cursor:pointer;backdrop-filter:blur(8px);transition:background .15s;font-family:'Plus Jakarta Sans',sans-serif}
.session-btn:hover,.session-btn:focus-within{background:rgba(255,255,255,0.12)}
.session-avatar{width:28px;height:28px;border-radius:50%;background:var(--pm);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}
.session-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.session-name{font-size:11px;font-weight:600;color:var(--tx);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.session-chevron{font-size:9px;color:var(--tx3)}
.session-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#1A1D2E;border:1px solid var(--b2);border-radius:16px;padding:8px;min-width:200px;box-shadow:0 8px 24px rgba(0,0,0,0.5);z-index:999}
.session-btn:focus-within .session-dropdown,.session-btn:hover .session-dropdown{display:block}
.session-email{font-size:10px;color:var(--tx3);padding:6px 8px;border-bottom:1px solid var(--b);margin-bottom:6px;font-family:'Plus Jakarta Sans',sans-serif}
.session-signout{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--tx2);font-size:12px;font-weight:500;cursor:pointer;border-radius:10px;text-align:left;font-family:'Plus Jakarta Sans',sans-serif;transition:all .15s}
.session-signout:hover{background:rgba(255,255,255,0.07);color:#fff}

.app-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;position:relative;z-index:1}
.main{padding:20px 24px}

/* GUIDE STYLES */
.guide-wrap{max-width:820px;margin:0 auto;padding:20px 24px}
.guide-section{background:var(--sf);border:1px solid var(--b);border-radius:12px;padding:22px 24px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.guide-section-title{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.guide-section-title span{font-size:18px}
.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.guide-card{border-radius:16px;padding:14px 16px;border:1.5px solid transparent}
.guide-card.gc-pm{background:var(--pm-bg);border-color:var(--pm-bd)}
.guide-card.gc-pr{background:var(--pr-bg);border-color:var(--pr-bd)}
.guide-card.gc-ev{background:var(--ev-bg);border-color:var(--ev-bd)}
.guide-card.gc-pd{background:var(--pd-bg);border-color:var(--pd-bd)}
.gc-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.gc-dot{width:10px;height:10px;border-radius:50%}
.gc-title{font-size:12px;font-weight:700}
.gc-body{font-size:11px;color:var(--tx2);line-height:1.65}
.guide-obj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.guide-obj-card{border-radius:16px;padding:14px 16px;background:var(--sf2);border:1px solid var(--b)}
.guide-obj-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 9px;border-radius:99px;margin-bottom:8px}
.guide-obj-badge.ob-conv{background:#FFF3CD;color:#856404}
.guide-obj-badge.ob-act{background:var(--pd-bg);color:var(--pd)}
.guide-obj-badge.ob-ret{background:var(--ev-bg);color:var(--ev)}
.guide-obj-title{font-size:12px;font-weight:700;color:var(--tx);margin-bottom:5px}
.guide-obj-body{font-size:11px;color:var(--tx2);line-height:1.65}
.guide-status-row{display:flex;gap:10px;flex-wrap:wrap}
.guide-status-chip{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:180px;background:var(--sf2);border-radius:16px;padding:12px 14px;border:1px solid var(--b)}
.guide-status-chip .ast{margin-top:2px;white-space:nowrap}
.guide-status-body{font-size:11px;color:var(--tx2);line-height:1.6}
.guide-steps{display:flex;flex-direction:column;gap:8px;counter-reset:steps}
.guide-step{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:var(--sf2);border-radius:16px;border:1px solid var(--b)}
.guide-step-n{width:24px;height:24px;border-radius:50%;background:var(--pm);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.guide-step-body{font-size:11px;color:var(--tx2);line-height:1.65}
.guide-step-body b{color:var(--tx)}


/* ALERT RULES EDITOR */
.ar-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.ar-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--sf2);border-radius:16px;border:1.5px solid var(--b);transition:border-color .15s}
.ar-item:hover{border-color:var(--b2)}
.ar-item.ar-active{border-color:var(--fe-bd);background:var(--fe-bg)}
.ar-icon{font-size:16px;flex-shrink:0}
.ar-info{flex:1;min-width:0}
.ar-name{font-size:12px;font-weight:600;color:var(--tx);margin-bottom:2px}
.ar-cond{font-size:10px;color:var(--tx3);font-family:'Roboto Mono',monospace}
.ar-btns{display:flex;gap:5px;flex-shrink:0}
.ar-btn{width:26px;height:26px;border-radius:12px;border:1px solid var(--b2);background:transparent;color:var(--tx3);cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.ar-btn:hover{background:var(--sf);color:var(--tx)}
.ar-btn.del:hover{background:#FEE2E2;color:var(--red);border-color:#FCA5A5}
.ar-toggle{width:34px;height:20px;border-radius:99px;border:none;cursor:pointer;position:relative;flex-shrink:0;transition:background .2s}
.ar-toggle.on{background:var(--ev)}
.ar-toggle.off{background:var(--sf3)}
.ar-toggle::after{content:'';position:absolute;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
.ar-toggle.on::after{left:16px}
.ar-toggle.off::after{left:2px}
.ar-form{background:var(--sf2);border:1.5px solid var(--b2);border-radius:16px;padding:16px;margin-top:12px}
.ar-form-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);font-family:'Roboto Mono',monospace;margin-bottom:12px}
.ar-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.ar-row3{display:grid;grid-template-columns:1fr 1fr 80px;gap:10px;margin-bottom:10px}
.ar-empty{text-align:center;padding:24px;color:var(--tx3);font-size:11px;background:var(--sf2);border-radius:16px;border:1px dashed var(--b2)}

/* EQUIPO STYLES */
.equipo-wrap{max-width:820px;margin:0 auto;padding:20px 24px}
.owner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:20px}
.owner-card{background:var(--sf);border:1px solid var(--b);border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.owner-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;margin-bottom:10px}
.owner-name{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:2px}
.owner-role{font-size:10px;color:var(--tx3);font-family:'Roboto Mono',monospace;margin-bottom:10px}
.owner-stats{display:flex;gap:6px;flex-wrap:wrap}
.owner-stat{display:flex;flex-direction:column;align-items:center;background:var(--sf2);border-radius:16px;padding:6px 10px;border:1px solid var(--b);min-width:56px;flex:1}
.owner-stat-val{font-size:18px;font-weight:700;line-height:1}
.owner-stat-lbl{font-size:8px;font-family:'Roboto Mono',monospace;color:var(--tx3);margin-top:2px;text-align:center}
.owner-pending-list{margin-top:10px;display:flex;flex-direction:column;gap:4px}
.owner-pending-item{font-size:10px;color:var(--tx2);background:var(--sf2);border-radius:12px;padding:4px 8px;display:flex;align-items:center;gap:6px;border-left:3px solid var(--pd)}
.owner-pending-item.status-pending{border-left-color:var(--pd)}
.owner-pending-item.status-draft{border-left-color:var(--tx3)}

/* REGLAS STYLES */
.reglas-wrap{max-width:820px;margin:0 auto;padding:20px 24px}
.regla-section{background:var(--sf);border:1px solid var(--b);border-radius:12px;padding:20px 22px;margin-bottom:14px;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.regla-section-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);font-family:'Roboto Mono',monospace;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.regla-table{width:100%;border-collapse:collapse}
.regla-table th{text-align:left;font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--tx3);font-family:'Roboto Mono',monospace;padding:6px 12px;border-bottom:1.5px solid var(--b2);background:var(--sf2)}
.regla-table td{padding:9px 12px;border-bottom:1px solid var(--b);font-size:11px;color:var(--tx2);vertical-align:top}
.regla-table tr:last-child td{border-bottom:none}
.regla-table td:first-child{font-weight:600;color:var(--tx);white-space:nowrap}
.regla-badge{display:inline-block;font-size:9px;font-weight:600;padding:2px 8px;border-radius:99px;font-family:'Roboto Mono',monospace}
.regla-badge.rb-min{background:var(--ev-bg);color:var(--ev)}
.regla-badge.rb-max{background:rgba(248,113,113,0.15);color:#F87171}
.regla-badge.rb-info{background:var(--pm-bg);color:var(--pm)}
.premios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.premio-rule-card{background:var(--sf2);border:1px solid var(--b);border-radius:16px;padding:12px 14px}
.premio-rule-head{display:flex;align-items:center;gap:7px;margin-bottom:6px}
.premio-rule-dot{width:8px;height:8px;border-radius:50%;background:var(--pm)}
.premio-rule-name{font-size:11px;font-weight:700;color:var(--tx)}
.premio-rule-val{font-size:22px;font-weight:800;color:var(--pm);line-height:1;margin-bottom:2px}
.premio-rule-desc{font-size:10px;color:var(--tx3)}

/* KPI — V1 Glow */
.kpi-bar{display:flex;align-items:stretch;gap:8px;margin-bottom:16px;overflow:visible}
.kpi-card{border-radius:16px;padding:14px 16px;flex:1;min-width:0;position:relative;border:1px solid var(--b);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .15s,box-shadow .15s;cursor:default}
.kpi-card:hover{transform:translateY(-2px)}
.kpi-has-tip{cursor:default}
.kpi-tooltip{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#1A1D2E;border:1px solid var(--b2);border-radius:16px;padding:10px 12px;min-width:200px;max-width:280px;max-height:300px;overflow-y:auto;z-index:9999;box-shadow:0 8px 24px rgba(0,0,0,0.4);pointer-events:none}
.kpi-has-tip:hover .kpi-tooltip{display:block}
.kpi-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);margin-bottom:8px;font-family:'Plus Jakarta Sans',sans-serif}
.kpi-value{font-size:28px;font-weight:800;line-height:1;margin-bottom:4px}
.kpi-sub{font-size:9px;color:var(--tx3);font-weight:500;font-family:'Plus Jakarta Sans',sans-serif}

/* MIX */
.mix-section{background:var(--sf);border:1px solid var(--b);border-radius:16px;padding:13px 18px;margin-bottom:16px;display:flex;align-items:center;gap:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.mix-label{font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);font-family:'Roboto Mono',monospace;white-space:nowrap;min-width:90px;display:flex;align-items:center;gap:5px}
.mix-bar-wrap{flex:1;height:8px;background:var(--sf2);border-radius:99px;overflow:hidden;display:flex}
.mix-seg{height:100%;transition:width .4s}
.mix-legend{display:flex;gap:14px;flex-shrink:0;flex-wrap:wrap}
.mix-item{display:flex;align-items:center;gap:4px;font-size:10px;font-family:'Roboto Mono',monospace;color:var(--tx2)}
.mix-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

/* FILTERS */
.filter-bar{display:flex;align-items:center;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.fchip{padding:4px 11px;border-radius:99px;border:1px solid var(--b2);background:var(--sf);color:var(--tx2);font-family:'Roboto',sans-serif;font-size:10px;font-weight:500;cursor:pointer;transition:all .15s}
.fchip:hover{border-color:var(--pm);color:var(--pm)}
.fchip.active{color:var(--sf);border-color:transparent}
.fchip.active.fall{background:var(--tx2)}
.fchip.active.fp{background:var(--pm)}
.fchip.active.fpr{background:var(--pr)}
.fchip.active.fev{background:var(--ev)}
.fchip.active.fpd{background:var(--pd)}
.fchip.active.fs-all{background:var(--tx2)}
.fchip.active.fs-draft{background:#9599B0}
.fchip.active.fs-pending{background:#0096D6}
.fchip.active.fs-active{background:#0CA678}

/* CONTENT GRID */
.cg{display:grid;grid-template-columns:1fr 290px;gap:18px;align-items:start}

/* CALENDAR */
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal-title{font-size:17px;font-weight:600;color:var(--tx)}
.nav{display:flex;align-items:center;gap:6px}
.nav-btn{width:28px;height:28px;border-radius:16px;border:1px solid var(--b2);background:var(--sf);color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s}
.nav-btn:hover{background:var(--sf2);border-color:var(--pm);color:var(--pm)}
.nav-lbl{font-size:11px;font-weight:600;min-width:110px;text-align:center;font-family:'Roboto Mono',monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--tx2)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.dname{text-align:center;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);font-family:'Plus Jakarta Sans',sans-serif;padding:5px 0 8px}
.cell{background:var(--sf);border:1px solid var(--b);border-radius:16px;min-height:82px;height:auto;padding:7px 6px 5px 10px;cursor:pointer;transition:all .15s;position:relative;overflow:visible;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cell:hover{border-color:var(--b2);background:rgba(255,255,255,0.10)}
.cell.dim{opacity:.25}
.cell.tod{border-color:var(--pm);background:var(--pm-bg)}
.dnum{font-size:11px;font-weight:600;color:var(--tx2);margin-bottom:4px;display:flex;align-items:center;justify-content:space-between;font-family:'Plus Jakarta Sans',sans-serif}
.cell.tod .dnum{color:var(--pm)}
.chips{display:flex;flex-direction:column;gap:2px}
.chip{font-size:8px;font-weight:600;border-radius:8px;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;border:1.5px solid transparent;transition:opacity .15s}
.chip:hover{opacity:.75}
.chip.premio{background:var(--pm-bg);color:var(--pm);border-color:var(--pm-bd);box-shadow:0 0 8px rgba(139,127,255,0.15)}
.chip.evento{background:var(--ev-bg);color:var(--ev);border-color:var(--ev-bd);box-shadow:0 0 8px rgba(250,204,21,0.15)}
.chip.producto{background:var(--pd-bg);color:var(--pd);border-color:var(--pd-bd);box-shadow:0 0 8px rgba(0,150,214,0.15)}
.chip.promo{background:var(--pr-bg);color:var(--pr);border-color:var(--pr-bd);box-shadow:0 0 8px rgba(245,98,58,0.15)}
.chip.more{background:var(--sf2);color:var(--tx3);border-color:var(--b)}
.chip.past{opacity:.4!important}
/* Cat bars — barritas de categoría en borde izquierdo */
.cat-bars{position:absolute;left:0;top:8px;bottom:8px;width:3px;display:flex;flex-direction:column;gap:2px;border-radius:0 3px 3px 0;overflow:hidden}
.cat-bar{flex:1;border-radius:2px}

/* FE date labels inside day cells — context only, not action chips */
.fe-date-label{display:flex;align-items:center;gap:3px;font-size:7.5px;font-weight:500;font-family:'Roboto',sans-serif;color:var(--tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px;padding:0;cursor:pointer;opacity:.85;transition:opacity .15s}
.fe-date-label:hover{opacity:1}
.fe-date-label .fe-ico{font-size:9px;flex-shrink:0}
.fe-date-label .fe-lbl{overflow:hidden;text-overflow:ellipsis}
.fe-date-label.cat-Nacional{color:var(--fe-nacional)}
.fe-date-label.cat-Familia{color:var(--fe-familia)}
.fe-date-label.cat-Comercial{color:var(--fe-comercial)}
.fe-date-label.cat-Descuento{color:var(--fe-descuento)}
.fe-date-label.cat-Deportivo{color:var(--fe-deportivo)}
.fe-date-label.cat-Estreno{color:var(--fe-estreno)}
.fe-date-label.cat-Otro{color:var(--tx3)}
/* Top stripe on cell when FE date exists */
.cell.has-fe-Nacional{border-top:2px solid var(--fe-nacional)}
.cell.has-fe-Familia{border-top:2px solid var(--fe-familia)}
.cell.has-fe-Comercial{border-top:2px solid var(--fe-comercial)}
.cell.has-fe-Descuento{border-top:2px solid var(--fe-descuento)}
.cell.has-fe-Deportivo{border-top:2px solid var(--fe-deportivo)}
.cell.has-fe-Estreno{border-top:2px solid var(--fe-estreno)}
.cell.has-fe-Otro{border-top:2px solid var(--tx3)}

/* FUTURE + draft: gris azulado, sin confirmar */
.chip.future.status-draft{background:#F0F1F5!important;color:#9599B0!important;border-color:#D0D3E0!important;opacity:.85!important}

/* FUTURE + pending: color solido, URGENTE publicar */
.chip.future.status-pending{opacity:1!important;font-weight:600!important}
.chip.premio.future.status-pending{background:var(--pm)!important;color:#fff!important;border-color:var(--pm)!important}
.chip.promo.future.status-pending{background:var(--pr)!important;color:#fff!important;border-color:var(--pr)!important}
.chip.evento.future.status-pending{background:var(--ev)!important;color:#fff!important;border-color:var(--ev)!important}
.chip.producto.future.status-pending{background:var(--pd)!important;color:#fff!important;border-color:var(--pd)!important}

/* FUTURE + active: color suave, ya publicada esperando fecha */
.chip.future.status-active{opacity:.75!important}

/* TODAY + draft / pending: alerta naranja — se publica hoy pero no está lista */
.chip.today.status-draft,.chip.today.status-pending{background:#FFF3CD!important;color:#856404!important;border-color:#FFCA2C!important;font-weight:700!important;box-shadow:0 0 0 2px #FFCA2C!important;animation:palert 1.5s infinite!important}
@keyframes palert{0%,100%{box-shadow:0 0 0 0 rgba(255,202,44,.6)}50%{box-shadow:0 0 0 5px rgba(255,202,44,0)}}

/* TODAY + active: color solido + pulso */
.chip.today.status-active{font-weight:700!important;opacity:1!important}
.chip.premio.today.status-active{background:var(--pm)!important;color:#fff!important;border-color:var(--pm)!important;animation:ppm 2s infinite}
.chip.promo.today.status-active{background:var(--pr)!important;color:#fff!important;border-color:var(--pr)!important;animation:ppr 2s infinite}
.chip.evento.today.status-active{background:var(--ev)!important;color:#fff!important;border-color:var(--ev)!important;animation:pev 2s infinite}
.chip.producto.today.status-active{background:var(--pd)!important;color:#fff!important;border-color:var(--pd)!important;animation:ppd 2s infinite}

/* ACTIVE + draft / pending: alerta roja — en fechas pero no publicada */
.chip.active.status-draft,.chip.active.status-pending{background:#FFF0F0!important;color:#C53030!important;border-color:#FC8181!important;font-weight:600!important}

/* ACTIVE + active: color solido, todo correcto */
.chip.active.status-active{font-weight:600!important;opacity:1!important}
.chip.premio.active.status-active{background:var(--pm)!important;color:#fff!important;border-color:var(--pm)!important}
.chip.promo.active.status-active{background:var(--pr)!important;color:#fff!important;border-color:var(--pr)!important}
.chip.evento.active.status-active{background:var(--ev)!important;color:#fff!important;border-color:var(--ev)!important}
.chip.producto.active.status-active{background:var(--pd)!important;color:#fff!important;border-color:var(--pd)!important}
@keyframes ppm{0%,100%{box-shadow:0 0 0 0 rgba(108,99,255,.5)}50%{box-shadow:0 0 0 4px rgba(108,99,255,0)}}
@keyframes ppr{0%,100%{box-shadow:0 0 0 0 rgba(245,98,58,.5)}50%{box-shadow:0 0 0 4px rgba(245,98,58,0)}}
@keyframes pev{0%,100%{box-shadow:0 0 0 0 rgba(12,166,120,.5)}50%{box-shadow:0 0 0 4px rgba(12,166,120,0)}}
@keyframes ppd{0%,100%{box-shadow:0 0 0 0 rgba(0,150,214,.5)}50%{box-shadow:0 0 0 4px rgba(0,150,214,0)}}

/* FE DOT + TOOLTIP — used in sidebar list */
.fe-w{position:relative;display:inline-flex;cursor:help}
.fe-d{width:7px;height:7px;border-radius:50%;background:var(--fe);border:1.5px solid rgba(232,147,10,0.4);transition:transform .15s}
.fe-w:hover .fe-d{transform:scale(1.5)}

/* FE TOGGLE PILLS BAR */
.fe-toggle-bar{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px;align-items:center}
.fe-toggle-lbl{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);font-family:'Roboto Mono',monospace;margin-right:4px}
.fe-tchip{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:600;border-radius:99px;padding:3px 10px;cursor:pointer;transition:all .15s;border:1.5px solid;background:var(--sf);opacity:.5}
.fe-tchip.on{opacity:1}
.fe-tchip.t-Nacional{color:var(--fe-nacional);border-color:var(--fe-nacional-bd)}
.fe-tchip.on.t-Nacional{background:var(--fe-nacional-bg)}
.fe-tchip.t-Familia{color:var(--fe-familia);border-color:var(--fe-familia-bd)}
.fe-tchip.on.t-Familia{background:var(--fe-familia-bg)}
.fe-tchip.t-Comercial{color:var(--fe-comercial);border-color:var(--fe-comercial-bd)}
.fe-tchip.on.t-Comercial{background:var(--fe-comercial-bg)}
.fe-tchip.t-Descuento{color:var(--fe-descuento);border-color:var(--fe-descuento-bd)}
.fe-tchip.on.t-Descuento{background:var(--fe-descuento-bg)}
.fe-tchip.t-Deportivo{color:var(--fe-deportivo);border-color:var(--fe-deportivo-bd)}
.fe-tchip.on.t-Deportivo{background:var(--fe-deportivo-bg)}
.fe-tchip.t-Estreno{color:var(--fe-estreno);border-color:var(--fe-estreno-bd)}
.fe-tchip.on.t-Estreno{background:var(--fe-estreno-bg)}
.fe-tchip.t-Otro{color:var(--fe);border-color:var(--fe-bd)}
.fe-tchip.on.t-Otro{background:var(--fe-bg)}
.tip-box{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--tx);color:#fff;border-radius:16px;padding:11px 13px;min-width:240px;max-width:320px;z-index:99999;pointer-events:none;box-shadow:0 6px 20px rgba(0,0,0,0.2);font-family:'Roboto',sans-serif;white-space:normal;word-break:break-word}
.fe-w:hover .tip-box,.tip-wrap:hover .tip-box{display:block}
.tip-box::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--tx)}
.tip-title{font-size:11px;font-weight:600;color:#FAC775;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,0.15)}
.tip-row{display:flex;gap:8px;font-size:10px;margin-bottom:3px}
.tip-lbl{color:rgba(255,255,255,0.5);min-width:44px;flex-shrink:0}
.tip-val{color:rgba(255,255,255,0.9)}
.tip-note{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,0.1);font-size:9px;color:rgba(255,255,255,0.5);font-style:italic;line-height:1.5}

/* GENERIC TOOLTIP for concepts */
.tip-wrap{position:relative;display:inline-flex;align-items:center;cursor:help}
.tip-wrap .tip-icon{font-size:9px;color:var(--tx3);margin-left:3px;border:1px solid var(--tx3);border-radius:50%;width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;flex-shrink:0}
.tip-wrap .tip-box{bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);min-width:240px;max-width:320px}

.fe-tag{position:relative;display:inline-flex;cursor:help;font-size:8px;font-family:'Roboto Mono',monospace;background:var(--fe-bg);color:var(--fe);border:1px solid var(--fe-bd);border-radius:3px;padding:2px 5px;gap:3px;align-items:center}
.fe-tag .tip-box{bottom:calc(100% + 6px);left:0;transform:none}

/* SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:12px}
.panel{background:var(--sf);border:1px solid var(--b);border-radius:16px;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ph{padding:11px 15px;border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between}
.pt{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx2);display:flex;align-items:center;gap:5px}
.pb{padding:11px 15px}
.pa{font-size:10px;color:var(--pm);cursor:pointer;background:none;border:none;font-family:'Roboto',sans-serif;font-weight:500}
.pa:hover{text-decoration:underline}

/* ACT LIST */
.al{display:flex;flex-direction:column;gap:6px}
.ai{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--sf2);border-radius:16px;cursor:pointer;transition:all .15s;border:1px solid transparent}
.ai:hover{background:#EEF0FF;border-color:var(--pm-bd)}
.adot{width:7px;height:7px;border-radius:50%;margin-top:4px;flex-shrink:0}
.ainf{flex:1;min-width:0}
.anm{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;color:var(--tx)}
.amet{font-size:9px;color:var(--tx3);font-family:'Roboto Mono',monospace}
.ast{font-size:8px;font-weight:600;font-family:'Roboto',sans-serif;padding:2px 6px;border-radius:99px;white-space:nowrap;flex-shrink:0}
.s-ac{background:var(--ev-bg);color:var(--ev)}
.s-pl{background:var(--pm-bg);color:var(--pm)}
.s-dr{background:var(--sf3);color:var(--tx3)}

/* FE LIST */
.fe-list{display:flex;flex-direction:column}
.fli{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--b);position:relative}
.fli:last-child{border-bottom:none}
.fld{font-size:9px;font-family:'Roboto Mono',monospace;color:var(--tx3);width:30px;flex-shrink:0;text-align:center;line-height:1.2}
.fld b{display:block;font-size:14px;font-weight:700;color:var(--fe)}
.fln{font-size:11px;font-weight:500;flex:1;color:var(--tx)}
.feb{font-size:8px;font-family:'Roboto',sans-serif;background:var(--fe-bg);color:var(--fe);border:1px solid var(--fe-bd);padding:2px 6px;border-radius:99px;white-space:nowrap;font-weight:500}
.fe-acts{display:flex;gap:3px;opacity:0;transition:opacity .15s}
.fli:hover .fe-acts{opacity:1}
.fe-btn{width:20px;height:20px;border-radius:5px;border:1px solid var(--b2);background:transparent;color:var(--tx3);cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.fe-btn:hover{background:var(--sf2);color:var(--tx)}
.fe-btn.dl:hover{background:#FEE2E2;color:var(--red);border-color:#FCA5A5}

/* SAT */
.sat-wrap{display:flex;flex-direction:column;gap:8px}
.sw{display:flex;flex-direction:column;gap:3px}
.sl{font-size:9px;font-family:'Roboto Mono',monospace;color:var(--tx3);display:flex;justify-content:space-between;align-items:center}
.st{height:5px;background:var(--sf2);border-radius:99px;overflow:hidden}
.sf{height:100%;border-radius:99px;transition:width .4s}
.sat-lo{background:var(--ev)}.sat-mi{background:#F59E0B}.sat-hi{background:var(--pr)}.sat-ov{background:var(--red)}

/* TRIM / CONSOL */
.t3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tm{background:var(--sf);border:1px solid var(--b);border-radius:16px;overflow:visible;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.tmh{padding:10px 14px;border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px;background:var(--sf);border-radius:16px 10px 0 0}
.tmn{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tx)}
.tl{padding:10px 14px;display:flex;flex-direction:column;gap:4px}
.trow{display:flex;align-items:center;gap:6px}
.trn{width:72px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-family:'Roboto Mono',monospace;color:var(--tx2)}
.trt{flex:1;height:11px;background:var(--sf2);border-radius:3px;overflow:hidden;position:relative}
.trb{height:100%;border-radius:3px;position:absolute;top:0}

/* MINI CAL */
.mg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px}
.mdn{text-align:center;font-size:7px;color:var(--tx3);font-family:'Roboto',sans-serif;font-weight:500;padding:1px 0 4px}
.md{height:20px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:7px;font-family:'Roboto Mono',monospace;color:var(--tx3);position:relative;border:1px solid transparent;cursor:default;transition:all .1s}
.md.ha{background:var(--sf2);border-color:var(--b);color:var(--tx2);cursor:pointer}
.md.ha:hover{border-color:var(--pm);color:var(--pm)}
.md.tdy{border-color:var(--pm);color:var(--pm);font-weight:700}
.md.oth{opacity:.2}
.mdb{position:absolute;bottom:2px;left:2px;right:2px;height:2px;border-radius:99px}
.mfe{position:absolute;top:1px;right:1px;width:3px;height:3px;border-radius:50%;background:var(--fe)}
.gs{padding:8px 14px 12px;display:flex;flex-direction:column;gap:4px}
.gr{display:flex;align-items:center;gap:6px;cursor:pointer;padding:1px 0}
.gr:hover .gn{color:var(--pm)}
.gn{width:72px;font-size:8px;font-family:'Roboto Mono',monospace;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;transition:color .15s}
.gt{flex:1;height:11px;background:var(--sf2);border-radius:3px;position:relative;overflow:hidden}
.gb{height:100%;border-radius:3px;position:absolute;top:0}
.gv{position:absolute;top:0;bottom:0;width:1px;background:var(--fe);opacity:.8;z-index:2}

/* SEMANAL */
.wk{display:flex;border:1px solid var(--b);border-radius:16px;overflow:hidden;background:var(--sf);box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.wd{flex:1;border-right:1px solid var(--b);padding:10px 8px;min-width:0}
.wd:last-child{border-right:none}
.wdn{font-size:9px;color:var(--tx3);font-family:'Roboto',sans-serif;font-weight:500;margin-bottom:2px;text-transform:uppercase;letter-spacing:.04em}
.wdd{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--tx)}

/* MODALS */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:200;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.overlay.open{display:flex}
.modal{background:#1A1D2E;border:1px solid var(--b2);border-radius:16px;padding:24px;width:480px;max-width:96vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.modal-title{font-size:16px;font-weight:700;margin-bottom:18px;color:var(--tx)}
.form-row{margin-bottom:12px}
.form-label{display:block;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);font-family:'Roboto',sans-serif;margin-bottom:5px}
.form-input,.form-select{width:100%;background:rgba(255,255,255,0.06);border:1.5px solid var(--b2);border-radius:16px;padding:8px 11px;color:var(--tx);font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;outline:none;transition:border-color .15s}
.form-input:focus,.form-select:focus{border-color:var(--pm);box-shadow:0 0 0 3px var(--pm-bg)}
.form-select option{background:var(--sf)}
.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.btn-cancel{padding:8px 16px;background:transparent;border:1.5px solid var(--b2);border-radius:16px;color:var(--tx2);font-family:'Roboto',sans-serif;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}
.btn-cancel:hover{background:var(--sf2);border-color:var(--tx3)}
.btn-save{padding:8px 18px;background:var(--pm);color:#fff;border:none;border-radius:16px;font-family:'Roboto',sans-serif;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 2px 6px rgba(108,99,255,0.3)}
.btn-save:hover{opacity:.9}

/* DETAIL PANEL */
.detail-overlay{display:none;position:fixed;inset:0;z-index:150;pointer-events:none}
.detail-overlay.open{display:block}
.detail-panel{position:fixed;top:0;right:0;bottom:0;width:310px;background:var(--sf);border-left:1px solid var(--b);padding:22px;overflow-y:auto;pointer-events:all;transform:translateX(100%);transition:transform .25s;box-shadow:-4px 0 20px rgba(0,0,0,0.08)}
.detail-overlay.open .detail-panel{transform:translateX(0)}
.det-close{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.det-close button{background:none;border:none;color:var(--tx3);cursor:pointer;font-size:18px;width:28px;height:28px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.det-close button:hover{background:var(--sf2);color:var(--tx)}
.det-badge{font-size:9px;font-family:'Roboto',sans-serif;font-weight:600;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em}
.det-name{font-size:18px;font-weight:700;margin-bottom:14px;line-height:1.3;color:var(--tx)}
.det-fields{display:flex;flex-direction:column;gap:14px}
.det-lbl{font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);font-family:'Roboto',sans-serif;margin-bottom:3px}
.det-val{font-size:12px;font-weight:500;color:var(--tx)}
.prog-wrap{height:5px;background:var(--sf2);border-radius:99px;overflow:hidden;margin-top:5px}
.prog-fill{height:100%;border-radius:99px}

/* FE MANAGER */
.fe-mgmt-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--sf2);border-radius:16px;margin-bottom:7px;border:1.5px solid transparent;transition:all .15s}
.fe-mgmt-item:hover{border-color:var(--fe-bd);background:var(--fe-bg)}
.fe-mgmt-ico{width:30px;height:30px;border-radius:16px;background:var(--fe-bg);border:1px solid var(--fe-bd);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.fe-mgmt-info{flex:1;min-width:0}
.fe-mgmt-name{font-size:11px;font-weight:600;margin-bottom:2px;color:var(--tx)}
.fe-mgmt-meta{font-size:9px;color:var(--tx3);font-family:'Roboto Mono',monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* IMPORT */
.import-zone{border:2px dashed var(--b2);border-radius:16px;padding:24px;text-align:center;cursor:pointer;transition:all .2s;background:var(--sf2)}
.import-zone:hover,.import-zone.drag{border-color:var(--pm);background:var(--pm-bg)}
.import-prev{margin-top:12px;background:var(--sf2);border-radius:16px;padding:11px;max-height:160px;overflow-y:auto}
.import-row{font-size:10px;font-family:'Roboto Mono',monospace;color:var(--tx2);padding:3px 0;border-bottom:1px solid var(--b);display:flex;gap:7px;align-items:center}
.import-row:last-child{border-bottom:none}
.ftable{width:100%;border-collapse:collapse;font-size:10px;font-family:'Roboto Mono',monospace;margin-top:10px}
.ftable th{text-align:left;color:var(--tx3);padding:5px 8px;border-bottom:1px solid var(--b);font-weight:500;background:var(--sf2)}
.ftable td{padding:5px 8px;color:var(--tx2);border-bottom:1px solid var(--b)}
.ftable td:first-child{color:var(--pm);font-weight:500}

/* SECTION DIVIDER */
.section-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.section-label::after{content:'';flex:1;height:1px;background:var(--b)}


/* ============================================
   RESPONSIVE — MOBILE FIRST (≤ 640px)
   ============================================ */

@media(max-width:960px){
  .cg{grid-template-columns:1fr}
  .t3{grid-template-columns:1fr}
  .kpi-bar{flex-wrap:wrap}
  .guide-grid{grid-template-columns:1fr}
  .guide-obj-grid{grid-template-columns:1fr}
  .ar-row,.ar-row3{grid-template-columns:1fr}
}

@media(max-width:640px){
  .cg-mobile{grid-template-columns:1fr !important}
  /* ── Body / Shell ── */
  body{padding-bottom:64px} /* space for bottom nav */
  .app-shell{flex-direction:column}

  /* ── Header ── */
  .header{padding:10px 14px;gap:8px}
  .logo-sub{display:none}
  .logo{font-size:13px}
  .hdr-r{gap:6px}
  .btn-icon{display:none} /* hide Import CSV + Fechas on mobile */
  .btn-add{font-size:11px;padding:6px 12px}
  #sync-indicator{display:none}
  #today-badge{font-size:9px;padding:4px 8px}

  /* ── Left nav → Bottom nav ── */
  .left-nav{
    width:100% !important;
    height:64px;
    min-height:unset;
    flex-direction:row;
    position:fixed;
    bottom:0;left:0;right:0;top:auto;
    border-right:none;
    border-top:1px solid rgba(255,255,255,0.08);
    padding:0;
    gap:0;
    z-index:200;
    box-shadow:0 -2px 12px rgba(0,0,0,0.18);
    overflow:visible;
    background:#1A1D2E;
  }
  .left-nav:hover{width:100% !important}
  .left-nav-logo{display:none}
  .lnav-divider{display:none}
  .lnav-spacer{display:none}
  .lnav-item{
    flex:1;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:6px 4px 4px;
    gap:2px;
    border-radius:0;
  }
  .lnav-item.active{background:#4ADE80;border-radius:0}
  .lnav-icon{
    width:26px;height:26px;
    font-size:16px;
    border-radius:16px;
  }
  .lnav-label{
    opacity:1 !important;
    font-size:9px;
    font-weight:500;
    color:inherit;
  }

  /* ── Main content ── */
  .main{padding:12px}

  /* ── KPI bar ── */
  .kpi-bar{
    display:grid !important;
    grid-template-columns:repeat(4,1fr);
    gap:6px;
  }
  .kpi-card{padding:10px 10px}
  .kpi-value{font-size:20px}
  .kpi-label{font-size:8px}

  /* ── Mix bar ── */
  .mix-section{flex-wrap:wrap;gap:8px;padding:10px 12px}
  .mix-legend{gap:8px}
  .mix-item{font-size:9px}

  /* ── Filter chips ── */
  .filter-bar{gap:4px}
  .fchip{font-size:9px;padding:3px 8px}

  /* ── Search bar ── */
  #searchBar input{font-size:12px}

  /* ── Calendar grid ── */
  .cal-grid{gap:2px}
  .cell{min-height:56px;padding:4px 3px 3px;border-radius:12px}
  .dnum{font-size:9px;margin-bottom:2px}
  .chip{font-size:7px;padding:1px 4px;border-radius:3px}
  .dname{font-size:8px;padding:3px 0 5px}
  .cal-title{font-size:14px}

  /* ── Sidebar (monthly view) → stacks below calendar ── */
  .sidebar{gap:10px}
  .cg{gap:12px}

  /* ── Weekly view ── */
  .wk{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    display:flex;
  }
  .wd{
    min-width:120px;
    flex:0 0 120px;
    scroll-snap-align:start;
    padding:10px 8px;
  }
  .wdd{font-size:20px}

  /* ── Trimestral / consolidado ── */
  .t3{grid-template-columns:1fr}

  /* ── Modals → full screen ── */
  .overlay{align-items:flex-end;padding:0}
  .modal{
    width:100% !important;
    max-width:100% !important;
    border-radius:16px 16px 0 0;
    max-height:92vh;
    padding:20px 16px 32px;
  }
  .modal-title{font-size:15px}
  .form-row2{grid-template-columns:1fr}

  /* Detail panel → full screen bottom sheet */
  .detail-panel{
    width:100% !important;
    top:auto;
    border-radius:16px 16px 0 0;
    border-left:none;
    border-top:1px solid var(--b);
    max-height:85vh;
    padding:20px 16px 32px;
  }

  /* ── Equipo / Guía / Reglas ── */
  .equipo-wrap,.reglas-wrap,.guide-wrap{padding:12px}
  .owner-grid{grid-template-columns:1fr}
  .guide-grid{grid-template-columns:1fr}
  .guide-obj-grid{grid-template-columns:1fr}
  .guide-status-row{flex-direction:column}
  .premios-grid{grid-template-columns:repeat(2,1fr)}
  .regla-table{font-size:10px}
  .regla-table th,.regla-table td{padding:6px 8px}

  /* ── Alert rules ── */
  .ar-row,.ar-row3{grid-template-columns:1fr}
  .ar-item{flex-wrap:wrap;gap:8px}

  /* ── FE tooltip: reposition to avoid overflow ── */
  .tip-box{left:auto !important;right:0;transform:none !important}
  .tip-box::after{left:auto;right:14px;transform:none}
}

/* Tiny screens (iPhone SE etc) */
@media(max-width:375px){
  .kpi-bar{grid-template-columns:repeat(2,1fr)}
  .wd{min-width:100px;flex:0 0 100px}
  .lnav-label{display:none}
  .lnav-icon{font-size:18px;width:30px;height:30px}
}


@media(hover:none){
  .fe-acts{opacity:1}
  .fe-btn{opacity:1}
}


/* DAY DRAWER */
.drawer-section-lbl{font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--tx3);font-family:'Roboto Mono',monospace;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.drawer-section-lbl::after{content:'';flex:1;height:1px;background:var(--b)}
.drawer-hito-item{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;background:var(--sf2);border-radius:16px;cursor:pointer;transition:all .15s;border:1px solid transparent;margin-bottom:5px}
.drawer-hito-item:hover{background:#EEF0FF;border-color:var(--pm-bd)}
.drawer-hito-badge{display:inline-block;font-size:9px;font-weight:600;padding:2px 7px;border-radius:99px}
.drawer-active-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--sf2);border-radius:16px;cursor:pointer;transition:all .15s;border:1px solid transparent;margin-bottom:5px;opacity:.75}
.drawer-active-item:hover{background:#EEF0FF;border-color:var(--pm-bd);opacity:1}
.drawer-fe-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--fe-bg);border:1px solid var(--fe-bd);border-radius:16px;margin-bottom:5px}
