@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-wrap{position:relative;z-index:1;display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface-1);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:10;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;transition:var(--theme-transition)}.app-wrap.sidebar-collapsed .sidebar{display:none}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.sidebar-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:0 0;border:0;color:var(--text-200);cursor:pointer;transition:background .15s;flex-shrink:0;padding:0}.nav-item:hover,.sidebar-toggle-btn:hover{background:var(--surface-hover)}.sidebar-toggle-btn svg{pointer-events:none}@media (max-width:900px){.sidebar-toggle-btn{display:none}}.sidebar-brand{padding:20px 16px 16px;border-bottom:1px solid var(--line);background:var(--surface-1);position:relative}.sidebar-brand::before,.topbar::after{content:none}.brand-icon,.brand-logo{display:flex;align-items:center}.brand-logo{gap:12px;margin-bottom:16px}.brand-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--brand);justify-content:center;font-size:21px;flex-shrink:0;box-shadow:var(--shadow-brand)}.brand-name{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-100);line-height:1.25;letter-spacing:-.1px}.brand-sub{font-size:12px;color:var(--text-400);margin-top:2px;letter-spacing:.1px}.brand-user,.user-avatar{display:flex;align-items:center}.brand-user{gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--line)}.user-avatar{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--brand);justify-content:center;font-family:var(--font-display);font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.user-info{line-height:1.35;min-width:0}.user-name{font-size:13.5px;font-weight:700;color:var(--text-100);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:11px;color:var(--text-300);margin-top:1px}.sidebar-nav{padding:14px 12px;flex:1}.nav-section-label{font-size:11px;font-weight:700;color:var(--text-400);letter-spacing:1.2px;text-transform:uppercase;padding:0 10px;margin-bottom:6px;margin-top:18px}.nav-badge,.nav-item{display:flex;align-items:center}.nav-item{gap:11px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:var(--t-fast);color:var(--text-300);font-size:14.5px;font-weight:600;margin-bottom:3px;border:1px solid transparent;position:relative}.nav-item:hover{color:var(--text-100)}.nav-item.active{background:var(--surface-3)}.nav-item.active,html .nav-item.active,html .nav-item.active svg{color:var(--brand)}.nav-item.active::before{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);height:55%;width:3px;background:var(--brand);border-radius:3px 0 0 3px}.nav-item svg{flex-shrink:0;opacity:.8;transition:opacity .15s}.nav-item.active svg{opacity:1;color:var(--brand)}.nav-item:hover svg{opacity:1}.nav-badge{margin-right:auto;min-width:21px;height:21px;padding:0 7px;border-radius:99px;background:var(--brand);font-size:11px;font-weight:700;color:#fff;justify-content:center}.sidebar-footer{padding:14px 12px;border-top:1px solid var(--line)}.phase-legend{display:flex;flex-direction:column;gap:5px}.legend-item{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-300)}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.version-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);font-size:10.5px;font-weight:600;color:var(--text-300)}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-x:hidden}.topbar,.topbar-left{display:flex;align-items:center}.topbar{background:var(--topbar-bg);backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);border-bottom:1px solid var(--line);padding:0 clamp(16px,3vw,34px);justify-content:space-between;gap:16px;position:sticky;top:0;z-index:9;height:var(--topbar-h);transition:var(--theme-transition);position:relative}.topbar-left{gap:14px}.topbar-page-icon{width:38px;height:38px;border-radius:var(--radius-md);background:var(--brand-100);display:flex;align-items:center;justify-content:center;color:var(--brand);flex-shrink:0}html .topbar-page-icon{color:var(--brand-300)}.nav-item svg,.topbar-page-icon svg{width:18px;height:18px}.topbar-title{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-100);letter-spacing:-.2px}.topbar-breadcrumb{font-size:12.5px;color:var(--text-300);margin-top:1px;font-weight:500}.topbar-right{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;border:1px solid transparent;transition:var(--t-fast);white-space:nowrap;letter-spacing:-.1px}.btn svg{width:15px;height:15px;flex-shrink:0}.btn:focus-visible{outline:0;box-shadow:var(--ring)}.btn-gold{background:var(--brand);border-color:transparent;color:#fff;box-shadow:var(--shadow-brand)}.btn-gold:hover{background:var(--brand-600)}.btn-gold:active{background:var(--brand-700)}.btn-ghost,.btn-ghost:hover{border-color:var(--line-strong)}.btn-ghost{background:var(--surface-1);color:var(--text-200)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-100)}.btn-danger,.btn-teal{border-color:transparent}.btn-teal,.btn-teal:hover{background:var(--brand-100)}.btn-teal,html .btn-teal{color:var(--brand)}.btn-teal:hover{filter:brightness(.97)}.btn-danger{background:var(--danger-100)}.btn-danger,html .btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-100);filter:brightness(.98)}.btn-sm{padding:7px 13px;font-size:12.5px}.btn-xs{padding:4px 9px;font-size:11px}.theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--line-strong);color:var(--text-200);font-size:12.5px;font-weight:600;font-family:inherit;transition:var(--t-fast)}.theme-toggle:hover{background:var(--surface-hover);color:var(--text-100)}.theme-toggle svg{width:15px;height:15px}.page{display:none;padding:32px clamp(16px,2vw,32px);animation:fadeIn .28s var(--ease-out);box-sizing:border-box;max-width:none;width:100%}.page.active{display:block}