/* Equipo de Diseño Manne — v2
   Bloques de color planos, píldoras negras, tipografía grande y apretada, badges festoneados.
   Sin bordes: la jerarquía la dan el color y el tamaño. */
:root{
  --bg:#EDE8FA; --surface:#FFFFFF; --surface2:#F5F2FB; --ink:#111111; --muted:#5E5A6B; --line:#E4DEF2;
  --pill:#111111; --pill-ink:#FFFFFF; --on-block:#111111;
  --tomato:#FF5A36; --lav:#B9A3F0; --pink:#F7A6D4; --yellow:#FFE24D; --green:#2DB35A; --sky:#A8D8F7; --brown:#C27B4F; --orange:#FFA36C; --stone:#DCD6E8;
  --bad:#D63A17; --warn:#9A6B00; --ok:#16803C;
  --e-brief:var(--sky); --e-pendiente:var(--stone); --e-diseno:var(--lav); --e-aprobacion:var(--yellow); --e-piu:var(--pink); --e-cliente:var(--orange); --e-entregado:var(--green);
  /* compatibilidad con los nombres que usa app.js */
  --e-proceso:var(--sky);
  --p1:var(--green); --p2:var(--sky); --p3:var(--yellow); --p4:var(--brown); --p5:var(--pink); --p6:var(--lav);
  --f-display:"Inter Tight","Helvetica Neue",Arial,sans-serif;
  --f-serif:"Instrument Serif",Georgia,serif;
  --f-body:"Inter","Helvetica Neue",Arial,sans-serif;
  --scallop:polygon(100.0% 50.0%,97.5% 53.7%,92.5% 56.7%,96.3% 61.1%,97.6% 65.5%,94.0% 68.2%,88.3% 69.5%,90.6% 74.9%,90.5% 79.4%,86.2% 80.9%,80.4% 80.4%,80.9% 86.2%,79.4% 90.5%,74.9% 90.6%,69.5% 88.3%,68.2% 94.0%,65.5% 97.6%,61.1% 96.3%,56.7% 92.5%,53.7% 97.5%,50.0% 100.0%,46.3% 97.5%,43.3% 92.5%,38.9% 96.3%,34.5% 97.6%,31.8% 94.0%,30.5% 88.3%,25.1% 90.6%,20.6% 90.5%,19.1% 86.2%,19.6% 80.4%,13.8% 80.9%,9.5% 79.4%,9.4% 74.9%,11.7% 69.5%,6.0% 68.2%,2.4% 65.5%,3.7% 61.1%,7.5% 56.7%,2.5% 53.7%,0.0% 50.0%,2.5% 46.3%,7.5% 43.3%,3.7% 38.9%,2.4% 34.5%,6.0% 31.8%,11.7% 30.5%,9.4% 25.1%,9.5% 20.6%,13.8% 19.1%,19.6% 19.6%,19.1% 13.8%,20.6% 9.5%,25.1% 9.4%,30.5% 11.7%,31.8% 6.0%,34.5% 2.4%,38.9% 3.7%,43.3% 7.5%,46.3% 2.5%,50.0% 0.0%,53.7% 2.5%,56.7% 7.5%,61.1% 3.7%,65.5% 2.4%,68.2% 6.0%,69.5% 11.7%,74.9% 9.4%,79.4% 9.5%,80.9% 13.8%,80.4% 19.6%,86.2% 19.1%,90.5% 20.6%,90.6% 25.1%,88.3% 30.5%,94.0% 31.8%,97.6% 34.5%,96.3% 38.9%,92.5% 43.3%,97.5% 46.3%);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B0B0D; --surface:#17171A; --surface2:#222227; --ink:#F4F2EE; --muted:#A6A2B0; --line:#2C2C33;
    --pill:#F4F2EE; --pill-ink:#0B0B0D;
    --bad:#FF7A5C; --warn:#FFD23F; --ok:#4FD27A;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B0B0D; --surface:#17171A; --surface2:#222227; --ink:#F4F2EE; --muted:#A6A2B0; --line:#2C2C33;
  --pill:#F4F2EE; --pill-ink:#0B0B0D;
  --bad:#FF7A5C; --warn:#FFD23F; --ok:#4FD27A;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;padding:20px 16px 72px}
.wrap{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
h1,h2,h3{font-family:var(--f-display);margin:0;letter-spacing:-0.035em;text-wrap:balance}
em{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-0.01em}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:10px}
.num{font-variant-numeric:tabular-nums}
.lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.hint{color:var(--muted);font-size:13px}
.spacer{flex:1}

/* ---------- cabecera ---------- */
.head{position:relative;background:var(--surface);border-radius:36px;padding:28px 24px 24px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:end;overflow:hidden}
.kicker{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink)}
.kicker i{width:14px;height:14px;background:var(--tomato);clip-path:var(--scallop);display:inline-block}
h1{font-size:clamp(44px,8.5vw,104px);line-height:.9;font-weight:700;margin-top:18px}
h1 em{font-size:1.04em;display:inline-block;margin-left:.06em}
.sub{color:var(--muted);margin:14px 0 0;max-width:46ch}
.head-r{display:flex;flex-direction:column;gap:12px;min-width:0}
.me{display:flex;align-items:center;gap:8px;justify-content:flex-end;font-size:14px;min-height:30px;flex-wrap:wrap}
.sticker{position:absolute;top:18px;right:18px;width:84px;height:84px;background:var(--sky);clip-path:var(--scallop);display:grid;place-items:center;color:#111;transform:rotate(-8deg)}
.sticker svg{width:38px;height:38px}
.head .me{padding-right:96px}
.pulse{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stat{border-radius:24px;padding:14px 14px 12px;min-width:0;background:var(--surface2);color:var(--ink)}
.pulse .stat:nth-child(1){background:var(--lav);color:var(--on-block)}
.pulse .stat:nth-child(2){background:var(--yellow);color:var(--on-block)}
.pulse .stat:nth-child(3){background:var(--stone);color:var(--on-block)}
.pulse .stat:nth-child(3).late{background:var(--tomato)}
.pulse .stat:nth-child(4){background:var(--sky);color:var(--on-block)}
.stat b{display:block;font-family:var(--f-display);font-size:clamp(30px,4vw,46px);line-height:1;font-weight:700;letter-spacing:-0.04em}
.stat span{font-size:12.5px;display:block;line-height:1.2;margin-top:6px;font-weight:500;opacity:.8}
.gsum .stat.late{background:var(--tomato);color:var(--on-block)}
.gsum .stat.hot{background:var(--yellow);color:var(--on-block)}

/* ---------- navegación ---------- */
.jump{position:sticky;top:8px;z-index:6;display:flex;gap:4px;overflow-x:auto;padding:6px;background:var(--pill);border-radius:99px;scrollbar-width:none;align-self:center;max-width:100%}
.jump::-webkit-scrollbar{display:none}
.jump a{flex:none;color:var(--pill-ink);text-decoration:none;font-size:14px;font-weight:600;padding:8px 16px;border-radius:99px}
.jump a:hover{background:color-mix(in srgb,var(--pill-ink) 16%,transparent)}
.fbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--yellow);color:var(--on-block);border-radius:99px;padding:8px 8px 8px 12px;font-size:14px}
.fbar .pill{margin-left:auto;background:#111;color:#fff}
.fbar[hidden]{display:none}

/* ---------- secciones ---------- */
section[aria-labelledby]{background:var(--surface);border-radius:36px;padding:24px 20px;scroll-margin-top:72px;min-width:0}
.sec-head{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;justify-content:space-between;margin-bottom:16px}
h2{font-size:clamp(30px,4.6vw,52px);font-weight:700;line-height:.95;display:flex;align-items:flex-start;gap:6px}
h2 em{margin-left:.14em}
h2 sup{font-family:var(--f-body);font-size:13px;letter-spacing:0;font-weight:600;line-height:1;margin-top:4px;color:var(--muted)}
.gnote{margin:-4px 0 16px;max-width:72ch}
.tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pill{border:0;background:var(--surface2);border-radius:99px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex;gap:6px;align-items:center;color:var(--ink)}
.pill[aria-pressed="true"]{background:var(--pill);color:var(--pill-ink)}
.btn{border:0;background:var(--pill);color:var(--pill-ink);border-radius:99px;padding:10px 18px;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.btn.ghost{background:var(--surface2);color:var(--ink)}
.btn.danger{background:transparent;color:var(--bad);box-shadow:inset 0 0 0 1.5px currentColor}
.state{background:var(--surface2);border-radius:24px;padding:24px;color:var(--muted)}
.empty{color:var(--muted);font-size:13px;padding:10px 6px}

/* ---------- avatares festoneados ---------- */
.av{width:52px;height:52px;display:inline-grid;place-items:center;font-family:var(--f-display);font-weight:700;color:#111;flex:none;font-size:16px;clip-path:var(--scallop)}
.av.sm{width:28px;height:28px;font-size:12px}
.av.p1{background:var(--p1)}.av.p2{background:var(--p2)}.av.p3{background:var(--p3)}.av.p4{background:var(--p4)}.av.p5{background:var(--p5)}.av.p6{background:var(--p6)}
.av.ico{background:#FFFFFF;font-size:26px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.av.ico.sm{font-size:15px}
.av.ico.p1,.av.ico.p2,.av.ico.p3,.av.ico.p4,.av.ico.p5,.av.ico.p6{background:var(--surface2)}
.av.ico.p1{background:color-mix(in srgb,var(--p1) 45%,#fff)}.av.ico.p2{background:color-mix(in srgb,var(--p2) 55%,#fff)}.av.ico.p3{background:color-mix(in srgb,var(--p3) 55%,#fff)}
.av.ico.p4{background:color-mix(in srgb,var(--p4) 45%,#fff)}.av.ico.p5{background:color-mix(in srgb,var(--p5) 55%,#fff)}.av.ico.p6{background:color-mix(in srgb,var(--p6) 55%,#fff)}
.person .av.ico{background:rgba(255,255,255,.8)!important}
.who{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}

/* ---------- equipo: cada persona es un bloque de color ---------- */
.urgwrap{margin-bottom:16px}
.urgbtn{background:var(--tomato);color:#111;font-size:15px;padding:12px 12px 12px 20px}
.urgbtn::after{content:"↗";display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#111;color:var(--tomato);font-size:15px}
.urg{margin-top:12px;background:var(--surface2);border-radius:28px;padding:18px;display:flex;flex-direction:column;gap:12px}
.urg-f{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:end}
.urg-f .field{min-width:180px}
.avail{margin:0 0 14px;font-size:14px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}
.person{color:var(--on-block);border-radius:30px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;--chipbg:rgba(255,255,255,.55)}
.person[data-p="gabo"]{background:var(--p1)}.person[data-p="lucho"]{background:var(--p2)}.person[data-p="joi"]{background:var(--p3)}
.person[data-p="joe"]{background:var(--p4)}.person[data-p="migue"]{background:var(--p5)}.person[data-p="nicole"]{background:var(--p6)}
.person.sel{box-shadow:0 0 0 4px var(--bg),0 0 0 7px var(--ink)}
.person .lbl,.person .hint{color:rgba(17,17,17,.68)}
.p-top{display:flex;align-items:center;gap:10px}
.p-name{background:none;border:0;padding:0;text-align:left;display:flex;flex-direction:column;min-width:0;color:inherit}
.p-name strong{font-family:var(--f-display);font-size:28px;line-height:1;letter-spacing:-0.04em;font-weight:700}
.p-name span{font-size:12.5px;opacity:.72;margin-top:3px}
.p-count{margin-left:auto;text-align:right;line-height:1}
.p-count b{font-family:var(--f-display);font-size:34px;letter-spacing:-0.04em}
.p-count span{display:block;font-size:11px;opacity:.72}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.lrow{display:flex;justify-content:space-between;align-items:baseline}
.lval{font-family:var(--f-display);font-weight:700;font-size:16px}
.meter{height:12px;border-radius:99px;background:var(--surface2);overflow:hidden}
.person .meter{background:rgba(255,255,255,.5)}
.meter i{display:block;height:100%;background:var(--ink);border-radius:99px}
.person .meter i{background:#111}
.p-flags{display:flex;flex-wrap:wrap;gap:5px;font-size:12px;min-height:22px}
.flag{padding:3px 9px;border-radius:99px;background:var(--surface2);color:var(--muted);font-weight:500}
.person .flag{background:var(--chipbg);color:#111}
.flag.bad{background:#111;color:#fff;font-weight:600}
.flag.hot{background:#fff;color:#111;font-weight:600;box-shadow:inset 0 0 0 1.5px #111}
.pdet summary{cursor:pointer;font-size:13px;font-weight:600;padding:2px 0;list-style:none;display:inline-flex;align-items:center;gap:6px}
.pdet summary::-webkit-details-marker{display:none}
.pdet summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;font-size:14px;line-height:1}
.pdet[open] summary::before{content:"–"}
.pdet-in{display:flex;flex-direction:column;gap:12px;padding-top:12px}
.prios{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font-size:11.5px}
.pc{background:var(--surface2);border-radius:14px;padding:6px 4px;text-align:center;line-height:1.2;color:var(--muted)}
.person .pc{background:var(--chipbg);color:rgba(17,17,17,.7)}
.pc b{display:block;font-size:18px;font-family:var(--f-display);color:var(--ink)}
.person .pc b{color:#111}
.pc.urgente:not(.zero){background:#111;color:#fff}.pc.urgente:not(.zero) b{color:var(--tomato)}
.pc.zero b{opacity:.45;font-weight:500}
.next{display:flex;flex-direction:column;gap:2px;font-size:13px;overflow-wrap:anywhere}
.cuentas{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;background:var(--surface2);font-size:12.5px;font-weight:500}
.person .chip{background:var(--chipbg);color:#111}

/* ---------- formularios ---------- */
textarea,input[type=text],input[type=email],input[type=date],input[type=time],input[type=number],select{background:var(--surface2);border:0;border-radius:14px;padding:9px 12px;width:100%;min-width:0;color:var(--ink)}
.person textarea,.person input,.person select{background:rgba(255,255,255,.7);color:#111}
textarea{resize:vertical;min-height:58px;font-size:14px}
select{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.newform{background:var(--surface2);border-radius:28px;padding:18px;margin-bottom:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px}
.newform input,.newform select,.newform textarea{background:var(--surface)}
.newform .wide{grid-column:1/-1}
.newform .acts{display:flex;gap:8px}
.check{display:flex;gap:8px;align-items:center;font-size:14px}
.check input{width:18px;height:18px;accent-color:var(--ink)}
.apoyo{border:0;padding:0;margin:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 16px}
.apoyo legend{width:100%;padding:0;margin-bottom:4px}

/* ---------- tablero (kanban) ---------- */
#tools{margin-bottom:14px}
.cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,1fr);gap:10px;align-items:start;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.col{border-radius:28px;padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0;scroll-snap-align:start;background:color-mix(in srgb,var(--c) 30%,var(--surface))}
.col-h{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-radius:99px;background:var(--c);color:#111}
.col-h .dot{display:none}
.col-h h3{font-size:16px;font-weight:700;letter-spacing:-0.02em;line-height:1.1}
.col-h .n{margin-left:auto;min-width:28px;height:28px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.card{background:var(--surface);border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:7px;min-width:0;box-shadow:0 1px 0 rgba(17,17,17,.04)}
.c-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.prio{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--surface2);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.prio.urgente{background:var(--tomato);color:#111}
.prio.alta{background:var(--yellow);color:#111}
.prio.media{background:color-mix(in srgb,var(--lav) 55%,var(--surface));color:var(--ink)}
.c-title{background:none;border:0;padding:0;text-align:left;font-family:var(--f-display);font-weight:600;font-size:18px;line-height:1.15;letter-spacing:-0.025em;overflow-wrap:anywhere;display:flex;justify-content:space-between;gap:10px}
.c-title::after{content:"↗";flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface2);font-size:13px;font-family:var(--f-body)}
.c-title[aria-expanded="true"]::after{content:"×";background:var(--pill);color:var(--pill-ink)}
.c-meta{font-size:13px;color:var(--muted);overflow-wrap:anywhere;font-weight:500}
.c-due{font-size:13px;color:var(--muted)}
.c-due.late{color:var(--bad);font-weight:700}
.c-due.soon{color:var(--warn);font-weight:700}
.c-note{font-size:13px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.c-ev{font-size:12px;font-weight:600;align-self:flex-start;padding:2px 9px;border-radius:99px;background:color-mix(in srgb,var(--orange) 45%,var(--surface))}
.c-ev.anim{background:color-mix(in srgb,var(--sky) 55%,var(--surface))}
.c-estado{font-size:13px;padding:7px 30px 7px 12px;border-radius:99px;font-weight:600}
.edit{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px;margin-top:2px;border-top:1px dashed var(--line)}
.edit .wide{grid-column:1/-1}
.edit .acts{display:flex;gap:8px;grid-column:1/-1}

/* ---------- grillas ---------- */
.gmes{font-family:var(--f-display);font-size:18px;min-width:140px;text-align:center;letter-spacing:-0.02em}
.gsum{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));margin-bottom:14px}
.gtools{margin-bottom:14px}
.ggroup{background:var(--surface2);border-radius:28px;padding:6px 16px 8px;margin-bottom:10px}
.ghead{display:flex;align-items:center;gap:10px;padding:10px 0;flex-wrap:wrap}
.ghead h3{font-size:22px;font-weight:700}
.ghead .hint{margin-left:auto}
.grow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1fr);gap:8px 18px;align-items:center;padding:12px 14px;margin:6px 0;background:var(--surface);border-radius:20px}
.g-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.g-name{background:none;border:0;padding:0;text-align:left;font-family:var(--f-display);font-weight:600;font-size:17px;letter-spacing:-0.02em;overflow-wrap:anywhere}
.g-chips{display:flex;flex-wrap:wrap;gap:4px}
.gchip{font-size:11.5px;padding:2px 9px;border-radius:99px;background:var(--surface2);color:var(--muted);font-weight:600}
.gchip.completa,.gchip.ok{background:color-mix(in srgb,var(--green) 40%,var(--surface));color:var(--ink)}
.gchip.incompleta,.gchip.copys{background:var(--yellow);color:#111}
.gchip.late{background:var(--tomato);color:#111}
.g-prog{display:flex;flex-direction:column;gap:6px;min-width:0}
.gbar{height:14px;border-radius:99px;background:var(--surface2);overflow:hidden}
.gbar i{display:block;height:100%;background:var(--lav);border-radius:99px}
.gbar.ok i{background:var(--green)}.gbar.warn i{background:var(--yellow)}.gbar.bad i{background:var(--tomato)}
.g-nums{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.step{width:28px;height:28px;border-radius:50%;border:0;background:var(--pill);color:var(--pill-ink);line-height:1;font-size:16px;padding:0}
.g-due{font-size:13px;color:var(--muted)}
.g-cal{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.g-cal input{padding:5px 9px;font-size:13px}
.gdue.bad{color:var(--bad);font-weight:700}.gdue.warn{color:var(--warn);font-weight:700}.gdue.ok{color:var(--ok);font-weight:700}
.g-nota,.g-edit{grid-column:1/-1}
.g-nota{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.g-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px;border-top:1px dashed var(--line);padding-top:12px}
.g-edit .wide{grid-column:1/-1}
.g-edit .acts{display:flex;gap:8px}
@media (max-width:720px){.grow{grid-template-columns:minmax(0,1fr)}.ghead .hint{margin-left:0;width:100%}}

/* ---------- eventos y licitaciones ---------- */
.elist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:10px;align-items:start}
.evt{background:var(--surface2);border-radius:28px;padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.evt{position:relative}
.evt.intenso::after{content:"";position:absolute;top:14px;right:14px;width:22px;height:22px;background:var(--tomato);clip-path:var(--scallop)}
.evt.intenso .e-top{padding-right:30px}
.evt.done{opacity:.6}
.e-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.e-top .g-name{font-size:22px;font-weight:700;line-height:1.05;letter-spacing:-0.03em}
.e-who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.e-meta{font-size:13px;color:var(--muted)}
.bad-t{color:var(--bad)}
.evt .g-edit{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.evt input,.evt select,.evt textarea{background:var(--surface)}
.mv{border-top:1px dashed var(--line);padding-top:12px;display:flex;flex-direction:column;gap:10px}
.mv-row{background:var(--surface);border-radius:20px;padding:12px;display:flex;flex-direction:column;gap:6px}
.mv-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mv-n{margin-left:auto}
.mv-l ul{margin:2px 0 0;padding-left:18px;font-size:13px}
.mv-l li{margin:2px 0;overflow-wrap:anywhere}

/* ---------- agenda ---------- */
.clist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:10px;align-items:start}
.cdia{background:var(--surface2);border-radius:28px;padding:8px 16px 10px}
.cdia h3{font-size:22px;font-weight:700;padding:10px 0 6px}
.cita{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:10px 0;align-items:start;border-top:1px dashed var(--line)}
.c-hora{font-family:var(--f-display);font-weight:700;font-size:13px;background:var(--pill);color:var(--pill-ink);padding:5px 10px;border-radius:99px;white-space:nowrap}
.c-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.c-sub{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:13px;color:var(--muted)}
.cita .g-edit{grid-column:1/-1}
.cita input,.cita select,.cita textarea{background:var(--surface)}

/* ---------- pie, aviso, entrada ---------- */
.foot{color:var(--muted);font-size:13px;max-width:80ch;padding:0 8px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--pill);color:var(--pill-ink);padding:11px 20px;border-radius:99px;font-size:14px;font-weight:500;z-index:9;max-width:calc(100% - 32px)}
.gate{min-height:calc(100vh - 92px);display:grid;place-items:center}
.gate[hidden]{display:none}
body.gated .wrap{display:none}
.gate-card{background:var(--surface);border-radius:40px;padding:36px 28px;max-width:440px;width:100%;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.gate-card h1{font-size:clamp(44px,12vw,64px);margin:0}
.gate-card .sticker{position:static;width:64px;height:64px}
.gate-card form{display:flex;flex-direction:column;gap:10px}
.gate-card p{margin:0;color:var(--muted)}
#gate-msg{min-height:1.4em;color:var(--ink);font-weight:500}

@media (max-width:860px){
  .head{grid-template-columns:minmax(0,1fr)}
  .head .me{justify-content:flex-start;padding-right:0}
  .sticker{width:58px;height:58px;top:14px;right:14px}
  .head .kicker{padding-right:66px}
}
@media (max-width:520px){
  body{padding:12px 12px 72px}
  .head,section[aria-labelledby]{border-radius:28px;padding:20px 16px}
  .pulse{grid-template-columns:repeat(2,minmax(0,1fr))}
  .edit{grid-template-columns:1fr}
  .cols{grid-auto-columns:minmax(82%,1fr)}
}
@media (prefers-reduced-motion:no-preference){
  .card,.person,.pill,.btn{transition:transform .15s ease,background-color .15s}
  .btn:hover,.urgbtn:hover{transform:translateY(-1px)}
  .sticker{animation:spin 24s linear infinite}
  @keyframes spin{to{transform:rotate(352deg)}}
}
