/* =====================================================================
   ADMINISTRACIÓN · tablero en tiempo real, minutas, ejecutivo
   ===================================================================== */
.shell{display:flex;min-height:100dvh}
.side{display:none;position:sticky;top:0;height:100dvh;width:268px;flex:none;flex-direction:column;gap:6px;padding:22px 16px;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(31,3,11,.7),rgba(31,3,11,.35));backdrop-filter:blur(16px)}
.side .brand{padding:4px 8px 18px;border-bottom:1px solid var(--line);margin-bottom:10px}
.side .brand img{width:100%;max-width:210px;display:block}
.nav-i{display:flex;align-items:center;gap:13px;min-height:48px;padding:0 16px;border-radius:14px;font-weight:700;font-size:.92rem;color:var(--ink-2);text-decoration:none;transition:background .15s,color .15s;border:1px solid transparent}
.nav-i:hover{background:var(--glass);color:var(--ink)}
.nav-i.on{background:linear-gradient(135deg,rgba(213,178,124,.22),rgba(213,178,124,.08));color:var(--gold-200);border-color:rgba(213,178,124,.35)}
.nav-i .ic{color:var(--gold-400)}
.nav-i .cnt{margin-left:auto;font-size:.72rem;background:var(--glass-2);padding:2px 9px;border-radius:99px;font-weight:800}
.side-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.who{display:flex;align-items:center;gap:12px;padding:8px}
.who .av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold-grad);color:#3a0716;font-weight:800}
.who b{display:block;font-size:.9rem}.who span{font-size:.74rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.12em;font-weight:700}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:calc(10px + var(--safe-t)) 18px 10px;background:linear-gradient(180deg,rgba(46,5,17,.95),rgba(46,5,17,.8));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.topbar .logo-m{height:38px;display:block}
.topbar .ttl{flex:1;min-width:0}
.topbar .ttl b{display:block;font-family:var(--f-title);font-size:1.05rem;color:var(--gold-200);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .ttl span{display:flex;align-items:center;gap:7px;font-size:.74rem;color:var(--ink-2)}
.page{padding:18px 18px calc(110px + var(--safe-b));max-width:1500px;width:100%;margin:0 auto}
.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:6px 0 18px}
.page-h h1{font-family:var(--f-title);font-size:1.6rem;color:var(--gold-100,#f6eee2);line-height:1.2}
.page-h p{color:var(--ink-2);font-size:.92rem;margin-top:4px}

.nav-bottom{position:fixed;left:12px;right:12px;bottom:calc(10px + var(--safe-b));z-index:50;display:flex;justify-content:space-around;padding:8px;border-radius:26px;background:rgba(24,3,9,.92);border:1px solid var(--line-2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 50px -14px #000}
.nav-bottom a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border-radius:18px;font-size:.66rem;font-weight:700;color:var(--ink-3);text-decoration:none;min-width:0}
.nav-bottom a.on{background:var(--gold-grad);color:#3a0716}
.nav-bottom a.cta{background:var(--wine-grad);border:1px solid var(--line-2);color:var(--gold-200)}
@media(min-width:1000px){.side{display:flex}.nav-bottom{display:none}.topbar .logo-m{display:none}.page{padding:26px 34px 60px}}

/* ---------- KPIs ---------- */
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:760px){.kpis{grid-template-columns:repeat(4,1fr);gap:16px}}
.kpi{padding:18px;cursor:pointer;transition:transform .2s var(--ease),border-color .2s;overflow:hidden}
.kpi:hover{transform:translateY(-3px);border-color:var(--line-2)}
.kpi .k-ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--glass-2);color:var(--gold-300);margin-bottom:12px}
.kpi .k-n{font-size:2.1rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.kpi .k-l{font-size:.8rem;color:var(--ink-2);margin-top:6px;font-weight:600}
.kpi .k-s{font-size:.72rem;color:var(--ink-3);margin-top:3px}
.kpi.gold{background:var(--gold-grad);color:#3a0716;border:0}
.kpi.gold .k-ic{background:rgba(58,7,22,.14);color:#3a0716}.kpi.gold .k-l,.kpi.gold .k-s{color:rgba(58,7,22,.75)}
.kpi.alert .k-ic{background:rgba(236,93,112,.16);color:#ff9aa8}
.kpi.alert .k-n{color:#ff9aa8}
.kpi .spark{position:absolute;right:-6px;bottom:-6px;opacity:.18;pointer-events:none}

.grid-2{display:grid;gap:16px;margin-top:16px}
@media(min-width:1100px){.grid-2{grid-template-columns:1.25fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-3{display:grid;gap:16px;margin-top:16px}
.panel{padding:20px}
.panel h2{font-size:1rem;font-family:var(--f-title);letter-spacing:.04em;margin-bottom:14px;display:flex;align-items:center;gap:10px;color:var(--gold-200)}
.panel h2 .ic{color:var(--gold-400)}

/* Dona + leyenda */
.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.legend{display:flex;flex-direction:column;gap:10px;flex:1;min-width:150px}
.legend button{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:600;text-align:left;padding:4px 6px;border-radius:10px}
.legend button:hover{background:var(--glass)}
.legend i{width:11px;height:11px;border-radius:4px;flex:none}
.legend b{margin-left:auto;font-variant-numeric:tabular-nums}
.hbar{display:flex;flex-direction:column;gap:12px}
.hbar .hb{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:.86rem;font-weight:600;cursor:pointer}
.hbar .hb .bar{grid-column:1/-1}
.hbar .hb:hover span:first-child{color:var(--gold-200)}

/* Lista compacta de minutas (tablero) */
.mini-list{display:flex;flex-direction:column;gap:10px}
.mini{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--glass);border:1px solid var(--line);cursor:pointer;transition:background .15s,transform .15s,border-color .15s;text-align:left;width:100%}
.mini:hover{background:var(--glass-2);transform:translateX(3px);border-color:var(--line-2)}
.mini .mb{flex:1;min-width:0}
.mini .mb b{display:block;font-size:.95rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mini .mb span{font-size:.76rem;color:var(--ink-3);display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;align-items:center}
.datebox{flex:none;width:52px;text-align:center;border-radius:14px;padding:7px 0;background:var(--wine-grad);border:1px solid var(--line-2)}
.datebox b{display:block;font-size:1.25rem;line-height:1;color:var(--gold-200)}
.datebox small{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:800}
.lvl-dot{width:4px;align-self:stretch;border-radius:4px;flex:none}

/* ---------- Barra de herramientas / filtros ---------- */
.toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.toolbar .row{flex-wrap:wrap}
.filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filters .chip{min-height:38px;font-size:.8rem}
.filters .chip .n{background:rgba(255,255,255,.12);padding:1px 8px;border-radius:99px;font-size:.7rem}
.filters .chip.is-on .n{background:rgba(58,7,22,.18)}
.view-sw{display:inline-flex;padding:4px;border-radius:999px;background:var(--glass);border:1px solid var(--line)}
.view-sw button{display:flex;align-items:center;gap:7px;padding:0 15px;min-height:38px;border-radius:999px;font-size:.8rem;font-weight:700;color:var(--ink-3)}
.view-sw button.on{background:var(--gold-grad);color:#3a0716}

/* ---------- Tabla ---------- */
.tbl-wrap{border-radius:var(--radius);border:1px solid var(--line);background:rgba(15,2,6,.35);overflow:auto;max-height:calc(100dvh - 330px);min-height:200px}
table.t{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem;min-width:1080px}
.t th{position:sticky;top:0;z-index:2;text-align:left;padding:14px 14px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-300);background:#3a0716;border-bottom:1px solid var(--line-2);white-space:nowrap;cursor:pointer;user-select:none}
.t th:hover{color:var(--gold-200)}
.t th .ic{opacity:.6;margin-left:4px}
.t td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.t tr.r{cursor:pointer;transition:background .12s}
.t tr.r:hover td{background:rgba(255,255,255,.045)}
.t tr.r.flash td{animation:rowflash 2.4s}
@keyframes rowflash{0%,30%{background:rgba(213,178,124,.3)}}
.t .c-nombre{min-width:250px;max-width:340px}
.t .c-nombre b{display:block;line-height:1.35}
.t .c-nombre small{color:var(--ink-3);font-size:.74rem}
.t .c-desc{min-width:260px;max-width:360px;color:var(--ink-2)}
.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.t .folio{font-variant-numeric:tabular-nums;color:var(--gold-300);font-weight:700;font-size:.78rem;white-space:nowrap}
.t td.edit-cell{position:relative}
.t td.edit-cell:hover::after{content:"";position:absolute;inset:3px;border:1px dashed var(--line-2);border-radius:8px;pointer-events:none}
.cards-m{display:none;flex-direction:column;gap:12px}
@media(max-width:820px){.tbl-wrap{display:none}.cards-m{display:flex}}

/* Tarjeta de minuta (móvil / kanban) */
.mc{padding:16px;border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;position:relative;overflow:hidden;transition:transform .15s,border-color .15s}
.mc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--lc,transparent)}
.mc:hover{border-color:var(--line-2)}
.mc:active{transform:scale(.99)}
.mc b.t1{font-size:1rem;line-height:1.35}
.mc p.d{color:var(--ink-2);font-size:.86rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mc .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.76rem;color:var(--ink-3)}
.mc.flash{animation:rowflash 2.4s}

/* ---------- Kanban ---------- */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,1fr);gap:14px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity;align-items:start}
.kcol{background:rgba(15,2,6,.32);border:1px solid var(--line);border-radius:22px;padding:12px;display:flex;flex-direction:column;gap:10px;scroll-snap-align:start;min-height:160px;transition:background .15s,border-color .15s}
.kcol.over{background:rgba(213,178,124,.1);border-color:var(--gold-400)}
.kcol-h{display:flex;align-items:center;gap:10px;padding:6px 8px 4px;font-weight:800;font-size:.84rem}
.kcol-h i{width:10px;height:10px;border-radius:50%}
.kcol-h .n{margin-left:auto;background:var(--glass-2);padding:2px 10px;border-radius:99px;font-size:.74rem}
.kcol .mc[draggable=true]{cursor:grab}
.kcol .mc.drag{opacity:.4}

/* ---------- Cronología ---------- */
.tl{position:relative;display:flex;flex-direction:column;gap:22px;padding-left:6px}
.tl-day h3{font-family:var(--f-title);font-size:1rem;color:var(--gold-200);display:flex;align-items:center;gap:10px;margin-bottom:12px;text-transform:capitalize}
.tl-day h3 .hoy{font-family:var(--f-body);font-size:.66rem;font-weight:800;letter-spacing:.14em;background:var(--gold-grad);color:#3a0716;padding:3px 10px;border-radius:99px}
.tl-day .items{display:flex;flex-direction:column;gap:10px;border-left:2px solid var(--line-2);padding-left:18px;margin-left:5px}

/* ---------- Detalle de minuta (cajón) ---------- */
.det-h{padding:18px 20px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px;flex:none}
.det-h h2{font-size:1.28rem;line-height:1.3;font-family:var(--f-title)}
.det-b{flex:1;overflow:auto;padding:18px 20px 24px;display:flex;flex-direction:column;gap:20px}
.det-sec h4{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-400);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.det-sec .txt{font-size:.98rem;line-height:1.65;color:var(--ink)}
.det-sec .txt p+p{margin-top:10px}
.det-sec .empty-t{color:var(--ink-4);font-style:italic;font-size:.9rem}
.det-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.det-grid .cell{padding:12px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--line)}
.det-grid .cell small{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:800;margin-bottom:3px}
.det-grid .cell b{font-size:.92rem}
.det-f{display:flex;gap:10px;padding:14px 20px calc(16px + var(--safe-b));border-top:1px solid var(--line);flex:none;background:rgba(20,2,8,.6)}
.det-f .btn{flex:1}
.hist{display:flex;flex-direction:column;gap:0}
.hist .h{display:flex;gap:12px;padding:0 0 16px;position:relative}
.hist .h::before{content:"";position:absolute;left:15px;top:30px;bottom:0;width:2px;background:var(--line)}
.hist .h:last-child::before{display:none}
.hist .h .hi{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--wine-700);border:1px solid var(--line-2);color:var(--gold-300);z-index:1}
.hist .h .hb{flex:1;min-width:0;font-size:.86rem}
.hist .h .hb small{color:var(--ink-3);display:block;margin-top:2px}
.hist .chg{margin-top:6px;padding:8px 12px;border-radius:12px;background:rgba(0,0,0,.25);font-size:.8rem;color:var(--ink-2)}
.hist .chg s{color:var(--ink-4)}.hist .chg b{color:var(--gold-200)}
.seg-note{display:flex;gap:10px;margin-top:6px}
.seg-note .inp{flex:1;padding:12px 14px}

/* ---------- Vista ejecutiva ---------- */
.exec-hero{position:relative;padding:26px 22px;border-radius:28px;overflow:hidden;background:radial-gradient(600px 300px at 90% -20%,rgba(213,178,124,.28),transparent 60%),linear-gradient(150deg,#7a1230,#3a0716 70%);border:1px solid var(--line-2);box-shadow:var(--shadow)}
.exec-hero h1{font-family:var(--f-title);font-size:1.7rem;line-height:1.2}
.exec-hero h1 em{font-style:normal;color:var(--gold-300)}
.exec-hero p{color:var(--ink-2);margin-top:6px;font-size:.95rem}
.exec-hero .big{display:flex;align-items:center;gap:22px;margin-top:20px;flex-wrap:wrap}
.exec-hero .big .num{font-size:3.4rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.ask{display:flex;gap:10px;margin-top:20px;padding:6px;border-radius:999px;background:rgba(255,255,255,.95);box-shadow:0 14px 34px -14px #000}
.ask .inp{background:transparent;border:0;color:#3a0716;box-shadow:none;padding:12px 16px;font-weight:600;min-width:0}
.ask .inp::placeholder{color:#8a6f6a}
.ask .inp:focus{box-shadow:none;background:transparent}
.ask .btn{min-height:46px}
.ask .btn-icon{background:rgba(58,7,22,.08);border-color:transparent;color:#6a0f2a}
.ai-ans{margin-top:14px;padding:16px 18px;border-radius:18px;background:rgba(0,0,0,.28);border:1px solid var(--line-2);font-size:.94rem;line-height:1.65;white-space:pre-wrap;animation:fade .3s}
.ai-ans .folio-link{color:var(--gold-300);font-weight:800;cursor:pointer;text-decoration:underline}
.sec-card{padding:18px;display:flex;flex-direction:column;gap:14px;cursor:pointer;transition:transform .2s var(--ease),border-color .2s}
.sec-card:hover{transform:translateY(-3px);border-color:var(--line-2)}
.sec-card .top{display:flex;align-items:center;gap:14px}
.sec-card .ico{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;flex:none;color:#fff}
.sec-card .top b{display:block;font-size:1rem;line-height:1.3}
.sec-card .top small{color:var(--ink-3);font-size:.76rem}
.sec-card .mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sec-card .mini-stats div{padding:10px;border-radius:14px;background:rgba(0,0,0,.2);text-align:center}
.sec-card .mini-stats b{display:block;font-size:1.25rem}
.sec-card .mini-stats small{font-size:.66rem;color:var(--ink-3);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.sec-card .nxt{font-size:.82rem;color:var(--ink-2);border-top:1px solid var(--line);padding-top:10px;display:flex;gap:8px}

/* ---------- Archivos (importar / exportar) ---------- */
.drop{display:flex;flex-direction:column;align-items:center;gap:12px;padding:34px 20px;text-align:center;border-radius:24px;border:2px dashed var(--line-2);background:rgba(15,2,6,.3);cursor:pointer;transition:all .2s}
.drop:hover,.drop.over{border-color:var(--gold-400);background:rgba(213,178,124,.08)}
.drop .ic{color:var(--gold-400)}
.prev-wrap{max-height:48dvh;overflow:auto;border:1px solid var(--line);border-radius:16px}
.prev-wrap table{min-width:640px;width:100%;border-collapse:collapse;font-size:.82rem}
.prev-wrap th{position:sticky;top:0;background:#3a0716;padding:10px;text-align:left;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-300)}
.prev-wrap td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}
.tag-new{color:#72dba5;font-weight:800}.tag-upd{color:#f5c36a;font-weight:800}.tag-dup{color:var(--ink-3);font-weight:800}
.exp-grid{display:grid;gap:14px}
@media(min-width:700px){.exp-grid{grid-template-columns:repeat(2,1fr)}}
.exp-card{display:flex;flex-direction:column;gap:12px;padding:20px}
.exp-card .ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#fff}

/* Celdas editables / IA por campo */
.cell-pick{display:flex;gap:10px;flex-wrap:wrap}
.cell-pick .chip{min-height:42px}
.diff{display:grid;gap:10px;margin-top:10px}
.diff>div{padding:12px 14px;border-radius:14px;font-size:.88rem;line-height:1.55;border:1px solid var(--line)}
.diff .old{background:rgba(236,93,112,.07)}.diff .new{background:rgba(76,195,138,.08);border-color:rgba(76,195,138,.3)}
.diff small{display:block;font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px;color:var(--ink-3)}

.fab{position:fixed;right:18px;bottom:calc(96px + var(--safe-b));z-index:45;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--gold-grad);color:#3a0716;box-shadow:0 18px 38px -10px rgba(197,158,103,.8)}
@media(min-width:1000px){.fab{bottom:28px;right:34px}}
.ring{display:block}
.demo-banner{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:16px;background:rgba(240,178,75,.12);border:1px solid rgba(240,178,75,.45);color:#f5d391;font-size:.86rem;font-weight:600;margin-bottom:16px}
.demo-banner b{color:#ffe3a6}
