:root{--ink:#1f1408;--ink-2:#4a3a2a;--ink-3:#7a6a58;--olive:#5b6e14;--olive-dark:#46550f;--olive-soft:#eef1df;--bark:#6a2d00;--bark-soft:#f4e9e0;--paper:#f6f4ec;--surface:#fff;--line:#e4dfd0;--line-strong:#cfc7b2;--amber:#9a6407;--amber-soft:#fbf1dc;--red:#a63a24;--red-soft:#f9e5e0;--green:#2e7412;--green-soft:#e4f1db;--wa:#128c7e;--focus:#2f5bd8;--r-ctl:8px;--r-panel:12px;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Source Serif 4",Georgia,"Times New Roman",serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}h1,h2,h3{margin:0;font-weight:600;line-height:1.2}h1{font-family:var(--serif);font-size:28px}h2{font-size:17px}h3{font-size:15px}p{margin:0}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:18px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:4px 8px;display:flex}.brand-mark{background:var(--olive);color:#fff;width:34px;height:34px;font-family:var(--serif);border-radius:50%;place-items:center;font-size:15px;font-weight:600;display:grid}.brand strong{font-family:var(--serif);font-size:17px;line-height:1.1;display:block}.brand span{color:var(--ink-3);font-size:12.5px}.nav{flex-direction:column;gap:2px;display:flex}.nav button{text-align:left;border-radius:var(--r-ctl);width:100%;color:var(--ink-2);background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;font-weight:500;display:flex}.nav button svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.nav button:hover{background:var(--paper)}.nav button[aria-current=page]{background:var(--olive-soft);color:var(--olive-dark)}.nav .count{background:var(--bark);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:12px;font-weight:600}.side-foot{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding-top:14px;font-size:13px;display:flex}.side-foot .who strong{font-weight:600;display:block}.side-foot .who span{color:var(--ink-3)}.main{min-width:0;padding:26px 30px 40px}.page{display:none}.page.is-active{display:block}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{color:var(--ink-3);margin-top:4px}.head-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{border-radius:var(--r-ctl);border:1px solid var(--line-strong);background:var(--surface);white-space:nowrap;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--paper)}.btn-primary{background:var(--olive);border-color:var(--olive);color:#fff}.btn-primary:hover{background:var(--olive-dark)}.btn-wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn-sm{min-height:32px;padding:0 10px;font-size:13.5px}.btn-ghost{background:0 0;border-color:#0000}.btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.pill-tag{background:var(--olive-soft);color:var(--olive-dark);text-overflow:ellipsis;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.pill-muted{background:var(--paper);color:var(--ink-3);border-color:var(--line)}.pill-amber{background:var(--amber-soft);color:var(--amber)}.pill-red{background:var(--red-soft);color:var(--red)}.pill-green{background:var(--green-soft);color:var(--green)}.pill-bark{background:var(--bark-soft);color:var(--bark)}.dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.avatar{background:var(--bark-soft);width:36px;height:36px;color:var(--bark);border-radius:50%;flex:none;place-items:center;font-size:13.5px;font-weight:600;display:grid}.avatar.staff{background:var(--olive-soft);color:var(--olive-dark)}.avatar.sm{width:24px;height:24px;font-size:11px}.input{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);min-height:40px;color:var(--ink-3);align-items:center;gap:8px;width:100%;padding:0 12px;display:flex}.input svg{stroke:currentColor;fill:none;stroke-width:2px;width:16px;height:16px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:999px;flex:none;min-height:32px;padding:5px 12px;font-size:13.5px;font-weight:500}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel)}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.panel-head p{color:var(--ink-3);font-size:13px}.panel-body{padding:16px 18px}.grid{align-items:start;gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:1fr 1fr}.grid-3-2{grid-template-columns:3fr 2fr}.stat{padding:16px 18px}.stat .lbl{color:var(--ink-3);font-size:13.5px}.stat .val{font-family:var(--serif);margin-top:4px;font-size:30px;font-weight:600;line-height:1.1}.stat .sub{color:var(--ink-3);margin-top:6px;font-size:13px}.stat .sub.up{color:var(--green)}.stat.alert{border-color:var(--red);background:var(--red-soft)}.stat.alert .val{color:var(--red)}.list{margin:0;padding:0;list-style:none}.list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:11px 18px;display:flex}.list li:first-child{border-top:0}.list .grow{flex:1;min-width:0}.list .name{font-weight:600}.list .meta{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.cupo{flex-direction:column;gap:12px;display:flex}.cupo-row{grid-template-columns:1fr auto;align-items:center;gap:6px 12px;display:grid}.cupo-row .bar{background:var(--paper);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.cupo-row .bar i{background:var(--olive);border-radius:999px;height:100%;display:block}.cupo-row.warn .bar i{background:var(--amber)}.cupo-row.full .bar i{background:var(--red)}.cupo-row .left{color:var(--ink-3);font-size:13px}.report{background:var(--olive-soft);border-color:#d8dfb6}.report pre{font:13.5px/1.55 var(--sans);white-space:pre-wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink-2);margin:12px 0 0;padding:12px 14px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .input{flex:1;width:auto;min-width:260px}table{border-collapse:collapse;width:100%}th{color:var(--ink-3);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:13px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}tbody tr:hover{background:#fbfaf6}td .name{font-weight:600}td .sub{color:var(--ink-3);font-size:13px;display:block}.table-wrap{border-radius:var(--r-panel);overflow:auto}.chat{grid-template-columns:320px 1fr 340px;height:calc(100vh - 140px);display:grid;overflow:hidden}.chat.ficha-cerrada{grid-template-columns:320px 1fr}.chat>*{min-width:0}.convs{border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.convs-top{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:14px 14px 10px;display:flex}.convs ul{flex:1;min-height:0;margin:0;padding:6px;list-style:none;overflow:auto}.conv{text-align:left;border-radius:var(--r-ctl);width:100%;color:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:10px;display:flex}.conv:hover{background:var(--paper)}.conv[aria-selected=true]{background:var(--olive-soft)}.conv .top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.conv .top strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.conv .top time{color:var(--ink-3);flex:none;font-size:12px}.conv .snip{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.conv .row2{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.conv .unread{background:var(--bark);color:#fff;border-radius:999px;flex:none;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:600;display:grid}.conv .att{flex:none}.conv .body{flex:1;min-width:0}.conv.hidden{display:none}.thread{flex-direction:column;min-height:0;display:flex}.thread-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 18px;display:flex}.thread-head .attending{flex:none}.thread-head .who{flex:1;min-width:0}.thread-head .who strong{display:block}.thread-head .who span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.attending{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:6px 10px 6px 6px;font-size:13.5px;display:flex}.attending strong{font-weight:600}.attending .dot{background:var(--green)}.msgs{background:#fbfaf6;flex-direction:column;flex:1;gap:10px;min-height:0;padding:18px;display:flex;overflow:auto}.day{color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:999px;align-self:center;margin:4px 0;padding:2px 10px;font-size:12px}.msg{border-radius:14px;max-width:72%;padding:9px 13px;font-size:14.5px;line-height:1.45}.msg time{color:var(--ink-3);margin-top:3px;font-size:11.5px;display:block}.msg.in{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.msg.out{background:var(--olive-soft);border-bottom-right-radius:4px;align-self:flex-end}.msg.out .by{color:var(--olive-dark);margin-bottom:2px;font-size:11.5px;font-weight:600}.msg.bot .by{color:var(--bark)}.composer{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 14px;display:flex}.composer .input{flex:1}.pausebar{background:var(--amber-soft);color:var(--amber);border-bottom:1px solid #ead9b3;align-items:center;gap:10px;padding:8px 18px;font-size:13.5px;display:flex}.pausebar .btn{margin-left:auto}.ficha{border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex;overflow:auto}.ficha-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:18px 18px 14px;display:flex}.ficha-head .avatar{width:44px;height:44px;font-size:16px}.ficha-head strong{font-size:16px;display:block}.ficha-head span{color:var(--ink-3);font-size:13px}.ficha section{border-bottom:1px solid var(--line);padding:14px 18px}.ficha h3{margin-bottom:10px}.kv{grid-template-columns:auto 1fr;gap:7px 14px;font-size:14px;display:grid}.kv dt{color:var(--ink-3)}.kv dd{margin:0;font-weight:500}.tl{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tl li{grid-template-columns:auto 1fr;gap:10px;font-size:14px;display:grid}.tl li time{color:var(--ink-3);white-space:nowrap;padding-top:1px;font-size:13px}.hist{flex-direction:column;gap:8px;display:flex}.hist-item{align-items:center;gap:10px;font-size:14px;display:flex}.hist-item .src{color:var(--ink-3);font-size:12.5px;display:block}.suggest{background:var(--bark-soft);border-radius:var(--r-ctl);border:1px solid #e6cdb8;padding:12px 14px;font-size:14px}.suggest strong{color:var(--bark);margin-bottom:2px;display:block}.note{background:var(--paper);border-radius:var(--r-ctl);margin-bottom:8px;padding:10px 12px;font-size:14px}.note time{color:var(--ink-3);margin-bottom:2px;font-size:12px;display:block}.ficha-actions{flex-wrap:wrap;gap:8px;padding:14px 18px;display:flex}.ficha-close{display:none}.cursos{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.curso{flex-direction:column;gap:12px;padding:18px;display:flex}.curso .top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.curso .price{font-family:var(--serif);font-size:22px;font-weight:600}.curso .when{color:var(--ink-3);font-size:13.5px}.curso .cupo-row{margin-top:2px}.stages{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.stage{border-radius:var(--r-ctl);background:var(--paper);border:1px solid var(--line);padding:12px 12px 10px}.stage .n{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1}.stage .l{color:var(--ink-3);margin-top:4px;font-size:13px}.stage.hot{background:var(--olive-soft);border-color:#d8dfb6}.mobile-top{display:none}@media (width<=1180px){.chat{grid-template-columns:300px 1fr}.ficha{background:var(--surface);z-index:30;width:min(360px,100%);transition:transform .22s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-12px 0 32px #1f140824}.ficha.open{transform:none}.ficha-close{margin-left:auto;display:inline-flex}.grid-4,.cursos{grid-template-columns:1fr 1fr}}@media (width<=820px){.app{grid-template-columns:1fr}.side{display:none}.mobile-top{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:10px;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-top .brand{flex:1;padding:0}.main{padding:16px 16px 84px}h1{font-size:24px}.grid-2,.grid-3-2,.grid-4,.cursos{grid-template-columns:1fr}.stages{grid-template-columns:repeat(5,minmax(96px,1fr));overflow:auto}.chat{grid-template-columns:1fr;height:auto;min-height:0}.convs{border-right:0}.thread,.chat.showing-thread .convs{display:none}.chat.showing-thread .thread{height:calc(100vh - 150px);display:flex}.back{display:inline-flex}.tabbar{background:var(--surface);border-top:1px solid var(--line);z-index:20;padding:6px 6px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--ink-3);border-radius:var(--r-ctl);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;font-size:11.5px;font-weight:500;display:flex}.tabbar button svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.tabbar button[aria-current=page]{color:var(--olive-dark);background:var(--olive-soft)}.msg{max-width:85%}.toolbar .input{min-width:0}.chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap}.conv{padding:12px 10px}.conv .snip{font-size:14px}.row2{max-width:100%}.thread-head{padding:12px 14px}.thread-head .who{flex:120px}.thread-head [data-open-ficha].btn{order:3}.thread-head .attending{order:4}.pausebar{flex-wrap:wrap;padding:8px 14px}.pausebar .btn{margin-left:0}.page-head{margin-bottom:14px}}@media (width>=821px){.tabbar,.back{display:none}}.login-screen{background:var(--paper);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);width:100%;max-width:360px;padding:32px 28px}.login-card .brand{justify-content:center;margin-bottom:22px}.login-card h1{text-align:center;margin-bottom:4px;font-size:20px}.login-card .sub{text-align:center;color:var(--ink-3);margin-bottom:22px;font-size:13.5px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--ink-2);font-size:13.5px;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);min-height:40px;color:var(--ink);font:inherit;width:100%;padding:0 12px}.field textarea{resize:vertical;min-height:80px;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--focus);outline-offset:1px}.form-error{background:var(--red-soft);color:var(--red);border-radius:var(--r-ctl);margin-bottom:14px;padding:9px 12px;font-size:13.5px}.login-card .btn-primary{justify-content:center;width:100%}.skeleton{background:linear-gradient(90deg,var(--paper) 25%,#efebdc 37%,var(--paper) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{text-align:center;color:var(--ink-3);padding:36px 18px;font-size:14px}.center-loading{text-align:center;color:var(--ink-3);padding:40px}.err-inline{background:var(--red-soft);color:var(--red);border-radius:var(--r-ctl);margin-bottom:14px;padding:10px 14px;font-size:13.5px}.toasts{z-index:80;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--ink);color:#fff;border-radius:var(--r-ctl);padding:10px 16px;font-size:13.5px;box-shadow:0 8px 24px #1f140838}.toast.err{background:var(--red)}@media (width<=820px){.toasts{bottom:74px;left:16px;right:16px}}.modal-backdrop{z-index:60;background:#1f140866;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-panel);width:100%;max-width:480px;max-height:88vh;overflow:auto}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:18px 20px}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.field-row{grid-template-columns:1fr}}.btn[disabled]{opacity:.55;cursor:default}.btn-danger{border-color:var(--red);color:var(--red)}.btn-danger:hover{background:var(--red-soft)}.link-btn{color:var(--olive-dark);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.msgs-empty{color:var(--ink-3);margin:auto;font-size:14px}.ficha.standalone{background:var(--surface);z-index:50;border-left:1px solid var(--line);width:min(400px,100%);transition:transform .2s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-12px 0 32px #1f140824}.ficha.standalone.open{transform:none}.ficha-scrim{z-index:45;background:#1f140859;position:fixed;inset:0}.ficha .field{padding:0 18px 12px}.ficha textarea{min-height:64px}.select-inline{border:1px solid var(--line-strong);background:var(--surface);min-height:28px;font:inherit;border-radius:999px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.msg-mini{background:var(--paper);border-radius:var(--r-ctl);margin-bottom:6px;padding:8px 10px;font-size:13.5px}.msg-mini time{color:var(--ink-3);margin-top:2px;font-size:11.5px;display:block}.ventanabar{background:var(--red-soft);width:100%;color:var(--red);border-radius:var(--r-ctl);padding:10px 14px;font-size:13.5px;line-height:1.45}.side-extra{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:auto;padding:12px 4px;display:flex}.atiende-como{flex-direction:column;gap:4px;display:flex}.atiende-como label{color:var(--ink-3);padding:0 6px;font-size:12px;font-weight:600}.atiende-como select{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);min-height:36px;font:inherit;color:var(--ink);padding:0 10px;font-weight:600}.notif-toggle{color:var(--ink-3);justify-content:flex-start;font-size:12.5px}.notif-toggle svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:16px;height:16px}.tab-dot{background:var(--bark);border:2px solid var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;top:2px;right:calc(50% - 20px)}.avatar-btn{background:0 0;border:0;border-radius:50%;padding:0;line-height:0}.mobile-menu-scrim{z-index:70;background:#1f140859;position:fixed;inset:0}.mobile-menu{background:var(--surface);z-index:71;width:min(300px,82vw);padding:16px;padding-bottom:calc(76px + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #1f14082e}.mobile-menu-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:14px;display:flex}.who-inline{align-items:center;gap:10px;display:flex}.who-inline strong{font-size:14px;display:block}.who-inline span{color:var(--ink-3);font-size:12.5px}.side-extra.compact{border-top:0;margin-top:0;padding:14px 2px}.mobile-logout{color:var(--red);justify-content:flex-start;margin-top:auto}
