/* Lurqiva · Mesa de trabajo v2: grafito, marfil cálido y firma lima. Inter local. Sin estilos en línea (CSP). */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ============ 1. tokens ============ */
:root{
  --bg:#f4f3ee;--surface:#faf9f5;--card:#faf9f5;--ink:#191d21;--ink-2:#2a2f35;--mut:#5c6167;--line:#e2e0d7;--line-2:#cbc8bc;
  --lime:#d9fa63;--lime-d:#c9ee45;--lime-soft:#f1fbc6;--coral:#a82716;--coral-soft:#fde6e0;--cobalt:#1747c9;
  --lilac:#dcd7ff;--lilac-ink:#2d2486;--sky:#d3e3ff;--sky-ink:#173d8f;--sand:#e8e6dc;
  --ok:#1b6b3a;--ok-soft:#e0f2dc;--warn:#8a5a00;--warn-soft:#fff0c9;--bad:#b3261e;--bad-soft:#fde6e0;--vio:#4b3fb3;--vio-soft:#e6e2ff;
  --pri:var(--ink);--pri-d:#000;--pri-soft:#eceae1;--pri-ink:var(--cobalt);
  --r:14px;--rc:8px;--gap:20px;--rail-w:104px;--top-h:64px;--ctl:44px;--padx:32px;
  --f:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Roboto,Arial,sans-serif;
}
/* temas de marca de la organización: sustituyen la firma lima (siempre con texto oscuro) */
body[data-theme=esmeralda]{--lime:#9fe6c3;--lime-d:#86d9b1;--lime-soft:#dcf5e8}body[data-theme=granate]{--lime:#f5b9c8;--lime-d:#eca2b5;--lime-soft:#fbe3ea}body[data-theme=grafito]{--lime:#d3d7de;--lime-d:#c0c5ce;--lime-soft:#eceef2}body[data-theme=violeta]{--lime:#d6c9ff;--lime-d:#c4b3fb;--lime-soft:#ece6ff}body[data-theme=naranja]{--lime:#ffcd94;--lime-d:#fbbb75;--lime-soft:#ffecd6}

/* ============ 2. base ============ */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 var(--f);background:var(--bg);color:var(--ink);font-feature-settings:"cv11","ss03";-webkit-font-smoothing:antialiased}
a{color:var(--cobalt)}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}
.rail :focus-visible,.drawer :focus-visible,.ctx :focus-visible,.tabbar :focus-visible,.auth-brand :focus-visible{outline-color:var(--lime)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:60}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:20px;height:20px;flex:none;vertical-align:-4px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.muted{color:var(--mut)}
.sr{position:absolute;left:-999px}
kbd{font:inherit;font-size:.78rem;border:1px solid var(--line-2);border-radius:6px;padding:1px 7px;color:var(--mut);background:#fff}
.num{font-variant-numeric:tabular-nums}
.od{display:inline}.om{display:none}

/* ============ 3. estructura: rail + cabecera ============ */
.app{display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr);min-height:100vh}
.rail{background:var(--ink);color:#fff;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;padding:14px 8px 16px;z-index:20}
/* el recorte vive solo en la zona de navegación: el menú de perfil queda fuera y puede abrirse sobre el contenido */
.rail-scroll{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;overflow-y:auto;overflow-x:hidden}
.rail-logo{display:flex;align-items:center;justify-content:center;width:100%;height:50px;color:#fff;text-decoration:none;flex:none}
.logo-l{width:36px;height:36px}
.rail nav{flex:1;width:100%;display:flex;flex-direction:column;gap:6px;margin-top:20px}
.rail nav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;border-radius:12px;color:#e9e8e1;text-decoration:none;font-size:.78rem;font-weight:500;text-align:center;line-height:1.15;overflow-wrap:anywhere}
.rail nav a .ic{width:26px;height:26px;stroke-width:1.7}
.rail nav a:hover{background:#2a2f35;color:#fff}
.rail nav a[aria-current]{background:var(--lime);color:var(--ink);font-weight:600}
.rail .count,.tabbar .count{position:absolute;top:4px;right:10px;background:var(--coral);color:#fff;border-radius:99px;font-size:.66rem;min-width:18px;height:18px;line-height:18px;text-align:center;padding:0 5px;font-weight:700}
.rail-prof{margin-top:12px;flex:none}
.rail-prof>summary{display:flex;border-radius:50%;border:1.5px solid #5a6068}.rail-prof>summary:hover{border-color:#fff}
.rail-prof .av{background:var(--ink);color:#fff;width:46px;height:46px}
.rail .menu-panel{left:calc(100% + 10px);right:auto;top:auto;bottom:0;min-width:260px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}
.drawer,.side-backdrop,.tabbar,.icon-btn.nav-btn{display:none}
.main-col{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:20px;height:var(--top-h);padding:0 var(--padx);background:var(--bg)}
.wordmark{font:700 1.3rem/1 var(--f);letter-spacing:.34em;text-transform:uppercase;color:var(--ink);text-decoration:none;flex:none}
.crumb{margin:0;padding-left:20px;border-left:1px solid var(--line-2);color:var(--mut);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.crumb b{color:var(--ink);font-weight:600}
.grow{flex:1}
.search-btn{flex:0 1 415px;margin:0 auto;display:flex;align-items:center;gap:12px;height:44px;padding:0 14px 0 16px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--rc);color:var(--mut);font:inherit;cursor:pointer;text-align:left;min-width:0}
.search-btn .ic{width:21px;height:21px;color:var(--ink)}
.search-btn span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-btn:hover{border-color:var(--ink)}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none}
.top-actions>.search-btn+.top-actions{margin-left:0}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--rc);border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;text-decoration:none}
.icon-btn .ic{width:24px;height:24px}.icon-btn:hover{background:var(--sand)}
.bell .count{position:absolute;top:5px;right:4px;background:var(--coral);color:#fff;border-radius:99px;font-size:.66rem;min-width:16px;height:16px;line-height:16px;text-align:center;padding:0 4px;font-weight:700}
.net{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;padding:3px 10px;border-radius:99px;border:1px solid var(--line-2);background:#fff;color:var(--mut)}
.net[hidden]{display:none}.net.bad{background:var(--bad-soft);border-color:#f0a59d;color:var(--bad)}.net.wait{background:var(--warn-soft);border-color:#e8c870;color:var(--warn)}
.subnav{display:flex;align-items:center;gap:6px;padding:0 var(--padx);border-bottom:1px solid var(--line);overflow-x:auto}
.subnav-t{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-right:14px;flex:none}
.subnav a{padding:12px 12px 10px;border-bottom:2px solid transparent;color:var(--mut);text-decoration:none;font-weight:500;white-space:nowrap}
.subnav a:hover{color:var(--ink)}.subnav a[aria-current]{color:var(--ink);border-color:var(--ink);font-weight:600}
main{width:100%;padding:12px var(--padx) 48px}
main.center{max-width:440px;margin-top:8vh}
body:not(.has-shell) main{max-width:440px}

/* avatares con iniciales (sin fotografías) */
.av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;flex:none;line-height:1;font-size:.78rem;width:34px;height:34px}
.av.sm{width:24px;height:24px;font-size:.62rem}.av.md{width:40px;height:40px;font-size:.86rem}.av.lg{width:48px;height:48px;font-size:1.02rem}
.t1{background:#dfe8ff;color:#1b3f94}.t2{background:#ffe9c8;color:#85500a}.t3{background:#e4defc;color:#4a30ad}.t4{background:#dbf0d4;color:#1f6234}.t5{background:#fde0dc;color:#a52c1d}
.av.sq{border-radius:8px}.m1{background:#191d21;color:#fff}.m2{background:#6b4d1b;color:#fff}.m3{background:#4b3fb3;color:#fff}.m4{background:#1f6a58;color:#fff}.m5{background:#9a2c43;color:#fff}
.mn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:1.1rem;flex:none}
.avs{display:inline-flex}.avs .av{border:2px solid #fff;margin-left:-6px}.avs .av:first-child{margin-left:0}

/* menús desplegables (details) */
.menu{position:relative}.menu>summary{list-style:none;cursor:pointer}.menu>summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:250px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 14px 36px rgba(25,29,33,.18);padding:6px;z-index:30;display:flex;flex-direction:column;color:var(--ink)}
.menu.up .menu-panel{top:auto;bottom:calc(100% + 8px)}
.menu-panel a,.menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;width:100%;text-align:left;cursor:pointer}
.menu-panel a:hover,.menu-item:hover{background:var(--pri-soft)}.menu-panel .ic{color:var(--ink)}
.menu-panel form{margin:0;border-top:1px solid var(--line);margin-top:4px;padding-top:4px}
.menu-meta{margin:4px 10px 6px;font-weight:600}.menu-meta small{font-weight:400;color:var(--mut)}
.profile.top>summary{display:flex;align-items:center;gap:4px;border-radius:99px;padding:2px 6px 2px 2px}.profile.top>summary:hover{background:var(--sand)}.profile.top .av{background:var(--ink);color:#fff}

/* ============ 4. tipografía ============ */
h1{font:800 clamp(2rem,3.4vw,3.4rem)/1.04 var(--f);margin:0;letter-spacing:-.04em;overflow-wrap:anywhere}
main h1:not(.plain)::after{content:"";display:block;height:.14em;width:min(5.2em,52%);margin-top:.12em;background:var(--lime);border-radius:99px;transform:rotate(-.8deg)}
.auth-main h1::after{display:none}
h2{font-size:1.2rem;margin:1.4em 0 .5em;font-weight:700;letter-spacing:-.02em}h3{font-size:1rem;font-weight:700}
.sub{margin:8px 0 0;color:var(--mut);font-size:1.1rem}
.display{font:800 clamp(2.2rem,3.9vw,3.9rem)/1.02 var(--f);letter-spacing:-.045em;margin:0}
.hl{position:relative;display:inline-block;z-index:0}.hl::after{content:"";position:absolute;left:-2%;right:-1%;bottom:.02em;height:.2em;background:var(--lime);border-radius:99px;transform:rotate(-1.2deg);z-index:-1}
.ph,.bar{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.ph-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bar>span{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bar h2{margin:0}
.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px 28px;margin:6px 0 26px;flex-wrap:wrap}
.hero-aside{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:14px}
.hero-aside.stk{flex-direction:column;align-items:flex-end;gap:14px}.hero-aside .line{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.hero-aside .acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.hero-sub{margin:10px 0 0;font-size:1.2rem;color:var(--ink-2)}.hero-sub a{color:inherit;text-decoration:none}.hero-sub a:hover{text-decoration:underline}
.hdate{color:var(--ink);font-size:.98rem}.vsep{width:1px;height:28px;background:var(--line-2)}
.hlink{color:var(--ink);font-weight:500;text-decoration:none;font-size:.98rem}.hlink:hover:not(.static){text-decoration:underline}
.crumbs{margin:0 0 6px;color:var(--mut)}

/* ============ 5. componentes compartidos ============ */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:var(--gap)}
.grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:var(--gap)}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.stat b{display:block;font-size:2rem;line-height:1.15;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stat span{color:var(--mut);font-size:.92rem}
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:#fff;height:var(--ctl);padding:0 18px;border-radius:var(--rc);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s;white-space:nowrap}
.btn:hover{background:#000;border-color:#000}
.btn.dark{background:var(--ink)}
.btn.cta{background:var(--lime);border-color:var(--lime);color:var(--ink);font-weight:700}.btn.cta:hover{background:var(--lime-d);border-color:var(--lime-d)}
.btn.sec,.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.sec:hover,.btn.ghost:hover{background:var(--sand);border-color:var(--ink)}
.btn.ghost-d{background:transparent;color:#fff;border-color:#6a7077}.btn.ghost-d:hover{background:#2a2f35;border-color:#fff}
.btn.coral{background:var(--coral-soft);border-color:var(--coral-soft);color:var(--coral);font-weight:700}.btn.coral:hover{background:#fbd3ca;border-color:#fbd3ca}
.btn.sm{height:36px;padding:0 14px;font-size:.92rem}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.sec.danger{background:transparent;color:var(--bad);border-color:var(--bad)}.btn.sec.danger:hover{background:var(--bad-soft)}
.btn.ok{background:transparent;color:var(--ok);border-color:#7fc08f}.btn.ok:hover{background:var(--ok-soft)}
.btn.soft{background:var(--sand);border-color:var(--sand);color:var(--ink);height:38px;padding:0 14px;font-size:.9rem;font-weight:500}.btn.soft:hover{background:#dcdacf}
.btn.win{background:var(--lime-soft);color:var(--ink);border-color:#a8c93a}.btn.win:hover{background:var(--lime)}
.btn.lose{background:#fff;color:var(--coral);border-color:#e8a396}.btn.lose:hover{background:var(--coral-soft)}
.btn.wide{width:100%}.btn[disabled]{opacity:.6;cursor:progress}.btn .ic{width:20px;height:20px}
.field{margin-bottom:14px}.field label{display:block;font-weight:600;margin-bottom:5px;font-size:.92rem}
.field input,.field select,.field textarea,.filters input,.filters select,.inline-form select,.chat-composer textarea,#palette input{width:100%;height:var(--ctl);padding:0 12px;border:1px solid var(--line-2);border-radius:var(--rc);font:inherit;background:#fff;color:var(--ink)}
.field textarea,.chat-composer textarea{height:auto;padding:10px 12px}
.field input[type=checkbox],.filters input[type=checkbox]{width:auto;height:auto;accent-color:var(--ink)}
.field input:hover,.field select:hover,.field textarea:hover,.filters input:hover,.filters select:hover{border-color:var(--ink)}
.field [aria-invalid]{border-color:var(--bad)}
.field small{display:block;color:var(--mut);margin-top:3px}.err{color:var(--bad)!important}.req{color:var(--bad)}
.form-grid{display:grid;gap:0 16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--gap);align-items:center}.filters>*{flex:1 1 170px;width:auto;max-width:300px}.filters>.btn,.filters>button,.filters>label{flex:0 0 auto}.filters>label{display:inline-flex;gap:6px;align-items:center;color:var(--mut)}
.inline-form{display:flex;gap:6px;flex-wrap:wrap}.inline-form select{width:auto}
.chk{display:inline-block;margin:0 14px 6px 0}
fieldset.card{margin-bottom:12px;min-width:0;max-width:100%}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-bottom:var(--gap)}
.panel .tablewrap{border:0;margin:0;border-radius:0;background:transparent}
table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:.86rem;color:var(--mut);font-weight:600;white-space:nowrap;background:transparent}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fff}
td.r,th.r{text-align:right}
td>a:not(.btn),.list a{color:var(--ink);text-decoration:none;font-weight:600}td>a:not(.btn):hover,.list a:hover{text-decoration:underline}
.flash{background:var(--lime-soft);border:1px solid #bfd868;padding:11px 14px;border-radius:var(--rc);margin:0 0 14px}.flash.warn{background:var(--warn-soft);border-color:#e8c870}
.alert{background:var(--coral-soft);border:1px solid #f0a99b;padding:11px 14px;border-radius:var(--rc);margin-bottom:14px}
.empty{text-align:center;padding:28px 16px;color:var(--mut);background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r)}.empty p{margin:0 0 10px}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:6px;font-size:.84rem;font-weight:600;background:var(--sand);color:#2f3338}
.badge.demo{background:var(--warn-soft);color:var(--warn);font-weight:700;font-size:.5em;vertical-align:middle;margin-left:.4em}
.badge.late{background:var(--coral-soft);color:var(--coral)}.badge.won{background:var(--ok-soft);color:var(--ok)}.badge.info{background:var(--sky);color:var(--sky-ink)}.badge.vio{background:var(--lilac);color:var(--lilac-ink)}.badge.warn{background:var(--warn-soft);color:var(--warn)}
.chip{display:inline-block;padding:4px 12px;border-radius:6px;font-size:.88rem;font-weight:600;background:var(--sand);color:var(--ink)}
.chip.c0,.chip.s2{background:var(--lilac);color:var(--lilac-ink)}.chip.c1,.chip.s1{background:var(--sky);color:var(--sky-ink)}.chip.c2,.chip.s4,.chip.won{background:var(--lime);color:var(--ink)}.chip.lost,.chip.s5{background:var(--coral-soft);color:var(--coral)}.chip.s3{background:var(--warn-soft);color:var(--warn)}
.pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:14px}
.seg{display:inline-flex;flex-wrap:wrap;gap:2px;margin:0;padding:3px;background:#ebe9e0;border:1px solid var(--line-2);border-radius:10px;width:fit-content}
.seg a{display:inline-flex;align-items:center;height:36px;padding:0 18px;border-radius:7px;text-decoration:none;color:var(--mut);font-weight:500}.seg a:hover{color:var(--ink)}
.seg a[aria-current]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(25,29,33,.12)}
.tabs,.uline{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 var(--gap);padding:0}
.tabs a,.uline a{padding:6px 2px;border-bottom:2px solid transparent;color:var(--mut);text-decoration:none;font-weight:500}.tabs a:hover,.uline a:hover{color:var(--ink)}
.tabs a[aria-current],.uline a[aria-current]{color:var(--ink);border-color:var(--ink);font-weight:600}
.uline.mb{margin-bottom:14px}.tabs.dup{display:none}
dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}dt{color:var(--mut)}dd{margin:0}
.inline{display:inline}.inline button:not(.btn){background:none;border:0;color:var(--cobalt);cursor:pointer;font:inherit;padding:0;text-decoration:underline}
.mt{margin-top:12px}
code{background:var(--sand);padding:2px 6px;border-radius:6px;word-break:break-all}
.hist{list-style:none;padding:0;margin:0}.hist li{padding:8px 0;border-bottom:1px solid var(--line)}.hist li:last-child{border-bottom:0}.hist small{color:var(--mut)}
mark{background:var(--lime);border-radius:4px;padding:0 3px}
details>summary{cursor:pointer}
progress{accent-color:var(--ink)}
.pad{padding:8px 24px 18px}
.hint{display:flex;gap:10px;align-items:flex-start;color:var(--mut);font-size:.95rem;margin:0 0 8px}.hint .ic{color:var(--ink);margin-top:2px}
.list{list-style:none;margin:0;padding:0}.list li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.list li:last-child{border-bottom:0}.list small{color:var(--mut);text-align:right}
.quick{display:flex;flex-wrap:wrap;gap:10px}.cta-empty{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:6px 0}.cta-empty.pad{padding:8px 24px 20px}
.note-s{font-size:.82rem;margin:10px 0 0}
.link-btn{background:none;border:0;padding:6px 0;font:inherit;color:var(--cobalt);cursor:pointer;text-decoration:underline}.code-mode{margin:-6px 0 18px}
.dots{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:var(--rc);color:var(--ink);text-decoration:none;border:1px solid transparent}.dots:hover{background:var(--sand)}

/* paneles */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0;display:flex;flex-direction:column}
.panel-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px;padding:18px 22px 6px}
.panel-h h2{margin:0;font-size:1.3rem;font-weight:800;display:flex;align-items:center;gap:12px;letter-spacing:-.03em}.panel-h h2 .ic{width:24px;height:24px}
.panel-h .tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.panel-h a.more,a.more{font-size:.92rem;text-decoration:none;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;color:var(--cobalt)}.panel-h a.more:hover,a.more:hover{text-decoration:underline}a.more .ic{width:17px;height:17px}
.panel-h .note{color:var(--mut);font-size:.84rem}
.panel-b{padding:6px 22px 20px;flex:1;min-width:0}.panel-b.flush{padding:0}
.panel-f{padding:12px 22px;border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.panel td,.panel th{padding:10px 10px}.panel th:first-child,.panel td:first-child{padding-left:22px}.panel th:last-child,.panel td:last-child{padding-right:22px}
.pgrid{display:grid;gap:var(--gap);margin-bottom:var(--gap);align-items:stretch}.pgrid>*{margin:0}
.g-mk{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start}.g-half{grid-template-columns:repeat(2,minmax(0,1fr))}
.stack{display:flex;flex-direction:column;gap:var(--gap);min-width:0}.stack>.panel{margin:0}
.mesa{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--gap);align-items:stretch;margin-bottom:var(--gap)}.mesa>.stack>.panel:last-child{flex:1}
main>.panel,main>details{margin-bottom:var(--gap)}
.jr-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:22px 26px 10px;flex-wrap:wrap}
.jr-head h2{margin:0;font-size:1.85rem;font-weight:800;letter-spacing:-.04em}.jr-head.sm{padding:18px 22px 6px}.jr-head.sm h2{font-size:1.35rem}
.jr-head form{display:flex;gap:8px;align-items:center;margin:0}.jr-head select,.panel-h select{height:38px;border:1px solid var(--line-2);border-radius:var(--rc);padding:0 10px;font:inherit;background:#fff}
.sl{color:var(--mut);font-weight:400}

/* ============ 6. Pulso ============ */
.nums{display:flex;align-items:center;flex-wrap:wrap;gap:18px 0;margin:0 0 30px}
.nm-i{display:flex;align-items:center;gap:16px;padding:0 38px;border-left:1px solid var(--line-2);min-height:64px}.nm-i:first-child{padding-left:0;border-left:0}
.nm-i b{font-size:clamp(2.4rem,3.9vw,3.9rem);line-height:1;font-weight:800;letter-spacing:-.05em;white-space:nowrap}
.nm-i>span{color:var(--ink-2);font-size:1.05rem;line-height:1.25}
.nm-i.lt{margin-left:auto;border-left:1px solid var(--line-2);gap:14px;padding-right:0}
.nm-i.lt b{font-size:1.2rem;letter-spacing:-.02em;color:var(--coral);white-space:normal}.nm-i.lt:not(.on) b{color:var(--ink-2);font-weight:600}
.al-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--coral-soft);color:var(--coral);flex:none}.al-ic.ok{background:var(--ok-soft);color:var(--ok)}.al-ic .ic{width:24px;height:24px}
.jr.panel{background:var(--surface)}
.uline{margin:0}.jr-head .uline{gap:22px}
.jr-list{list-style:none;margin:0;padding:6px 14px 14px}
.jr-item{border-top:1px solid var(--line);border-radius:10px}.jr-item:first-child{border-top-color:transparent}
.jr-item.on{background:#fff;outline:1.5px solid var(--ink);border-top-color:transparent}.jr-item.on+.jr-item{border-top-color:transparent}
.jr-main{display:grid;grid-template-columns:18px 48px minmax(120px,.9fr) minmax(0,1.9fr) 118px 22px;grid-template-areas:"dot mono name path amt go" ". . . next amt go";align-items:center;gap:8px 14px;padding:16px 16px 16px 14px;color:inherit;text-decoration:none;border-radius:10px}
.jr-main:hover{background:rgba(255,255,255,.7)}.jr-item.on .jr-main:hover{background:transparent}
.jr-dot{grid-area:dot;width:12px;height:12px;border-radius:50%;background:#d9d7cc;justify-self:center}.jr-item.on .jr-dot{background:var(--lime);box-shadow:0 0 0 3px var(--lime-soft)}
.jr-main>.mn{grid-area:mono}
.jr-name{grid-area:name;min-width:0;display:flex;flex-direction:column;line-height:1.3}.jr-name b{font-size:1.08rem;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jr-name small{color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.path{grid-area:path;display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.path .pip{width:26px;height:10px;border-radius:99px;background:#dddbd0;flex:none}
.path .cur{padding:5px 14px;border-radius:6px;font-size:.92rem;font-weight:700}
.path .c0{background:var(--lilac);color:var(--lilac-ink)}.path .c1{background:var(--sky);color:var(--sky-ink)}.path .c2{background:var(--lime);color:var(--ink)}.path .won{background:var(--lime);color:var(--ink)}.path .lost{background:var(--coral-soft);color:var(--coral)}
.stg-m{display:none;grid-area:stg;justify-self:end}
.next{grid-area:next;display:inline-flex;align-items:center;gap:8px;justify-self:start;border:1px solid var(--line-2);border-radius:99px;padding:4px 14px 4px 5px;background:var(--surface);font-size:.9rem;max-width:100%}
.next>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.next.late{background:var(--coral-soft);border-color:#f0a99b;color:var(--coral);font-weight:600}.next.none{border-style:dashed;color:var(--mut);padding-left:14px}
.jr-amt{grid-area:amt;text-align:right;font-weight:700;font-size:1.05rem;white-space:nowrap}
.jr-go{grid-area:go;color:var(--ink)}
.jr-more{margin:0;padding:0 26px 18px;text-align:right}.jr-more a{color:var(--ink);font-weight:500;text-decoration:none}
.ctx-m{display:none}
.ctx{background:var(--ink);color:#f4f3ee;border-radius:16px;padding:22px 24px 24px}
.ctx-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.ctx-h h2,.ctx.nm>h2{margin:0;font-size:1.12rem;font-weight:600;letter-spacing:0;color:#fff}.ctx.nm>h2{font-size:1.45rem;font-weight:800;letter-spacing:-.03em;margin-bottom:14px}
.ctx-st{display:inline-flex;align-items:center;gap:8px;color:#b7b6ae;font-size:.82rem}.ctx-st i{width:10px;height:10px;border-radius:50%;background:var(--lime)}
.ctx-tag{display:inline-block;background:var(--lime);color:var(--ink);font-weight:800;font-size:.76rem;letter-spacing:.07em;padding:5px 11px;border-radius:6px}.ctx-tag.alt{background:#fff}.ctx-tag.late{background:var(--coral);color:#fff}
.ctx h3{margin:12px 0 4px;font-size:clamp(1.8rem,2.7vw,2.6rem);line-height:1.05;font-weight:800;letter-spacing:-.045em;color:#fff}
.ctx-sub{margin:0 0 18px;color:#cdccc3;font-size:1.02rem}
.ctx-k{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #3b4046;border-bottom:1px solid #3b4046;padding:16px 0;margin:0 0 4px}
.ctx-k>div{padding:0 14px;border-left:1px solid #3b4046;display:flex;flex-direction:column;justify-content:center;min-width:0}.ctx-k>div:first-child{padding-left:0;border-left:0}
.ctx-k b{overflow-wrap:anywhere;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.ctx-k small{color:#b7b6ae;font-size:.9rem}
.ctx-k .own{flex-direction:row;align-items:center;gap:10px}.ctx-k .own .av{width:38px;height:38px}.ctx-k .own>span{display:flex;flex-direction:column}.ctx-k .own b{font-size:1.05rem}.ctx-k .own .av{background:#fff;color:var(--ink)}
.ctx-k:not(.two) .own{grid-column:1/-1;border-left:0;border-top:1px solid #3b4046;margin-top:14px;padding:14px 0 0}.ctx-k:not(.two)>div:nth-child(2){padding-left:18px}.ctx-k.two{grid-template-columns:1fr 1fr}
.ctx-last{display:flex;gap:12px;align-items:flex-start;padding:16px 0 4px;color:#e7e6df}.ctx-last .ic{margin-top:2px;color:#cdccc3}.ctx-last small{color:#b7b6ae;display:block}.ctx-last p{margin:2px 0 0}.ctx-last a{color:var(--lime)}
.ctx-next{display:flex;align-items:center;gap:14px;background:#f7f6f0;color:var(--ink);border-radius:10px;padding:13px 16px;text-decoration:none;margin:14px 0}.ctx-next:hover{background:#fff}
.ctx-next>span{flex:1;display:flex;flex-direction:column;min-width:0}.ctx-next small{color:var(--mut)}.ctx-next b{font-size:1.02rem}.ctx-next.late small{color:var(--coral);font-weight:600}
.ctx-empty{color:#cdccc3;margin:10px 0}.ctx-empty a{color:var(--lime)}
.ctx-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin-top:14px}.ctx-actions .btn{width:100%}
.tl-d{padding:8px 26px 24px}
.tl{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));row-gap:8px;position:relative;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:calc(100% / (var(--n) / 4)) 100%}
.tl-hours span{grid-row:1;grid-column:var(--s)/span 4;font-size:.8rem;color:var(--mut);padding-left:6px;height:20px}
.tb{grid-row:calc(var(--q) + 1);grid-column:var(--s)/span var(--l);display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:6px;text-decoration:none;color:var(--ink);overflow:hidden;min-height:68px;min-width:0}
.tb small{font-size:.78rem;opacity:.85}.tb b{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb span{font-size:.82rem;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb.b0{background:var(--lilac);color:var(--lilac-ink)}.tb.b1{background:var(--sky);color:var(--sky-ink)}.tb:hover{filter:brightness(.97)}
.tl-m{display:none;list-style:none;margin:0;padding:0 14px 8px}
.chat-meta{margin:0;padding:0 22px 4px;color:var(--mut);font-size:.88rem}
.msgs{list-style:none;margin:0;padding:10px 22px;display:flex;flex-direction:column;gap:14px;flex:1}.msgs li{display:flex;gap:12px;align-items:flex-start}.msgs .mb{min-width:0}.msgs .mb b{font-weight:700}.msgs .mb time{color:var(--mut);font-size:.86rem;margin-left:8px}.msgs .bub{display:inline-block;margin-top:2px;overflow-wrap:anywhere;max-width:100%;color:var(--ink-2)}
.msgs .av{background:var(--sand);color:var(--ink)}
.composer{display:flex;gap:10px;align-items:center;padding:12px 22px 20px}.composer input{flex:1;min-width:0;height:var(--ctl);padding:0 14px;border:1px solid var(--line-2);border-radius:var(--rc);font:inherit;background:#fff}.composer .btn{width:var(--ctl);padding:0}
.foot-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:6px 10px;margin:0 0 8px}.foot-links a{color:var(--ink);font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.foot-links a:hover{text-decoration:underline}
.more-h{font-size:1.9rem;font-weight:800;letter-spacing:-.04em;margin:34px 0 14px}
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:var(--gap);align-items:start}
.sum{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:4px 0}.sum>div{border-top:1px solid var(--line);padding-top:10px}.sum dt{font-size:.88rem}.sum dd{font-size:1.4rem;font-weight:800;letter-spacing:-.03em}
.defs{margin:18px 0 0;font-size:.88rem;color:var(--mut)}.defs summary{width:fit-content}.defs p{margin:6px 0 0;max-width:80ch}
.docs{list-style:none;margin:0;padding:0}.docs li{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}.docs li:last-child{border-bottom:0}.docs .ic{width:28px;height:28px}.docs .dn{flex:1 1 200px;min-width:0}.docs .dn b{font-weight:600}.docs small{display:block;color:var(--mut)}.docs strong{font-size:1.1rem}
.goals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.goals li{display:grid;grid-template-columns:auto 82px 1fr 48px;gap:10px;align-items:center}.goals .pct{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.goals .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-t{display:block;width:100%;height:10px;appearance:none;border:0;background:#e3e1d6;border-radius:99px;overflow:hidden}.bar-t::-webkit-progress-bar{background:#e3e1d6}.bar-t::-webkit-progress-value{background:var(--ink);border-radius:99px}.bar-t::-moz-progress-bar{background:var(--ink);border-radius:99px}
.chart-t{margin:0 0 4px;font-size:1.02rem;font-weight:600}
.panel-f .up{color:var(--ok);font-weight:600}.panel-f .down{color:var(--bad);font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:6px 22px;margin:8px 0 0;padding:0;list-style:none}.legend li{display:inline-flex;align-items:center;gap:8px;font-size:.98rem}
.legend.big{flex-wrap:nowrap;gap:8px 20px;margin-top:6px}.legend.big li{flex-direction:column;align-items:flex-start;gap:0}.legend.big li>span:first-child{display:inline-flex;align-items:center;gap:8px}.legend.big strong{font-size:1.3rem;line-height:1.2;margin-left:20px}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}
.c-a{background:#e0399a}.c-b{background:#2f6bff}.c-c{background:#6a3be0}.c-d{background:#14966a}.c-e{background:#e49310}
.s-a{stroke:#e0399a;fill:#e0399a}.s-b{stroke:#2f6bff;fill:#2f6bff}.s-c{stroke:#6a3be0;fill:#6a3be0}.s-d{stroke:#14966a;fill:#14966a}.s-e{stroke:#e49310;fill:#e49310}
.chart{display:block;width:100%;height:auto}.chart text{font:12px var(--f);fill:#5c6167}.chart .grid-l{stroke:#e5e3d9;stroke-width:1}.chart polyline{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.chart circle{stroke:#fff;stroke-width:1.5}
.spark{display:block;width:100%;height:46px;margin-top:auto}.spark polyline{fill:none}
.mcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-bottom:var(--gap)}
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px 12px;min-width:0;display:flex;flex-direction:column}
.mcard-h{display:flex;gap:14px;align-items:flex-start}.mcard-h>.ic{width:32px;height:32px;color:var(--ink);flex:none;stroke-width:1.6}
.mcard small{display:block;color:var(--ink-2);font-size:1rem}.mcard b{display:block;font-size:2rem;font-weight:800;line-height:1.15;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.mcard b.nil{color:var(--mut);font-size:1.3rem;font-weight:600}
.delta{display:flex;gap:8px;align-items:baseline;font-size:.96rem;margin-top:2px}.delta strong{font-weight:700}.delta.up strong{color:var(--ok)}.delta.down strong{color:var(--coral)}.delta.flat strong{color:var(--mut)}.delta span{color:var(--mut)}
.funnel{display:flex;flex-direction:column;gap:16px;padding:4px 0 6px}.funnel>div{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:end}.funnel .fl{font-size:1.05rem}.funnel .fv{text-align:right;font-size:1.3rem;font-weight:700;line-height:1.1}.funnel .fv small{display:block;font-size:.88rem;font-weight:400;color:var(--mut)}.funnel .bar-t{grid-column:1;height:14px}
.meta-r{margin:-6px 0 14px;text-align:right;color:var(--mut);font-size:.88rem}
.ph-actions .periodf{display:flex;gap:8px;align-items:center;margin:0}.periodf select,.periodf input{height:42px;border:1px solid var(--line-2);border-radius:var(--rc);padding:0 14px;font:inherit;background:#fff}
.stackc{display:flex;flex-direction:column;gap:10px}
.socard{border:1px solid var(--line);border-radius:var(--rc);padding:10px 14px;background:#fff}.socard b a{text-decoration:none;color:var(--ink)}.sorow{display:flex;gap:30px;margin-top:6px}.sorow>div{flex:1}.sorow small{display:block;color:var(--mut)}.sorow strong{font-size:1.4rem;margin-right:8px;letter-spacing:-.02em}.sorow .up{color:var(--ok);font-weight:600}.sorow .down{color:var(--coral);font-weight:600}.sorow em{display:block;font-style:normal;color:var(--mut);font-weight:400;font-size:.8rem}
.cell-act{display:flex;align-items:center;gap:12px}.cell-act>.ic{width:24px;height:24px;color:var(--ink);flex:none}.cell-act b{display:block;font-weight:500}.cell-act small{color:var(--mut)}.cell-act span{white-space:nowrap}

/* ============ 7. ficha de oportunidad ============ */
.rec-wrap{display:flex;align-items:center;gap:20px 28px;flex-wrap:wrap;padding:6px 0 24px;border-bottom:1px solid var(--line-2)}
.rec-sc{flex:1 1 100%;min-width:0;overflow-x:auto}.rec{display:flex;list-style:none;margin:0;padding:0;align-items:center;min-width:0}
.rec li{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0;position:relative}
.rec li+li{padding-left:34px}.rec li+li::before{content:"";position:absolute;left:4px;right:calc(100% - 30px);top:50%;border-top:2px dashed var(--line-2)}
.rec li.seen::before,.rec li.cur::before{border-top-style:solid;border-top-color:var(--ink)}
.rec li.cur+li::before{border-top-style:dashed}
.rec .pt{width:38px;height:38px;border-radius:50%;background:#dad8cd;display:inline-flex;align-items:center;justify-content:center;flex:none;color:#fff}.rec .pt .ic{width:20px;height:20px;stroke-width:2.4}
.rec .seen .pt{background:var(--ink)}
.rec .cur{background:var(--lime);border-radius:99px;padding:4px 20px 4px 5px;flex:1.5 1 0;font-weight:700}.rec .cur .pt{background:var(--ink)}.rec .cur.lost{background:var(--coral-soft);color:var(--coral)}
.rec .rl{font-size:.98rem;line-height:1.2;overflow-wrap:anywhere}
.outcomes{display:flex;gap:12px;flex:none;margin-left:auto}.lose-form{padding:10px;min-width:290px}
.facts{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line-2);margin:0 0 var(--gap);gap:0}
.facts>div{padding:18px 24px;display:flex;align-items:center;gap:14px;border-left:1px solid var(--line-2)}.facts>div:first-child{padding-left:0;border-left:0}
.facts b{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.facts small{color:var(--mut);font-size:.95rem}.facts .own b,.facts .nx b{font-size:1.2rem}.facts>div>span{display:flex;flex-direction:column;min-width:0}
.facts .cal{display:inline-flex;width:44px;height:44px;border-radius:50%;background:var(--sand);align-items:center;justify-content:center}
.conv .jr-head h2{font-size:1.6rem}
.trl{list-style:none;margin:0;padding:6px 22px 10px;position:relative}
.trl>li{display:grid;grid-template-columns:62px 22px 50px minmax(0,1fr);gap:0 10px;padding:16px 0;border-bottom:1px solid var(--line);position:relative}.trl>li:last-child{border-bottom:0}
.trl .dd{font-weight:800;font-size:1.02rem;padding-top:2px}
.trl .dt{width:11px;height:11px;border-radius:50%;background:var(--ink);margin:7px 0 0 5px;position:relative;z-index:1}.trl .hl-row .dt{background:var(--lime);box-shadow:0 0 0 2px var(--ink)}
.trl>li::before{content:"";position:absolute;left:78px;top:0;bottom:0;border-left:1px solid var(--line-2)}.trl>li:first-child::before{top:26px}.trl>li:last-child::before{bottom:calc(100% - 26px)}
.trl .tm{color:var(--mut);font-size:.9rem;padding-top:3px}
.tr{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tr b{font-size:1.08rem;letter-spacing:-.01em}.tr .st{margin-left:auto}
.kc{display:inline-block;padding:2px 10px;border-radius:6px;font-size:.8rem;font-weight:700;background:var(--sand)}.kc.k-t{background:var(--lilac);color:var(--lilac-ink)}.kc.k-r{background:var(--sky);color:var(--sky-ink)}.kc.k-c,.kc.k-n{background:var(--sand);color:var(--ink)}.kc.k-e{background:var(--lime);color:var(--ink)}
.tc p{margin:4px 0 6px;color:var(--mut);overflow-wrap:anywhere}.by{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink-2)}.by .av{background:var(--sand);color:var(--ink)}
.st{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:99px;font-size:.85rem;font-weight:600;border:1px solid}.st .ic{width:15px;height:15px}
.st.pend{border-color:#e0a82e;color:#7a4f00;background:#fff8e6}.st.pend i{width:12px;height:12px;border-radius:50%;border:2px solid #c78a00}.st.late{border-color:#e8a396;color:var(--coral);background:var(--coral-soft)}.st.ok{border-color:#9bcb9c;color:var(--ok);background:var(--ok-soft)}
.notebar{display:flex;gap:12px;padding:16px 22px 22px;border-top:1px solid var(--line)}.notebar input{flex:1;min-width:0;height:48px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--rc);font:inherit;background:#fff}.notebar .btn{height:48px}
.trows{list-style:none;margin:0;padding:6px 22px}.trows li{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.trows li:last-child{border-bottom:0}.trows form{margin:0}.trows .tt{flex:1;min-width:0}.trows .tt small{display:flex;gap:6px;align-items:center;color:var(--mut)}
.check{width:24px;height:24px;border:2px solid var(--ink);border-radius:6px;background:#fff;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#fff}.check.on{background:var(--ink)}.check .ic{width:15px;height:15px;stroke-width:3}
.addtask{padding:10px 22px 18px;border-top:1px solid var(--line)}.addtask>summary{list-style:none;width:fit-content}.addtask>summary::-webkit-details-marker{display:none}.addtask>form{padding:12px 0 0}
.prow{list-style:none;margin:0;padding:6px 22px 14px}.prow li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.prow li:last-child{border-bottom:0}.prow .av{background:var(--sand);color:var(--ink)}.prow .pn{flex:1;min-width:0;display:flex;flex-direction:column}.prow .pn small{color:var(--mut);overflow-wrap:anywhere}.prow .pc{color:var(--mut);font-size:.92rem;text-align:right}
.histp>summary{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;list-style:none;cursor:pointer}.histp>summary::-webkit-details-marker{display:none}.histp h2{margin:0;font-size:1.3rem;font-weight:800;display:flex;gap:12px;align-items:center;letter-spacing:-.03em}.histp h2 .ic{width:24px;height:24px}
.views{margin:0 0 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 18px}.views ul{margin:6px 0;padding-left:18px}
.rel-map{width:100%;height:auto;max-width:760px;display:block;margin:6px 0 12px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.rel-node rect{fill:#fff;stroke:#a9a79b}.rel-node:hover rect,.rel-node:focus rect{stroke:var(--ink);stroke-width:2}.rel-node{outline:none}.rel-node:focus-visible rect{stroke:var(--cobalt);stroke-width:3}
.rel-opportunity rect{fill:var(--ink);stroke:#000}.rel-opportunity text{fill:#fff}.rel-company rect{fill:var(--sky)}.rel-contact rect{fill:var(--lilac)}.rel-task rect{fill:var(--warn-soft)}.rel-document rect{fill:var(--ok-soft)}.rel-event rect{fill:var(--sand)}
.rel-t{font:600 12px var(--f);fill:var(--ink)}.rel-s{font:11px var(--f);fill:#40454b}.rel-line{fill:none;stroke:#a9a79b;stroke-width:1.5}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}
.col{background:var(--sand);border-radius:var(--r);padding:10px;min-height:120px}.col h3{margin:0 0 8px;font-size:.95rem}
.opp{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px;margin-bottom:8px;font-size:.92rem}
.opp form{display:grid;gap:4px;margin-top:6px}.opp select{padding:4px;font:inherit;border:1px solid var(--line-2);border-radius:7px}
.plans{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}.plan.current{outline:2px solid var(--ink)}.plan h3{margin-top:0}.meter{width:100%}
.codes{columns:2;list-style:none;padding:0}.codes li{margin:4px 0}.qr svg{max-width:220px;height:auto;background:#fff;padding:6px;border:1px solid var(--line)}

/* ============ 8. agenda ============ */
.ag-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ag-nav{display:inline-flex;gap:8px;align-items:center}.ag-nav .btn{width:44px;padding:0}.ag-nav .btn.today{width:auto;padding:0 18px}
.fbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin-bottom:var(--gap)}
.fbar>.ic{width:24px;height:24px}.fbar form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0}.fbar select{height:40px;border:1px solid var(--line-2);border-radius:var(--rc);padding:0 12px;font:inherit;background:#fff;max-width:240px}
.fbar .legend{margin:0 0 0 auto;gap:6px 22px}.fbar .legend li{font-size:.95rem}
.ag-layout{display:grid;grid-template-columns:minmax(0,1fr) 388px;gap:var(--gap);align-items:start}
.wkbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:0}
.wk-scroll{overflow-x:auto}.wk.c1{min-width:0}
.dot.t1{background:#4a86f7}.dot.t2{background:#e8a021}.dot.t3{background:#8a57e8}.dot.t4{background:#2fa86b}.dot.t5{background:#e0467d}
.wk{--rh:16px;--hrs:0;min-width:520px}.wk.compact{--rh:10px;min-width:0}
.wk-head,.wk-allday,.wk-body{display:grid;grid-template-columns:58px repeat(var(--cols),minmax(0,1fr))}
.wk.c5{--cols:5}.wk.c7{--cols:7}.wk.c1{--cols:1}
.wk-head>*{padding:10px 6px;text-align:center;border-left:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:1rem;line-height:1.25}.wk-head>*:first-child{border-left:0}
.wk-head small{display:block;color:var(--mut);font-size:.88rem}.wk-head .today{color:var(--ink);font-weight:800}.wk-head .today small{color:var(--ink)}.wk-head .today::after{content:"";display:block;height:4px;width:34px;margin:4px auto 0;background:var(--lime);border-radius:99px}
.wk-head{border-bottom:1px solid var(--line);background:var(--surface)}
.wk-allday{border-bottom:1px solid var(--line);background:#f1f0e8}.wk-allday>div{padding:4px;border-left:1px solid var(--line);min-height:28px;display:flex;flex-direction:column;gap:3px}.wk-allday>div:first-child{border-left:0;font-size:.74rem;color:var(--mut);padding:6px 4px;text-align:right}
.wk-allday a{display:block;font-size:.82rem;line-height:1.25;padding:3px 6px;border-radius:5px;text-decoration:none;color:var(--ink);background:var(--sand);border-left:3px solid #94917f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-allday a.t-task{background:var(--warn-soft);border-color:#d99a1b}.wk-allday a.t-followup{background:var(--ok-soft);border-color:#2e9e66}.wk-allday a.t-deadline{background:var(--coral-soft);border-color:#d6554a}
.wk-hours{display:grid;grid-template-rows:repeat(var(--n),var(--rh))}.wk-hours span{grid-row:var(--s)/span 4;font-size:.84rem;color:var(--mut);text-align:right;padding:0 8px 0 0;position:relative;top:-9px;line-height:1.2}
.wk-col{position:relative;display:grid;grid-template-rows:repeat(var(--n),var(--rh));grid-template-columns:repeat(var(--lanes,1),minmax(0,1fr));gap:0 3px;padding:0 3px;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--rh)*4 - 1px),var(--line) calc(var(--rh)*4 - 1px),var(--line) calc(var(--rh)*4))}
.wk-col.now::after{content:"";position:absolute;left:0;right:0;top:calc(var(--rh)*var(--nowrow,0));height:2px;background:var(--coral)}
.ev{grid-row:var(--s)/span var(--l);grid-column:var(--q,1);min-width:0;margin:2px 0;padding:6px 8px;border-radius:7px;border-left:4px solid;text-decoration:none;color:var(--ink);overflow:hidden;font-size:.85rem;line-height:1.3;display:flex;flex-direction:column;gap:1px}
.ev b{font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.ev span{color:#454a50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev .avs{margin-top:3px}.ev .avs .av{width:20px;height:20px;font-size:.55rem;margin-left:-4px}
.ev.sel{box-shadow:0 0 0 2px var(--ink)}.ev.cancel{opacity:.6;text-decoration:line-through}
.ev.t1{background:var(--sky);border-color:#4a86f7}.ev.t2{background:#ffeccc;border-color:#e8a021}.ev.t3{background:var(--lilac);border-color:#8a57e8}.ev.t4{background:#d9f0d2;border-color:#2fa86b}.ev.t5{background:#fde0dc;border-color:#e0467d}
.wk.compact .ev{padding:4px 7px;font-size:.78rem}.wk.compact .ev b{font-size:.84rem}
.wk-empty{padding:18px;color:var(--mut)}
.q-1{--q:1}.q-2{--q:2}.q-3{--q:3}.q-4{--q:4}
.lanes-1{--lanes:1}.lanes-2{--lanes:2}.lanes-3{--lanes:3}.lanes-4{--lanes:4}
.evpanel{padding:20px;display:block}.evpanel h2{margin:0 0 8px;font-size:1.6rem;font-weight:800;letter-spacing:-.035em;display:flex;justify-content:space-between;gap:8px}
.evrow{display:flex;gap:12px;align-items:flex-start;margin:14px 0;font-size:1rem}.evrow>.ic{width:24px;height:24px;color:var(--ink);flex:none;margin-top:1px}.evrow small{display:block;color:var(--mut)}.evrow a{font-weight:600;text-decoration:none;color:var(--ink)}
.evpeople{display:flex;flex-direction:column;gap:10px}.evpeople>div{display:flex;gap:12px;align-items:center}.evpeople b{display:block;font-weight:600}.evpeople small{color:var(--mut)}
.evbtns{display:flex;flex-direction:column;gap:10px;margin-top:16px}.evbtns form{margin:0}.evbtns .btn{width:100%}
.evnote{border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.sidecard{padding:16px 20px;margin-top:0}.sidecard h3{margin:0 0 6px;display:flex;gap:10px;align-items:center}.sidecard small{color:var(--mut)}
.ag-list{list-style:none;margin:4px 0;padding:0}.ag-item{margin:2px 0;font-size:.86rem;border-left:3px solid var(--ink);padding-left:6px;background:#fff}.ag-item a{text-decoration:none;color:var(--ink)}
.ag-item.t-task{border-color:#d99a1b}.ag-item.t-followup{border-color:#2e9e66}.ag-item.t-deadline{border-color:#d6554a}.ag-cancel{opacity:.7}.ag-tag{font-size:.72rem;text-transform:uppercase;color:var(--mut);letter-spacing:.03em}.ag-time{font-variant-numeric:tabular-nums;font-weight:600}
.ag-month td{width:14.28%;height:112px;vertical-align:top}.ag-month .ag-out{background:#efeee6;color:var(--mut)}.ag-today{outline:2px solid var(--ink);outline-offset:-2px}.ag-day{font-weight:700;text-decoration:none;color:var(--ink)}
.ag-days{display:grid;gap:var(--gap)}.ag-days .card{margin:0}.ag-days h2{margin:0 0 6px;font-size:1.05rem}

/* ============ 9. chat: lista · conversación · detalles ============ */
main:has(.cx){padding-bottom:12px}
.cx{display:grid;gap:var(--gap);grid-template-columns:minmax(260px,320px) minmax(0,1fr);height:calc(100vh - var(--top-h) - 24px);height:calc(100dvh - var(--top-h) - 24px);min-height:440px;position:relative}
.cx[data-side=details],.cx[data-side=thread]{grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(280px,320px)}
.cx[data-side=none]>.cx-side,.cx[data-side=details] #cx-thread,.cx[data-side=thread] #cx-details{display:none}
.cx-list,.cx-conv,.cx-side{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.cx-conv{position:relative}
.cx-pane{display:flex;flex-direction:column;min-height:0;flex:1}
/* lista */
.cx-lh{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 8px 18px;flex:none}.cx-lh h2{margin:0;font-size:1.3rem}
.cx-plus{width:44px;height:44px;border-radius:50%;border:0;background:var(--lime);color:var(--ink);cursor:pointer;display:grid;place-items:center}.cx-plus:hover{background:var(--lime-d)}.cx-plus .ic{width:22px;height:22px}
.cx-ls{padding:0 14px 10px;flex:none;display:flex;flex-direction:column;gap:10px}
.cx-qf{display:flex;align-items:center;gap:8px;height:var(--ctl);border:1px solid var(--line-2);border-radius:var(--rc);background:#fff;padding:0 12px}.cx-qf:focus-within{outline:3px solid var(--cobalt);outline-offset:1px}.cx-qf input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--ink);height:100%}
.cx-filters{display:flex;gap:8px}.cx-chip{height:36px;padding:0 16px;border-radius:99px;border:1px solid transparent;background:var(--sand);font:inherit;font-weight:600;color:var(--ink);cursor:pointer}.cx-chip[aria-pressed=true]{background:var(--lime);border-color:#a8c93a}
.cx-ms summary{cursor:pointer;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;font-size:.9rem;min-height:28px;display:flex;align-items:center}.cx-ms form{display:flex;gap:8px;margin-top:8px}.cx-ms input{flex:1;min-width:0;height:var(--ctl);padding:0 12px;border:1px solid var(--line-2);border-radius:var(--rc);font:inherit;background:#fff;color:var(--ink)}
.cx-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 8px 12px}
.cx-gh{margin:14px 10px 6px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.cx-ul{list-style:none;margin:0;padding:0}
.cx-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 10px;border-radius:12px;color:var(--ink);text-decoration:none;min-height:62px}.cx-item:hover{background:var(--sand)}.cx-item[aria-current]{background:var(--lime-soft);box-shadow:inset 0 0 0 1px #d6e68f}
.cx-t{display:flex;flex-direction:column;min-width:0}.cx-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cx-t small{color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}
.cx-m{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.78rem;color:var(--mut);min-width:34px}
.cx-m .count{position:static;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--ink);color:var(--lime);font-weight:700;font-size:.72rem}
.cx-at{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--vio-soft);color:var(--vio);font-weight:800;font-size:.76rem}
.cx-none,.cx-cap{padding:10px 12px;font-size:.9rem}
.cx-empty-list{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:24px;color:var(--mut)}.cx-empty-list b{color:var(--ink);font-size:1.05rem}.cx-bub-ic{width:72px;height:64px;margin-bottom:10px}
/* conversación */
.cx-bar{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);flex:none}
.cx-id{min-width:0;flex:1}.cx-id h1{margin:0;font-size:1.2rem;line-height:1.25;overflow-wrap:anywhere}.cx-id p{margin:2px 0 0;font-size:.88rem;display:flex;gap:4px 12px;flex-wrap:wrap;align-items:center}
.cx-pres::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#8a8e94;margin-right:6px}.cx-pres.on::before{background:var(--ok)}
.cx-conn{padding:1px 10px;border-radius:99px;border:1px solid var(--line-2);font-size:.8rem;color:var(--ink-2);background:#fff}.cx-conn[data-state=won]{border-color:#9fd0ac;background:var(--ok-soft);color:var(--ok)}.cx-conn[data-state=late]{border-color:#e8c870;background:var(--warn-soft);color:var(--warn)}
.icon-btn.cx-back{display:none}
.cx-info{flex:none}
.cx-older{margin:0;padding:10px;text-align:center;flex:none}
.cx-log{flex:1;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:18px 20px;overflow-anchor:none}
.cx-log:focus-visible{outline-offset:-3px}
.cx-first{text-align:center;padding:40px 0}
.msg{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px}.msg .av{margin-top:18px}
.msg .mb{min-width:0;max-width:min(640px,86%)}
.msg .mh{margin:0 0 4px;font-size:.88rem;display:flex;gap:8px;align-items:baseline}.msg .who{font-weight:700;overflow-wrap:anywhere}.msg time{color:var(--mut);font-size:.8rem}
.msg .bub{background:#fff;border:1px solid var(--line);border-radius:4px 14px 14px 14px;padding:10px 14px}
.msg .body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.45}.msg mark{background:none;color:var(--cobalt);font-weight:600}
.msg.mine{justify-content:flex-end}.msg.mine .mh,.msg.mine .meta{justify-content:flex-end}.msg.mine .bub{background:var(--lime-soft);border-color:#d6e68f;border-radius:14px 4px 14px 14px}
.msg.pending{opacity:.7}.msg.failed .bub{border-color:var(--bad);background:var(--bad-soft)}.msg.gone .bub{background:transparent;border-style:dashed;color:var(--mut)}
.msg .meta{margin:4px 0 0;font-size:.82rem;color:var(--mut);display:flex;gap:4px 14px;flex-wrap:nowrap;white-space:nowrap;align-items:center;min-height:24px}.msg.failed .meta{flex-wrap:wrap;white-space:normal}.msg .meta form{margin:0}
.msg .thr{display:inline-flex;gap:6px;align-items:center;color:var(--cobalt);font-weight:600;text-decoration:none;min-height:24px}.msg .thr:hover{text-decoration:underline}.msg .meta .ic{width:16px;height:16px;vertical-align:0}
.msg .thr.start{opacity:0}.msg:hover .thr.start,.msg:focus-within .thr.start,.cx-tlog .thr.start{opacity:1}@media(hover:none){.msg .thr.start{opacity:1}}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--cobalt);cursor:pointer;text-decoration:underline;min-height:24px}
.day{list-style:none;text-align:center;margin:6px 0 18px;position:relative}.day::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--line)}.day span{position:relative;display:inline-block;padding:3px 16px;border:1px solid var(--line);border-radius:99px;background:var(--surface);font-size:.82rem;color:var(--mut)}
.cx-file{display:flex;align-items:center;gap:12px;margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;color:var(--ink);max-width:100%}.cx-file:first-child{margin-top:0}.cx-file:hover{background:var(--sand)}
.cx-fx{flex:none;width:38px;height:44px;border-radius:6px;background:var(--ink);color:var(--lime);font-size:.62rem;font-weight:800;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}
.cx-fn{min-width:0;display:flex;flex-direction:column}.cx-fn b{overflow-wrap:anywhere;font-size:.95rem}.cx-fn small{color:var(--mut)}.cx-fd{margin-left:auto;flex:none}
.cx-jump{flex:none;align-self:center;margin:0 auto 8px;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:99px;border:0;background:var(--ink);color:#fff;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(25,29,33,.25)}
.cx-jump:hover{background:#000}
/* compositor */
.cx-comp{flex:none;border-top:1px solid var(--line);padding:12px 16px 10px;background:var(--surface)}
.cx-row{display:flex;gap:10px;align-items:flex-end}
.cx-row textarea{flex:1;min-width:0;min-height:var(--ctl);max-height:168px;resize:none;padding:10px 14px;border:1px solid var(--line-2);border-radius:var(--rc);font:inherit;line-height:1.4;background:#fff;color:var(--ink);overflow-y:auto}
.cx-clip{flex:none;border:1px solid var(--line-2);background:#fff;cursor:pointer}.cx-clip:hover{background:var(--sand)}.cx-clip:focus-within{outline:3px solid var(--cobalt);outline-offset:2px}
.cx-send{flex:none}
.cx-hint{margin:6px 2px 0;display:flex;gap:4px 14px;flex-wrap:wrap;color:var(--mut);font-size:.8rem}
.cx-att{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.cx-att .cx-fx{width:30px;height:34px}.cx-attn{flex:1;min-width:0;overflow-wrap:anywhere;font-size:.9rem}
.cx-err{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:var(--bad-soft);color:var(--bad);font-size:.9rem}
.cx-ro{margin:0;padding:14px 18px;border-top:1px solid var(--line);flex:none}
/* detalles / hilo */
.cx-ph{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 20px;border-bottom:1px solid var(--line);flex:none}.cx-ph h2{margin:0;font-size:1.15rem}
.cx-pb{flex:1;min-height:0;overflow-y:auto;padding:16px 20px}
.cx-tlog{padding:0}
.cx-who{display:flex;gap:14px;align-items:center}.cx-who b{font-size:1.1rem;overflow-wrap:anywhere;white-space:normal}
.cx-sh{margin:24px 0 10px;font-size:1rem}
.cx-mem,.cx-files{list-style:none;margin:0;padding:0}.cx-mem li{display:flex;gap:12px;align-items:center;padding:8px 0}.cx-mem form{margin:0 0 0 auto}.cx-mem .cx-t b{white-space:normal;overflow-wrap:anywhere}
.cx-files li{margin-bottom:10px}.cx-files small{display:block;margin-top:4px}
.cx-add{display:flex;gap:8px;margin-top:10px}.cx-add select{flex:1;min-width:0;height:var(--ctl);border:1px solid var(--line-2);border-radius:var(--rc);padding:0 10px;font:inherit;background:#fff;color:var(--ink)}
/* estado inicial */
.cx-hero{align-items:center;justify-content:center;text-align:center;padding:32px 24px;overflow-y:auto;gap:0}
.cx-art{width:min(280px,64%);height:auto;margin-bottom:18px}
.cx-hero h1{margin:0 0 12px;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.08;letter-spacing:-.025em;max-width:14em}
.cx-sub{margin:0 0 22px;font-size:1.1rem;color:var(--ink-2);max-width:32em}.cx-hero .muted{margin:12px 0 0}
.cx-cta{height:56px;padding:0 30px;font-size:1.1rem}
.cx-solo{display:flex;align-items:center;gap:10px;margin:28px 0 0;color:var(--ink-2)}
.cx-links{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;margin:26px 0 0}.cx-links a{color:var(--ink-2);text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px}.cx-links a:hover{text-decoration:underline}
.cx-hero .alert{margin:0 0 20px}
/* resultados */
.cx-res{flex:1;min-height:0;overflow-y:auto;padding:12px 20px}.cx-rl{list-style:none;margin:0;padding:0}.cx-rl li{border-bottom:1px solid var(--line)}.cx-rl a{display:flex;flex-direction:column;gap:2px;padding:12px 0;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.cx-rl a:hover b{text-decoration:underline}
/* nueva conversación */
.cx-dlg{border:0;border-radius:var(--r);padding:20px 22px;width:min(480px,92vw);max-height:90vh;max-height:90dvh;overflow-y:auto;box-shadow:0 20px 60px rgba(25,29,33,.35);background:var(--surface);color:var(--ink)}.cx-dlg::backdrop{background:rgba(25,29,33,.5)}
.cx-dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cx-dh h2{margin:0}
.cx-kinds{border:0;padding:0;margin:0 0 14px;display:flex;gap:8px;flex-wrap:wrap;min-width:0}.cx-kinds legend{font-size:.88rem;color:var(--mut);margin-bottom:8px;padding:0}
.cx-kind{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line-2);border-radius:99px;cursor:pointer;background:#fff}.cx-kind:has(input:checked){background:var(--lime);border-color:#a8c93a;font-weight:600}
.cx-kp .field{margin-bottom:12px}.cx-kp select,.cx-kp input:not([type=checkbox]){width:100%}.cx-people{border:1px solid var(--line);border-radius:var(--rc);padding:8px 12px;margin:0 0 12px;max-height:200px;overflow-y:auto;min-width:0}.cx-people .chk{display:flex;gap:8px;align-items:center;min-height:36px}
.cx-note{margin:14px 0 0;font-size:.86rem}
@media(max-width:1100px) and (min-width:861px){
  .cx,.cx[data-side=details],.cx[data-side=thread]{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}
  .cx-side{position:absolute;right:0;top:0;bottom:0;width:min(340px,100%);z-index:5;box-shadow:-10px 0 30px rgba(25,29,33,.16)}
}
@media(max-width:860px){
  main:has(.cx){padding:8px 12px calc(74px + env(safe-area-inset-bottom))}
  .cx,.cx[data-side=details],.cx[data-side=thread]{display:block;height:calc(100vh - var(--top-h) - 82px - env(safe-area-inset-bottom));height:calc(100dvh - var(--top-h) - 82px - env(safe-area-inset-bottom));min-height:360px}
  .cx>.cx-list,.cx>.cx-conv,.cx>.cx-side{height:100%}
  .cx[data-view=list]>.cx-conv,.cx[data-view=list]>.cx-side,.cx[data-view=conv]>.cx-list,.cx[data-view=conv]>.cx-side,.cx[data-view=details]>.cx-list,.cx[data-view=details]>.cx-conv,.cx[data-view=thread]>.cx-list,.cx[data-view=thread]>.cx-conv{display:none}
  .icon-btn.cx-back{display:inline-flex;flex:none;margin-left:-6px}
  .cx[data-view=list] .cx-item[aria-current]{background:transparent;box-shadow:none}.cx[data-view=list] .cx-item:hover{background:var(--sand)}
  .cx-bar{padding:10px 12px;gap:10px}.cx-id h1{font-size:1.1rem}
  .cx-info span,.cx-send span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cx-info{width:44px;padding:0}
  .cx-log{padding:14px 12px}.msg .mb{max-width:88%}
  .cx-send{width:var(--ctl);padding:0}
  .cx-hint small:first-child{display:none}.cx-conn[data-state=won]{display:none}
  .cx-comp{padding:10px 12px 10px}
  .cx-hero{padding:24px 16px}.cx-links{gap:8px 20px}
}
dialog#palette{border:0;border-radius:var(--r);padding:0;width:min(560px,92vw);box-shadow:0 20px 60px rgba(25,29,33,.35);margin-top:12vh;background:var(--surface)}
dialog#palette::backdrop{background:rgba(25,29,33,.5)}
#palette form{padding:14px}#palette input{padding:0 12px}
#palette ul{list-style:none;margin:8px 0;padding:0;max-height:50vh;overflow:auto}#palette li{padding:6px 8px;border-radius:8px}
#palette li[aria-selected=true]{background:var(--lime)}#palette a{text-decoration:none;color:var(--ink);display:block}

/* ============ 10. acceso ============ */
body.auth-body{background:var(--bg)}
.auth{display:grid;grid-template-columns:48fr 52fr;min-height:100vh;min-height:100dvh}
.auth-brand{position:relative;overflow:hidden;background:var(--ink);color:#fff;min-height:420px}
.auth-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;filter:grayscale(1) sepia(1) hue-rotate(38deg) saturate(2.6) brightness(1.1) contrast(1.05);mix-blend-mode:screen}
.auth-word{position:absolute;left:clamp(24px,3.4vw,54px);top:clamp(24px,4vw,46px);z-index:2;font:700 clamp(1.4rem,2.1vw,2rem)/1 var(--f);letter-spacing:.34em;color:#fff;text-decoration:none;text-transform:uppercase}
.auth-tag{position:absolute;left:0;right:0;bottom:11%;z-index:2;margin:0;text-align:center;font-size:1rem;letter-spacing:.32em;color:var(--lime)}
.auth-foot{position:absolute;left:clamp(24px,3.4vw,54px);bottom:clamp(18px,3vw,44px);z-index:2;margin:0;font-size:.88rem;color:#b7b6ae}
body.auth-body main.auth-main{max-width:none;margin:0;width:auto;padding:32px clamp(24px,4vw,64px);display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);position:relative}
.auth-box{width:100%;max-width:562px;margin:auto 0}
.auth-wm{margin:24px 0 0;font:700 1.05rem/1 var(--f);letter-spacing:.34em;color:var(--ink)}
.auth-head{text-align:center;margin-bottom:28px}
.auth-mark{width:54px;height:54px;display:block;margin:0 auto 16px}
.auth-eyebrow{margin:0 0 8px;font-size:.84rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}
.auth-head h1,.auth-state h1{font:800 clamp(2.1rem,3.4vw,3.4rem)/1.04 var(--f);letter-spacing:-.045em;margin:0;color:var(--ink)}
.auth-sub{margin:12px 0 0;color:var(--mut);font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.45}.auth-sub strong{color:var(--ink)}
.auth-form{display:block}
.af{margin-bottom:18px}.af label{display:block;margin-bottom:8px;font-weight:600;font-size:1rem;color:var(--ink)}
.af-ctl{display:flex;align-items:center;gap:12px;height:58px;padding:0 14px 0 16px;background:#fff;border:1px solid var(--line-2);border-radius:var(--rc);transition:border-color .15s}
.af-ctl:hover{border-color:var(--ink)}.af-ctl:focus-within{border-color:var(--ink);outline:3px solid var(--cobalt);outline-offset:2px}.af-ctl.invalid{border-color:var(--bad)}
.af-ctl>.ic{width:22px;height:22px;color:#4a5057;flex:none}
.af-ctl input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:inherit;font-size:1.06rem;color:var(--ink);padding:0}
.af-ctl input::placeholder{color:#6a7077;opacity:1}
.pw-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-8px;border:0;border-radius:var(--rc);background:transparent;color:#3a4047;cursor:pointer;flex:none}
.pw-toggle:hover{background:var(--sand)}.pw-toggle .ic{width:22px;height:22px}.pw-toggle .off{display:none}.pw-toggle[aria-pressed=true] .on{display:none}.pw-toggle[aria-pressed=true] .off{display:inline}
.af small{display:block;margin-top:6px;color:var(--mut);font-size:.9rem}.af small.err{color:var(--bad)}
.auth-aux{margin:-8px 0 22px;text-align:right}.auth-aux a,.auth-note a{color:var(--cobalt);text-decoration:none;font-weight:500}.auth-aux a:hover,.auth-note a:hover{text-decoration:underline}
.auth-note{margin:18px 0 0;text-align:center}
.btn.auth-submit{width:100%;height:58px;font-size:1.15rem;font-weight:700;gap:12px;background:var(--lime);border-color:var(--lime);color:var(--ink)}.btn.auth-submit:hover{background:var(--lime-d);border-color:var(--lime-d)}.btn.auth-submit .ic{width:24px;height:24px}
a.btn.auth-submit{text-decoration:none}
.auth-rule{display:flex;align-items:center;gap:18px;margin:34px 0 0;color:var(--mut);font-size:1rem}.auth-rule::before,.auth-rule::after{content:"";flex:1;height:1px;background:var(--line-2)}.auth-rule span{text-align:center}
.auth-alert{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 14px;border-radius:var(--rc);font-size:1rem;border:1px solid}.auth-alert .ic{width:22px;height:22px;flex:none;margin-top:1px}
.auth-alert.error{background:var(--coral-soft);border-color:#f0a99b;color:#8c2113}.auth-alert.ok{background:var(--ok-soft);border-color:#9bcb9c;color:#14502b}.auth-alert.info{background:var(--lime-soft);border-color:#bfd868;color:#2d3a05}
.auth-state{text-align:center}.auth-state>.ic{width:56px;height:56px;margin:0 auto 14px;display:block}.auth-state.ok>.ic{color:var(--ok)}.auth-state.error>.ic{color:var(--coral)}.auth-state.info>.ic{color:var(--ink)}
.auth-state .auth-sub{margin-bottom:26px}

/* ============ 11. adaptación ============ */
@media(max-width:1320px){
  .nm-i{padding:0 26px}.nm-i.lt{margin-left:0;border-left:0;padding-left:0;width:100%}
  .ag-layout{grid-template-columns:minmax(0,1fr) 340px}
}
@media(max-width:1100px){
  .mesa,.g-mk,.g-half,.ag-layout{grid-template-columns:minmax(0,1fr)}
  .mcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts>div{padding:14px 16px}
}
@media(max-width:860px){
  :root{--padx:16px;--ctl:42px}
  html{font-size:14px}
  body{font-size:14px}
  .app{display:block}
  .rail{display:none}
  .drawer{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:min(340px,88vw);z-index:40;background:var(--ink);color:#fff;transform:translateX(-102%);visibility:hidden;transition:transform .2s,visibility .2s;overflow-y:auto;padding:0 14px 20px}
  body.nav-open .drawer{transform:none;visibility:visible;box-shadow:0 0 40px rgba(0,0,0,.5)}
  body.nav-open .side-backdrop{display:block;position:fixed;inset:0;background:rgba(25,29,33,.55);z-index:35}
  .drawer-h{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 4px}.drawer-h .wordmark{color:#fff;font-size:1.2rem}.drawer-h .icon-btn{color:#fff}.drawer-h .icon-btn:hover{background:#2a2f35}
  .drawer nav{flex:1}.drawer nav a{display:flex;align-items:center;gap:14px;color:#e9e8e1;text-decoration:none;min-height:46px;padding:0 12px;border-radius:10px;font-weight:500;position:relative}.drawer nav a:hover{background:#2a2f35}
  .drawer nav a[aria-current]{background:var(--lime);color:var(--ink);font-weight:700}
  .drawer .d-group{margin:10px 0 4px}.drawer .d-h{display:flex;align-items:center;gap:10px;margin:14px 12px 4px;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#a5a49b}.drawer .d-group a{padding-left:42px}
  .drawer .count{margin-left:auto;background:var(--coral);color:#fff;border-radius:99px;font-size:.7rem;min-width:18px;text-align:center;padding:0 6px;font-weight:700}
  .drawer-f{border-top:1px solid #3b4046;padding-top:12px}.drawer-f a{display:flex;gap:10px;align-items:center;color:#cdccc3;text-decoration:none;padding:8px 12px;font-size:.9rem}
  .icon-btn.nav-btn{display:none}
  .topbar{height:56px;gap:8px;padding:0 var(--padx)}
  .wordmark{font-size:1rem;letter-spacing:.3em;margin-right:auto}.crumb{display:none}
  .search-btn{flex:0 0 auto;width:40px;height:40px;padding:0;justify-content:center;margin:0;background:#ebe9e0;border:0}.search-btn span,.search-btn kbd{display:none}
  .top-actions{margin-left:0;gap:6px}
  .top-actions>.create>summary{width:40px;height:40px;padding:0}.profile.top .av{width:36px;height:36px}.top-actions>.create>summary span{display:none}
  .profile.top>summary .ic{display:none}
  .menu-panel{right:-4px;max-width:calc(100vw - 24px)}
  .subnav{padding:0 var(--padx)}.subnav-t{display:none}
  main{padding:8px var(--padx) calc(92px + env(safe-area-inset-bottom))}
  h1{font-size:clamp(1.8rem,8.6vw,2.2rem)}
  .display{font-size:clamp(1.9rem,7.9vw,2.5rem);letter-spacing:-.045em}
  .od{display:none}.om{display:inline}
  .hero{margin:4px 0 16px;gap:10px}.hero-aside{padding-top:0;gap:12px;width:100%;justify-content:space-between}.hero-aside.stk{align-items:flex-start}.hero-aside .line{justify-content:flex-start}.hero-aside .acts{justify-content:flex-start}
  .hero-aside .vsep{display:none}
  .hero-aside .hlink,.hero-aside .hdate{font-size:.9rem}
  .hero-sub{font-size:1.02rem}
  .seg a{height:34px;padding:0 18px;font-size:.9rem}
  .nums{gap:14px 0;margin-bottom:20px}.nm-i{padding:0 14px;gap:0;flex-direction:column;align-items:flex-start;min-height:0;flex:1 1 0;min-width:0}.nm-i:first-child{padding-left:0}
  .nm-i b{font-size:clamp(1.7rem,8vw,2.2rem)}.nm-i>span{font-size:.85rem}.nm-i.money b{font-size:clamp(1.25rem,6vw,1.7rem)}
  .nm-i.lt{flex:1 1 100%;flex-direction:row;align-items:center;gap:12px;border:0;padding:12px 14px;background:var(--coral-soft);border-radius:12px}.nm-i.lt:not(.on){display:none}.al-ic{width:38px;height:38px;background:#fff}.nm-i.lt .btn{margin-left:auto}
  .jr-head{padding:16px 16px 8px}.jr-head h2{font-size:1.45rem}.jr.panel,.panel.jr{background:transparent;border:0}.jr .jr-head{padding-left:2px;padding-right:2px}
  .jr-list{padding:0 0 8px}
  .jr-item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--surface)}.jr-item.on{outline:1.5px solid var(--ink);outline-offset:-1px;background:#fff}.jr-item:first-child{border-top-color:var(--line)}.jr-item.on+.jr-item,.jr-item:first-child.on{border-top-color:var(--line)}
  .jr-main{grid-template-columns:16px 42px minmax(0,1fr) 22px;grid-template-areas:"dot mono name go" ". . stg stg" "next next next next";padding:14px 14px 12px 12px;gap:8px 12px;align-items:start}.jr-main>.mn,.jr-main>.jr-dot,.jr-main>.jr-go{align-self:center}.jr-main>.mn{align-self:start}
  .path,.jr-amt{display:none}.stg-m{display:inline-flex;justify-self:start;padding:4px 12px;font-size:.85rem;max-width:100%;overflow-wrap:anywhere}.mn{width:40px;height:40px;font-size:1rem}.jr-name b,.jr-name small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.jr-name b{font-size:1rem;line-height:1.25}.jr-name small{font-size:.82rem}
  .next{border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0 0 0;background:transparent;width:100%;justify-self:stretch;font-size:.95rem;color:var(--ink)}.next .av{display:none}.next::before{content:"";width:22px;height:22px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;margin-right:8px}
  .next.late{background:transparent;color:var(--coral)}.next.none{border-style:solid}
  .jr-item.on .jr-go{transform:rotate(90deg)}
  .ctx-m{display:block;background:var(--ink);color:#f4f3ee;border-radius:10px;margin:0 8px 8px;padding:6px 16px 18px}
  .ctx-m .ctx-top,.ctx-m h3,.ctx-m .ctx-sub{display:none}
  .ctx-m .ctx-k{border-top:0;padding:14px 0;grid-template-columns:1fr 1fr}.ctx-m .ctx-k .own{grid-column:1/-1;border-left:0;padding:12px 0 0;margin-top:12px;border-top:1px solid #3b4046}.ctx-m .ctx-k>div:nth-child(2){padding-left:14px}.ctx-m .ctx-k b{font-size:1rem}.ctx-m .ctx-k small{font-size:.78rem}.ctx-m .ctx-k>div{padding:0 10px}.ctx-m .ctx-k .own .av{width:30px;height:30px;font-size:.7rem}.ctx-m .ctx-k .own b{font-size:.88rem}
  .ctx-m .ctx-actions{grid-template-columns:1fr}
  .ctx:not(.nm){display:none}
  .ctx.nm{border-radius:12px}
  .tl-d{display:none}.tl-m{display:block}
  .tl-m li a{display:grid;grid-template-columns:54px 4px minmax(0,1fr) 22px;gap:12px;align-items:center;padding:12px 8px;text-decoration:none;color:var(--ink);border-top:1px solid var(--line)}.tl-m li:first-child a{border-top:0}
  .tl-m .tm{color:var(--ink-2);font-size:.95rem;line-height:1.25}.tl-m .tm small{color:var(--mut)}.tl-m .bar{width:4px;align-self:stretch;border-radius:4px;background:var(--lilac)}.tl-m .bar.b1{background:#9bbcf5}.tl-m .bar.b0{background:#b9aef6}
  .tl-m .tt{display:flex;flex-direction:column;min-width:0}.tl-m .tt b{font-size:1.02rem}.tl-m .tt small{color:var(--mut)}
  .jr-head.sm h2,.panel-h h2{font-size:1.15rem}
  .foot-links{flex-direction:column;gap:12px;padding:6px 2px}.more-h{font-size:1.5rem}
  .sum{grid-template-columns:1fr}
  .rail-prof{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--ink);color:#fff;padding:6px 8px calc(6px + env(safe-area-inset-bottom));height:calc(66px + env(safe-area-inset-bottom));gap:4px}
  .tabbar>a,.tabbar>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;color:#e9e8e1;text-decoration:none;font:inherit;font-size:.74rem;background:none;border:0;cursor:pointer;position:relative;border-radius:12px;font-weight:500}
  .tabbar .ic{width:24px;height:24px;stroke-width:1.7}.tabbar>a[aria-current]{background:var(--lime);color:var(--ink);font-weight:700}
  .tabbar .count{position:absolute;top:2px;right:calc(50% - 26px)}
  .panel-h{padding:14px 16px 6px}.panel-b{padding:6px 16px 16px}.panel td:first-child,.panel th:first-child{padding-left:16px}
  dl{grid-template-columns:1fr}
  th,td{padding:9px 10px}
  .mcards{gap:10px}.mcard{padding:12px}.mcard b{font-size:1.5rem}.mcard-h>.ic{width:26px;height:26px}
  .ag-month td{height:72px;font-size:.78rem}
  .fbar .legend{margin-left:0}
  .rec-wrap{gap:14px;padding-bottom:16px}.rec{min-width:max-content;padding-bottom:6px}.rec li,.rec .cur{flex:0 0 auto}.rec .rl{white-space:nowrap}.rec li+li{padding-left:26px}
  .outcomes{width:100%;flex-wrap:wrap}.outcomes>*{flex:1 1 150px;min-width:0}.outcomes .btn{width:100%;padding:0 10px}.outcomes .menu-panel{left:0;right:auto}
  .facts{grid-template-columns:1fr}.facts>div{border-left:0;border-top:1px solid var(--line-2);padding:12px 0}.facts>div:first-child{border-top:0}
  .trl>li{grid-template-columns:50px 18px minmax(0,1fr);gap:0 8px}.trl .tm{display:none}.trl>li::before{left:62px}
  .notebar{flex-direction:column}.notebar .btn{width:100%}
  .conv .jr-head h2{font-size:1.3rem}
  .prow .pc{display:none}
  .wk-scroll{overflow-x:auto}
  /* acceso */
  .auth{display:block}
  .auth-brand{height:210px;min-height:0;background:var(--ink)}
  .auth-art{inset:auto;top:-22%;right:-2%;width:auto;height:150%;object-fit:contain;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%);mask-image:linear-gradient(to right,transparent,#000 22%)}
  .auth-word{left:24px;top:22px;font-size:1.3rem}
  .auth-tag,.auth-foot{display:none}
  body.auth-body main.auth-main{display:block;padding:24px 24px 32px}
  .auth-box{margin:0 auto}.auth-head{margin-bottom:20px}.auth-mark{width:44px;height:44px;margin-bottom:12px}
  .auth-head h1,.auth-state h1{font-size:1.95rem}.auth-sub{font-size:1.05rem}
  .af{margin-bottom:14px}.af-ctl{height:54px}.btn.auth-submit{height:54px}
  .auth-rule{margin-top:22px}.auth-wm{text-align:center;margin-top:28px}
}
@media(max-width:380px){
  .nm-i{padding:0 8px}.nm-i>span{font-size:.82rem}
  .auth-brand{height:170px}.auth-head h1,.auth-state h1{font-size:1.65rem}body.auth-body main.auth-main{padding:20px 16px 28px}.auth-word{left:16px;font-size:1.15rem;letter-spacing:.24em}.af-ctl{padding:0 8px 0 12px;gap:8px}
}
/* campos de formulario táctiles: tamaño calculado de al menos 16 px (evita el zoom automático de iOS) sin agrandar el resto de la interfaz */
@media(max-width:860px),(pointer:coarse){body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=color]){font-size:16px}#palette input{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(prefers-contrast:more){:root{--line:#8d8a7e;--line-2:#5e5b52;--mut:#2f3338}}

/* rejilla horaria (generado): rs-K inicio, rl-N tramos ocupados, rn-N tramos totales; un tramo = 15 minutos */
.rs-1{--s:1}.rl-1{--l:1}.rn-1{--n:1}.rs-2{--s:2}.rl-2{--l:2}.rn-2{--n:2}.rs-3{--s:3}.rl-3{--l:3}.rn-3{--n:3}.rs-4{--s:4}.rl-4{--l:4}.rn-4{--n:4}.rs-5{--s:5}.rl-5{--l:5}.rn-5{--n:5}.rs-6{--s:6}.rl-6{--l:6}.rn-6{--n:6}.rs-7{--s:7}.rl-7{--l:7}.rn-7{--n:7}.rs-8{--s:8}.rl-8{--l:8}.rn-8{--n:8}
.rs-9{--s:9}.rl-9{--l:9}.rn-9{--n:9}.rs-10{--s:10}.rl-10{--l:10}.rn-10{--n:10}.rs-11{--s:11}.rl-11{--l:11}.rn-11{--n:11}.rs-12{--s:12}.rl-12{--l:12}.rn-12{--n:12}.rs-13{--s:13}.rl-13{--l:13}.rn-13{--n:13}.rs-14{--s:14}.rl-14{--l:14}.rn-14{--n:14}.rs-15{--s:15}.rl-15{--l:15}.rn-15{--n:15}.rs-16{--s:16}.rl-16{--l:16}.rn-16{--n:16}
.rs-17{--s:17}.rl-17{--l:17}.rn-17{--n:17}.rs-18{--s:18}.rl-18{--l:18}.rn-18{--n:18}.rs-19{--s:19}.rl-19{--l:19}.rn-19{--n:19}.rs-20{--s:20}.rl-20{--l:20}.rn-20{--n:20}.rs-21{--s:21}.rl-21{--l:21}.rn-21{--n:21}.rs-22{--s:22}.rl-22{--l:22}.rn-22{--n:22}.rs-23{--s:23}.rl-23{--l:23}.rn-23{--n:23}.rs-24{--s:24}.rl-24{--l:24}.rn-24{--n:24}
.rs-25{--s:25}.rl-25{--l:25}.rn-25{--n:25}.rs-26{--s:26}.rl-26{--l:26}.rn-26{--n:26}.rs-27{--s:27}.rl-27{--l:27}.rn-27{--n:27}.rs-28{--s:28}.rl-28{--l:28}.rn-28{--n:28}.rs-29{--s:29}.rl-29{--l:29}.rn-29{--n:29}.rs-30{--s:30}.rl-30{--l:30}.rn-30{--n:30}.rs-31{--s:31}.rl-31{--l:31}.rn-31{--n:31}.rs-32{--s:32}.rl-32{--l:32}.rn-32{--n:32}
.rs-33{--s:33}.rl-33{--l:33}.rn-33{--n:33}.rs-34{--s:34}.rl-34{--l:34}.rn-34{--n:34}.rs-35{--s:35}.rl-35{--l:35}.rn-35{--n:35}.rs-36{--s:36}.rl-36{--l:36}.rn-36{--n:36}.rs-37{--s:37}.rl-37{--l:37}.rn-37{--n:37}.rs-38{--s:38}.rl-38{--l:38}.rn-38{--n:38}.rs-39{--s:39}.rl-39{--l:39}.rn-39{--n:39}.rs-40{--s:40}.rl-40{--l:40}.rn-40{--n:40}
.rs-41{--s:41}.rl-41{--l:41}.rn-41{--n:41}.rs-42{--s:42}.rl-42{--l:42}.rn-42{--n:42}.rs-43{--s:43}.rl-43{--l:43}.rn-43{--n:43}.rs-44{--s:44}.rl-44{--l:44}.rn-44{--n:44}.rs-45{--s:45}.rl-45{--l:45}.rn-45{--n:45}.rs-46{--s:46}.rl-46{--l:46}.rn-46{--n:46}.rs-47{--s:47}.rl-47{--l:47}.rn-47{--n:47}.rs-48{--s:48}.rl-48{--l:48}.rn-48{--n:48}
.rs-49{--s:49}.rl-49{--l:49}.rn-49{--n:49}.rs-50{--s:50}.rl-50{--l:50}.rn-50{--n:50}.rs-51{--s:51}.rl-51{--l:51}.rn-51{--n:51}.rs-52{--s:52}.rl-52{--l:52}.rn-52{--n:52}.rs-53{--s:53}.rl-53{--l:53}.rn-53{--n:53}.rs-54{--s:54}.rl-54{--l:54}.rn-54{--n:54}.rs-55{--s:55}.rl-55{--l:55}.rn-55{--n:55}.rs-56{--s:56}.rl-56{--l:56}.rn-56{--n:56}
.rs-57{--s:57}.rl-57{--l:57}.rn-57{--n:57}.rs-58{--s:58}.rl-58{--l:58}.rn-58{--n:58}.rs-59{--s:59}.rl-59{--l:59}.rn-59{--n:59}.rs-60{--s:60}.rl-60{--l:60}.rn-60{--n:60}.rs-61{--s:61}.rl-61{--l:61}.rn-61{--n:61}.rs-62{--s:62}.rl-62{--l:62}.rn-62{--n:62}.rs-63{--s:63}.rl-63{--l:63}.rn-63{--n:63}.rs-64{--s:64}.rl-64{--l:64}.rn-64{--n:64}
.rs-65{--s:65}.rl-65{--l:65}.rn-65{--n:65}.rs-66{--s:66}.rl-66{--l:66}.rn-66{--n:66}.rs-67{--s:67}.rl-67{--l:67}.rn-67{--n:67}.rs-68{--s:68}.rl-68{--l:68}.rn-68{--n:68}.rs-69{--s:69}.rl-69{--l:69}.rn-69{--n:69}.rs-70{--s:70}.rl-70{--l:70}.rn-70{--n:70}.rs-71{--s:71}.rl-71{--l:71}.rn-71{--n:71}.rs-72{--s:72}.rl-72{--l:72}.rn-72{--n:72}
.rs-73{--s:73}.rl-73{--l:73}.rn-73{--n:73}.rs-74{--s:74}.rl-74{--l:74}.rn-74{--n:74}.rs-75{--s:75}.rl-75{--l:75}.rn-75{--n:75}.rs-76{--s:76}.rl-76{--l:76}.rn-76{--n:76}.rs-77{--s:77}.rl-77{--l:77}.rn-77{--n:77}.rs-78{--s:78}.rl-78{--l:78}.rn-78{--n:78}.rs-79{--s:79}.rl-79{--l:79}.rn-79{--n:79}.rs-80{--s:80}.rl-80{--l:80}.rn-80{--n:80}
.rs-81{--s:81}.rl-81{--l:81}.rn-81{--n:81}.rs-82{--s:82}.rl-82{--l:82}.rn-82{--n:82}.rs-83{--s:83}.rl-83{--l:83}.rn-83{--n:83}.rs-84{--s:84}.rl-84{--l:84}.rn-84{--n:84}.rs-85{--s:85}.rl-85{--l:85}.rn-85{--n:85}.rs-86{--s:86}.rl-86{--l:86}.rn-86{--n:86}.rs-87{--s:87}.rl-87{--l:87}.rn-87{--n:87}.rs-88{--s:88}.rl-88{--l:88}.rn-88{--n:88}
.rs-89{--s:89}.rl-89{--l:89}.rn-89{--n:89}.rs-90{--s:90}.rl-90{--l:90}.rn-90{--n:90}.rs-91{--s:91}.rl-91{--l:91}.rn-91{--n:91}.rs-92{--s:92}.rl-92{--l:92}.rn-92{--n:92}.rs-93{--s:93}.rl-93{--l:93}.rn-93{--n:93}.rs-94{--s:94}.rl-94{--l:94}.rn-94{--n:94}.rs-95{--s:95}.rl-95{--l:95}.rn-95{--n:95}.rs-96{--s:96}.rl-96{--l:96}.rn-96{--n:96}

/* Precios y cotizaciones */
.chk{display:flex;align-items:flex-start;gap:8px;margin:6px 0}.chk input{margin-top:4px}
.pre{white-space:pre-wrap}.matrix th,.matrix td{vertical-align:top}.matrix ul{margin:0;padding-left:16px}
.quoter fieldset{border:0;padding:0;margin:0 0 12px;min-width:0}.quoter legend{font-weight:700;margin-bottom:8px}
.reco{border-left:3px solid var(--lime);padding:2px 0 2px 12px;margin:10px 0}
.inline-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:10px}
.print-doc{max-width:1000px;margin:0 auto}
@media print{.rail,.drawer,.topbar,.subnav,.tabbar,.side-backdrop,.skip,.btn,.uline,.filters{display:none!important}.app,.main-col{display:block!important;margin:0!important;padding:0!important}body{background:#fff!important}.card,.tablewrap{break-inside:avoid;box-shadow:none}.matrix{font-size:9pt}details:not([open])>*:not(summary){display:block}}
.tablewrap{overflow-x:auto}.matrix{min-width:1200px}.matrix th,.matrix td{min-width:110px}.matrix caption{text-align:left;padding:6px 0}
.matrix{min-width:0}.matrix td:nth-child(3),.matrix td:nth-child(9),.matrix td:nth-child(11),.matrix td:nth-child(12){min-width:260px}.matrix td:nth-child(6),.matrix td:nth-child(7){min-width:200px}

/* ============ Circuito comercial: clientes, servicios y seguimientos ============ */
fieldset.client-pick,fieldset.svc-pick,fieldset.fu-fields{border:1px solid var(--line);border-radius:var(--rc);padding:12px 14px;margin:0 0 14px;min-width:0;background:var(--surface)}
.client-pick legend,.svc-pick legend,.fu-fields legend{font-weight:700;padding:0 6px}
.seg{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:10px}
.client-pick .cp-new,.client-pick .cp-existing{margin-top:6px}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 14px}
.who{display:flex;align-items:center;gap:8px;margin:2px 0 4px}
.lbl{display:block;font-weight:600;margin-bottom:5px;font-size:.92rem}
.badge.person{background:var(--sky);color:var(--sky-ink)}.badge.org{background:var(--sand);color:var(--ink-2)}
.fu-new{display:block;margin:6px 0}.fu-new>summary{list-style:none;cursor:pointer;display:inline-flex}.fu-new>summary::-webkit-details-marker{display:none}
.fu-form{margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--rc);background:#fff;color:var(--ink);max-width:100%}
.ctx .fu-form{color:var(--ink)}
.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.fu-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}
.fu-sum .stat{text-decoration:none;color:inherit;display:block}.fu-sum .stat.warn{border-color:var(--bad)}.fu-sum .stat b{font-size:1.6rem;display:block}
.fu-sec{margin:18px 0}.fu-sec h2{display:flex;align-items:center;gap:8px;font-size:1.05rem}.fu-sec.late h2{color:var(--bad)}
@media (max-width:640px){.row-actions{flex-direction:column}.svc-grid{grid-template-columns:1fr}}

/* ============ Mi rendimiento: resumen primero, desglose después ============ */
.perf-ctx{max-width:80ch}
.perf-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-bottom:14px}.perf-filters .field{margin:0;flex:1 1 150px;min-width:130px}
.perf-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin-bottom:var(--gap)}
.perf-card h2{margin:0 0 14px;font-size:1.05rem}
.perf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px}
.perf-k{display:flex;flex-direction:column;gap:5px;min-width:0}
.perf-l{color:var(--mut);font-size:.85rem;font-weight:600}
.perf-v{font-size:1.9rem;line-height:1.15;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.perf-k small{color:var(--mut);line-height:1.35}
.perf-k progress{width:100%}
.perf-more{margin:6px 0 18px}.perf-more>summary{cursor:pointer;font-weight:700;padding:10px 0}
.perf-more h3{margin:20px 0 8px;font-size:1rem}
.perf-table th,.perf-table td{white-space:nowrap}
.perf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0}
.perf-facts>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--rc);padding:10px 14px;min-width:0}
.perf-facts dt{color:var(--mut);font-size:.85rem;margin:0}.perf-facts dd{margin:4px 0 0;font-size:1.25rem;font-weight:700;overflow-wrap:anywhere}
.tgt{list-style:none;display:block}.tgt-n{display:block;font-size:1rem}
.meter-row{display:flex;align-items:center;gap:10px;margin:6px 0}.meter-row progress{flex:1;min-width:0}
.perf-parts{margin-top:8px}.perf-parts>summary{cursor:pointer;font-weight:600}
@media (max-width:760px){.perf-grid{grid-template-columns:1fr}.perf-v{font-size:1.6rem}.perf-card{padding:14px 16px}}

/* ============ Guía de venta y precios: comparador gráfico ============ */
.gr-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}.gr-filters .field{margin:0;flex:1 1 170px}
.gr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin:12px 0}
.gr-chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;min-width:0}
.gr-chart h3{margin:0 0 4px;font-size:1rem}
.gr-axis{display:flex;justify-content:space-between;font-size:.78rem;margin:0 0 4px}
.gr-list{list-style:none;margin:0;padding:0}
.gr-row{display:grid;gap:3px;padding:9px 8px;border-radius:var(--rc);text-decoration:none;color:var(--ink);border:1px solid transparent}
.gr-row:hover{background:#fff;border-color:var(--line-2)}.gr-row[aria-current=true]{background:var(--lime-soft);border-color:var(--ink)}
.gr-name{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline}
.gr-bar{display:block;width:100%;height:14px}
.gr-track{fill:var(--line)}.gr-range{fill:var(--ink)}.gr-sug{fill:var(--coral)}
.gr-vals{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:.85rem;color:var(--mut)}.gr-vals b{color:var(--ink)}
.gr-detail{margin-top:var(--gap)}.gr-detail h4{margin:10px 0 4px}
.gr-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px var(--gap)}
.gr-alt{margin-top:var(--gap)}
@media (max-width:900px){.gr-grid,.gr-two{grid-template-columns:1fr}}

/* ============ Cotizador guiado ============ */
.steps{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:6px 0 16px;padding:0}
.steps li{display:flex;align-items:center;gap:8px;color:var(--mut);font-weight:600}
.steps .n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);background:#fff;font-size:.85rem}
.steps li[aria-current=step]{color:var(--ink)}.steps li[aria-current=step] .n{background:var(--lime);border-color:var(--ink);color:var(--ink)}
.steps li.done .n{background:var(--ink);color:#fff;border-color:var(--ink)}
.qstep{margin-bottom:12px;min-width:0}.qstep>legend{font-weight:800;padding:0 6px}
.q-group{margin:10px 0}.q-group h3{margin:0 0 4px;font-size:1rem}
.qs-ctx{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0}.qs-ctx dt{color:var(--mut)}.qs-ctx dd{margin:0}
.qnav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.qs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 18px;margin:8px 0}
.qs-grid>div{min-width:0}.qs-grid dt{color:var(--mut);font-size:.85rem}.qs-grid dd{margin:3px 0 0;font-size:1.1rem;font-weight:700;overflow-wrap:anywhere}
@media (max-width:640px){.qs-ctx{grid-template-columns:1fr}.qnav .btn{flex:1 1 auto}}

/* ============ Comisiones: de dónde sale cada importe ============ */
.com-card{display:block}.com-cur{font-size:1.1rem!important;margin-bottom:6px}
.com-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 14px;margin:6px 0}
.com-stages>div{min-width:0}.com-stages dt{color:var(--mut);font-size:.82rem}.com-stages dd{margin:2px 0 0;font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.com-next{margin:8px 0 0}
.com-moves{list-style:none;margin:0;padding:0}.com-move{padding:10px 0;border-bottom:1px solid var(--line)}
.com-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}.com-amt{font-weight:800}
.com-calc{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0}.com-calc dt{color:var(--mut)}.com-calc dd{margin:0;overflow-wrap:anywhere}
@media (max-width:640px){.com-calc{grid-template-columns:1fr}}
.ctx .btn.ghost-d{background:#2a2f35}
.ctx .inline-actions{flex-direction:column;align-items:stretch;gap:8px}.ctx .inline-actions input{width:100%;height:var(--ctl);padding:0 12px;border-radius:var(--rc);border:1px solid #6a7077;background:#fff;color:var(--ink);font:inherit}
.ctx .fu-new>summary{width:100%;justify-content:center}

/* ============ comunicaciones comerciales (migración 018) ============ */
fieldset.comm-fields{border:1px solid var(--line);border-radius:var(--rc);padding:12px 14px;margin:0 0 14px;min-width:0;background:var(--surface)}
fieldset.comm-fields>legend{font-weight:700;padding:0 6px}
fieldset.comm-block{border:1px solid var(--line-2);border-radius:var(--rc);padding:12px 14px;margin:0 0 12px;min-width:0;background:var(--card)}
fieldset.comm-block>legend{font-weight:700;font-size:.92rem;padding:0 6px}
.comm-block textarea,.comm-body-in{width:100%;min-height:11rem;resize:vertical;line-height:1.5}
.comms .panel-b{display:grid;gap:12px}
.comm-new>summary{cursor:pointer;list-style:none;display:inline-flex}.comm-new>summary::-webkit-details-marker{display:none}
.comm-form{margin-top:12px;display:grid;gap:10px}
.comm-ok{background:var(--ok-soft);border:1px solid var(--ok);border-radius:var(--rc);padding:10px 12px;color:var(--ink);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.comm-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.comm{border:1px solid var(--line);border-left:4px solid var(--line-2);border-radius:var(--rc);padding:12px 14px;background:var(--card);min-width:0}
.comm.ch-call{border-left-color:var(--cobalt)}.comm.ch-email{border-left-color:var(--vio)}.comm.ch-whatsapp{border-left-color:var(--ok)}.comm.ch-meeting{border-left-color:var(--warn)}
.comm-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.comm-ch{display:inline-flex;align-items:center;gap:6px;font-weight:700;padding:2px 10px;border-radius:6px;background:var(--sand);color:var(--ink)}
.comm-h time{color:var(--mut);font-size:.88rem}
.comm-s{margin:4px 0;font-size:1.02rem}
.comm-o{margin:2px 0;font-size:.9rem;color:var(--mut)}
.comm-t{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;margin:6px 0}
.comm-t.full{max-height:26rem;overflow:auto;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--rc)}
.comm-more>summary{cursor:pointer;color:var(--cobalt);font-weight:600;padding:4px 0}
.comm-r{margin:6px 0}
@media (max-width:640px){.comm-block .form-grid{grid-template-columns:1fr}}

/* ============ 10. WhatsApp: bandeja compartida (lista · conversación · contexto) ============ */
main:has(.wa){padding-bottom:12px}
.wa{display:grid;gap:var(--gap);grid-template-columns:minmax(260px,330px) minmax(0,1fr) minmax(280px,350px);height:calc(100vh - var(--top-h) - 24px);height:calc(100dvh - var(--top-h) - 24px);min-height:460px}
.wa-list,.wa-conv,.wa-side{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.wa-side{overflow-y:auto;padding:12px;gap:12px;background:var(--bg);border-color:transparent}
.wa-lh{padding:14px 16px 6px;display:flex;flex-direction:column;gap:8px;flex:none}.wa-lh h1{margin:0;font-size:1.35rem}
.wa-conn{display:flex;flex-wrap:wrap;gap:6px}
.wa-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--sand);color:var(--ink);border:1px solid var(--line-2)}
.wa-pill.ok{background:var(--lime-soft);border-color:#bfd868}.wa-pill.bad{background:var(--bad-soft);border-color:#f0a59d;color:var(--bad)}.wa-pill.late{background:var(--warn-soft);border-color:#e8c870;color:var(--warn)}
.wa-search{padding:6px 16px 10px;flex:none}.wa-search input{width:100%;height:var(--ctl);border:1px solid var(--line-2);border-radius:var(--rc);padding:0 12px;font:inherit;background:#fff}
.wa-tabs{display:flex;gap:4px;padding:0 12px 8px;overflow-x:auto;flex:none;scrollbar-width:thin}
.wa-tabs a{white-space:nowrap;padding:6px 10px;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--mut);text-decoration:none;border:1px solid transparent}.wa-tabs a .n{background:var(--sand);border-radius:999px;padding:0 7px;margin-left:2px;font-size:.78rem}
.wa-tabs a[aria-current]{background:var(--ink);color:#fff}.wa-tabs a[aria-current] .n{background:var(--lime);color:var(--ink)}
.wa-list-body{overflow-y:auto;flex:1;min-height:0}.wa-items{list-style:none;margin:0;padding:0}
.wa-item{display:flex;gap:10px;padding:11px 14px;border-top:1px solid var(--line);color:inherit;text-decoration:none}.wa-item:hover{background:var(--sand)}
.wa-item[aria-current]{background:var(--lime-soft);box-shadow:inset 3px 0 0 var(--ink)}.wa-item.closed{opacity:.7}.wa-item.unread .wa-item-t b{font-weight:800}
.wa-item-b{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.wa-item-t{display:flex;justify-content:space-between;gap:8px}.wa-item-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wa-item-t time{color:var(--mut);font-size:.8rem;flex:none}
.wa-item-p{color:var(--mut);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wa-item-m{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.76rem}
.wa-st{padding:1px 8px;border-radius:6px;font-weight:600;background:var(--sand)}.wa-st.s-pending{background:var(--warn-soft);color:var(--warn)}.wa-st.s-active{background:var(--lime);color:var(--ink)}.wa-st.s-closed{background:var(--line);color:var(--mut)}
.wa-as{color:var(--mut);display:inline-flex;gap:3px;align-items:center}.wa-as .ic{width:13px;height:13px}.wa-as.none{color:var(--warn)}
.wa-dot{width:10px;height:10px;border-radius:50%;background:var(--ink);margin-left:auto;box-shadow:0 0 0 3px var(--lime)}
.wa-empty{margin:auto;text-align:center;color:var(--mut);padding:24px}.wa-empty .ic{width:42px;height:42px}
.wa-ch{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);flex:none}.wa-ch-t{min-width:0;flex:1}.wa-ch-t h2{margin:0;font-size:1.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wa-ch-t p{margin:0;color:var(--mut);font-size:.86rem}
.wa-back,.wa-info-btn{display:none}
.wa-ctx-line{margin:0;padding:6px 16px;background:var(--warn-soft);color:var(--warn);font-size:.88rem;flex:none}
.wa-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px 16px;background:var(--bg)}
.wa-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.wa-day{text-align:center;margin:8px 0}.wa-day span{background:var(--sand);color:var(--mut);padding:2px 12px;border-radius:999px;font-size:.78rem;font-weight:600}
.wa-sys{text-align:center;color:var(--mut);font-size:.82rem}
.wa-msg{max-width:min(78%,560px);padding:9px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.wa-msg.in{align-self:flex-start;border-top-left-radius:3px}
.wa-msg.out{align-self:flex-end;background:var(--ink);color:#fff;border-color:var(--ink);border-top-right-radius:3px}.wa-msg.out a{color:var(--lime)}
.wa-msg.out.st-failed{background:var(--bad-soft);color:var(--ink);border-color:#f0a59d}.wa-msg.out.st-uncertain{background:var(--warn-soft);color:var(--ink);border-color:#e8c870}
.wa-msg.note{align-self:center;max-width:min(88%,620px);background:var(--lime-soft);border:1px dashed #9db84a;border-radius:8px}
.wa-who{margin:0;font-size:.78rem;font-weight:700;display:flex;gap:5px;align-items:center}.wa-who .ic{width:14px;height:14px}
.wa-body{white-space:pre-wrap}.wa-meta{margin:0;font-size:.76rem;color:var(--mut)}.wa-msg.out .wa-meta{color:#d7dae0}.wa-msg.out.st-failed .wa-meta,.wa-msg.out.st-uncertain .wa-meta{color:var(--ink-2)}.wa-ms.failed{font-weight:700}.wa-ms.read{font-weight:700}
.wa-unsup,.wa-media-off,.wa-hint{margin:0;font-size:.84rem;color:var(--mut);display:flex;gap:6px;align-items:flex-start}.wa-unsup .ic,.wa-media-off .ic{width:15px;height:15px;flex:none;margin-top:2px}
.wa-msg.out .wa-hint{color:#cfd3d9}
.wa-img img{max-width:100%;max-height:320px;border-radius:8px;display:block}.wa-msg audio{max-width:100%}
.wa-file{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--line-2);border-radius:8px;color:inherit;background:rgba(255,255,255,.7);text-decoration:none}.wa-file .ic{width:20px;height:20px}
.wa-err{margin:0;color:var(--bad);font-size:.88rem}
.wa-comp{border-top:1px solid var(--line);padding:10px 14px 12px;flex:none;display:flex;flex-direction:column;gap:8px;background:var(--surface)}
.wa-policy{font-size:.84rem;padding:7px 10px;border-radius:8px;background:var(--lime-soft);border:1px solid #bfd868}.wa-policy.warn{background:var(--warn-soft);border-color:#e8c870;color:var(--warn)}.wa-policy.bad{background:var(--bad-soft);border-color:#f0a59d;color:var(--bad)}
.wa-stale{background:var(--warn-soft);border:1px solid #e8c870;padding:8px 10px;border-radius:8px;font-size:.88rem}.wa-stale[hidden],.wa-peers[hidden],.wa-err[hidden]{display:none}
.wa-peers{margin:0;color:var(--mut);font-size:.84rem;font-style:italic}
.wa-modes{display:flex;gap:4px}.wa-modes button{border:1px solid var(--line-2);background:transparent;border-radius:999px;padding:5px 12px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;display:inline-flex;gap:5px;align-items:center}.wa-modes button .ic{width:14px;height:14px}.wa-modes button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.wa-form{display:flex;flex-direction:column;gap:6px}.wa-form[hidden]{display:none}
.wa-form textarea,.wa-form input:not([type=checkbox]):not([type=file]),.wa-form select{width:100%;border:1px solid var(--line-2);border-radius:var(--rc);padding:8px 10px;font:inherit;background:#fff}
.wa-form textarea{resize:vertical;min-height:70px;max-height:220px}
.wa-lab{font-size:.84rem;font-weight:600;display:flex;flex-direction:column;gap:3px}
.wa-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.wa-file-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wa-attach{display:inline-flex;gap:6px;align-items:center;font-size:.86rem;font-weight:600;cursor:pointer;padding:4px 0}.wa-attach input{max-width:100%}
.wa-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.wa-card h3{margin:0;font-size:1rem}
.wa-client{margin:0}.wa-mini{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-top:1px solid var(--line)}
.wa-check{display:flex;gap:6px;align-items:center;font-size:.86rem}.wa-det summary{cursor:pointer;font-weight:600}
.wa-dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:6px 14px}.wa-dl dt{color:var(--mut)}.wa-dl dd{margin:0}
.wa-code{display:inline-block;padding:4px 8px;background:var(--sand);border-radius:6px;word-break:break-all}.wa-list-ul{padding-left:20px}
@media (max-width:1180px){.wa{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.wa-side{display:none}.wa[data-view=side] .wa-side{display:flex;position:fixed;inset:var(--top-h) 0 0 0;z-index:30;background:var(--bg)}.wa-info-btn{display:inline-flex}}
@media (max-width:900px){
  .wa{grid-template-columns:minmax(0,1fr);height:calc(100dvh - var(--top-h) - 86px)}
  .wa[data-view=list] .wa-conv,.wa[data-view=list] .wa-side,.wa[data-view=conv] .wa-list,.wa[data-view=side] .wa-list,.wa[data-view=side] .wa-conv{display:none}
  .wa-back{display:inline-flex}.wa-side-back{align-self:flex-start}.wa-msg{max-width:90%}
  .wa-comp{padding-bottom:max(12px,env(safe-area-inset-bottom))}
}
.wa-comp{max-height:70%;overflow-y:auto}
@media (max-width:520px){.wa-ch{padding:8px 10px;gap:8px}.wa-ch .av{display:none}.wa-info-btn{padding:0 10px;font-size:.8rem;height:36px}.wa-policy{font-size:.78rem}.wa-form textarea{min-height:44px}.wa-comp{padding:8px 10px;gap:6px}.wa-attach{font-size:.8rem}.wa-ch-t h2{font-size:1rem}}
@media (prefers-reduced-motion:no-preference){.wa-item{transition:background .12s}}
