:root,:root[data-theme=dark]{--bg:#000;--bg-soft:#000311;--app-bg:radial-gradient(980px 380px at -14% -24%,rgba(142,164,255,.18) 0%,rgba(142,164,255,0) 58%),radial-gradient(760px 340px at 112% -18%,rgba(148,225,242,.16) 0%,rgba(148,225,242,0) 58%),radial-gradient(520px 280px at 54% -26%,rgba(175,148,242,.16) 0%,rgba(175,148,242,0) 62%),linear-gradient(180deg,#000,#000311);--text:#fff;--text-soft:#cfd3df;--text-mute:#9aa2b8;--line:hsla(0,0%,100%,.14);--line-soft:hsla(0,0%,100%,.09);--panel:hsla(0,0%,100%,.06);--panel-soft:hsla(0,0%,100%,.04);--surface:hsla(0,0%,100%,.08);--surface-soft:hsla(0,0%,100%,.05);--brand:#8ea4ff;--brand-2:#94e1f2;--brand-3:#af94f2;--ok:#94f2b2;--warn:#f5b767;--danger:#f03157;--sidebar-bg:linear-gradient(182deg,rgba(0,0,0,.72),rgba(0,3,17,.78));--header-bg:linear-gradient(130deg,hsla(0,0%,100%,.07),hsla(0,0%,100%,.04));--brand-title:#fff;--brand-sub:#dee3f5;--brand-badge-text:#c3ebf4;--brand-badge-bg:rgba(0,0,0,.36);--input-text:#fff;--input-placeholder:#7f8392;--button-primary-text:#0b0d14;--button-secondary-text:#d4d9ec;--button-text:#c4c9dc;--table-head:#a6abbd;--shadow-xl:0 36px 70px -42px rgba(0,0,0,.9);--shadow-lg:0 22px 38px -28px rgba(0,0,0,.82);--shadow-md:0 15px 26px -20px rgba(0,0,0,.76);--modal-header-bg:rgba(10,14,28,.96);--btn-height:36px;--btn-radius:10px;--btn-text-height:32px;--btn-text-radius:9px}:root[data-theme=light]{--bg:#f4f7fe;--bg-soft:#edf3fb;--app-bg:radial-gradient(980px 380px at -14% -24%,rgba(142,164,255,.18) 0%,rgba(142,164,255,0) 58%),radial-gradient(760px 340px at 112% -18%,rgba(148,225,242,.16) 0%,rgba(148,225,242,0) 58%),radial-gradient(520px 280px at 54% -26%,rgba(175,148,242,.16) 0%,rgba(175,148,242,0) 62%),linear-gradient(180deg,#f8fbff,#edf3fb);--text:#121a2b;--text-soft:#34445f;--text-mute:#4f607a;--line:rgba(17,24,39,.12);--line-soft:rgba(17,24,39,.08);--panel:#fff;--panel-soft:#f8fbff;--surface:#f4f8ff;--surface-soft:#f7f9fe;--sidebar-bg:linear-gradient(180deg,#fff,#f4f8ff);--header-bg:linear-gradient(180deg,#fff,#f8fbff);--brand-title:#18243d;--brand-sub:#56657f;--brand-badge-text:#3b4f77;--brand-badge-bg:hsla(0,0%,100%,.85);--input-text:#111827;--input-placeholder:#73839f;--button-primary-text:#fff;--button-secondary-text:#374151;--button-text:#31405a;--table-head:#50607a;--shadow-xl:0 36px 70px -48px rgba(40,52,78,.32);--shadow-lg:0 22px 38px -30px rgba(40,52,78,.26);--shadow-md:0 15px 26px -20px rgba(40,52,78,.24);--modal-header-bg:hsla(0,0%,100%,.96)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--text);background:var(--app-bg);font-family:HarmonyOS Sans,Plus Jakarta Sans,PingFang SC,Microsoft YaHei,sans-serif}body{position:relative}a{color:inherit;text-decoration:none}.portal-shell{min-height:100vh;display:grid;grid-template-columns:262px minmax(0,1fr)}.portal-shell.sidebar-collapsed{grid-template-columns:88px minmax(0,1fr)}.portal-loading{min-height:100vh}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.topbar-btn{height:var(--btn-height)}.portal-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:14px 12px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--line-soft);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar-brand{padding:6px;border-radius:12px;border:1px solid transparent;display:flex;align-items:center;gap:10px;min-height:50px;color:var(--brand-title);transition:.16s ease}.sidebar-brand:hover{border-color:var(--line);background:var(--surface-soft)}.sidebar-brand-logo{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 90%,transparent);color:var(--text);display:grid;place-items:center;flex:0 0 auto}.sidebar-brand-logo svg{width:22px;height:22px;display:block}.sidebar-brand-text{min-width:0;display:grid;grid-gap:2px;gap:2px}.sidebar-brand-title{font-size:16px;font-weight:800;line-height:1.22;color:var(--text);letter-spacing:.2px}.sidebar-brand-sub,.sidebar-brand-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand-sub{font-size:11px;color:var(--text-mute)}.sidebar-divider{height:1px;background:var(--line-soft);margin:4px 2px 2px}.portal-nav{display:grid;grid-gap:8px;gap:8px}.portal-nav-item{display:flex;align-items:center;gap:10px;border-radius:11px;padding:10px 11px;color:var(--text-soft);border:1px solid transparent;transition:.18s ease}.portal-nav-item:hover{border-color:var(--line);background:var(--surface);color:var(--text)}.portal-nav-item.active{color:var(--text);border-color:color-mix(in srgb,var(--brand-2) 42%,transparent);background:linear-gradient(126deg,color-mix(in srgb,var(--brand) 24%,transparent) 0,color-mix(in srgb,var(--brand-2) 20%,transparent) 62%,color-mix(in srgb,var(--brand-3) 24%,transparent) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-2) 24%,transparent)}.nav-icon-wrap{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line)}.nav-icon-wrap svg{width:16px;height:16px;fill:currentColor;stroke:currentColor;stroke-width:1.2}.nav-text-wrap{display:grid;grid-gap:1px;gap:1px}.nav-title{font-size:13px;font-weight:700}.nav-hint{font-size:11px;color:var(--text-mute)}.portal-shell.sidebar-collapsed .sidebar-brand{justify-content:center;padding:6px 4px}.portal-shell.sidebar-collapsed .sidebar-brand-text{display:none}.portal-shell.sidebar-collapsed .sidebar-brand-logo{width:38px;height:38px}.portal-shell.sidebar-collapsed .portal-nav-item{justify-content:center;padding:10px 8px}.portal-shell.sidebar-collapsed .nav-text-wrap{display:none}.portal-main{min-width:0;padding:14px 16px 18px;display:flex;flex-direction:column}.portal-main-header{height:56px;position:relative;z-index:30;border:1px solid var(--line);border-radius:14px;padding:0 12px;display:flex;align-items:center;gap:10px;background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md)}.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.18s ease}.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.icon-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--brand-2) 42%,transparent)}.user-menu-wrap{position:relative}.user-menu-trigger{height:var(--btn-height);border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);gap:8px;padding:0 11px 0 8px;cursor:pointer}.user-avatar,.user-menu-trigger{display:inline-flex;align-items:center}.user-avatar{width:22px;height:22px;border-radius:999px;justify-content:center;font-size:11px;font-weight:800;color:var(--button-primary-text);background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 94%,#fff 6%) 0,color-mix(in srgb,var(--brand-2) 94%,#fff 6%) 58%,color-mix(in srgb,var(--brand-3) 94%,#fff 6%) 100%)}.user-name{font-size:13px;font-weight:700}.user-chevron{font-size:11px;color:var(--text-mute);transition:transform .16s ease}.user-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:154px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--panel);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--shadow-lg);opacity:1;z-index:360}.user-menu-item{width:100%;border:none;border-bottom:1px solid var(--line-soft);background:var(--panel);color:var(--text);font:inherit;font-size:13px;text-align:left;padding:10px 11px;cursor:pointer;display:block}.user-menu-item:last-child{border-bottom:none}.user-menu-item:hover{background:var(--surface-soft);color:var(--text)}.user-menu-item.danger{color:color-mix(in srgb,var(--danger) 72%,#fff 28%)}.user-menu-item.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}:root[data-theme=dark] .user-menu-dropdown{background:#0f1526;border-color:rgba(203,216,255,.2)}:root[data-theme=dark] .user-menu-item{background:#0f1526;color:#e4ebff;border-bottom-color:rgba(203,216,255,.11)}:root[data-theme=dark] .user-menu-item:hover{background:#17213a;color:#fff}:root[data-theme=dark] .user-menu-item.danger{color:#ff8fa4}:root[data-theme=dark] .user-menu-item.danger:hover{background:#3a1a29;color:#ffc1cd}:root[data-theme=light] .user-menu-dropdown{background:#fff;border-color:rgba(24,36,61,.18)}:root[data-theme=light] .user-menu-item{background:#fff;color:#253754;border-bottom-color:rgba(24,36,61,.1)}:root[data-theme=light] .user-menu-item:hover{background:#eef4ff;color:#17253c}:root[data-theme=light] .user-menu-item.danger{color:#b22745}:root[data-theme=light] .user-menu-item.danger:hover{background:#fff0f4;color:#921d37}.portal-header{border:1px solid var(--line);border-radius:18px;padding:15px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-lg)}.header-main{min-width:0}.portal-header h1{margin:0;font-size:25px;font-weight:800}.portal-header p{margin:6px 0 0;color:var(--text-soft);font-size:13px}.header-nav{margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.header-nav-item{display:inline-flex;align-items:center;height:30px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);padding:0 12px;font-size:12px;font-weight:700;transition:.18s ease}.header-nav-item:hover{background:color-mix(in srgb,var(--brand-2) 18%,transparent)}.header-nav-item.active,.header-nav-item:hover{color:var(--text);border-color:color-mix(in srgb,var(--brand-2) 42%,transparent)}.header-nav-item.active{background:linear-gradient(122deg,color-mix(in srgb,var(--brand) 26%,transparent) 0,color-mix(in srgb,var(--brand-2) 20%,transparent) 58%,color-mix(in srgb,var(--brand-3) 26%,transparent) 100%)}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.theme-toggle{height:var(--btn-height);border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);padding:0 12px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease}.theme-toggle:hover{color:var(--text);border-color:color-mix(in srgb,var(--brand-2) 42%,transparent)}.theme-toggle-icon{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);font-size:12px}.header-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-pill{height:30px;border-radius:999px;display:inline-flex;align-items:center;padding:0 11px;font-size:11px;font-weight:700;color:var(--button-primary-text);background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 92%,#fff 8%) 0,color-mix(in srgb,var(--brand-2) 92%,#fff 8%) 58%,color-mix(in srgb,var(--brand-3) 92%,#fff 8%) 100%);box-shadow:0 14px 24px -19px color-mix(in srgb,var(--brand) 42%,transparent)}.header-pill.muted{color:var(--text-soft);background:var(--surface-soft);border:1px solid var(--line);box-shadow:none}.portal-content{margin-top:14px}.login-layout{min-height:100vh}.login-layout,.login-screen{display:grid;place-items:center;padding:20px}.login-screen{justify-self:stretch;align-self:stretch;min-height:calc(100vh - 40px);border-radius:20px;background:linear-gradient(160deg,color-mix(in srgb,var(--bg) 80%,var(--panel) 20%) 0,color-mix(in srgb,var(--bg-soft) 84%,var(--panel-soft) 16%) 100%)}.login-screen.with-bg{border:1px solid color-mix(in srgb,var(--line) 70%,var(--brand-2) 30%);box-shadow:var(--shadow-xl)}.login-page{width:min(460px,100%)}.login-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--panel);box-shadow:var(--shadow-xl)}.login-card.app-mode{width:-moz-fit-content;width:fit-content;max-width:100%;border:none;border-radius:0;padding:0;background:transparent;box-shadow:none}.login-card.app-mode .login-head h2,.login-card.app-mode .login-head p{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.45)}.login-head h2{margin:0;font-size:24px;font-weight:800}.login-head p{margin:7px 0 0;font-size:13px;color:var(--text-soft)}.login-submit{width:100%}.login-divider{margin:12px 0;display:flex;align-items:center;gap:8px;color:var(--text-mute);font-size:12px}.login-divider:after,.login-divider:before{content:"";flex:1 1 auto;height:1px;background:var(--line-soft)}.wecom-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.wecom-panel-head strong{font-size:14px}.wecom-qr-container{margin:12px auto 0;width:-moz-fit-content;width:fit-content;max-width:100%;box-sizing:border-box;padding:10px;min-height:392px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:12px;display:grid;place-items:center;background:#fff;overflow:hidden}.wecom-qr-container iframe{border:0;border-radius:10px;background:#fff}.login-card.app-mode .wecom-qr-container{padding:0;min-height:0;border:none;border-radius:0;background:transparent}.wecom-debug-box{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--panel-soft) 78%,transparent)}.wecom-debug-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.wecom-debug-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.wecom-debug-checks{display:grid;grid-gap:8px;gap:8px;margin-bottom:10px}.wecom-debug-check{border:1px solid var(--line-soft);border-radius:10px;padding:8px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:8px;gap:8px;align-items:flex-start;background:color-mix(in srgb,var(--panel) 88%,transparent)}.wecom-debug-check-body{display:grid;grid-gap:2px;gap:2px}.wecom-debug-check-body strong{font-size:13px;line-height:1.3}.wecom-debug-box pre{margin:0;white-space:pre-wrap;word-break:break-word;max-height:280px;overflow:auto}.page-grid{display:grid;grid-gap:14px;gap:14px}.card{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-md)}.card.auth-needed{gap:12px}.card-title-row,.card.auth-needed{display:flex;justify-content:space-between;align-items:center}.card-title-row{gap:10px;flex-wrap:wrap}.card h2,.card-title-row h2{margin:0;font-size:18px;font-weight:800}.hero-panel{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--header-bg);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.9fr);grid-gap:14px;gap:14px;box-shadow:var(--shadow-lg)}.hero-panel.slim{grid-template-columns:minmax(0,1.3fr) minmax(220px,.75fr)}.hero-main h2{margin:0;font-size:24px;font-weight:800}.hero-main p{margin:10px 0 0;color:var(--text-soft);line-height:1.64;font-size:13px}.hero-chips{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;height:28px;border-radius:999px;padding:0 10px;border:1px solid var(--line);font-size:11px;font-weight:700;color:var(--text-soft);background:var(--surface)}.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 42%,transparent);background:color-mix(in srgb,var(--ok) 16%,transparent)}.hero-side{border:1px solid var(--line);border-radius:13px;padding:11px;background:var(--panel-soft)}.hero-side-label{margin-bottom:8px;font-size:12px;color:var(--text-soft);font-weight:700}.hero-side.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.metric-box{border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--surface-soft)}.metric-box span{display:block;font-size:11px;color:var(--text-mute)}.metric-box strong{display:block;margin-top:3px;font-size:20px;font-weight:800}.mini-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.mini-list li{border:1px solid var(--line-soft);border-radius:10px;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface-soft)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:11px;gap:11px}.stat-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--panel)}.stat-card.modern{box-shadow:0 18px 28px -26px color-mix(in srgb,#000 75%,transparent)}.stat-card.primary{grid-column:span 2;padding:15px 15px 13px}.stat-card.compact .stat-value{font-size:44px;letter-spacing:-.5px}.stat-label{font-size:12px;color:var(--text-mute)}.stat-value{margin-top:7px;font-size:31px;line-height:1;font-weight:800}.stat-hint{margin-top:8px;font-size:12px;color:var(--text-mute)}.stat-meta-row{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.stat-meta-pill{height:24px;border-radius:999px;display:inline-flex;align-items:center;padding:0 10px;font-size:11px;font-weight:700;border:1px solid var(--line);color:var(--text-soft);background:var(--surface-soft)}.overview-page{gap:12px}.overview-head{border:1px solid var(--line);border-radius:18px;padding:15px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr);grid-gap:12px;gap:12px;background:linear-gradient(160deg,color-mix(in srgb,var(--bg) 64%,var(--panel) 36%) 0,color-mix(in srgb,var(--bg-soft) 70%,var(--panel-soft) 30%) 100%);box-shadow:var(--shadow-lg)}.overview-head.level-good{border-color:color-mix(in srgb,var(--ok) 46%,var(--line) 54%)}.overview-head.level-warn{border-color:color-mix(in srgb,var(--warn) 46%,var(--line) 54%)}.overview-head.level-danger{border-color:color-mix(in srgb,var(--danger) 44%,var(--line) 56%)}.overview-head.level-pending{border-color:color-mix(in srgb,var(--brand-2) 38%,var(--line) 62%)}.overview-head-caption{display:inline-flex;align-items:center;height:24px;border-radius:999px;padding:0 10px;border:1px solid var(--line);background:var(--surface-soft);font-size:11px;color:var(--text-soft);font-weight:700}.overview-head-main h2{margin:9px 0 0;font-size:26px;line-height:1.2;letter-spacing:.1px}.overview-head-main p{margin:9px 0 0;color:var(--text-soft);font-size:13px;line-height:1.62}.overview-head-side{display:grid;grid-gap:8px;gap:8px}.overview-meta-card{border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);padding:10px;display:grid;grid-gap:4px;gap:4px}.overview-meta-card span{font-size:11px;color:var(--text-mute)}.overview-meta-card strong{font-size:15px;line-height:1.2}.overview-meta-inline{display:flex;align-items:center;justify-content:space-between;gap:8px}.overview-refresh-btn{width:32px;height:32px;border-radius:9px;flex:0 0 auto;padding:0;display:inline-flex;align-items:center;justify-content:center}.overview-refresh-btn svg{width:16px;height:16px;fill:currentColor;stroke:none;display:block}.overview-kpi-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.overview-kpi-card{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:12px;display:grid;align-content:start;grid-gap:7px;gap:7px;min-height:142px;box-shadow:0 15px 26px -24px color-mix(in srgb,#000 72%,transparent)}.overview-kpi-card.primary{background:linear-gradient(128deg,color-mix(in srgb,var(--brand) 24%,transparent) 0,color-mix(in srgb,var(--brand-2) 22%,transparent) 56%,color-mix(in srgb,var(--brand-3) 22%,transparent) 100%);border-color:color-mix(in srgb,var(--brand-2) 42%,transparent)}.kpi-label{font-size:12px;color:var(--text-mute)}.kpi-value{font-size:35px;line-height:1;font-weight:800;letter-spacing:-.4px}.kpi-value span{font-size:18px}.kpi-delta,.kpi-value span{font-weight:700;color:var(--text-soft)}.kpi-delta{min-height:22px;border:1px solid var(--line);border-radius:999px;padding:0 9px;display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;font-size:11px;background:var(--surface-soft)}.kpi-delta.up{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.kpi-delta.down{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 34%,transparent)}.kpi-delta.flat,.kpi-hint{color:var(--text-mute)}.kpi-hint{margin-top:auto;font-size:12px}.overview-login-card{padding-top:14px}.overview-login-title-row{align-items:flex-start}.overview-login-title-main{min-width:0;display:grid;grid-gap:8px;gap:8px}.overview-login-head-meta{height:24px;padding:0 10px}.overview-login-head-meta,.overview-login-source{border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);font-size:11px;font-weight:700;display:inline-flex;align-items:center}.overview-login-source{width:-moz-fit-content;width:fit-content;min-height:26px;gap:6px;padding:2px 10px 2px 4px;white-space:nowrap;max-width:100%}.overview-login-source-badge{height:20px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--surface) 80%,transparent);display:inline-flex;align-items:center;padding:0 8px;font-size:10px;color:var(--text-mute);flex:0 0 auto}.overview-login-source-text{overflow:hidden;text-overflow:ellipsis}.overview-login-source.ok{border-color:color-mix(in srgb,var(--brand-2) 42%,transparent)}.overview-login-source.fallback{border-color:color-mix(in srgb,var(--warn) 46%,transparent);color:color-mix(in srgb,var(--warn) 88%,#fff 12%)}.overview-login-source.warn{border-color:color-mix(in srgb,var(--danger) 44%,transparent);color:color-mix(in srgb,var(--danger) 80%,#fff 20%)}.overview-login-source.warn .overview-login-source-badge{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.overview-login-wrap{margin-top:10px;display:grid;grid-gap:11px;gap:11px}.overview-login-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.overview-login-legend-item{min-height:24px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);font-size:11px;display:inline-flex;align-items:center;gap:6px;padding:0 9px}.overview-login-legend-item i{width:8px;height:8px;border-radius:999px;display:inline-block}.overview-login-legend-item strong{color:var(--text);font-size:11px}.overview-login-bars-wrap{min-width:0}.overview-login-bars{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-soft) 88%,transparent);padding:10px 9px 9px;display:grid;grid-template-columns:repeat(auto-fit,minmax(26px,1fr));grid-gap:7px;gap:7px;align-items:end}.overview-login-day{display:grid;grid-gap:4px;gap:4px;justify-items:center}.overview-login-bar{position:relative;width:100%;height:108px;border-radius:8px;border:1px solid var(--line-soft);background:color-mix(in srgb,var(--bg) 84%,var(--surface-soft) 16%);overflow:hidden}.overview-login-segment{position:absolute;left:0;right:0}.overview-login-day-total{font-size:11px;color:var(--text-soft);font-weight:700}.overview-login-day-label{font-size:10px;color:var(--text-mute)}.overview-login-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-mute);font-size:12px}.overview-workbench{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;min-width:0}.overview-work-card{min-width:0}.overview-priority-list{margin-top:10px;display:grid;grid-gap:8px;gap:8px}.overview-priority-item{border:1px solid var(--line);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--surface-soft) 92%,transparent);display:flex;align-items:center;justify-content:space-between;gap:8px;transition:.16s ease}.overview-priority-item:hover{transform:translateY(-1px)}.overview-priority-main{min-width:0}.overview-priority-main h3{margin:0;font-size:14px}.overview-priority-main p{margin:6px 0 0;font-size:12px;color:var(--text-soft);line-height:1.55}.overview-priority-item .overview-priority-cta{min-width:56px;height:24px;border-radius:999px;border:1px solid var(--line);background:var(--panel-soft);font-size:11px;color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center}.overview-priority-item.ok{border-color:color-mix(in srgb,var(--ok) 36%,transparent)}.overview-priority-item.warn{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.overview-priority-item.danger{border-color:color-mix(in srgb,var(--danger) 36%,transparent)}.overview-app-list{margin-top:10px;display:grid;grid-gap:9px;gap:9px}.overview-app-item{border:1px solid var(--line);border-radius:12px;padding:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 82%,var(--surface-soft) 18%) 0,color-mix(in srgb,var(--bg-soft) 84%,var(--surface-soft) 16%) 100%);display:grid;grid-gap:8px;gap:8px}.overview-app-item.risk{border-color:color-mix(in srgb,var(--danger) 36%,transparent)}.overview-app-info h3{margin:0;font-size:15px}.overview-app-info p{margin:4px 0 0;color:var(--text-mute);font-size:12px}.overview-app-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}:root[data-theme=light] .overview-work-card{background:#fff;border-color:rgba(24,36,61,.14)}:root[data-theme=light] .overview-app-item{border-color:rgba(24,36,61,.18);background:linear-gradient(180deg,color-mix(in srgb,#fff 88%,#dfe9ff 12%),color-mix(in srgb,#f8fbff 86%,#d6e6ff 14%))}:root[data-theme=light] .overview-app-info h3{color:#18243d}:root[data-theme=light] .overview-app-info p{color:#3e526f}:root[data-theme=light] .overview-app-item .btn-text{color:#253754;border-color:rgba(24,36,61,.2);background:#f3f7ff}:root[data-theme=light] .overview-app-item .btn-text.danger{color:#a6213a;border-color:color-mix(in srgb,#a6213a 34%,transparent);background:color-mix(in srgb,#a6213a 10%,#fff 90%)}:root[data-theme=light] .overview-login-bars{border-color:rgba(24,36,61,.16);background:#f7faff}:root[data-theme=light] .overview-login-bar{border-color:rgba(24,36,61,.16);background:#ecf3ff}:root[data-theme=light] .overview-login-day-total{color:#304664}:root[data-theme=light] .overview-login-legend-item{color:#34445f;border-color:rgba(24,36,61,.16);background:#f4f8ff}:root[data-theme=light] .overview-login-source{border-color:rgba(24,36,61,.18);background:#f5f9ff;color:#2f3f5e}:root[data-theme=light] .overview-login-source-badge{border-color:rgba(24,36,61,.18);background:#fff;color:#5a6c8a}:root[data-theme=light] .overview-login-source.ok{border-color:color-mix(in srgb,#3f70ff 36%,rgba(24,36,61,.18) 64%)}:root[data-theme=light] .overview-login-source.fallback{border-color:color-mix(in srgb,#cd7a12 44%,rgba(24,36,61,.16) 56%);color:#8f540f}:root[data-theme=light] .overview-login-source.warn{border-color:color-mix(in srgb,#bd2f4a 42%,rgba(24,36,61,.16) 58%);color:#98233b}:root[data-theme=light] .apps-sort-menu{background:#fff;border-color:rgba(24,36,61,.18)}:root[data-theme=light] .apps-sort-option{background:#fff;color:#253754;border-bottom-color:rgba(24,36,61,.1)}:root[data-theme=light] .apps-sort-option:hover{background:#eef4ff}:root[data-theme=light] .apps-sort-option.active{background:#e6efff;color:#17253c}.form{margin-top:12px;display:grid;grid-gap:11px;gap:11px}.field{display:grid;grid-gap:6px;gap:6px}.field>span{font-size:12px;font-weight:700;color:var(--text-soft)}.field input,.field textarea,.search-input{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 11px;color:var(--input-text);background:var(--surface-soft);outline:none;font:inherit;transition:border-color .16s ease,box-shadow .16s ease}.field textarea{resize:vertical;min-height:110px}.field input::placeholder,.field textarea::placeholder,.search-input::placeholder{color:var(--input-placeholder)}.field input:focus,.field textarea:focus,.search-input:focus{border-color:color-mix(in srgb,var(--brand-2) 54%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 16%,transparent)}.search-input{max-width:280px;min-height:40px}.org-page{gap:12px}.org-filter-row{margin-top:12px}.org-search-grow{flex:1 1 300px;max-width:none}.org-select{height:40px;border:1px solid var(--line);border-radius:11px;padding:0 10px;color:var(--input-text);background:var(--surface-soft);font:inherit;min-width:120px;outline:none}.org-select:focus{border-color:color-mix(in srgb,var(--brand-2) 54%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 16%,transparent)}.org-inline-label{gap:6px}.org-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.org-field-full{grid-column:1/-1}.org-department-layout{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:12px;gap:12px}.org-member-card,.org-tree-card{min-width:0}.org-tree-list{margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:8px;max-height:560px;overflow:auto;background:var(--surface-soft)}.org-tree-row{min-height:34px;border-radius:9px;display:flex;align-items:center;gap:8px;padding-right:8px;cursor:pointer;transition:background-color .14s ease}.org-tree-row:hover{background:color-mix(in srgb,var(--surface-soft) 74%,var(--brand-2) 26%)}.org-tree-row.active{background:color-mix(in srgb,var(--brand-2) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-2) 40%,transparent)}.org-tree-toggle{width:22px;height:22px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--text-soft);font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.org-tree-toggle.placeholder{border:none;background:transparent;color:var(--text-mute);justify-content:flex-start}.org-tree-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.org-tree-count{min-width:22px;text-align:right;font-size:12px;color:var(--text-mute)}.org-switch-chip{height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);display:inline-flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.org-switch-chip input{margin:0}.org-switch-chip.active{color:var(--text);border-color:color-mix(in srgb,var(--brand-2) 42%,transparent);background:color-mix(in srgb,var(--brand-2) 18%,transparent)}.org-desc-hint{margin:8px 0 10px}.org-batch-sync-progress{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--surface-soft);display:grid;grid-gap:6px;gap:6px}.org-batch-sync-progress-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-soft)}.org-batch-sync-progress-bar{height:8px;border-radius:999px;border:1px solid var(--line-soft);background:color-mix(in srgb,var(--bg-soft) 82%,var(--panel-soft) 18%);overflow:hidden}.org-batch-sync-progress-bar>span{display:block;height:100%;width:0;transition:width .2s ease;background:linear-gradient(90deg,var(--brand),var(--brand-2))}.org-batch-sync-log-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.org-batch-sync-log-item{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;grid-gap:4px;gap:4px;background:var(--surface-soft)}.org-batch-sync-log-item.success{border-color:color-mix(in srgb,#19aa66 26%,var(--line))}.org-batch-sync-log-item.failed{border-color:color-mix(in srgb,#d44759 28%,var(--line))}.org-batch-sync-log-line{display:flex;align-items:center;gap:8px;min-width:0}.org-batch-sync-log-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-batch-sync-json-btn{margin-left:auto;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .14s ease,filter .14s ease}.org-batch-sync-json-btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.org-batch-sync-json-btn:disabled{cursor:not-allowed;opacity:.58;transform:none;filter:none}.org-meta-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.org-meta-item{border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);padding:9px 10px;display:grid;grid-gap:3px;gap:3px}.org-meta-item span{font-size:11px;color:var(--text-mute)}.org-meta-item strong{font-size:13px;color:var(--text)}.apps-hub{gap:12px}.apps-function-zone{position:relative;z-index:24;background:linear-gradient(160deg,color-mix(in srgb,var(--bg) 66%,var(--panel) 34%) 0,color-mix(in srgb,var(--bg-soft) 70%,var(--panel-soft) 30%) 100%);border-color:color-mix(in srgb,var(--line) 90%,var(--brand-2) 10%)}.apps-function-head{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}.apps-function-main h2{margin:0;font-size:30px;line-height:1.14;letter-spacing:.2px}.apps-function-main p{margin:10px 0 0;font-size:13px;color:var(--text-soft);max-width:680px}.apps-function-metrics{min-width:260px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.apps-tools-row{position:relative;z-index:2;margin-top:12px;display:flex;align-items:center;gap:8px}.apps-search{width:100%;max-width:480px}.apps-sort{width:186px;min-height:40px;padding-right:30px}.apps-sort-wrap{position:relative;z-index:26;width:204px}.apps-sort-trigger{width:100%;min-height:40px;border-radius:11px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 88%,var(--bg) 12%);color:var(--text);padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:700;cursor:pointer}.apps-sort-caret{color:var(--text-mute);transition:transform .16s ease}.apps-sort-caret.open{transform:rotate(180deg)}.apps-sort-menu{position:absolute;z-index:260;top:calc(100% + 8px);left:0;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow-lg);backdrop-filter:none;-webkit-backdrop-filter:none;opacity:1}.apps-sort-menu,.apps-sort-option{width:100%;background:var(--panel)}.apps-sort-option{border:none;border-bottom:1px solid var(--line-soft);color:var(--text);font:inherit;font-size:13px;text-align:left;padding:10px 11px;cursor:pointer}.apps-sort-option:last-child{border-bottom:none}.apps-sort-option:hover{background:var(--surface);color:var(--text)}.apps-sort-option.active{color:var(--text);background:color-mix(in srgb,var(--brand-2) 16%,var(--panel) 84%)}:root[data-theme=dark] .apps-sort-menu{background:#0f1526;border-color:rgba(203,216,255,.2)}:root[data-theme=dark] .apps-sort-option{background:#0f1526;color:#e4ebff;border-bottom-color:rgba(203,216,255,.11)}:root[data-theme=dark] .apps-sort-option:hover{background:#17213a;color:#fff}:root[data-theme=dark] .apps-sort-option.active{background:#233456;color:#fff}.apps-primary-btn{min-width:108px;box-shadow:0 16px 24px -20px color-mix(in srgb,var(--brand-2) 66%,transparent)}.apps-workspace{position:relative;z-index:1;display:grid;grid-template-columns:232px 1fr;grid-gap:12px;gap:12px;min-width:0}.apps-category-panel{border:1px solid var(--line);border-radius:15px;padding:11px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 74%,var(--panel) 26%) 0,color-mix(in srgb,var(--bg-soft) 78%,var(--panel-soft) 22%) 100%);min-height:420px}.apps-category-title{font-size:13px;font-weight:800;color:var(--text-soft);margin-bottom:8px}.apps-category-list{display:grid;grid-gap:7px;gap:7px}.apps-category-item{border:1px solid var(--line-soft);border-radius:11px;background:color-mix(in srgb,var(--bg) 80%,var(--surface-soft) 20%);color:var(--text-soft);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;cursor:pointer;transition:.16s ease}.apps-category-item:hover{border-color:color-mix(in srgb,var(--brand-2) 40%,transparent);transform:translateY(-1px)}.apps-category-item.active{border-color:color-mix(in srgb,var(--brand-2) 54%,transparent);background:linear-gradient(122deg,color-mix(in srgb,var(--brand) 24%,transparent) 0,color-mix(in srgb,var(--brand-2) 20%,transparent) 58%,color-mix(in srgb,var(--brand-3) 24%,transparent) 100%);color:var(--text)}.apps-category-meta{display:grid;grid-gap:2px;gap:2px;text-align:left}.apps-category-label{font-size:13px;font-weight:700}.apps-category-hint{font-size:11px;color:var(--text-mute)}.apps-category-count{min-width:38px;height:22px;border-radius:999px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:var(--surface-soft)}.apps-card-panel{border:1px solid var(--line);border-radius:15px;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 72%,var(--panel) 28%) 0,color-mix(in srgb,var(--bg-soft) 75%,var(--panel-soft) 25%) 100%);min-width:0}.apps-panel-head{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.apps-panel-head h3{margin:0;font-size:18px}.apps-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));grid-gap:10px;gap:10px}.app-card{border:1px solid color-mix(in srgb,var(--line) 70%,var(--brand-2) 30%);border-radius:14px;padding:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 82%,var(--surface-soft) 18%) 0,color-mix(in srgb,var(--bg-soft) 84%,var(--surface-soft) 16%) 100%);cursor:pointer;display:grid;grid-gap:9px;gap:9px;transition:.18s ease}.app-card:hover{border-color:color-mix(in srgb,var(--brand-2) 52%,transparent);transform:translateY(-1px);box-shadow:0 18px 28px -24px color-mix(in srgb,var(--brand-2) 45%,transparent)}.app-card-head{display:grid;grid-template-columns:34px 1fr auto;align-items:center;grid-gap:8px;gap:8px;min-width:0}.app-avatar{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--button-primary-text);background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 94%,#fff 6%) 0,color-mix(in srgb,var(--brand-2) 94%,#fff 6%) 58%,color-mix(in srgb,var(--brand-3) 94%,#fff 6%) 100%)}.app-card-titles{min-width:0}.app-card-titles h4{margin:0;font-size:16px;line-height:1.24;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card-titles p{margin:3px 0 0;font-size:12px;color:var(--text-mute)}.app-status{height:22px;border-radius:999px;border:1px solid var(--line);padding:0 9px;font-size:11px;display:inline-flex;align-items:center;font-weight:700;background:var(--surface-soft)}.app-status.good{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 42%,transparent);background:color-mix(in srgb,var(--ok) 14%,transparent)}.app-status.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 42%,transparent);background:color-mix(in srgb,var(--warn) 14%,transparent)}.app-card-desc{margin:0;font-size:13px;color:var(--text-soft);line-height:1.56}.app-card-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.app-tag{height:22px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-mute);display:inline-flex;align-items:center;padding:0 9px;font-size:11px;font-weight:700}.app-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.apps-pagination{margin-top:12px}.app-detail-modal{width:min(760px,100%)}.app-detail-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.app-detail-item{border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);padding:9px 10px;display:grid;grid-gap:4px;gap:4px}.app-detail-item span{font-size:11px;color:var(--text-mute)}.app-detail-item strong{font-size:13px;color:var(--text)}.app-detail-block{margin-top:12px}.app-detail-block h3{margin:0;font-size:14px}.app-detail-redirects{margin:8px 0 0;padding:0;list-style:none;display:grid;grid-gap:7px;gap:7px}.app-detail-redirects li{border:1px solid var(--line);border-radius:9px;padding:8px 9px}.app-detail-redirects li,.app-secret-value{background:var(--surface-soft);font-size:12px;overflow-wrap:anywhere}.app-secret-value{margin:8px 0 0;border:1px dashed var(--line);border-radius:9px;padding:9px 10px;line-height:1.55;white-space:pre-wrap}.delete-modal{width:min(680px,100%)}.delete-alert{margin:0;border:1px solid color-mix(in srgb,var(--danger) 34%,transparent);border-radius:10px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--text-soft);padding:10px;line-height:1.55}.delete-checks{margin-top:12px;display:grid;grid-gap:8px;gap:8px}.delete-check-item{border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);display:flex;align-items:flex-start;gap:8px;padding:9px 10px;font-size:13px;color:var(--text-soft)}.delete-check-item input[type=checkbox]{margin-top:2px}.empty-state{margin-top:12px;border:1px dashed var(--line);border-radius:12px;padding:16px;display:grid;grid-gap:10px;gap:10px;background:var(--surface-soft)}.empty-state h3{margin:0;font-size:17px}.empty-state p{margin:0;color:var(--text-soft);line-height:1.6;font-size:13px}.table-pagination{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.field-inline{display:flex;align-items:center;gap:8px}.field-inline input[type=checkbox]{width:16px;height:16px}.inline-actions,.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{height:var(--btn-height);border-radius:var(--btn-radius);border:1px solid transparent;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{color:var(--button-primary-text);border-color:transparent;background:linear-gradient(122deg,color-mix(in srgb,var(--brand) 96%,#fff 4%) 0,color-mix(in srgb,var(--brand-2) 96%,#fff 4%) 58%,color-mix(in srgb,var(--brand-3) 96%,#fff 4%) 100%);box-shadow:0 14px 22px -18px color-mix(in srgb,var(--brand-2) 52%,transparent)}.btn-secondary{color:var(--button-secondary-text);border-color:var(--line)}.btn-secondary,.btn-text{background:var(--surface-soft)}.btn-text{height:var(--btn-text-height);border-radius:var(--btn-text-radius);padding:0 10px;color:var(--button-text);border-color:var(--line)}.btn-text.danger{color:color-mix(in srgb,var(--danger) 72%,#fff 28%);border-color:color-mix(in srgb,var(--danger) 36%,transparent);background:color-mix(in srgb,var(--danger) 14%,transparent)}.table{width:100%;margin-top:12px;border-collapse:collapse;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table thead th{text-align:left;padding:11px 12px;font-size:12px;color:var(--table-head);font-weight:700;background:var(--surface-soft);border-bottom:1px solid var(--line)}.table tbody td{padding:11px 12px;font-size:13px;border-bottom:1px solid var(--line-soft);transition:background-color .16s ease}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:color-mix(in srgb,var(--surface-soft) 88%,var(--brand-2) 12%)}.table-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.table-actions .btn-text{opacity:.78;transition:opacity .14s ease,transform .14s ease}.table tbody tr:hover .table-actions .btn-text{opacity:1}.table tbody tr:hover .table-actions .btn-text:not(:disabled):hover{transform:translateY(-1px)}.pill{height:23px;border-radius:999px;display:inline-flex;align-items:center;padding:0 10px;font-size:11px;font-weight:700;border:1px solid var(--line);color:var(--text-soft);background:var(--surface)}.pill.good{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 42%,transparent);background:color-mix(in srgb,var(--ok) 16%,transparent)}.pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 42%,transparent);background:color-mix(in srgb,var(--warn) 16%,transparent)}:root[data-theme=light] .pill.good{color:#1f774d;border-color:color-mix(in srgb,#1f774d 36%,transparent);background:color-mix(in srgb,#1f774d 14%,#fff 86%)}:root[data-theme=light] .pill.warn{color:#94590d;border-color:color-mix(in srgb,#94590d 34%,transparent);background:color-mix(in srgb,#94590d 12%,#fff 88%)}.muted-text{font-size:13px;color:var(--text-mute)}.msg{margin-top:10px;border-radius:10px;border:1px solid transparent;padding:9px 10px;font-size:13px}.msg.ok{color:color-mix(in srgb,var(--ok) 70%,#fff 30%);border-color:color-mix(in srgb,var(--ok) 42%,transparent);background:color-mix(in srgb,var(--ok) 16%,transparent)}.msg.error{color:color-mix(in srgb,var(--danger) 72%,#fff 28%);border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 14%,transparent)}:root[data-theme=light] .msg.ok{color:#1e6a44;border-color:color-mix(in srgb,#1e6a44 34%,transparent);background:color-mix(in srgb,#1e6a44 12%,transparent)}:root[data-theme=light] .msg.error{color:#a6213a;border-color:color-mix(in srgb,#a6213a 34%,transparent);background:color-mix(in srgb,#a6213a 10%,transparent)}.mono{font-family:JetBrains Mono,Consolas,SFMono-Regular,monospace}.subtle{color:var(--text-mute)}.modal-mask{position:fixed;inset:0;padding:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 76%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60}.modal-mask-nested{z-index:72;background:color-mix(in srgb,var(--bg) 58%,transparent)}.modal-card{width:min(880px,100%);max-height:min(86vh,760px);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:0;background:var(--panel);box-shadow:var(--shadow-xl)}.modal-card.modal-card-form{width:min(760px,100%);max-height:min(84vh,720px)}.modal-header{position:-webkit-sticky;position:sticky;top:0;z-index:6;padding:10px 14px 8px;border-bottom:1px solid var(--line);background:var(--modal-header-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none}.modal-header .card-title-row{gap:8px}.modal-header .card-title-row h2{font-size:16px;line-height:1.25}.modal-header .row-actions{gap:6px}.modal-header .btn{height:32px;border-radius:8px;padding:0 11px;font-size:12px}.modal-header .muted-text{margin:4px 0 0;font-size:12px;line-height:1.45}.modal-header .msg{margin-top:6px;padding:6px 8px;font-size:12px}.modal-content{margin-top:0;overflow-y:auto;overflow-x:hidden;min-height:0;padding:12px 16px 16px}.app-editor-form{margin-top:0}.app-editor-modal{width:min(1060px,100%);max-height:min(88vh,780px)}.app-editor-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);grid-gap:12px;gap:12px;align-items:start}.bg-mode-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bg-mode-option{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-soft)}.bg-mode-option input[type=radio]{width:14px;height:14px;accent-color:var(--brand)}.field-note{margin:0;font-size:12px;line-height:1.45}.app-login-preview-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);padding:10px;display:grid;grid-gap:8px;gap:8px;min-width:0}.app-login-preview-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.app-login-preview-title-row h3{margin:0;font-size:14px;font-weight:800}.app-login-preview-surface{min-height:330px;border-radius:12px;border:1px solid var(--line);padding:10px;display:grid;place-items:center;background:linear-gradient(160deg,color-mix(in srgb,var(--bg) 82%,var(--panel) 18%) 0,color-mix(in srgb,var(--bg-soft) 86%,var(--panel-soft) 14%) 100%)}.app-login-preview-surface.with-bg{border-color:color-mix(in srgb,var(--line) 70%,var(--brand-2) 30%)}.app-login-preview-card{width:min(340px,100%);border:1px solid var(--line);border-radius:14px;padding:12px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow-lg)}.app-login-preview-head h4{margin:0;font-size:20px;font-weight:800}.app-login-preview-head p{margin:6px 0 0;color:var(--text-soft);font-size:12px;line-height:1.5}.app-login-preview-note{margin:0;font-size:12px;line-height:1.5}.doc-section{border:1px solid var(--line-soft);border-radius:12px;padding:12px;background:var(--surface-soft);min-width:0;overflow-wrap:anywhere}.doc-section+.doc-section{margin-top:10px}.doc-section h3{margin:0;font-size:14px;font-weight:800}.doc-paragraph{margin:8px 0 0;color:var(--text-soft);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.doc-kv-grid{margin-top:8px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.doc-kv-item{border:1px solid var(--line);border-radius:10px;padding:8px 9px;background:var(--panel-soft);display:grid;grid-gap:3px;gap:3px;min-width:0}.doc-k{font-size:11px;color:var(--text-mute)}.doc-v{font-size:12px;color:var(--text);word-break:break-word;overflow-wrap:anywhere}.doc-list{margin:8px 0 0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}.doc-list li{font-size:13px;line-height:1.55}.doc-code,.doc-list li{color:var(--text-soft);overflow-wrap:anywhere}.doc-code{margin:10px 0 0;border:1px solid var(--line);border-radius:10px;padding:11px;background:color-mix(in srgb,var(--bg) 35%,var(--surface-soft));white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:260px;max-width:100%;font:12px/1.58 JetBrains Mono,Consolas,monospace}.doc-scroll{scrollbar-width:none;-ms-overflow-style:none}.doc-scroll::-webkit-scrollbar{display:none;width:0;height:0}.doc-block{margin:12px 0 0;border:1px solid var(--line);border-radius:11px;padding:11px;background:var(--surface-soft);color:var(--text-soft);white-space:pre-wrap;word-break:break-word;font:12px/1.58 JetBrains Mono,Consolas,monospace}.reveal{animation:fade-slide .32s ease both}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}@keyframes fade-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1280px){.portal-shell{grid-template-columns:224px 1fr}.portal-shell.sidebar-collapsed{grid-template-columns:78px 1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card.primary{grid-column:span 2}.overview-head{grid-template-columns:minmax(0,1fr)}.overview-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apps-workspace{grid-template-columns:208px 1fr}.apps-card-grid{grid-template-columns:repeat(auto-fill,minmax(244px,1fr))}}@media (max-width:1024px){.portal-shell,.portal-shell.sidebar-collapsed{grid-template-columns:1fr}.portal-sidebar{position:static;height:auto;top:0;border-right:none;border-bottom:1px solid var(--line-soft)}.portal-shell.sidebar-collapsed .sidebar-brand{justify-content:flex-start;padding:6px}.portal-shell.sidebar-collapsed .sidebar-brand-text{display:grid}.portal-shell.sidebar-collapsed .sidebar-brand-logo{width:34px;height:34px}.portal-shell.sidebar-collapsed .portal-nav-item{justify-content:flex-start;padding:10px 11px}.portal-shell.sidebar-collapsed .nav-text-wrap{display:grid}.portal-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-toggle-btn{display:none}.portal-main{padding:14px}.apps-function-head{flex-direction:column;align-items:flex-start}.apps-function-metrics{width:100%;max-width:320px}.apps-workspace{grid-template-columns:1fr}.apps-category-panel{min-height:0}.apps-category-list{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-editor-layout,.hero-panel,.hero-panel.slim,.overview-workbench{grid-template-columns:1fr}.app-login-preview-surface{min-height:260px}.org-department-layout{grid-template-columns:1fr}}@media (max-width:760px){.topbar-actions{justify-content:space-between;width:100%;gap:6px}.portal-main{padding:12px}.portal-main-header{padding:0 10px}.theme-toggle span:last-child{display:none}.user-name{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-nav{grid-template-columns:1fr}.portal-header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:flex-start}.hero-main h2,.portal-header h1{font-size:21px}.card.auth-needed{flex-direction:column;align-items:flex-start}.stat-grid{grid-template-columns:1fr}.stat-card.primary{grid-column:auto}.overview-head{padding:12px}.overview-head-main h2{font-size:21px}.overview-meta-inline{gap:6px}.overview-kpi-grid{grid-template-columns:1fr}.kpi-value{font-size:30px}.overview-login-bars-wrap{overflow-x:auto}.overview-login-bars{min-width:560px}.overview-priority-item{flex-direction:column;align-items:flex-start}.overview-priority-item .overview-priority-cta{min-width:0;padding:0 10px}.table{display:block;overflow:auto;white-space:nowrap}.search-input{max-width:none}.apps-function-main h2{font-size:24px}.apps-tools-row{width:100%;flex-wrap:wrap}.apps-card-grid,.apps-category-list{grid-template-columns:1fr}.apps-primary-btn,.apps-search,.apps-sort,.apps-sort-wrap{width:100%;max-width:none}.table-pagination{flex-direction:column;align-items:flex-start}.doc-kv-grid,.org-form-grid{grid-template-columns:1fr}.app-login-preview-card,.org-select{width:100%}}