/* Tablero bento GadaTech con la paleta del proyecto: #FACDE7 #BE7BB8 #2A387A #479DCB #9DD0EA #CDD1FD */
:root{--lime:#479DCB;--lime2:#9DD0EA;--limeD:#2A387A;--orq:#BE7BB8;--r:28px;--ease:cubic-bezier(.2,.8,.2,1);
  --trabajo:#9DD0EA;--trabajo-o:#479DCB;--hogar:#FACDE7;--hogar-o:#BE7BB8;--nota-tinta:#2A387A}
[data-theme="claro"]{--bg1:#CDD1FD;--bg2:#FACDE7;--bg3:#9DD0EA;
  --card:rgba(255,255,255,.72);--card2:rgba(255,255,255,.9);--solido:#fff;--stroke:rgba(255,255,255,.9);
  --ink:#2A387A;--ink2:#3D4C8C;--mut:#5A6599;--line:rgba(42,56,122,.1);
  --hero:#2A387A;--heroInk:#CDD1FD;--heroMut:rgba(205,209,253,.78);
  --chip:#ECEEFE;--shadow:0 10px 40px -12px rgba(42,56,122,.24);--hatch:rgba(42,56,122,.12);
  --on:#2A387A;--onT:#CDD1FD;--rojo:#7A3F76;--rojo-f:#FACDE7;--rojo-t:#2A387A;
  --ahora1:#3D4C8C;--ahora2:#2A387A}
[data-theme="oscuro"]{--bg1:#1C2657;--bg2:#2A387A;--bg3:#4A3A7E;
  --card:rgba(205,209,253,.08);--card2:rgba(34,46,104,.92);--solido:#222E68;--stroke:rgba(205,209,253,.12);
  --ink:#EEF0FF;--ink2:#D6DAFC;--mut:#AEB6E8;--line:rgba(205,209,253,.14);
  --hero:#9DD0EA;--heroInk:#2A387A;--heroMut:rgba(42,56,122,.82);
  --chip:rgba(205,209,253,.1);--shadow:0 10px 40px -12px rgba(0,0,0,.45);--hatch:rgba(205,209,253,.16);
  --on:#9DD0EA;--onT:#2A387A;--rojo:#FACDE7;--rojo-f:#FACDE7;--rojo-t:#2A387A;
  --ahora1:#FACDE7;--ahora2:#CDD1FD}
[data-theme="vidrio"]{--e1:#479DCB;--e2:#FACDE7;--e3:#9DD0EA;--e4:#BE7BB8;--bg1:#1C2657;--bg2:#1C2657;--bg3:#1C2657;
  --card:rgba(28,38,87,.55);--card2:rgba(28,38,87,.92);--solido:#222E68;--stroke:transparent;
  --ink:#EEF0FF;--ink2:#D6DAFC;--mut:#BCC3EE;--line:rgba(205,209,253,.14);
  --hero:#9DD0EA;--heroInk:#2A387A;--heroMut:rgba(42,56,122,.82);
  --chip:rgba(205,209,253,.12);--hatch:rgba(205,209,253,.16);
  --shadow:inset 0 0 0 1px rgba(205,209,253,.12),inset 0 1px 0 rgba(205,209,253,.26),0 1px 2px rgba(0,0,0,.25),0 20px 44px rgba(0,0,0,.45);
  --on:#9DD0EA;--onT:#2A387A;--rojo:#FACDE7;--rojo-f:#FACDE7;--rojo-t:#2A387A;
  --ahora1:#FACDE7;--ahora2:#CDD1FD}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
html,body{min-height:100%}
body{font:500 15px/1.45 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);
  background:radial-gradient(60vw 50vh at 0% 0%,var(--bg1),transparent 70%),radial-gradient(50vw 60vh at 100% 20%,var(--bg2),transparent 70%),radial-gradient(60vw 50vh at 40% 110%,var(--bg3),transparent 70%),var(--bg1);background-attachment:fixed;transition:background .5s}
:is([data-theme="oscuro"],[data-theme="vidrio"]) body{background-color:#1C2657}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;text-align:inherit}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.wrap{max-width:1320px;margin:0 auto;padding:20px 16px 90px}

.top{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.logo{width:44px;height:44px;border-radius:14px;background:var(--card2);display:grid;place-items:center;border:1px solid var(--stroke);box-shadow:var(--shadow)}
.logo img{width:28px}
.nav{margin:0 auto;display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--card);backdrop-filter:blur(16px);border:1px solid var(--stroke);box-shadow:var(--shadow);overflow-x:auto;max-width:100%}
.nav button{padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ink2);white-space:nowrap;transition:.25s var(--ease)}
.nav button:hover{background:var(--chip);color:var(--ink)}
.nav button.activo{background:var(--on);color:var(--onT)}
.tools{display:flex;gap:8px;align-items:center}
.ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--stroke);backdrop-filter:blur(16px);transition:.25s}
.ico:hover{transform:translateY(-2px)}
.ico svg,.fab svg,.mic svg,.cap-botones svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ico svg{width:16px;height:16px}
.ava{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--orq),#2A387A);display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px}

.head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.head h1{font-family:Unbounded,sans-serif;font-weight:600;font-size:clamp(28px,4.4vw,52px);letter-spacing:-.03em;line-height:1}
.head h1 small{display:block;font-family:'Plus Jakarta Sans';font-size:14px;font-weight:500;color:var(--mut);letter-spacing:0;margin-bottom:10px}
.head h1 small::first-letter,.barra h1::first-letter,.drawer h2::first-letter{text-transform:uppercase}
.kpis{display:flex;gap:30px;flex-wrap:wrap}
.kpi{cursor:pointer;border-radius:16px;padding:6px 10px;margin:-6px -10px;transition:.25s}
.kpi:hover{background:var(--card)}
.kpi>span{font-size:12px;color:var(--mut);font-weight:600}
.kpi b{display:block;font-family:Unbounded;font-weight:600;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em;margin-top:4px}
.kpi i{font:700 11px 'Plus Jakarta Sans';padding:2px 8px;border-radius:999px;background:var(--lime2);color:#2A387A;vertical-align:middle;margin-left:6px}
.kpi i.rojo{background:var(--rojo-f);color:var(--rojo-t)}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{position:relative;grid-column:span 3;border-radius:var(--r);padding:20px;background:var(--card);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--stroke);box-shadow:var(--shadow);overflow:hidden;opacity:0;transform:translateY(18px) scale(.98);transition:transform .45s var(--ease),box-shadow .45s var(--ease),opacity .6s var(--ease)}
.card.in{opacity:1;transform:none}
.grid .card.in:hover{transform:translateY(-5px)}
.card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(157,208,234,.2),transparent 60%)}
.card:hover::after{opacity:1}
.c-gauge{grid-column:span 4}.c-hero{grid-column:span 3}.c-next{grid-column:span 2}.c-rub{grid-column:span 3}
.c-bars{grid-column:span 5}.c-agenda{grid-column:span 7}
.c-cola{grid-column:span 7}.c-alertas{grid-column:span 5}
.c-funnel{grid-column:span 7}.c-quotes{grid-column:span 5}
.ch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.ch h3{font-size:15px;font-weight:700}
.ch h3 small{display:block;font-size:12px;font-weight:500;color:var(--mut);margin-top:3px}
.ch .sub{font-size:12px;color:var(--mut);font-weight:500}
.plus{width:32px;height:32px;border-radius:50%;background:var(--chip);display:grid;place-items:center;font-size:16px;transition:.25s}
.plus:hover{background:var(--lime2);color:#2A387A}
.sel{font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--chip)}

.gwrap{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.gnum>span:not(.pill){font-size:12px;color:var(--mut);font-weight:600}
.gnum b{display:block;font-family:Unbounded;font-size:34px;font-weight:600;letter-spacing:-.02em;margin:4px 0}
.pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--lime2);color:#2A387A}
.gauge{width:58%;max-width:220px}
.needle{transform-origin:100px 100px;transform:rotate(var(--giro))}
.anima .needle{animation:aguja 1.4s var(--ease)}
@keyframes aguja{from{transform:rotate(-90deg)}}
.gfoot{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gfoot button{flex:1 1 90px;padding:10px 12px;border-radius:16px;background:var(--chip);cursor:pointer;transition:.25s}
.gfoot button:hover{background:var(--lime2);color:#2A387A}
.gfoot small{display:block;font-size:11px;color:var(--mut);font-weight:600}
.gfoot button:hover small{color:#2A387A}
.gfoot b{font-size:15px}

.c-hero{background:var(--hero);color:var(--heroInk);border-color:transparent;display:flex;flex-direction:column}
.c-hero .ch h3{font-family:Unbounded;font-size:18px;font-weight:600;line-height:1.2}
.hero-blob{position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,var(--orq),transparent 65%);opacity:.35;animation:float 7s ease-in-out infinite;pointer-events:none}
:is([data-theme="oscuro"],[data-theme="vidrio"]) .hero-blob{background:radial-gradient(circle,#fff,transparent 65%)}
@keyframes float{50%{transform:translate(-20px,-16px) scale(1.08)}}
.cap-botones{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cap-botones button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:52px;border-radius:999px;font-size:13px;font-weight:700;color:var(--nota-tinta);transition:.25s}
.cap-botones svg{width:16px;height:16px}
.cap-botones button:hover{transform:translateY(-2px)}
.b-trabajo{background:var(--trabajo)}.b-hogar{background:var(--hogar)}
.hero-num{position:relative;color:inherit;margin-top:auto;padding-top:14px}
.big{display:block;font-family:Unbounded;font-size:56px;font-weight:600;letter-spacing:-.04em;line-height:1}
.hero-num p{font-size:13px;color:var(--heroMut);margin-top:6px}

.c-next .tag{display:inline-flex;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--chip)}
.c-next h4{font-size:15px;margin:12px 0 6px;line-height:1.3;overflow-wrap:anywhere}
.caja{display:block;width:100%;margin-top:14px;padding:12px;border-radius:18px;background:var(--card2);border:1px solid var(--line);transition:.25s}
.caja:hover{border-color:var(--lime)}
.caja small{font-size:11px;color:var(--mut);font-weight:600}
.caja b{display:block;font-size:13px;margin-top:2px}

.row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 6px;border-radius:12px;transition:.2s}
button.row{cursor:pointer}
.row:hover{background:var(--chip)}
.row .av{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--chip)}
.row .av.t-trabajo{background:var(--trabajo);color:var(--nota-tinta)}.row .av.t-hogar{background:var(--hogar);color:var(--nota-tinta)}
.row .nm{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .nm small{display:block;font-size:11px;color:var(--mut);font-weight:500}
.row b{font-size:13px;font-variant-numeric:tabular-nums}
.empty{font-size:13px;color:var(--mut);padding:16px;text-align:center;border:1px dashed var(--line);border-radius:18px}

.bars{display:flex;align-items:flex-end;gap:10px;height:200px}
.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;cursor:pointer;position:relative}
.bar .b{width:100%;max-width:34px;border-radius:12px;height:var(--h);background:repeating-linear-gradient(135deg,var(--hatch) 0 2px,transparent 2px 7px);border:1px solid var(--line)}
.anima .bar .b{animation:crece 1s var(--ease)}
@keyframes crece{from{height:0}}
.bar.real .b{background:linear-gradient(180deg,var(--lime2),var(--lime));border:0}
.bar.proy .b{background:repeating-linear-gradient(135deg,rgba(190,123,184,.6) 0 2px,transparent 2px 7px);border:1px dashed var(--orq)}
.bar.now .b{background:linear-gradient(180deg,var(--ahora1),var(--ahora2));border:0}
.bar small{font-size:10px;color:var(--mut);font-weight:600;height:16px;white-space:nowrap}
.bar .tip{position:absolute;bottom:calc(var(--h) + 26px);background:var(--ink);color:var(--solido);font-size:11px;font-weight:700;padding:3px 8px;border-radius:8px;opacity:0;transition:.2s;pointer-events:none}
.bar:hover .tip,.bar.now .tip{opacity:1}
.legend{display:flex;gap:14px;font-size:11px;color:var(--mut);font-weight:600;margin-top:10px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}

.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.day{flex:0 0 auto;width:56px;padding:10px 0;border-radius:999px;text-align:center;background:var(--chip);transition:.25s var(--ease);position:relative}
.day small{display:block;font-size:10px;color:var(--mut);font-weight:600;text-transform:capitalize}
.day b{font-size:15px}
.day.has::after{content:"";position:absolute;left:50%;bottom:6px;width:5px;height:5px;border-radius:50%;background:var(--lime);transform:translateX(-50%)}
.day:hover{transform:translateY(-3px)}
.day.on{background:var(--on);color:var(--onT)}.day.on small{color:inherit;opacity:.7}
.agbody{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;margin-top:14px}
.feat{display:block;border-radius:22px;padding:18px;background:var(--hero);color:var(--heroInk);position:relative;overflow:hidden;min-height:150px}
.feat small{font-size:11px;color:var(--heroMut);font-weight:600}
.feat h4{font-family:Unbounded;font-size:17px;font-weight:600;margin:8px 0;line-height:1.25;overflow-wrap:anywhere}
.feat p{font-size:12px;color:var(--heroMut)}

.fun{display:flex;flex-direction:column;gap:12px}
.fr{display:grid;grid-template-columns:30px 1fr 60px;gap:12px;align-items:center;width:100%;padding:4px;border-radius:14px;transition:.2s}
.fr:hover{background:var(--chip)}
.fr .ic{width:30px;height:30px;border-radius:10px;background:var(--on);color:var(--onT);display:grid;place-items:center;font-size:12px;font-weight:700}
.fr .t{font-size:13px;font-weight:600;display:flex;justify-content:space-between}
.fr .t small{color:var(--mut);font-weight:500}
.track{display:block;height:6px;border-radius:9px;background:var(--chip);margin-top:6px;overflow:hidden}
.track i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--lime),var(--lime2))}
.fr b{font-family:Unbounded;font-size:18px;font-weight:600;text-align:right}
.q{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:var(--card2);border:1px solid var(--line);margin-bottom:8px;cursor:pointer;transition:.25s}
.q:hover{border-color:var(--lime);transform:translateX(3px)}
.q .o{font-size:13px;font-weight:700}
.q input,.fila-item input,.nota li input{width:18px;height:18px;accent-color:var(--limeD)}
.acc{flex:0 0 auto;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--lime2);color:#2A387A;transition:.2s}
.acc:hover{background:var(--hogar)}
.qcuenta{margin-top:18px;text-align:center;font-size:12px;line-height:1.6;color:var(--mut)}

/* sticky notes */
.nota{position:relative;padding:12px 12px 10px;color:var(--nota-tinta);background:var(--hogar);border-radius:3px 3px 16px 3px;box-shadow:0 6px 14px rgba(42,56,122,.2);transform:rotate(var(--rot,0deg));cursor:pointer;transition:transform .18s,box-shadow .18s;font-family:Kalam,'Segoe Print',cursive}
.nota.t-trabajo{background:var(--trabajo)}
.nota::before{content:"";position:absolute;top:-7px;left:50%;width:58px;height:15px;margin-left:-29px;background:rgba(255,255,255,.55);transform:rotate(-2deg)}
@media (hover:hover){.nota:hover{transform:rotate(0) translateY(-3px);box-shadow:0 12px 22px rgba(42,56,122,.28);z-index:2}}
.nota-cab{display:flex;align-items:center;gap:8px;min-height:26px}
.nota-tag{font:800 10.5px 'Plus Jakarta Sans';text-transform:uppercase;letter-spacing:.04em;opacity:.72}
.nota-pri{margin-left:auto;font:800 10.5px 'Plus Jakarta Sans';color:#CDD1FD;background:#2A387A;padding:2px 7px;border-radius:999px}
.check{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid rgba(42,56,122,.55);display:grid;place-items:center;background:rgba(255,255,255,.4)}
.check svg{width:15px;height:15px;opacity:0;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.check:hover svg{opacity:.5}
.nota.hecha{opacity:.62}.nota.hecha h4{text-decoration:line-through}
.nota.hecha .check{background:#2A387A;border-color:#2A387A;color:#CDD1FD}.nota.hecha .check svg{opacity:1}
.nota h4{margin:6px 0 4px;font:700 18px/1.2 Kalam,'Segoe Print',cursive;overflow-wrap:anywhere}
.nota footer{font:700 12px 'Plus Jakarta Sans';opacity:.78}
.nota footer.tarde{color:#2A387A;opacity:1;font-weight:800;text-decoration:underline}
.nota ul{list-style:none;padding:0;margin:4px 0;font-size:15px}
.nota li{display:flex;gap:6px;align-items:center;min-height:26px}
.nota li.ok{text-decoration:line-through;opacity:.55}
.pared{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px 14px;padding-top:6px}
.pared-suelta{display:grid;gap:16px;margin:16px 0}
.vacio{padding:18px;text-align:center;color:var(--mut);font-weight:600}

/* calendario y notas */
.barra{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.barra h1{font-family:Unbounded;font-weight:600;font-size:clamp(24px,3.4vw,40px);letter-spacing:-.03em;margin-right:auto}
.chip{padding:8px 14px;border-radius:999px;font-weight:600;font-size:13px;background:var(--card);border:1px solid var(--stroke);backdrop-filter:blur(16px);transition:.25s}
.chip.activo{background:var(--on);color:var(--onT)}
.cal-dis{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;align-items:start}
.semana{padding:0}
.sem-grid{display:grid;grid-template-columns:54px repeat(7,minmax(0,1fr))}
.sem-cab{padding:10px 4px;text-align:center;border-bottom:1px solid var(--line);font-weight:700}
.sem-cab small{display:block;color:var(--mut);text-transform:capitalize;font-size:11px}
.sem-cab b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font:600 14px Unbounded}
.sem-cab.hoy b{background:var(--on);color:var(--onT)}
.hora-lat{font-size:11px;font-weight:700;color:var(--mut);text-align:right;padding:4px 8px 0 0;border-bottom:1px solid var(--line)}
.celda{min-height:46px;padding:5px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.celda.lane{min-height:90px;padding-top:11px;background:var(--chip)}
.celda.hoy{background:rgba(71,157,203,.1)}
.celda.sobre,.mes-celda.sobre,.sin-fecha.sobre{outline:2px dashed var(--lime);outline-offset:-3px}
.nota.chica{padding:6px 7px;--rot:0deg}
.nota.chica::before{width:30px;height:9px;margin-left:-15px;top:-5px}
.nota.chica .nota-cab{min-height:20px;gap:4px}
.nota.chica .check{width:20px;height:20px}.nota.chica .check svg{width:11px;height:11px}
.nota.chica .nota-tag,.nota.chica .nota-pri{display:none}
.nota.chica h4{font-size:14px;margin:0;line-height:1.15}
.nota.chica footer{font-size:10.5px}
.sin-fecha{padding:16px}.sin-fecha h3{font-size:15px;font-weight:700}
.sin-fecha .pila{display:grid;gap:14px;padding-top:12px}
.dias-movil{display:none}
.mes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0}
.mes-sem{padding:8px;text-align:center;font-weight:700;color:var(--mut);text-transform:capitalize;border-bottom:1px solid var(--line);font-size:12px}
.mes-celda{min-height:112px;padding:5px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px;overflow:hidden}
.mes-celda.fuera{opacity:.42}
.mes-num{align-self:flex-start;width:28px;height:28px;border-radius:50%;font-weight:700;text-align:center}
.mes-celda.hoy .mes-num{background:var(--on);color:var(--onT)}
.mini{display:block;width:100%;padding:2px 6px;border-radius:3px 3px 7px 3px;color:var(--nota-tinta);background:var(--hogar);font:700 13px/1.2 Kalam,cursive;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini.t-trabajo{background:var(--trabajo)}.mini.hecha{opacity:.5;text-decoration:line-through}
.mas{font-size:12px;font-weight:700;color:var(--mut)}
.filtros{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.grupo{margin-bottom:24px}
.grupo>h2{font:600 18px Unbounded;margin-bottom:12px;display:flex;gap:8px;align-items:baseline}
.grupo>h2 span{font:600 13px 'Plus Jakarta Sans';color:var(--mut)}
.grupo.vencidas>h2{color:var(--rojo)}

/* tema */
.theme{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--card2);border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:blur(16px);z-index:20}
.theme button{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:700;color:var(--ink2);transition:.25s}
.theme button i{width:10px;height:10px;border-radius:50%}
.theme button.activo{background:var(--on);color:var(--onT)}

/* panel de detalle */
.scrim{position:fixed;inset:0;background:rgba(42,56,122,.35);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.3s;z-index:30}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:12px;right:12px;bottom:12px;width:min(420px,calc(100% - 24px));border-radius:var(--r);background:var(--solido);border:1px solid var(--stroke);box-shadow:0 30px 80px -20px rgba(0,0,0,.4);transform:translateX(calc(100% + 24px));visibility:hidden;transition:transform .45s var(--ease),visibility .45s;z-index:31;display:flex;flex-direction:column}
.drawer.on{transform:none;visibility:visible}
.drawer header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:22px 22px 12px}
.drawer header small{font-size:11px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.drawer header h2{font-family:Unbounded;font-size:20px;font-weight:600;margin-top:6px;overflow-wrap:anywhere}
.drawer .acciones{display:flex;gap:6px}
.drawer .body{padding:6px 22px 22px;overflow:auto;flex:1}
.drawer .tot{font-family:Unbounded;font-size:36px;font-weight:600;letter-spacing:-.02em;margin:4px 0 12px}
.fila-lista{display:flex;width:100%;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.fila-lista i{flex:none;width:12px;height:30px;border-radius:3px;background:var(--hogar-o)}.fila-lista i.t-trabajo{background:var(--trabajo-o)}
.fila-lista b{display:block;font-weight:700}
.fila-lista small{color:var(--mut);font-size:11px}
.campo{display:block;margin:12px 0}
.campo>span{display:block;font-size:12px;font-weight:700;color:var(--mut);margin-bottom:4px}
.campo input:not([type=checkbox]),.campo select,.campo textarea{width:100%;padding:10px 12px;min-height:44px;border-radius:14px;border:1px solid var(--line);background:var(--chip)}
.campo option{color:#2A387A}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rapidas{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rapidas .chip{padding:6px 12px;font-size:12px;background:var(--chip)}
.citado{padding:12px 14px;border-left:3px solid var(--orq);background:var(--chip);border-radius:0 12px 12px 0;font-size:14px}
.fila-item{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--line);font-weight:600;font-size:13px}
.primario,.secundario{min-height:50px;padding:12px 20px;border-radius:999px;font-weight:700;font-size:15px;text-align:center;transition:.25s}
.primario{background:var(--on);color:var(--onT)}
.secundario{background:var(--chip)}
.ancho{width:100%;margin-top:14px}
.peligro{color:var(--rojo);font-weight:700;padding:12px 0;font-size:13px}
.fila-botones{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* buscador */
.busca{position:fixed;inset:0;z-index:40;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:rgba(20,28,66,.45);backdrop-filter:blur(4px)}
.bbox{width:min(560px,100%);border-radius:22px;padding:10px;background:var(--solido);border:1px solid var(--stroke);box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
.bbox input{width:100%;padding:12px 14px;border:0;border-radius:14px;background:var(--chip);font-size:15px}
#bRes{margin-top:6px;max-height:50vh;overflow:auto}
.bres{display:block;width:100%;padding:9px 12px;border-radius:12px;font-size:13px;font-weight:600}
.bres small{display:block;font-size:11px;font-weight:500;color:var(--mut);margin-top:1px}
.bres:hover{background:var(--chip)}
.bbox>small{display:block;padding:8px 12px 2px;font-size:11px;color:var(--mut)}

/* captura de voz */
.captura{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgba(20,28,66,.5);backdrop-filter:blur(4px)}
.cap-caja{position:relative;width:min(480px,100%);max-height:100%;overflow-y:auto;padding:22px;border-radius:var(--r);background:var(--solido);border:1px solid var(--stroke)}
.cap-x{position:absolute;right:14px;top:14px;z-index:2}
.segmento{display:inline-grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:999px;background:var(--chip)}
.segmento button{padding:10px 22px;border-radius:999px;font-weight:700;color:var(--ink2);text-align:center}
.segmento button.activo.trabajo{background:var(--trabajo);color:var(--nota-tinta)}
.segmento button.activo.hogar{background:var(--hogar);color:var(--nota-tinta)}
.cap-escucha{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:18px}
.mic{position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#2A387A}
.mic svg{width:46px;height:46px}
[data-estado="escuchando"] .mic::after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid var(--lime);animation:latido 1.3s infinite}
@keyframes latido{to{transform:scale(1.5);opacity:0}}
#cap-estado{font-weight:700;text-align:center;min-height:22px}
#cap-texto{width:100%;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--chip);resize:vertical;font-size:16px}
.cap-escucha .primario{width:100%}
.cap-resultado{display:none;margin-top:14px}
.cap-resultado h2{font:600 22px Unbounded;padding-right:44px}
[data-estado="resultado"] .cap-escucha,[data-estado="resultado"] .segmento{display:none}
[data-estado="resultado"] .cap-resultado{display:block}
[data-estado="procesando"] .mic{opacity:.45}
.fab{display:none}

.toast{position:fixed;left:50%;bottom:72px;z-index:70;transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:12px 18px;width:max-content;max-width:calc(100vw - 32px);border-radius:16px;background:#2A387A;color:#fff;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.toast button{font-weight:700;color:#9DD0EA;white-space:nowrap}
.login{position:fixed;inset:0;display:grid;place-items:center;padding:16px}
.login-caja{width:min(380px,100%);padding:36px 28px;text-align:center;border-radius:var(--r);background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.login-caja h1{font:600 26px Unbounded;margin:12px 0 6px}
.login-caja p{color:var(--ink2);margin-bottom:18px}
.login-caja #gbtn{display:flex;justify-content:center;min-height:44px}
.error{color:var(--rojo)!important;font-weight:700;margin:12px 0 0!important}

/* vidrio líquido */
.esferas{display:none;position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
[data-theme="vidrio"] .esferas{display:block}
[data-theme="vidrio"] body{background:#1C2657}
.esferas i{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 55%,#fff),var(--c) 45%,color-mix(in srgb,var(--c) 45%,#000));animation:deriva 26s ease-in-out infinite alternate}
.esferas i:nth-child(1){--c:var(--e1);width:44vmax;height:44vmax;left:-14vmax;bottom:-12vmax}
.esferas i:nth-child(2){--c:var(--e2);width:30vmax;height:30vmax;right:4vmax;top:-10vmax;animation-delay:-8s}
.esferas i:nth-child(3){--c:var(--e3);width:16vmax;height:16vmax;left:46%;top:58%;animation-delay:-15s}
.esferas i:nth-child(4){--c:var(--e4);width:34vmax;height:34vmax;right:-10vmax;bottom:-12vmax;animation-delay:-20s}
@keyframes deriva{to{transform:translate(4vmax,-5vmax) scale(1.06)}}
[data-theme="vidrio"] .card:not(.c-hero){background-color:var(--card);border-color:transparent;backdrop-filter:blur(30px) saturate(1.5) brightness(.5);-webkit-backdrop-filter:blur(30px) saturate(1.5) brightness(.5)}
[data-theme="vidrio"] .kpis,[data-theme="vidrio"] .qcuenta{padding:14px 22px;border-radius:22px;background:var(--card);box-shadow:var(--shadow);backdrop-filter:blur(30px) saturate(1.5) brightness(.5)}
[data-theme="vidrio"] .head h1,[data-theme="vidrio"] .barra h1,[data-theme="vidrio"] .grupo>h2{text-shadow:0 1px 10px rgba(20,28,66,.95)}

@media (max-width:1100px){
  .c-gauge,.c-hero,.c-next,.c-rub{grid-column:span 6}
  .c-bars,.c-agenda,.c-funnel,.c-quotes,.c-cola,.c-alertas{grid-column:span 12}
  .cal-dis{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding-bottom:150px}
  .grid>.card{grid-column:span 12}
  .c-hero{order:-1}
  .cap-botones button{min-height:72px;font-size:17px}
  .top{flex-wrap:wrap}.nav{order:3;margin:0;width:100%;justify-content:center}.tools{margin-left:auto}
  .kpis{gap:18px}.agbody{grid-template-columns:1fr}
  .pared{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}
  .fab{position:fixed;z-index:25;right:16px;bottom:72px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#2A387A;box-shadow:0 10px 24px rgba(42,56,122,.4)}
  .fab svg{width:28px;height:28px}
  .sem-grid.movil{grid-template-columns:48px minmax(0,1fr)}
  .dias-movil{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}
  .dias-movil .day{width:auto;padding:8px 0}
  .dias-movil .day.sel{background:var(--on);color:var(--onT)}.dias-movil .day.sel small{color:inherit}
  .mes-celda{min-height:68px;padding:3px}
  .mini{font-size:0;height:6px;padding:0}
  .mes-num{width:24px;height:24px;font-size:12px}
  .barra h1{width:100%}
  .captura{place-items:end stretch;padding:0}
  .cap-caja{width:100%;border-radius:var(--r) var(--r) 0 0;padding-bottom:max(22px,env(safe-area-inset-bottom))}
  .toast{bottom:144px}
  .esferas i{animation:none}.esferas i:nth-child(n+3){display:none}
  [data-theme="vidrio"] .card:not(.c-hero){backdrop-filter:blur(14px) saturate(1.3) brightness(.6);-webkit-backdrop-filter:blur(14px) saturate(1.3) brightness(.6)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.card{opacity:1;transform:none}}

/* compartir y acceso */
.c-solo{grid-column:auto;max-width:640px;margin:16px 0 0}
.ayuda{font-size:13px;color:var(--ink2);margin:8px 0 12px}
.invitar{display:grid;gap:8px;margin-top:12px;grid-template-columns:1fr 1fr auto}
.invitar input[name=espacio]{grid-column:1/-1}
.invitar input,.form-enlace input{width:100%;min-height:44px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--chip)}
.invitar .primario{min-height:44px;padding:8px 18px;font-size:13px}
.nota-comp{font:800 10px 'Plus Jakarta Sans';color:#CDD1FD;background:#2A387A;padding:2px 7px;border-radius:999px}
.nota.chica .nota-comp{display:none}
.login-o{margin:14px 0 10px!important;font-size:13px;color:var(--mut)!important}
.form-enlace{display:grid;gap:8px}
.form-enlace .primario{width:100%;min-height:46px;font-size:14px}
#login-msg{margin:12px 0 0;font-size:13px;font-weight:600}
.cap-dest{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:13px;font-weight:700;color:var(--ink2)}
.cap-dest select{flex:1;min-height:42px;padding:8px 10px;border-radius:14px;border:1px solid var(--line);background:var(--chip)}
.cap-dest option{color:#2A387A}
.miembros .sel{flex:none}
@media (max-width:640px){.invitar{grid-template-columns:1fr}.c-solo{max-width:none}}

/* checklist */
.por{display:inline-block;margin-left:6px;font:700 10px 'Plus Jakarta Sans';padding:1px 6px;border-radius:999px;background:#BE7BB8;color:#fff;text-decoration:none;vertical-align:1px;background:#2A387A;color:#FACDE7}
.prog{display:block;font:800 11px 'Plus Jakarta Sans';opacity:.85}
.tachado{text-decoration:line-through;opacity:.6}
.fila-item .por{margin-left:auto}
.nuevo-item{display:flex;gap:6px;align-items:center;margin-top:8px}
.nuevo-item input{flex:1}

/* permisos */
.nota-cab{flex-wrap:wrap}
.cap-dest select option{color:#2A387A}

/* marca */
.marca{display:flex;align-items:center;gap:10px}
.marca img{display:block;border-radius:13px;box-shadow:var(--shadow)}
.marca-txt{font:600 12.5px/1.15 Unbounded,sans-serif;letter-spacing:-.01em}
.marca-txt b{display:block;font-weight:600}
.marca-txt b,.login-caja h1 span{background:linear-gradient(90deg,var(--lime),var(--orq));-webkit-background-clip:text;background-clip:text;color:transparent}

/* menú de cuatro pestañas en celular */
.nav{scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
@media (max-width:640px){.nav{justify-content:space-between}.nav button{padding:8px 10px;font-size:12px}}
