:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-navy:#26262d;--brand-ink:#2d2d35;--brand-sand:#e0dcd3;--brand-blue:#55aeff;--brand-lilac:#f2abf4;--brand-green:#89e8a2;--brand-orange:#ff885f;--brand-orange-deep:#f26b3c;--brand-blue-deep:#1d95ff;--brand-lilac-deep:#d95af4;--brand-green-deep:#5fce7e;--brand-purple:#c06ff1;--brand-yellow:#ffec00;--brand-yellow-deep:#ffb800;--bg-app:#f2f1f0;--bg-surface:#fff;--bg-sunken:#f7f6f5;--bg-hover:#f2f1f0;--bg-active:#eae8e6;--text-strong:#26262d;--text:#3f3f46;--text-muted:#6b6b75;--text-faint:#9a9aa3;--line:#e4e2df;--line-soft:#edebe8;--accent:var(--brand-blue);--accent-hover:var(--brand-blue-deep);--accent-contrast:#fff;--accent-soft:color-mix(in srgb, var(--brand-blue) 12%, var(--bg-surface));--success:#2e9e5b;--success-soft:color-mix(in srgb, var(--brand-green) 26%, var(--bg-surface));--danger:#e5533d;--danger-soft:color-mix(in srgb, #e5533d 10%, var(--bg-surface));--avatar-bg:#eae8e6;--avatar-text:#55555f;--canvas-grad:linear-gradient(135deg, #faf6f4 0%, #fdfcfb 34%, #fff 62%, #fbfaf9 100%);--canvas-dot:#d8d5d1;--connector:#cfccc8;--ring:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);--shadow-sm:0 1px 2px #26262d0d, 0 1px 1px #26262d08;--shadow-md:0 10px 24px -8px #26262d24, 0 2px 6px #26262d0f;--shadow-lg:0 24px 60px -12px #26262d3d, 0 8px 20px -8px #26262d1f;--scrim:#26262d6b;--f-display:"Baloo 2", ui-rounded, "Segoe UI", sans-serif;--f-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--r-pill:999px;--r-card:16px;--r-field:12px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#1d222c;--bg-surface:#242934;--bg-sunken:#1a1e27;--bg-hover:#2b313d;--bg-active:#333a47;--text-strong:#f4f4f6;--text:#d6d8de;--text-muted:#9ba0ac;--text-faint:#6e7481;--line:#333a47;--line-soft:#2c323d;--accent-soft:color-mix(in srgb, var(--brand-blue) 20%, var(--bg-surface));--success:#6fd394;--success-soft:color-mix(in srgb, var(--brand-green) 18%, var(--bg-surface));--danger:#ff7a63;--danger-soft:color-mix(in srgb, #ff7a63 16%, var(--bg-surface));--avatar-bg:#333a47;--avatar-text:#c9ccd4;--canvas-grad:linear-gradient(135deg, #20252f 0%, #1f242e 36%, #22273190 62%, #1e232d 100%);--canvas-dot:#363e4c;--connector:#3c4453;--shadow-sm:0 1px 2px #00000057;--shadow-md:0 10px 24px -8px #00000080, 0 2px 6px #0000004d;--shadow-lg:0 24px 60px -12px #0000009e, 0 8px 20px -8px #0006;--scrim:#0a0c109e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#1d222c;--bg-surface:#242934;--bg-sunken:#1a1e27;--bg-hover:#2b313d;--bg-active:#333a47;--text-strong:#f4f4f6;--text:#d6d8de;--text-muted:#9ba0ac;--text-faint:#6e7481;--line:#333a47;--line-soft:#2c323d;--accent-soft:color-mix(in srgb, var(--brand-blue) 20%, var(--bg-surface));--success:#6fd394;--success-soft:color-mix(in srgb, var(--brand-green) 18%, var(--bg-surface));--danger:#ff7a63;--danger-soft:color-mix(in srgb, #ff7a63 16%, var(--bg-surface));--avatar-bg:#333a47;--avatar-text:#c9ccd4;--canvas-grad:linear-gradient(135deg, #20252f 0%, #1f242e 36%, #22273190 62%, #1e232d 100%);--canvas-dot:#363e4c;--connector:#3c4453;--shadow-sm:0 1px 2px #00000057;--shadow-md:0 10px 24px -8px #00000080, 0 2px 6px #0000004d;--shadow-lg:0 24px 60px -12px #0000009e, 0 8px 20px -8px #0006;--scrim:#0a0c109e}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--f-body);color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased}button{font-family:inherit}h1,h2,h3,h4,.f-display{font-family:var(--f-display);color:var(--text-strong)}.app{height:100vh;display:flex;overflow:hidden}.brand-mark{color:var(--accent);flex:none}.brand-word{letter-spacing:.045em;color:var(--text-strong);font-size:14px;font-weight:800;font-family:var(--f-body)}.sidebar{background:var(--bg-surface);border-right:1px solid var(--line-soft);flex-direction:column;flex:none;width:230px;padding:18px 14px;transition:width .3s cubic-bezier(.22,1,.36,1);display:flex;overflow-x:hidden}.logo{align-items:center;gap:9px;padding:4px 6px 22px;display:flex}.logo .side-toggle{margin-left:auto}.side-toggle{width:26px;height:26px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.side-toggle svg{width:16px;height:16px;transition:transform .25s}.side-toggle:hover{background:var(--bg-hover);color:var(--text)}.mobile-close{width:26px;height:26px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:none}.mobile-close svg{width:16px;height:16px}.mobile-close:hover{background:var(--bg-hover);color:var(--text)}.nav-item{color:var(--text);white-space:nowrap;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;font-weight:600;text-decoration:none;display:flex}button.nav-item{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;font-family:inherit}.nav-item .left{align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.nav-item svg,.nav-item i{opacity:.6;flex:none;width:16px;height:16px}.nav-item:hover{background:var(--bg-hover)}.nav-item.active{color:var(--accent);background:var(--bg-hover)}.nav-item.active svg,.nav-item.active i{opacity:1}.side-sep{background:var(--line-soft);flex:none;height:1px;margin:14px 4px}.side-foot{margin-top:auto}.side-foot .nav-item{color:var(--text-muted);font-weight:500}.profile{border-top:1px solid var(--line-soft);align-items:center;gap:10px;margin-top:8px;padding:12px 8px 4px;display:flex}.profile .pav{background:var(--brand-navy);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.profile b{color:var(--text-strong);white-space:nowrap;font-size:12.5px;display:block}.profile span{color:var(--text-muted);white-space:nowrap;font-size:11px}.chev{flex:none;transition:transform .2s}.nav-section.open .chev{transform:rotate(180deg)}.nav-sub{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.22,1,.36,1);display:grid}.nav-section.open .nav-sub{grid-template-rows:1fr}.nav-sub-in{border-left:1.5px solid var(--line-soft);flex-direction:column;gap:1px;min-height:0;margin:2px 0 6px 25px;padding-left:13px;display:flex;overflow:hidden}.nav-sub-item{color:var(--text-muted);white-space:nowrap;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;font-weight:600;text-decoration:none;display:flex}.nav-sub-item:hover{background:var(--bg-hover);color:var(--text)}.nav-sub-item.active{background:var(--accent-soft);color:var(--accent)}.nav-badge{color:var(--success);background:var(--success-soft);border-radius:var(--r-pill);flex:none;padding:1px 7px;font-size:10px;font-weight:800}.sidebar.collapsed{width:68px;padding:18px 10px}.sidebar.collapsed .brand-word,.sidebar.collapsed .nav-item .left span,.sidebar.collapsed .nav-badge,.sidebar.collapsed .chev,.sidebar.collapsed .nav-sub,.sidebar.collapsed .profile>div:last-child{display:none}.sidebar.collapsed .logo{justify-content:center;padding-left:10px;padding-right:10px;position:relative}.sidebar.collapsed .brand-mark{transition:opacity .15s}.sidebar.collapsed .logo .side-toggle{opacity:0;pointer-events:none;justify-content:center;align-items:center;margin:0;transition:opacity .15s;display:flex;position:absolute;inset:4px 10px 22px}.sidebar.collapsed .logo:hover .brand-mark,.sidebar.collapsed .logo:focus-within .brand-mark{opacity:0}.sidebar.collapsed .logo:hover .side-toggle,.sidebar.collapsed .logo:focus-within .side-toggle{opacity:1;pointer-events:auto}.sidebar.collapsed .side-toggle svg{transform:rotate(180deg)}.sidebar.collapsed .nav-item{justify-content:center}.sidebar.collapsed .nav-item .left{gap:0}.sidebar.collapsed .profile{justify-content:center}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line-soft);background:var(--bg-surface);flex:none;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex}.topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.hamburger-btn{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:none}.hamburger-btn svg{width:19px;height:19px}.hamburger-btn:hover{background:var(--bg-hover)}.page-title{font-size:17px;font-weight:700;font-family:var(--f-display);color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topnav{color:var(--text);align-items:center;gap:22px;font-size:13.5px;font-weight:600;display:flex}.topnav a{color:inherit;border-bottom:2px solid #0000;margin-bottom:-1px;padding:19px 0;text-decoration:none}.topnav a:hover{color:var(--accent)}.topnav a.active{color:var(--accent);border-bottom-color:var(--accent)}.notif{position:relative}.bell{opacity:.7;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;transition:opacity .15s;display:flex;position:relative}.bell:hover{opacity:1}.bell svg{width:17px;height:17px}.bell .dot{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:800;display:flex;position:absolute;top:-4px;right:-5px}.notif-pop{background:var(--bg-surface);border:1px solid var(--line-soft);width:366px;max-height:70vh;box-shadow:var(--shadow-lg);z-index:90;opacity:0;visibility:hidden;transform-origin:100% 0;border-radius:18px;flex-direction:column;transition:opacity .18s,transform .18s cubic-bezier(.22,1,.36,1),visibility 0s .18s;display:flex;position:absolute;top:calc(100% + 15px);right:-10px;overflow:hidden;transform:translateY(-8px)scale(.98)}.notif-pop.open{opacity:1;visibility:visible;transition:opacity .18s,transform .18s cubic-bezier(.22,1,.36,1),visibility;transform:translateY(0)scale(1)}.notif-head{flex:none;justify-content:space-between;align-items:center;padding:16px 16px 8px;display:flex}.notif-head h4{font-size:15px;font-weight:800;font-family:var(--f-display);margin:0}.notif-head-ac{gap:2px;display:flex}.notif-head-ac button{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:flex}.notif-head-ac button svg{width:15px;height:15px}.notif-head-ac button:hover{background:var(--bg-hover);color:var(--text)}.notif-tabs{border-bottom:1px solid var(--line-soft);flex:none;gap:18px;padding:4px 16px 0;display:flex}.notif-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 0 10px;font-family:inherit;font-size:13px;font-weight:700;display:flex}.notif-tabs button:hover{color:var(--text)}.notif-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.notif-count{color:var(--accent-contrast);background:var(--accent);border-radius:var(--r-pill);padding:1px 6px;font-size:10.5px;font-weight:800}.notif-list{flex:1;min-height:60px;padding:6px;overflow-y:auto}.notif-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:flex-start;gap:10px;width:100%;padding:10px;font-family:inherit;display:flex}.notif-item:hover{background:var(--bg-hover)}.notif-item.unread{background:var(--accent-soft)}.notif-item.unread:hover{background:color-mix(in srgb, var(--accent-soft) 70%, var(--bg-hover))}.notif-item-dot{background:0 0;border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.notif-item.unread .notif-item-dot{background:var(--accent)}.notif-item-body{min-width:0}.notif-item-body b{color:var(--text-strong);font-size:12.5px;font-weight:700;display:block}.notif-item-body p{color:var(--text-muted);margin:2px 0 0;font-size:12px;line-height:1.4}.notif-item-time{color:var(--text-faint);margin-top:4px;font-size:11px;display:block}.notif-empty{color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:34px 20px;font-size:12.5px;display:flex}.notif-empty svg{width:26px;height:26px}.notif-foot{color:var(--accent);border-top:1px solid var(--line-soft);flex:none;justify-content:center;align-items:center;gap:4px;padding:12px;font-size:12.5px;font-weight:700;text-decoration:none;display:flex}.notif-foot svg{width:14px;height:14px}.notif-foot:hover{background:var(--bg-hover)}.sidebar-scrim{background:var(--scrim);z-index:55;position:fixed;inset:0}@media (width<=900px){.hamburger-btn{display:flex}.side-toggle{display:none}.mobile-close{display:flex}.sidebar{z-index:60;border-right:0;border-bottom:1px solid var(--line-soft);max-height:88vh;box-shadow:var(--shadow-lg);border-radius:0 0 22px 22px;padding:16px 16px 22px;transition:transform .34s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;right:0;overflow-y:auto;transform:translateY(-100%);width:auto!important}.sidebar.mobile-open{transform:translateY(0)}.sidebar.collapsed{padding:16px 16px 22px}.sidebar.collapsed .brand-word,.sidebar.collapsed .nav-item .left span,.sidebar.collapsed .nav-badge,.sidebar.collapsed .chev,.sidebar.collapsed .profile>div:last-child{display:initial}.sidebar.collapsed .nav-sub{display:grid}.sidebar.collapsed .logo,.sidebar.collapsed .nav-item{justify-content:space-between}.sidebar.collapsed .nav-item .left{gap:10px}.sidebar.collapsed .profile{justify-content:flex-start}}.tabs{background:var(--bg-sunken);border-bottom:1px solid var(--line-soft);gap:10px;padding:14px 28px;display:flex;overflow-x:auto}.tab{border-radius:var(--r-pill);font-size:13px;font-weight:600;font-family:var(--f-display);background:var(--bg-surface);color:var(--text);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);border:0;padding:9px 20px;text-decoration:none;transition:background .15s,color .15s}.tab:hover,.tab.active{background:var(--accent);color:var(--accent-contrast)}.content{background:var(--bg-app);flex-direction:column;flex:1;min-height:0;padding:20px;display:flex;overflow:auto}.panel{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-card);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.panel-head,.tip-row{min-height:0;max-height:220px;transition:max-height .34s cubic-bezier(.22,1,.36,1),padding .34s cubic-bezier(.22,1,.36,1),opacity .2s .1s,visibility;overflow:hidden}.panel-fullscreen .panel-head,.panel-fullscreen .tip-row{opacity:0;visibility:hidden;max-height:0;padding-top:0;padding-bottom:0;transition:max-height .34s cubic-bezier(.22,1,.36,1),padding .34s cubic-bezier(.22,1,.36,1),opacity .18s,visibility 0s .34s}.panel-head{flex:none;justify-content:space-between;align-items:flex-end;gap:20px;padding:22px 22px 14px;display:flex}.eyebrow{letter-spacing:.07em;color:var(--text-muted);text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:700}.panel-head h1{letter-spacing:-.01em;font-size:25px;font-weight:700;font-family:var(--f-display);margin:0}.title-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.panel-head .desc{text-align:right;max-width:330px;color:var(--text-muted);font-size:13.5px;line-height:1.55}.panel-head .toolbar{flex:none;padding:0}.toolbar{flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:0 22px 12px;display:flex}.search{background:var(--bg-sunken);border:1px solid var(--line-soft);border-radius:var(--r-pill);align-items:center;gap:8px;width:290px;padding:9px 15px;transition:all .15s;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:var(--ring);background:var(--bg-surface)}.search i,.search svg{opacity:.55;flex:none;width:15px;height:15px}.search input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-family:inherit;font-size:13px}.search input::placeholder{color:var(--text-faint)}.segmented{background:var(--bg-sunken);border-radius:var(--r-pill);flex:none;gap:2px;padding:3px;display:flex}.segmented button{border-radius:var(--r-pill);color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:7px 15px;font-size:12.5px;font-weight:700;display:flex}.segmented button i{width:14px;height:14px}.segmented button.active{background:var(--accent);color:var(--accent-contrast)}.spacer{flex:1}.stat-chip{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.stat-chip b{color:var(--text);font-weight:800}.btn{border:1.5px solid var(--accent);border-radius:var(--r-pill);font-size:13.5px;font-weight:600;font-family:var(--f-body);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:9px 18px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn i{width:14px;height:14px}.btn:hover{background:var(--accent);color:var(--accent-contrast)}.btn:disabled{background:var(--bg-sunken);color:var(--text-faint);cursor:not-allowed;border-color:#0000}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-contrast)}.btn-primary:disabled{background:var(--bg-surface);color:var(--text-muted);box-shadow:var(--shadow-sm);border-color:#0000}.btn-neutral{border-color:var(--line);color:var(--text)}.btn-neutral:hover{background:var(--bg-hover);border-color:var(--line);color:var(--text)}.btn-danger{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn .btn-badge{background:var(--accent);width:20px;height:20px;color:var(--accent-contrast);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:-8px;display:flex}.btn .btn-badge i{width:11px;height:11px}.btn:hover .btn-badge{background:var(--accent-contrast);color:var(--accent)}.tip-row{flex-wrap:wrap;flex:none;align-items:center;gap:16px;padding:0 22px 14px;display:flex}.tip{color:var(--text-muted);align-items:center;gap:8px;font-size:13.5px;font-weight:400;display:flex}.tip i,.tip svg{color:var(--accent);width:13px;height:13px}.tip.grey{color:var(--text-faint)}kbd{background:var(--bg-sunken);border:1px solid var(--line);color:var(--text);border-bottom-width:2px;border-radius:5px;padding:1px 5px;font-family:inherit;font-size:10px;font-weight:700}.overlay{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;justify-content:center;align-items:center;padding:28px;display:none;position:fixed;inset:0}.overlay.open{display:flex}.modal{background:var(--bg-surface);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;width:100%;max-width:520px;max-height:100%;display:flex;overflow:hidden}.modal-head{flex:none;padding:22px 26px 16px;position:relative}.modal-head .eyebrow{margin-bottom:5px}.modal-head h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:800}.modal-head p{color:var(--text-muted);margin:5px 0 0;font-size:13px;line-height:1.5}.x{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.x i,.x svg{width:17px;height:17px}.x:hover{background:var(--bg-hover);color:var(--text-strong)}.modal-body{border-top:1px solid var(--line-soft);padding:18px 26px 22px;overflow:auto}.modal-foot{border-top:1px solid var(--line-soft);background:var(--bg-sunken);flex:none;justify-content:flex-end;gap:10px;padding:16px 26px;display:flex}.field{margin-bottom:18px}.field:last-child{margin-bottom:0}.field label{color:var(--text-strong);margin-bottom:7px;font-size:12.5px;font-weight:800;display:block}.field .hint{color:var(--text-muted);margin-top:7px;font-size:11.5px;line-height:1.5}.input{border:1px solid var(--line);border-radius:var(--r-field);background:var(--bg-surface);width:100%;color:var(--text);outline:0;padding:10px 14px;font-family:inherit;font-size:13.5px}.input:focus{border-color:var(--accent);box-shadow:var(--ring)}.input::placeholder{color:var(--text-faint)}.banner{background:var(--bg-sunken);border:1px solid var(--line-soft);border-radius:var(--r-field);margin-bottom:18px;padding:12px 14px;display:block}.banner b{color:var(--text-strong);margin-bottom:2px;font-size:13px;font-weight:700;display:block}.banner span{color:var(--text-muted);font-size:12.5px;line-height:1.5}.banner.warn{background:var(--danger-soft)}.avatar{width:52px;height:52px;color:var(--avatar-text);background:var(--avatar-bg);font-size:16px;font-weight:600;font-family:var(--f-body);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.ctx{z-index:70;background:var(--bg-surface);border:1px solid var(--line-soft);min-width:212px;box-shadow:var(--shadow-lg);border-radius:14px;padding:6px;display:none;position:fixed}.ctx.open{display:block}.ctx button{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:9px 11px;font-size:13px;font-weight:600;display:flex}.ctx button:hover{background:var(--bg-hover);color:var(--accent)}.ctx button i,.ctx button svg{opacity:.75;flex:none;width:15px;height:15px}.ctx .sep{background:var(--line-soft);height:1px;margin:5px 6px}.ctx .danger{color:var(--danger)}.ctx .danger:hover{background:var(--danger-soft);color:var(--danger)}.ive-bar{background:var(--bg-app);flex:none;padding:6px 28px 20px}.ive-shell{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-pill);max-width:1040px;box-shadow:var(--shadow-md);align-items:center;gap:12px;margin:0 auto;padding:8px 10px 8px 18px;display:flex}.ive-plus,.ive-mic{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.ive-plus{border-color:var(--line);background:var(--bg-sunken)}.ive-plus:hover,.ive-mic:hover{background:var(--bg-hover);color:var(--text)}.ive-plus i,.ive-mic i{width:15px;height:15px}.ive-shell input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-family:inherit;font-size:13.5px}.ive-shell input::placeholder{color:var(--text-faint)}.ive-goal{color:var(--text-muted);border-radius:var(--r-pill);background:var(--bg-sunken);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:7px 13px;font-size:12.5px;font-weight:600;display:flex}.ive-goal:hover{background:var(--bg-hover)}.ive-goal i{width:13px;height:13px}.ive-send{background:var(--brand-lilac-deep);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ive-send:hover{background:color-mix(in srgb, var(--brand-lilac-deep) 82%, black)}.ive-send i{width:15px;height:15px}.toast{z-index:120;background:var(--bg-surface);border:1px solid var(--line-soft);border-left:4px solid var(--success);box-shadow:var(--shadow-lg);color:var(--text-strong);opacity:0;pointer-events:none;border-radius:13px;align-items:center;gap:10px;padding:13px 18px;font-size:13px;font-weight:700;transition:all .22s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(10px)}.toast.show{opacity:1;transform:translateY(0)}.toast i,.toast svg{color:var(--success);flex:none;width:17px;height:17px}.canvas-wrap{border:1px solid var(--line);border-radius:var(--r-field);flex:1;min-height:0;margin:0 22px 22px;transition:margin .34s cubic-bezier(.22,1,.36,1),border-radius .34s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.canvas-wrap-fullscreen{margin:8px}.canvas{cursor:grab;touch-action:none;background-image:radial-gradient(circle, var(--canvas-dot) 1.2px, transparent 1.2px), var(--canvas-grad);background-position:0 0,0 0;background-repeat:repeat,no-repeat;background-size:22px 22px,cover;position:absolute;inset:0;overflow:hidden}.canvas.grabbing{cursor:grabbing}.canvas.grabbing *{pointer-events:none}.canvas.animating{transition:background-position .42s cubic-bezier(.22,1,.36,1),background-size .42s cubic-bezier(.22,1,.36,1)}#panLayer{transform-origin:0 0;will-change:transform;padding:56px 40px 90px;position:absolute;top:0;left:0}#panLayer.animating{transition:transform .42s cubic-bezier(.22,1,.36,1)}.tree,.tree ul,.tree li{margin:0;padding:0;list-style:none}.tree{text-align:center;z-index:1;display:inline-block;position:relative}.tree ul{justify-content:center;padding-top:44px;display:flex;position:relative}.tree li{flex-direction:column;align-items:center;padding:44px 16px 0;display:flex;position:relative}.tree li.collapsed>ul{display:none}#treeSvg{pointer-events:none;z-index:0;position:absolute;top:0;left:0;overflow:visible}#treeSvg path{fill:none;stroke:var(--connector);stroke-width:1.5px}.node-shell{padding-bottom:30px;position:relative}.node{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-card);width:338px;box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;padding:14px 14px 16px;transition:box-shadow .15s,border-color .15s,transform .15s;position:relative}.node-shell:hover .node{box-shadow:var(--shadow-md);transform:translateY(-1px)}.node.selected{border-color:var(--accent);box-shadow:var(--ring), var(--shadow-md)}.node-top{align-items:flex-start;gap:12px;display:flex}.node .avatar{width:52px;height:52px}.node .avatar,.node .node-id{cursor:pointer}.node-id{flex:1;min-width:0;padding-top:1px}.node-role{display:none}.node-name{font-family:var(--f-display);letter-spacing:-.022em;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);margin-top:0;font-size:18px;font-weight:800;line-height:1.12;overflow:hidden}.node-lead{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:14px;font-weight:400;overflow:hidden}.node-lead.none{color:var(--text-faint);font-style:italic}.kebab{width:26px;height:26px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-4px -6px 0 0;line-height:1;display:flex}.kebab i{width:16px;height:16px}.kebab:hover{background:var(--bg-hover);color:var(--text)}.node-bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:11px;padding-left:70px;display:flex}.members{color:var(--m-color,var(--accent));flex:none;align-items:center;gap:5px;display:flex}.members i,.members svg{flex:none;width:15px;height:15px}.m-count{color:var(--text);white-space:nowrap;font-size:13px;font-weight:400}.m-count b{color:var(--text-strong);font-weight:700}.sub-pill{border:1.5px solid var(--accent);color:var(--accent);border-radius:var(--r-pill);white-space:nowrap;cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--f-body);background:0 0;flex:none;align-items:center;gap:5px;padding:4px 11px;line-height:1.3;transition:background .15s,color .15s;display:flex}.sub-pill:hover{background:var(--accent);color:var(--accent-contrast)}.sub-pill i,.sub-pill svg{flex:none;width:10px;height:10px;transition:transform .15s}li:not(.collapsed)>.node-shell .sub-pill i,li:not(.collapsed)>.node-shell .sub-pill svg{transform:rotate(180deg)}.no-sub{color:var(--text-faint);white-space:nowrap;padding:5px 2px;font-size:12px;font-weight:400}.plus-btn{width:26px;height:26px;color:color-mix(in srgb, var(--text-strong) 62%, transparent);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .13s,transform .13s,color .13s;display:flex}.plus-btn i,.plus-btn svg{width:18px;height:18px}.add-below{cursor:pointer;opacity:0;z-index:4;background:0 0;border:0;justify-content:center;align-items:center;width:90px;height:50px;padding:0;display:flex;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)scale(.7)}.add-below .plus-btn{width:26px;height:26px}.node-shell:hover .add-below{opacity:.62;transform:translate(-50%)scale(1)}.node-shell:hover .add-below:hover,.add-below:focus-visible{opacity:1}.add-below:hover .plus-btn{color:var(--accent)}.side-zone{cursor:pointer;z-index:3;background:0 0;border:0;justify-content:center;align-items:center;width:70px;padding:0;display:none;position:absolute;top:0;bottom:22px}li:first-child>.node-shell>.side-zone.left,li:last-child>.node-shell>.side-zone.right{display:flex}.side-zone.left{left:-74px}.side-zone.right{right:-74px}li.is-root>.node-shell>.side-zone{display:none!important}.side-zone .zbtn{opacity:0;transform:scale(.7)}.node-shell:hover>.side-zone .zbtn{opacity:.62;transform:scale(1)}.side-zone:hover .zbtn{opacity:1;color:var(--accent);transform:scale(1)}.side-zone.drop-bad .zbtn,.add-below.drop-bad .plus-btn{opacity:1;color:var(--danger);transform:scale(1)}body.dnd-active .add-below{opacity:.68}body.dnd-active .add-below:hover,body.dnd-active .add-below.drop-ok,body.dnd-active .add-below.drop-bad{opacity:1}body.dnd-active .side-zone .zbtn{opacity:.68}body.dnd-active .side-zone:hover .zbtn,body.dnd-active .side-zone.drop-bad .zbtn{opacity:1}.add-below.drop-ok .plus-btn,.side-zone.drop-ok .zbtn,body.dnd-active .add-below.drop-ok .plus-btn,body.dnd-active .side-zone.drop-ok .zbtn{opacity:0}body.dnd-active .node *{pointer-events:none}.ghost-card{border:2px dashed var(--accent);background:var(--accent-soft);color:var(--accent);pointer-events:none;z-index:2;opacity:0;border-radius:18px;justify-content:center;align-items:center;transition:opacity .1s,left .1s,top .1s;display:none;position:absolute}.ghost-card.show{opacity:1;display:flex}.node[draggable]{cursor:grab}.node.dragging{opacity:.4}.drag-preview{pointer-events:none;box-shadow:var(--shadow-lg);border-color:var(--accent);margin:0;position:fixed;top:0;left:-10000px}.node.drop-ok{background:var(--accent-soft);border-color:var(--accent)!important;box-shadow:var(--ring), var(--shadow-md)!important}.node.drop-bad{cursor:no-drop;border-color:var(--danger)!important;box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 20%, transparent), var(--shadow-md)!important}.listview{background:var(--bg-surface);padding:14px 18px 46px;display:none;position:absolute;inset:0;overflow:auto}.lrow{border-radius:var(--r-field);cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;display:flex}.lrow:hover{background:var(--bg-hover);border-color:var(--line-soft)}.lrow .chev{width:20px;height:20px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;transition:transform .15s;display:flex}.lrow .chev i{width:13px;height:13px}.lrow .chev.chev-empty{opacity:0}.lgroup.collapsed>.lrow .chev{transform:rotate(-90deg)}.lgroup.collapsed>.lchildren{display:none}.lchildren{margin-left:34px;position:relative}.lchildren:before{content:"";background:var(--line-soft);width:1px;position:absolute;top:0;bottom:10px;left:-5px}.lrow .avatar{width:38px;height:38px;font-size:12px}.lrow .node-name{font-size:15px}.lrow .node-lead{margin-top:0;font-size:13px}.lrow .node-id{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.lrow .right{flex:none;align-items:center;gap:14px;margin-left:auto;display:flex}.lrow .kebab{opacity:0}.lrow:hover .kebab{opacity:1}.corner-controls{z-index:5;flex-direction:column;align-items:stretch;gap:10px;display:flex;position:absolute;top:22px;right:22px}.map-tools,.zoom{background:var(--bg-surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-md);border-radius:13px;flex-direction:column;display:flex;overflow:hidden}.map-tool,.zoom button{background:var(--bg-surface);width:38px;height:34px;color:var(--text);cursor:pointer;border:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.map-tool i,.map-tool svg,.zoom button i{width:14px;height:14px}.map-tool:hover,.zoom button:hover{background:var(--accent);color:var(--accent-contrast)}.map-tool+.map-tool{border-top:1px solid var(--line-soft)}.zoom .pct{text-align:center;color:var(--text-muted);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:5px 0;font-size:10px;font-weight:700}.zoom .fit{border-top:1px solid var(--line-soft)}.empty-canvas{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:none;position:absolute;inset:0}.empty-canvas i,.empty-canvas svg{width:40px;height:40px;color:var(--text-faint)}.empty-canvas b{color:var(--text-strong);margin-bottom:2px;font-size:15px;display:block}#ovTeam .modal-body,#ovTeam .modal{overflow:visible}.combo{position:relative}.combo-btn{border:1px solid var(--line);border-radius:var(--r-field);background:var(--bg-surface);cursor:pointer;text-align:left;width:100%;color:var(--text);align-items:center;gap:10px;padding:8px 12px;display:flex}.combo-btn:hover{border-color:var(--accent)}.combo-btn.open{border-color:var(--accent);box-shadow:var(--ring)}.combo-btn .avatar{width:28px;height:28px;font-size:10px}.combo-btn .who{flex:1;min-width:0}.combo-btn .who b{text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);font-size:13px;font-weight:700;display:block;overflow:hidden}.combo-btn .who span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.combo-btn .ph{color:var(--text-faint);padding:4px 0;font-size:13.5px}.combo-btn .chev-ic{width:13px;height:13px;color:var(--text-faint);margin-left:auto}.combo-pop{background:var(--bg-surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);z-index:20;border-radius:13px;display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.combo-pop.open{display:block}.combo-pop .cs{border-bottom:1px solid var(--line-soft);padding:9px 12px}.combo-pop .cs input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-family:inherit;font-size:13px}.combo-list{max-height:196px;padding:5px;overflow:auto}.combo-list button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;padding:7px 9px;display:flex}.combo-list button:hover{background:var(--bg-hover)}.combo-list .avatar{width:26px;height:26px;font-size:9.5px}.combo-list b{color:var(--text-strong);font-size:12.5px;font-weight:700;display:block}.combo-list span{color:var(--text-muted);font-size:11px;display:block}.combo-list .none{text-align:center;color:var(--text-faint);padding:14px;font-size:12px}.combo-list .check{color:var(--accent);width:15px;height:15px;margin-left:auto}.chips{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.chip{background:var(--bg-sunken);border:1px solid var(--line-soft);border-radius:var(--r-pill);color:var(--text-strong);align-items:center;gap:7px;padding:4px 5px;font-size:12px;font-weight:700;display:flex}.chip .avatar{width:20px;height:20px;font-size:8px}.chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:13px;line-height:1}.chip button:hover{color:var(--danger)}.chip-add{border:1px dashed var(--line);background:var(--bg-surface);border-radius:var(--r-pill);color:var(--accent);cursor:pointer;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:700;display:flex}.chip-add i{width:12px;height:12px}.chip-add:hover{border-color:var(--accent);background:var(--accent-soft)}.modal-wide{width:100%;max-width:1520px;height:100%;max-height:920px}.mm{flex:1;min-height:0;display:flex}.mm-side{border-right:1px solid var(--line-soft);background:var(--bg-sunken);flex:none;width:252px;padding:16px 12px;overflow:auto}.mm-side h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin:0 0 10px 8px;font-size:11px;font-weight:700}.mm-branch{position:relative}.mm-branch .mm-branch:before{content:"";background:var(--line);width:1px;position:absolute;top:-4px;bottom:14px;left:-9px}.mm-node{cursor:grab;font-family:var(--f-display);border:1.5px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:7px 9px;display:flex}.mm-node:hover{background:var(--bg-hover)}.mm-node.active{background:var(--accent-soft);border-color:var(--accent)}.mm-node.dragging{opacity:.45}.mm-node.drop-ok{background:var(--accent-soft);border-color:var(--accent)!important}.mm-node.drop-bad{background:var(--danger-soft);cursor:no-drop;border-color:var(--danger)!important}.mm-node .chev{width:14px;height:14px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;display:flex}.mm-node .chev i{width:12px;height:12px}.mm-node .mm-leaf{background:var(--line);border-radius:50%;width:4px;height:4px}.mm-node .txt{flex:1;min-width:0}.mm-node .txt b{text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);font-size:12.5px;font-weight:700;display:block;overflow:hidden}.mm-node .txt span{color:var(--text-muted);font-size:10.5px;font-family:var(--f-body);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mm-node .cnt{color:var(--text-muted);background:var(--bg-active);border-radius:var(--r-pill);flex:none;padding:1px 7px;font-size:11px;font-weight:700}.mm-node.active .cnt{background:var(--accent);color:var(--accent-contrast)}.mm-main{flex-direction:column;flex:1;min-width:0;display:flex}.mm-header{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:13px;padding:18px 24px;display:flex}.mm-header .avatar{width:44px;height:44px;font-size:15px}.mm-header h3{font-size:18px;font-weight:700;font-family:var(--f-display);align-items:center;gap:7px;margin:0;display:flex}.mm-header h3 .edit-ic{color:var(--text-faint);cursor:pointer;display:flex}.mm-header h3 .edit-ic i{width:14px;height:14px}.mm-header h3 .edit-ic:hover{color:var(--accent)}.mm-header .crumb{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.mm-header .crumb b{color:var(--text);font-weight:700}.stats{flex:none;gap:12px;padding:16px 24px 0;display:flex}.stat{border:1px solid var(--line-soft);background:var(--bg-sunken);border-radius:14px;flex:1;padding:12px 14px}.stat span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:11px;font-weight:700;display:block;overflow:hidden}.stat b{letter-spacing:-.02em;font-size:21px;font-weight:700;font-family:var(--f-display);color:var(--text-strong)}.mm-tools{flex:none;align-items:center;gap:10px;padding:16px 24px;display:flex}.mm-tools .search{flex:1;width:auto}.status-filter{border:1px solid var(--line);background:var(--bg-surface);border-radius:var(--r-pill);color:var(--text);cursor:pointer;padding:9px 15px;font-family:inherit;font-size:12.5px;font-weight:600}.mm-list{flex:1;padding:0 24px 22px;overflow:auto}table.mtable{border-collapse:collapse;width:100%;font-size:13px}.mtable thead th{background:var(--bg-surface);text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--line-soft);padding:0 10px 10px;font-size:10.5px;font-weight:700;position:sticky;top:0}.mtable thead th.ac{text-align:right}.mtable td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:12px 10px}.mtable tbody tr:hover{background:var(--bg-hover)}.mtable .cb{width:30px}.mtable .who{align-items:center;gap:10px;display:flex}.mtable .who .avatar{width:34px;height:34px;font-size:11px}.mtable .who b{color:var(--text-strong);font-size:13px;font-weight:700;display:block}.mtable .who span{color:var(--text-muted);font-size:11.5px;display:block}.cargo-txt{color:var(--text);min-height:16px;margin-bottom:4px;font-size:12.5px;font-weight:500}.cargo-txt.no-cargo{color:var(--text-faint)}.cargo-edit{border:1px solid var(--accent);background:var(--bg-surface);width:150px;color:var(--text);border-radius:8px;outline:0;margin-bottom:4px;padding:4px 9px;font-family:inherit;font-size:12.5px}.cargo-edit:focus{box-shadow:var(--ring)}.role-tag{border-radius:var(--r-pill);letter-spacing:.02em;cursor:pointer;border:0;padding:3px 10px;font-family:inherit;font-size:10.5px;font-weight:700;display:inline-block}.role-tag:hover{box-shadow:inset 0 0 0 1.5px}.role-lead{background:color-mix(in srgb, var(--brand-orange) 18%, var(--bg-surface));color:var(--brand-orange-deep)}.role-co{background:color-mix(in srgb, var(--brand-blue) 20%, var(--bg-surface));color:var(--brand-blue-deep)}.role-mem{background:var(--bg-active);color:var(--text-muted)}.role-edit{border:1px solid var(--accent);background:var(--bg-surface);color:var(--text);cursor:pointer;border-radius:8px;outline:0;padding:4px 8px;font-family:inherit;font-size:11px;font-weight:700}.role-edit:focus{box-shadow:var(--ring)}.status-pill{border-radius:var(--r-pill);align-items:center;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.on{background:var(--success-soft);color:var(--success)}.status-pill.off{background:var(--bg-active);color:var(--text-muted)}.date-txt{color:var(--text-muted);font-size:12.5px}.row-ac{justify-content:flex-end;gap:7px;display:flex}.icon-btn{border:1px solid var(--line);background:var(--bg-surface);width:30px;height:30px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex}.icon-btn i{width:14px;height:14px}.icon-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.icon-btn.danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.empty{text-align:center;border:1px dashed var(--line);border-radius:var(--r-card);margin-top:4px;padding:52px 20px}.empty b{font-size:14.5px;font-family:var(--f-display);color:var(--text-strong);margin-bottom:4px;display:block}.empty p{color:var(--text-muted);margin:0 0 14px;font-size:12.5px}.mm-drawer{border-left:1px solid var(--line-soft);background:var(--bg-surface);flex-direction:column;flex:none;width:0;transition:width .2s;display:flex;overflow:hidden}.mm-drawer.open{width:316px}.dr-in{flex-direction:column;width:316px;height:100%;display:flex}.dr-head{border-bottom:1px solid var(--line-soft);flex:none;align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.dr-head h4{margin:0;font-size:14.5px;font-weight:800}.dr-head p{color:var(--text-muted);margin:3px 0 0;font-size:11.5px}.dr-body{flex:1;padding:14px 18px;overflow:auto}.dr-foot{border-top:1px solid var(--line-soft);background:var(--bg-sunken);flex:none;padding:13px 18px}.dr-foot .btn{justify-content:center;width:100%}.pick{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 9px;display:flex}.pick:hover{background:var(--bg-hover)}.pick.on{background:var(--accent-soft);border-color:var(--accent)}.pick .avatar{width:28px;height:28px;font-size:10px}.pick .who{flex:1;min-width:0}.pick .who b{color:var(--text-strong);font-size:12.5px;font-weight:700;display:block}.pick .who span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.box{border:1.5px solid var(--line);width:18px;height:18px;color:var(--accent-contrast);border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex}.box i{width:11px;height:11px}.pick.on .box{background:var(--accent);border-color:var(--accent)}#root{height:100%}
