.sidebar{position:fixed;top:var(--topbar-height);left:0;bottom:0;width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-4) var(--space-3);overflow-y:auto;display:flex;flex-direction:column;z-index:var(--z-index-sidebar);transition:width var(--duration-normal) var(--ease-out)}.sidebar>*{flex-shrink:0}.sidebar__footer{margin-top:auto}.sidebar__list{list-style:none;margin:0 0 var(--space-4);padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__link{display:flex;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-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden}.sidebar__link-icon{flex-shrink:0}.sidebar__link:hover{background:var(--color-surface-sunken);color:var(--color-text);text-decoration:none}.sidebar__link--active{background:var(--color-accent-subtle);color:var(--color-accent)}.sidebar__link-label{overflow:hidden;text-overflow:ellipsis}.sidebar__section-label{margin:var(--space-4) var(--space-3) var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;overflow:hidden}.sidebar__backdrop{display:none}@media(min-width:900px){.sidebar--collapsed{width:var(--sidebar-width-collapsed)}.sidebar--collapsed .sidebar__link{justify-content:center;padding-inline:0}.sidebar--collapsed .sidebar__link-label,.sidebar--collapsed .sidebar__section-label{display:none}}@media(max-width:899.98px){.sidebar{width:min(var(--sidebar-width),80vw);transform:translate(-100%);box-shadow:var(--shadow-lg)}.sidebar--open{transform:translate(0)}.sidebar--collapsed{transform:translate(-100%)}.sidebar__backdrop{display:block;position:fixed;inset:var(--topbar-height) 0 0 0;background:#0f172a66;z-index:calc(var(--z-index-sidebar) - 1)}}.sidebar__legal-links{list-style:none;margin:0 var(--space-3) var(--space-4);padding:var(--space-3) var(--space-3) 0;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__legal-link{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.sidebar__legal-link:hover{color:var(--color-text);background:var(--color-surface-sunken);text-decoration:none}@media(min-width:900px){.sidebar--collapsed .sidebar__legal-links{display:none}}.sidebar__version{margin:0 var(--space-3) var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:center;background:var(--color-surface-sunken)}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-surface-sunken);flex-shrink:0}.avatar--circle{border-radius:50%}.avatar--square{border-radius:var(--radius-md)}.avatar--xs{width:24px;height:24px;font-size:.625rem}.avatar--sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar--md{width:40px;height:40px;font-size:var(--text-sm)}.avatar--lg{width:56px;height:56px;font-size:var(--text-base)}.avatar--xl{width:80px;height:80px;font-size:var(--text-lg)}.avatar__image{width:100%;height:100%;object-fit:cover}.avatar__initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--color-text-inverse);font-weight:var(--weight-semibold);text-transform:uppercase}.avatar__status{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:8px;min-height:8px;border:2px solid var(--color-surface);border-radius:50%;flex-shrink:0}.avatar--xs .avatar__status{width:6px;height:6px}.avatar__status--online{background:var(--color-success)}.avatar__status--away{background:var(--color-warning)}.avatar__status--busy{background:var(--color-critical)}.avatar__status--offline{background:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--weight-medium);border-radius:var(--radius-full);white-space:nowrap}.badge--sm{font-size:var(--text-xs);padding:.125rem var(--space-2);height:20px}.badge--md{font-size:var(--text-sm);padding:.1875rem var(--space-2);height:24px}.badge__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge--neutral{background:var(--color-surface-sunken);color:var(--color-text-secondary)}.badge--neutral .badge__dot{background:var(--color-text-muted)}.badge--success{background:var(--color-success-subtle);color:var(--color-success)}.badge--success .badge__dot{background:var(--color-success)}.badge--warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge--warning .badge__dot{background:var(--color-warning)}.badge--critical{background:var(--color-critical-subtle);color:var(--color-critical)}.badge--critical .badge__dot{background:var(--color-critical)}.badge--info{background:var(--color-info-subtle);color:var(--color-info)}.badge--info .badge__dot{background:var(--color-info)}.badge--accent{background:var(--color-accent-subtle);color:var(--color-accent)}.badge--accent .badge__dot{background:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn--md{height:40px;padding:0 var(--space-4)}.btn--lg{height:48px;padding:0 var(--space-5);font-size:var(--text-base)}.btn--full{width:100%}.btn--primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--primary:active:not(:disabled){background:var(--color-accent-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-sunken);border-color:var(--color-text-muted)}.btn--ghost{background:transparent;color:var(--color-text);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--color-surface-sunken)}.btn--destructive{background:var(--color-critical);color:var(--color-text-inverse);border-color:var(--color-critical)}.btn--destructive:hover:not(:disabled){background:#9b1f19;border-color:#9b1f19}.btn--loading{position:relative;color:transparent;pointer-events:none}.btn__spinner{position:absolute;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__icon{display:inline-flex;flex-shrink:0;line-height:1}.btn__icon--left{margin-left:calc(-1 * var(--space-1))}.btn__icon--right{margin-right:calc(-1 * var(--space-1))}.tooltip{position:fixed;z-index:var(--z-index-tooltip);width:max-content;max-width:18rem;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-normal);letter-spacing:.01em;white-space:pre-line;overflow-wrap:anywhere;color:var(--color-tooltip-text);background:var(--color-tooltip-bg);border:1px solid var(--color-tooltip-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-tooltip);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);transform-origin:var(--tooltip-origin-x, 50%) 100%;animation:tooltip-in-top var(--duration-fast) var(--ease-out)}@supports (corner-shape: squircle){.tooltip{corner-shape:squircle}}.tooltip[data-side=bottom]{transform-origin:var(--tooltip-origin-x, 50%) 0;animation-name:tooltip-in-bottom}@keyframes tooltip-in-top{0%{opacity:0;transform:translateY(4px) scale(.96);-webkit-backdrop-filter:blur(0) saturate(100%);backdrop-filter:blur(0) saturate(100%)}}@keyframes tooltip-in-bottom{0%{opacity:0;transform:translateY(-4px) scale(.96);-webkit-backdrop-filter:blur(0) saturate(100%);backdrop-filter:blur(0) saturate(100%)}}@media(prefers-reduced-motion:reduce){.tooltip,.tooltip[data-side=bottom]{animation-name:tooltip-fade}@keyframes tooltip-fade{0%{opacity:0}}}@media(prefers-reduced-transparency:reduce){.tooltip{background:#1c1e24;-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){.tooltip{background:#14161a;border-color:#fff9}}.actions-menu{position:relative;display:flex;justify-content:flex-end}.actions-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.actions-menu__trigger:hover{background:var(--color-surface-sunken);color:var(--color-text)}.actions-menu__menu{position:fixed;min-width:11rem;display:flex;flex-direction:column;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-index-dropdown)}.actions-menu__item{text-align:left;font:inherit;font-size:var(--text-sm);color:var(--color-text);background:transparent;border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);cursor:pointer}.actions-menu__item:hover{background:var(--color-surface-sunken)}.actions-menu__item--critical{color:var(--color-critical)}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.input-wrapper--full{width:100%}.input__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.input__field{display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input__field:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.input__field--error{border-color:var(--color-critical)}.input__field--error:focus-within{box-shadow:0 0 0 3px var(--color-critical-subtle)}.input__field--sm{height:32px}.input__field--md{height:40px}.input__field--lg{height:48px}.input__addon{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--text-sm)}.input__addon--left{padding-left:var(--space-3)}.input__addon--right{padding-right:var(--space-3)}.input__control{flex:1;width:100%;min-width:0;background:transparent;border:none;outline:none;font-family:inherit;font-size:var(--text-sm);color:var(--color-text);line-height:1.5}.input__control::placeholder{color:var(--color-text-muted)}.input__control:disabled{opacity:.5;cursor:not-allowed}.input__field--sm .input__control{font-size:var(--text-xs)}.input__field--lg .input__control{font-size:var(--text-base)}.input__hint{margin:0;font-size:var(--text-xs);color:var(--color-text-muted)}.input__error{margin:0;font-size:var(--text-xs);color:var(--color-critical)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-index-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0f172a66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-overlay-fade var(--duration-fast) var(--ease-out)}@keyframes modal-overlay-fade{0%{opacity:0}to{opacity:1}}.modal{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:calc(100vh - var(--space-4) * 2);animation:modal-slide-in var(--duration-normal) var(--ease-out)}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal--sm{width:100%;max-width:400px}.modal--md{width:100%;max-width:560px}.modal--lg{width:100%;max-width:720px}.modal--xl{width:100%;max-width:960px}.modal--full{width:100%;max-width:100%;max-height:100%;height:100%;border-radius:0}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0}.modal__title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.modal__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.modal__close:hover{color:var(--color-text);background:var(--color-surface-sunken)}.modal__description{margin:0;padding:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.modal__body{flex:1;overflow:auto;padding:var(--space-5)}.modal--full .modal__body{padding:0}.report-config{display:flex;flex-direction:column;gap:var(--space-4)}.report-config__sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);margin:0;padding:0;border:none}.report-config__legend{grid-column:1 / -1;padding:0;margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.report-config__checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text);cursor:pointer}.report-config__field{display:flex;flex-direction:column;gap:var(--space-1)}.report-config__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.report-config__textarea{width:100%;min-height:88px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);line-height:var(--leading-normal, 1.5);resize:vertical}.report-config__textarea:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.report-config__error{margin:0;font-size:var(--text-sm);color:var(--color-critical)}.report-config__actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.export-reports__title{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.export-reports__error{margin:var(--space-1) var(--space-2) 0;padding:var(--space-2);font-size:var(--text-xs);color:var(--color-critical);background:var(--color-critical-subtle);border-radius:var(--radius-sm)}.command-menu{--cmd-enter: .15s;--cmd-exit: 90ms;--cmd-radius: 16px;--cmd-inset: var(--space-2);--cmd-hairline: color-mix(in srgb, var(--color-border) 70%, transparent);--cmd-highlight: color-mix(in srgb, var(--color-text) 7%, transparent);--cmd-highlight-pressed: color-mix(in srgb, var(--color-text) 11%, transparent);position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-index-modal);display:flex;justify-content:center;align-items:flex-start;padding:min(14vh,8rem) var(--space-4) var(--space-4);overflow:hidden;overscroll-behavior:contain}.command-menu__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity var(--cmd-exit) ease-out}.command-menu[data-state=open] .command-menu__backdrop{opacity:1;transition-duration:var(--cmd-enter)}.command-menu__panel{position:relative;display:flex;flex-direction:column;width:min(40rem,100%);max-height:min(32rem,100%);overflow:hidden;color:var(--color-text);background:color-mix(in srgb,var(--color-surface-raised) 80%,transparent);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);border-radius:var(--cmd-radius);box-shadow:var(--shadow-overlay);transform-origin:center;opacity:0;transform:translateY(-6px) scale(.97);transition:opacity var(--cmd-exit) ease-out,transform var(--cmd-exit) ease-out}.command-menu[data-state=open] .command-menu__panel{opacity:1;transform:none;transition-duration:var(--cmd-enter);transition-timing-function:var(--ease-out)}@supports (corner-shape: squircle){.command-menu__panel{corner-shape:squircle;--cmd-radius: 22px}.command-menu__option,.command-menu__option-icon{corner-shape:squircle}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.command-menu__panel{background:var(--color-surface-raised)}}@media(prefers-reduced-transparency:reduce){.command-menu__panel{background:var(--color-surface-raised);-webkit-backdrop-filter:none;backdrop-filter:none}.command-menu__backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){.command-menu__panel{background:var(--color-surface-raised);outline:1px solid var(--color-border-strong)}}.command-menu__search{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;height:3.5rem;padding:0 var(--space-4);border-bottom:1px solid var(--cmd-hairline);transition:border-color var(--duration-fast) ease}.command-menu__search:focus-within{border-bottom-color:color-mix(in srgb,var(--color-accent) 50%,var(--color-border))}.command-menu__search-icon{flex-shrink:0;color:var(--color-text-muted)}.command-menu__input{flex:1;min-width:0;height:100%;padding:0;font:inherit;font-size:var(--text-md);letter-spacing:-.011em;color:var(--color-text);caret-color:var(--color-accent);background:transparent;border:0;outline:0}.command-menu__input:focus-visible{outline:none}.command-menu__input::placeholder{color:var(--color-text-muted)}.command-menu__body{flex:1 1 auto;min-height:0;padding:var(--cmd-inset);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.command-menu__group+.command-menu__group{margin-top:var(--space-1)}.command-menu__group-label{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-secondary)}.command-menu__option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-text);text-decoration:none;border-radius:calc(var(--cmd-radius) - var(--cmd-inset));scroll-margin-block:1.75rem .25rem;transition:transform .1s ease-out}.command-menu__option[aria-selected=true]{background:var(--cmd-highlight)}.command-menu__option:active{background:var(--cmd-highlight-pressed);transform:scale(.99)}.command-menu__option-icon{flex-shrink:0;display:grid;place-items:center;width:2rem;height:2rem;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-text) 6%,transparent);border-radius:9px}.command-menu__option[aria-selected=true] .command-menu__option-icon{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.command-menu__option-text{flex:1;display:flex;flex-direction:column;min-width:0}.command-menu__option-label{font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:-.006em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-menu__option-description{font-size:var(--text-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-menu__option-hint{flex-shrink:0;font:inherit;font-size:var(--text-sm);color:var(--color-text-muted);opacity:0}.command-menu__option[aria-selected=true] .command-menu__option-hint{opacity:1}.command-menu__status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary)}.command-menu__status--error{color:var(--color-critical)}.command-menu__spinner{width:12px;height:12px;border:2px solid var(--color-border-strong);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:command-menu-spin .7s linear infinite}@keyframes command-menu-spin{to{transform:rotate(360deg)}}.command-menu__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted)}.command-menu__empty-title{margin-top:var(--space-1);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow-wrap:anywhere}.command-menu__empty-hint{font-size:var(--text-xs);color:var(--color-text-secondary)}.command-menu__footer{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--cmd-hairline)}.command-menu__footer-hint{display:inline-flex;align-items:center;gap:var(--space-1)}.command-menu__kbd{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3125rem;margin-right:1px;font:inherit;font-size:.6875rem;line-height:1;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-text) 7%,transparent);border-radius:5px}.command-menu__footer-hint .command-menu__kbd:last-of-type{margin-right:var(--space-1)}@media(max-width:599.98px){.command-menu{padding-top:var(--space-6)}.command-menu__footer{display:none}}@media(hover:none){.command-menu__option-hint{display:none}}.global-search__trigger{display:flex;align-items:center;gap:var(--space-3);width:100%;min-width:0;height:40px;padding:0 var(--space-2) 0 var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--color-text-muted);text-align:left;cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}@media(hover:hover)and (pointer:fine){.global-search__trigger:hover{background:var(--color-surface-sunken);border-color:var(--color-border-strong)}}.global-search__trigger:active{transform:scale(.985)}.global-search__trigger:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-md)}.global-search__trigger-icon{flex-shrink:0}.global-search__trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search__shortcut{flex-shrink:0;padding:.125rem .375rem;font:inherit;font-size:var(--text-xs);line-height:1.25;color:var(--color-text-secondary);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:5px}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:var(--z-index-topbar)}.topbar__icon-button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.topbar__icon-button:hover{color:var(--color-text);background:var(--color-surface-sunken)}.topbar__alerts-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:var(--weight-semibold);line-height:1;color:var(--color-text-inverse);background:var(--color-critical);border:2px solid var(--color-surface);border-radius:var(--radius-full)}.topbar__brand{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-right:var(--space-2)}.topbar__logo-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;overflow:hidden;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.topbar__logo-image{width:100%;height:100%;object-fit:cover;transform:scale(1.3)}.topbar__brand-name{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--color-text);white-space:nowrap}.topbar__search{max-width:22rem}.topbar__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.topbar__theme-switcher{display:inline-flex;align-items:center;gap:2px;padding:2px;flex-shrink:0;background:var(--color-surface-sunken);border-radius:var(--radius-md)}.topbar__theme-option{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.topbar__theme-option:hover{color:var(--color-text)}.topbar__theme-option--active{color:var(--color-accent);background:var(--color-surface);box-shadow:var(--shadow-sm)}.topbar__theme-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}@media(max-width:599.98px){.topbar__theme-switcher{display:none}}.topbar__menu{position:relative}.topbar__user{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.topbar__user:hover{background:var(--color-surface-sunken)}.topbar__user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:14rem;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-index-dropdown)}.topbar__dropdown-identity{display:flex;flex-direction:column;gap:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.topbar__dropdown-name{font-size:var(--text-sm);font-weight:var(--weight-medium)}.topbar__dropdown-email{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:599.98px){.topbar__search,.topbar__user-name{display:none}}.notifications-panel{display:flex;flex-direction:column;width:20rem}.notifications-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-1)}.notifications-panel__title{font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.notifications-panel__mark-all{flex-shrink:0;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-accent);background:transparent;border:none;padding:0;cursor:pointer}.notifications-panel__mark-all:hover{text-decoration:underline}.notifications-panel__mark-all:disabled{color:var(--color-text-muted);cursor:default;text-decoration:none}.notifications-panel__body{display:flex;flex-direction:column;max-height:20rem;overflow-y:auto}.notifications-panel__empty{padding:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.notifications-panel__item{display:flex;flex-direction:column;gap:2px;text-decoration:none}.notifications-panel__item-title{font-size:var(--text-sm);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notifications-panel__item-time{font-size:var(--text-xs);color:var(--color-text-muted)}.notifications-panel__footer{border-top:1px solid var(--color-border);margin-top:var(--space-1);padding-top:var(--space-1)}.notifications-panel__footer-link{display:block;font-weight:var(--weight-medium);color:var(--color-accent);text-decoration:none}.layout{min-height:100vh}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-text-inverse);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-md);z-index:var(--z-index-toast);text-decoration:none;transition:top var(--duration-fast) var(--ease-out)}.skip-link:focus{top:var(--space-4);outline:2px solid var(--color-focus-ring);outline-offset:2px}.layout__main{padding-top:var(--topbar-height);margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--duration-normal) var(--ease-out)}.layout__main--sidebar-collapsed{margin-left:var(--sidebar-width)}@media(min-width:900px){.layout__main--sidebar-collapsed{margin-left:var(--sidebar-width-collapsed)}}@media(max-width:899.98px){.layout__main,.layout__main--sidebar-collapsed{margin-left:0}}.toast-viewport{position:fixed;bottom:var(--space-6, 1.5rem);right:var(--space-6, 1.5rem);z-index:var(--z-index-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);min-width:18rem;max-width:28rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--color-text);pointer-events:auto;animation:toast-in .16s ease-out}.toast--success{border-left:3px solid var(--color-success)}.toast--error{border-left:3px solid var(--color-critical)}.toast__icon{flex-shrink:0;width:1.25rem;height:1.25rem}.toast--success .toast__icon{color:var(--color-success)}.toast--error .toast__icon{color:var(--color-critical)}.toast__message{flex:1}.toast__close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-text-muted);cursor:pointer}.toast__close:hover{background:var(--color-surface-sunken);color:var(--color-text)}.toast__close:focus-visible{outline:2px solid var(--color-accent, currentColor);outline-offset:1px}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.login__image-panel{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#fff}.login__image{width:100%;height:100%;object-fit:contain;object-position:center}.login__form-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--color-bg)}.login__panel{max-width:26rem;width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);text-align:center;transition:box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.login__panel:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.login__title{font-size:var(--text-xl)}.login__subtitle{color:var(--color-text-secondary);font-size:var(--text-sm)}.login__error{background:var(--color-critical-subtle);color:var(--color-critical);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-sm)}.login__button{margin-top:var(--space-3);display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:var(--weight-medium);color:var(--color-text-inverse);background:var(--color-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);text-decoration:none;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.login__button:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login__button:active{transform:translateY(0)}.login__divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.login__divider:before,.login__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.login__divider span{white-space:nowrap}.login__toggle{background:none;border:none;color:var(--color-accent);font:inherit;font-size:var(--text-sm);padding:var(--space-2) 0;cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.login__toggle:hover{color:var(--color-accent-hover);text-decoration:underline}.login__local-form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.login__field{display:flex;flex-direction:column;gap:var(--space-1);text-align:left}.login__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.login__input{font:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.login__input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.login__input:disabled{opacity:.6;cursor:not-allowed}.login__button--local{margin-top:var(--space-2)}.login__info{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-2);text-align:center}@media(max-width:899.98px){.login{grid-template-columns:1fr;grid-template-rows:minmax(160px,32vh) 1fr}}@media(max-width:479.98px){.login{grid-template-rows:minmax(120px,24vh) 1fr}.login__form-panel{padding:var(--space-4)}}.login__legal-links{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.login__legal-link{color:var(--color-text-secondary);font-size:var(--text-xs);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.login__legal-link:hover{color:var(--color-accent);text-decoration:underline}.auth-status{max-width:32rem;margin:var(--space-8) auto;padding:var(--space-4);text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.auth-status--critical{background:var(--color-critical-subtle);color:var(--color-critical);border-radius:var(--radius-md)}.auth-status__muted{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-1)}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:50vh;padding:var(--space-8) var(--space-4)}.error-boundary__inner{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:500px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-lg)}.error-boundary__icon{color:var(--color-warning);margin-bottom:var(--space-4);opacity:.9}.error-boundary__title{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:0 0 var(--space-2);color:var(--color-text)}.error-boundary__message{color:var(--color-text-muted);margin:0 0 var(--space-6);line-height:1.6}.error-boundary__details{width:100%;margin-bottom:var(--space-6);text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-sunken)}.error-boundary__details summary{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);cursor:pointer;list-style:none}.error-boundary__details summary::-webkit-details-marker{display:none}.error-boundary__details summary:before{content:"▶";display:inline-block;margin-right:var(--space-2);font-size:var(--text-xs);transition:transform var(--duration-fast)}.error-boundary__details[open] summary:before{transform:rotate(90deg)}.error-boundary__stack{padding:0 var(--space-4) var(--space-4);margin:0;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow:auto}.error-boundary__actions{display:flex;flex-direction:column;gap:var(--space-3);width:100%}@media(min-width:480px){.error-boundary__actions{flex-direction:row;justify-content:center}}.skeleton{position:relative;overflow:hidden;background:var(--color-surface-sunken);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 12%),transparent);animation:skeleton-shimmer 2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton--text{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton--text:after{display:none}.skeleton__line{height:1rem;border-radius:var(--radius-sm);background:var(--color-surface-sunken);position:relative;overflow:hidden}.skeleton__line:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 12%),transparent);animation:skeleton-shimmer 2s ease-in-out infinite}.skeleton--2-lines .skeleton__line:nth-child(2),.skeleton--3-lines .skeleton__line:nth-child(2),.skeleton--4-lines .skeleton__line:nth-child(2){animation-delay:.15s}.skeleton--3-lines .skeleton__line:nth-child(3),.skeleton--4-lines .skeleton__line:nth-child(3){animation-delay:.3s}.skeleton--4-lines .skeleton__line:nth-child(4){animation-delay:.45s}.skeleton--circular{border-radius:50%}.skeleton--circular:after{border-radius:50%}.skeleton--rectangular{border-radius:var(--radius-md)}.skeleton--rectangular:after{border-radius:var(--radius-md)}.skeleton--card{border-radius:var(--radius-lg)}.skeleton--card:after{border-radius:var(--radius-lg)}.skeleton--table-row{border-radius:0}.skeleton--table-row:after{border-radius:0}@media(prefers-reduced-motion:reduce){.skeleton:after,.skeleton__line:after{animation:none;background:transparent}.skeleton{opacity:.5}}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 1.875rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 1rem;--radius-full: 999px;--shadow-sm: 0 1px 2px rgb(15 23 42 / 6%);--shadow-md: 0 4px 12px rgb(15 23 42 / 8%);--shadow-lg: 0 12px 32px rgb(15 23 42 / 12%);--color-scrim: rgb(15 23 42 / 30%);--shadow-overlay: 0 0 0 1px rgb(15 23 42 / 8%), 0 1px 2px rgb(15 23 42 / 6%), 0 8px 16px -4px rgb(15 23 42 / 8%), 0 24px 48px -12px rgb(15 23 42 / 18%), 0 48px 96px -24px rgb(15 23 42 / 22%), inset 0 1px 0 rgb(255 255 255 / 60%);--color-bg: #f7f8fa;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: #f1f2f5;--color-border: #e3e5ea;--color-border-strong: #c9ccd4;--color-text: #14161a;--color-text-secondary: #5a606b;--color-text-muted: #8a909b;--color-text-inverse: #ffffff;--color-accent: #2f5fd8;--color-accent-hover: #2650bb;--color-accent-subtle: #eaf0fd;--color-focus-ring: var(--color-accent);--color-success: #17794a;--color-success-subtle: #e6f4ec;--color-warning: #9a5b00;--color-warning-subtle: #fdf1de;--color-critical: #b3261e;--color-critical-subtle: #fdeceb;--color-info: #1f5f7a;--color-info-subtle: #e7f2f7;--color-gantt-weekend: color-mix(in srgb, var(--color-info) 12%, transparent);--color-gantt-holiday: color-mix(in srgb, var(--color-warning) 18%, transparent);--color-avatar-1: var(--color-accent);--color-avatar-2: var(--color-success);--color-avatar-3: var(--color-warning);--color-avatar-4: var(--color-critical);--color-avatar-5: var(--color-info);--color-avatar-6: #7c3aed;--color-avatar-7: #db2777;--color-avatar-8: #0891b2;--color-avatar-9: #65a30d;--color-avatar-10: #ea580c;--color-tooltip-bg: rgb(28 30 36 / 88%);--color-tooltip-text: #f5f6f8;--color-tooltip-border: rgb(255 255 255 / 10%);--shadow-tooltip: 0 2px 6px rgb(0 0 0 / 16%), 0 12px 32px rgb(0 0 0 / 28%), inset 0 1px 0 rgb(255 255 255 / 8%);--duration-fast: .12s;--duration-normal: .2s;--ease-out: cubic-bezier(.16, 1, .3, 1);--sidebar-width: 232px;--sidebar-width-collapsed: 60px;--topbar-height: 56px;--z-index-sticky: 50;--z-index-topbar: 100;--z-index-sidebar: 200;--z-index-dropdown: 300;--z-index-drawer: 400;--z-index-modal: 500;--z-index-toast: 600;--z-index-tooltip: 700}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #0f1114;--color-surface: #171a1f;--color-surface-raised: #1e2228;--color-surface-sunken: #101317;--color-border: #2a2f37;--color-border-strong: #3d444f;--color-text: #eceef1;--color-text-secondary: #a5abb6;--color-text-muted: #767d89;--color-text-inverse: #14161a;--color-accent: #7ba1f5;--color-accent-hover: #97b5f8;--color-accent-subtle: #1a2540;--color-success: #64c99a;--color-success-subtle: #12261c;--color-warning: #ffb74d;--color-warning-subtle: #2b2011;--color-critical: #e57373;--color-critical-subtle: #2e1614;--color-info: #79bcd9;--color-info-subtle: #12252d;--color-avatar-6: #a78bfa;--color-avatar-7: #f472b6;--color-avatar-8: #22d3ee;--color-avatar-9: #a3e635;--color-avatar-10: #fb923c;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 4px 12px rgb(0 0 0 / 45%);--shadow-lg: 0 12px 32px rgb(0 0 0 / 50%);--color-scrim: rgb(0 0 0 / 52%);--shadow-overlay: 0 0 0 1px rgb(255 255 255 / 8%), 0 1px 2px rgb(0 0 0 / 40%), 0 8px 16px -4px rgb(0 0 0 / 40%), 0 24px 48px -12px rgb(0 0 0 / 55%), 0 48px 96px -24px rgb(0 0 0 / 60%), inset 0 1px 0 rgb(255 255 255 / 6%)}}:root[data-theme=dark]{--color-bg: #0f1114;--color-surface: #171a1f;--color-surface-raised: #1e2228;--color-surface-sunken: #101317;--color-border: #2a2f37;--color-border-strong: #3d444f;--color-text: #eceef1;--color-text-secondary: #a5abb6;--color-text-muted: #767d89;--color-text-inverse: #14161a;--color-accent: #7ba1f5;--color-accent-hover: #97b5f8;--color-accent-subtle: #1a2540;--color-success: #64c99a;--color-success-subtle: #12261c;--color-warning: #ffb74d;--color-warning-subtle: #2b2011;--color-critical: #e57373;--color-critical-subtle: #2e1614;--color-info: #79bcd9;--color-info-subtle: #12252d;--color-avatar-6: #a78bfa;--color-avatar-7: #f472b6;--color-avatar-8: #22d3ee;--color-avatar-9: #a3e635;--color-avatar-10: #fb923c;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 4px 12px rgb(0 0 0 / 45%);--shadow-lg: 0 12px 32px rgb(0 0 0 / 50%);--color-scrim: rgb(0 0 0 / 52%);--shadow-overlay: 0 0 0 1px rgb(255 255 255 / 8%), 0 1px 2px rgb(0 0 0 / 40%), 0 8px 16px -4px rgb(0 0 0 / 40%), 0 24px 48px -12px rgb(0 0 0 / 55%), 0 48px 96px -24px rgb(0 0 0 / 60%), inset 0 1px 0 rgb(255 255 255 / 6%)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.011em}p{margin:0}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)}
