:root{--bg-base:#f6f7f8;--surface-glass:#ffffff8c;--surface-glass-strong:#ffffffbf;--glass-border:#ffffffa6;--hairline:#33333312;--hairline-soft:#3333330f;--shadow-color:#33333314;--shadow-strong:#3333;--text-primary:#333;--text-secondary:#333333b3;--text-muted:#33333373;--text-faint:#33333359;--accent:#c5923b;--accent-strong:#a87c30;--accent-contrast:#fff;--accent-hover-bg:linear-gradient(135deg, #c5923b2e, #c5923b0f);--accent-ring:#c5923b38;--accent-inset:#c5923b40;--nav-icon-bg:linear-gradient(135deg, #c5923b29, #3333330f);--input-bg:#ffffffbf;--input-border:#33333324;--status-ok:#2e9e5b;--status-warn:#d99a2b;--status-error:#d64545;--error-text:#b23a3a;--error-bg:#d6454517;--error-border:#d6454540;--hint-text:#b8862f;--sidebar-bg:#fff;--chip-bg:#ffffff80;--toggle-bg:#ffffffa6;--toggle-border:#ffffffa6;--scrim-bg:#33333359;--grid-dot:#3333331a;--tooltip-bg:#333;--theme-fade:background-color .2s ease, color .2s ease, border-color .2s ease;--sidebar-width:264px}[data-theme=dark]{--bg-base:#202124;--surface-glass:#2a2b2ea6;--surface-glass-strong:#2a2b2ed9;--glass-border:#ffffff17;--hairline:#ffffff17;--hairline-soft:#ffffff12;--shadow-color:#0006;--shadow-strong:#0000008c;--text-primary:#f6f7f8;--text-secondary:#f6f7f8a8;--text-muted:#f6f7f873;--text-faint:#f6f7f859;--accent:#d3a34f;--accent-strong:#b98d3f;--accent-contrast:#1c1c1e;--accent-hover-bg:linear-gradient(135deg, #d3a34f33, #d3a34f12);--accent-ring:#d3a34f47;--accent-inset:#d3a34f59;--nav-icon-bg:linear-gradient(135deg, #d3a34f33, #ffffff0d);--input-bg:#ffffff12;--input-border:#ffffff26;--status-ok:#4cc27e;--status-warn:#e5b45a;--status-error:#e86969;--error-text:#e86969;--error-bg:#e869691f;--error-border:#e869694d;--hint-text:#d3a34f;--sidebar-bg:#242528;--chip-bg:#ffffff0d;--toggle-bg:#ffffff12;--toggle-border:#ffffff1f;--scrim-bg:#0000008c;--grid-dot:#ffffff12;--tooltip-bg:#4a4b4f}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{background:var(--bg-base);color:var(--text-primary);transition:var(--theme-fade);margin:0;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.6}.layout{min-height:100vh}.ambient{z-index:-1;pointer-events:none;background-image:radial-gradient(circle, var(--grid-dot) 1px, transparent 1px);background-size:26px 26px;position:fixed;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(90% 70% at 50% 38%,#000 0%,#0000 100%);mask-image:radial-gradient(90% 70% at 50% 38%,#000 0%,#0000 100%)}.hub{max-width:40rem;padding:4rem 1.5rem 3rem calc(var(--sidebar-width) + 1.5rem);text-align:center;margin:0 auto;transition:padding .25s cubic-bezier(.22,1,.36,1)}[data-sidebar-collapsed="1"] .hub{padding-left:calc(92px + 1.5rem)}.glass{background:var(--surface-glass);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--glass-border);box-shadow:0 8px 32px var(--shadow-color), inset 0 1px 0 var(--glass-border)}.sidebar{z-index:100;width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--hairline);transition:width .25s cubic-bezier(.22, 1, .36, 1), var(--theme-fade);flex-direction:column;gap:1rem;padding:1.25rem 1rem;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:visible}.sidebar.collapsed{width:92px;padding-left:.6rem;padding-right:.6rem}.sidebar.collapsed .sidebar-header{justify-content:center;gap:.45rem}.sidebar-header{justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.sidebar-brand{flex:1;justify-content:center;min-width:0;display:flex}.brand-collapsed{border-radius:.5rem;width:32px;height:32px;display:none}.sidebar.collapsed .brand-expanded{display:none}.sidebar.collapsed .brand-collapsed{display:block}.collapse-toggle{z-index:120;border:1px solid var(--hairline);background:var(--sidebar-bg);width:28px;height:28px;color:var(--text-muted);cursor:pointer;opacity:0;box-shadow:0 2px 12px var(--shadow-color);border-radius:50%;place-items:center;transition:opacity .2s,color .2s,border-color .2s;display:grid;position:absolute;top:50%;right:-14px;translate:0 -50%}.collapse-toggle svg{width:.85rem;height:.85rem;transition:transform .25s cubic-bezier(.22,1,.36,1)}.sidebar:hover .collapse-toggle,.collapse-toggle:focus-visible{opacity:1}.collapse-toggle:hover{color:var(--accent);border-color:var(--accent)}.sidebar.collapsed .collapse-toggle svg{transform:rotate(180deg)}.sidebar-brand{border-bottom:1px solid var(--hairline-soft);justify-content:center;padding:.25rem 0 1rem;display:flex}.sidebar-brand img{object-fit:contain;max-width:9.5rem;max-height:4.5rem}.nav-section{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:.75rem .75rem .5rem;font-size:.7rem;font-weight:600}.sidebar nav ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.sidebar nav a{color:var(--text-primary);border-radius:.75rem;align-items:center;gap:.85rem;padding:.7rem .9rem;font-weight:500;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;display:flex;position:relative}.nav-icon{background:var(--nav-icon-bg);border-radius:.55rem;place-items:center;width:1.9rem;height:1.9rem;transition:background .2s,color .2s;display:grid}.nav-icon svg{width:1.15rem;height:1.15rem}.external-icon{opacity:0;width:.8rem;height:.8rem;color:var(--text-muted);margin-left:auto;transition:opacity .2s,transform .2s;transform:translate(-2px,2px)}.sidebar nav a:hover,.sidebar nav a:focus-visible{background:var(--accent-hover-bg);box-shadow:inset 0 0 0 1px var(--accent-inset);outline:none}.sidebar nav a:hover .nav-icon,.sidebar nav a:focus-visible .nav-icon{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:var(--accent-contrast)}.sidebar nav a:hover .external-icon,.sidebar nav a:focus-visible .external-icon{opacity:1;transform:translate(0)}.sidebar nav a:before{content:"";background:var(--accent);border-radius:999px;width:3px;height:0;transition:height .2s;position:absolute;top:50%;left:-1rem;translate:0 -50%}.sidebar nav a:hover:before,.sidebar nav a:focus-visible:before{height:55%}.nav-group-divider{background:var(--hairline-soft);height:1px;margin:.6rem .75rem}.sidebar.collapsed .nav-section{display:none}.sidebar.collapsed .nav-group-divider{margin:.5rem .4rem}.sidebar.collapsed nav a{justify-content:center;padding:.7rem 0}.sidebar.collapsed .nav-label,.sidebar.collapsed .external-icon{display:none}.sidebar.collapsed nav a,.sidebar.collapsed .theme-option{position:relative}.sidebar.collapsed nav a:after,.sidebar.collapsed .theme-option:after{content:attr(data-tooltip);white-space:nowrap;color:var(--accent-contrast);background:var(--tooltip-bg);box-shadow:0 4px 16px var(--shadow-strong);opacity:0;pointer-events:none;z-index:200;border-radius:.5rem;padding:.35rem .65rem;font-size:.78rem;font-weight:500;transition:opacity .15s 50ms;position:absolute;top:50%;left:calc(100% + 14px);translate:0 -50%}.sidebar.collapsed nav a:hover:after,.sidebar.collapsed nav a:focus-visible:after,.sidebar.collapsed .theme-option:hover:after,.sidebar.collapsed .theme-option:focus-visible:after{opacity:1}.sidebar.collapsed .theme-switcher{grid-template-columns:1fr;gap:.3rem}.sidebar.collapsed .theme-option{grid-auto-flow:column;padding:.5rem 0}.sidebar.collapsed .theme-option span{display:none}.sidebar.collapsed .user-chip{justify-content:center;padding:.4rem}.sidebar.collapsed .user-meta,.sidebar.collapsed .signout-button{display:none}.sidebar nav a:active{transform:scale(.98)}.theme-switcher{background:var(--chip-bg);border:1px solid var(--hairline-soft);border-radius:.75rem;grid-template-columns:repeat(3,1fr);gap:.25rem;margin-top:.25rem;padding:.25rem;display:grid}.theme-option{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.55rem;place-items:center;gap:.2rem;padding:.45rem .25rem;font-family:inherit;font-size:.62rem;transition:background .2s,color .2s;display:grid}.theme-option svg{width:1.05rem;height:1.05rem}.theme-option:hover{color:var(--text-primary);background:var(--accent-hover-bg)}.theme-option.active{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:var(--accent-contrast);box-shadow:0 2px 10px #c5923b59}.theme-option:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.user-chip{background:var(--chip-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--hairline-soft);border-radius:.75rem;align-items:center;gap:.65rem;padding:.6rem .7rem;display:flex}.avatar{background:linear-gradient(135deg, var(--accent), var(--accent-strong));width:2.1rem;height:2.1rem;color:var(--accent-contrast);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.user-meta{min-width:0;line-height:1.25}.user-meta strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;display:block;overflow:hidden}.user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;display:block;overflow:hidden}.signout-button{width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.55rem;flex-shrink:0;place-items:center;margin-left:auto;transition:background .2s,color .2s,transform .15s;display:grid}.signout-button svg{width:1.05rem;height:1.05rem}.signout-button:hover:not(:disabled),.signout-button:focus-visible{background:var(--error-bg);color:var(--error-text);outline:none}.signout-button:active:not(:disabled){transform:scale(.94)}.signout-button:disabled{opacity:.5;cursor:wait}.spinner{border:2px solid var(--accent-contrast);mix-blend-mode:normal;opacity:.9;border-top-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;border-color:var(--accent-ring);border-top-color:var(--accent);width:2rem;height:2rem}@keyframes spin{to{transform:rotate(360deg)}}.auth-splash{min-height:100vh;color:var(--text-muted);place-content:center;justify-items:center;gap:1rem;display:grid}.login-screen{place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative}.login-card{text-align:center;border-radius:1.5rem;width:100%;max-width:26rem;padding:2.75rem 2.5rem 2rem}.login-card h1{letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.45rem}.login-subtitle{color:var(--text-secondary);margin:0 0 1.75rem;font-size:.9rem}.login-card form{text-align:left}.field{margin-bottom:1.1rem}.field label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.82rem;font-weight:600;display:block}.field input{width:100%;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);border-radius:.7rem;padding:.75rem .95rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.field input::placeholder{color:var(--text-faint)}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.field input:disabled{opacity:.6}.password-wrap{position:relative}.password-wrap input{padding-right:3rem}.toggle-password{width:2.1rem;height:2.1rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.5rem;place-items:center;display:grid;position:absolute;top:50%;right:.5rem;translate:0 -50%}.toggle-password:hover{color:var(--text-primary)}.toggle-password svg{width:1.1rem;height:1.1rem}.field-hint{color:var(--hint-text);margin:.35rem 0 0;font-size:.75rem}.login-error{color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);border-radius:.6rem;margin:0 0 1.1rem;padding:.65rem .9rem;font-size:.84rem}.login-button{width:100%;color:var(--accent-contrast);background:linear-gradient(135deg, var(--accent), var(--accent-strong));cursor:pointer;border:none;border-radius:.7rem;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 6px 20px #c5923b59}.login-button:hover:not(:disabled),.login-button:focus-visible{filter:brightness(1.05);outline:none;box-shadow:0 8px 26px #c5923b73}.login-button:active:not(:disabled){transform:scale(.985)}.login-button:disabled{opacity:.75;cursor:wait}.login-footnote{color:var(--text-muted);margin:1.5rem 0 0;font-size:.78rem}.sidebar-footer{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.status-indicator{cursor:default;border-radius:999px;align-items:center;gap:.45rem;width:fit-content;padding:.2rem .55rem;transition:background .2s;display:inline-flex;position:relative}.status-indicator:hover{background:var(--chip-bg)}.status-indicator:after{content:attr(data-tooltip);white-space:nowrap;color:var(--accent-contrast);background:var(--tooltip-bg);box-shadow:0 4px 16px var(--shadow-strong);opacity:0;pointer-events:none;z-index:200;border-radius:.5rem;padding:.3rem .6rem;font-size:.75rem;font-weight:500;transition:opacity .15s 50ms;position:absolute;top:50%;left:calc(100% + 12px);translate:0 -50%}.status-indicator[data-tooltip]:hover:after{opacity:1}.health-dot{border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;position:relative}.health-dot.checking{background:var(--status-warn);animation:1.2s ease-in-out infinite health-blink}.health-dot.online{background:var(--status-ok)}.health-dot.online:after{content:"";border:1.5px solid var(--status-ok);border-radius:50%;animation:2s ease-out infinite health-ping;position:absolute;inset:-.3rem}.health-dot.error{background:var(--status-error)}@keyframes health-ping{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.4)}}@keyframes health-blink{0%,to{opacity:1}50%{opacity:.35}}.status-text{align-items:baseline;gap:.3rem;min-width:0;line-height:1;display:inline-flex}.status-label{color:var(--text-secondary);white-space:nowrap;font-size:.72rem;font-weight:500}.status-latency{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.retry-button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.72rem;font-weight:500}.retry-button:hover,.retry-button:focus-visible{outline:none;text-decoration:underline}.sidebar.collapsed .status-indicator{justify-content:center;width:100%;padding:.25rem 0}.sidebar.collapsed .health-dot{width:.7rem;height:.7rem}.sidebar.collapsed .health-dot.online:after{inset:-.35rem}.sidebar.collapsed .theme-switcher{background:0 0;border:none;grid-template-columns:1fr;gap:.25rem;padding:0}.sidebar.collapsed .theme-option{padding:.5rem 0}.sidebar.collapsed .theme-option.active{box-shadow:none}.sidebar.collapsed .status-text{display:none}.logo{justify-content:center;margin:0 auto .75rem;display:flex}.login-logo{margin:0 auto 1.5rem}.sidebar-logo{margin:0}.sidebar-logo .logo-img{max-width:11rem;max-height:5.5rem}.logo-img{object-fit:contain;max-width:14rem;max-height:8rem}.theme-logo-dark,[data-theme=dark] .theme-logo-light{display:none}[data-theme=dark] .theme-logo-dark{display:block}.tagline{color:var(--text-secondary);margin:0 0 2.5rem}.notice{border-radius:1.25rem;padding:2.5rem 2rem}.badge{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:var(--accent-contrast);letter-spacing:.09em;text-transform:uppercase;border-radius:999px;margin-bottom:1rem;padding:.3rem .8rem;font-size:.72rem;font-weight:600;display:inline-block;box-shadow:0 4px 14px #c5923b59}.notice h2{margin:0 0 .5rem;font-size:1.3rem}.notice p{color:var(--text-secondary);margin:0}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.menu-toggle{z-index:120;border:1px solid var(--toggle-border);background:var(--toggle-bg);-webkit-backdrop-filter:blur(16px)saturate(160%);width:2.75rem;height:2.75rem;color:var(--text-primary);cursor:pointer;box-shadow:0 4px 20px var(--shadow-color);border-radius:.75rem;place-items:center;display:none;position:fixed;top:1rem;left:1rem}.menu-toggle svg{width:1.4rem;height:1.4rem}.scrim{z-index:90;background:var(--scrim-bg);-webkit-backdrop-filter:blur(2px);position:fixed;inset:0}@media (width<=900px){.menu-toggle{display:grid}.collapse-toggle{display:none}.sidebar,.sidebar.collapsed{width:min(80vw, var(--sidebar-width));transform:translate(-105%)}.sidebar.open,.sidebar.collapsed.open{box-shadow:24px 0 60px var(--shadow-strong);transform:translate(0)}.sidebar.collapsed .nav-section,.sidebar.collapsed .nav-label,.sidebar.collapsed .user-meta,.sidebar.collapsed .signout-button{display:revert}.sidebar.collapsed nav a{justify-content:flex-start;padding:.7rem .9rem}.sidebar.collapsed .theme-switcher{grid-template-columns:repeat(3,1fr)}.sidebar.collapsed .theme-option span{display:revert}.sidebar.collapsed .user-chip{justify-content:flex-start}.hub,[data-sidebar-collapsed="1"] .hub{padding:6rem 1.25rem 3rem}}
