:root{--ab-brand:#2563eb;--ab-brand-dark:#1d4ed8;--ab-brand-soft:#eff6ff;--ab-ink-900:#0f172a;--ab-ink-700:#334155;--ab-ink-500:#64748b;--ab-ink-400:#94a3b8;--ab-line:#e2e8f0;--ab-line-soft:#eef2f7;--ab-hover:#f1f5f9;--ab-active:#e2e8f0;--ab-danger:#dc2626;--ab-danger-soft:#fef2f2;--ab-shadow-pop:0 12px 32px -12px rgba(15,23,42,0.16),0 4px 12px -4px rgba(15,23,42,0.08)}.app-banner{height:48px;flex:0 0 48px;display:flex;align-items:center;padding:0 16px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px) saturate(1.5);-webkit-backdrop-filter:blur(12px) saturate(1.5);border-bottom:1px solid var(--ab-line-soft);position:relative;z-index:10}body.app-banner-hidden .app-banner{display:none}.app-banner-icon-btn.ant-btn{width:32px;height:32px;padding:0;border-radius:8px;color:var(--ab-ink-500);display:grid;place-items:center;transition:background .13s ease,color .13s ease,transform .1s ease}.app-banner-icon-btn.ant-btn:hover{background:var(--ab-hover);color:var(--ab-ink-900)}.app-banner-icon-btn.ant-btn:active{background:var(--ab-active);transform:scale(.92)}.app-banner-icon-btn.app-banner-icon-btn-open.ant-btn,.app-banner-icon-btn.app-banner-icon-btn-open.ant-btn:hover{background:var(--ab-brand-soft);color:var(--ab-brand)}.app-banner-text-btn.ant-btn{height:32px;padding:0 10px;border-radius:8px;font-size:13px;color:var(--ab-ink-500);transition:background .13s ease,color .13s ease,transform .1s ease}.app-banner-text-btn.ant-btn:hover{background:var(--ab-hover);color:var(--ab-ink-900)}.app-banner-text-btn.ant-btn:active{background:var(--ab-active);transform:scale(.97)}.app-banner-text-btn.app-banner-text-btn-open.ant-btn,.app-banner-text-btn.app-banner-text-btn-open.ant-btn:hover{background:var(--ab-brand-soft);color:var(--ab-brand)}.app-banner-back{flex-shrink:0}.app-banner-divider{margin:0 12px}.app-banner-divider,.app-banner-divider-sm{width:1px;height:20px;background:var(--ab-line);flex:none}.app-banner-divider-sm{margin:0 8px}.app-banner-title{min-width:0;max-width:min(calc(52 * var(--app-vw)),420px);margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--ab-ink-900);cursor:default}.app-banner-spacer{flex:1 1 auto;min-width:8px}.app-banner-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.app-banner-avatar-btn.ant-btn{width:36px;height:36px;padding:0;border-radius:50%;display:grid;place-items:center;transition:box-shadow .15s ease}.app-banner-avatar-btn.ant-btn:hover{background:transparent;box-shadow:0 0 0 4px rgba(37,99,235,.12)}.app-banner-avatar-icon.ant-avatar{background:var(--ab-brand-soft);color:var(--ab-brand)}.app-launcher-popover .ant-popover-inner{padding:0;border-radius:14px;overflow:hidden;border:1px solid var(--ab-line-soft);box-shadow:var(--ab-shadow-pop)}.app-launcher-panel{width:240px;padding:6px}.app-launcher-head{padding:6px 10px;font-size:12px;font-weight:500;color:var(--ab-ink-400);letter-spacing:.04em}.app-launcher-list{display:flex;flex-direction:column;gap:1px}.app-launcher-item{display:flex;align-items:center;height:34px;padding:0 10px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .12s ease}.app-launcher-item:hover{background:#f8fafc}.app-launcher-item-current,.app-launcher-item-current:hover{background:var(--ab-brand-soft)}.app-launcher-item-current .app-launcher-name{color:var(--ab-brand-dark);font-weight:500}.app-launcher-name{min-width:0;font-size:13px;color:var(--ab-ink-700);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-account-panel{width:236px;padding:6px;background:#fff;border:1px solid var(--ab-line-soft);border-radius:14px;box-shadow:var(--ab-shadow-pop)}.app-account-user{display:flex;align-items:center;gap:10px;padding:10px}.app-account-name{font-size:14px;font-weight:600;color:var(--ab-ink-900);line-height:1.3}.app-account-mail{font-size:12px;color:var(--ab-ink-400);margin-top:1px;word-break:break-all}.app-account-hr{height:1px;background:var(--ab-line-soft);margin:2px 6px}.app-account-dropdown .app-account-panel .ant-dropdown-menu{background:transparent;box-shadow:none;border-radius:0;padding:0}.app-account-dropdown .app-account-panel .ant-dropdown-menu .ant-dropdown-menu-item{height:34px;line-height:34px;padding:0 10px;margin:0;border-radius:8px;font-size:13.5px;color:var(--ab-ink-700)}.app-account-dropdown .app-account-panel .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-item-icon{font-size:14px;color:var(--ab-ink-400)}.app-account-dropdown .app-account-panel .ant-dropdown-menu .ant-dropdown-menu-item:hover{background:#f8fafc}.app-account-dropdown .app-account-panel .ant-dropdown-menu .ant-dropdown-menu-item-danger,.app-account-dropdown .app-account-panel .ant-dropdown-menu .ant-dropdown-menu-item-danger .ant-dropdown-menu-item-icon{color:var(--ab-danger)}.app-account-dropdown .app-account-panel .ant-dropdown-menu .ant-dropdown-menu-item-danger:hover{background:var(--ab-danger-soft)}.app-account-dropdown .app-account-panel .ant-dropdown-menu .ant-dropdown-menu-item-divider{margin:2px 6px;background:var(--ab-line-soft)}@media (max-width:768px){.app-banner{padding:0 10px}.app-banner-divider{display:none}.app-banner-title{max-width:calc(44 * var(--app-vw));font-size:14px;margin-left:8px}.app-banner-actions{gap:0}.app-banner-divider-sm{margin:0 4px}.app-launcher-panel{width:min(240px,calc(100vw - 32px))}}