:root{
  --bg:#EEF0F3; --surface:#FFFFFF; --ink:#151A22; --on-ink:#FFFFFF;
  --muted:#667085; --line:#DDE1E7; --soft:#E5E8ED; --done:#9AA2AF;
  --red:#C9302C; --red-soft:#FBE7E6;
  --amber:#A86F00; --amber-soft:#F7ECD2;
  --blue:#2A5BC7; --blue-soft:#E3EBFB;
  --brown:#B4531A; --brown-soft:#F6E4D6;
  --purple:#7B3FC9; --purple-soft:#EDE3FA;
  --fmt-reel:#C2255C; --fmt-reel-soft:#FBE3EC;
  --fmt-historia:#0E7C90; --fmt-historia-soft:#DEF2F5;
  --fmt-carrusel:#1F8A46; --fmt-carrusel-soft:#E1F5E7;
  --fmt-post:#B7791F; --fmt-post-soft:#F7ECD4;
  --fmt-video:#4C51BF; --fmt-video-soft:#E6E7FA;
  --on-c:#FFFFFF;
  --ok:#1F8A5B; --danger:#B42318; --shadow:0 6px 24px rgba(21,26,34,.14);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0F1319; --surface:#181D25; --ink:#EEF1F5; --on-ink:#0F1319;
    --muted:#98A1B0; --line:#2A313C; --soft:#222934; --done:#6B7482;
    --red:#F0625D; --red-soft:#3A1F1F;
    --amber:#E4B04A; --amber-soft:#33291A;
    --blue:#7BA3FF; --blue-soft:#1C2842;
    --brown:#E88F4F; --brown-soft:#3A2618;
    --purple:#B794F6; --purple-soft:#2E2247;
    --fmt-reel:#F0699A; --fmt-reel-soft:#3A1B27;
    --fmt-historia:#4DD9EC; --fmt-historia-soft:#0F2C30;
    --fmt-carrusel:#4ADE80; --fmt-carrusel-soft:#123321;
    --fmt-post:#E0B457; --fmt-post-soft:#34290F;
    --fmt-video:#A5ABFF; --fmt-video-soft:#262A4A;
    --on-c:#0F1319;
    --ok:#4CC38A; --danger:#FF8A80; --shadow:0 6px 24px rgba(0,0,0,.5);
  }
}
:root[data-theme="dark"]{
  --bg:#0F1319; --surface:#181D25; --ink:#EEF1F5; --on-ink:#0F1319;
  --muted:#98A1B0; --line:#2A313C; --soft:#222934; --done:#6B7482;
  --red:#F0625D; --red-soft:#3A1F1F;
  --amber:#E4B04A; --amber-soft:#33291A;
  --blue:#7BA3FF; --blue-soft:#1C2842;
  --brown:#E88F4F; --brown-soft:#3A2618;
  --purple:#B794F6; --purple-soft:#2E2247;
  --fmt-reel:#F0699A; --fmt-reel-soft:#3A1B27;
  --fmt-historia:#4DD9EC; --fmt-historia-soft:#0F2C30;
  --fmt-carrusel:#4ADE80; --fmt-carrusel-soft:#123321;
  --fmt-post:#E0B457; --fmt-post-soft:#34290F;
  --fmt-video:#A5ABFF; --fmt-video-soft:#262A4A;
  --on-c:#0F1319;
  --ok:#4CC38A; --danger:#FF8A80; --shadow:0 6px 24px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:16px; line-height:1.35; -webkit-tap-highlight-color:transparent;
  padding-inline:16px;
}
body.locked{overflow:hidden}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
h1,h2,h3,p{margin:0}

.b-barberia{--c:var(--brown);--cs:var(--brown-soft);--bc:var(--brown)}
.b-insumos{--c:var(--purple);--cs:var(--purple-soft);--bc:var(--purple)}
.b-academia{--c:var(--blue);--cs:var(--blue-soft);--bc:var(--blue)}
.fmt-reel{--c:var(--fmt-reel);--cs:var(--fmt-reel-soft)}
.fmt-historia{--c:var(--fmt-historia);--cs:var(--fmt-historia-soft)}
.fmt-carrusel{--c:var(--fmt-carrusel);--cs:var(--fmt-carrusel-soft)}
.fmt-post{--c:var(--fmt-post);--cs:var(--fmt-post-soft)}
.fmt-video{--c:var(--fmt-video);--cs:var(--fmt-video-soft)}
.fmt-reel,.fmt-historia,.fmt-carrusel,.fmt-post,.fmt-video{border-left:4px solid var(--c)}

#wrap{max-width:640px;margin:0 auto;padding-bottom:170px}

/* Header */
.top{padding-top:14px;position:sticky;top:0;z-index:15;background:var(--bg);padding-bottom:6px}
.brand{display:flex;justify-content:space-between;align-items:baseline;margin-top:0}
.brand b{font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;letter-spacing:.14em;font-size:15px}
.brand span{color:var(--muted);font-size:13px}
.filters{display:flex;gap:8px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.chip{flex:none;padding:8px 14px;min-height:38px;border-radius:999px;background:var(--soft);font-weight:500;font-size:15px;display:inline-flex;align-items:center;gap:7px}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
.chip.b-barberia[aria-pressed="true"],.chip.b-insumos[aria-pressed="true"],.chip.b-academia[aria-pressed="true"]{background:var(--c);color:var(--on-c)}
.fab[hidden],.tabs[hidden]{display:none}
.switch{display:inline-flex;align-items:center;gap:7px;padding:5px 5px 5px 12px;border-radius:999px;background:var(--soft);font-weight:600;font-size:14px}
.switch i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.switch em{font-style:normal;background:var(--surface);color:var(--muted);padding:4px 10px;border-radius:999px;font-size:12px}
.brand{align-items:center}
.brand .dt{color:var(--muted);font-size:13px}
h1.big.pick{font-size:40px;line-height:1}
.cards{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.bcard{display:flex;align-items:stretch;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 16px 16px 0;overflow:hidden;width:100%}
.bstripe{flex:none;width:8px;background:var(--c);border-radius:0 6px 6px 0;margin:-16px 0 -16px 0}
.bt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bt b{font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;font-size:30px;line-height:1.05;text-transform:uppercase;letter-spacing:.03em}
.bt small{color:var(--muted);font-size:14px}
.bt em{font-style:normal;font-weight:600;font-size:14px;color:var(--c);margin-top:6px;min-height:1em}
.logo{flex:none;width:72px;height:72px;border-radius:16px;align-self:center;object-fit:cover;display:block;margin-left:2px}
.allbtn{margin-top:16px;width:100%;text-align:center;padding:14px;border-radius:14px;background:var(--soft);font-weight:600}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.chip[aria-pressed="true"] i{background:var(--on-c)}

/* Titles */
.vt{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 0 4px}
h1.big{font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;font-size:46px;line-height:.95;letter-spacing:.01em;text-transform:uppercase}
.sub{color:var(--muted);margin-top:4px}
.nav-w{display:flex;gap:6px;align-items:center}
.sq{width:40px;height:40px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:20px;text-align:center}
.mini{font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;background:var(--soft);white-space:nowrap}

/* Progress */
.prog{margin-top:14px}
.bar{height:8px;border-radius:4px;background:var(--soft);overflow:hidden}
.bar i{display:block;height:100%;background:var(--ok);border-radius:4px;transition:width .3s}
.prog p{margin-top:6px;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}

/* Sections */
.sec{display:flex;align-items:center;flex-wrap:wrap;gap:8px 0;margin:26px 2px 8px;font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:600;font-size:19px;letter-spacing:.06em;text-transform:uppercase}
.sec .mini+.mini{margin-top:6px}
.sec .n{font-family:'Barlow',sans-serif;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:0}
.sec .mini{margin-left:auto;text-transform:none;letter-spacing:0;font-family:'Barlow',sans-serif}
.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.row{display:flex;align-items:center}
.row+.row{border-top:1px solid var(--line)}
.chk{flex:none;width:48px;height:52px;display:grid;place-items:center}
.chk span{width:26px;height:26px;border-radius:50%;border:2px solid var(--c,var(--muted));display:grid;place-items:center;transition:background .15s}
.chk svg{width:16px;height:16px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.row.done .chk span{background:var(--ok);border-color:var(--ok)}
.row.done .chk svg{opacity:1}
.rbody{flex:1;min-width:0;padding:11px 12px 11px 0}
.rt{font-weight:600;overflow-wrap:anywhere}
.row.done .rt{color:var(--done);text-decoration:line-through}
.rm{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin-top:3px;font-size:13px;color:var(--muted)}
.biz{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.biz i{width:8px;height:8px;border-radius:50%;background:var(--bc,var(--c))}
.tag{padding:1px 8px;border-radius:6px;background:var(--cs);color:var(--c);font-weight:600;font-size:12px}
.fmtpfx{color:var(--c);font-weight:700;font-size:12px;letter-spacing:.02em;text-transform:uppercase;margin-right:6px;white-space:nowrap}
.taskpfx{color:var(--muted)}
.rowlogo{flex:none;width:28px;height:28px;border-radius:7px;object-fit:cover;margin-right:12px}
.rowlogo-inline{display:inline-block;vertical-align:-5px;width:20px;height:20px;border-radius:5px;margin:0 6px 0 0}
.note{margin-top:3px;font-size:13px;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row .mini{margin-right:12px;flex:none}
.star{color:var(--amber);margin-right:3px}

.free{color:var(--muted);padding:13px 14px;border:1px dashed var(--line);border-radius:14px;font-size:15px}
.empty{padding:22px 16px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:14px}
.empty b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.banner{margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--amber-soft);color:var(--ink);font-size:14px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.banner.err{background:var(--red-soft)}

/* Week */
.day{margin-top:20px}
.dh{display:flex;align-items:center;gap:10px;margin:0 2px 8px}
.dn{font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;font-size:21px;letter-spacing:.06em;text-transform:uppercase}
.dn.today span{background:var(--ink);color:var(--on-ink);padding:1px 10px;border-radius:8px}
.dc{color:var(--muted);font-size:13px}
.add{margin-left:auto;width:36px;height:36px;border-radius:50%;background:var(--soft);font-size:22px;line-height:1;display:grid;place-items:center;text-align:center}
.weeksum{margin-top:10px;display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.weeksum b{color:var(--ink);font-variant-numeric:tabular-nums}

/* Ideas */
.seg{display:flex;background:var(--soft);border-radius:12px;padding:4px;margin-top:16px}
.seg button{flex:1;text-align:center;padding:9px 6px;border-radius:9px;font-weight:600;font-size:13.5px;color:var(--muted)}
.daybadge{padding:1px 8px;border-radius:6px;font-size:12px;font-weight:600;background:var(--soft);color:var(--muted)}
.daybadge.soon{background:var(--ok);color:#fff}
.quick{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.quick .ta{min-height:64px}
.quick .btn{align-self:flex-end}
.note-text{font-size:15px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.seg.seg2{margin-top:10px;gap:4px}
.seg.seg2 button{font-weight:700;font-size:12.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--c)}
.seg.seg2 button[aria-pressed="true"]{background:var(--c);color:var(--on-c);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.pill{padding:1px 8px;border-radius:6px;font-size:12px;font-weight:600;background:var(--soft);color:var(--muted)}
.pill.planificada{background:var(--blue-soft);color:var(--blue)}
.pill.publicada{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.irow{padding:12px 14px;display:flex;gap:10px;align-items:center}
.irow .rbody{padding:0}
.irow.pub .rt{color:var(--done)}
.hint{font-size:14px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}

/* Bottom nav + fab */
.tabs{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);z-index:20}
.tabs div{max-width:640px;margin:0 auto;display:flex}
.tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;font-size:12px;font-weight:600;color:var(--muted);text-align:center}
.tabs svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabs button[aria-current="page"]{color:var(--ink)}
.tabs button[aria-current="page"] svg{stroke:var(--red)}
.fab{position:fixed;right:16px;bottom:calc(74px + env(safe-area-inset-bottom,0px));z-index:21;background:var(--ink);color:var(--on-ink);padding:14px 20px;border-radius:999px;font-weight:600;box-shadow:var(--shadow);display:flex;gap:8px;align-items:center}
.fab b{font-size:20px;line-height:1;font-weight:500}
.toast{position:fixed;left:50%;bottom:calc(130px + env(safe-area-inset-bottom,0px));transform:translate(-50%,10px);background:var(--ink);color:var(--on-ink);padding:10px 16px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60;max-width:calc(100% - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* Sheet */
.ovl{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.ovl[hidden]{display:none}
.ovl .bd{position:absolute;inset:0;background:rgba(10,14,20,.5)}
.panel{position:relative;width:100%;max-width:560px;max-height:92%;background:var(--surface);border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:up .2s ease-out}
@keyframes up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.sh-head{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 4px 20px}
.sh-head h3{font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;font-size:26px;text-transform:uppercase;letter-spacing:.03em}
.x{width:40px;height:40px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:16px;text-align:center}
.sh-body{overflow-y:auto;padding:8px 20px 16px;-webkit-overflow-scrolling:touch}
.fl{display:block;margin:16px 0 7px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fl:first-child{margin-top:8px}
.inp,.sel,.ta{width:100%;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px}
.inp:focus,.sel:focus,.ta:focus{outline:none;border-color:var(--blue)}
.inp.err{border-color:var(--danger)}
.ta{resize:vertical;min-height:80px}
.ta.big{min-height:170px}
.ta-view{white-space:pre-wrap;word-break:break-word;cursor:text}
.ta-view a{color:var(--blue);text-decoration:underline;word-break:break-all}
.ta-view .ph{color:var(--muted)}
.flr{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 7px}
.flr .fl{margin:0}
.errt{color:var(--danger);font-size:13px;margin-top:5px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.dtl{margin-top:8px;color:var(--muted);font-size:14px}
.sh-foot{display:flex;gap:10px;align-items:center;padding:12px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.btn{padding:13px 20px;border-radius:12px;background:var(--ink);color:var(--on-ink);font-weight:600;text-align:center}
.btn.ghost{background:var(--soft);color:var(--ink)}
.btn.del{background:none;color:var(--danger);padding-inline:6px}
.sh-foot .grow{flex:1}
@media (prefers-reduced-motion:reduce){.panel{animation:none}.toast,.bar i{transition:none}}

/* Mes */
.monthgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:14px;align-items:stretch}
.mdow{min-width:0;text-align:center;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px}
.mcell{min-width:0;min-height:66px;border-radius:10px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;padding:4px 3px;width:100%;text-align:left}
.mcell.empty{background:transparent;border-color:transparent}
.mcell.today{border-color:var(--ink);border-width:2px}
.mnum{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700;align-self:flex-start;padding:0 1px}
.mchip{min-width:0;font-size:8.5px;line-height:1.25;font-weight:600;padding:1.5px 3px;border-radius:4px;background:var(--cs);color:var(--c);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.mmore{font-size:8.5px;color:var(--muted);font-weight:700;padding:0 1px}

/* ---- Tidy web: acceso, menú lateral, equipo ---- */
.authwrap{max-width:380px;margin:0 auto;padding:11vh 0 40px}
.authlogo{font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;letter-spacing:.14em;font-size:20px}
.authh{font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;font-size:48px;line-height:.95;text-transform:uppercase;margin-top:30px}
.authsub{color:var(--muted);margin:12px 0 20px}
.authwrap .inp{margin-bottom:10px}
.authwrap .btn{width:100%;margin-top:6px}
.authwrap .btn[disabled],.btn[disabled]{opacity:.6;pointer-events:none}
.authlink{display:block;margin:18px auto 0;color:var(--muted);font-size:14px;text-decoration:underline;text-align:center}
.autherr{color:var(--danger);font-size:14px;margin:2px 0 8px}
.authinfo{color:var(--ok);font-size:14px;margin:2px 0 8px}
.hello{color:var(--muted);font-size:14px}
.hello b{color:var(--ink);font-family:inherit;font-size:inherit;letter-spacing:0;font-weight:700}
.assg{padding:1px 8px;border-radius:6px;background:var(--ink);color:var(--on-ink);font-weight:600;font-size:12px}
.avatar{flex:none;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;font-size:18px;letter-spacing:.04em}
.avatar.sm{width:38px;height:38px;font-size:16px}
.btn.wide{width:100%;margin-top:12px}
a.btn{text-decoration:none;display:inline-block}
#menu.ovl{align-items:stretch;justify-content:flex-end}
.drawer{position:relative;width:min(330px,88vw);height:100%;background:var(--surface);display:flex;flex-direction:column;animation:slidein .22s ease-out;box-shadow:var(--shadow);padding-top:env(safe-area-inset-top,0px)}
@keyframes slidein{from{transform:translateX(28px);opacity:.5}to{transform:none;opacity:1}}
.dr-head{display:flex;align-items:center;gap:12px;padding:18px 14px 14px 18px;border-bottom:1px solid var(--line)}
.dr-who{flex:1;min-width:0;display:flex;flex-direction:column}
.dr-who b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dr-who span{color:var(--muted);font-size:13px}
.dr-list{flex:1;overflow-y:auto;padding:8px 8px}
.dr-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:13px 12px;border-radius:12px}
.dr-item:active,.dr-item:hover{background:var(--soft)}
.dr-item b{font-weight:600}
.dr-item span{color:var(--muted);font-size:13px}
.dr-foot{padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.dr-foot .btn{width:100%}
@media (prefers-reduced-motion:reduce){.drawer{animation:none}}
.logo.mono{display:grid;place-items:center;background:var(--cs);color:var(--c);font-family:'Barlow Condensed',system-ui,sans-serif;font-weight:700;font-size:36px}
