[data-theme=dark],:root{--color-bg-primary:#0f1117;--color-bg-secondary:#1a1d27;--color-bg-surface:#232635;--color-border:#2e3245;--color-text-primary:#e8eaf0;--color-text-secondary:#9da3b8;--color-text-muted:#7a8099;--color-accent:#4f8ef7;--color-accent-hover:#3a78e8;--color-accent-text:#0f1117;--color-success:#3ecf8e;--color-warning:#f5a623;--color-error:#f25757}[data-theme=light]{--color-bg-primary:#f5f6fa;--color-bg-secondary:#fff;--color-bg-surface:#eef0f6;--color-border:#d1d5e0;--color-text-primary:#1a1d27;--color-text-secondary:#4a5068;--color-text-muted:#5a6070;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-text:#fff;--color-success:#16a34a;--color-warning:#d97706;--color-error:#dc2626}[data-theme=colorblind-bp]{--color-accent:#07b;--color-accent-text:#fff;--color-success:#e73;--color-error:#c31;--color-warning:#098}[data-theme=colorblind-hc]{--color-bg-primary:#000;--color-bg-secondary:#1a1a1a;--color-bg-surface:#262626;--color-border:#fff;--color-text-primary:#fff;--color-text-secondary:#ff0;--color-text-muted:silver;--color-accent:#0ff;--color-accent-hover:#0cc;--color-accent-text:#000;--color-success:#0f0;--color-warning:#ff0;--color-error:#f44}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:1rem;font-weight:400;line-height:1.5}#root{flex-direction:column;min-height:100dvh;display:flex}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{cursor:pointer;font-family:inherit}img,svg{max-width:100%;display:block}.header{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);z-index:100;position:sticky;top:0}.header__inner{align-items:center;gap:1rem;width:100%;max-width:1280px;height:3.5rem;margin:0 auto;padding:0 1rem;display:flex}.header__logo{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.header__logo-text{color:var(--color-accent);letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.header__nav{flex:1;align-items:center;gap:.25rem;display:none}@media (width>=768px){.header__nav{display:flex}}.header__nav-link{color:var(--color-text-secondary);border-radius:6px;padding:.4rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.header__nav-link:hover,.header__nav-link--active{background-color:var(--color-bg-surface);color:var(--color-text-primary)}.header__actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.header__icon-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0;border-radius:6px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1rem;transition:background .2s,color .2s;display:flex}.header__icon-btn:hover{background-color:var(--color-bg-surface);color:var(--color-text-primary)}.header__icon-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.header__theme-menu,.header__user-menu{position:relative}.header__dropdown{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);z-index:200;border-radius:8px;min-width:12rem;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 24px #0000004d}.header__dropdown-item{text-align:left;width:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;transition:background .15s;display:block}.header__dropdown-item:hover{background-color:var(--color-bg-surface)}.header__dropdown-item--active{background-color:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent)}.header__dropdown-item--danger{color:var(--color-error)}.header__dropdown-item--danger:hover{background-color:color-mix(in srgb, var(--color-error) 10%, transparent)}.header__dropdown-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.header__user-btn{border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.875rem;transition:background .2s;display:flex}.header__user-btn:hover{background-color:var(--color-bg-surface)}.header__user-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.header__user-avatar{background-color:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;display:flex}.header__user-name{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;display:none;overflow:hidden}@media (width>=480px){.header__user-name{display:block}}.header__auth-links{align-items:center;gap:.5rem;display:flex}.header__auth-link{color:var(--color-text-secondary);border-radius:6px;padding:.4rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.header__auth-link:hover{color:var(--color-text-primary)}.header__auth-link--primary{background-color:var(--color-accent);color:#fff}.header__auth-link--primary:hover{background-color:var(--color-accent-hover);color:#fff}.impersonation-banner{z-index:1000;background-color:var(--color-error);color:#fff;justify-content:center;align-items:center;gap:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex;position:sticky;top:0}.impersonation-banner__text{text-align:center;flex:1}.impersonation-banner__exit{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #fff6;border-radius:4px;padding:.25rem .75rem;font-size:.875rem;font-weight:600;transition:background .2s}.impersonation-banner__exit:hover{background:#ffffff4d}.impersonation-banner__exit:focus-visible{outline-offset:2px;outline:2px solid #fff}.layout{flex-direction:column;min-height:100dvh;display:flex}.layout__main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:1rem}@media (width>=768px){.layout__main{padding:1.5rem 2rem}}
