body[data-role=encargado]{--color-accent:#ea580c;--color-accent-hover:#c2410c;--color-accent-soft:#fde7d3;--color-text-on-accent:#fff}body[data-role=encargado] .encargado-shell__sidebar{background-color:#fff7ef}[data-theme=dark] body[data-role=encargado],body[data-role=encargado][data-theme=dark]{--color-accent:#fb923c;--color-accent-hover:#ea580c;--color-accent-soft:#4a1a04}body[data-role=jefe]{--color-accent:#7c3aed;--color-accent-hover:#6d28d9;--color-accent-soft:#ede9fe;--color-text-on-accent:#fff}body[data-role=jefe] .jefe-shell__sidebar{background-color:#f5f3ff}body[data-role=jefe] .jefe-shell__brand-mark{background-color:#7c3aed}[data-theme=dark] body[data-role=jefe],body[data-role=jefe][data-theme=dark]{--color-accent:#a78bfa;--color-accent-hover:#c4b5fd;--color-accent-soft:#2e1065}body[data-role=assistant]{--color-accent:#10b981;--color-accent-hover:#059669;--color-accent-soft:#d1fae5;--color-text-on-accent:#fff}body[data-role=assistant] .assistant-shell__sidebar{background-color:#ecfdf5}body[data-role=assistant] .assistant-shell__brand-mark{background-color:#10b981}[data-theme=dark] body[data-role=assistant],body[data-role=assistant][data-theme=dark]{--color-accent:#34d399;--color-accent-hover:#6ee7b7;--color-accent-soft:#064e3b}.toast-stack{bottom:var(--space-6);right:var(--space-6);gap:var(--space-2);z-index:100;max-width:min(360px, calc(100vw - var(--space-8)));flex-direction:column;display:flex;position:fixed}.toast{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:var(--color-surface);color:var(--color-text-primary);border-left:4px solid var(--color-accent);font-size:var(--font-size-md);display:flex}.toast--success{border-left-color:var(--color-success)}.toast--warning{border-left-color:var(--color-warning)}.toast--error{border-left-color:var(--color-danger)}.toast--info{border-left-color:var(--color-info)}.toast__close{color:var(--color-text-muted);cursor:pointer;padding:0 var(--space-1);background:0 0;border:0;font-size:18px;line-height:1}.toast__close:hover{color:var(--color-text-primary)}.role-guard{min-height:60vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.role-guard__card{max-width:480px;padding:var(--space-6);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.role-guard__card h1{font-size:var(--font-size-xl);margin:0 0 var(--space-3)}.role-guard__card p{color:var(--color-text-secondary);margin:0 0 var(--space-4)}.role-guard__link{padding:var(--space-2) var(--space-4);background-color:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-md);text-decoration:none;display:inline-block}.role-guard__link:hover{background-color:var(--color-accent-hover);text-decoration:none}.role-nav ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.role-nav__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-decoration:none;display:flex}.role-nav__item:hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary);text-decoration:none}.role-nav__item--active{background-color:var(--color-accent-soft);color:var(--color-accent)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard);border:1px solid #0000;min-height:36px;display:inline-flex}.btn:disabled,.btn[aria-busy=true]{opacity:.65;cursor:not-allowed}.btn--primary{background-color:var(--color-accent);color:var(--color-text-on-accent)}.btn--primary:not(:disabled):hover{background-color:var(--color-accent-hover)}.btn--secondary{background-color:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-border)}.btn--secondary:not(:disabled):hover{background-color:var(--color-surface-hover)}.btn--ghost{color:var(--color-text-secondary);background-color:#0000}.btn--ghost:not(:disabled):hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.btn--danger{background-color:var(--color-danger);color:var(--color-text-on-accent)}.btn--danger:not(:disabled):hover{filter:brightness(.95)}.btn--full-width{width:100%}.floating-fab-stack{right:var(--space-4,16px);bottom:var(--space-4,16px);gap:var(--space-2,8px);z-index:60;flex-direction:column;display:flex;position:fixed}.floating-fab-stack__item{border:1px solid var(--color-border-strong);background:var(--color-bg-elevated);width:48px;height:48px;color:var(--color-text-primary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:transform 80ms;display:inline-flex;box-shadow:0 8px 24px #0000002e}.floating-fab-stack__item:hover:not(:disabled){transform:scale(1.05)}.floating-fab-stack__item:disabled{opacity:.5;cursor:not-allowed}.floating-fab-stack__item--primary{background:var(--color-accent,#2c5cdc);color:#fff;border-color:var(--color-accent,#2c5cdc)}.safe-markdown{color:var(--color-text-primary);line-height:1.5}.safe-markdown p{margin:0 0 var(--space-2)}.safe-markdown h1,.safe-markdown h2,.safe-markdown h3{margin:var(--space-3) 0 var(--space-2)}.safe-markdown ul,.safe-markdown ol{margin:0 0 var(--space-2);padding-left:var(--space-5)}.safe-markdown code{font-family:var(--font-mono);background:var(--color-bg-elevated);border-radius:4px;padding:1px 4px;font-size:.92em}.safe-markdown pre{background:var(--color-bg-elevated);padding:var(--space-3);border-radius:var(--radius-sm);overflow-x:auto}.safe-markdown blockquote{margin:0 0 var(--space-2);padding-left:var(--space-3);border-left:3px solid var(--color-border-strong);color:var(--color-text-secondary)}.safe-markdown a{color:var(--color-accent)}.placeholder-panel{background:var(--color-bg-elevated);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;gap:var(--space-2);flex-direction:column;display:flex}.placeholder-panel h2{font-size:var(--font-size-lg);margin:0}.placeholder-panel p{color:var(--color-text-secondary);margin:0}.placeholder-panel__chip{background:var(--color-warning-bg,#fff7e6);color:var(--color-warning-fg,#8a5a00);border:1px solid var(--color-warning-border,#f0c878);font-size:var(--font-size-sm);border-radius:999px;align-self:center;padding:2px 10px;font-weight:600}.ai-panel{background:var(--color-bg-elevated);border-left:1px solid var(--color-border);z-index:70;flex-direction:column;width:min(420px,100vw);height:100vh;transition:transform .16s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 24px #0000002e}.ai-panel--open{transform:translate(0)}.ai-panel__header,.ai-panel__input,.ai-panel__messages,.ai-panel__suggestions,.ai-panel__context{padding:var(--space-2)}.ai-panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-1);display:flex}.ai-panel__title-block{flex-direction:column;display:flex}.ai-panel__usage{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.ai-panel__usage--warn{color:var(--color-warning-fg,#8a5a00);font-weight:600}.ai-panel__messages{gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai-message{border-radius:var(--radius-md);white-space:pre-wrap;max-width:95%;padding:8px 10px}.ai-message--user{background:var(--color-accent,#2c5cdc);color:#fff;align-self:flex-end}.ai-message--assistant{background:var(--color-bg);border:1px solid var(--color-border);align-self:flex-start}.ai-panel__suggestions{gap:var(--space-1);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.ai-panel__suggestion{border:1px solid var(--color-border);background:var(--color-bg);font-size:var(--font-size-xs);cursor:pointer;border-radius:999px;padding:4px 8px}.ai-panel__input{border-top:1px solid var(--color-border);gap:var(--space-1);align-items:end;display:flex}.ai-panel__input textarea{resize:vertical;flex:1;min-height:48px;max-height:160px}.app-shell{background-color:var(--color-bg-base);grid-template-columns:240px 1fr;min-height:100vh;display:grid}.app-shell__sidebar{gap:var(--space-4);padding:var(--space-4);background-color:var(--color-bg-elevated);border-right:1px solid var(--color-border);flex-direction:column;display:flex}.app-shell__brand{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);display:flex}.app-shell__brand-mark{border-radius:var(--radius-sm);background-color:var(--color-accent);width:28px;height:28px;color:var(--color-text-on-accent);font-weight:var(--font-weight-semibold);font-family:var(--font-mono);justify-content:center;align-items:center;display:inline-flex}.app-shell__sidebar-footer{margin-top:auto}.app-shell__theme-toggle{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-2);color:var(--color-text-secondary);cursor:pointer;background:0 0;display:flex}.app-shell__theme-toggle:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.app-shell__main{flex-direction:column;min-width:0;display:flex}.app-shell__topbar{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-base);justify-content:space-between;align-items:center;display:flex}.app-shell__topbar-user{flex-direction:column;display:flex}.app-shell__topbar-name{font-weight:var(--font-weight-semibold)}.app-shell__topbar-role{color:var(--color-text-muted);font-size:var(--font-size-sm)}.app-shell__content{padding:var(--space-6);flex:1;overflow:auto}.app-shell__loading{color:var(--color-text-muted);padding:var(--space-6)}@media (width<=720px){.app-shell{grid-template-columns:1fr}.app-shell__sidebar{flex-flow:wrap;align-items:center}.app-shell__sidebar-footer{margin-top:0;margin-left:auto}}.status-page{max-width:480px;margin:var(--space-12) auto;text-align:center;gap:var(--space-3);padding:var(--space-6);flex-direction:column;display:flex}.status-page h1{font-size:var(--font-size-3xl);margin:0}.status-page__link{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);align-self:center;text-decoration:none}.status-page__link:hover{background-color:var(--color-surface-hover);text-decoration:none}:root{--color-bg-base:#fff;--color-bg-elevated:#f7f8fa;--color-bg-sunken:#eceff3;--color-bg-inverse:#0a0d12;--color-surface:#fff;--color-surface-hover:#f1f3f5;--color-border:#d8dde3;--color-border-strong:#b6bdc6;--color-text-primary:#0a0d12;--color-text-secondary:#4a525c;--color-text-muted:#707a86;--color-text-inverse:#fff;--color-text-on-accent:#fff;--color-accent:#1659d1;--color-accent-hover:#1147a8;--color-accent-soft:#e0ebff;--color-success:#1d7d3f;--color-success-soft:#d8efdf;--color-warning:#a76900;--color-warning-soft:#fbeacb;--color-danger:#b42318;--color-danger-soft:#fde2df;--color-info:#155e75;--color-info-soft:#cfeaf3;--status-active:var(--color-success);--status-active-soft:var(--color-success-soft);--status-paused:var(--color-warning);--status-paused-soft:var(--color-warning-soft);--status-completed:var(--color-info);--status-completed-soft:var(--color-info-soft);--status-unassigned:var(--color-text-muted);--status-unassigned-soft:var(--color-bg-sunken);--status-archived:#5b6470;--status-archived-soft:#e3e6ea;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #0f162414;--shadow-md:0 4px 12px #0f16241f;--shadow-lg:0 12px 32px #0f16242e;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--duration-fast:.12s;--duration-base:.2s;--easing-standard:cubic-bezier(.2, 0, 0, 1)}[data-theme=dark]{--color-bg-base:#0a0d12;--color-bg-elevated:#11161e;--color-bg-sunken:#060910;--color-bg-inverse:#fff;--color-surface:#141a23;--color-surface-hover:#1c232e;--color-border:#232a35;--color-border-strong:#364150;--color-text-primary:#f0f2f5;--color-text-secondary:#bcc4cf;--color-text-muted:#828c99;--color-text-inverse:#0a0d12;--color-accent:#4f8ef7;--color-accent-hover:#6ea2ff;--color-accent-soft:#1c2c4c;--color-success:#4cd47b;--color-success-soft:#163823;--color-warning:#f4be62;--color-warning-soft:#3b2c10;--color-danger:#f47266;--color-danger-soft:#401814;--color-info:#6dd0e8;--color-info-soft:#0f3242;--status-archived:#8893a1;--status-archived-soft:#1c2330;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 4px 12px #0000008c;--shadow-lg:0 12px 32px #000000a6}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=dark] html,html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-sans);font-size:var(--font-size-md);background-color:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
