:root{--color-primary-50:#f0fdf4;--color-primary-100:#dcfce7;--color-primary-200:#bbf7d0;--color-primary-300:#86efac;--color-primary-400:#4ade80;--color-primary-500:#22c55e;--color-primary-600:#16a34a;--color-primary-700:#15803d;--color-primary-800:#166534;--color-primary-900:#14532d;--color-secondary-50:#f9fafb;--color-secondary-100:#f3f4f6;--color-secondary-200:#e5e7eb;--color-secondary-300:#d1d5db;--color-secondary-400:#9ca3af;--color-secondary-500:#6b7280;--color-secondary-600:#4b5563;--color-secondary-700:#374151;--color-secondary-800:#1f2937;--color-secondary-900:#111827;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-success-50:#f0fdf4;--color-success-100:#dcfce7;--color-success-500:#10b981;--color-success-600:#059669;--color-success-700:#047857;--color-warning-50:#fffbeb;--color-warning-100:#fef3c7;--color-warning-500:#f59e0b;--color-warning-600:#d97706;--color-warning-700:#b45309;--color-error-50:#fef2f2;--color-error-100:#fee2e2;--color-error-200:#fecaca;--color-error-500:#ef4444;--color-error-600:#dc2626;--color-error-700:#b91c1c;--color-info-50:#eff6ff;--color-info-100:#dbeafe;--color-info-300:#93c5fd;--color-info-500:#3b82f6;--color-info-600:#2563eb;--color-info-700:#1d4ed8;--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-bg-card:#fff;--color-bg-overlay:#00000080;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-text-inverse:#fff;--color-text-muted:#64748b;--color-border-primary:#e5e7eb;--color-border-secondary:#d1d5db;--color-border-tertiary:#f3f4f6;--color-border-focus:var(--color-primary-500);--color-shadow-sm:#0000000d;--color-shadow-md:#0000001a;--color-shadow-lg:#00000026;--color-shadow-xl:#00000040;--color-focus-ring:#22c55e80;--color-focus-ring-secondary:#6b728080;--color-link-primary:var(--color-primary-500);--color-link-hover:var(--color-primary-600);--color-link-visited:var(--color-primary-700);--color-btn-primary-bg:var(--color-primary-500);--color-btn-primary-hover:var(--color-primary-600);--color-btn-primary-text:#fff;--color-btn-primary-border:var(--color-primary-500);--color-btn-secondary-bg:var(--color-secondary-500);--color-btn-secondary-hover:var(--color-secondary-600);--color-btn-secondary-text:#fff;--color-btn-secondary-border:var(--color-secondary-500);--color-btn-danger-bg:var(--color-error-500);--color-btn-danger-hover:var(--color-error-600);--color-btn-danger-text:#fff;--color-btn-danger-border:var(--color-error-500);--color-btn-success-bg:var(--color-success-500);--color-btn-success-hover:var(--color-success-600);--color-btn-success-text:#fff;--color-btn-success-border:var(--color-success-500);--color-btn-outline-bg:transparent;--color-btn-outline-hover:var(--color-primary-500);--color-btn-outline-text:var(--color-primary-500);--color-btn-outline-border:var(--color-primary-500);--color-btn-ghost-bg:transparent;--color-btn-ghost-hover:var(--color-secondary-100);--color-btn-ghost-text:var(--color-secondary-500);--color-btn-ghost-border:transparent;--color-input-bg:#fff;--color-input-border:var(--color-border-secondary);--color-input-border-focus:var(--color-primary-500);--color-input-text:var(--color-text-primary);--color-input-placeholder:var(--color-text-tertiary);--color-checkbox-bg:var(--color-secondary-100);--color-checkbox-border:var(--color-border-primary);--color-checkbox-checked-bg:var(--color-primary-500);--color-checkbox-checked-border:var(--color-primary-500);--color-status-online:var(--color-success-500);--color-status-offline:var(--color-secondary-400);--color-status-busy:var(--color-warning-500);--color-status-away:var(--color-info-500);--color-role-admin-bg:#dbeafe;--color-role-admin-text:#1e40af;--color-role-user-bg:var(--color-secondary-100);--color-role-user-text:var(--color-secondary-700);--color-role-guest-bg:var(--color-warning-100);--color-role-guest-text:var(--color-warning-700)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-muted{color:var(--color-text-muted)}.text-inverse{color:var(--color-text-inverse)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-card{background-color:var(--color-bg-card)}.border-primary{border-color:var(--color-border-primary)}.border-secondary{border-color:var(--color-border-secondary)}.border-tertiary{border-color:var(--color-border-tertiary)}.focus-ring{outline-offset:2px;box-shadow:0 0 0 2px var(--color-focus-ring);outline:2px solid #0000}.focus-ring-secondary{outline-offset:2px;box-shadow:0 0 0 2px var(--color-focus-ring-secondary);outline:2px solid #0000}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:var(--color-link-primary);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--color-link-hover)}body{min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{background-color:var(--color-secondary-800);color:var(--color-text-inverse);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:var(--color-primary-500)}.spinner{display:inline-block;position:relative}.spinner__circle{border:2px solid var(--color-border-tertiary);border-top:2px solid var(--color-primary-500);border-radius:50%;animation:1s linear infinite spin}.spinner--small .spinner__circle{width:16px;height:16px}.spinner--medium .spinner__circle{width:24px;height:24px}.spinner--large .spinner__circle{width:32px;height:32px}@keyframes spin{to{transform:rotate(360deg)}}.btn{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex;position:relative;overflow:hidden}.btn:focus{outline-offset:2px;box-shadow:0 0 0 2px var(--color-focus-ring);outline:2px solid #0000}.btn--primary{background-color:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border-color:var(--color-btn-primary-border)}.btn--primary:hover:not(.btn--disabled){background-color:var(--color-btn-primary-hover);border-color:var(--color-btn-primary-hover)}.btn--secondary{background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-color:var(--color-btn-secondary-border)}.btn--secondary:hover:not(.btn--disabled){background-color:var(--color-btn-secondary-hover);border-color:var(--color-btn-secondary-hover)}.btn--danger{background-color:var(--color-btn-danger-bg);color:var(--color-btn-danger-text);border-color:var(--color-btn-danger-border)}.btn--danger:hover:not(.btn--disabled){background-color:var(--color-btn-danger-hover);border-color:var(--color-btn-danger-hover)}.btn--success{background-color:var(--color-btn-success-bg);color:var(--color-btn-success-text);border-color:var(--color-btn-success-border)}.btn--success:hover:not(.btn--disabled){background-color:var(--color-btn-success-hover);border-color:var(--color-btn-success-hover)}.btn--outline{background-color:var(--color-btn-outline-bg);color:var(--color-btn-outline-text);border-color:var(--color-btn-outline-border)}.btn--outline:hover:not(.btn--disabled){background-color:var(--color-btn-outline-hover);color:var(--color-btn-primary-text)}.btn--ghost{background-color:var(--color-btn-ghost-bg);color:var(--color-btn-ghost-text);border-color:var(--color-btn-ghost-border)}.btn--ghost:hover:not(.btn--disabled){background-color:var(--color-btn-ghost-hover);color:var(--color-text-primary)}.btn--small{padding:.5rem 1rem;font-size:.875rem}.btn--medium{padding:.75rem 1.5rem;font-size:1rem}.btn--large{padding:1rem 2rem;font-size:1.125rem}.btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn__spinner-icon{width:1rem;height:1rem;animation:1s linear infinite spin}.btn__spinner-circle{animation:1.5s ease-in-out infinite dash}.btn__content--loading{opacity:0}.btn__content{align-items:center;gap:.5rem;transition:opacity .2s ease-in-out}.btn__content svg{vertical-align:middle;flex-shrink:0}.btn--icon{aspect-ratio:1;padding:.75rem}.btn--icon.btn--small{padding:.5rem}.btn--icon.btn--large{padding:1rem}.btn__icon{justify-content:center;align-items:center;display:flex}.btn-group{border-radius:.375rem;display:inline-flex;overflow:hidden}.btn-group .btn{border-right-width:0;border-radius:0}.btn-group .btn:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.btn-group .btn:last-child{border-right-width:1px;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.btn-group .btn:only-child{border-right-width:1px;border-radius:.375rem}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.nav-dropdown-wrapper{margin:0 8px;position:relative}.nav-dropdown-button{width:100%;color:var(--color-text-secondary);cursor:default;text-align:left;background:0 0;border:none;border-radius:6px;padding:8px 12px;text-decoration:none;transition:all .2s;display:block;position:relative;overflow:hidden}.nav-dropdown-button:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);transform:translate(2px)}.nav-dropdown-button:focus{box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.nav-dropdown-button.active{background:var(--color-primary-50);color:var(--color-primary-600);font-weight:500}.nav-dropdown-button.active:before{content:"";background:var(--color-primary-500);border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.nav-dropdown-button.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nav-dropdown-content{align-items:center;gap:12px;min-height:20px;display:flex}.nav-dropdown-icon{width:20px;height:20px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-dropdown-text{flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.nav-dropdown-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;line-height:1.2;overflow:hidden}.nav-dropdown-badge{background:var(--color-primary-500);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:2px 6px;font-size:11px;font-weight:600;line-height:1;display:flex}.nav-dropdown-chevron{width:16px;height:16px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:flex}.nav-dropdown-button[aria-expanded=true] .nav-dropdown-chevron{transform:rotate(90deg)}.nav-dropdown-menu{opacity:1;border-left:2px solid var(--color-border-secondary);max-height:500px;margin-top:4px;margin-left:20px;padding-left:12px;overflow:visible}.nav-dropdown-menu.expanded{opacity:1;max-height:500px}.nav-dropdown-items{flex-direction:column;gap:8px;padding:4px 0;display:flex}.nav-dropdown-item{margin:0}.nav-dropdown-tooltip{z-index:1000;pointer-events:none;opacity:0;margin-left:8px;animation:.2s forwards tooltip-fade-in;position:absolute;top:50%;left:100%;transform:translateY(-50%)}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(-50%)translate(-4px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.nav-dropdown-button:before{content:"";background:var(--color-primary-500);border-radius:0 2px 2px 0;width:0;transition:width .2s;position:absolute;top:0;bottom:0;left:0}.nav-dropdown-button:hover:before,.nav-dropdown-button.active:before{width:3px}.nav-dropdown-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.nav-dropdown-item .nav-dropdown-menu{border-left-color:var(--color-border-tertiary);margin-left:16px}.nav-dropdown-chevron{transition:transform .2s}@media (prefers-contrast:high){.nav-dropdown-button{border:1px solid #0000}.nav-dropdown-button:hover,.nav-dropdown-button.active{border-color:var(--color-text-primary)}.nav-dropdown-badge{border:1px solid var(--color-text-primary)}.nav-dropdown-menu{border-left-width:3px}.tooltip-content{border-width:2px}}@media (prefers-reduced-motion:reduce){.nav-dropdown-button,.nav-dropdown-menu,.nav-dropdown-chevron,.nav-dropdown-button:before{transition:none}.nav-dropdown-tooltip{opacity:1;animation:none}.nav-dropdown-button[aria-expanded=true] .nav-dropdown-chevron{transform:none}}@media print{.nav-dropdown-tooltip{display:none}.nav-dropdown-menu{opacity:1;max-height:none}}.nav-link-wrapper{margin:0 8px;position:relative}.nav-link{width:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;text-decoration:none;transition:all .2s;display:block;position:relative;overflow:hidden}.nav-link:hover{background:var(--color-bg-secondary);color:var(--color-text-primary);transform:translate(2px)}.nav-link:focus{box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.nav-link.active{background:var(--color-primary-50);color:var(--color-primary-600);font-weight:500}.nav-link.active:before{content:"";background:var(--color-primary-500);border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.nav-link.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.nav-link-content{align-items:center;gap:12px;min-height:20px;display:flex}.nav-link-icon{width:20px;height:20px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-link-text{flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.nav-link-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;line-height:1.2;overflow:hidden}.nav-link-badge{background:var(--color-primary-500);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:2px 6px;font-size:11px;font-weight:600;line-height:1;display:flex}.nav-link.active .nav-link-badge{background:var(--color-primary-600)}.nav-link-tooltip{z-index:1000;pointer-events:none;opacity:0;margin-left:8px;animation:.2s forwards tooltip-fade-in;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.tooltip-content{background:var(--color-bg-card);border:1px solid var(--color-border-primary);white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative;box-shadow:0 4px 12px #00000026}.tooltip-text{color:var(--color-text-primary);font-size:14px;font-weight:500}.tooltip-badge{background:var(--color-primary-500);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:2px 6px;font-size:11px;font-weight:600;line-height:1;display:flex}.tooltip-arrow{border-top:4px solid #0000;border-bottom:4px solid #0000;border-right:4px solid var(--color-border-primary);width:0;height:0;position:absolute;top:50%;left:-4px;transform:translateY(-50%)}.tooltip-arrow:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-right:4px solid var(--color-bg-card);width:0;height:0;position:absolute;top:-4px;left:1px}.nav-link-wrapper:has(.nav-link){transition:all .2s}.nav-link:before{content:"";background:var(--color-primary-500);border-radius:0 2px 2px 0;width:0;transition:width .2s;position:absolute;top:0;bottom:0;left:0}.nav-link:hover:before,.nav-link.active:before{width:3px}.nav-link:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media (prefers-contrast:high){.nav-link{border:1px solid #0000}.nav-link:hover,.nav-link.active{border-color:var(--color-text-primary)}.nav-link-badge{border:1px solid var(--color-text-primary)}.tooltip-content{border-width:2px}}@media (prefers-reduced-motion:reduce){.nav-link,.nav-link-wrapper,.nav-link:before{transition:none}.nav-link-tooltip{opacity:1;animation:none}}@media print{.nav-link-tooltip{display:none}}.app-sidebar{background:var(--color-bg-primary);border-right:1px solid var(--color-border-primary);z-index:1000;flex-direction:column;width:230px;height:100vh;transition:width .2s,transform .2s;display:flex;position:fixed;top:0;left:0;overflow:hidden;box-shadow:2px 0 8px #0000001a}.app-sidebar.collapsed{width:50px}.app-sidebar.mobile-open{transform:translate(0)}@media (max-width:767px){.app-sidebar{width:230px;transition:transform .3s;transform:translate(-100%)}.app-sidebar.mobile-open{transform:translate(0)}}.sidebar-mobile-overlay{background:var(--color-bg-overlay);z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:100vw;height:100vh;position:fixed;top:0;left:0}.sidebar-mobile-toggle{z-index:1001;color:var(--color-text-primary);background:#fff;transition:all .2s;position:fixed;top:16px;left:16px}.sidebar-mobile-toggle:hover{background:var(--color-bg-secondary);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.sidebar-mobile-toggle:active{transform:translateY(0)}.sidebar-header{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-primary);flex-shrink:0;justify-content:space-between;align-items:center;min-height:64px;padding:16px;display:flex}.sidebar-logo{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.logo-container{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo-image{object-fit:contain;border-radius:4px;width:100%;height:100%}.logo-fallback{background:var(--color-primary-500);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo-text{color:#fff;letter-spacing:.5px;font-size:14px;font-weight:600}.logo-text-container{flex:1;min-width:0;transition:opacity .2s}.logo-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:600;line-height:1.2;overflow:hidden}.logo-subtitle{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;line-height:1.2;overflow:hidden}.logo-loading{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo-skeleton{background:linear-gradient(90deg,var(--color-secondary-200)25%,var(--color-secondary-100)50%,var(--color-secondary-200)75%);background-size:200% 100%;border-radius:4px;width:24px;height:24px;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.sidebar-toggle{color:var(--color-text-primary);background:#fff;border-radius:6px;transition:all .2s}.sidebar-toggle:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.sidebar-toggle:active{transform:scale(.95)}.sidebar-nav{flex:1;padding:8px 0;overflow:hidden auto}.nav-section{margin-bottom:16px}.nav-section:last-child{margin-bottom:0}.nav-items{flex-direction:column;gap:5px;display:flex}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--color-border-primary)}.sidebar-bottom{border-top:1px solid var(--color-border-primary);background:var(--color-bg-primary);flex-shrink:0;padding:8px 0}.app-sidebar.collapsed .logo-text-container{opacity:0;pointer-events:none}.app-sidebar.collapsed .sidebar-header{justify-content:center;padding:16px 8px}.app-sidebar.collapsed .sidebar-toggle{top:16px;right:8px;transform:none}.app-sidebar:focus-within{outline:none}@media (prefers-reduced-motion:reduce){.app-sidebar,.sidebar-toggle,.logo-text-container,.sidebar-mobile-toggle{transition:none}.logo-skeleton{animation:none}}@media (prefers-contrast:high){.app-sidebar{border-right-width:2px}.sidebar-header{border-bottom-width:2px}.sidebar-bottom{border-top-width:2px}.sidebar-toggle{border-width:2px}}@media print{.app-sidebar,.sidebar-mobile-toggle,.sidebar-mobile-overlay{display:none}}.confirmation-modal-overlay{background-color:var(--color-bg-overlay);z-index:1001;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirmation-modal{background-color:var(--color-bg-primary);border-radius:.5rem;flex-direction:column;width:100%;max-width:24rem;display:flex;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.confirmation-modal-header{align-items:center;gap:.75rem;padding:1.5rem 1.5rem 0;display:flex}.confirmation-modal-icon{color:var(--color-warning-500);flex-shrink:0}.confirmation-modal-title{color:var(--color-text-primary);flex:1;margin:0;font-size:1.125rem;font-weight:600}.confirmation-modal-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.confirmation-modal-close:hover:not(:disabled){background-color:var(--color-secondary-100);color:var(--color-text-primary)}.confirmation-modal-close:disabled{opacity:.5;cursor:not-allowed}.confirmation-modal-body{padding:1rem 1.5rem}.confirmation-modal-message{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.5}.confirmation-modal-actions{justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.5rem;display:flex}.confirmation-cancel-button,.confirmation-confirm-button{min-width:5rem}@media (max-width:640px){.confirmation-modal{max-width:100%;margin:.5rem}.confirmation-modal-header{padding:1rem 1rem 0}.confirmation-modal-body{padding:.75rem 1rem}.confirmation-modal-actions{flex-direction:column-reverse;gap:.5rem;padding:0 1rem 1rem}.confirmation-cancel-button,.confirmation-confirm-button{width:100%;min-width:auto}}.confirmation-modal-overlay{animation:.2s ease-out fadeIn}.confirmation-modal{animation:.2s ease-out slideIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-1rem)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.confirmation-modal:focus-within{outline:none}@media (prefers-contrast:high){.confirmation-modal{border:2px solid var(--color-text-primary)}}@media (prefers-reduced-motion:reduce){.confirmation-modal-overlay,.confirmation-modal{animation:none}.confirmation-modal-close{transition:none}}.app-wrapper{background-color:var(--color-bg-secondary);min-height:100vh;display:flex}.app-layout{flex-direction:column;flex:1;min-height:100vh;margin-left:230px;transition:margin-left .2s;display:flex}.app-wrapper:has(.app-sidebar.collapsed) .app-layout{margin-left:50px}@media (max-width:767px){.app-layout{margin-left:0}.app-header{padding-left:60px}}.app-header{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);box-shadow:0 1px 3px 0 var(--color-shadow-sm);z-index:50;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;margin:0 auto;padding:1rem 2rem;display:flex}.header-left{align-items:center;display:flex}.app-title{color:var(--color-text-primary);margin:0;font-size:1.5rem;font-weight:700}.header-right{align-items:center;gap:1rem;display:flex}.user-info{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.user-profile-section{align-items:center;gap:.75rem;display:flex}.user-profile-picture{object-fit:cover;border:2px solid var(--color-border-primary);border-radius:50%;flex-shrink:0;width:40px;height:40px}.user-profile-picture-placeholder{background-color:var(--color-bg-tertiary);width:40px;height:40px;color:var(--color-text-secondary);border:2px solid var(--color-border-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-details{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.user-name{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.user-role{color:var(--color-text-tertiary);text-transform:capitalize;font-size:.75rem}.app-nav{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary)}.nav-content{max-width:1200px;margin:0 auto;padding:.75rem 2rem}.nav-link{text-decoration:none}.app-main{flex:1;padding:1rem}.main-content{width:100%;margin:0 auto}.app-footer{background-color:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);margin-top:auto}.footer-content{text-align:center;max-width:1200px;margin:0 auto;padding:1rem 2rem}.footer-content p{color:var(--color-text-muted);margin:0;font-size:.875rem}@media (max-width:768px){.header-content{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.header-right{justify-content:space-between}.user-profile-section{gap:.5rem}.user-profile-picture,.user-profile-picture-placeholder{width:32px;height:32px}.user-profile-picture-placeholder svg{width:16px;height:16px}.user-details{align-items:flex-end}.nav-content{padding:.75rem 1rem}.app-main,.footer-content{padding:1rem}}.session-modal-overlay{z-index:9999;background-color:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.session-modal{background:var(--color-bg-primary);border-radius:12px;width:100%;max-width:400px;max-height:90vh;animation:.3s ease-out modalSlideIn;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.session-modal-header{border-bottom:1px solid var(--color-border-primary);align-items:center;gap:12px;padding:24px 24px 16px;display:flex}.session-modal-icon{background-color:var(--color-warning-100);width:48px;height:48px;color:var(--color-warning-500);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.session-modal-title{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:600}.session-modal-body{padding:16px 24px 24px}.session-modal-message{color:var(--color-text-secondary);margin:0;font-size:16px;line-height:1.5}.session-modal-actions{justify-content:flex-end;gap:12px;padding:0 24px 24px;display:flex}.session-modal-button{min-width:80px}@media (prefers-color-scheme:dark){.session-modal{background:var(--color-secondary-800);color:var(--color-text-inverse)}.session-modal-header{border-bottom-color:var(--color-secondary-700)}.session-modal-title{color:var(--color-text-inverse)}.session-modal-message{color:var(--color-secondary-300)}.session-modal-icon{background-color:var(--color-warning-700);color:var(--color-warning-500)}}@media (max-width:480px){.session-modal-overlay{padding:16px}.session-modal{max-width:100%}.session-modal-header,.session-modal-body,.session-modal-actions{padding-left:20px;padding-right:20px}.session-modal-title{font-size:18px}.session-modal-message{font-size:14px}}.app{width:100%;min-height:100vh}.auth-loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.auth-loading p{color:var(--color-text-secondary);font-size:1rem}.suspense-fallback{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.suspense-fallback p{color:var(--color-text-secondary);font-size:1rem}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.not-found h1{color:var(--color-text-primary);margin-bottom:1rem}.not-found p{color:var(--color-text-secondary)}
