:root{--bg: #f4f6f8;--surface: #ffffff;--surface-2: #fafbfc;--line: #e4e8ee;--line-strong: #d3d9e1;--ink: #0f1b2d;--ink-2: #586472;--ink-3: #8a96a4;--brand: #0f766e;--brand-strong: #0b5d57;--brand-soft: #e4f3f0;--accent: #14b8a6;--side: #0e1a2b;--side-2: #14253b;--side-ink: #aebccd;--side-ink-2: #6f8197;--side-active: #19324a;--ok: #16a34a;--ok-soft: #e6f6ec;--warn: #c2740b;--warn-soft: #fbf1dc;--danger: #d92d20;--danger-soft: #fdecea;--r-sm: 6px;--r: 9px;--r-lg: 14px;--shadow-sm: 0 1px 2px rgba(15,27,45,.06), 0 1px 1px rgba(15,27,45,.04);--shadow: 0 4px 16px rgba(15,27,45,.08), 0 1px 3px rgba(15,27,45,.05);--shadow-lg: 0 12px 40px rgba(15,27,45,.16);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0 0 .4em;font-weight:650;letter-spacing:-.01em;color:var(--ink)}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0 0 .6em}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-size:.85em}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:.5rem .65rem;width:100%;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}label{display:block;font-size:.8rem;font-weight:550;color:var(--ink-2);margin-bottom:.9rem}label input,label select,label textarea{margin-top:.3rem}button{font:inherit;font-weight:550;cursor:pointer;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:.5rem .85rem;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s}button:hover{background:var(--surface-2);border-color:var(--ink-3)}button:active{transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-soft)}button[type=submit]{background:var(--brand);color:#fff;border-color:var(--brand)}button[type=submit]:hover{background:var(--brand-strong);border-color:var(--brand-strong)}::placeholder{color:var(--ink-3)}:focus-visible{outline:none}.app{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;padding:18px 14px;gap:6px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px;color:#fff;font-weight:700;font-size:1.05rem;letter-spacing:-.02em}.brand__mark{width:30px;height:30px;border-radius:8px;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--brand));color:#fff;font-weight:800;font-size:.95rem;box-shadow:inset 0 0 0 1px #ffffff1f}.sidebar__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--side-ink-2);padding:14px 8px 4px}.sidebar button{width:100%;text-align:left;background:transparent;color:var(--side-ink);border:1px solid transparent;border-radius:var(--r-sm);padding:.55rem .65rem;font-weight:550;display:flex;align-items:center;gap:9px}.sidebar button:hover{background:var(--side-2);color:#fff;border-color:transparent;transform:none}.sidebar button[aria-pressed=true]{background:var(--side-active);color:#fff;box-shadow:inset 2px 0 0 var(--accent)}.sidebar__spacer{flex:1}.sidebar__user{border-top:1px solid rgba(255,255,255,.08);padding-top:12px;margin-top:6px;display:flex;flex-direction:column;gap:8px}.sidebar__user .who{font-size:.82rem;color:#fff;padding:0 8px}.sidebar__user .role{font-size:.7rem;color:var(--side-ink-2)}.main{display:flex;flex-direction:column;min-width:0}.topbar{height:60px;flex:none;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar h1{margin:0;font-size:1.05rem}.content{padding:24px;flex:1;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:18px}.grid{display:grid;gap:18px}.muted{color:var(--ink-2);font-size:.85rem}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 100% -10%,#11332e 0%,transparent 55%),radial-gradient(900px 500px at -10% 110%,#0c2030 0%,transparent 50%),var(--side)}.login__card{width:100%;max-width:380px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:32px 28px}.login__brand{display:flex;align-items:center;gap:11px;margin-bottom:6px;font-weight:700;font-size:1.2rem;letter-spacing:-.02em}.login__sub{color:var(--ink-2);font-size:.85rem;margin-bottom:22px}.login form{display:flex;flex-direction:column;gap:4px}.login button[type=submit]{width:100%;padding:.65rem;margin-top:8px;font-size:.95rem}[role=alert]{margin:10px 0 0;padding:.55rem .7rem;background:var(--danger-soft);color:var(--danger);border:1px solid #f4c7c2;border-radius:var(--r-sm);font-size:.85rem;font-weight:550}.pane-split{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}@media (max-width: 900px){.pane-split{grid-template-columns:1fr}}.queue{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.queue li{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ink-3);border-radius:var(--r);padding:11px 13px;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .05s;display:flex;align-items:center;gap:9px}.queue li:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.queue li:before{content:"";width:9px;height:9px;border-radius:50%;flex:none;background:var(--ink-3)}.queue li[data-status=free]{border-left-color:var(--ok);background:var(--surface)}.queue li[data-status=free]:before{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.queue li[data-status=taken]{border-left-color:var(--warn)}.queue li[data-status=taken]:before{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.queue li strong{font-weight:600}.queue li span{color:var(--ink-2);font-size:.82rem}.conv__actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chat{list-style:none;margin:0 0 14px;padding:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:8px;min-height:220px;max-height:52vh;overflow-y:auto}.bubble{max-width:74%;padding:8px 12px;border-radius:12px;font-size:.9rem;box-shadow:var(--shadow-sm);line-height:1.4}.bubble em{display:block;font-style:normal;font-size:.68rem;font-weight:600;opacity:.7;margin-bottom:2px}.bubble--in{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble--out{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}.bubble--out em{color:#ffffffd9}.conv__send{display:flex;gap:8px}.conv__send input{flex:1}nav[aria-label=citas-nav]{display:flex!important;gap:4px!important;margin-bottom:18px!important;background:var(--surface);padding:5px;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);width:fit-content}nav[aria-label=citas-nav] button{background:transparent;border-color:transparent;color:var(--ink-2);padding:.45rem .8rem;font-size:.88rem}nav[aria-label=citas-nav] button:hover{background:var(--surface-2);color:var(--ink)}nav[aria-label=citas-nav] button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-strong);font-weight:600}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-weight:600;background:var(--surface-2)}tbody tr:hover{background:var(--surface-2)}.content ul:not(.queue):not(.chat){list-style:none;margin:0;padding:0}[data-testid^=status-]{padding:.3rem .6rem;font-size:.78rem;border-radius:999px}.welcome{max-width:640px}.welcome h2{font-size:1.25rem}.steps{margin:14px 0 0;padding:0;list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:12px}.steps li{position:relative;padding:12px 14px 12px 46px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);font-size:.9rem}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:11px;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:.78rem;font-weight:700;display:grid;place-items:center}.steps b{color:var(--ink)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 3px 0 6px;vertical-align:middle}.dot--free{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot--taken{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.queue-empty{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r);padding:18px;text-align:center}img{max-width:100%}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}@media (max-width: 720px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:10px 12px}.sidebar .brand{padding:4px 8px}.sidebar__label,.sidebar__spacer{display:none}.sidebar button{width:auto}.sidebar__user{border-top:none;padding-top:0;flex-direction:row;align-items:center;margin:0 0 0 auto}}
