/* Estilo iOS: colores del sistema, listas agrupadas, tipografía SF */
:root{
  --bg:#f2f2f7; --cell:#ffffff; --fg:#000000; --muted:#3c3c4399; --muted2:#3c3c434d; --sep:#3c3c4329;
  --fill:#7676801f; --fill2:#78788033; --blue:#007aff; --red:#ff3b30; --green:#34c759; --orange:#ff9500; --indigo:#5856d6;
  --warn-bg:#fff4e0; color-scheme: light dark;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#000000; --cell:#1c1c1e; --fg:#ffffff; --muted:#ebebf599; --muted2:#ebebf54d; --sep:#54545899;
    --fill:#7676803d; --fill2:#7878805c; --blue:#0a84ff; --red:#ff453a; --green:#30d158; --orange:#ff9f0a; --indigo:#5e5ce6; --warn-bg:#2c2412; }
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--fg);
  font:17px/1.29 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",system-ui,sans-serif;
  letter-spacing:-.41px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
main{max-width:600px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 4px) 16px calc(env(safe-area-inset-bottom) + 32px)}
button{font-family:inherit;letter-spacing:inherit}

/* Barra superior y títulos grandes */
.navbar{display:flex;justify-content:space-between;align-items:center;height:44px}
.link{background:none;border:0;color:var(--blue);font-size:17px;padding:10px 0;cursor:pointer}
.link.small{font-size:15px;padding:4px 0}
.link.back::before{content:"";display:inline-block;width:11px;height:11px;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;
  transform:rotate(45deg);margin:0 4px -1px 4px;border-radius:1px}
h1,.large{font-size:34px;line-height:41px;font-weight:700;letter-spacing:.37px;margin:0 0 8px}
#view-login h1{margin-top:48px}
h2{font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:-.08px;color:var(--muted);margin:32px 16px 7px}
.muted{color:var(--muted)} .small{font-size:13px;letter-spacing:-.08px}

/* Formulario agrupado */
.card{background:var(--cell);border-radius:10px;padding:16px;display:grid;gap:14px;margin-top:24px}
label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
input{font:inherit;font-size:17px;padding:11px 12px;border-radius:10px;border:0;background:var(--fill);color:var(--fg);outline:none}
input:focus{box-shadow:0 0 0 2px var(--blue)}
textarea{font:inherit;font-size:16px;line-height:1.4;padding:11px 12px;border-radius:10px;border:0;background:var(--fill);color:var(--fg);outline:none;width:100%;box-sizing:border-box;resize:vertical;min-height:180px;-webkit-appearance:none;appearance:none}
textarea:focus{box-shadow:0 0 0 2px var(--blue)}
.imp-text-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.imp-text-head .flabel{margin:0}
#imp-text-count{margin:6px 0 0}
.check{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--fg)}
.check input{width:20px;height:20px;accent-color:var(--blue)}
.btn{font-size:17px;font-weight:600;padding:14px 16px;border-radius:14px;border:0;background:var(--fill);color:var(--blue);cursor:pointer;transition:opacity .15s}
.btn:active{opacity:.6}
.btn.primary{background:var(--blue);color:#fff}
.btn.danger{background:var(--red);color:#fff}
.btn.gray{background:var(--fill2);color:var(--fg)}
.btn.ghost{background:none;color:var(--blue)}
.btn:disabled{opacity:.4}
.msg{margin:0;font-size:15px;color:var(--muted);min-height:1em}
.note{background:var(--cell);border-radius:12px;padding:12px 16px;font-size:15px;margin:12px 0;line-height:1.35}
.note.warn{background:var(--warn-bg)}
.note .btn{margin-top:10px;padding:10px 12px;font-size:15px}

/* Control segmentado */
.mode{display:grid;grid-template-columns:1fr 1fr;background:var(--fill);border-radius:9px;padding:2px;margin:12px 0 0}
.seg{font-size:13px;font-weight:500;border:0;background:none;color:var(--fg);padding:7px;border-radius:7px;cursor:pointer}
.seg.on{background:var(--cell);font-weight:600;box-shadow:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04)}
@media (prefers-color-scheme: dark){ .seg.on{background:#636366} }

/* Botón de grabar estilo Notas de voz */
.rec{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;margin:28px 0 4px;padding:0;border:0;background:none;cursor:pointer;color:var(--fg)}
.rec .ring{width:84px;height:84px;border-radius:50%;border:4px solid var(--fill2);display:grid;place-items:center;transition:transform .15s}
.rec .dot{width:66px;height:66px;border-radius:50%;background:var(--red)}
.rec:active .ring{transform:scale(.94)}
.rec .lbl{font-size:15px;font-weight:600;color:var(--red)}

/* Lista agrupada (inset) */
.hist-head{display:flex;justify-content:space-between;align-items:baseline;margin:28px 16px 7px}
.hist-head h2{margin:0}
.hint{margin:0 16px 8px;color:var(--muted2)}
.list{list-style:none;margin:0;padding:0;background:var(--cell);border-radius:10px;overflow:hidden}
.list li{position:relative}
.list li + li::before{content:"";position:absolute;top:0;left:16px;right:0;border-top:.5px solid var(--sep);z-index:2}
.list .fg{all:unset;display:grid;grid-template-columns:1fr auto;gap:3px 10px;width:100%;box-sizing:border-box;padding:11px 34px 11px 16px;cursor:pointer;min-height:60px}
.list li .fg{position:relative;z-index:1;background:var(--cell);transition:transform .25s cubic-bezier(.2,.8,.2,1);touch-action:pan-y;-webkit-user-select:none;user-select:none}
.list .fg::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:2px solid var(--muted2);border-top:2px solid var(--muted2);transform:translateY(-50%) rotate(45deg)}
.list .fg:active{background:var(--fill)}
.list .t{font-size:17px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list .s{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}
.badge{grid-row:1/3;grid-column:2;align-self:center;font-size:13px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:5px}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange)}
.badge.ok{color:var(--green)} .badge.ok::before{background:var(--green)}
.badge.err{color:var(--red)} .badge.err::before{background:var(--red)}
.badge.live{color:var(--red)} .badge.live::before{background:var(--red);animation:pulse 1.4s infinite}
.list li.swipe{overflow:hidden;transition:opacity .2s, max-height .25s;max-height:200px}
.list li.gone{opacity:0;max-height:0}
.list li.err-row{padding:14px 16px;font-size:15px;color:var(--muted)}
.actions{position:absolute;inset:0 0 0 auto;width:176px;display:grid;grid-template-columns:1fr 1fr}
.act{border:0;padding:0;text-align:center;font-size:15px;font-weight:500;color:#fff;cursor:pointer}
.act.arch{background:var(--indigo)}
.act.del{background:var(--red)}
#history-empty{margin:8px 16px}

/* Pantalla de grabación */
.recording{text-align:center;padding-top:16px}
.title-in{width:100%;text-align:center;font-size:20px;font-weight:600;margin-bottom:28px;background:none;padding:8px}
.title-in:focus{background:var(--fill);box-shadow:none}
.rec-state{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.5px;color:var(--red);text-transform:uppercase}
.live{width:10px;height:10px;border-radius:50%;background:var(--red);animation:pulse 1.4s infinite}
.paused .live{animation:none;background:var(--muted)} .paused .rec-state{color:var(--muted)}
@keyframes pulse{50%{opacity:.25}}
.time{font-size:68px;font-weight:300;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-1px;margin:14px 0 4px}
#rec-sub{font-size:15px}
.level{height:4px;background:var(--fill);border-radius:2px;overflow:hidden;margin:28px auto 10px;max-width:240px}
.level i{display:block;height:100%;width:0;background:var(--red);transition:width .1s}
.upl{font-size:13px;color:var(--muted);margin-bottom:20px;font-variant-numeric:tabular-nums}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}

/* Detalle */
.rename{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
.rename input{min-width:0;width:100%}
.rename .btn{padding:11px 16px}
.meta{display:grid;grid-template-columns:auto 1fr;gap:0;font-size:17px;margin:20px 0 0;background:var(--cell);border-radius:10px;overflow:hidden}
.meta dt,.meta dd{padding:11px 16px;border-top:.5px solid var(--sep)}
.meta dt{color:var(--fg);padding-right:8px} .meta dd{margin:0;color:var(--muted);text-align:right}
.meta dt:first-of-type,.meta dt:first-of-type + dd{border-top:0}
.transcript{background:var(--cell);border-radius:10px;padding:14px 16px}
.transcript p{margin:0 0 16px;line-height:1.4} .transcript p:last-child{margin-bottom:0}
.tmeta{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:2px;font-variant-numeric:tabular-nums;letter-spacing:0}
#d-transcript > p.muted{margin:0 16px}
#d-audio{display:grid;gap:6px}
#d-audio .msg{margin:4px 16px}
audio{width:100%}

/* Alerta */
dialog{border:0;border-radius:14px;background:var(--cell);color:var(--fg);padding:20px 16px 16px;max-width:300px;text-align:center}
dialog p{font-size:17px;font-weight:600;margin:0 0 4px}
dialog .row{margin-top:16px}
dialog::backdrop{background:rgba(0,0,0,.4)}
.list li:not(.open):not(.dragging) .actions{visibility:hidden}

/* Tipos de reunión */
.c-red{--c:#ff3b30}.c-orange{--c:#ff9500}.c-yellow{--c:#ffcc00}.c-green{--c:#34c759}.c-teal{--c:#30b0c7}
.c-blue{--c:#007aff}.c-indigo{--c:#5856d6}.c-purple{--c:#af52de}.c-pink{--c:#ff2d55}.c-gray{--c:#8e8e93}
.chips{display:flex;gap:8px;margin:0 0 12px}
.chips.scroll{overflow-x:auto;scrollbar-width:none;margin:0 -16px 12px;padding:0 16px}
.chips.scroll::-webkit-scrollbar{display:none}
.chips.wrap{flex-wrap:wrap}
.chips.center{flex-wrap:wrap;justify-content:center;margin-bottom:20px}
.chip{display:inline-flex;align-items:center;gap:6px;flex:none;border:0;border-radius:16px;padding:7px 13px;font-size:15px;background:var(--cell);color:var(--fg);cursor:pointer;white-space:nowrap}
.chip.on{background:var(--fg);color:var(--bg)}
.chip.manage{background:none;color:var(--blue);padding-left:4px}
.cdot{width:9px;height:9px;border-radius:50%;background:var(--c,#8e8e93);flex:none;border:0;padding:0}
.cdot.big{width:22px;height:22px;cursor:pointer}
.ttag{display:inline-block;font-size:13px;font-weight:600;color:var(--c);margin-right:6px}
.ttag::after{content:" ·";color:var(--muted);font-weight:400}
.recording .chip{background:var(--fill)} .recording .chip.on{background:var(--fg);color:var(--bg)}
dialog.sheet{max-width:380px;width:calc(100% - 32px);text-align:left;padding:16px}
.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sheet-head h3{margin:0;font-size:17px;font-weight:600}
.tlist{display:grid;margin-bottom:12px;max-height:50vh;overflow:auto}
.trow{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:.5px solid var(--sep)}
.tname{all:unset;font-size:17px;cursor:pointer}
.tdel{border:0;background:none;color:var(--red);font-size:15px;cursor:pointer}
.tadd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:8px}
.tadd input{min-width:0}

/* Subtítulos */
.subs-btn{width:100%;margin-top:16px}
.subs{background:#000;color:#fff;border-radius:14px;padding:12px 14px;margin-top:16px;text-align:left}
.subs-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#ffffffa0}
.subs-head .link{color:#4da3ff}
.subs-text{font-size:22px;line-height:1.3;font-weight:500;min-height:3.9em;max-height:7.8em;overflow:hidden;white-space:pre-wrap;margin-top:6px}
.trow.lang{all:unset;display:block;padding:12px 4px;font-size:17px;border-bottom:.5px solid var(--sep);cursor:pointer}

/* Cancelar */
.navbar .link:first-child{min-width:70px;text-align:left}
.recording .navbar{margin-bottom:4px}
dialog.actionsheet{display:none;padding:16px;text-align:center}
dialog.actionsheet[open]{display:grid;gap:10px}
.as-title{font-size:15px;font-weight:500;color:var(--muted);margin:2px 0 6px}

/* Buscador */
.searchbar{display:flex;align-items:center;gap:10px;margin:4px 0 8px}
.sfield{flex:1;position:relative}
.sfield input{width:100%;padding:8px 10px 8px 32px;border-radius:10px;background:var(--fill);font-size:17px;-webkit-appearance:none;appearance:none}
.sfield input:focus{box-shadow:none}
.sfield input::-webkit-search-cancel-button{-webkit-appearance:none}
.sicon{position:absolute;left:10px;top:50%;width:12px;height:12px;border:2px solid var(--muted);border-radius:50%;transform:translateY(-62%)}
.sicon::after{content:"";position:absolute;width:2px;height:6px;background:var(--muted);right:-4px;bottom:-5px;transform:rotate(-45deg);border-radius:1px}
.smsg{margin:8px 16px}
.list.results .fg{grid-template-columns:1fr;padding-right:34px}
.res .snip{font-size:15px;line-height:1.35;color:var(--fg);opacity:.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px}
mark{background:rgba(255,204,0,.45);color:inherit;border-radius:3px;padding:0 1px}
.transcript p.hit{background:rgba(255,204,0,.25);margin-left:-8px;margin-right:-8px;padding:6px 8px;border-radius:8px}
.version{text-align:center;margin:32px 0 0;opacity:.6}
.center{text-align:center} .link.center{justify-self:center}

/* Reloj en reposo: negro puro (en OLED los píxeles negros van apagados) y texto tenue para gastar lo mínimo */
.clock{position:fixed;inset:0;z-index:50;background:#000;color:#5a5a5e;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);cursor:pointer;-webkit-user-select:none;user-select:none}
.clock[hidden]{display:none}
.clock-face{display:flex;flex-direction:column;align-items:center;transition:transform 1s}
.clock-time{font-size:min(30vw,160px);font-weight:200;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.clock-date{font-size:20px;color:#3a3a3d;margin-top:12px}
.clock-date::first-letter{text-transform:uppercase}
.clock-rec{position:absolute;top:calc(env(safe-area-inset-top) + 18px);display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#7a2a26;font-variant-numeric:tabular-nums}
.cdot-rec{width:9px;height:9px;border-radius:50%;background:#7a2a26}
.clock.paused .clock-rec{color:#3a3a3d} .clock.paused .cdot-rec{background:#3a3a3d}
.clock-hint{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 24px);font-size:13px;color:#2c2c2e}

/* Importar */
.import-btn{display:block;margin:14px auto 0;padding:10px 18px;font-size:15px}
.src{border-bottom:.5px solid var(--sep)}
.src-head{all:unset;display:block;width:100%;box-sizing:border-box;padding:13px 4px;font-size:17px;cursor:pointer}
.src-body{padding:0 4px 14px}
.src-body p{margin:0 0 10px;line-height:1.35}
.src-actions{display:flex;gap:8px;flex-wrap:wrap}
.src-actions .btn{padding:10px 14px;font-size:15px;text-decoration:none}
.flabel{font-size:13px;color:var(--muted);margin-bottom:6px}

#imp-author-wrap .small{font-size:12px}
#imp-author-wrap[hidden]{display:none}
.detect{background:color-mix(in srgb,var(--blue) 12%,transparent);border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.35}
.detect[hidden]{display:none}
.detect .link{font-size:14px;padding:0}
.home-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.home-actions .import-btn{margin:0}
.spark{color:#d97757;margin-right:2px}
.ask-detail{display:block;width:100%;margin:6px 0 14px;padding:11px 14px;font-size:15px}
.sheet-actions{display:flex;flex-direction:column;gap:10px;margin-top:12px}
#ask-link{width:100%;box-sizing:border-box}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:rgba(30,30,32,.92);color:#fff;padding:10px 16px;border-radius:12px;font-size:14px;z-index:60;max-width:88vw;text-align:center}
.toast[hidden]{display:none}
.offline-bar{position:fixed;top:calc(6px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:60;background:rgba(58,58,60,.92);color:#fff;font-size:12px;font-weight:600;line-height:1;padding:6px 11px 6px 9px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.18);pointer-events:none}
.offline-bar::before{content:"";width:7px;height:7px;border-radius:50%;background:#ff9f0a}
.offline-bar.sending{background:rgba(0,122,255,.92)}.offline-bar.sending::before{background:#fff;animation:led-blink 1s steps(1,end) infinite}
.offline-bar[hidden]{display:none}
.badge.loc{color:var(--orange,#ff9500)}

/* ---------- calendario legal ---------- */
select{font:inherit;font-size:17px;padding:11px 12px;border-radius:10px;border:0;background:var(--fill);color:var(--fg);outline:none;-webkit-appearance:none;appearance:none;width:100%;box-sizing:border-box;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.row2 input,.row2 select{min-width:0;width:100%;box-sizing:border-box}
textarea.short{min-height:70px}
.link.strong{font-weight:600}
.check.inline{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--muted);grid-template-columns:none}
.danger-txt{color:var(--red)!important}
.eyebrow{margin:8px 0 0;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.title-in.big{text-align:left;margin:2px 0 0;font-size:26px;font-weight:700;letter-spacing:-.3px;background:none;padding:4px 0;border-radius:0;width:100%;box-sizing:border-box}
.title-in.big:focus{box-shadow:none;border-bottom:2px solid var(--blue)}

.cal-entry{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;width:100%;margin:18px 0 0;padding:12px 14px;background:var(--cell);border-radius:12px;cursor:pointer}
.cal-entry:active{background:var(--fill)}
.ce-ico{flex:none;width:40px;height:42px;border-radius:9px;background:var(--bg);display:grid;grid-template-rows:13px 1fr;overflow:hidden;box-shadow:inset 0 0 0 .5px var(--sep)}
.ce-m{background:var(--red);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.04em}
.ce-d{font-size:19px;font-weight:600;display:flex;align-items:center;justify-content:center;color:var(--fg)}
.ce-txt{display:grid;gap:2px;min-width:0}
.ce-txt b{font-size:17px;font-weight:600}
.ce-txt span{font-size:14px;color:var(--muted)}
.ce-txt span.alert{color:var(--red)}
.cal-entry::after{content:"";margin-left:auto;width:8px;height:8px;flex:none;border-right:2px solid var(--muted2);border-top:2px solid var(--muted2);transform:rotate(45deg)}

.cal-owner{margin:-4px 0 6px}
.cal-tools{display:flex;gap:8px;margin:6px 0 12px}
.cal-tools .btn{flex:1;padding:10px 8px;font-size:15px}
.cal-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 2px}
.cal-summary span{font-size:13px;font-weight:600;padding:5px 10px;border-radius:12px;background:var(--cell)}
.cal-summary .late{color:var(--red)} .cal-summary .soon{color:var(--orange)}
.cal-month{font-size:13px;text-transform:uppercase;color:var(--muted);margin:22px 4px 7px;letter-spacing:-.08px}
.list .fg.cal-day{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:10px 30px 10px 12px!important}
.cal-date{display:grid;justify-items:center;line-height:1.05}
.cal-date .d{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.cal-date .w{font-size:11px;color:var(--muted);text-transform:uppercase}
.cal-date.before .d{font-size:16px}
.cal-date.before .w{font-size:10px}
.cal-body{display:grid;gap:2px;min-width:0}
.cal-body .t{font-size:16px!important;white-space:normal!important;line-height:1.25}
.cal-body .s{font-size:13px!important}
.cal-body .kindtag{font-size:12px;color:var(--muted)}
.cal-body .kindtag::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px;vertical-align:1px;background:var(--indigo)}
.cal-body .kindtag.task::before{border-radius:50%;background:var(--muted2)}
.st{font-size:12px;font-weight:600;padding:3px 8px;border-radius:10px;white-space:nowrap;background:var(--fill);color:var(--muted)}
.st.late{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}
.st.soon{background:color-mix(in srgb,var(--orange) 16%,transparent);color:var(--orange)}
.st.sched{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}
.st.held{background:color-mix(in srgb,var(--indigo) 15%,transparent);color:var(--indigo)}
.st.sent,.st.done{background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}
.st.cancel{text-decoration:line-through}
.legal-note{margin:22px 4px 30px;line-height:1.4}

.ev-state{margin:10px 0 0}
.ev-actions{display:grid;gap:10px;margin:14px 0 0}
.ev-actions .btn.rec-go{background:var(--red);color:#fff}
.ev-actions .note{margin:0}
.basis{line-height:1.4;margin:0}
.ev-danger{display:flex;justify-content:space-between;margin:8px 0 30px}

.list.contacts .crow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px 10px 16px}
.crow .cn{display:grid;gap:1px;min-width:0}
.crow .cn b{font-weight:400;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crow .cn span{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crow input[type=checkbox]{width:22px;height:22px;accent-color:var(--blue)}
.crow .x{background:none;border:0;color:var(--red);font-size:15px;cursor:pointer;padding:6px}
.contact-add{gap:10px;margin-top:10px}
.list.plain li{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:16px}
.list.plain li .x{background:none;border:0;color:var(--red);font-size:15px;cursor:pointer}
.list.picks li{cursor:pointer;display:grid;gap:2px}
.list.picks li span{font-size:13px;color:var(--muted)}
.gen-companies{display:grid;gap:4px;margin:12px 0}
.gen-companies label{display:flex;gap:10px;align-items:center;font-size:16px;color:var(--fg)}
.gen-companies input{width:20px;height:20px;accent-color:var(--blue)}
.send-list{display:grid;gap:2px;max-height:45vh;overflow:auto;margin:6px 0 10px}
.send-list label{display:flex;gap:10px;align-items:center;font-size:16px;color:var(--fg);padding:8px 2px;border-bottom:.5px solid var(--sep)}
.send-list label span{color:var(--muted);font-size:13px;margin-left:auto;text-align:right}
.send-list input{width:22px;height:22px;accent-color:var(--blue);flex:none}
.acta-text{min-height:55vh;font-size:15px;line-height:1.5;font-family:ui-serif,Georgia,serif;background:var(--cell)}
.ac-actions{display:grid;gap:10px;margin:14px 0 30px}
dialog.sheet label{margin-bottom:10px}
textarea.title-in.big{min-height:0;resize:none;overflow:hidden;line-height:1.2;font-family:inherit}

.cal-alert{all:unset;box-sizing:border-box;display:block;width:100%;margin:4px 0 10px;padding:11px 14px;border-radius:12px;background:color-mix(in srgb,var(--red) 12%,var(--cell));color:var(--red);font-size:15px;font-weight:600;line-height:1.35;cursor:pointer}
.cal-alert[hidden]{display:none}
.seg4{display:grid;grid-template-columns:repeat(4,1fr);background:var(--fill);border-radius:9px;padding:2px;gap:2px;margin:6px 0 4px}
.seg4 button{all:unset;text-align:center;font-size:12.5px;font-weight:500;padding:7px 2px;border-radius:7px;cursor:pointer;display:grid;gap:1px;line-height:1.15}
.seg4 button b{font-size:16px;font-weight:600}
.seg4 button.on{background:var(--cell);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.seg4 button.alert b{color:var(--red)}
.tab-hint{margin:6px 4px 0}
.st.todo{background:var(--fill);color:var(--fg)}
.iss{font-size:12.5px;font-weight:600;line-height:1.3}
.iss .red{color:var(--red)} .iss .orange{color:var(--orange)}
.ev-issues{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}
.ev-issues li{font-size:15px;font-weight:600;padding:8px 12px;border-radius:10px}
.ev-issues li.red{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}
.ev-issues li.orange{background:color-mix(in srgb,var(--orange) 14%,transparent);color:var(--orange)}
.list.docs li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 10px;padding:11px 14px 11px 12px;align-items:start}
.docs .ok{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:1.5px solid var(--muted2);color:transparent;margin-top:1px}
.docs li.have .ok{background:var(--green);border-color:var(--green);color:#fff}
.docs li.na .ok{background:var(--fill2);border-color:transparent;color:var(--muted)}
.docs .dl{font-size:15px;line-height:1.3}
.docs .dl i{font-style:normal;color:var(--muted);font-size:13px}
.docs .dn{grid-column:2;font-size:13px;color:var(--muted)}
.docs .files{grid-column:2;display:grid;gap:4px}
.docs .file{display:flex;gap:8px;align-items:center;font-size:14px}
.docs .file a{color:var(--blue);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;min-width:0;flex:1}
.docs .file button{background:none;border:0;color:var(--red);font-size:13px;cursor:pointer;flex:none}
.docs .dact{grid-column:2;display:flex;gap:14px}
.docs .dact button{background:none;border:0;color:var(--blue);font-size:15px;padding:2px 0;cursor:pointer}

/* calendario del administrador */
.push-note{display:grid;gap:10px}
.push-note .btn{margin:0}
.ag-alarms{display:grid;gap:8px;margin:6px 0 14px}
.alarm{all:unset;box-sizing:border-box;display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 10px;align-items:start;padding:11px 14px;border-radius:12px;background:var(--cell);cursor:pointer}
.alarm .ic{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff}
.alarm b{font-size:15px;font-weight:600;line-height:1.3}
.alarm span.sub{font-size:13px;color:var(--muted);line-height:1.3}
.alarm.late .ic{background:var(--red)} .alarm.late b{color:var(--red)}
.alarm.soon .ic{background:var(--orange)}
.alarm.done .ic{background:var(--green)}
.alarm.acta .ic{background:var(--indigo)}
.ag-ok{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--green) 12%,var(--cell));color:var(--green);font-weight:600;font-size:15px}
.month-nav{display:flex;align-items:center;justify-content:space-between;margin:14px 0 6px}
.month-nav h3{margin:0;font-size:20px;font-weight:700}
.month-nav .link{font-size:30px;line-height:1;padding:0 12px}
.mgrid-head,.mgrid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.mgrid-head span{font-size:12px;color:var(--muted);padding:4px 0}
.mgrid{background:var(--cell);border-radius:12px;padding:6px 2px;row-gap:2px}
.mday{all:unset;display:grid;justify-items:center;gap:3px;padding:6px 0 7px;cursor:pointer;border-radius:10px;min-height:38px}
.mday .n{font-size:17px;width:32px;height:32px;line-height:32px;border-radius:50%;font-variant-numeric:tabular-nums}
.mday.out .n{color:var(--muted2)}
.mday.today .n{color:var(--red);font-weight:700}
.mday.sel .n{background:var(--fg);color:var(--bg);font-weight:600}
.mday.today.sel .n{background:var(--red);color:#fff}
.mday .dots{display:flex;gap:3px;height:6px}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%}
.dot.late{background:var(--red)} .dot.soon{background:var(--orange)} .dot.sched{background:var(--blue)} .dot.todo{background:var(--muted2)} .dot.done{background:var(--green)}
.ag-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;font-size:12px;color:var(--muted);margin:8px 0 0}
.ag-legend .dot{margin-right:5px;vertical-align:1px}
.ag-foot{margin:26px 0 30px}
.oe-title{font-size:26px;font-weight:700;letter-spacing:-.3px;margin:2px 0 4px;line-height:1.2}
.oe-agenda{white-space:pre-wrap;font-size:15px;line-height:1.45;margin-top:0}
.oe-basis{margin:18px 4px 30px}
.docs.ro .dact{display:none}
.badge.sched{color:var(--blue)} .badge.sched::before{background:var(--blue)}

/* Agenda del día a día (v29) */
.diary-entry{margin-top:10px}
.diary-entry .ce-m{background:var(--blue)}
.dy-add{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 4px}
.dy-add .btn{padding:12px 10px;font-size:16px}
.dot.k-reunion{background:var(--blue)} .dot.k-evento{background:var(--orange)} .dot.k-video{background:#30b0c7}
.dot.k-vuelo{background:var(--indigo)} .dot.k-tren{background:var(--green)} .dot.k-hotel{background:#ff2d55} .dot.k-otro{background:#8e8e93}
.dy-list .fg{grid-template-columns:52px minmax(0,1fr);min-height:56px}
.dy-list .tm{grid-row:1/3;align-self:center;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25}
.dy-list .tm small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.dy-list .t .ki{margin-right:6px}
.dy-list li.cancel .t{text-decoration:line-through;color:var(--muted)}
.dy-list li.prov .t::after{content:" · provisional";color:var(--orange);font-size:13px}
.dkinds{margin-top:4px}
.di-fields:empty{display:none}
.di-fields{grid-template-columns:1fr 1fr}
.di-actions:empty{display:none}
#di-video-w[hidden],#di-loc-w[hidden],#di-addr-w[hidden],#di-files-box[hidden],#dx-tools[hidden],.dx-add[hidden]{display:none}
.dx-tools{display:flex;justify-content:flex-end;gap:16px;margin:0 4px 4px}
.dx-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 10px;padding:11px 14px;align-items:start}
.dx-list li input{grid-row:1/4;width:22px;height:22px;margin:2px 0 0;accent-color:var(--blue);padding:0}
.dx-list .t{font-size:16px;white-space:normal}
.dx-list .s{font-size:14px;color:var(--muted)}
.dx-list .src{font-size:12px;color:var(--muted2)}
.dx-list li.dup .t::after{content:" · ya está en la agenda";color:var(--muted);font-size:13px}
.dx-add{width:100%;margin:16px 0 30px}
.sync-btns{display:grid;gap:10px;margin:12px 0}
.sync-steps{padding-left:20px;margin:8px 0;line-height:1.45}
.sync-links{display:flex;flex-wrap:wrap;gap:4px 16px}

/* Tareas, equipo y chat (v30) */
.tk-box{background:var(--cell);border-radius:12px;padding:10px 14px 12px;margin:12px 0 4px}
.tk-head{display:flex;justify-content:space-between;align-items:center}
.tk-title{all:unset;font-size:17px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px}
.tk-title::after{content:"";width:7px;height:7px;border-right:2px solid var(--muted2);border-top:2px solid var(--muted2);transform:rotate(45deg)}
.tk-head .link{padding:4px 0;font-size:15px}
.tk-alerts{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin-top:4px}
.tk-line{all:unset;display:flex;box-sizing:border-box;width:100%;min-width:0;align-items:center;gap:10px;padding:7px 0;font-size:15px;cursor:pointer;border-top:.5px solid var(--sep)}
.tk-line:first-child{border-top:0}
.tk-line .ic{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--muted2)}
.tk-line.red .ic{background:var(--red)} .tk-line.red .tx{color:var(--red);font-weight:600}
.tk-line.green .ic{background:var(--green)} .tk-line.orange .ic{background:var(--orange)}
.tk-line .bd{display:flex;flex-direction:column;min-width:0;flex:1}
.tk-line .tx{font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-line .sb{font-size:13px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-line.st-red .ic{background:var(--red)} .tk-line.st-orange .ic{background:var(--orange)} .tk-line.st-green .ic{background:var(--green)} .tk-line.st-gray .ic{background:var(--muted2)}
.tk-line.st-green .tx{color:var(--muted)}
.tk-line.st-red .sb{color:var(--red)} .tk-line.st-orange .sb{color:var(--orange)} .tk-line.st-green .sb{color:var(--green)}
.tk-line.more .tx{color:var(--blue);font-weight:500}
.tk-team{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tk-team:empty,.tk-team[hidden]{display:none}
.tk-team .chip{margin:0}
.chip.unread{background:var(--blue);color:#fff;font-weight:600}
a.chip.call{text-decoration:none;display:inline-flex;align-items:center}
.ud{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:1px;flex:none}
.ud.u-urgente{background:var(--red)} .ud.u-alta{background:var(--orange)} .ud.u-normal{background:var(--blue)} .ud.u-baja{background:var(--muted2)}
.seg3{display:grid;grid-template-columns:repeat(3,1fr);margin:6px 0 12px}
.seg3 .seg.alert{color:var(--red)}
.tk-list .fg{grid-template-columns:minmax(0,1fr) auto}
.tk-list .t{white-space:normal;line-height:1.25}
.tk-list .st{grid-row:1;grid-column:2;align-self:start;margin-top:2px}
.tk-list .s{grid-column:1/3;font-size:14px}
.eyebrow.urg-urgente{color:var(--red)} .eyebrow.urg-alta{color:var(--orange)}
.tk-question{background:color-mix(in srgb,var(--red) 10%,var(--cell));border-radius:12px;padding:12px 14px;margin:12px 0 0;font-size:16px;line-height:1.35;white-space:pre-wrap}
.tk-desc{white-space:pre-wrap;font-size:16px;line-height:1.4;display:block}
.tk-actions{display:grid;gap:10px;margin:14px 0 0}
.tk-actions:empty{display:none}
.tk-actions .note{margin:0}
.tk-note{margin-top:14px}
.tk-note-btns{display:grid;grid-template-columns:auto 1fr;gap:10px}
.tk-files-new{display:flex;flex-wrap:wrap;gap:6px}
.tk-files-new:empty{display:none}
.tk-log{list-style:none;margin:0;padding:0;background:var(--cell);border-radius:10px}
.tk-log li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:10px 14px;border-top:.5px solid var(--sep)}
.tk-log li:first-child{border-top:0}
.tk-log .ic{font-size:14px;color:var(--muted);text-align:center}
.tk-log .who{font-size:12px;color:var(--muted)}
.tk-log .tx{font-size:15px;white-space:pre-wrap;line-height:1.35}
.tk-log .fl a,.bubble .fl a{display:block;color:var(--blue);font-size:14px;cursor:pointer;margin-top:3px}
.tk-log li.k-decision .tx{font-weight:600}
.tk-log li.k-pregunta .ic{color:var(--red)}
.meta dd.lnk{color:var(--blue);cursor:pointer}
.urg-seg{grid-template-columns:repeat(4,1fr)}
.urg-seg button{display:block;font-size:13px;padding:8px 2px}
.urg-seg button .ud{margin-right:4px}
.assist-list li.assist{display:grid;gap:6px;padding:12px 14px;align-items:stretch}
.as-head{display:grid;gap:1px}
.as-btns{display:flex;flex-wrap:wrap;gap:2px 14px;align-items:center}
.as-btns .link{padding:4px 0}
.as-btns a.link{text-decoration:none}
.as-btns a[hidden]{display:none}
.perm-chips{display:flex;flex-wrap:wrap;gap:6px}
.perm-chips .chip{margin:0}
.assist-add{display:grid;gap:8px;margin-top:10px}
.call-link{text-decoration:none;font-size:17px}
.call-link[hidden]{display:none}
.chat-title{font-size:26px;font-weight:700;margin:2px 0 0}
.chat-sub{margin:2px 0 10px}
.chat-list{display:flex;flex-direction:column;gap:6px;padding-bottom:90px}
.ch-day{align-self:center;font-size:12px;color:var(--muted);margin:10px 0 2px}
.bubble{max-width:80%;padding:8px 12px;border-radius:18px;font-size:16px;line-height:1.3;position:relative}
.bubble.me{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:6px}
.bubble.them{align-self:flex-start;background:var(--cell);border-bottom-left-radius:6px}
.bubble .tx{white-space:pre-wrap;word-break:break-word}
.bubble .meta{font-size:11px;opacity:.7;margin-top:3px;text-align:right;display:block;background:none;border-radius:0}
.bubble.me .fl a{color:#fff;text-decoration:underline}
.bubble .to-task{all:unset;font-size:12px;opacity:.85;cursor:pointer;margin-top:2px;display:block}
.bubble.me .to-task{color:#fff}
.bubble.them .to-task{color:var(--blue)}
.chat-bar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:end;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:.5px solid var(--sep)}
.chat-bar textarea{min-height:0;height:40px;max-height:140px;resize:none;border-radius:20px;padding:9px 14px}
.chat-bar .btn{padding:9px 14px;border-radius:20px;font-size:15px}
.chat-bar .link{font-size:22px;padding:6px 2px}
.banner{all:unset;box-sizing:border-box;position:fixed;left:10px;right:10px;top:calc(8px + env(safe-area-inset-top));z-index:50;display:grid;gap:2px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--cell) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 30px rgba(0,0,0,.25);cursor:pointer}
.banner b{font-size:15px} .banner span{font-size:14px;color:var(--muted);white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.banner[hidden]{display:none}
.tk-team .chip,.perm-chips .chip,.dkinds .chip{background:var(--fill)}
.tk-team .chip.unread{background:var(--blue);color:#fff}
.perm-chips .chip.on{background:var(--blue);color:#fff}
.dkinds .chip.on{background:var(--fg);color:var(--bg)}
.cal-entry[hidden],.tk-box[hidden],#tl-noassist[hidden],.tk-question[hidden],.tk-desc[hidden]{display:none}

.hist-links{display:flex;gap:16px}
#type-filter[hidden],#swipe-hint[hidden]{display:none}
.hist-btn{all:unset;display:flex;align-items:baseline;gap:6px;cursor:pointer;min-width:0}
.hist-btn h2{margin:0}
.hist-sub{display:none}
.hist-sub:not(:empty)::before{content:"· "}
.hist-btn .chev{width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .2s;flex:none}
.hist-btn.open .chev{transform:rotate(-135deg) translateY(-1px)}


.hist-btn h2{white-space:nowrap}

#ask-btn{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
/* el título de la lista es un botón: en azul, como los enlaces */
.hist-btn h2{color:var(--blue)}
.hist-btn .chev{border-color:var(--blue)}
.hist-btn:active{opacity:.6}
.list li.archived .t{color:var(--muted)}
.arch-tag{font-size:12px;font-weight:600;color:var(--muted);background:var(--fill);border-radius:6px;padding:1px 6px}

/* Xzen: logo vivo — un destello recorre los trazos de las letras */
.xz{position:relative;display:inline-block;height:var(--h,40px);aspect-ratio:469/256;flex:none;vertical-align:middle;--s:calc(40/256)}
.xz img{height:100%;width:100%;display:block}
.xz .trail{position:absolute;inset:0;overflow:hidden;-webkit-mask:url(/xz-core.png) center/100% 100% no-repeat;mask:url(/xz-core.png) center/100% 100% no-repeat;pointer-events:none}
/* los trazos se dibujan sobre el logo a tamaño original (469×256) y se escalan */
/* cometa: cabeza brillante + cola de luz que sigue la curva de la letra y se apaga */
.xz .trail b{position:absolute;left:0;top:0;width:var(--w,60px);height:var(--w,60px);offset-anchor:center;offset-rotate:0deg;border-radius:50%;opacity:var(--o,1);
  background:radial-gradient(closest-side,#fff 0,#fff 30%,rgba(215,246,255,.85) 50%,rgba(120,210,255,.35) 75%,transparent 100%);
  animation:xz-spark var(--d,5.4s) linear infinite alternate;animation-delay:calc(var(--b,0s) - 3s + var(--i,0) * 0.14s - var(--p,0) * var(--d,5.4s))}
.xz .trail b.tail{filter:blur(1.5px)}
.xz .trail .s1{offset-path:path("M10 6 C70 12 120 50 165 118 C195 160 220 200 280 214 L395 224 C420 226 440 236 456 244");--b:0s;--d:8s}
.xz .trail .s2{offset-path:path("M4 248 C70 225 120 170 165 118 C205 72 250 35 290 16");--b:-2.6s;--d:6.6s}
.xz .trail .s3{offset-path:path("M268 66 C310 50 360 42 400 42 C390 85 330 140 300 180 L285 215 L395 224 C420 226 440 236 456 244");--b:-5.1s;--d:9.2s}
@keyframes xz-spark{0%{offset-distance:0%}100%{offset-distance:100%}}
.xz.think .trail b{animation-duration:3.2s}
@media (prefers-reduced-motion:reduce){.xz .trail b{animation:none}}
.xz-sm{--h:30px;--s:calc(30/256)}.xz-xs{--h:18px;--s:calc(18/256)}.xz-lg{--h:96px;--s:calc(96/256);transition:height .3s}.xz-lg.small{--h:46px;--s:calc(46/256)}
/* botón del inicio: sin fondo, solo el logo */
.xz-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:14px;cursor:pointer;font-size:17px;font-weight:600;color:var(--fg);background:transparent;-webkit-touch-callout:none;user-select:none}
.xz-btn:active{opacity:.6}
.xz-btn[hidden]{display:none}
.xzen-view .xz-hero{display:grid;justify-items:center;gap:8px;margin:6px 0 14px}
.xz-hello{margin:0;font-size:22px;font-weight:700}
.xz-hello[hidden]{display:none}
.xz-list{padding-bottom:10px}
.xz-ans .tx{line-height:1.4}
.xz-thinking{display:flex;align-items:center;gap:8px;color:var(--muted)}
.xz-sugs{display:grid;gap:8px;margin:6px 0 90px}
.xz-sugs .chip{white-space:normal;text-align:left;justify-content:flex-start;background:var(--cell);border-radius:14px;padding:11px 14px}
.xz-sugs:empty{display:none;margin:0}
.xzen-view .center{margin-bottom:90px}
.xz-sugs .chip{background:transparent;border:.5px solid var(--sep);color:var(--muted)}
.xzen-view .xz-hero{margin:18px 0 22px}
.xz-hello{font-weight:600;font-size:20px;color:var(--muted)}
.xz-md{--h:46px;--s:calc(46/256)}
.home-actions{align-items:center}
/* destello de diamante: la cabeza del cometa es una estrella de luz que centellea */
.xz .trail b:not(.tail){background:radial-gradient(closest-side,#fff 0,#fff 18%,rgba(220,247,255,.8) 36%,rgba(130,215,255,.3) 62%,transparent 100%)}
.xz .trail b:not(.tail)::before,.xz .trail b:not(.tail)::after{content:"";position:absolute;left:50%;top:50%;width:240%;height:7%;translate:-50% -50%;border-radius:50%;
  background:linear-gradient(90deg,transparent 0,rgba(200,245,255,.55) 30%,#fff 50%,rgba(200,245,255,.55) 70%,transparent 100%);animation:xz-twinkle 1.6s ease-in-out infinite}
.xz .trail b:not(.tail)::after{rotate:90deg;width:170%;animation-delay:-.8s}
.xz .trail b.tail{background:radial-gradient(closest-side,#fff 0,rgba(210,245,255,.7) 35%,rgba(120,210,255,.2) 70%,transparent 100%)}
@keyframes xz-twinkle{0%,100%{scale:.55 1;opacity:.55}50%{scale:1.15 1;opacity:1}}
/* pantalla de entrada con el logo que explota */
.splash{position:fixed;inset:0;z-index:100;background:#000;display:grid;place-items:center;overflow:hidden;transition:background-color .5s ease .35s}
.splash[hidden]{display:none}
.splash.out{background-color:transparent;pointer-events:none}
.xz-splash{--h:200px;--s:calc(200/256)}
.splash .spark{position:fixed;border-radius:50%;background:radial-gradient(closest-side,#fff 0,#bdf0ff 35%,rgba(40,170,255,.6) 70%,transparent);pointer-events:none}
/* enviar acceso */
.inv-text{min-height:150px;font-size:15px;margin:8px 0}
.inv-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.inv-btns .btn{text-align:center;text-decoration:none;padding:11px 8px;font-size:15px}
.inv-btns a[hidden],.inv-btns button[hidden]{display:none}
.inv-btns #inv-wa{background:#25d366;color:#fff}
.assist-list li.off b{color:var(--muted)}
.as-acc{border-top:.5px solid var(--sep);padding-top:4px}
#reset-sub[hidden]{display:none}
.push-note[hidden]{display:none}
.as-me{margin:0 0 6px}

.tk-chat{display:grid;gap:8px;margin:12px 0 4px}
.tk-chat-btn{width:100%}
.chat-eyebrow{margin:4px 0 0;color:var(--blue)}
.nav-r{display:flex;gap:16px;align-items:center}

/* led ámbar intermitente: tarea atascada esperando tu decisión */
:root{--amber:#ffb000}
@keyframes led-blink{0%,45%{opacity:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 35%,transparent),0 0 10px 3px var(--amber)}55%,100%{opacity:.25;box-shadow:0 0 0 0 transparent}}
.tk-line.st-amber .ic{background:radial-gradient(circle at 35% 35%,#fff6c8 0 18%,var(--amber) 45%,#c77800 100%);width:18px;height:18px;margin:2px;animation:led-blink 1.1s steps(1,end) infinite, led-fade 1.1s ease-in-out infinite}
@keyframes led-fade{0%,100%{filter:brightness(1.15)}50%{filter:brightness(.6)}}
.tk-line.st-amber .sb{color:#c77800;font-weight:600}
.st.wait{background:color-mix(in srgb,var(--amber) 20%,transparent);color:#a86400;display:inline-flex;align-items:center;gap:6px}
.st.wait::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--amber);animation:led-blink 1.1s steps(1,end) infinite}
@media (prefers-color-scheme:dark){.st.wait{color:var(--amber)}.tk-line.st-amber .sb{color:var(--amber)}}

/* botón único de estado */
.state-btn{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;cursor:pointer;color:#fff;font-size:15px;box-shadow:0 2px 8px #0002}
.state-btn .tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.state-btn b{font-size:21px;font-weight:700;letter-spacing:-.01em}
.state-btn small{font-size:13px;opacity:.92;line-height:1.3}
.state-btn .led{flex:none;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff55}
.state-btn.red{background:var(--red)} .state-btn.orange{background:var(--orange)} .state-btn.green{background:var(--green)} .state-btn.gray{background:var(--muted2);color:var(--fg)}
.state-btn.amber{background:var(--amber);color:#3a2600}
.state-btn.amber .led{background:#fff6c8;animation:led-blink 1.1s steps(1,end) infinite}
.state-btn:active{transform:scale(.98)}
.small-act{justify-self:start;font-size:15px;padding:4px 2px}
.tk-sec{all:unset;cursor:pointer;display:block;margin:12px 0 2px;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--green)}

/* organigrama y «de quién dependerá» */
.as-h{margin:14px 0 4px;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.as-tree{background:var(--cell);border-radius:12px;padding:12px 14px;margin:6px 0 4px;font-size:15px}
.as-tree .node{display:inline-block;padding:5px 10px;border-radius:9px;background:var(--fill);font-weight:600}
.as-tree .node.me{background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}
.as-tree .node.sub{font-weight:500}
.as-tree .branch{margin:6px 0 0 14px;padding-left:14px;border-left:2px solid var(--sep);position:relative}
.as-dep{display:grid;gap:4px;background:var(--cell);border-radius:12px;padding:10px 12px}
.as-dep .mode{margin:2px 0 4px}
.as-dep-txt{margin:2px 0 0;font-size:13px;line-height:1.4;color:var(--muted)}
.as-dep-txt b{color:var(--fg)}

/* sirena de camión de bomberos: tareas atascadas esperando tu decisión */
.siren-box{margin:10px 0 0}
.siren{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:12px;padding:14px 14px;border-radius:16px;cursor:pointer;background:#1c1c1e;color:#fff;font-weight:700;font-size:16px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0004}
.siren .tx{flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}
.siren .lt{flex:none;width:26px;height:26px;border-radius:50%;position:relative;z-index:1}
.siren .lt.l{background:#ff2a2a;animation:siren-a .9s infinite}
.siren .lt.r{background:#2a6bff;animation:siren-b .9s infinite}
.siren::before{content:"";position:absolute;inset:0;animation:siren-bg .9s infinite;pointer-events:none}
@keyframes siren-a{0%,8%,16%,24%{opacity:1;box-shadow:0 0 18px 8px #ff2a2a}4%,12%,20%,50%,100%{opacity:.18;box-shadow:none}}
@keyframes siren-b{50%,58%,66%,74%{opacity:1;box-shadow:0 0 18px 8px #2a6bff}0%,54%,62%,70%,100%{opacity:.18;box-shadow:none}}
@keyframes siren-bg{0%,24%{background:radial-gradient(circle at 0% 50%,#ff2a2a55,transparent 55%)}25%,49%{background:none}50%,74%{background:radial-gradient(circle at 100% 50%,#2a6bff55,transparent 55%)}75%,100%{background:none}}
.siren.open{background:#2c2c2e}
.siren.open .lt,.siren.open::before{animation-duration:2.4s}
.siren.static{cursor:default;margin-bottom:2px}
.siren-list{display:grid;gap:10px;margin-top:10px}
.dec-card{display:grid;gap:8px;background:var(--cell);border-radius:14px;padding:14px;border:2px solid #ff2a2a33}
.dec-card .dc-t{font-weight:700;font-size:16px}
.dec-card .dc-q{white-space:pre-wrap;font-size:16px;line-height:1.4;background:color-mix(in srgb,var(--amber) 14%,transparent);border-radius:10px;padding:10px 12px}
.dec-card textarea{min-height:70px}
.dec-card .dc-btns{display:grid;gap:8px;grid-auto-flow:column}
.dec-card .green-btn{background:var(--green)}
.dec-card .dc-open{justify-self:start}
.ch-ask{margin:8px 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--amber) 20%,transparent);font-size:14px;line-height:1.4}
.state-opts{display:grid;gap:10px;margin-top:8px}
.state-btn.cur{outline:3px solid var(--fg);outline-offset:2px}

/* fila de tarea: a la derecha el asistente y el chat de la tarea */
.tk-row{display:flex;align-items:center;gap:8px;border-top:.5px solid var(--sep)}
.tk-alerts > .tk-row:first-child{border-top:0}
.tk-row .tk-line{border-top:0;flex:1;min-width:0;width:auto}
/* tareas que son mías: enmarcadas. Rojo: alguien está atascado esperándome; azul: es para mí */
.tk-row.mine{border:2px solid var(--mk);border-radius:14px;margin:6px 0;padding-left:4px;background:color-mix(in srgb,var(--mk) 7%,transparent)}
.tk-row.mine + .tk-row{border-top:0}
.tk-row.mine-red{--mk:#ff1e1e}
.tk-row.mine-blue{--mk:#1e6bff}
.tk-row.mine-green{--mk:#1fbf4f}
.beacon.b-blue{--c:#2a7dff}
.tk-side{flex:none;display:flex;align-items:center;gap:6px}
.tk-who{font-size:13px;font-weight:600;padding:4px 9px;border-radius:12px;background:var(--fill);max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-who.by::before{content:"✍︎ ";font-weight:400}
.tk-chat-mini{all:unset;cursor:pointer;position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:19px;background:var(--fill)}
.tk-chat-mini.unread{background:color-mix(in srgb,var(--blue) 18%,transparent)}
.tk-chat-mini i{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-style:normal;font-weight:700;display:grid;place-items:center;padding:0 4px;box-sizing:border-box}
.tk-team-l{flex-basis:100%;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* cabecera del chat, estilo Mensajes */
.chat-top{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:6px;
  margin:calc(-4px - env(safe-area-inset-top)) -16px 8px;padding:calc(6px + env(safe-area-inset-top)) 10px 8px;
  background:color-mix(in srgb,var(--bg) 97%,transparent);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-bottom:.5px solid var(--sep)}
.ct-back{all:unset;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;font-size:38px;line-height:1;color:var(--blue);margin-top:-4px}
.ct-mid{display:flex;align-items:center;gap:10px;min-width:0}
.ct-av{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:17px;color:#fff;background:var(--blue)}
.ct-av.st-red{background:var(--red)} .ct-av.st-orange{background:var(--orange)} .ct-av.st-amber{background:var(--amber);color:#3a2600} .ct-av.st-green{background:var(--green)} .ct-av.st-gray{background:var(--muted2)}
.ct-txt{min-width:0}
.ct-title{margin:0;font-size:17px;font-weight:700;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ct-sub{margin:1px 0 0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-r{display:flex;gap:6px;align-self:center}
.ct-ic{all:unset;cursor:pointer;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:18px;background:var(--fill);text-decoration:none}
.ct-ic[hidden]{display:none}

/* agenda: fecha y hora por separado */
.dt-grid{display:grid;grid-template-columns:auto minmax(0,1.4fr) minmax(0,1fr);gap:8px 10px;align-items:center}
.dt-grid .dt-l{font-size:15px;color:var(--muted);min-width:64px}
.dt-grid input{margin:0;min-width:0}
.dt-grid input[hidden]{display:none}
.dt-grid.allday input[type=date]{grid-column:span 2}

/* deslizar a la izquierda para cambiar el estado */
.sw{position:relative;overflow:hidden}
.sw-in{position:relative;z-index:1;background:var(--cell);display:flex;align-items:center;gap:8px;width:100%;touch-action:pan-y;will-change:transform}
#tl-list .sw-in{display:block}
.sw-acts{position:absolute;top:0;right:0;bottom:0;display:flex;z-index:0;visibility:hidden}
.sw.show .sw-acts{visibility:visible}
.sw-b{all:unset;cursor:pointer;display:grid;place-items:center;min-width:74px;max-width:92px;padding:0 8px;font-size:13px;line-height:1.15;font-weight:700;color:#fff;text-align:center}
.sw-b.orange{background:var(--orange)} .sw-b.amber{background:var(--amber);color:#3a2600} .sw-b.green{background:var(--green)} .sw-b.gray{background:#8e8e93} .sw-b.indigo{background:#5856d6}
.tv-sw{border-radius:14px;margin-bottom:8px} .tv-sw .sw-in{background:transparent} .tv-sw .state-btn{margin:0;width:100%}

/* sirena pequeña con destellos al lado de la tarea */
.beacon{--c:#ffd400;position:relative;flex:none;display:inline-grid;place-items:center;width:28px;height:28px}
.beacon.xs{width:18px;height:18px;margin-right:6px;vertical-align:-5px}
.beacon.md{width:34px;height:34px}
.beacon.b-green{--c:#2bff5a} .beacon.b-yellow{--c:#ffe100} .beacon.b-orange{--c:#ff8a00} .beacon.b-red{--c:#ff1e1e}
.beacon img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;animation:bc-flick .9s steps(1,end) infinite}
.beacon .glow{position:absolute;z-index:1;inset:-28%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 75%,transparent) 0,color-mix(in srgb,var(--c) 25%,transparent) 35%,transparent 65%);animation:bc-pulse .9s ease-in-out infinite;pointer-events:none}
.beacon .beam{position:absolute;z-index:3;left:50%;top:38%;width:150%;height:70%;transform-origin:0 50%;border-radius:0 50% 50% 0;
  background:linear-gradient(90deg,color-mix(in srgb,var(--c) 80%,#fff) 0,color-mix(in srgb,var(--c) 45%,transparent) 30%,transparent 80%);
  mix-blend-mode:screen;opacity:1;animation:bc-spin 1.2s linear infinite;pointer-events:none;filter:blur(1.5px)}
@keyframes bc-spin{from{transform:translateY(-50%) rotate(0deg) scaleY(.35)}to{transform:translateY(-50%) rotate(360deg) scaleY(.35)}}
@keyframes bc-pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
@keyframes bc-flick{0%,60%{filter:brightness(1.35) saturate(1.2)}61%,100%{filter:brightness(.85)}}
.tk-line .beacon{margin:0 -3px}
.tk-line.dec .sb{color:var(--red);font-weight:600}
.tk-row.sw .sw-in{overflow:visible}
.dec-card.inline{margin:2px 0 8px;border-width:1.5px}
.dec-head{display:flex;align-items:center;gap:12px;padding:6px 2px;font-size:18px}

/* botones de llamar en verde */
.chip.call,#ch-call.ct-ic{background:color-mix(in srgb,var(--green) 22%,transparent);color:#1e8e3e}
.chip.call:active,#ch-call.ct-ic:active{background:color-mix(in srgb,var(--green) 35%,transparent)}
.inv-btns [hidden]{display:none}

/* entrada: logo XZ Meeting con un barrido de luz y estallido */
.xzm{position:relative;display:block;width:min(86vw,500px);aspect-ratio:1300/910;overflow:hidden}
.xzm img{display:block;width:100%;height:100%;object-fit:contain;animation:xzm-glow 1.6s ease-in-out infinite alternate}
.xzm .shine{position:absolute;inset:-20% auto -20% -60%;width:45%;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.0) 10%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 90%,transparent);
  mix-blend-mode:overlay;animation:xzm-sweep 1.3s cubic-bezier(.4,0,.2,1) .25s 1 forwards}
@keyframes xzm-sweep{to{left:120%}}
@keyframes xzm-glow{from{filter:brightness(.95) saturate(1)}to{filter:brightness(1.18) saturate(1.15)}}
.splash .spark.p{background:radial-gradient(closest-side,#fff 0,#f0c8ff 35%,rgba(190,70,255,.6) 70%,transparent)}

/* botón de grabar: esfera de cristal limpia, con vida por dentro (luz entre rojo y azul) */
.led-btn{position:relative;display:grid;place-items:center;width:64px;height:64px;transition:transform .15s}
.led-btn img{position:relative;z-index:1;width:100%;height:100%;border-radius:50%;filter:drop-shadow(0 4px 6px rgba(120,0,0,.28))}
/* luz que late dentro de la esfera y pasa de rojo a azul */
.led-btn .core{position:absolute;z-index:2;inset:9%;border-radius:50%;pointer-events:none;mix-blend-mode:screen;animation:led-core 8s ease-in-out infinite}
/* brillo de cristal que da la vuelta por dentro */
.led-btn .sweep{position:absolute;z-index:3;inset:5%;border-radius:50%;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(circle at 30% 26%,rgba(255,255,255,.75) 0,rgba(255,255,255,.22) 16%,transparent 32%);
  animation:led-spin 10s linear infinite}
@keyframes led-spin{to{transform:rotate(360deg)}}
@keyframes led-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes led-core{
  0%,100%{background:radial-gradient(circle at 48% 46%,rgba(255,140,140,.85) 0,rgba(255,50,60,.4) 38%,rgba(255,30,50,.08) 60%,transparent 70%)}
  25%{background:radial-gradient(circle at 48% 46%,rgba(255,170,170,1) 0,rgba(255,60,80,.55) 40%,rgba(255,30,50,.12) 62%,transparent 72%)}
  50%{background:radial-gradient(circle at 48% 46%,rgba(150,200,255,1) 0,rgba(60,130,255,.7) 40%,rgba(40,100,255,.2) 62%,transparent 72%)}
  75%{background:radial-gradient(circle at 48% 46%,rgba(210,160,255,.9) 0,rgba(150,80,255,.45) 40%,rgba(120,60,255,.1) 62%,transparent 72%)}}
.rec:active .led-btn{transform:scale(.92)}
.rec:active .led-btn img{filter:brightness(1.25) drop-shadow(0 4px 6px rgba(120,0,0,.28))}
@media (prefers-reduced-motion:reduce){.led-btn .sweep{animation-duration:20s}}

/* archivos y videollamada de las tareas */
.tk-who{width:30px;height:30px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue);max-width:none}
.tk-who.by::before{content:none}
.tk-side{gap:4px}
.tk-side .tk-chat-mini{width:34px;height:34px;font-size:16px}
.tk-chat-mini i.n{background:var(--blue)}
.tk-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tfd-add{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.tf-att{display:grid;gap:4px}
.tfd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.tfd-item{all:unset;cursor:pointer;display:grid;gap:4px;justify-items:center;text-align:center}
.tfd-item .th{width:100%;aspect-ratio:1;border-radius:12px;background:var(--fill);display:grid;place-items:center;font-size:34px;overflow:hidden}
.tfd-item .th img{width:100%;height:100%;object-fit:cover}
.tfd-item .nm{font-size:12px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.fv{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#000;flex-direction:column}
.fv[open]{display:flex}
.fv::backdrop{background:#000}
.fv-top{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:calc(6px + env(safe-area-inset-top)) 8px 6px;background:#111;color:#fff}
.fv-x{all:unset;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;font-size:20px;color:#fff;border-radius:50%;background:#ffffff1f}
.fv-name{text-align:center;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px}
.fv-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;display:block;background:#000;padding-bottom:env(safe-area-inset-bottom)}
.fv-img{display:block;max-width:100%;max-height:100%;margin:auto;object-fit:contain;min-height:100%}
.fv-frame{width:100%;height:100%;border:0;background:#fff}
.fv-media{display:block;width:100%;max-height:100%;margin:auto}
.fv-msg{color:#ddd;text-align:center;padding:40px 20px;line-height:1.5}
.fv-sheet{color:#fff;margin:14px 12px 6px;font-size:14px}
.fv-table{background:#fff;color:#000;overflow:auto;margin:0 0 10px}
.fv-table table{border-collapse:collapse;font-size:13px}
.fv-table td{border:1px solid #ddd;padding:4px 7px;white-space:nowrap}
.fv-doc{background:#fff;color:#000;padding:18px 16px;line-height:1.5;min-height:100%}
.fv-doc img{max-width:100%}
.fv-text{background:#fff;color:#000;padding:14px;margin:0;white-space:pre-wrap;font-size:13px;min-height:100%}
.vc-when{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:12px 0 6px}
.vc-when input{width:100%;box-sizing:border-box}
#vc-now{margin-top:8px}

/* calendario único con etiquetas */
.dy-tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.dy-tags .chip.add{background:none;border:1.5px dashed var(--blue);color:var(--blue)}
.dot.k-legal{background:#af52de} .dot.k-task{background:#34c759}
.dy-list li.e-legal .ki{color:#af52de} .dy-list li.e-task .ki{color:#34c759}
.new-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.di-tags{margin:4px 0 8px}

.bubble .tx a.tx-link{color:inherit;text-decoration:underline;font-weight:600;word-break:break-all}
.bubble.them .tx a.tx-link{color:var(--accent,#0a84ff)}
.vc-share{display:flex;gap:8px;margin-top:8px}.vc-share>*{flex:1;text-align:center;text-decoration:none}

/* esperando a un tercero: azul */
:root{--ext:#0a84ff}
.st.ext{background:color-mix(in srgb,var(--ext) 15%,transparent);color:var(--ext)}
.tk-line.st-blue .ic{background:var(--ext);font-size:12px} .tk-line.st-blue .sb{color:var(--ext)}
.state-btn.blue{background:var(--ext)} .sw-b.blue{background:var(--ext)} .ct-av.st-blue{background:var(--ext)}
.chase-bar{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.chase-bar>*{flex:1 1 40%;text-align:center;text-decoration:none}
.tf-ext-t{display:flex;align-items:center;gap:10px;font-weight:600;margin:6px 0}.tf-ext-t input{width:22px;height:22px;margin:0;flex:none}
.tf-ext{border-left:3px solid var(--ext);padding-left:12px;margin-bottom:8px}
#xd-dialog label{display:block;margin-bottom:8px}
.fu-chips{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 10px}.chase-bar .fu-next{flex:1 1 100%;text-align:left;padding:4px 0}
.chase-msg{flex:1 1 100%;display:flex;flex-direction:column;gap:4px}.chase-msg textarea{width:100%;min-height:76px}.chase-msg .cm-row{display:flex;justify-content:space-between;align-items:center}

/* recordatorios: violeta */
:root{--rem:#af52de}
.tf-type{margin-bottom:12px}.tf-type button{flex:1}
.st.rem{background:color-mix(in srgb,var(--rem) 15%,transparent);color:var(--rem)}
.tk-line.st-violet .ic{background:var(--rem);font-size:12px} .tk-line.st-violet .sb{color:var(--rem)}
.state-btn.violet{background:var(--rem)} .sw-b.violet{background:var(--rem)} .ct-av.st-violet{background:var(--rem)}
.rem-bar{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.rem-bar>*{flex:1 1 40%}
.tf-ext-t[hidden]{display:none}
.fu-chips .chip{background:var(--fill);font-size:14px;padding:6px 11px}
#tf-due-w[hidden],#tf-urg-w[hidden],#tf-rem-w[hidden],#tf-who-w[hidden]{display:none}
.tel-wa{display:flex;gap:6px;align-items:center}.tel-wa input{flex:1;min-width:0}
.wa-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#25d366;text-decoration:none;font-size:20px}
.wa-btn[hidden]{display:none}.tk-chat-mini.wa{background:color-mix(in srgb,#25d366 25%,transparent);text-decoration:none}
#xd-dialog label>input,#tf-ext-w label>input{display:block;width:100%;box-sizing:border-box;margin-top:4px}
.tv-seen{font-size:14px;line-height:1.35;padding:9px 12px;border-radius:12px;margin:8px 0}.tv-seen.ok{background:color-mix(in srgb,var(--green) 14%,transparent);color:#1e8e3e}.tv-seen.no{background:color-mix(in srgb,var(--orange) 14%,transparent);color:#b35c00}.tv-seen.q{background:color-mix(in srgb,#8e8e93 18%,transparent);color:var(--fg)}
.bubble .meta .seen.ok{color:inherit;font-weight:600}.bubble .meta .seen.no{opacity:.85}.bubble .meta .seen.q{font-style:italic}

/* correo */
.mail-ico{display:flex;align-items:center;justify-content:center;font-size:22px;grid-template-rows:none}
.mail-mine{display:grid;gap:4px;margin:4px 0 12px;font-size:15px}
.mail-mine .ms{font-weight:600}
.mail-mine .ms.ok{color:var(--green)}
.mail-mine .ms.err{color:var(--red)}
.mail-acc{display:grid;gap:2px;padding:8px 10px;background:var(--fill);border-radius:10px;margin-bottom:6px}
.mail-acc-acts{display:flex;gap:14px;justify-content:flex-end}
.mail-acc-acts .link{font-size:14px}
.mail-acc-acts .danger{color:var(--red)}
#mail-dialog p{font-weight:400;font-size:14px;line-height:1.35}
.mail-acts{display:flex;gap:8px;margin-bottom:10px}
.mail-acts .btn{flex:1}
.mail-acts [hidden]{display:none}
.mail-th{margin:14px 0 6px;font-size:15px}
.mail-team{display:grid;gap:6px}
.mail-row{display:grid;gap:2px;padding:8px 10px;background:var(--fill);border-radius:10px;font-size:14px}
.mail-row b{font-weight:600}
.mail-row .muted{font-size:13px}
.mail-row .err{color:var(--red);font-size:13px}
.tk-mail{margin-right:4px}

/* personas de la sociedad: editar */
.crow .cc-acts{display:flex;gap:12px;margin-left:auto;flex:none}
.crow .cc-acts .ed{all:unset;color:var(--blue);font-size:15px;cursor:pointer}
.crow.editing{background:var(--fill)}
.contact-add .cc-btns{display:flex;gap:8px}
.contact-add .cc-btns .btn{flex:1}
.contact-add .cc-btns [hidden]{display:none}

/* instalar / otros dispositivos */
.install-note{display:grid;gap:10px}
.install-note[hidden]{display:none}
.install-note [hidden]{display:none}
#devices-dialog p{font-weight:400;font-size:15px;line-height:1.4}
#devices-dialog .muted.small{font-size:13px}
.dv-steps{margin:6px 0 12px;padding-left:20px;font-size:15px;line-height:1.5}
.dv-btns{display:flex;gap:8px;margin-bottom:6px}
.dv-btns .btn{flex:1}
.dv-btns [hidden]{display:none}
.dv-h{margin:14px 0 6px;font-size:15px}
.dv-list{margin:0 0 10px;padding-left:18px;font-size:14px;line-height:1.45;display:grid;gap:6px}

/* Xzen: acción propuesta */
.xz-act{align-self:flex-start;max-width:85%;margin:-2px 0 8px;padding:12px;border-radius:14px;background:var(--cell);box-shadow:inset 0 0 0 1px var(--sep);display:grid;gap:4px}
.xz-act .xa-t{font-weight:600;font-size:15px}
.xz-act .xa-s{font-size:14px;color:var(--muted)}
.xz-act .xa-s[hidden]{display:none}
.xz-act .xa-b{display:flex;gap:8px;margin-top:6px}
.xz-act .xa-b[hidden]{display:none}
.xz-act .xa-b .btn{flex:1;padding:9px 10px;font-size:15px}
.xz-act .xa-st{font-size:14px;color:var(--muted)}
.xz-act.done .xa-st{color:var(--green)}
.xz-hint[hidden]{display:none}
.imp-hint{display:block;margin-top:4px;font-size:13px;color:var(--orange)}
.imp-hint[hidden]{display:none}

/* «＋ Tarea»: botón principal, bien visible */
.tk-add-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;padding:9px 16px 9px 12px;border-radius:999px;background:var(--blue);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(0,122,255,.35);-webkit-tap-highlight-color:transparent}
.tk-add-btn .pl{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.22);font-size:17px;line-height:1}
.tk-add-btn:active{transform:scale(.96);filter:brightness(.92)}
.tk-add-btn[hidden]{display:none}
.tk-add-btn.sm{padding:6px 12px 6px 8px;font-size:15px}
.tk-add-btn.sm .pl{width:19px;height:19px;font-size:15px}
.tk-head{margin-bottom:6px}
.mail-setup{display:grid;gap:8px;margin:6px 0 12px;padding:10px;border-radius:12px;background:var(--fill)}
.mail-setup[hidden]{display:none}
.mail-imap{margin:0 0 10px}
.tf-from-msg{width:100%;margin:2px 0 10px}
#wm-dialog textarea{width:100%;box-sizing:border-box;margin:6px 0}
.sc-key{display:flex;gap:8px;margin:6px 0}.sc-key input{flex:1;min-width:0;font:13px ui-monospace,Menlo,monospace}.sc-key[hidden]{display:none}
.sc-steps{padding-left:18px;display:grid;gap:4px}.sc-url{word-break:break-all;font-family:ui-monospace,Menlo,monospace}
#sc-install{display:block;text-align:center;text-decoration:none}#sc-install[hidden]{display:none}
.mail-imap summary{cursor:pointer;color:var(--accent,#0a84ff);font-size:14px;padding:4px 0}
.mail-imap .mail-setup{margin-top:6px}
.mail-imap [hidden]{display:none}
.mail-setup input{width:100%;box-sizing:border-box}

/* ===== carga de trabajo: peso, termómetro, ayuda, métricas ===== */
.w-dialog{border:0;border-radius:16px;padding:20px;max-width:420px;width:calc(100% - 32px);background:var(--cell);color:var(--fg)}
.w-dialog::backdrop{background:#0008}
.w-dialog h3{margin:0 0 6px;font-size:19px}
.w-task{margin:0 0 6px;font-weight:600}
.w-note{margin:8px 0;padding:10px 12px;border-radius:10px;background:#0a84ff1a;font-size:13px}
.w-note[hidden]{display:none}
.w-opts{display:grid;gap:8px;margin-top:12px}
.w-opt{display:flex;align-items:center;gap:12px;border:1px solid var(--sep);background:var(--bg);color:var(--fg);border-radius:12px;padding:10px 12px;font:inherit;text-align:left;cursor:pointer}
.w-opt b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#fff;font-size:17px;flex:none}
.w-opt.w1 b{background:#2e9d4f}.w-opt.w2 b{background:#7cb342}.w-opt.w3 b{background:#f0a020}.w-opt.w4 b{background:#ef6c00}.w-opt.w5 b{background:#d93025}
.w-btns{display:flex;justify-content:flex-end;margin-top:12px}
.w-btns .btn[hidden]{display:none}
.pick-opts{display:grid;gap:8px;margin-top:12px}
.pick-opt{display:grid;text-align:left;gap:2px}
.pick-opt small{font-weight:400;opacity:.8;font-size:12px}
#pick-text{margin-top:8px;width:100%;box-sizing:border-box}
#pick-text[hidden],#pick-sub[hidden]{display:none}
.thermo{display:grid;gap:8px;margin:4px 0 10px}
.thermo[hidden]{display:none}
.th{background:var(--bg);border-radius:12px;padding:10px 12px}
.th.tap{cursor:pointer}
.th-top{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}
.th-tube{position:relative;height:14px;margin:8px 0 6px 10px;border-radius:7px;background:linear-gradient(90deg,#2e9d4f22,#f0a02022,#d9302522);border:1px solid var(--sep)}
.th-bulb{position:absolute;left:-10px;top:50%;width:20px;height:20px;border-radius:50%;transform:translateY(-50%);border:1px solid var(--sep)}
.th-fill{position:absolute;left:0;top:0;bottom:0;border-radius:7px;transition:width .4s}
.th-ticks{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(33.33% - 1px),var(--sep) calc(33.33% - 1px) 33.33%);border-radius:7px;pointer-events:none}
.th-tx{margin:0;color:var(--muted)}
.th-score{background:none;border:0;padding:0 4px;text-align:left;color:var(--fg);font:inherit;font-size:13px;cursor:pointer}
.th-help{justify-self:start;background:none;border:1px solid #d93025;color:#d93025;border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.th-help.red{background:#d93025;color:#fff}
.th-alert{display:grid;gap:6px;padding:12px;border-radius:12px;background:#d930251a;border:1px solid #d93025}
.th-alert b{color:#d93025}
.th-alert-b{display:flex;gap:12px;align-items:center}
.danger-btn{background:#d93025!important;color:#fff!important}
.th-notice{padding:10px 12px;border-radius:10px;background:#0a84ff1a;display:grid;gap:4px}
.th-notice .link{justify-self:start}
.met-dialog{border:0;padding:0;width:100%;max-width:640px;height:100%;max-height:100%;margin:auto;background:var(--bg);color:var(--fg)}
.met-dialog .navbar{position:sticky;top:0;background:var(--bg);z-index:1;display:flex;justify-content:space-between;align-items:center;padding:12px 16px}
.met-body{padding:0 16px 40px}
.met-sec{background:var(--cell);border-radius:12px;padding:12px 14px;margin:12px 0}
.met-sec h3{margin:0 0 6px;font-size:16px}
.met-kv{margin:8px 0 0}
.met-big{font-size:30px;font-weight:700;margin:6px 0}
.met-bars{display:flex;gap:10px;align-items:flex-end;height:110px;margin:10px 0}
.met-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;font-size:12px}
.met-bar i{display:block;width:70%;min-height:2px;background:#0a84ff;border-radius:4px 4px 0 0}
.met-bar span{color:var(--muted)}
.met-tbl{width:100%;border-collapse:collapse;font-size:13px}
.met-tbl th,.met-tbl td{padding:5px 4px;border-bottom:1px solid var(--sep);text-align:left}
.met-tbl td:not(:first-child),.met-tbl th:not(:first-child){text-align:right}
.met-rev{display:grid;gap:8px}
.mr-s{display:flex;gap:4px}
.mr-star{background:none;border:0;font-size:28px;color:var(--muted2);cursor:pointer;padding:0}
.mr-star.on{color:#f0a020}
.mr-hist{margin:0;padding-left:18px;font-size:13px}
.met-types{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
#tf-recur-w[hidden]{display:none}
.w-dialog,.met-dialog{text-align:left}
.met-dialog{position:fixed;inset:0;width:100%;max-width:640px;height:100dvh;max-height:100dvh;border-radius:0}
.met-dialog::backdrop{background:var(--bg)}
.met-kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px}
.met-kv dt{color:var(--fg)} .met-kv dd{margin:0;color:var(--muted);text-align:right}

/* ===== libreta ===== */
.nb-entry{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 12px;padding:12px 14px;border:0;border-radius:14px;background:var(--cell);color:var(--fg);font:inherit;text-align:left;cursor:pointer}
.nb-ic{font-size:26px}
.nb-tx{display:grid;gap:2px}.nb-tx small{color:var(--muted);font-size:13px}
.nb-date{margin:-4px 16px 10px}
.nb-write{display:grid;gap:8px}
.nb-write[hidden]{display:none}
.nb-btns{display:grid;grid-template-columns:auto 1fr;gap:8px}
#nb-mic{white-space:nowrap;font-variant-numeric:tabular-nums}
#nb-mic.on{background:var(--red);color:#fff}
#nb-text{resize:none;min-height:52px;font-size:17px;width:100%;box-sizing:border-box}
.nb-help{margin:8px 16px}
.nb-dup{display:grid;gap:6px;padding:10px 12px;border-radius:10px;background:var(--warn-bg);font-size:14px}
.nb-dup[hidden]{display:none}
.nb-dup div{display:flex;gap:8px;flex-wrap:wrap}
.nb-list{list-style:none;margin:0 16px;padding:0;display:grid;gap:6px}
.nb-line{display:grid;grid-template-columns:1fr auto;gap:2px 10px;background:var(--cell);border-radius:10px;padding:10px 12px;border-left:4px solid var(--sep)}
.nb-line.k-tarea{border-left-color:var(--orange)}.nb-line.k-recordatorio{border-left-color:var(--indigo)}.nb-line.k-nota{border-left-color:var(--green)}
.nb-t{font-size:16px;white-space:pre-wrap;word-break:break-word}
.nb-x{grid-row:1/3;grid-column:2;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.nb-meta{font-size:12px;color:var(--muted)}
.nb-empty{padding:8px 2px}
.nb-search{margin:0 16px 8px}.nb-search input{width:100%;box-sizing:border-box}
#nb-now[hidden]{display:none}
/* cronómetro */
.clk{display:inline-block;margin-top:2px;padding:1px 7px;border-radius:999px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:start;width:max-content}
.clk.c-red{background:#ff3b301f;color:var(--red)}.clk.c-orange{background:#ff95001f;color:var(--orange)}.clk.c-gray{background:var(--fill);color:var(--muted)}.clk.c-green{background:#34c7591f;color:var(--green)}
.th-pending{justify-self:stretch;text-align:left;border:1px solid var(--orange);background:#ff95001a;color:var(--fg);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;cursor:pointer}
/* contador de mensajes sin leer, como en WhatsApp */
.chip-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:10px;background:var(--red);color:#fff;font:700 12px/1 system-ui,-apple-system,sans-serif;font-style:normal;box-sizing:border-box}
.chip.unread .chip-n{background:#fff;color:var(--blue)}
.tk-line.msg-unread{position:relative}
.tk-line.msg-unread .chip-n{position:absolute;right:12px;top:50%;transform:translateY(-50%)}

/* Mi correo: lo que entra (tareas por supervisar y comunicaciones) */
.mail-feed{display:grid;gap:6px;margin-bottom:10px}
.mail-th.alert{color:var(--red,#ff453a)}
.mf-row{display:grid;gap:2px;text-align:left;padding:8px 10px;background:var(--fill);border:0;border-radius:10px;color:inherit;font:inherit;width:100%}
.mf-det>summary{cursor:pointer;padding:6px 2px;font-weight:600}
.mf-det{display:grid;gap:6px}
.mf-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.mf-msg{display:grid;gap:2px;padding:8px 10px;background:var(--fill);border-radius:10px;border-left:3px solid #0a84ff}
.mf-msg.auto{border-left-color:#8e8e93}
.mf-msg.read{opacity:.65;border-left-color:transparent}
.mf-top{display:flex;justify-content:space-between;gap:8px}
.mf-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mf-subj{font-size:15px}

/* tareas de la portada: lo mío separado de lo del equipo */
.tk-sub{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px 2px 2px;color:var(--muted,#8e8e93)}
.tk-sub.me{color:#0a84ff}
.tk-who.me{background:#0a84ff;color:#fff;font-size:11px;letter-spacing:0}
.tk-scroll.long{max-height:min(62vh,560px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--sep,rgba(128,128,128,.25));mask-image:linear-gradient(#000 calc(100% - 28px),transparent)}

/* histórico de la tarea (todas las conversaciones) */
.ch-hist{position:relative}
.ch-hist i{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#0a84ff;color:#fff;font:700 10px/16px system-ui;font-style:normal}
.chh-list{max-height:70vh;overflow-y:auto;padding-bottom:8px}
.chh-thread{margin:10px auto 4px;padding:3px 10px;border-radius:10px;background:var(--fill);font-size:12px;font-weight:600;width:fit-content}
.chh-who{font-size:12px;font-weight:700;opacity:.75;margin-bottom:2px}
.chh-list .bubble.them{background:var(--fill)}
.tk-scroll.long{overflow-y:hidden;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:box-shadow .2s}
.tk-scroll.long.on{overflow-y:auto;box-shadow:inset 0 0 0 2px #0a84ff;border-radius:12px}
.tk-scroll-hint{font-size:12px;color:var(--muted,#8e8e93);padding:0 2px 4px}
.tk-scroll-hint:empty{display:none}
@media (pointer: coarse){.tk-scroll.long.on{overflow-y:hidden}}
.tk-scroll.long{touch-action:manipulation}

/* filtro de las tareas de la portada */
.tkf{display:grid;gap:8px;margin:2px 0 6px}
.tkf-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.tkf-row::-webkit-scrollbar{display:none}
.tkf-b,.tkf-p{flex:none;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:16px;padding:6px 12px;font:600 14px/1.2 system-ui;background:var(--fill);color:inherit;white-space:nowrap}
.tkf-b i,.tkf-p i{font-style:normal;font-weight:700;opacity:.6;font-size:12px}
.tkf-b.on,.tkf-p.on{background:#0a84ff;color:#fff}.tkf-b.on i,.tkf-p.on i{opacity:.9}
.tkf-p{padding:4px 12px 4px 4px}
.tkf-p .av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:color-mix(in srgb,#0a84ff 18%,transparent);color:#0a84ff}
.tkf-p.on .av{background:#fff;color:#0a84ff}
.tkf-x{justify-self:start;font-size:14px}
.tkf-b.back{color:#0a84ff}
.tkf-row.pick{flex-wrap:wrap;overflow:visible}
/* filtro escondido bajo el botón «Filtro» (v147) */
.tkf-row{flex-wrap:wrap;overflow:visible}
.tkf-top{display:flex;gap:8px;align-items:center}
.tkf-dd{border:0;border-radius:12px;background:var(--fill);color:inherit;padding:7px 12px;font:600 14px/1.2 system-ui;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkf-dd.on{background:#0a84ff;color:#fff}
.tkf-x{justify-self:auto;border:0;width:32px;height:32px;border-radius:50%;background:var(--fill);color:inherit;font-size:14px}
/* lista larga: scroll siempre activo (v150) */
.tk-scroll.long,.tk-scroll.long.on{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:none;border-radius:0}
@media (pointer: coarse){.tk-scroll.long.on{overflow-y:auto}}
/* v151: sin lista con scroll propio dentro de la página (en el iPhone se mezclaba con el scroll de la página):
   todas las tareas van seguidas y se mueve la página entera */
.tk-scroll.long,.tk-scroll.long.on{max-height:none;overflow:visible;mask-image:none;-webkit-mask-image:none;border-bottom:0;touch-action:auto;-webkit-user-select:auto;user-select:auto}
@media (pointer: coarse){.tk-scroll.long.on{overflow:visible}}
/* v152: vuelve la lista con scroll propio; dedo quieto → se mueve la pantalla */
.tk-scroll.long,.tk-scroll.long.on{max-height:min(62vh,560px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-bottom:1px solid var(--sep,rgba(128,128,128,.25));-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:auto;mask-image:none;-webkit-mask-image:none}
@media (pointer: coarse){.tk-scroll.long.on{overflow-y:auto}}
.tk-scroll.long.page{opacity:.75;transition:opacity .15s}
/* v153: que el toque largo no active la selección de texto ni el menú del iPhone; aviso visible del modo pantalla */
.tk-scroll.long *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.tk-scroll.long.page{opacity:1;box-shadow:inset 0 0 0 2px #0a84ff;border-radius:12px}
.tk-scroll.long.page::before{content:"↕ Moviendo la pantalla";position:sticky;top:0;display:block;z-index:5;text-align:center;font:600 12px system-ui;color:#fff;background:#0a84ff;padding:3px 0;border-radius:10px 10px 0 0}
/* v154: la lista enseña unas 4 tareas y media (para que se note que hay más) y el resto corre con el dedo */
.tk-scroll.long,.tk-scroll.long.on{max-height:290px}
.tk-scroll.long,.tk-scroll.long.on{max-height:330px}
/* v157: la lista no retiene el gesto al llegar a su principio o final */
.tk-scroll.long,.tk-scroll.long.on{overscroll-behavior:auto}
/* novedades de la tarea (v158) */
.tk-news{display:block;font-size:13px;font-weight:600;color:#0a84ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tk-line.has-news .ic{position:relative}
.tk-line.has-news .ic::after{content:"";position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;background:#0a84ff;box-shadow:0 0 0 2px var(--cell)}
/* novedades más visibles: parpadean (v159) */
@keyframes newBlink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes newPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}
.tk-news{animation:newBlink 1.1s ease-in-out infinite}
.tk-line.has-news .ic::after{width:13px;height:13px;background:#ff3b30;animation:newPulse 1.1s ease-in-out infinite}
.tk-news{color:#ff453a}
/* historial: lo nuevo, señalado */
.tk-log li.is-new{background:color-mix(in srgb,#ff3b30 14%,transparent);box-shadow:inset 4px 0 0 #ff3b30}
.new-pill{display:inline-block;margin-right:6px;padding:1px 6px;border-radius:6px;background:#ff3b30;color:#fff;font:700 10px/1.5 system-ui;letter-spacing:.06em;vertical-align:1px;animation:newBlink 1.1s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.tk-news,.new-pill,.tk-line.has-news .ic::after{animation-duration:2.4s}}
/* Xzen siempre presente: botón flotante abajo a la derecha */
.xz-fab{all:unset;box-sizing:border-box;position:fixed;z-index:50;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:62px;height:62px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:radial-gradient(circle at 30% 30%,#1b2440,#05070d);box-shadow:0 6px 20px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.08);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.xz-fab[hidden]{display:none}
.xz-fab:active{transform:scale(.94)}
.xz-fab .xz{transform:scale(.62)}
.xz-fab:focus-visible{outline:2px solid #0a84ff;outline-offset:3px}
body.has-fab{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
.xz-fab{width:58px;height:58px}
.xz-fab .xz{transform:scale(.47)}
/* XZ flotando: solo las letras, sin fondo, con una sombra suave para que se lean sobre cualquier cosa */
.xz-fab{background:none;box-shadow:none;width:76px;height:64px}
.xz-fab .xz{transform:scale(.62);filter:drop-shadow(0 4px 10px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(10,132,255,.35))}
@keyframes xzFloat{0%,100%{translate:0 0}50%{translate:0 -4px}}
.xz-fab{animation:xzFloat 3.2s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.xz-fab{animation:none}}

/* recordatorio con videoconferencia: el 🎥 se resalta y abre el enlace puesto */
.tk-chat-mini.vid-on{background:var(--blue,#0a84ff);color:#fff;box-shadow:0 0 0 2px rgba(10,132,255,.35)}

/* inicio: Grabar e Importar al lado del título */
.home-title{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.home-title h1{margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec.rec-mini{position:relative;flex:none;width:auto;margin:0;gap:0}
.rec.rec-mini .led-btn{width:34px;height:34px}
.rec.rec-mini .lbl{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:1px;font-size:10px;line-height:12px;white-space:nowrap}
.import-btn.imp-mini{display:inline-flex;align-items:center;height:34px;margin:0;padding:0 13px;font-size:14px;flex:none;border-radius:999px}
.mode.mode-mini{margin:12px 0 12px}
@media (max-width:360px){.home-title h1{font-size:28px}}
/* XZ flotante más grande: se veía poco */
.xz-fab{width:108px;height:88px;right:max(8px,env(safe-area-inset-right,0px))}
.xz-fab .xz{transform:scale(.95)}
body.has-fab{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
/* en el chat, XZ flota por encima de la barra de escribir */
body.fab-chat .xz-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
body.fab-chat.has-fab{padding-bottom:0}
/* ===== calendario como el del iPhone ===== */
.dy-apple{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.dy-nav .dy-back{color:var(--red);font-size:17px}
.dy-plus{color:var(--red);font-size:28px;line-height:1;padding:0 4px;font-weight:300}
.dy-mhead{display:flex;align-items:baseline;justify-content:space-between;margin:2px 0 6px}
.dy-mtitle{margin:0;font-size:34px}
.dy-mtitle small{font-size:34px;font-weight:700;color:var(--red)}
.dy-arrows .link{font-size:26px;color:var(--red);padding:0 10px}
.dy-apple .mgrid-head span{font-size:13px;color:var(--muted)}
.dy-apple .mgrid{background:none;border-radius:0;padding:0;row-gap:0}
.dy-apple #dy-grid .mday{border-top:.5px solid var(--sep,rgba(128,128,128,.35));border-radius:0;padding:4px 0 8px;min-height:52px;align-content:start}
.dy-apple .mday .n{font-size:19px;width:34px;height:34px;line-height:34px}
.dy-apple .mday.today .n{background:var(--red);color:#fff;font-weight:700}
.dy-apple .mday.sel:not(.today) .n{background:var(--fg);color:var(--bg)}
.dy-apple .mday .dot{width:6px;height:6px;border-radius:50%;background:var(--muted2)!important}
.dy-apple #dy-day-h{margin-top:14px}
.dy-apple .dy-list li{position:relative}
.dy-apple .dy-list li::before{content:"";position:absolute;left:62px;top:12px;bottom:12px;width:3px;border-radius:2px;background:var(--c,#0a84ff)}
.dy-apple .dy-list .fg{grid-template-columns:52px minmax(0,1fr);padding-left:12px}
.dy-apple .dy-list .t,.dy-apple .dy-list .s{padding-left:12px}
/* vista de día */
.dy-wsticky{position:sticky;top:0;z-index:5;background:var(--bg);padding:2px 0 6px;margin:0 -16px;padding-left:16px;padding-right:16px;border-bottom:.5px solid var(--sep,rgba(128,128,128,.35))}
.dy-whead{margin-top:2px}
.dy-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.dy-week .mday{padding:2px 0 4px;min-height:0;gap:2px}
.dy-week .mday .dots{height:5px}
.dy-week .mday .dot{width:5px;height:5px}
.dy-dlabel{margin:4px 0 2px;text-align:center;font-size:15px;font-weight:600}
.dy-allday{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:6px}
.dy-adl{font-size:11px;color:var(--muted);width:46px}
.dy-adev{all:unset;cursor:pointer;flex:1 1 40%;min-width:0;font-size:13px;font-weight:600;padding:4px 8px;border-radius:6px;color:var(--c);background:color-mix(in srgb,var(--c) 22%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dy-time{position:relative;margin-top:8px}
.dy-hr{position:absolute;left:0;right:0;height:0;border-top:.5px solid var(--sep,rgba(128,128,128,.3))}
.dy-hr span{position:absolute;left:0;top:-8px;font-size:11px;color:var(--muted);background:var(--bg);padding-right:6px;font-variant-numeric:tabular-nums}
.dy-lane{position:absolute;left:50px;right:0;top:0;bottom:0;touch-action:pan-y}
.dy-ev{all:unset;box-sizing:border-box;position:absolute;cursor:pointer;overflow:hidden;border-radius:6px;padding:3px 6px 3px 8px;background:color-mix(in srgb,var(--c) 24%,var(--bg));border-left:3px solid var(--c);display:flex;flex-direction:column;gap:1px}
.dy-ev b{font-size:13px;line-height:16px;font-weight:600;color:color-mix(in srgb,var(--c) 70%,var(--fg));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dy-ev small{font-size:11.5px;line-height:14px;color:color-mix(in srgb,var(--c) 45%,var(--fg));overflow:hidden}
.dy-ev.short{flex-direction:row;align-items:center;padding-top:0;padding-bottom:0}
.dy-ev.prov,.dy-adev.prov{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 18%,var(--bg)) 0 6px,var(--bg) 6px 10px)}
.dy-now{position:absolute;left:0;right:0;height:0;z-index:3;pointer-events:none}
.dy-now span{position:absolute;left:0;top:-8px;font-size:11px;font-weight:700;color:var(--red);background:var(--bg);padding-right:4px;font-variant-numeric:tabular-nums}
.dy-now i{position:absolute;left:46px;right:0;top:0;border-top:2px solid var(--red)}
.dy-now i::before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--red)}
/* barra de abajo, como en el iPhone */
.dy-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:.5px solid var(--sep,rgba(128,128,128,.35))}
.dy-bar .link{color:var(--red);font-size:17px}
.view[hidden] .dy-bar{display:none}
.dy-cal-sheet .dy-tags{margin:6px 0 12px}
.dy-cal-sheet .ag-foot{font-size:13px;margin:8px 0 0}
.dy-apple .dy-nav{position:sticky;top:0;z-index:7;background:var(--bg);margin:0 -16px;padding-left:16px;padding-right:16px}
.dy-apple .dy-wsticky{top:var(--dy-navh,44px)}
/* calendario: día · semana · mes · año */
.dy-modes{margin:4px 0 10px}
.dy-apple .dy-tags{margin:2px 0 8px}
.dy-lanes{position:absolute;left:50px;right:0;top:0;bottom:0;display:grid}
.dy-time.wk .dy-lanes{left:40px}
.dy-time.wk .dy-hr span{font-size:10px}
.dy-lanes .dy-lane{position:relative;left:auto;right:auto;top:auto;bottom:auto;touch-action:pan-y;min-width:0}
.dy-time.wk .dy-lane+.dy-lane{border-left:.5px solid var(--sep,rgba(128,128,128,.25))}
.dy-time.wk .dy-ev{padding:2px 3px 2px 4px;border-left-width:2px}
.dy-time.wk .dy-ev b{font-size:11px;line-height:13px;white-space:normal;word-break:break-word}
.dy-time.wk .dy-ev small{font-size:10px}
.dy-now{left:0;right:0}
.dy-now i{left:0}
.dy-nowl{position:absolute;left:0;z-index:4;transform:translateY(-8px);font-size:11px;font-weight:700;color:var(--red);background:var(--bg);padding-right:4px;font-variant-numeric:tabular-nums;pointer-events:none}
.dy-ev.movable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.dy-ev .grip{position:absolute;left:30%;right:30%;bottom:2px;height:3px;border-radius:2px;background:var(--c);opacity:0;transition:opacity .15s}
.dy-ev.drag{z-index:10;box-shadow:0 8px 22px rgba(0,0,0,.45);opacity:.95;background:color-mix(in srgb,var(--c) 40%,var(--bg))}
.dy-ev.drag .grip{opacity:.9}
/* semana */
.dy-wcols{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-left:40px}
.dy-wday{all:unset;cursor:pointer;display:grid;justify-items:center;padding:2px 0 4px}
.dy-wday small{font-size:11px;color:var(--muted)}
.dy-wday span{font-size:17px;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%}
.dy-wday.today span{background:var(--red);color:#fff;font-weight:700}
.dy-wday.sel:not(.today) span{background:var(--fg);color:var(--bg)}
.dy-wallday{gap:2px;margin-top:4px}
.dy-wad{display:grid;gap:2px;min-width:0}
.dy-wad .dy-adev{font-size:10.5px;padding:2px 3px;border-radius:4px}
.dy-wallday[hidden]{display:none}
/* año */
.dy-ygrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;margin-top:6px}
.dy-ymon{all:unset;cursor:pointer;display:grid;gap:4px;align-content:start}
.dy-ymon b{font-size:17px;color:var(--fg)}
.dy-ymon.cur b{color:var(--red)}
.dy-ymon .g{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;font-size:8.5px;text-align:center;font-variant-numeric:tabular-nums}
.dy-ymon .g i{font-style:normal;line-height:13px;height:13px;border-radius:50%}
.dy-ymon .g i.today{background:var(--red);color:#fff;font-weight:700}
.dy-ymon .g i.has{font-weight:700}
/* ficha de una cita */
.dy-apple-ev .dy-back{color:var(--red)}
.dy-apple-ev #de-edit{color:var(--red)}
.de-title{font-size:26px;line-height:31px;margin:6px 0 4px}
.de-where{margin:0 0 8px;color:var(--muted);font-size:16px}
.de-when{margin:0 0 14px;font-size:16px;line-height:22px}
.de-rows{display:grid;padding:0 16px}
.de-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:.5px solid var(--sep,rgba(128,128,128,.3));font-size:15px}
.de-row:last-child{border-bottom:0}
.de-row .k{color:var(--muted)}
.de-row .v{word-break:break-word;white-space:pre-wrap}
.de-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:0}
.de-delete{display:block;width:100%;margin-top:22px;color:var(--red)}
.dy-modes .seg.on{background:var(--cell2,#636366);color:#fff;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.25)}
@media (prefers-color-scheme:light){.dy-modes .seg.on{background:#fff;color:#000}}
.dy-time.wk .dy-ev b{white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;font-size:10.5px;line-height:12.5px}
.dy-apple:not(.v-month) .ag-foot,.dy-apple:not(.v-month) #dy-legal-w{display:none}
/* 👋 menciones: la mano saluda */
@keyframes wave{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(16deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(16deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(12deg)}}
.wave{display:inline-block;transform-origin:70% 75%;animation:wave 1.8s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.wave{animation-duration:6s}}
.ment-box{margin:0 0 12px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,#ffcc00 14%,var(--cell));border:1px solid color-mix(in srgb,#ffcc00 45%,transparent)}
.ment-h{font-size:13px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:#ffcc00;margin-bottom:6px}
.ment-row{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;width:100%;padding:8px 2px;border-top:.5px solid var(--sep,rgba(128,128,128,.3))}
.ment-row:first-of-type{border-top:0}
.ment-row>.wave{font-size:24px;text-align:center}
.ment-row .bd{display:grid;gap:1px;min-width:0}
.ment-row b{font-size:15px}
.ment-row .tx{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ment-row small{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ment-pop{position:relative;z-index:30;display:grid;gap:2px;margin:4px 0;padding:4px;border-radius:12px;background:var(--cell);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.ment-pop[hidden]{display:none}
.ment-pop button{all:unset;cursor:pointer;padding:9px 10px;border-radius:8px;font-size:16px}
.ment-pop button:active,.ment-pop button:hover{background:var(--fill)}
.chat-bar .ment-pop{position:absolute;left:12px;right:12px;bottom:100%}
.ment-pop button{color:var(--fg)}
/* aviso de arranque (se quita en cuanto abre la app) */
.boot-msg{position:fixed;inset:0;z-index:999;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;background:var(--bg,#000);color:var(--fg,#fff)}
.boot-msg img{width:72px;height:72px;border-radius:16px}
.boot-msg .bm-t{font-size:17px;font-weight:600;margin:0}
.boot-msg .bm-d{font-size:13px;color:var(--muted,#8e8e93);margin:0;max-width:320px;word-break:break-word}
.boot-msg .bm-b[hidden]{display:none}
/* iCloud en los dos sentidos */
.ic-box{background:var(--fill);border-radius:12px;padding:12px;margin:4px 0 14px}
.ic-box h4,.ic-sub{margin:0 0 6px;font-size:15px}
.ic-sub{margin-top:6px}
.ic-box input{display:block;width:100%;box-sizing:border-box;margin:6px 0}
.ic-box #ic-connect{width:100%;margin-top:4px}
.ic-cals{display:grid;gap:6px;margin-top:6px}
.ic-cal{display:flex;align-items:center;gap:8px;justify-content:flex-start}
.ic-cal i{width:12px;height:12px;border-radius:50%;flex:none}
.ic-box [hidden]{display:none!important}
.ic-box p{font-weight:400}
.ic-box #ic-state{font-weight:600}
/* calendario en el iPhone: la barra de arriba no se mete debajo de la hora/batería del móvil */
.dy-apple .dy-nav{top:0;margin-top:calc(-4px - env(safe-area-inset-top));padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:6px;box-shadow:0 .5px 0 var(--sep,rgba(128,128,128,.3))}
.dy-hr.near span{visibility:hidden}
/* gestionar la reunión (v166) */
.d-tools{display:flex;gap:8px;margin:0 0 14px}
.d-tools .btn{flex:1;padding:11px 10px;font-size:15px}
.d-tools[hidden],.d-minutes[hidden],.d-tasks[hidden]{display:none}
.d-minutes h2,.d-tasks h2{margin-top:18px}
.dm-st{margin:0 0 8px}
.dm-text{min-height:260px;max-height:60vh;font-size:15px;line-height:1.45}
.dm-btns{display:flex;gap:8px;margin:8px 0 4px;flex-wrap:wrap}
.dm-btns .btn{flex:1 1 30%;padding:11px 8px;font-size:15px;white-space:nowrap}
.dt-list{display:grid;gap:1px;background:var(--sep);border-radius:10px;overflow:hidden}
.dt-row{display:grid;gap:2px;text-align:left;background:var(--cell);border:0;padding:11px 14px;cursor:pointer;color:var(--fg);font:inherit}
.dt-row:active{opacity:.6}
.dt-row.done .dt-t{text-decoration:line-through;color:var(--muted)}
.dt-t{font-size:16px;line-height:1.3}
.dt-s{font-size:13px;color:var(--muted)}
.dt-s.warn{color:var(--orange,#ff9500);font-weight:600}
.tr-hint{margin:-4px 0 8px}
.transcript.editable p{cursor:pointer;border-radius:8px;transition:background .15s}
.transcript.editable p:active{background:var(--fill)}
.tmeta .twho{font-weight:700}
dialog.sheet .btn.wide{display:block;width:100%;margin-top:8px}
dialog.sheet .chips{margin:-2px 0 10px}
.sg-scope{display:grid;gap:2px;margin:0 0 10px}
.sg-scope .rad{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--fg);margin:0;padding:4px 0}
.sg-scope .rad[hidden]{display:none}
.sg-scope input{width:20px;height:20px;margin:0;accent-color:var(--blue)}
#seg-dialog textarea{min-height:120px}
.ds-list{display:grid;gap:8px;margin-bottom:6px}
.ds-list .btn{text-align:left;font-size:16px;padding:12px 14px}
.ds-list [hidden]{display:none}
dialog.sheet .chip{background:var(--fill2)} dialog.sheet .chip.on{background:var(--fg);color:var(--bg)}
/* deslizar en todas las listas de tareas (v166) */
.sw-b.red{background:var(--red)}
.dt-wrap.sw,.mf-wrap.sw,.ment-wrap.sw{display:block}
.dt-wrap .sw-in,.mf-wrap .sw-in,.ment-wrap .sw-in{display:block}
.dt-wrap .dt-row{width:100%}
.ment-wrap .sw-in{background:transparent}
.ment-wrap+.ment-wrap .ment-row{border-top:.5px solid var(--sep,rgba(128,128,128,.3))}
.mf-wrap{border-radius:10px;margin-bottom:6px} .mf-wrap .sw-in{background:transparent}
.list li.sw>.sw-in{display:block;background:inherit}
.sw-acts{max-width:100%} .sw-b{flex:0 1 auto;min-width:58px;font-size:12.5px}
.sw-b{padding:0 4px}
.pick-date{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:4px} .pick-date input{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:0;background:var(--fill);color:var(--fg);min-width:0} .pick-date .btn{padding:10px 12px;font-size:15px}
/* 🚨 toque */
.sw-b.alarm{background:linear-gradient(180deg,#ff3b30,#c4001a)}
.poke-btn{border:2px solid color-mix(in srgb,var(--red) 55%,transparent)}
.poke-st{margin:8px 2px 0;font-size:14px;font-weight:600;color:var(--red)} .poke-st.ok{color:var(--green)}
dialog.poke-alarm{max-width:360px;width:calc(100% - 32px);border:0;border-radius:24px;padding:26px 20px 18px;text-align:center;background:var(--cell);color:var(--fg);box-shadow:0 0 0 4px var(--red),0 20px 60px rgba(255,0,0,.45);animation:pkPulse 1s ease-in-out infinite}
dialog.poke-alarm::backdrop{background:rgba(120,0,0,.55);backdrop-filter:blur(3px)}
.poke-alarm h2{margin:6px 0 6px;font-size:22px;text-transform:none;letter-spacing:0;color:var(--fg)}
.pk-ring{font-size:58px;line-height:1;animation:pkShake .5s ease-in-out infinite}
.pk-title{font-size:18px;font-weight:600;margin:0 0 6px} .pk-sub{font-size:14px;color:var(--muted);margin:0 0 16px}
.poke-alarm .btn{display:block;width:100%;margin-top:8px}
@keyframes pkPulse{50%{box-shadow:0 0 0 8px var(--red),0 20px 70px rgba(255,0,0,.7)}}
@keyframes pkShake{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}
/* Asistentes: lista compacta y ficha (v172) */
#share-list{background:var(--fill);border-radius:12px;overflow:hidden;margin:6px 0 10px}
#share-list li.as-row{padding:0;border-top:.5px solid var(--sep)} #share-list li.as-row:first-child{border-top:0}
#share-list li.as-row.off{opacity:.55}
.as-row-b{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:11px 14px}
.as-row-b:active{background:var(--fill2)}
.as-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px}
.as-av.lg{width:58px;height:58px;font-size:24px}
.as-bd{display:grid;gap:1px;min-width:0} .as-bd b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-rl{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-st{font-size:13px;font-weight:600} .as-st.ok{color:var(--green)} .as-st.att{color:var(--orange,#ff9500)} .as-st.warn{color:var(--orange,#ff9500)} .as-st.off{color:var(--muted)}
.as-cnt{min-width:26px;height:26px;padding:0 7px;border-radius:13px;background:var(--fill2);display:grid;place-items:center;font-weight:700;font-size:14px;box-sizing:border-box}
.as-cnt:empty{display:none}
.as-row-b::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted2);border-top:2px solid var(--muted2);transform:rotate(45deg);grid-column:4;margin-left:-4px}
.as-row-b{grid-template-columns:42px minmax(0,1fr) auto 10px}
.as-add-open{display:block;width:100%;margin:2px 0 8px}
.as-add-box[hidden]{display:none}
.as-me{text-align:center;margin:14px 0 0}
dialog.asst-sheet{max-width:440px;max-height:88vh;overflow:auto}
.ad-head{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;margin:4px 0 10px}
.ad-head h3{margin:0;font-size:22px} .ad-head p{margin:2px 0 4px;overflow-wrap:anywhere}
.ad-badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;border-radius:10px;background:color-mix(in srgb,var(--blue) 18%,transparent);color:var(--blue)}
.ad-state{border-radius:12px;padding:10px 12px;font-size:15px;font-weight:600;margin-bottom:12px;background:var(--fill);display:grid;gap:8px}
.ad-state.ok{color:var(--green)} .ad-state.att,.ad-state.warn{background:color-mix(in srgb,var(--orange,#ff9500) 16%,transparent);color:var(--fg)} .ad-state.off{color:var(--muted)}
.ad-quick{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-bottom:16px}
.ad-q{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;gap:4px;padding:10px 4px;border-radius:14px;background:var(--fill);text-align:center;color:var(--fg)}
.ad-q .ic{font-size:22px} .ad-q .tx{font-size:12.5px;font-weight:600} .ad-q:active{opacity:.6} .ad-q.dim{opacity:.45}
.ad-sec{margin:0 0 16px} .ad-sec h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:600}
.ad-perms{background:var(--fill);border-radius:12px;overflow:hidden}
label.ad-perm{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-top:.5px solid var(--sep);color:var(--fg);margin:0}
.ad-perms label.ad-perm:first-child{border-top:0}
.ad-perm .bd{display:grid;gap:1px} .ad-perm b{font-size:16px;font-weight:500} .ad-perm small{font-size:12.5px;color:var(--muted)}
.sw-toggle{appearance:none;-webkit-appearance:none;width:50px;height:30px;border-radius:15px;background:var(--fill2);position:relative;cursor:pointer;transition:background .2s;margin:0;flex:none}
.sw-toggle::after{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
.sw-toggle:checked{background:var(--green)} .sw-toggle:checked::after{transform:translateX(20px)} .sw-toggle:disabled{opacity:.6}
.ad-form{display:grid;gap:10px} .ad-form input:disabled{opacity:.85;background:transparent;padding-left:0}
.ad-form label.ad-perm{background:var(--fill);border-radius:12px;border:0}
.ad-acc{display:grid;gap:8px} .ad-acc .btn{font-size:15px;padding:11px 12px}
.ad-del{display:block;width:100%;margin-top:14px;background:none;color:var(--red);font-size:15px;border:1px solid color-mix(in srgb,var(--red) 40%,transparent)}
/* v172: los números van fuera del icono, en la esquina, como en WhatsApp */
.tk-chat-mini i{top:-8px;right:-8px;box-shadow:0 0 0 2px var(--bg-card,var(--cell,#1c1c1e));z-index:1}
.tk-team .chip{position:relative;overflow:visible}
.tk-team .chip .chip-n{position:absolute;top:-8px;right:-8px;margin:0;background:var(--red);color:#fff;box-shadow:0 0 0 2px var(--cell,#1c1c1e)}
.tk-team{padding-top:6px;overflow:visible}
.tk-team .chip.unread{margin-right:8px}
.vc-l{margin:12px 0 6px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.vc-who{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.vc-who .chip.on{background:var(--blue);color:#fff}
.vc-gc{margin-top:8px;width:100%}
.sw-b.seen{background:#30b0c7}
.tk-sec.fold{display:flex;align-items:center;gap:6px;width:100%}
/* v172: «Asistentes» con su propia tarjeta en el inicio */
.team-ico{background:linear-gradient(160deg,#5e5ce6,#0a84ff);border-radius:12px;color:#fff}
.team-entry.att #team-entry-sub{color:var(--orange)}
/* ===== XZ book · Ideas (v173) ===== */
.nb-tabs{margin:4px 0 14px}
.id-new{width:100%;font-size:18px;padding:14px;margin:4px 0 8px}
.id-open{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--green) 16%,var(--cell));border-radius:12px;padding:10px 12px;margin-bottom:10px}
.id-open .tx{flex:1;min-width:0}.id-open b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.id-open small{color:var(--muted)}
.id-open .btn{padding:7px 12px;font-size:14px}
.id-views{grid-template-columns:repeat(4,1fr);margin:10px 0 8px}
.id-crumb{margin:6px 0;font-size:15px}.id-crumb button{all:unset;cursor:pointer;color:var(--blue)}
.id-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.id-card{all:unset;cursor:pointer;box-sizing:border-box;display:flex;flex-direction:column;background:var(--cell);border-radius:12px;overflow:hidden;min-width:0}
.id-card .cv{aspect-ratio:4/3;background:var(--fill) center/cover no-repeat;display:grid;place-items:center;font-size:30px;position:relative}
.id-card .cv i{position:absolute;right:6px;bottom:6px;font-style:normal;font-size:11px;font-weight:700;background:rgba(0,0,0,.6);color:#fff;border-radius:8px;padding:2px 6px}
.id-card .bd{padding:8px 10px 10px;min-width:0}
.id-card b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.25}
.id-card small{display:block;color:var(--muted);font-size:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.id-card .pend{color:var(--orange)}
.id-group{all:unset;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;grid-column:1/-1;background:var(--cell);border-radius:12px;padding:10px 12px}
.id-group .gv{width:54px;height:54px;flex:none;border-radius:10px;background:var(--fill) center/cover no-repeat;display:grid;place-items:center;font-size:24px}
.id-group .tx{flex:1;min-width:0}.id-group b{display:block}.id-group small{color:var(--muted)}
.id-group .n{font-weight:700;color:var(--muted)}
.id-tagcloud{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.idea-sheet{max-height:92vh;overflow:auto}
.ic-place{margin:2px 0 8px}
.ic-photos{display:flex;gap:6px;overflow-x:auto;margin:4px 0 8px;min-height:0}
.ic-photos img,.iv-photos img{height:86px;width:86px;object-fit:cover;border-radius:8px;flex:none;cursor:pointer}
.ic-photos .up{opacity:.5}
.ic-btns{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px}
.ic-b{text-align:center;padding:12px 6px}
#ic-notes{width:100%;box-sizing:border-box}
.ic-url{word-break:break-all}
.iv-photos{display:flex;gap:6px;overflow-x:auto;margin:6px 0 10px}
.iv-title{all:unset;cursor:pointer;display:block;font-size:20px;font-weight:700;line-height:1.25;margin:4px 0}
.iv-meta{color:var(--muted);font-size:13px;margin:0 0 8px}
.iv-meta a{color:var(--blue)}
.iv-sum{margin:6px 0 10px;line-height:1.4}
.iv-notes{white-space:pre-wrap;background:var(--fill);border-radius:10px;padding:10px;margin:6px 0 10px;font-size:14px}
.iv-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.iv-tags .chip{font-size:14px;padding:6px 10px}
.iv-tags .chip .x{margin-left:6px;opacity:.6}
.iv-row{display:flex;gap:8px;align-items:center;margin:8px 0}
.iv-row select{flex:1}
.iv-acts{display:grid;gap:8px;margin-top:14px}
.iv-warn{color:var(--orange);font-size:13px}
.idea-photo{max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0;padding:12px;box-sizing:border-box;background:#000;color:#fff;border:0}
.idea-photo img{display:block;max-width:100%;max-height:78vh;margin:8px auto;object-fit:contain}
.idea-photo .link{color:#0a84ff}
.nb-tabs .seg{font-size:15px;padding:9px}
.id-open[hidden],.ic-photos[hidden],.id-crumb[hidden],.ic-url[hidden],#nb-ideas-pane[hidden],#nb-day-pane[hidden]{display:none!important}
.ad-state.tap{cursor:pointer}
/* flecha ‹ de volver (v173) */
.bk::before{content:"‹";font-size:1.5em;line-height:0;margin-right:4px;position:relative;top:.08em;font-weight:400}
.bk-only{min-width:28px;padding-right:6px}
.sheet-head{display:flex;align-items:center;gap:8px}.sheet-head h3{flex:1;min-width:0}
.cal-ro #dy-new{visibility:hidden}
.as-mycal{margin:14px 0 4px;padding:12px;background:var(--cell);border-radius:12px}.as-mycal h4{margin:0 0 8px;font-size:15px}.as-mycal .chips{display:flex;flex-wrap:wrap;gap:6px}.as-mycal p{margin:8px 0 0}
.as-mycal[hidden]{display:none}
.as-mycal .chip.on{background:var(--blue);color:#fff}

/* ==== Diseño v177: solo aspecto de la pantalla de inicio (no cambia nada de lo que hace). Solo en MODO PRUEBA (clase .prueba). Para volver atrás, borrar este bloque. ==== */
.prueba #view-home .home-title h1{font-weight:800;letter-spacing:-.6px}
.prueba #view-home .mode.mode-mini{border-radius:12px;padding:3px}
.prueba #view-home .mode.mode-mini .seg{border-radius:9px;padding:8px}
.prueba #view-home .sfield input{border-radius:12px;padding-top:10px;padding-bottom:10px}
/* tarjetas: esquinas más redondas y una sombra muy suave, como en iOS */
.prueba #view-home .tk-box,.prueba #view-home .nb-entry,.prueba #view-home .cal-entry,.prueba #view-home .note{border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 18px rgba(0,0,0,.05)}
.prueba #view-home .tk-box{padding:14px 16px 14px;margin:16px 0 6px}
.prueba #view-home .nb-entry,.prueba #view-home .cal-entry{padding:14px 16px;margin-top:12px}
.prueba #view-home .cal-entry:active,.prueba #view-home .nb-entry:active{transform:scale(.99)}
.prueba #view-home .ce-ico{border-radius:11px}
.prueba #view-home .team-ico{border-radius:12px;box-shadow:0 2px 6px rgba(10,132,255,.25)}
/* cabecera de Tareas y títulos de cada grupo */
.prueba #view-home .tk-title{font-size:20px;font-weight:800;letter-spacing:-.3px}
.prueba #view-home .tk-sub{font-size:11.5px;letter-spacing:.08em;padding:14px 2px 4px}
.prueba #view-home .tk-sec{font-size:11.5px;letter-spacing:.08em;margin-top:16px}
/* filas de tarea: más aire, título algo mayor y botones laterales más ligeros (siguen todos) */
.prueba #view-home .tk-row{border-top-color:color-mix(in srgb,var(--sep) 60%,transparent)}
.prueba #view-home .tk-line{padding:10px 0}
.prueba #view-home .tk-line .tx{font-size:16px;letter-spacing:-.2px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}
.prueba #view-home .tk-line .sb{font-size:13px;margin-top:2px}
.prueba #view-home .tk-side{gap:5px}
.prueba #view-home .tk-side .tk-chat-mini{width:32px;height:32px;font-size:15px;background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sep) 80%,transparent)}
.prueba #view-home .tk-side .tk-chat-mini.unread{background:color-mix(in srgb,var(--blue) 14%,transparent);box-shadow:none}
.prueba #view-home .tk-who{width:28px;height:28px;font-size:13px}
.prueba #view-home .tk-row.mine{border-width:1.5px;border-radius:16px;padding:2px 6px 2px 6px;margin:8px 0}
/* etiquetas de tiempo («0 min», «cuenta desde…»): más discretas */
.prueba #view-home .clk{font-size:11.5px;padding:1px 8px;margin-top:4px}
.prueba #view-home .tk-line.more .tx{font-size:15px}
/* chat general y llamadas */
.prueba #view-home .chip{box-shadow:0 0 0 1px color-mix(in srgb,var(--sep) 70%,transparent)}
.prueba #view-home .tk-add-btn{box-shadow:0 4px 12px rgba(0,122,255,.30)}
@media (prefers-color-scheme: dark){
  .prueba #view-home .tk-box,.prueba #view-home .nb-entry,.prueba #view-home .cal-entry,.prueba #view-home .note{box-shadow:0 0 0 1px rgba(255,255,255,.06)}
}
/* ==== fin Diseño v177 ==== */

/* ==== MODO PRUEBA: tareas del equipo agrupadas por asistente y aviso de modo prueba ==== */
.prueba-badge{position:fixed;z-index:200;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 4px);border:0;border-radius:999px;padding:5px 12px;background:#ff9500;color:#fff;font:700 12px/1.2 -apple-system,system-ui,sans-serif;letter-spacing:.04em;box-shadow:0 2px 8px rgba(0,0,0,.2);cursor:pointer}
.tk-ppl{background:var(--cell);border-radius:14px;overflow:hidden;margin:6px 0 4px;box-shadow:0 0 0 .5px var(--sep)}
.tk-ppl-r{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 12px;border-top:.5px solid var(--sep)}
.tk-ppl-r:first-child{border-top:0}
.tk-ppl-r:active{background:var(--fill)}
.tk-ppl-r .p-av{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:700}
.tk-ppl-r .p-bd{flex:1;min-width:0;display:flex;flex-direction:column}
.tk-ppl-r .p-nm{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-ppl-r .p-nm b{font-weight:700}
.tk-ppl-r .p-nm span{color:var(--muted)}
.tk-ppl-r .p-sb{font-size:13px;color:var(--muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-ppl-r .p-sb.red{color:var(--red)} .tk-ppl-r .p-sb.orange{color:#c46a00}
.tk-ppl-r .p-ch{flex:none;width:8px;height:8px;border-right:2px solid var(--muted2);border-top:2px solid var(--muted2);transform:rotate(45deg);transition:transform .2s;margin-right:4px}
.tk-ppl-r.on .p-ch{transform:rotate(135deg)}
.tk-ppl-in{padding:0 10px 4px 22px;border-top:.5px solid var(--sep);background:color-mix(in srgb,var(--fill) 35%,var(--cell))}
@media (prefers-color-scheme: dark){.tk-ppl-r .p-av{filter:saturate(.9) brightness(.9)}}
.tk-new{margin:2px -10px 10px;padding:8px 4px 4px;border-radius:16px;background:var(--cell);box-shadow:0 0 0 2px var(--red),0 6px 18px rgba(255,59,48,.16)}
.tk-new-l{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--red);padding:0 2px 2px}
.tk-new .tk-row{border-top:0}
.tk-ppl-r.has-new{background:color-mix(in srgb,var(--red) 7%,var(--cell))}
.tk-ppl-r .p-new{flex:none;padding:3px 8px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:800;letter-spacing:.03em}
.tk-row.is-new .tk-line .tx::before{content:"NUEVA";display:inline-block;margin-right:6px;padding:1px 6px;border-radius:6px;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;vertical-align:2px}
.tk-fold{margin-top:12px}
.tk-ppl-r .p-av.ic-ext{background:color-mix(in srgb,#5ac8fa 22%,var(--cell));font-size:19px}
.tk-ppl-r .p-av.ic-park{background:color-mix(in srgb,var(--blue) 14%,var(--cell));font-size:19px}
.prueba #view-home .mode.mode-mini{display:none}
.prueba #view-home .hist-head + .searchbar{margin:0 0 10px}
.prueba .tk-team-l{display:none}
.tk-chatgen{margin-top:4px;width:100%}
.tk-ppl-r .p-av.ic-chat{background:color-mix(in srgb,var(--green) 18%,var(--cell));font-size:19px}
.tk-chatgen-in{padding:4px 10px 6px 14px}
.cg-r{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:.5px solid var(--sep)}
.cg-r:first-child{border-top:0}
.cg-who{all:unset;box-sizing:border-box;cursor:pointer;flex:1;display:flex;align-items:center;gap:10px;min-height:44px}
.cg-who .cg-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--blue);background:color-mix(in srgb,var(--blue) 15%,var(--cell))}
.cg-who .cg-nm{font-size:16px;font-weight:600}
.cg-who:active{opacity:.6}
.cg-r .chip.call{position:relative;border:0;font:inherit;font-size:20px;cursor:pointer}
/* tareas sin ver: parpadeo del botón entero con el color de la urgencia */
.blink.u-urgente{--uc:255,59,48}.blink.u-alta{--uc:255,149,0}.blink.u-normal{--uc:0,122,255}.blink.u-baja{--uc:142,142,147}
.tk-ppl-r.blink{animation:xz-blink 1.1s ease-in-out infinite;background:rgba(var(--uc),.10);box-shadow:inset 4px 0 0 rgb(var(--uc))}
.tk-ppl-r.blink .p-sb.red{color:rgb(var(--uc))}
.tk-ppl-r.blink .p-new{background:rgb(var(--uc))}
.tk-new.blink{box-shadow:0 0 0 2px rgb(var(--uc)),0 6px 18px rgba(var(--uc),.2);animation:xz-blink-card 1.1s ease-in-out infinite}
.tk-new.blink .tk-new-l{color:rgb(var(--uc))}
.tk-new.blink .sw-in{animation:xz-blink-card 1.1s ease-in-out infinite}
@keyframes xz-blink{0%,100%{background:rgba(var(--uc),.06)}50%{background:rgba(var(--uc),.30)}}
@keyframes xz-blink-card{0%,100%{background:var(--cell)}50%{background:color-mix(in srgb,rgb(var(--uc)) 22%,var(--cell))}}
@media (prefers-reduced-motion:reduce){.tk-ppl-r.blink,.tk-new.blink{animation-duration:3s}}
/* ZONA DINÁMICA «Ahora» */
.zona-din{margin:4px -6px 16px;padding:10px 10px 6px;border-radius:18px;background:color-mix(in srgb,var(--blue) 6%,var(--cell));box-shadow:0 0 0 1.5px color-mix(in srgb,var(--blue) 35%,transparent)}
.zd-h{display:flex;align-items:center;gap:8px;padding:0 4px 4px}
.zd-t{font-size:20px;font-weight:800;letter-spacing:-.3px}
.zd-n{min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--red);color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center}
.zd-n:empty{display:none}
.zona-din.vacia .zd-b::after{content:"✓ Nada pendiente ahora";display:block;padding:4px 4px 6px;color:var(--green);font-size:15px;font-weight:600}
.zona-din .tk-sub:first-child,.zona-din .tk-new:first-child{margin-top:0}
.zona-din .tk-new{margin-left:-4px;margin-right:-4px}
/* Bloqueadas / Aparcadas / Chat general: tres pastillas discretas en una sola línea (secundarias, no compiten con lo de arriba) */
.tk-util{margin:14px 0 4px}
.ut-grid{display:flex;flex-wrap:wrap;gap:6px}
.ut-b{all:unset;box-sizing:border-box;cursor:pointer;flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:0 8px 0 6px;gap:5px;border-radius:999px;
  background:transparent;box-shadow:inset 0 0 0 1px var(--sep);color:var(--muted)}
.ut-top{display:contents}
.ut-ic{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:13px;background:var(--c)}
.ut-n{order:3;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:grid;place-items:center;font-size:11.5px;font-weight:700;background:var(--fill);color:var(--fg);font-variant-numeric:tabular-nums}
.ut-l{order:2;font-size:13px;font-weight:600;color:var(--fg);white-space:nowrap}
.ut-s{display:none}
.ut-b.alert .ut-n{background:var(--red);color:#fff}
@media (max-width:420px){.ut-grid{gap:4px}.ut-b{padding:0 6px 0 4px;gap:4px}.ut-ic{width:22px;height:22px;font-size:12px}.ut-l{font-size:12.5px}.ut-n{min-width:16px;height:16px;font-size:10.5px;padding:0 4px}}
.ut-b.on{box-shadow:inset 0 0 0 1.5px var(--c);background:color-mix(in srgb,var(--c) 10%,transparent)}
.ut-b.on .ut-l{color:var(--c)}
.ut-b:active{opacity:.6}
.ut-panel{margin-top:8px;padding:6px 10px 6px 12px;border-radius:14px;background:var(--cell);box-shadow:0 0 0 1.5px var(--c)}
.ut-panel:empty,.ut-panel[hidden]{display:none}
.ut-ph{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--c);padding:4px 0 2px}
/* XZ book: dibujar en una idea */
.ic-draw{grid-column:1/-1}
.draw-dlg{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:calc(env(safe-area-inset-top,0px) + 6px) 12px calc(env(safe-area-inset-bottom,0px) + 10px);border:0;background:var(--bg);color:var(--fg);box-sizing:border-box}
.draw-dlg[open]{display:flex;flex-direction:column;gap:8px}
.dr-top{display:flex;align-items:center;justify-content:space-between;height:44px}
.dr-save{font-weight:700}
.dr-wrap{flex:1;min-height:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--sep)}
.dr-cv{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.dr-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:4px 0}
.dr-cols{display:flex;gap:8px}
.dr-c{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--sep)}
.dr-c.on{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--blue)}
.dr-sep{width:1px;height:28px;background:var(--sep);margin:0 2px}
.dr-t{min-width:44px;height:40px;border-radius:12px;border:0;background:var(--fill);color:var(--fg);font-size:18px;cursor:pointer}
.dr-t.on{background:var(--blue);color:#fff}
/* «Ahora» agrupado por tipo (más de 2 cosas) */
.ag-list{display:flex;flex-direction:column;gap:6px}
.ag-card{border-radius:14px;background:var(--cell);overflow:hidden;box-shadow:0 0 0 .5px var(--sep)}
.ag-card.on{box-shadow:0 0 0 1.5px var(--c)}
.ag-card.blink{animation:xz-blink-card 1.1s ease-in-out infinite;box-shadow:0 0 0 2px rgb(var(--uc)),0 4px 14px rgba(var(--uc),.2)}
.ag-b{width:100%;border:0;background:none;color:var(--fg);min-height:52px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;font:inherit;cursor:pointer}
.ag-ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:16px;flex:none;background:color-mix(in srgb,var(--c) 16%,var(--cell))}
.ag-bd{flex:1;min-width:0;display:flex;flex-direction:column}
.ag-l{font-size:15.5px;font-weight:700}
.ag-mini{margin-top:2px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px}
.ag-mini i{width:5px;height:5px;border-radius:3px;flex:none;background:var(--c)}
.ag-mini i.u0,.ag-tag.u0,.ag-mini b.u0{background:none;color:#ff3b30}.ag-mini i.u0{background:#ff3b30}
.ag-mini b.u1,.ag-tag.u1{color:#ff9500}.ag-mini i.u1{background:#ff9500}
.ag-mini b,.ag-tag{font-weight:800;flex:none}
.ag-mas{margin-top:2px;font-size:12px;font-weight:600;color:var(--c)}
.ag-n{min-width:26px;height:26px;padding:0 8px;border-radius:13px;display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff;background:var(--c);flex:none}
.ag-ch{color:var(--muted);width:14px;text-align:center;flex:none}
.ag-body{padding:0 8px 6px}
.ag-body .ag-hd,.ag-body .tk-new-l,.ag-body .ment-h{display:none}
.ag-body .tk-new{margin:0;padding:0;box-shadow:none;animation:none;background:none}
.ag-body .tk-new .sw-in{animation:none}
.ag-body .ment-box{margin:0}
@media (prefers-reduced-motion:reduce){.ag-card.blink{animation-duration:3s}}
/* Mi correo ordenado */
.mfp-box{display:flex;gap:12px;align-items:center;background:var(--bg);border-radius:14px;padding:12px 14px;margin:4px 0 6px}
.mfp-ic{width:40px;height:40px;border-radius:11px;background:#0a8fd6;color:#fff;display:grid;place-items:center;flex:none}
.mfp-bd{flex:1;min-width:0}.mfp-t{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mfp-t.ok{color:var(--green)}.mfp-t.err{color:var(--red)}
.mfp-h{margin:18px 0 6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mfp-h.sup{color:var(--green)}
.mfp-hrow{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.mfp-hrow .mfp-h{margin-bottom:0}
.mfp-hrow .link,.mfp-hrow .mfp-ok{white-space:nowrap;flex:none}
.mfp-ok{font-size:14px;color:var(--green);font-weight:600}
.mfp-note{margin:4px 0 8px}
.mfp-red{color:var(--red)}
.mfp-fold{margin-top:8px;background:var(--bg);border-radius:12px}
.mfp-fold>summary{list-style:none;min-height:44px;padding:6px 14px;display:flex;align-items:center;gap:10px;cursor:pointer}
.mfp-fold>summary::-webkit-details-marker,.mfp-p>summary::-webkit-details-marker{display:none}
.mfp-fold>summary::after,.mfp-p>summary::after{content:"›";margin-left:auto;color:var(--muted)}
.mfp-fold[open]>summary::after,.mfp-p[open]>summary::after{content:"⌄"}
.mfp-fold>.mf-msg,.mfp-fold>.mfp-ppl{margin:0 8px 8px}
.mfp-fic{width:30px;height:30px;border-radius:8px;background:#8e8e93;color:#fff;display:grid;place-items:center;font-size:14px;flex:none}
.mfp-ft{display:flex;flex-direction:column;min-width:0}.mfp-ft small{font-size:12.5px}
.mfp-ppl{border-radius:12px;overflow:hidden;background:var(--cell)}
.mfp-p+.mfp-p{border-top:.5px solid var(--sep)}
.mfp-p>summary{list-style:none;min-height:56px;padding:8px 12px;display:flex;align-items:center;gap:12px;cursor:pointer}
.mfp-av{width:36px;height:36px;border-radius:18px;color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.mfp-p>.mf-wrap{margin:0 8px 6px 56px}
/* fotos de perfil */
.has-photo{background-size:cover!important;background-position:center!important;color:transparent!important}
.tk-who.has-photo{border:0}
.as-av.lg{position:relative}
.ad-photo{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;border-radius:13px;border:2px solid var(--cell);background:var(--fill2);font-size:13px;display:grid;place-items:center;padding:0;cursor:pointer}
/* contactos */
.ct-pop{margin-top:4px;border-radius:12px;background:var(--cell);box-shadow:0 0 0 .5px var(--sep),0 6px 18px rgba(0,0,0,.12);overflow:hidden;max-height:300px;overflow-y:auto}
.ct-it{width:100%;border:0;background:none;color:var(--fg);font:inherit;text-align:left;display:flex;align-items:center;gap:10px;padding:9px 12px;min-height:44px}
button.ct-it{cursor:pointer}.ct-it+.ct-it{border-top:.5px solid var(--sep)}
.ct-ic{width:28px;height:28px;border-radius:14px;flex:none;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--fill);color:var(--blue)}
.ct-bd{display:flex;flex-direction:column;min-width:0}.ct-bd b{font-size:15px;font-weight:600}.ct-bd small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-load{padding:8px 12px}
.ct-res{margin-top:8px;border-radius:12px;background:var(--bg);overflow:hidden}
.ct-src{background:var(--bg);border-radius:12px;padding:12px 14px;margin-top:8px;display:grid;gap:8px}.ct-src p{margin:0}
#ct-q{margin-top:10px;width:100%}
#ct-dialog p,#ct-dialog details{font-weight:400;font-size:14px;line-height:1.35}
.ct-more{margin-top:10px}.ct-more>summary{color:var(--blue);font-size:15px;padding:8px 0;cursor:pointer}
#ct-dialog p.err{color:var(--red)}
/* resumen de la reunión */
.rs-card{background:var(--cell);border-radius:14px;padding:4px 14px 12px;margin:8px 0 18px;display:grid;gap:8px}
.rs-card h2{margin:12px 0 0}
.rs-breve{margin:0;font-size:16px;line-height:1.45}
.rs-pts{display:grid}
.rs-pt{display:flex;align-items:flex-start;gap:6px;border-top:.5px solid var(--sep);padding:8px 0}
.rs-go{all:unset;box-sizing:border-box;flex:1;min-width:0;display:flex;gap:10px;cursor:pointer}
.rs-min{font:600 12.5px ui-monospace,Menlo,monospace;color:var(--blue);padding-top:2px;min-width:44px;font-variant-numeric:tabular-nums}
.rs-bd{display:flex;flex-direction:column;min-width:0}.rs-bd b{font-size:15px}.rs-bd span{font-size:14px;color:var(--muted);line-height:1.35}
.rs-deep{flex:none;border:0;border-radius:999px;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);font:600 13px -apple-system,system-ui,sans-serif;padding:6px 10px;cursor:pointer}
.rs-more>summary{cursor:pointer;color:var(--blue);font-size:15px;padding:4px 0}.rs-more ul{margin:4px 0 0;padding-left:18px;font-size:14.5px}
.xz-atajos{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-2px 0 10px 4px}
.xz-at-l{font-size:12.5px;color:var(--muted);width:100%}
.xz-at{border:0;border-radius:999px;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);font:600 13.5px -apple-system,system-ui,sans-serif;padding:7px 12px;cursor:pointer;text-align:left}
.xz-at.op{background:var(--blue);color:#fff}
.xz-mic{min-width:44px;padding:0 10px;font-size:18px}.xz-mic.on{background:var(--red);color:#fff}
.xz-say{border:0;background:none;font-size:15px;padding:2px 0 0;cursor:pointer;opacity:.7}
/* manual */
#man-q{width:100%;margin:6px 0 10px}
.man-sec{background:var(--bg);border-radius:12px;margin-bottom:8px}
.man-sec>summary{min-height:48px;padding:12px 14px;font-weight:700;font-size:16px;cursor:pointer;list-style:none;display:flex;align-items:center}
.man-sec>summary::-webkit-details-marker{display:none}.man-sec>summary::after{content:"›";margin-left:auto;color:var(--muted)}.man-sec[open]>summary::after{content:"⌄"}
.man-c{padding:0 14px 12px;font-size:15px;line-height:1.45}#man-dialog .man-c p{margin:8px 0;font-size:15px;font-weight:400;line-height:1.45}.man-c h5{margin:14px 0 4px;font-size:15px}
.man-c ul,.man-c ol{margin:6px 0;padding-left:20px}.man-c li{margin:3px 0}.man-c li.sub{margin-left:16px;list-style:circle}
.man-t{width:100%;border-collapse:collapse;font-size:13.5px;margin:8px 0}.man-t th,.man-t td{border-bottom:.5px solid var(--sep);padding:6px 4px;text-align:left;vertical-align:top}

/* Conocimiento */
.kn-add{display:grid;gap:8px;margin:10px 0;padding:12px;border-radius:12px;background:var(--bg)}
.kn-add[hidden]{display:none}
.kn-add label{display:grid;gap:4px;font-size:.85rem;min-width:0}
.kn-add input,.kn-add select{width:100%;box-sizing:border-box;min-width:0;max-width:100%}
.kn-body{margin-top:10px}
.kn-list{margin:0 0 8px}
.kn-row{border-bottom:1px solid var(--sep)}
.kn-b{display:flex;gap:10px;align-items:center;width:100%;padding:10px 2px;background:none;border:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.kn-ic{font-size:1.25rem;flex:0 0 auto}
.kn-bd{display:grid;min-width:0}
.kn-bd b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.kn-bd small{opacity:.65}
.kn-det{padding:0 2px 12px 34px;font-size:.9rem;white-space:pre-line}
.kn-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.kn-auto{margin-top:12px}
.kn-auto summary{cursor:pointer;font-weight:600;padding:6px 0}
.kn-sw-h,.kn-sw-r{display:grid!important;grid-template-columns:1fr 60px 60px;align-items:center;gap:6px}
.kn-sw-r{padding-top:8px!important;padding-bottom:8px!important}
.kn-sw-h{padding:6px 14px 0;font-size:.75rem;opacity:.6;text-align:center}
.kn-sw-r input,.kn-sw-na{justify-self:center}
/* ==== fin MODO PRUEBA ==== */
/* las ventanas nunca se meten debajo de la hora ni de la barra de abajo del iPhone; la cabecera (‹ Volver) se queda fija al hacer scroll */
dialog.sheet[open]{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)!important;overflow:auto}
dialog.sheet > .sheet-head:first-child{position:sticky;top:-16px;z-index:5;background:var(--cell);margin:-16px -16px 8px;padding:12px 16px 8px}

/* fila del asistente con algo en «Ahora» */
.tk-ppl-r .p-ahora{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:9px;background:#007aff;color:#fff;font-weight:700;font-size:.85em;animation:xz-blink 1.1s ease-in-out infinite}
.tr-lang{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 10px;padding:8px 10px;border-radius:12px;background:var(--card2,rgba(0,122,255,.08))}
.tr-lang>span{font-weight:600;margin-right:auto}
.tr-lang .chip{border:1px solid var(--line,#ccc);background:transparent;border-radius:14px;padding:4px 12px;font:inherit;color:inherit}
.tr-lang .chip.on{background:#007aff;border-color:#007aff;color:#fff}
.d-delete{display:block;width:100%;margin:22px 0 8px}
.d-delete[hidden]{display:none}
.btn.danger{background:#ff3b30;color:#fff;border-color:#ff3b30}
.by-tag{display:inline-block;padding:0 6px;border-radius:8px;background:rgba(0,122,255,.12);color:#0a63c9;font-weight:600}
/* calendario · cabecera rehecha (v212): barra con título, personas y etiquetas en una fila cada una, que corren con el dedo */
.dy-apple .dy-nav{height:auto;min-height:44px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:8px}
.dy-apple .dy-nav .dy-back{justify-self:start;min-width:0;white-space:nowrap}
.dy-apple .dy-nav .dy-navt{font-size:17px;font-weight:600;letter-spacing:-.2px}
.dy-apple .dy-nav .dy-tools{justify-self:end;display:flex;align-items:center}
.dy-apple #dy-owners,.dy-apple .dy-tags{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.dy-apple #dy-owners::-webkit-scrollbar,.dy-apple .dy-tags::-webkit-scrollbar{display:none}
.dy-apple #dy-owners{margin-top:10px;margin-bottom:8px}
.dy-apple #dy-owners[hidden]{display:none}
.dy-apple .dy-tags{margin-top:2px;margin-bottom:12px}
.dy-apple #dy-owners .chip,.dy-apple .dy-tags .chip{font-size:14px;padding:6px 12px;border-radius:15px;line-height:1.2}
/* personas: en rojo (el color del calendario) la que estás viendo */
.dy-apple #dy-owners .chip.own{font-weight:600}
.dy-apple #dy-owners .chip.own.on{background:var(--red);color:#fff}
/* etiquetas: discretas; la marcada, oscura */
.dy-apple .dy-tags .chip{background:transparent;box-shadow:inset 0 0 0 1px var(--sep,rgba(128,128,128,.35));color:var(--fg)}
.dy-apple .dy-tags .chip.on{background:var(--fg);color:var(--bg);box-shadow:none}
.dy-apple .dy-tags .chip.add{box-shadow:none;border:1.5px dashed var(--blue);padding:5px 11px}
.dy-apple .dy-modes{margin:0 0 12px}
.dy-apple #dy-owners[hidden] + .dy-tags{margin-top:10px}
.dy-apple .dy-nav .dy-plus{line-height:1;margin-top:-2px}
/* tareas con la voz */
.tk-head-r{display:flex;align-items:center;gap:8px}
.tk-voice-btn{width:38px;height:38px;border-radius:19px;border:0;background:var(--cell);font-size:18px;display:grid;place-items:center;cursor:pointer}
.tk-voice-btn:active{transform:scale(.94)}
.tf-quick{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin:2px 0 6px}
.tf-quick .btn{width:100%;margin:0;padding:12px 10px;font-size:15px}
.tf-quick .btn[hidden]{display:none}
.tf-quick:has(.tf-voice[hidden]) {grid-template-columns:1fr}
.tf-voice.on{background:var(--red);border-color:var(--red);animation:xz-blink 1.1s ease-in-out infinite}
.tf-voice-hint{margin:0 2px 10px}
.tf-voice-hint[hidden]{display:none}
.tf-quick .btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tf-quick .tf-from-msg{font-size:14px}
/* botón de dictar del inicio: bien visible, al lado de «＋ Tarea» */
.tk-voice-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;width:auto;height:auto;padding:9px 14px;border-radius:999px;
  background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue);font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap}
.tk-voice-btn:active{transform:scale(.96)}
@media (max-width:360px){.tk-voice-btn{padding:9px 11px;font-size:15px}}
/* barra de dictado: fija abajo, siempre visible mientras se graba */
.dict-bar{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:9999;display:flex;align-items:center;gap:10px;
  padding:10px 10px 10px 16px;border-radius:18px;background:#1c1c1e;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.35);font-size:16px}
.dict-dot{width:12px;height:12px;border-radius:50%;background:#ff3b30;animation:xz-blink 1.1s ease-in-out infinite;flex:none}
.dict-t{flex:1;font-weight:600}
.dict-stop{border:0;border-radius:12px;background:#ff3b30;color:#fff;font-size:17px;font-weight:700;padding:12px 18px;cursor:pointer}
.dict-stop:disabled{opacity:.6}
/* grabando: rojo fijo y bien visible (el parpadeo general dejaba el botón transparente) */
@keyframes dict-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,59,48,.55)}50%{box-shadow:0 0 0 8px rgba(255,59,48,0)}}
@keyframes dict-dot{0%,100%{opacity:1}50%{opacity:.25}}
.tf-voice.on,.btn.on#tf-voice{background:#ff3b30!important;border-color:#ff3b30!important;color:#fff!important;opacity:1!important;animation:dict-pulse 1.4s ease-in-out infinite}
.dict-dot{animation:dict-dot 1.1s ease-in-out infinite}
.tk-ppl-r .p-ahora{animation:dict-dot 1.4s ease-in-out infinite}
/* textos largos (enlaces, códigos) dentro de una tarea, el chat o el historial: se parten, nunca ensanchan la pantalla */
#view-task, #view-chat { overflow-wrap: anywhere; word-break: break-word; }
#view-task a, #view-chat a { overflow-wrap: anywhere; word-break: break-all; }
/* «clip» y no «hidden»: hidden convierte la vista en un contenedor con scroll propio y en el iPhone el chat se quedaba
   enganchado (no se podía subir para leer) y la cabecera fija dejaba de funcionar */
#view-task, #view-chat, #view-home { max-width: 100vw; overflow-x: clip; }
/* chat con el tercero (portal /t/) */
.xc-sheet{max-height:92vh}
.xc-tools{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.xc-tools .btn{font-size:14px;padding:7px 11px}
.xc-list{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;padding:4px 0;overflow-wrap:anywhere}
.xc-list .bubble.them{background:var(--fill)}
.xc-list .tr{display:block;font-size:13px;opacity:.75;margin-top:4px;font-style:italic;white-space:pre-wrap}
.xc-list .empty{color:var(--muted);text-align:center;font-size:14px;padding:18px 0}
.xc-bar{display:flex;gap:6px;align-items:flex-end;margin-top:8px}
.xc-bar textarea{flex:1;min-height:42px;resize:vertical}
.xc-bar .btn{padding:10px 12px}
.ext-btn{border:1px solid var(--blue)}
/* chat a pantalla completa, como Mensajes: la lista tiene su propio scroll y la barra de escribir es parte de la pantalla
   (no «position:fixed» sobre la página). En el iPhone la barra fija se desplazaba a media pantalla al cerrar el teclado
   y el chat se quedaba enganchado. --vv-h/--vv-top siguen la parte visible de la pantalla (con o sin teclado). */
#view-chat:not([hidden]){position:fixed;left:0;right:0;top:var(--vv-top,0px);bottom:var(--vv-bot,0px);display:flex;flex-direction:column;overflow:hidden;background:var(--bg);z-index:20;max-width:none}
#view-chat .chat-top{position:relative;flex:none;margin:0;top:auto}
#view-chat > #ch-eyebrow,#view-chat > #ch-ask,#view-chat > #ch-files{flex:none;margin-left:16px;margin-right:16px}
#view-chat .chat-list{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 16px 12px}
#view-chat .chat-bar{position:relative;flex:none;left:auto;right:auto;bottom:auto}
/* Xzen igual que el chat: pantalla completa, «‹ Volver» siempre arriba y la barra de escribir siempre abajo */
#view-xzen:not([hidden]){position:fixed;left:0;right:0;top:var(--vv-top,0px);bottom:var(--vv-bot,0px);display:flex;flex-direction:column;overflow:hidden;background:var(--bg);z-index:20;max-width:none}
#view-xzen > .navbar{flex:none;padding:calc(env(safe-area-inset-top) + 4px) 16px 0;border-bottom:.5px solid var(--sep);background:var(--bg)}
#view-xzen .xz-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 16px 12px}
#view-xzen .xz-sugs{margin-bottom:12px}
#view-xzen .center{margin-bottom:12px}
#view-xzen .xz-bar{position:relative;flex:none;left:auto;right:auto;bottom:auto}
/* dentro de una tarea, «‹ Aceptar» y «Editar» siempre arriba al bajar */
#view-task > .navbar{position:sticky;top:0;z-index:7;margin:calc(-4px - env(safe-area-inset-top)) -16px 0;padding:calc(env(safe-area-inset-top) + 4px) 16px 0;background:var(--bg);border-bottom:.5px solid var(--sep)}

.ct-ic.ch-xz{background:radial-gradient(circle at 30% 30%,#1b2440,#05070d);overflow:hidden}
.ct-ic.ch-xz img{width:30px;height:auto;display:block}
/* ficha del asistente a pantalla completa: arriba fijo (quién es, estado, accesos rápidos, pestañas); debajo, la pestaña */
dialog.asst-sheet[open]{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
dialog.asst-sheet[open] > .sheet-head:first-child{flex:none;position:relative;top:auto;margin:0;padding:calc(env(safe-area-inset-top) + 8px) 16px 0;background:var(--cell)}
#ad-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.ad-top{flex:none;background:var(--cell);padding:4px 16px 12px;border-bottom:.5px solid var(--sep)}
.ad-top .ad-head{margin:0 0 10px}
.ad-top .ad-state{margin-bottom:10px}
.ad-top .ad-quick{margin-bottom:12px}
.ad-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--fill);border-radius:10px;padding:2px}
.ad-tabs button{all:unset;box-sizing:border-box;text-align:center;cursor:pointer;padding:8px 2px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--fg)}
.ad-tabs button.on{background:var(--cell);box-shadow:0 1px 3px rgba(0,0,0,.14)}
.ad-pane{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 16px calc(env(safe-area-inset-bottom) + 24px)}
.ad-top,.ad-pane > .ad-tabpane,dialog.asst-sheet[open] > .sheet-head:first-child{width:100%;max-width:640px;margin-left:auto;margin-right:auto;box-sizing:border-box}
.ad-tabpane[hidden]{display:none}
.ad-note{margin:6px 4px 8px;line-height:1.4}
.ad-pane .ad-perms{background:var(--cell)}
/* equipo: una fila por compañero, «Contactar» y «Ver calendario» */
.ad-team-h,.ad-team-r{display:grid;grid-template-columns:minmax(0,1fr) 74px 74px;gap:6px;align-items:center;padding:10px 12px}
.ad-team-h{padding-bottom:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.ad-team-h span:not(:first-child){text-align:center}
.ad-team-r{border-top:.5px solid var(--sep)}
.ad-team-r .who{display:flex;align-items:center;gap:10px;min-width:0}
.ad-team-r .as-av{width:34px;height:34px;font-size:15px;flex:none}
.ad-team-r .nm{display:grid;min-width:0} .ad-team-r .nm b{font-size:16px;font-weight:600} .ad-team-r .nm small{font-size:12px;color:var(--muted)} .ad-team-r .nm small.warn{color:#c26a00}
.ad-team-r .c{display:grid;place-items:center;color:var(--muted)}
/* conocimiento: —, Ve o Valida */
.kn-head{display:flex;align-items:center;gap:6px;margin:0 2px 8px}
.kn-head > span{flex:1}
.kn-head .kn-q{font-size:13px;padding:6px 10px;border-radius:8px}
.kn-seg.busy{opacity:.6;pointer-events:none}
.kn-row{display:flex;align-items:center;gap:10px;padding:7px 10px 7px 12px;border-top:.5px solid var(--sep)}
.kn-row:first-child{border-top:0}
.kn-row .nm{flex:1;min-width:0;font-size:15px} .kn-row.on .nm{font-weight:600}
.kn-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--fill);border-radius:9px;padding:2px;width:168px;flex:none}
.kn-3 button{all:unset;box-sizing:border-box;text-align:center;cursor:pointer;padding:6px 0;border-radius:7px;font-size:13px;font-weight:600;color:var(--muted)}
.kn-3 button.on{color:#fff} .kn-3 .k-no.on{background:var(--cell);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.12)} .kn-3 .k-ve.on{background:#0a58ca} .kn-3 .k-valida.on{background:#1f7a3a}
dialog.asst-sheet[open]{max-height:none!important;height:100%}
/* arriba más compacto para que quede sitio a la pestaña */
.ad-top .as-av.lg{width:48px;height:48px;font-size:21px}
.ad-top .ad-head{grid-template-columns:48px minmax(0,1fr);gap:12px}
.ad-top .ad-head h3{font-size:20px}
.ad-top .ad-state{padding:8px 12px;font-size:14px}
.ad-top .ad-q{padding:7px 4px;gap:2px} .ad-top .ad-q .ic{font-size:19px}
.ad-pane .ad-form{background:var(--cell);border-radius:12px;padding:6px 14px 14px}
/* mantener pulsado un mensaje para reenviarlo o compartirlo */
.bubble.msg-act{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:transform .12s}
.bubble.msg-act.pressed{transform:scale(.97);filter:brightness(.92)}
.xz-fw{margin-left:6px}
/* arrastrar archivos: capa «Suelta aquí» */
#view-task{position:relative}
.drop-ov{position:absolute;inset:0;z-index:40;display:grid;place-content:center;justify-items:center;gap:6px;background:color-mix(in srgb,var(--blue) 14%,var(--bg));border:2px dashed var(--blue);border-radius:16px;color:var(--blue);font-size:17px;pointer-events:none}
.drop-ov span{font-size:40px}
.drop-ov[hidden]{display:none}
#view-task > .drop-ov{position:fixed;inset:12px}
/* la cabecera con «‹ Volver» medía 44 px con el hueco de la isla dentro: el botón quedaba fuera y tapado por la conversación */
#view-xzen > .navbar,#view-task > .navbar{height:auto;min-height:calc(env(safe-area-inset-top) + 48px);padding-bottom:4px;position:relative;z-index:7}
#view-task > .navbar{position:sticky;top:0}
/* ===== XZ book · Sitios (v228) ===== */
.nb-tabs{grid-template-columns:repeat(3,1fr)}
#nb-sitios-pane[hidden],.st-disc-w[hidden],#st-crumb[hidden],#sf-photos[hidden]{display:none!important}
.st-search{display:flex;gap:8px;margin:0 0 10px}
.st-search input{flex:1;min-width:0;box-sizing:border-box;font-size:16px}
.st-search .btn{flex:none;padding:0 16px;font-weight:700;white-space:nowrap}
.st-new{width:100%;margin:0 0 10px}
.st-h{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:16px 4px 6px}
.st-sum{margin:6px 4px 0}
.st-empty{margin:28px 12px}
.st-card{background:var(--cell);border-radius:12px;overflow:hidden}
.st-row{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.st-row + .st-row{border-top:.5px solid var(--sep)}
.st-row:active{background:var(--fill)}
.st-ic{flex:none;width:42px;height:42px;border-radius:10px;background:var(--fill) center/cover no-repeat;display:grid;place-items:center;font-size:21px}
.st-row .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;color:inherit;text-decoration:none}
.st-row .tx b{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-row .tx i{font-size:14px;color:var(--fg);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-row .tx small{font-size:12px;color:var(--muted)}
.st-d{flex:none;font-size:13px;font-weight:600;color:var(--blue)}
.st-osm{cursor:default}
.st-keep{flex:none;font-size:13px;padding:6px 10px;min-height:0}
.st-disc-w{margin-top:14px}
.st-disc{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;border:1px dashed var(--muted2);border-radius:12px;padding:12px 14px;cursor:pointer;margin-bottom:8px}
.st-disc .tx{flex:1;display:flex;flex-direction:column;gap:2px}.st-disc .tx b{font-size:16px}.st-disc .tx small{font-size:12px;color:var(--muted)}
.st-disc .chev{font-size:22px;color:var(--muted2);transition:transform .2s}.st-disc.open .chev{transform:rotate(90deg)}
/* ficha */
.st-gal{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;scroll-snap-type:x mandatory}
.st-gal img{height:190px;max-width:86%;object-fit:cover;border-radius:14px;flex:none;scroll-snap-align:start;cursor:zoom-in}
.st-gal img:only-child{width:100%;max-width:none}
.st-badge{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
.st-badge .cat{font-size:12px;font-weight:700;background:var(--fill);border-radius:6px;padding:3px 8px}
.st-name{margin:6px 0 2px;font-size:24px;line-height:1.2;text-transform:none;color:var(--fg);font-weight:700;letter-spacing:-.2px}
.st-starsv{margin:0 0 4px;color:var(--orange);letter-spacing:2px;font-size:16px}
.st-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;margin:12px 0}
.st-act{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);cursor:pointer;text-align:center}
.st-act span{font-size:19px;line-height:1}.st-act small{font-size:12px;font-weight:700}
.st-act.pri{background:var(--blue);color:#fff}
.st-box{background:var(--fill);border-radius:12px;padding:10px 14px;margin:0 0 10px}
.st-box small{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.st-box p{margin:4px 0 0;font-size:16px;line-height:1.4;white-space:pre-wrap}
.st-box.priv{background:var(--warn-bg)}
.st-meta{margin:0 2px 12px}
.st-sw{display:flex!important;align-items:center;gap:12px;background:var(--fill);border-radius:12px;padding:10px 14px;margin:8px 0;cursor:pointer}
.st-sw .tx{flex:1;display:flex;flex-direction:column;gap:2px}.st-sw .tx b{font-size:16px;font-weight:600}.st-sw .tx small{font-size:13px;color:var(--muted)}
input.switch{-webkit-appearance:none;appearance:none;flex:none;width:51px;height:31px;border-radius:16px;background:var(--fill2);position:relative;margin:0;cursor:pointer;transition:background .2s}
input.switch::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:left .2s}
input.switch:checked{background:var(--green)}input.switch:checked::after{left:22px}
/* formulario */
#st-form label:not(.ic-b){display:block;margin:0 0 10px}
#st-form label:not(.st-sw):not(.ic-b) > input:not([hidden]),#st-form label > select,#st-form label > textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px}
.st-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.st-pbtns{margin:0 0 12px}
.st-photos{margin:0 0 8px}
.st-ph{position:relative;flex:none;width:86px;height:86px;border-radius:8px;background:var(--fill) center/cover no-repeat}
.st-px{all:unset;position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:12px;display:grid;place-items:center;cursor:pointer}
.st-stars{display:flex;gap:4px;margin:0 0 10px}
.st-stars button{all:unset;font-size:28px;line-height:1;color:var(--orange);cursor:pointer;padding:2px}
.st-loc{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;flex-wrap:wrap}
label.st-sw,label.st-sw .tx b{color:var(--fg)}
label.st-sw input.switch{width:51px;min-width:51px;height:31px;padding:0;border:0;outline:none;box-shadow:none}
#sf-priv,#sf-nota{min-height:0;height:auto}
.st-ph-help{margin:-6px 2px 12px}
.st-addc{width:100%;margin:4px 0 8px}
.st-del{display:block;margin:14px auto 4px}
.st-coms{margin-bottom:10px}
.st-com{padding:10px 14px;position:relative}.st-com + .st-com{border-top:.5px solid var(--sep)}
.st-com small{font-size:12px;color:var(--muted);font-weight:600}
.st-com p{margin:3px 0 0;font-size:15px;line-height:1.4;white-space:pre-wrap}
.st-cph{display:flex;gap:6px;overflow-x:auto;margin-top:6px}.st-cph img{width:72px;height:72px;object-fit:cover;border-radius:8px;flex:none;cursor:zoom-in}
.st-cdel{position:absolute;top:8px;right:12px}
#st-com textarea{width:100%;box-sizing:border-box}
.st-sug{background:color-mix(in srgb,var(--blue) 8%,transparent);border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:14px}
.st-sug[hidden]{display:none!important}
.st-sug-h{margin:0 0 6px;font-size:14px;font-weight:600}
.st-sug-c{display:flex;flex-wrap:wrap;gap:6px}
.st-sug-c .chip{font-size:13px}
/* v230: XZ quieto abajo a la derecha. Sin el balanceo (se veía moverse) y escondido con el teclado abierto */
.xz-fab{animation:none!important;translate:none!important;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}
body.kb-open .xz-fab{display:none!important}
/* ===== marcador de uso (v231) ===== */
.uso-g{--p:0;--c:var(--muted2);flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--fill2) 0);position:relative;margin-left:6px}
.uso-g::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--cell)}
.uso-g b{position:relative;font-size:12px;font-weight:800;color:var(--c)}
.uso-g.hi{--c:var(--green)}.uso-g.mid{--c:var(--orange)}.uso-g.lo{--c:var(--red)}.uso-g.none{--c:var(--muted)}
.uso-g.lg{width:60px;height:60px;margin:0}.uso-g.lg::before{inset:6px}.uso-g.lg b{font-size:20px}
.as-uso{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:2px}
.uso-bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px;flex:none}
.uso-bars .ub{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;width:5px}
.uso-bars .ub i{display:block;width:100%;border-radius:2px;background:var(--fill2)}.uso-bars .ub i.on{background:var(--blue)}
.uso-bars.big{height:64px;gap:8px;width:100%;margin:12px 0 4px}
.uso-bars.big .ub{flex:1;width:auto}.uso-bars.big .ub i{border-radius:4px}.uso-bars.big .ub small{font-size:11px;color:var(--muted);margin-top:3px}
.uso-bars.big .ub{height:calc(100% + 0px)}
.uso-card{background:var(--cell);border-radius:12px;padding:12px 14px;margin:8px 0}
.uso-top{display:flex;align-items:center;gap:12px}
.uso-tx{display:flex;flex-direction:column;gap:2px}.uso-tx b{font-size:16px}.uso-tx small{font-size:13px;color:var(--muted)}
.uso-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:10px 0 6px}
.uso-k{background:var(--fill);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.uso-k b{font-size:15px}.uso-k small{font-size:11px;color:var(--muted)}
.uso-det{margin:8px 0 0}.uso-det summary{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;list-style:none}
.uso-det summary::-webkit-details-marker{display:none}.uso-det summary .uso-g{margin:0;width:28px;height:28px}.uso-det summary .uso-g b{font-size:11px}
.as-right{display:flex;align-items:center;gap:8px}.as-right .uso-g{margin:0}
/* ===== audios en el chat (v232) ===== */
.chat-bar{position:relative}
.ch-mic{all:unset;box-sizing:border-box;width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:19px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}
.ch-mic[hidden]{display:none}
.ch-mic.rec{transform:scale(1.35);background:var(--red);box-shadow:0 0 0 8px color-mix(in srgb,var(--red) 22%,transparent)}
.ch-rec{position:absolute;left:0;right:56px;top:0;bottom:0;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--bg);z-index:2}
.ch-rec[hidden]{display:none}
.ch-rec .dot{width:10px;height:10px;border-radius:50%;background:var(--red);animation:recblink 1s steps(1,end) infinite}
@keyframes recblink{50%{opacity:.2}}
.ch-rec b{font-variant-numeric:tabular-nums;font-size:16px}
.ch-rec .h{flex:1;color:var(--muted);font-size:14px;text-align:center}
.ch-rec.cancel .h{color:var(--red)}
.ch-rec .lock{position:absolute;right:-48px;bottom:56px;width:36px;padding:6px 0;border-radius:18px;background:var(--cell);box-shadow:0 2px 8px rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center;font-size:15px}
.ch-rec .lock i{font-style:normal;color:var(--muted);font-size:12px}
.ch-rec.locked{right:0}.ch-rec.locked .h{display:none}.ch-rec.locked b{flex:1}
.ch-rec #ch-rec-x{font-size:20px}
.aud{display:flex;align-items:center;gap:8px;min-width:200px;max-width:260px;padding:4px 0}
.aud-p{all:unset;flex:none;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:13px;cursor:pointer}
.bubble.me .aud-p{background:#fff;color:var(--blue)}
.aud-bar{flex:1;height:4px;border-radius:2px;background:color-mix(in srgb,currentColor 25%,transparent);cursor:pointer;position:relative}
.aud-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:currentColor}
.aud-t{flex:none;font-size:12px;font-variant-numeric:tabular-nums;opacity:.85;min-width:30px}
.aud-sp{all:unset;flex:none;font-size:11px;font-weight:700;padding:2px 6px;border-radius:8px;background:color-mix(in srgb,currentColor 15%,transparent);cursor:pointer}
.uso-g.crm{--c:var(--indigo)}.uso-g.crm b{font-size:9px;letter-spacing:.02em}.uso-g.lg.crm b{font-size:14px}
.zd-b .tk-sec.recl,.tk-sec.recl{color:var(--red)}
/* leer en voz alta (v235) */
.voz-pill{all:unset;position:fixed;z-index:60;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 10px);background:var(--fg);color:var(--bg);font-size:14px;font-weight:600;padding:9px 16px;border-radius:20px;box-shadow:0 4px 14px rgba(0,0,0,.3);cursor:pointer}
.voz-pill[hidden]{display:none}
/* ✓ / ✓✓ como en WhatsApp (v235) */
.tick{all:unset;display:inline-flex;align-items:center;vertical-align:-2px;margin-left:4px;cursor:pointer;line-height:1}
.tick.no{opacity:.75}
.tick.ok{color:#34b7f1}
.bubble.me .tick.ok{color:#a5f0ff;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}
.bubble.me .tick.no,.bubble.me .tick.q{color:#fff}
.bubble .meta{display:flex!important;justify-content:flex-end;align-items:center;gap:0}
.bubble .meta{opacity:1;color:color-mix(in srgb,currentColor 68%,transparent)}
.bubble.me .meta{color:rgba(255,255,255,.75)}
.bubble.me .tick.ok{color:#b8fbff;filter:drop-shadow(0 0 2px rgba(0,40,120,.45))}
.bubble.me .tick.no{color:rgba(255,255,255,.7)}
.tick svg path{stroke-width:2.2}
/* Xzen: conversación en voz alta (v236) */
.xz-conv{all:unset;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px;border-radius:16px;background:var(--fill);color:var(--fg)}
.xz-conv.on{background:var(--blue);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 25%,transparent)}
/* voz de Xzen (v238) */
.voz-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.voz-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--fill)}
.voz-row.on{background:color-mix(in srgb,var(--blue) 14%,transparent)}
.voz-row .tx{flex:1;display:flex;flex-direction:column}.voz-row .tx small{color:var(--muted);font-size:12px}
.voz-play{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:13px}
.voz-pick{font-size:13px;padding:6px 10px;min-height:0}
.xz-conv[hidden],#xz-vozpick[hidden]{display:none!important}
.voz-gasto{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 10px;border-radius:12px;background:var(--fill);cursor:pointer}
.voz-gasto[hidden]{display:none}
.voz-gasto .ic{font-size:20px}.voz-gasto .tx{flex:1;display:flex;flex-direction:column;gap:2px}.voz-gasto .tx b{font-size:15px}.voz-gasto .tx small{font-size:12px;color:var(--muted)}
.voz-gasto .chev{color:var(--muted2);font-size:20px}
/* 🧹 tareas repetidas */
.dup-row { display: block; padding: 10px 12px; margin: 6px 0; border-radius: 14px; background: color-mix(in srgb, #34aadc 12%, var(--cell)); border: 1px solid color-mix(in srgb, #34aadc 35%, transparent); color: var(--fg); }
.dup-mot { font-size: 13px; color: var(--muted); margin: 0 2px 6px; }
.dup-t { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; text-align: left; background: var(--cell); border: 1px solid var(--sep); border-radius: 10px; padding: 8px 10px; margin: 4px 0; font: inherit; color: var(--fg); }
.dup-ti { font-weight: 600; }
.dup-sb { font-size: 12.5px; color: var(--muted); }
.dup-bar { display: flex; gap: 8px; margin-top: 8px; }
.dup-bar .btn { flex: 1; padding: 9px 6px; font-size: 14px; }
.dup-bar .btn.gray { background: var(--fill2); color: var(--fg); }

/* Sitios · mapa */
.st-map-d{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--bg);color:var(--fg)}
.st-map-d[open]{display:flex;flex-direction:column}
.st-map-top{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;background:var(--cell);border-bottom:1px solid var(--sep)}
.st-map-top #stm-t{flex:1;min-width:0;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.st-map-top .btn{padding:7px 12px}
#stm-box{flex:1;min-height:0}
.stm-icon{background:none;border:0}
.stm-pin{position:relative;width:52px;height:52px}
.stm-ph{position:absolute;inset:0 0 6px 0;border-radius:10px;border:3px solid #fff;background:#ddd center/cover no-repeat;box-shadow:0 2px 8px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;font-size:22px}
.stm-ph.emo{background:#fff}
.stm-pin::after{content:"";position:absolute;left:50%;bottom:0;margin-left:-6px;border:6px solid transparent;border-top-color:#fff;border-bottom:0}
.stm-n{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:11px;background:#007aff;color:#fff;font:700 13px/22px -apple-system,system-ui,sans-serif;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.stm-l{position:absolute;top:54px;left:50%;transform:translateX(-50%);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 11px/1.3 -apple-system,system-ui,sans-serif;color:#111;background:rgba(255,255,255,.9);padding:1px 6px;border-radius:6px}
.stm-me{background:none;border:0}
.stm-me i{display:block;width:18px;height:18px;border-radius:50%;background:#007aff;border:3px solid #fff;box-sizing:border-box;box-shadow:0 0 0 6px rgba(0,122,255,.2)}

/* fila del asistente que se arrastra (ver tareas / uso de la app) */
.tk-ppl-w{border-top:.5px solid var(--sep)} .tk-ppl-w:first-child{border-top:0} .tk-ppl-w .tk-ppl-r{border-top:0}
.tk-ppl-w .sw-in{gap:0} .tk-ppl-w .sw-in>.tk-ppl-r{flex:1;min-width:0}
.tk-ppl-w .sw-b{max-width:110px}
.uso-who{margin:0 0 10px;font-size:18px}

/* tiempos del equipo */
.t-btn{margin-top:8px}
.t-row{background:var(--cell);border:1px solid var(--sep);border-radius:14px;padding:10px 12px;margin:0 0 10px;color:var(--fg)}
.t-row.t-tap{cursor:pointer}
.t-hd{display:flex;align-items:baseline;gap:6px;margin:0 0 8px;flex-wrap:wrap}
.t-hd b{font-size:16px} .t-hd small{color:var(--muted);font-size:13px} .t-hd .t-red{color:var(--red)}
.t-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.t-k{background:var(--fill);border-radius:10px;padding:8px;display:flex;flex-direction:column;min-width:0}
.t-k b{font-size:16px;white-space:nowrap} .t-k small{font-size:12px;color:var(--muted)} .t-k .t-sub{font-size:11.5px;margin-top:2px;line-height:1.25}
.t-fl{margin-left:4px;font-weight:800} .t-fl.ok{color:var(--green)} .t-fl.mal{color:var(--red)}

/* 📁 archivos de todas las tareas */
.tl-hbtns{display:flex;align-items:center;gap:8px}
.tl-files{padding:7px 12px;font-size:15px;border-radius:999px}
.tl-fn{flex:none;margin-left:6px;font-size:12.5px;font-weight:700;color:var(--blue);white-space:nowrap}
#fa-q{width:100%;box-sizing:border-box;font-size:16px;margin:0 0 6px}
.fa-row{display:flex;align-items:center;gap:6px;background:var(--cell);border:1px solid var(--sep);border-radius:12px;margin:0 0 8px;padding:2px 10px 2px 2px}
.fa-b{all:unset;cursor:pointer;flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px}
.fa-ic{flex:none;width:36px;height:36px;border-radius:9px;background:var(--fill);display:grid;place-items:center;font-size:19px}
.fa-tx{min-width:0;display:flex;flex-direction:column}
.fa-tx b{font-size:15px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fa-tx small{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fa-go{flex:none}
/* 🌴 vacaciones y ausencias (solo el administrador) */
.tk-ppl-r .p-aus{display:block;font-size:12px;font-weight:600;color:color-mix(in srgb,var(--green) 80%,var(--fg))}
.tk-ppl-r .p-aus.hoy{color:var(--green)}
.as-aus{display:block;font-size:12.5px;font-weight:600;color:var(--muted)} .as-aus.hoy{color:var(--green)}
.aus-aviso{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 10px;border-radius:14px;background:color-mix(in srgb,var(--green) 12%,var(--cell));border:1px solid color-mix(in srgb,var(--green) 40%,transparent);color:var(--fg);cursor:pointer}
.aus-aviso .ic{font-size:22px}.aus-aviso .tx{flex:1;display:flex;flex-direction:column;gap:2px}.aus-aviso .tx b{font-size:15px}.aus-aviso .tx small{font-size:12.5px;color:var(--muted)}.aus-aviso .chev{color:var(--muted2);font-size:20px}
#aus-body{display:flex;flex-direction:column;gap:6px;padding-bottom:12px}
.aus-h{margin:14px 0 2px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.aus-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--fill);color:var(--fg)}
.aus-row.duda{background:color-mix(in srgb,var(--orange) 14%,var(--cell));border:1px solid color-mix(in srgb,var(--orange) 45%,transparent)}
.aus-bd{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.aus-bd b{font-size:15px}.aus-t{font-size:14px}.aus-bd small{font-size:12px}
.aus-pas summary{cursor:pointer;color:var(--muted);font-size:14px;padding:8px 2px}
.aus-pas .aus-row{margin-top:6px;opacity:.75}
.aus-add{margin-top:12px}
.aus-form{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--fill);color:var(--fg)}
.aus-l{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px}.aus-l span{color:var(--muted)}
.aus-l select,.aus-l input{flex:0 1 60%;min-width:0;font:inherit;padding:6px 8px;border-radius:8px;border:1px solid var(--sep);background:var(--bg);color:var(--fg)}
.aus-bts{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.aus-bts .red{color:var(--red);margin-left:auto}
/* tareas fuera de plazo en la lista: en rojo, para dar el toque */
#tl-list button.fg.late{background:color-mix(in srgb,var(--red) 10%,var(--cell));box-shadow:inset 4px 0 0 var(--red)}
#tl-list button.fg.late .tt{color:var(--red)} #tl-list button.fg.late .s{color:var(--red);font-weight:600}
/* ＋ Añadir contacto */
.ct-add{width:100%;margin:8px 0 4px}
.ct-form{display:flex;flex-direction:column;gap:8px;margin:8px 0;padding:12px;border-radius:12px;background:var(--fill)}
.ct-form[hidden]{display:none}
.ct-form input{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--sep);background:var(--cell);color:var(--fg)}
.ct-f-bts{display:flex;align-items:center;gap:14px}
/* 🌴 peticiones de vacaciones (Jessica pide, el administrador autoriza o no) */
.pet-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;margin:0 0 10px;border-radius:14px;background:color-mix(in srgb,var(--green) 10%,var(--cell));border:1px solid color-mix(in srgb,var(--green) 40%,transparent);color:var(--fg)}
.pet-h{display:flex;align-items:center;gap:10px}.pet-h .ic{font-size:22px}.pet-h .tx{display:flex;flex-direction:column;gap:1px}.pet-h b{font-size:15.5px}.pet-h small{font-size:12.5px;color:var(--muted)}
.pet-dias{font-size:15px;font-weight:600}
.pet-rs{margin:0;font-size:13px;color:var(--muted)}
.pet-bts{display:flex;gap:8px;flex-wrap:wrap}.pet-bts .btn{flex:1 1 auto;min-width:0;padding:9px 10px;font-size:14px}
.btn.green{background:var(--green);color:#fff}.btn.red{background:var(--red);color:#fff}
.pet-zona:empty{display:none}.pet-zona{display:flex;flex-direction:column;gap:8px}
.pet-motivo{font:inherit;padding:10px;border-radius:10px;border:1px solid var(--sep);background:var(--cell);color:var(--fg);resize:vertical}
.pet-rev{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:var(--fill)}
.pet-q{margin:0;padding:8px 10px;border-left:3px solid var(--green);font-size:13.5px;color:var(--fg);background:var(--cell);border-radius:8px;white-space:pre-wrap}
.pet-rev .aus-l select{flex:0 1 60%;min-width:0;font:inherit;padding:6px 8px;border-radius:8px;border:1px solid var(--sep);background:var(--bg);color:var(--fg)}
.pet-tramos{display:flex;flex-direction:column;gap:6px}
.pet-tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center}
.pet-tr input,.pet-tr select{font:inherit;font-size:14px;min-width:0;padding:6px 8px;border-radius:8px;border:1px solid var(--sep);background:var(--bg);color:var(--fg)}
.aus-aviso.resp.denegada{background:color-mix(in srgb,var(--red) 10%,var(--cell));border-color:color-mix(in srgb,var(--red) 40%,transparent)}

/* ---------- Vista PC (v251): en el ordenador, la app ocupa toda la pantalla ---------- */
#hm-right{display:contents}
#home-main[hidden] ~ #hm-right > .cal-entry{display:none}
@media (min-width:1100px) and (hover:hover) and (pointer:fine){
  main{max-width:1680px;padding-left:32px;padding-right:32px}
  .view{max-width:980px;margin-left:auto;margin-right:auto}
  #view-home,#view-tasks,#view-diary,#view-agenda,#view-libreta,#view-cal{max-width:none}
  #view-home:not([hidden]){display:grid;grid-template-columns:minmax(0,1.5fr) minmax(380px,1fr);column-gap:32px;align-items:start}
  #view-home > *{grid-column:1/-1;min-width:0}
  #view-home > #home-main{grid-column:1}
  #view-home > #hm-right{display:block;grid-column:2;min-width:0}
  #view-home > #home-main[hidden] + #hm-right{grid-column:1/-1}
  #hm-right > .cal-entry:not([hidden]){margin-top:12px}
  #hm-right > .cal-entry:first-child{margin-top:0}
  #hm-right > .hist-head{margin-left:4px;margin-right:4px}
  #view-home .home-title{max-width:none}
}

/* v253 · «Esperando a alguien»: de fuera o del equipo */
#xd-dialog label[hidden],#xd-dialog p[hidden],#xd-dialog .mode[hidden]{display:none}
.xd-mode{margin:4px 0 10px}
/* v254 · «⏳ Te esperan» */
.esp-box .ment-h{color:var(--blue)}
.esp-box .ment-wrap{display:flex;flex-direction:column;gap:6px}
.esp-ok{align-self:flex-start;margin:0 0 6px 12px;padding:7px 12px;font-size:14px}
/* v255 · leer el correo entero */
.mf-msg.tap{cursor:pointer}
.mf-msg.tap .mf-subj::after{content:"  ›";color:var(--muted2)}
dialog.mr-dialog{max-width:640px;width:calc(100% - 24px);max-height:90vh;display:none;flex-direction:column;padding:14px}
dialog.mr-dialog[open]{display:flex}
.mr-head{display:grid;gap:4px;padding:4px 2px 10px;border-bottom:1px solid var(--sep)}
.mr-subj{margin:0 0 6px;font-size:18px;line-height:1.25}
.mr-r{display:grid;grid-template-columns:56px 1fr;gap:8px;font-size:14px;word-break:break-word}
.mr-body{flex:1;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:15px;line-height:1.45;padding:12px 2px;min-height:120px}
.mr-acts{display:flex;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--sep)}
.mr-acts .btn{flex:0 1 auto;text-decoration:none}
/* gasto en IA (v256) */
.ia-alert #ia-alert-t{color:var(--red)}
.ia-alert .mail-ico{background:color-mix(in srgb,var(--red) 16%,transparent)}
#gi-body h4{margin:18px 0 8px;font-size:15px}
.gi-top{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:16px 12px;border-radius:14px;background:var(--fill)}
.gi-top .gi-big{font-size:34px;font-weight:800;letter-spacing:-.5px}
.gi-top span{font-size:14px;color:var(--muted)}
.gi-top.bad{background:color-mix(in srgb,var(--red) 14%,transparent)}.gi-top.bad .gi-big{color:var(--red)}
.gi-top.warn{background:color-mix(in srgb,var(--orange) 14%,transparent)}.gi-top.warn .gi-big{color:var(--orange)}
.gi-btns{display:flex;margin:12px 0 4px}.gi-btns .btn{flex:1;text-align:center;text-decoration:none}
.gi-help{margin:10px 0 6px}
.gi-carga{display:flex;gap:8px}.gi-carga input{flex:1;min-width:0;font-size:16px;padding:12px;border-radius:12px;border:1px solid var(--fill2);background:var(--cell);color:var(--fg)}
.gi-carga .btn{padding:12px 14px;font-size:15px;white-space:nowrap}
.gi-key{margin-top:16px;padding:12px;border-radius:14px;background:var(--fill)}.gi-key h4{margin-top:0!important}.gi-key ol{padding-left:20px;margin:8px 0 12px}.gi-key li{margin:4px 0}
.gi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.gi-k{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-radius:12px;background:var(--fill)}.gi-k b{font-size:15px}.gi-k span{font-size:12px;color:var(--muted)}
.gi-bars{display:flex;align-items:flex-end;gap:2px;height:70px;margin-top:14px}.gi-bars i{flex:1;background:var(--blue);border-radius:2px 2px 0 0;opacity:.85}
.gi-axis{margin-top:4px}
.gi-con{list-style:none;padding:0;margin:0}.gi-con li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--fill2);font-size:14px}.gi-con li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.gi-err{color:var(--red);margin-top:14px}
@media (max-width:380px){.gi-grid{grid-template-columns:repeat(2,1fr)}}
/* alarma de la agenda (v256): azul y con campana, distinta del toque */
dialog.ag-alarm{box-shadow:0 0 0 4px var(--blue),0 20px 60px rgba(0,122,255,.45);animation:agPulse 1.6s ease-in-out infinite}
dialog.ag-alarm::backdrop{background:rgba(0,40,110,.55);backdrop-filter:blur(3px)}
dialog.ag-alarm .pk-ring{animation:agSwing 1.6s ease-in-out infinite}
@keyframes agPulse{50%{box-shadow:0 0 0 8px var(--blue),0 20px 70px rgba(0,122,255,.7)}}
@keyframes agSwing{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(-12deg)}20%{transform:rotate(12deg)}30%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}}
/* proyectos (v258) */
.pj-ico{background:color-mix(in srgb,var(--indigo) 16%,transparent)}
.pj-search{width:100%;box-sizing:border-box;font-size:16px;padding:11px 12px;border-radius:12px;border:1px solid var(--fill2);background:var(--cell);color:var(--fg);margin-bottom:10px}
.pj-list{list-style:none;margin:0;padding:0}
.pj-list li{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--fill2);cursor:pointer}
.pj-list li b{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.pj-list li.sel b{color:var(--blue)}
.pj-tag{font-size:11px;padding:2px 7px;border-radius:8px;background:var(--fill);color:var(--muted);white-space:nowrap}
.pj-tag.ok{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}
.pj-tag.no{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}
.pj-more{margin:14px 0 4px}
#pjf-body h4{margin:18px 0 6px;font-size:15px;display:flex;align-items:center;gap:6px}
#pjf-body h4 small{font-weight:400;color:var(--muted)}
.pjf-top{padding:12px;border-radius:14px;background:var(--fill)}
.pjf-top .pjf-fase{font-weight:700;font-size:16px}
.pjf-steps{display:flex;gap:3px;margin:8px 0}.pjf-steps i{flex:1;height:5px;border-radius:3px;background:var(--fill2)}.pjf-steps i.on{background:var(--indigo)}
.pjf-nota{white-space:pre-wrap;font-size:13px;color:var(--muted);margin-top:8px;max-height:130px;overflow:auto}
.pjf-row{display:flex;align-items:center;gap:8px;padding:9px 2px;border-bottom:1px solid var(--fill2);font-size:14px}
.pjf-row span{flex:1;min-width:0}.pjf-row span small{display:block;color:var(--muted);font-size:12px}
.pjf-row.tap{cursor:pointer}
.pjf-row .btn{padding:6px 10px;font-size:13px;white-space:nowrap}
.pjf-sug{background:color-mix(in srgb,var(--orange) 8%,transparent);border-radius:12px;padding:4px 10px;margin-top:6px}
.pjf-err{color:var(--red);font-size:13px}
.pjf-alias{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.pjf-alias span{font-size:12px;padding:3px 8px;border-radius:10px;background:var(--fill)}
/* mejoras de la app (v258) */
.mej-form textarea{width:100%;box-sizing:border-box;font-size:16px;padding:12px;border-radius:12px;border:1px solid var(--fill2);background:var(--cell);color:var(--fg);min-height:110px;resize:vertical}
.mej-form select{width:100%;font-size:16px;padding:10px;border-radius:12px;border:1px solid var(--fill2);background:var(--cell);color:var(--fg);margin:8px 0}
.mej-form .mej-act{display:flex;gap:8px;align-items:center;margin-top:6px}.mej-form .mej-act .btn{flex:1}
.mej-tabs{display:flex;gap:6px;overflow-x:auto;margin:4px 0 10px}.mej-tabs button{flex:none;font-size:13px;padding:6px 11px;border-radius:14px;border:0;background:var(--fill);color:var(--fg)}.mej-tabs button.on{background:var(--blue);color:#fff}
.mej-card{padding:12px;border-radius:14px;background:var(--fill);margin-bottom:8px}
.mej-card .mej-who{font-size:12px;color:var(--muted);margin-bottom:4px}
.mej-card .mej-txt{white-space:pre-wrap;font-size:15px}
.mej-card .mej-resp{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--cell);font-size:14px}
.mej-card .mej-btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mej-card .mej-btns button{font-size:12px;padding:5px 9px;border-radius:10px;border:0;background:var(--cell);color:var(--blue)}
.mej-card .mej-btns button.on{background:var(--blue);color:#fff}
.mej-st{display:inline-block;font-size:11px;padding:2px 7px;border-radius:8px;margin-left:6px;background:var(--cell)}
.mej-st.nueva{color:var(--orange)}.mej-st.estudio{color:var(--blue)}.mej-st.hecha{color:var(--green)}.mej-st.descartada{color:var(--muted)}
.mej-new{position:relative}.mej-new::after{content:attr(data-n);margin-left:4px;font-size:11px;font-weight:700;color:#fff;background:var(--red);border-radius:9px;padding:1px 6px}
.mej-btn{display:block;width:100%;margin:18px 0 6px;font-size:15px}
