.sidebar{z-index:100;background:#2c3a47;flex-direction:column;flex-shrink:0;width:220px;height:100%;display:flex;position:relative;overflow:visible}.sidebar__brand{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid rgba(255,255,255,.1);width:100%;padding:18px 16px 14px}.sidebar__brand:hover{background:rgba(255,255,255,.05)}.sidebar__brand-name{color:#fff;letter-spacing:-.3px;font-size:17px;font-weight:600;line-height:1.2}.sidebar__brand-sub{color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:1.2px;margin-top:2px;font-size:10px}.sidebar__brand-version{color:rgba(255,255,255,.3);margin-top:6px;font-size:10px}.sidebar__nav{flex:1;padding:12px 0;overflow-y:auto}.sidebar__nav::-webkit-scrollbar{width:4px}.sidebar__nav::-webkit-scrollbar-track{background:0 0}.sidebar__nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px}.sidebar__nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.25)}.sidebar__nav{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.sidebar__section{margin-bottom:4px}.sidebar__section-label{text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.3);padding:8px 16px 4px;font-size:10px;font-weight:600}.sidebar__link{color:rgba(255,255,255,.65);cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid transparent;border-radius:0;align-items:center;gap:10px;width:100%;padding:8px 16px;font-size:13px;transition:background .15s,color .15s,border-left-color .15s;display:flex}.sidebar__link svg{flex-shrink:0;width:16px;min-width:18px;height:16px}.sidebar__link:hover{color:#fff;background:rgba(255,255,255,.07)}.sidebar__link:hover svg{opacity:1}.sidebar__link--active{color:#fff;background:rgba(255,255,255,.1);border-left-color:#c4a882;font-weight:600}.sidebar__link--active svg{opacity:1;color:#fff}.sidebar__link--active:hover{color:#fff;background:rgba(255,255,255,.1)}.sidebar__link-label{flex:1}.sidebar__badge{color:#fff;background:#c4861a;border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600;line-height:1.4}.sidebar__footer{background:#2c3a47;border-top:1px solid rgba(255,255,255,.1);padding:12px 16px}.sidebar__user-chip{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px;font-family:inherit;transition:background .15s;display:flex}.sidebar__user-chip:hover{background:rgba(255,255,255,.07)}.sidebar__avatar{color:#fff;letter-spacing:.02em;background:rgba(255,255,255,.15);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.sidebar__user-info{flex:1;min-width:0}.sidebar__user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar__user-role{color:rgba(255,255,255,.4);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sidebar__user-menu-wrapper{position:relative}.sidebar__user-popover{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:max-content;min-width:220px;box-shadow:var(--shadow-lg);z-index:10;margin-bottom:4px;position:absolute;bottom:100%;left:8px;overflow:hidden}.sidebar__user-popover-header{border-bottom:1px solid var(--color-border-soft);padding:12px 14px}.sidebar__user-popover-name{color:var(--color-ink);font-size:13px;font-weight:600}.sidebar__user-popover-email{color:var(--color-ink-tertiary);margin-top:2px;font-size:11px}.sidebar__user-popover-item{width:100%;color:var(--color-ink-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:13px;display:flex}.sidebar__user-popover-item:hover{background:var(--color-surface-hover);color:var(--color-danger)}.sidebar__user-chevron{color:rgba(255,255,255,.3);flex-shrink:0;transition:transform .2s;transform:rotate(180deg)}.sidebar__user-chevron--open{transform:rotate(0)}.sidebar__backdrop{z-index:99;background:rgba(0,0,0,.4);display:none;position:fixed;top:0;bottom:0;left:0;right:0}@media (max-width:768px){.sidebar{z-index:200;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar__backdrop{display:block}}.toast-container{z-index:1000;flex-direction:column-reverse;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast-enter-active,.toast-leave-active{transition:all .3s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(100%)}.toast-message{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:300px;max-width:420px;box-shadow:var(--shadow-lg);border-left:3px solid transparent;align-items:center;gap:10px;padding:12px 14px;display:flex}.toast-message--success{border-left-color:var(--color-success)}.toast-message--success .toast-message__icon{color:var(--color-success)}.toast-message--error{border-left-color:var(--color-danger)}.toast-message--error .toast-message__icon{color:var(--color-danger)}.toast-message--warning{border-left-color:var(--color-warning)}.toast-message--warning .toast-message__icon{color:var(--color-warning)}.toast-message--info{border-left-color:var(--color-primary)}.toast-message--info .toast-message__icon{color:var(--color-primary)}.toast-message__text{color:var(--color-ink);flex:1;font-size:13px}.toast-message__dismiss{color:var(--color-ink-quaternary);cursor:pointer;background:0 0;border:none;padding:2px}.notifications-panel{background:var(--color-surface);border-left:1px solid var(--color-border);width:360px;height:100vh;box-shadow:var(--shadow-lg);z-index:200;flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.notifications-panel--open{transform:translate(0)}.notifications-panel__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.notifications-panel__title{color:var(--color-ink);font-size:16px;font-weight:600}.notifications-panel__mark-all{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px}.notifications-panel__mark-all:hover{text-decoration:underline}.notifications-panel__close{color:var(--color-ink-quaternary);cursor:pointer;background:0 0;border:none;padding:4px}.notifications-panel__close:hover{color:var(--color-ink)}.notifications-panel__tabs{border-bottom:1px solid var(--color-border);padding:0 20px;display:flex}.notifications-panel__tab{color:var(--color-ink-tertiary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid transparent;padding:10px 12px;font-family:inherit;font-size:12px;font-weight:500}.notifications-panel__tab:hover{color:var(--color-ink)}.notifications-panel__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.notifications-panel__tab-badge{background:var(--color-danger);color:#fff;border-radius:8px;margin-left:4px;padding:1px 5px;font-size:10px}.notifications-panel__list{flex:1;padding:8px 0;overflow-y:auto}.notifications-panel__item{cursor:pointer;border-bottom:1px solid var(--color-border-soft);gap:10px;padding:12px 20px;transition:background .1s;display:flex}.notifications-panel__item:hover{background:var(--color-surface-hover)}.notifications-panel__item--unread{background:var(--color-primary-soft)}.notifications-panel__item--unread:hover{background:#dce5f3}.notifications-panel__severity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.notifications-panel__severity-dot--success{background:var(--color-success)}.notifications-panel__severity-dot--error{background:var(--color-danger)}.notifications-panel__severity-dot--warning{background:var(--color-warning)}.notifications-panel__severity-dot--info{background:var(--color-primary)}.notifications-panel__item-body{flex:1;min-width:0}.notifications-panel__item-title{color:var(--color-ink);font-size:13px;font-weight:500}.notifications-panel__item-message{color:var(--color-ink-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.notifications-panel__item-meta{align-items:center;gap:8px;margin-top:4px;display:flex}.notifications-panel__category-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-quaternary);font-size:10px;font-weight:500}.notifications-panel__item-time{color:var(--color-ink-quaternary);font-size:11px}.notifications-panel__empty{text-align:center;color:var(--color-ink-tertiary);padding:40px 20px;font-size:13px}.notifications-panel__backdrop{z-index:199;background:rgba(0,0,0,.3);position:fixed;top:0;bottom:0;left:0;right:0}@media (max-width:768px){.notifications-panel{width:100%}}.app-shell{height:100vh;display:flex}.app-shell__main{background:var(--color-bg);flex:1;min-width:0;overflow-y:auto}.app-shell__offline-banner{z-index:100;text-align:center;color:#7c2d12;background:#fed7aa;border-bottom:1px solid #fb923c;padding:8px 16px;font-size:12px;font-weight:600;position:sticky;top:0}.tenant-switch-overlay{z-index:9999;background:rgba(255,255,255,.85);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.tenant-switch-overlay__spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite tenant-switch-spin}@keyframes tenant-switch-spin{to{transform:rotate(360deg)}}:root{--slate:#2c3a47;--slate2:#3d4f5e;--slate3:#546778;--slate4:#8a9baa;--slate5:#b8c4cc;--slate6:#dde4e8;--slate7:#f0f3f5;--slate8:#f7f9fa;--stone:#5c4a3a;--stone3:#c4a882;--stone5:#f5eee5;--green:#2d5a27;--green2:#3b7234;--green3:#4f9445;--green5:#e8f5e6;--amber:#8b5e00;--amber2:#c4861a;--amber4:#fff3cc;--red:#8b1a1a;--red2:#c4342a;--red3:#ffe5e5;--blue:#1a3a8b;--blue2:#2a5bc4;--blue3:#e5eeff;--color-primary:#3b7234;--color-primary-hover:#2d5a27;--color-primary-soft:#e8f5e6;--color-ink:var(--slate);--color-ink-secondary:var(--slate3);--color-ink-tertiary:var(--slate4);--color-ink-quaternary:var(--slate5);--color-surface:#fff;--color-surface-hover:var(--slate7);--color-bg:var(--slate8);--color-border:var(--slate6);--color-border-soft:var(--slate7);--color-success:var(--green2);--color-success-bg:var(--green5);--color-warning:var(--amber2);--color-warning-bg:var(--amber4);--color-danger:var(--red2);--color-danger-bg:var(--red3);--color-info:var(--slate3);--color-info-bg:var(--slate7);--color-link:#2a5bc4;--badge-green-bg:#e8f5e6;--badge-green-fg:#2d5a27;--badge-amber-bg:#fff3cc;--badge-amber-fg:#8b5e00;--badge-red-bg:#ffe5e5;--badge-red-fg:#c4342a;--badge-blue-bg:#e5eeff;--badge-blue-fg:#1a3a8b;--badge-stone-bg:#f5eee5;--badge-stone-fg:#5c4a3a;--badge-compliance-bg:#fff0e5;--badge-compliance-fg:#7a3500;--badge-compliance-border:#ffcba0;--tag-bg:#f0f3f5;--tag-fg:#546778;--chip-all-active-bg:#2c3a47;--chip-all-active-fg:#fff;--kanban-col-bg:#f0f3f5;--kanban-card-bg:#fff;--kanban-card-border:#dde4e8;--kanban-card-hover:#b8c4cc;--kanban-meta:#8a9baa;--kanban-advance-hover-bg:#e8f5e6;--kanban-advance-hover-fg:#3b7234;--thumb-green-bg:#e8f5e6;--thumb-green-fg:#3b7234;--thumb-amber-bg:#fff3cc;--thumb-amber-fg:#8b5e00;--thumb-blue-bg:#e5eeff;--thumb-blue-fg:#2a5bc4;--thumb-indigo-bg:#e0e7ff;--thumb-indigo-fg:#4338ca;--thumb-stone-bg:#f5eee5;--thumb-stone-fg:#5c4a3a;--acct-box-bg:#e8f5e6;--acct-box-border:#bee0ba;--acct-box-fg:#3b7234;--acct-field-bg:#fff;--table-header-bg:#f0f3f5;--table-row-hover:#f5eee5;--color-focus:#4f9445;--color-required:#c4342a;--btn-green-bg:#3b7234;--btn-green-border:#2d5a27;--btn-green-hover:#2d5a27;--btn-danger-bg:#c4342a;--btn-danger-hover:#8b1a1a;--tab-active:#3b7234;--avatar-green-bg:#e8f5e6;--avatar-green-fg:#3b7234;--avatar-stone-bg:#f5eee5;--avatar-stone-fg:#5c4a3a;--avatar-blue-bg:#e5eeff;--avatar-blue-fg:#1a3a8b;--radius:6px;--radius-lg:10px;--shadow-sm:0 1px 2px rgba(44,58,71,.04);--shadow:0 1px 3px rgba(44,58,71,.06), 0 1px 2px rgba(44,58,71,.04);--shadow-lg:0 10px 15px -3px rgba(44,58,71,.08), 0 4px 6px -4px rgba(44,58,71,.05);--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"DM Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}ol,ul{list-style:none}img,svg,video,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:inherit}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}button,select{text-transform:none}::placeholder{color:var(--color-ink-tertiary);opacity:1}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;appearance:button;background-color:transparent;background-image:none}button,[role=button]{cursor:pointer}button:disabled,[role=button]:disabled{cursor:default}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}table{border-collapse:collapse}html,body{overscroll-behavior-y:contain;height:100%;font-family:var(--font-sans);color:var(--color-ink);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}#app{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-ink-quaternary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-tertiary)}.focus-ring:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(31,56,100,.12)}[data-theme=dark]{--color-primary:#5b8def;--color-primary-hover:#7ba4f7;--color-primary-soft:rgba(91,141,239,.15);--color-ink:#f9fafb;--color-ink-secondary:#d1d5db;--color-ink-tertiary:#9ca3af;--color-ink-quaternary:#6b7280;--color-surface:#1f2937;--color-surface-hover:#374151;--color-bg:#111827;--color-border:#374151;--color-border-soft:#1f2937;--color-success:#34d399;--color-success-bg:rgba(52,211,153,.15);--color-warning:#fbbf24;--color-warning-bg:rgba(251,191,36,.15);--color-danger:#f87171;--color-danger-bg:rgba(248,113,113,.15);--color-info:#9ca3af;--color-info-bg:rgba(156,163,175,.1);--color-link:#93b5f5;--badge-green-bg:rgba(52,211,153,.15);--badge-green-fg:#6ee7b7;--badge-amber-bg:rgba(251,191,36,.15);--badge-amber-fg:#fcd34d;--badge-red-bg:rgba(248,113,113,.15);--badge-red-fg:#fca5a5;--badge-blue-bg:rgba(96,165,250,.15);--badge-blue-fg:#93c5fd;--badge-stone-bg:rgba(156,163,175,.12);--badge-stone-fg:#d1d5db;--badge-compliance-bg:rgba(251,146,60,.15);--badge-compliance-fg:#fdba74;--badge-compliance-border:rgba(251,146,60,.3);--tag-bg:rgba(156,163,175,.12);--tag-fg:#d1d5db;--chip-all-active-bg:#e5e7eb;--chip-all-active-fg:#111827;--kanban-col-bg:#1f2937;--kanban-card-bg:#374151;--kanban-card-border:#4b5563;--kanban-card-hover:#6b7280;--kanban-meta:#9ca3af;--kanban-advance-hover-bg:rgba(52,211,153,.15);--kanban-advance-hover-fg:#6ee7b7;--thumb-green-bg:rgba(52,211,153,.12);--thumb-green-fg:#6ee7b7;--thumb-amber-bg:rgba(251,191,36,.12);--thumb-amber-fg:#fcd34d;--thumb-blue-bg:rgba(96,165,250,.12);--thumb-blue-fg:#93c5fd;--thumb-indigo-bg:rgba(129,140,248,.12);--thumb-indigo-fg:#a5b4fc;--thumb-stone-bg:rgba(156,163,175,.1);--thumb-stone-fg:#d1d5db;--acct-box-bg:rgba(52,211,153,.08);--acct-box-border:rgba(52,211,153,.2);--acct-box-fg:#6ee7b7;--acct-field-bg:#1f2937;--table-header-bg:#1f2937;--table-row-hover:rgba(255,255,255,.04);--color-focus:#5b8def;--color-required:#fca5a5;--btn-green-bg:#22643d;--btn-green-border:#166534;--btn-green-hover:#166534;--btn-danger-bg:#991b1b;--btn-danger-hover:#7f1d1d;--tab-active:#5b8def;--avatar-green-bg:rgba(52,211,153,.15);--avatar-green-fg:#6ee7b7;--avatar-stone-bg:rgba(156,163,175,.12);--avatar-stone-fg:#d1d5db;--avatar-blue-bg:rgba(96,165,250,.15);--avatar-blue-fg:#93c5fd;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow:0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5), 0 4px 6px -4px rgba(0,0,0,.4)}[data-theme=high-contrast]{--color-primary:#00e;--color-primary-hover:#00c;--color-primary-soft:#e8e8ff;--color-ink:#000;--color-ink-secondary:#1a1a1a;--color-ink-tertiary:#333;--color-ink-quaternary:#666;--color-surface:#fff;--color-surface-hover:#f0f0f0;--color-bg:#fff;--color-border:#000;--color-border-soft:#666;--color-success:#006400;--color-success-bg:#e6ffe6;--color-warning:#8b4513;--color-warning-bg:#fff3e0;--color-danger:#c00;--color-danger-bg:#ffe6e6;--color-info:#000;--color-info-bg:#f0f0f0;--color-link:#00e;--badge-green-bg:#e6ffe6;--badge-green-fg:#006400;--badge-amber-bg:#fff3e0;--badge-amber-fg:#8b4513;--badge-red-bg:#ffe6e6;--badge-red-fg:#c00;--badge-blue-bg:#e8e8ff;--badge-blue-fg:#00c;--badge-stone-bg:#f0f0f0;--badge-stone-fg:#333;--badge-compliance-bg:#fff3e0;--badge-compliance-fg:#8b4513;--badge-compliance-border:#8b4513;--tag-bg:#f0f0f0;--tag-fg:#000;--chip-all-active-bg:#000;--chip-all-active-fg:#fff;--kanban-col-bg:#f0f0f0;--kanban-card-bg:#fff;--kanban-card-border:#000;--kanban-card-hover:#666;--kanban-meta:#333;--kanban-advance-hover-bg:#e6ffe6;--kanban-advance-hover-fg:#006400;--thumb-green-bg:#e6ffe6;--thumb-green-fg:#006400;--thumb-amber-bg:#fff3e0;--thumb-amber-fg:#8b4513;--thumb-blue-bg:#e8e8ff;--thumb-blue-fg:#00c;--thumb-indigo-bg:#e8e8ff;--thumb-indigo-fg:#00c;--thumb-stone-bg:#f0f0f0;--thumb-stone-fg:#333;--acct-box-bg:#e6ffe6;--acct-box-border:#006400;--acct-box-fg:#006400;--acct-field-bg:#fff;--table-header-bg:#f0f0f0;--table-row-hover:#ffc;--color-focus:#00e;--color-required:#c00;--btn-green-bg:#006400;--btn-green-border:#004d00;--btn-green-hover:#004d00;--btn-danger-bg:#c00;--btn-danger-hover:#900;--tab-active:#00e;--avatar-green-bg:#e6ffe6;--avatar-green-fg:#006400;--avatar-stone-bg:#f0f0f0;--avatar-stone-fg:#333;--avatar-blue-bg:#e8e8ff;--avatar-blue-fg:#00c;--shadow-sm:0 0 0 1px #000;--shadow:0 0 0 1px #000;--shadow-lg:0 0 0 2px #000}.field--error input,.field--error select,.field--error textarea{border-color:var(--color-danger)!important}.field--error input:focus,.field--error select:focus,.field--error textarea:focus{box-shadow:0 0 0 3px var(--color-danger-bg)!important}.field__error-message{color:var(--color-danger);margin-top:4px;font-size:12px}.btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-ink);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover:not(:disabled){background:var(--color-surface-hover)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-sm{padding:5px 10px;font-size:12px}.btn-ghost{background:0 0;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover)}.btn.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn.btn-danger svg{color:#fff}.btn.btn-danger:hover:not(:disabled){background:var(--red)}
