@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-dark:#0b0f19;--bg-card:#121828bf;--bg-input:#0f172a99;--surface-app:#090d16;--surface-sidebar:#0d1220d9;--surface-raised:#0f172a80;--surface-sunken:#0f172ad9;--surface-overlay:#020617e6;--surface-veil:#03060fb8;--surface-veil-soft:#03060f6b;--surface-solid:#101728;--surface-solid-2:#131b2e;--surface-pop:#2f3b5c;--table-head-bg:#101728;--table-head-text:#94a3b8;--panel-shadow:none;--link-sky:#bae6fd;--link-blue:#93c5fd;--link-blue-hover:#bfdbfe;--link-amber:#fde68a;--chat-mention-bg:#6366f138;--chat-mention-text:#c7d2fe;--tint-ok-text:#bbf7d0;--tint-ok-text-strong:#f0fdf4;--tint-bad-text:#fecaca;--tint-bad-text-strong:#fef2f2;--tint-ok-message:#a7f3d0;--shadow-strong:#000c;--shadow-soft:#02061799;--border-subtle:#ffffff1a;--border-hair:#ffffff0e;--border-strong:#ffffff38;--border-focus:#6366f1;--text-main:#f8fafc;--text-strong:#fff;--text-1:#e2e8f0;--text-2:#cbd5e1;--text-3:#94a3b8;--text-4:#64748b;--text-muted:#94a3b8;--primary-gradient:linear-gradient(135deg, #6366f1 0%, #4f46e5 50%, #3b82f6 100%);--accent-cyan:#06b6d4;--accent:#6366f1;--accent-1:#818cf8;--accent-2:#a5b4fc;--accent-soft:#c7d2fe;--ok-text:#34d399;--ok-soft:#6ee7b7;--warn-text:#f59e0b;--warn-soft:#fcd34d;--danger-text:#f87171;--info-text:#7dd3fc;--info-soft:#38bdf8;--error-bg:#ef444426;--error-border:#ef44444d;--error-text:#fca5a5;--success-bg:#10b98126;--success-border:#10b9814d;--success-text:#6ee7b7}html.theme-switching,html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:background-color .24s,border-color .24s,color .24s,fill .24s,box-shadow .24s!important}@media (prefers-reduced-motion:reduce){html.theme-switching,html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important}}[data-theme=light]{--bg-dark:#e7ecf3;--bg-card:#fff;--bg-input:#fff;--surface-app:#e7ecf3;--surface-sidebar:#f7f9fc;--surface-raised:#f1f5f9;--surface-sunken:#f1f5f9;--surface-overlay:#fff;--surface-veil:#0f172a61;--surface-veil-soft:#0f172a29;--surface-solid:#fff;--surface-solid-2:#f1f5f9;--surface-pop:#fff;--table-head-bg:#e8edf5;--table-head-text:#334155;--panel-shadow:0 1px 2px #0f172a0f, 0 1px 3px #0f172a0a;--link-sky:#0369a1;--link-blue:#1d4ed8;--link-blue-hover:#1e40af;--link-amber:#b45309;--chat-mention-bg:#4f46e51f;--chat-mention-text:#3730a3;--tint-ok-text:#14532d;--tint-ok-text-strong:#052e16;--tint-bad-text:#7f1d1d;--tint-bad-text-strong:#450a0a;--tint-ok-message:#065f46;--shadow-strong:#0f172a2e;--shadow-soft:#0f172a1f;--border-subtle:#0f172a1f;--border-hair:#0f172a12;--border-strong:#0f172a3d;--text-main:#0f172a;--text-strong:#0f172a;--text-1:#1e293b;--text-2:#334155;--text-3:#64748b;--text-4:#94a3b8;--text-muted:#64748b;--accent:#4f46e5;--accent-1:#4f46e5;--accent-2:#4338ca;--accent-soft:#4338ca;--ok-text:#059669;--ok-soft:#047857;--warn-text:#b45309;--warn-soft:#b45309;--danger-text:#dc2626;--info-text:#0284c7;--info-soft:#0369a1;--error-bg:#dc26261a;--error-border:#dc262647;--error-text:#b91c1c;--success-bg:#0596691a;--success-border:#05966947;--success-text:#047857}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}.app-container{background:radial-gradient(circle at 15% 20%, #6366f12e 0%, transparent 45%), radial-gradient(circle at 85% 80%, #06b6d426 0%, transparent 45%), var(--surface-app);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.orb{filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;animation:14s ease-in-out infinite alternate float;position:absolute}.orb-1{background:#6366f140;width:350px;height:350px;top:-80px;left:-80px}.orb-2{background:#0ea5e933;width:400px;height:400px;animation-delay:-6s;bottom:-100px;right:-100px}@keyframes float{0%{transform:translateY(0)scale(1)}50%{transform:translateY(25px)scale(1.08)}to{transform:translateY(-20px)scale(.95)}}.glass-card{z-index:1;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);width:100%;max-width:440px;box-shadow:0 25px 50px -12px #0009, 0 0 0 1px var(--border-hair);border-radius:24px;padding:40px 36px;animation:.5s cubic-bezier(.16,1,.3,1) forwards cardAppear;position:relative}@keyframes cardAppear{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-header{text-align:center;margin-bottom:32px}.brand-badge{color:var(--accent-2);letter-spacing:.5px;text-transform:uppercase;background:#6366f11f;border:1px solid #6366f140;border-radius:9999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.auth-title{letter-spacing:-.5px;color:var(--text-strong);margin-bottom:8px;font-size:28px;font-weight:800}.auth-subtitle{color:var(--text-muted);font-size:14px;line-height:1.5}.alert-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13.5px;animation:.4s ease-in-out shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.form-group{margin-bottom:20px}.form-label{color:var(--text-2);margin-bottom:8px;font-size:13.5px;font-weight:600;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute;left:14px}.form-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-strong);border-radius:12px;outline:none;padding:13px 14px 13px 44px;font-family:inherit;font-size:14.5px;transition:all .2s}.form-input::placeholder{color:var(--text-4)}.form-input:focus{background:var(--surface-sunken);border-color:#6366f1;box-shadow:0 0 0 3px #6366f140}.password-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:14px}.password-toggle:hover{color:var(--text-strong)}.btn-primary{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:14px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 10px 20px -5px #6366f166}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1.5px);box-shadow:0 14px 24px -5px #6366f18c}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.toolbar-select{flex:none;width:auto}.date-filter-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.date-filter-row .toolbar-select{min-width:148px;max-width:168px}.date-filter-row .date-input{flex:none;width:158px}.date-filter-row .checkbox-row{white-space:nowrap;margin-left:6px}.date-range-sep{color:var(--text-muted);font-size:13px}.row-actions{justify-content:flex-end;align-items:center;gap:0;display:flex}.row-actions-left{justify-content:flex-start}.icon-action{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-action:hover:not(:disabled){color:var(--accent-soft);background:#818cf824;border-color:#818cf859}.icon-action:disabled{opacity:.4;cursor:not-allowed}.icon-action-accent{color:var(--accent-2)}.icon-action-danger:hover:not(:disabled){color:var(--error-text);background:#f8717124;border-color:#f8717159}.space-info{z-index:20;position:relative}.space-members{z-index:21;background:var(--surface-pop);min-width:280px;max-width:420px;max-height:240px;box-shadow:0 18px 38px -12px var(--surface-overlay), 0 0 0 1px #818cf826;border:1px solid #818cf899;border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.space-members-head{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.space-members-list{color:var(--text-2);word-break:break-all;margin:0;padding-left:16px;font-size:12.5px;line-height:1.7}.rename-pop{z-index:60;background:var(--surface-solid-2);width:380px;max-width:calc(100vw - 24px);box-shadow:0 18px 40px -12px var(--surface-overlay), 0 0 0 1px #818cf81f;border:1px solid #818cf880;border-radius:12px;flex-direction:column;gap:8px;padding:10px;animation:.14s ease-out notePopIn;display:flex;position:fixed}.rename-pop.leaving{animation:.14s ease-in forwards notePopOut}.rename-pop-head{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.rename-pop-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;display:inline-flex}.rename-pop-close:hover{color:var(--text-1)}.rename-pop-error{color:var(--error-text);font-size:12px}.rename-pop-actions{justify-content:flex-end;gap:8px;display:flex}.fade-in{animation:.16s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.spinner-xs{border-width:2px;width:13px;height:13px}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-card{width:100%;max-width:560px}.user-profile-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:16px;margin-bottom:24px;padding-bottom:24px;display:flex}.avatar-badge{background:var(--primary-gradient);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;font-size:22px;font-weight:700;display:flex;box-shadow:0 8px 16px -4px #6366f166}.profile-info h2{color:var(--text-strong);font-size:20px;font-weight:700}.profile-info p{color:var(--text-muted);font-size:13.5px}.details-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:28px;display:grid}.detail-item{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:14px;padding:14px 16px}.detail-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-4);margin-bottom:4px;font-size:12px;font-weight:600}.detail-value{color:var(--text-1);font-size:15px;font-weight:600}.btn-secondary{width:100%;color:var(--danger-text);cursor:pointer;background:#ef44441f;border:1px solid #ef444440;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:14.5px;font-weight:600;transition:all .2s;display:flex}.btn-secondary:hover{color:var(--error-text);background:#ef444438;border-color:#ef444466}.demo-credentials{color:var(--text-2);background:#6366f114;border:1px dashed #6366f14d;border-radius:12px;margin-top:24px;padding:14px;font-size:12.5px}.demo-credentials strong{color:var(--accent-2)}.credential-chip{color:var(--info-soft);cursor:pointer;background:#0f172ab3;border-radius:6px;margin:2px 4px;padding:2px 8px;font-family:monospace;display:inline-block}.app-container.shell-mode{justify-content:flex-start;align-items:stretch;padding:0}.app-shell{z-index:1;width:100%;min-height:100vh;display:flex;position:relative}.sidebar{background:var(--surface-sidebar);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:264px;padding:2px 16px;display:flex;position:relative}.sidebar-brand-row{align-items:center;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.sidebar-feedback{width:30px;height:30px;color:var(--text-4);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-shrink:0;place-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:grid}.sidebar-feedback:hover{color:var(--accent-soft);background:#6366f129;border-color:#818cf880}.feedback-panel{max-width:760px}.feedback-panel .feedback-editor .wysiwyg-editor{min-height:190px;max-height:44vh;font-size:13.5px}.sidebar-brand{text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:4px 8px 0;display:flex}.sidebar-brand:hover .sidebar-brand-text h1{color:var(--accent-2)}.sidebar-brand-logo{background:var(--primary-gradient);border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 8px 16px -6px #6366f199}.sidebar-brand-text h1{color:var(--text-strong);letter-spacing:-.2px;font-size:15.5px;font-weight:800}.sidebar-brand-text span{color:var(--text-muted);font-size:11.5px}.sidebar-section-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-4);margin-bottom:10px;padding:0 10px;font-size:11px;font-weight:700}.sidebar-nav{flex-direction:column;flex-grow:1;gap:0;display:flex}.nav-item{width:100%;height:35px;color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:11px;padding:0 12px;font-family:inherit;font-size:14.5px;font-weight:600;transition:all .18s;display:flex}.nav-item:hover{color:var(--text-strong);background:#6366f11a}.nav-item.active{color:var(--text-strong);background:#6366f12e;border-color:#6366f166;box-shadow:0 6px 14px -8px #6366f1cc}.sidebar-user{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:16px}.sidebar-user-row{align-items:center;gap:10px;margin-bottom:12px;padding:0 4px;display:flex}.sidebar-user-actions{gap:8px;display:flex}.sidebar-user-actions .btn{flex:1;justify-content:center;min-width:0;padding-left:8px;padding-right:8px}.sidebar.collapsed .sidebar-user-actions{flex-direction:column}.sidebar-user-avatar{object-fit:cover;background:var(--primary-gradient);color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex}.sidebar-user-info{min-width:0}.sidebar-user-info strong{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;display:block;overflow:hidden}.sidebar-user-info span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.content-area{flex-grow:1;min-width:0;padding:15px 10px 10px;overflow-y:auto}.weekly-filters{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin:12px 0 14px;display:flex}.weekly-filter{flex-direction:column;gap:4px;display:flex}.weekly-filter-label{letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted,var(--text-3));font-size:11px;font-weight:700}.weekly-filters .weekly-clear{margin-bottom:2px}.weekly-filter-check{border:1px solid var(--border-subtle);background:var(--surface-sunken);height:34px;color:var(--text-3);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex}.weekly-filter-check:hover{border-color:var(--accent)}.weekly-filter-check:has(input:checked){border-color:var(--accent);color:var(--accent)}.space-info .space-name-input{flex:1;min-width:0;font-weight:600}.app-corner{z-index:5;align-items:center;gap:8px;display:flex;position:fixed;top:28px;right:14px}.app-corner-slot{align-items:center;gap:8px;display:flex}.app-corner-slot:empty,.app-corner-slot:empty+.corner-divider-slot{display:none}.quick-access{border-right:1px solid var(--border-subtle);align-items:center;gap:4px;margin-right:2px;padding-right:6px;display:flex}.quick-access-btn{width:30px;height:30px;color:var(--text-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:grid}.quick-access-btn:hover{color:var(--accent-soft);background:#6366f129}.quick-access-btn.active{color:var(--accent-soft);background:#6366f133;border-color:#818cf880}.quick-access-plus{border-style:dashed;border-color:var(--border-strong);color:var(--text-4)}.quick-access-plus:hover,.quick-access-plus.active{border-style:dashed;border-color:#6366f18c}.quick-access-add{position:relative}.quick-access-pop{z-index:30;border:1px solid var(--border-subtle);background:var(--surface-solid);width:262px;max-height:380px;box-shadow:0 18px 40px var(--shadow-soft);border-radius:12px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.quick-access-pop-head{border-bottom:1px solid var(--border-subtle);color:var(--text-2);justify-content:space-between;align-items:center;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.quick-access-close{width:22px;height:22px;color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:0;display:grid}.quick-access-close:hover{color:var(--text-1)}.quick-access-list{padding:6px;overflow-y:auto}.quick-access-option{width:100%;color:var(--text-3);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:12px;display:flex}.quick-access-option:hover{color:var(--text-1);background:#6366f11f}.quick-access-option.on{color:var(--accent-soft)}.quick-access-option-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.quick-access-group{color:var(--text-4)}.quick-access-tick{color:var(--accent-1);flex-shrink:0}.thread-space-line{min-width:0;margin-right:calc(-1 * var(--app-corner-space,0px));flex-wrap:nowrap;align-items:center;gap:14px;display:flex}.thread-space-line>span:first-child{white-space:nowrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.thread-space-line .space-link{min-width:0;overflow:hidden}.thread-space-line .space-link>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.thread-space-line .btn{flex-shrink:0;margin-left:auto}.bid-chat-btn{color:var(--text-4);flex-shrink:0}.bid-chat-btn:hover{color:var(--accent-1)}.sidebar-user-avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:0;transition:box-shadow .15s;display:block}.sidebar-user-avatar-btn:hover{box-shadow:0 0 0 2px #6366f199}.avatar-panel{max-width:460px}.avatar-preview-row{align-items:center;gap:16px;margin-bottom:4px;display:flex}.avatar-preview{object-fit:cover;border:1px solid var(--border-subtle);border-radius:50%;flex-shrink:0;width:84px;height:84px}.avatar-preview-empty{background:var(--primary-gradient);color:#fff;place-items:center;font-size:26px;font-weight:700;display:grid}.theme-toggle,.corner-icon-btn{border:1px solid var(--border-subtle);background:var(--bg-card);width:32px;height:32px;color:var(--text-3);cursor:pointer;border-radius:10px;place-items:center;padding:0;transition:border-color .15s,color .15s;display:grid}.corner-divider{background:var(--border-subtle);width:1px;height:20px}.theme-toggle:hover,.corner-icon-btn:hover{color:var(--accent-soft);border-color:#6366f180}.corner-icon-btn.active{color:var(--accent-2);background:#6366f129;border-color:#6366f18c}.notif-bell{background:var(--bg-input);width:28px;height:28px;color:var(--text-3);cursor:pointer;border:1px solid #94a3b840;border-radius:999px;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex;position:relative}.notif-bell:hover{color:var(--text-1);background:#1e293be6;border-color:#94a3b880}.notif-bell.has-count{color:var(--warn-soft)}.notif-bell-count{color:#fff;text-align:center;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--bg-card);background:#ef4444;border-radius:999px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-6px;right:-8px}.app-version{background:var(--bg-input);color:var(--text-3);letter-spacing:.2px;pointer-events:none;-webkit-user-select:text;user-select:text;border:1px solid #94a3b840;border-radius:999px;padding:2px 8px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:14px}.page-header{padding-right:var(--app-corner-space,0px);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-header-embedded{padding-right:0}.page-title{color:var(--text-strong);letter-spacing:-.4px;align-items:center;gap:10px;font-size:24px;font-weight:800;display:flex}.page-subtitle{color:var(--text-muted);margin-top:6px;font-size:13.5px}.panel{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);box-shadow:var(--panel-shadow);border-radius:18px;margin-bottom:10px;padding:22px 24px}.panel-title{color:var(--text-1);align-items:center;gap:8px;margin-bottom:16px;font-size:15.5px;font-weight:700;display:flex}.filter-tabs{flex-wrap:wrap;gap:8px;display:flex}.filter-tab{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-2);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:9px 14px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .18s;display:inline-flex}.filter-tab:hover{color:var(--text-strong);border-color:#6366f173}.filter-tab.active{color:var(--text-strong);background:#6366f133;border-color:#6366f18c}.tab-count{background:var(--border-subtle);border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:700}.table-wrapper{border:1px solid var(--border-subtle);border-radius:14px;overflow-x:auto}.permission-matrix-wrap{max-height:calc(100vh - 250px);overflow:auto}.permission-matrix thead th{z-index:3;background:var(--table-head-bg);position:sticky;top:0}.permission-matrix thead .permission-check-all th{color:var(--text-4);text-transform:none;letter-spacing:0;border-bottom:1px solid #818cf859;padding-top:4px;padding-bottom:6px;font-size:10.5px;font-weight:600;top:41px}.permission-filter{border-radius:8px;padding:5px 9px;font-size:12px}.scroll-head-table{max-height:calc(100vh - 330px);overflow:auto}.scroll-head-table.has-assistant{max-height:max(640px,100vh - 260px)}.scroll-head-table .data-table thead th{z-index:4;background:var(--table-head-bg);position:sticky;top:0}.data-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13.8px}.data-table thead th{text-align:left;background:var(--table-head-bg);color:var(--table-head-text);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:12px 4px;font-size:11.5px;font-weight:700}.data-table tbody td{border-bottom:1px solid var(--border-hair);color:var(--text-2);vertical-align:middle;padding:5px 4px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#6366f112}.space-link{color:var(--info-text);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.space-link:hover{color:var(--link-sky);text-decoration:underline}.cell-muted{color:var(--text-3);white-space:nowrap;font-size:13px}.chip{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.chip-indigo{color:var(--accent-2);background:#6366f126;border-color:#6366f14d}.chip-green{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.chip-amber{color:var(--warn-soft);background:#f59e0b26;border-color:#f59e0b4d}.chip-slate{color:var(--text-2);background:#94a3b81f;border-color:#94a3b840}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13.8px;font-weight:600;transition:all .18s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-accent{background:var(--primary-gradient);color:#fff;box-shadow:0 10px 20px -10px #6366f1e6}.btn-accent:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{background:var(--bg-input);border-color:var(--border-subtle);color:var(--text-2)}.btn-ghost:hover:not(:disabled){color:var(--text-strong);border-color:#6366f173}.btn-danger-ghost{color:var(--danger-text);background:#ef44441a;border-color:#ef444440}.btn-danger-ghost:hover:not(:disabled){background:#ef444433}.btn-sm{border-radius:9px;padding:7px 11px;font-size:12.5px}.alert{border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 16px;font-size:13.5px;line-height:1.55;display:flex}.alert-warning{color:var(--warn-soft);background:#f59e0b1f;border:1px solid #f59e0b4d}.alert-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.alert-danger{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.alert-info{color:var(--info-text);background:#38bdf81a;border:1px solid #38bdf847}.empty-state{text-align:center;color:var(--text-muted);padding:46px 20px}.empty-state h3{color:var(--text-1);margin:12px 0 6px;font-size:16px}.empty-state p{max-width:460px;margin:0 auto;font-size:13.5px;line-height:1.6}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:10px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:16px 18px}.stat-card .stat-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-4);margin-bottom:6px;font-size:11.5px;font-weight:700}.stat-card .stat-value{color:var(--text-strong);font-size:22px;font-weight:800}button.stat-card-action{text-align:left;width:100%;font:inherit;cursor:pointer;transition:border-color .18s,transform .18s}button.stat-card-action:hover{border-color:var(--border-strong);transform:translateY(-1px)}button.stat-card-action.active{border-color:var(--success-border);background:var(--success-bg)}button.stat-card-action.active .stat-value{color:var(--success-text)}.filter-chip{cursor:pointer;margin-left:10px;font-family:inherit}.profile-card{border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:14px;margin-bottom:12px;padding:16px 18px;transition:border-color .18s}.profile-card.is-active{background:#10b9810f;border-color:#10b98173}.profile-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-card-name{color:var(--text-1);align-items:center;gap:9px;font-size:15px;font-weight:700;display:flex}.profile-meta{color:var(--text-3);flex-wrap:wrap;gap:18px;margin-top:12px;font-size:12.8px;display:flex}.profile-meta b{color:var(--text-2);font-weight:600}.profile-actions{flex-wrap:wrap;gap:8px;display:flex}.data-table .profile-actions{flex-wrap:nowrap;gap:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .full-width{grid-column:1/-1}.form-input-plain{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-strong);border-radius:11px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .2s}.form-input-plain:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f138}.form-input-plain::placeholder{color:var(--text-4)}textarea.form-input-plain{resize:vertical;min-height:96px;font-family:SF Mono,Menlo,monospace;font-size:12.5px;line-height:1.5}.form-hint{color:var(--text-4);margin-top:6px;font-size:12px;line-height:1.5}.checkbox-row{color:var(--text-2);cursor:pointer;align-items:center;gap:9px;font-size:13.8px;display:flex}.checkbox-row input{accent-color:#6366f1;cursor:pointer;width:17px;height:17px}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border-subtle);width:100%}.sidebar-edge-toggle{top:26px;right:14px;transform:none}.sidebar-nav{flex-flow:wrap}.content-area{padding:20px 16px 40px}.form-grid{grid-template-columns:1fr}}.spin{animation:.8s linear infinite spin}.sidebar{transition:width .2s,margin-right .2s}.sidebar.peeking{z-index:40;box-shadow:10px 0 34px -12px var(--shadow-strong);margin-right:-188px}.sidebar.collapsed{align-items:center;width:76px;padding:2px 12px}.sidebar.collapsed .sidebar-brand{justify-content:center;padding-bottom:16px}.sidebar.collapsed .sidebar-brand-row{max-width:100%}.sidebar.collapsed .nav-item,.sidebar.collapsed .btn-danger-ghost{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-user-row{justify-content:center}.sidebar-edge-toggle{z-index:41;border:1px solid var(--border-subtle);background:var(--surface-solid-2);width:26px;height:26px;color:var(--text-3);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:-13px;padding:0;transition:all .18s;display:flex;position:absolute;top:50%;left:264px;transform:translateY(-50%)}.sidebar-edge-toggle.collapsed{left:76px}.sidebar-edge-toggle:hover{color:var(--text-strong);background:#6366f12e;border-color:#6366f18c}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.search-box{flex:240px;align-items:center;max-width:340px;display:flex;position:relative}.search-icon{color:var(--text-4);pointer-events:none;position:absolute;left:12px}.search-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-strong);border-radius:10px;outline:none;padding:9px 32px 9px 34px;font-family:inherit;font-size:13.5px;transition:all .2s}.search-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.search-input::placeholder{color:var(--text-4)}.search-clear{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:3px;display:flex;position:absolute;right:8px}.search-clear:hover{color:var(--text-strong);background:var(--border-hair)}.pagination-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;display:flex}.pagination-info{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:13px;display:flex}.pagination-info b{color:var(--text-1)}.page-size-select{align-items:center;gap:7px;display:flex}.page-size-select select{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-1);cursor:pointer;border-radius:8px;outline:none;padding:6px 8px;font-family:inherit;font-size:13px}.page-size-select select:focus{border-color:#6366f1}.pagination-controls{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.page-btn{border:1px solid var(--border-subtle);background:var(--bg-input);min-width:32px;height:32px;color:var(--text-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.page-btn:hover:not(:disabled){color:var(--text-strong);border-color:#6366f180}.page-btn.active{color:var(--text-strong);background:#6366f140;border-color:#6366f199}.page-btn:disabled{opacity:.4;cursor:not-allowed}.space-name-cell{align-items:flex-start;gap:8px;display:flex}.thread-name-cell{max-width:620px}.thread-name-cell .space-link{min-width:0}.thread-name-cell .space-link span{white-space:normal;word-break:break-word}.row-icon-btn,.row-sync-btn{width:22px;height:22px;color:var(--accent-2);cursor:pointer;background:#6366f11f;border:1px solid #6366f14d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;transition:all .16s;display:inline-flex}.row-icon-btn:hover:not(:disabled),.row-sync-btn:hover:not(:disabled){color:var(--text-strong);background:#6366f147}.row-icon-btn:disabled,.row-sync-btn:disabled{opacity:.4;cursor:progress}.thread-link{color:var(--info-text);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:13.5px;font-weight:600;display:inline-flex}.thread-link:hover{color:var(--link-sky);text-decoration:underline}.app-container.shell-mode{height:100dvh;overflow:hidden}.app-shell{height:100%;min-height:0}.sidebar{overscroll-behavior:contain;height:100%;position:sticky;top:0;overflow-y:auto}.content-area{overscroll-behavior:contain;height:100%;overflow-y:auto}@media (width<=900px){.app-container.shell-mode{height:auto;overflow:visible}.app-shell{height:auto}.sidebar{height:auto;position:static;overflow:visible}.content-area{height:auto;overflow:visible}}.row-icon-thread{color:var(--info-text);background:#38bdf81f;border-color:#38bdf84d}.row-icon-thread:hover:not(:disabled){color:var(--text-strong);background:#38bdf847}kbd,.kbd-inline{border:1px solid var(--border-strong);background:var(--border-subtle);min-width:20px;height:20px;color:var(--text-1);border-bottom-width:2px;border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-family:SF Mono,Menlo,monospace;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.btn-accent .kbd-inline{background:var(--border-strong);color:#fff;border-color:#fff6}.modal-backdrop{z-index:50;background:var(--surface-veil);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:24px;animation:.18s forwards cardAppear;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg-card);border:1px solid var(--border-subtle);width:100%;max-width:560px;max-height:82vh;box-shadow:0 30px 60px -20px var(--shadow-strong);border-radius:18px;padding:22px 24px;overflow-y:auto}.modal-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.shortcut-group{margin-bottom:18px}.shortcut-row{align-items:flex-start;gap:12px;padding:7px 0;display:flex}.shortcut-keys{flex-shrink:0;gap:5px;min-width:108px;display:flex}.shortcut-desc{color:var(--text-2);font-size:13.4px;line-height:1.5}.kbd-combo{align-items:center;gap:3px;display:inline-flex}.kbd-plus{color:#ffffffa6;font-size:11px;font-weight:700}.row-icon-reply{color:var(--ok-soft);background:#10b98124;border-color:#10b98152}.row-icon-reply:hover:not(:disabled){color:var(--text-strong);background:#10b9814d}.reply-thread-info{color:var(--text-2);border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:10px;align-items:flex-start;gap:9px;padding:10px 12px;font-size:13.4px;line-height:1.5;display:flex}.editor-toolbar{gap:6px;margin:16px 0 8px;display:flex}.editor-toolbar button{border:1px solid var(--border-subtle);background:var(--bg-input);width:30px;height:30px;color:var(--text-2);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .16s;display:inline-flex}.editor-toolbar button:hover{color:var(--text-strong);background:#6366f12e;border-color:#6366f180}.wysiwyg-editor{background:var(--bg-input);border:1px solid var(--border-subtle);min-height:140px;max-height:300px;color:var(--text-1);border-radius:12px;outline:none;padding:13px 14px;font-size:14px;line-height:1.6;overflow-y:auto}.wysiwyg-editor:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f138}.wysiwyg-editor:empty:before{content:attr(data-placeholder);color:var(--text-4)}.wysiwyg-editor a{color:var(--link-blue);cursor:pointer;word-break:break-all;text-decoration:underline}.wysiwyg-editor code{background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--info-text);border-radius:5px;padding:1px 5px;font-family:SF Mono,Menlo,monospace;font-size:12.5px}.wysiwyg-editor ul{margin:4px 0;padding-left:20px}.reply-preview{white-space:pre-wrap;word-break:break-word;background:var(--surface-sunken);color:var(--text-1);border:1px solid #6366f14d;border-radius:12px;max-height:280px;padding:14px 16px;font-size:13.6px;line-height:1.65;overflow-y:auto}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.emoji-anchor{display:inline-flex}.editor-toolbar{position:relative}.editor-toolbar button.active{color:var(--text-strong);background:#6366f147;border-color:#6366f199}.emoji-popover{z-index:10;border:1px solid var(--border-subtle);background:var(--surface-solid-2);width:268px;max-width:calc(100vw - 48px);box-shadow:0 20px 40px -14px var(--shadow-strong);border-radius:14px;padding:10px;position:absolute;top:calc(100% + 8px);left:0}.emoji-tabs{border-bottom:1px solid var(--border-subtle);gap:4px;margin-bottom:8px;padding-bottom:8px;display:flex}.emoji-tab{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;height:28px;font-size:15px;line-height:1;transition:all .15s}.emoji-tab:hover{background:var(--border-hair)}.emoji-tab.active{background:#6366f133;border-color:#6366f180}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:2px;max-height:190px;display:grid;overflow:hidden auto}.emoji-item{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.emoji-item:hover{background:#6366f147}.emoji-footer{border-top:1px solid var(--border-subtle);color:var(--text-4);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:8px;font-size:11.5px;display:flex}.emoji-footer button{color:var(--accent-2);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:11.5px;font-weight:600}.editor-wrap{position:relative}.mention-chip{color:var(--accent-soft);white-space:nowrap;-webkit-user-select:all;user-select:all;background:#6366f138;border:1px solid #6366f173;border-radius:6px;margin:0 1px;padding:1px 7px;font-size:13.5px;font-weight:600;display:inline-block}.mention-dropdown{z-index:12;border:1px solid var(--border-subtle);background:var(--surface-solid-2);max-height:210px;box-shadow:0 20px 40px -14px var(--shadow-strong);border-radius:12px;padding:6px;position:absolute;top:calc(100% - 6px);left:10px;right:10px;overflow-y:auto}.mention-option{width:100%;color:var(--text-1);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13.5px;display:flex}.mention-option.active,.mention-option:hover{background:#6366f13d}.mention-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.mention-uid{color:var(--text-4);flex-shrink:0;font-family:SF Mono,Menlo,monospace;font-size:11px}.mention-tag{letter-spacing:.02em;color:var(--text-3);border:1px solid #94a3b859;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px}.mention-empty{color:var(--text-3);padding:10px 12px;font-size:12.5px;line-height:1.55}.scope-rows{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.scope-row{align-items:center;gap:8px;display:flex}.scope-row .form-input-plain{font-family:SF Mono,Menlo,monospace;font-size:12.5px}.scope-row-btn{flex-shrink:0;padding:9px 10px}.scope-combined{background:var(--surface-sunken);border:1px solid #6366f14d;border-radius:12px;margin-top:14px;padding:12px 14px}.scope-combined-head{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:12.5px;display:flex}.scope-combined code{color:var(--info-text);word-break:break-all;-webkit-user-select:all;user-select:all;font-family:SF Mono,Menlo,monospace;font-size:12px;line-height:1.6;display:block}.input-with-action{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.input-with-action .form-input-plain{flex:260px}.input-action-btn{white-space:nowrap;flex-shrink:0}.scope-input-wrap{flex:260px;position:relative}.scope-input-wrap .form-input-plain{width:100%}.scope-dropdown{z-index:14;border:1px solid var(--border-subtle);background:var(--surface-solid-2);max-height:260px;box-shadow:0 20px 40px -14px var(--shadow-strong);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.scope-option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.scope-option.active,.scope-option:hover{background:#6366f13d}.scope-option-url{color:var(--info-text);word-break:break-all;font-family:SF Mono,Menlo,monospace;font-size:12px}.scope-option-label{color:var(--text-3);align-items:center;gap:8px;font-size:12px;display:flex}.scope-used{padding:1px 6px;font-size:10.5px}.nav-group{flex-direction:column;gap:4px;display:flex}.nav-subitem{color:var(--text-3);padding-left:34px;font-size:13.8px;font-weight:500}.sidebar.collapsed .nav-subitem{padding-left:0}.nav-subitem.active{color:var(--text-strong);font-weight:600}.role-cell{cursor:pointer;text-align:left;background:0 0;border:1px dashed #0000;border-radius:9px;flex-wrap:wrap;align-items:center;gap:4px;width:100%;padding:6px 8px;display:flex}.role-cell:hover:not(:disabled){background:#6366f114;border-color:#6366f173}.role-editor{box-shadow:0 14px 30px -12px var(--shadow-strong);background:#0f172af2;border:1px solid #6366f180;border-radius:11px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.chip-link{cursor:pointer;gap:5px;text-decoration:none;transition:filter .15s}.chip-link:hover{filter:brightness(1.25)}button.chip-link{font:inherit;font-size:inherit;font-weight:inherit}button.chip-link:disabled{cursor:default;filter:none}.status-track{min-width:130px;height:14px;margin-bottom:8px;position:relative}.status-track-line{background:#94a3b838;border-radius:3px;height:3px;position:absolute;top:50%;left:3px;right:3px;overflow:hidden;transform:translateY(-50%)}.status-track-fill{background:linear-gradient(90deg, #6366f1, var(--info-soft));border-radius:3px;height:100%;transition:width .25s}.status-track.dragging .status-track-fill,.status-track.dragging .status-dot{transition:none}.status-track-dots{justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.status-dot{background:#94a3b859;border-radius:50%;width:7px;height:7px;transition:all .2s}.status-dot.done{background:#6366f1}.status-dot.current{background:var(--info-soft);width:12px;height:12px;box-shadow:0 0 0 3px #38bdf838}.bid-code-link{color:var(--warn-soft);font-family:inherit;font-size:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.bid-code-link:hover{color:var(--link-amber)}.permission-matrix th,.permission-matrix td{white-space:nowrap}.permission-checkbox{accent-color:#6366f1;cursor:pointer;width:16px;height:16px}.permission-checkbox:disabled{opacity:.5;cursor:progress}.alert-toast{z-index:60;background-color:var(--surface-solid);background-image:linear-gradient(0deg, var(--alert-tint,transparent), var(--alert-tint,transparent));max-width:min(460px,100vw - 44px);margin:0;animation:.2s forwards toastIn;position:fixed;top:18px;right:22px;box-shadow:0 18px 40px -10px #000000bf}.alert-toast.alert-success{--alert-tint:var(--success-bg)}.alert-toast.alert-danger{--alert-tint:var(--error-bg)}.alert-toast.alert-info{--alert-tint:#38bdf81f}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.du-cell{width:90px;min-width:90px}.du-cell .inline-select{width:100%}.status-cell{width:250px;min-width:250px}.status-move{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.status-move-actions{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.status-move-actions .btn{white-space:nowrap;padding:3px 8px;font-size:11.5px}.status-quick-filter{flex-wrap:wrap;align-items:center;gap:5px;margin-left:10px;display:flex}.status-quick-filter .btn{white-space:nowrap;padding:3px 9px;font-size:11.5px}.btn.tone-win{color:var(--ok-soft);border-color:#34d39973}.btn.tone-lost{color:var(--error-text);border-color:#f8717173}.btn.tone-cancel{color:var(--text-2);border-color:#94a3b880}.btn.tone-win:hover,.btn.tone-win.on{border-color:var(--ok-text);color:var(--ok-soft);background:#34d39938}.btn.tone-lost:hover,.btn.tone-lost.on{border-color:var(--danger-text);color:var(--error-text);background:#f8717138}.btn.tone-cancel:hover,.btn.tone-cancel.on{border-color:var(--text-3);color:var(--text-1);background:#94a3b83d}.chip-actionable{cursor:pointer;border:1px dashed #94a3b873}.chip-actionable:hover{color:var(--accent-soft);border-color:#6366f1}.status-current-wrap{height:26px;position:relative}.status-current-btn{white-space:nowrap;width:124px;color:var(--accent-soft);letter-spacing:.2px;cursor:pointer;background:#6366f11f;border:1px solid #6366f16b;border-radius:999px;justify-content:center;padding:3px 8px;font-size:11.5px;font-weight:600;transition:left .25s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex;position:absolute;top:0;box-shadow:0 2px 8px -3px #4f46e58c}.status-current-btn:not(.locked){cursor:grab}.status-current-btn.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;background:#6366f147;border-color:#6366f1;transition:none}.status-current-btn.locked{opacity:.6;cursor:default}.status-current-btn:not(.locked):hover,.status-current-btn.on{background:#6366f13d;border-color:#6366f1;box-shadow:0 4px 12px -3px #4f46e5b3}.status-pop-groups{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.status-pop-group-label{color:var(--text-4);margin-bottom:5px;font-size:11px}.status-pop-groups .status-pop-list{flex-direction:column;align-items:stretch}.status-pop{z-index:1200;border:1px solid var(--border-subtle);background:var(--surface-solid);box-shadow:0 18px 40px var(--shadow-soft);border-radius:11px;padding:10px;position:fixed}.status-pop-head{color:var(--text-4);margin-bottom:8px;font-size:11.5px}.status-pop-list{flex-wrap:wrap;gap:6px;display:flex}.status-pop-list .btn{white-space:nowrap;padding:3px 8px;font-size:11.5px}label.btn.is-busy{pointer-events:none;opacity:.7}.stat-grid-clickable .stat-card{cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s,background .15s}.stat-grid-clickable .stat-card:hover{border-color:#818cf873}.stat-grid-clickable .stat-card.active{background:#6366f11f;border-color:#6366f1}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.filter-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;display:grid}@media (width<=900px){.filter-row{grid-template-columns:1fr}}.group-cell{align-items:center;gap:10px;min-width:0;display:flex}.group-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.group-avatar-lg{width:56px;height:56px;font-size:16px}.avatar-upload{align-items:center;gap:12px;display:flex}.avatar-upload-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.avatar-upload-actions label.btn{cursor:pointer}.member-rows{flex-direction:column;gap:6px;margin-top:8px;display:flex}.member-row{border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:9px;align-items:center;gap:10px;padding:6px 10px;display:flex}.member-row-name{min-width:0;color:var(--text-1);flex-direction:column;flex:auto;font-size:13.2px;display:flex}.member-row-role{flex:0 0 220px;max-width:220px}.group-avatar-text{color:#fff;letter-spacing:.3px;background:linear-gradient(135deg,#4f46e5,#7c3aed);justify-content:center;align-items:center;font-size:11.5px;font-weight:800;display:inline-flex}.group-chips{flex-wrap:wrap;gap:5px;display:flex}.role-tag-input{border:1px solid var(--border-subtle);background:var(--bg-input);border-radius:9px;flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;padding:5px 8px;display:flex}.role-tag{color:var(--text-1);background:#94a3b82e;border-radius:7px;align-items:center;gap:5px;padding:3px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.role-tag.is-admin{color:var(--accent-soft);background:#6366f138}.role-tag-remove{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.role-tag-remove:hover{opacity:1;color:var(--error-text)}.role-tag-field{min-width:70px;color:var(--text-1);background:0 0;border:none;outline:none;flex:90px;font-family:inherit;font-size:13px}.role-suggestions{flex-direction:column;gap:2px;max-height:190px;display:flex;overflow-y:auto}.role-suggestion{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:1px;padding:6px 9px;font-family:inherit;display:flex}.role-suggestion.active{background:#6366f12e}.role-suggestion-name{color:var(--text-1);font-size:13px;font-weight:600}.role-suggestion-desc{color:var(--text-4);font-size:11.5px}.suggestion-row{align-items:center;gap:6px;display:flex}.suggestion-kind{color:var(--accent-2);letter-spacing:.4px;text-transform:uppercase;background:#818cf82e;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.role-editor-hint{border-top:1px solid var(--border-subtle);color:var(--text-4);margin-top:2px;padding-top:6px;font-size:11.5px}.auth-links{justify-content:flex-end;margin-top:12px;display:flex}.auth-link{color:var(--accent-2);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.auth-link:hover{color:var(--accent-soft);text-decoration:underline}.auth-sent{border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;line-height:1.55;display:flex}.auth-divider{color:var(--text-4);align-items:center;gap:12px;margin:22px 0 6px;font-size:12.5px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.confirm-panel{max-width:460px}.confirm-message{color:var(--text-2);font-size:14px;line-height:1.65}.confirm-message b{color:var(--text-1)}.btn-danger-solid{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 10px 20px -10px #ef4444e6}.btn-danger-solid:hover:not(:disabled){filter:brightness(1.08)}.confirm-actions{justify-content:center;margin-top:22px}.prompt-table td{vertical-align:top}.prompt-edit-row td{background:#6366f112}.prompt-edit-row .form-input-plain{padding:8px 10px;font-size:13px}.prompt-textarea{resize:vertical;min-height:72px;font-family:inherit;line-height:1.5}.prompt-file{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.upload-btn{cursor:pointer}.config-row{align-items:center;gap:12px;margin-bottom:12px;padding:14px 18px;display:flex}.config-row-key{min-width:150px;color:var(--text-1);letter-spacing:.2px;flex-shrink:0;font-family:SF Mono,Menlo,monospace;font-size:13px;font-weight:700}.config-row-input{flex:auto;min-width:0;position:relative}.data-table tr.row-muted td{opacity:.55}.template-panel{margin-bottom:14px}.template-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.template-head .config-row-key{flex:auto}.config-group+.config-group{margin-top:18px}.config-group-title{letter-spacing:.6px;text-transform:uppercase;color:var(--accent-1);margin:0 0 10px 2px;font-size:12px;font-weight:700}.zone-toolbar{align-items:center;gap:14px;margin-bottom:12px;display:flex}.config-toolbar{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.config-tabs{flex-wrap:wrap;align-items:stretch;display:flex}.config-tab{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:11px 18px;font-family:inherit;font-size:13.5px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.config-tab:hover{color:var(--text-2)}.config-tab.active{color:var(--accent-soft);border-bottom-color:#6366f1}.config-tab-count{color:var(--text-2);background:#94a3b829;border-radius:9999px;padding:1px 7px;font-size:11.5px;font-weight:700}.config-tab-add{color:var(--accent-1);padding:11px 14px}.config-tab-add:hover{color:var(--accent-soft)}.config-tab.active .config-tab-count{color:var(--accent-soft);background:#6366f138}.config-toolbar-actions{align-items:flex-end;gap:10px;margin-bottom:10px;margin-left:auto;display:flex}.config-toolbar>.btn{margin-bottom:10px}.config-card{border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:14px;transition:border-color .18s}.owner-split{border:1px solid var(--border-subtle);border-radius:9px;height:34px;margin-top:10px;display:flex;overflow:hidden}.owner-split-part{cursor:pointer;white-space:nowrap;border:0;border-radius:0;justify-content:center;align-items:center;gap:7px;min-width:0;padding:0 8px;font-family:inherit;font-size:13px;transition:filter .15s,opacity .15s;display:flex;overflow:hidden}.owner-split-part+.owner-split-part{border-left:1px solid var(--shadow-soft)}.owner-split-part:hover{filter:brightness(1.18)}.owner-split-part.assigned{color:var(--tint-ok-text);background:#22c55e57}.owner-split-part.unassigned{color:var(--tint-bad-text);background:#ef444452}.owner-split-part.active.assigned{color:var(--tint-ok-text-strong);background:#22c55e9e}.owner-split-part.active.unassigned{color:var(--tint-bad-text-strong);background:#ef444499}.owner-split-part.dimmed{opacity:.4}.owner-split-count{font-variant-numeric:tabular-nums;font-weight:700}.owner-split-label{text-overflow:ellipsis;overflow:hidden}.config-textarea{resize:vertical;width:100%;min-height:120px;font-family:inherit;line-height:1.6}.config-block{margin-bottom:12px;padding:4px 0}.config-block .config-row{border-radius:10px;margin-bottom:0}.config-row-dirty{box-shadow:inset 3px 0 0 0 var(--accent-1);border-color:#6366f18c}.config-row-key-input{letter-spacing:.2px;flex-shrink:0;width:190px;font-family:SF Mono,Menlo,monospace;font-size:13px;font-weight:700}.config-row-input .form-input-plain{width:100%}.config-row .btn{flex-shrink:0}@media (width<=900px){.config-row{flex-wrap:wrap}.config-row-key,.config-row-key-input{width:100%;min-width:100%}.config-row-input{flex:100%}}.data-table tbody tr.row-bid{background:#6366f117;box-shadow:inset 3px 0 #6366f1}.data-table tbody tr.row-bid:hover{background:#6366f129}.row-icon-bid{color:var(--warn-soft);background:#f59e0b26;border-color:#f59e0b59}.row-icon-bid:hover:not(:disabled){color:var(--text-strong);background:#f59e0b4d}.data-table tbody tr.row-unassigned{box-shadow:inset 3px 0 0 var(--warn-text);background:#f59e0b1a}.data-table tbody tr.row-unassigned:hover{background:#f59e0b29}.outcome-options{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.outcome-option{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-muted);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:border-color .15s,background .15s,color .15s;display:flex}.outcome-option:hover:not(:disabled){border-color:var(--text-4);color:var(--text-1)}.outcome-option:disabled{opacity:.6;cursor:not-allowed}.outcome-label{letter-spacing:.4px;font-size:13px;font-weight:700}.outcome-hint{opacity:.75;font-size:11px}.outcome-option.active.outcome-win{border-color:var(--ok-text);color:var(--ok-soft);background:#34d39924}.outcome-option.active.outcome-lost{border-color:var(--danger-text);color:var(--error-text);background:#f8717124}.outcome-option.active.outcome-cancel{border-color:var(--text-3);color:var(--text-2);background:#94a3b829}.required-mark{color:var(--error-text)}.form-error{color:var(--error-text);align-items:center;gap:5px;margin-top:6px;font-size:12px;display:flex}.data-table tbody tr.row-fresh-bid{box-shadow:inset 3px 0 0 var(--info-soft);background:#38bdf81a}.data-table tbody tr.row-fresh-bid:hover{background:#38bdf829}.inline-input,.inline-select{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-1);border-radius:8px;outline:none;padding:6px 9px;font-family:inherit;font-size:13px}.inline-input:focus,.inline-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.inline-input::placeholder{color:var(--warn-text)}.inline-select{cursor:pointer}.btn-complete{color:var(--ok-soft);background:#10b9811f;border-color:#10b9814d}.btn-complete:hover:not(:disabled){color:var(--text-strong);background:#10b98142}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.sortable-th:hover{color:var(--accent-soft)}.th-inner{align-items:center;gap:5px;display:inline-flex}.th-sort-idle{opacity:.35}.bid-owner-cell{align-items:center;gap:6px;min-width:0;display:flex}.bid-owner-cell>.icon-action{flex:none}.bid-owner-cell>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.assignee-search{width:100%;margin-bottom:5px}.dropdown-backdrop{z-index:69;position:fixed;inset:0}.assignee-cell{align-items:center;gap:6px;display:flex}.assignee-cell>.bid-owner-cell,.assignee-cell>span{flex:auto;min-width:0}.assignee-input-wrap{flex:auto;min-width:0;position:relative}.assignee-input-wrap .inline-input{padding-right:24px}.assignee-caret{color:var(--text-4);pointer-events:none;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.assignee-notify{flex-shrink:0;padding:6px}.assignee-dropdown{z-index:16;border:1px solid var(--border-subtle);background:var(--surface-solid-2);max-height:220px;box-shadow:0 18px 36px -14px var(--shadow-strong);border-radius:10px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.assignee-dropdown-floating{z-index:70;position:fixed;top:auto;right:auto}.bid-members-field{width:100%;position:relative}.role-tag.is-group{color:var(--link-sky);background:#38bdf829}.permission-matrix td{position:relative}.permission-user-input{min-height:34px}.assignee-option-clear .assignee-name{color:var(--error-text)}.assignee-option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-direction:column;gap:1px;width:100%;padding:7px 9px;display:flex}.assignee-option:hover{background:#6366f13d}.assignee-name{color:var(--text-1);font-size:12.8px;font-weight:600}.assignee-email{color:var(--text-4);font-size:11.5px}.assignee-inactive{color:var(--danger-text);letter-spacing:.3px;text-transform:uppercase;vertical-align:middle;background:#f8717126;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600}.bid-type-pb{color:var(--accent-2);background:#6366f129;border-color:#6366f152}.bid-type-doc{color:var(--info-text);background:#38bdf824;border-color:#38bdf84d}.bid-type-odc{color:var(--warn-soft);background:#f59e0b24;border-color:#f59e0b4d}.bid-name-link{color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13.8px;line-height:1.5}.bid-name-link:hover{color:var(--info-text);text-decoration:underline}.connect-scope-list{text-align:left;flex-direction:column;gap:4px;max-width:560px;margin:4px auto 14px;padding:0;list-style:none;display:flex}.connect-scope-list li{color:var(--text-3);align-items:baseline;gap:8px;font-size:12.5px;display:flex}.connect-scope-list code{min-width:190px;color:var(--text-2);flex-shrink:0;font-family:SF Mono,Menlo,monospace;font-size:11.5px}.cus-link{color:inherit;align-items:center;gap:3px;text-decoration:none;display:inline-flex}.cus-link svg{opacity:.45}.cus-link:hover{color:var(--info-text);text-decoration:underline}.cus-link:hover svg{opacity:1}.note-source-tag{border:1px solid var(--border-subtle);background:var(--surface-sunken);color:var(--text-4);letter-spacing:.03em;vertical-align:middle;border-radius:999px;margin-right:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.status-flow{flex-wrap:wrap;gap:8px;display:flex}.status-step{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-4);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}.status-step.done{color:var(--ok-soft);background:#10b9811a;border-color:#10b9814d}.status-step.current{color:var(--text-strong);background:#6366f140;border-color:#6366f199}.chip-hoverable{cursor:help}.chip-hoverable:hover{border-color:#818cf880}.space-members-card{z-index:30;background:var(--surface-solid);max-width:calc(100vw - 24px);max-height:320px;box-shadow:0 24px 60px var(--surface-overlay);border:1px solid #818cf847;border-radius:12px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.space-members-head{border-bottom:1px solid var(--border-subtle);color:var(--text-1);align-items:center;gap:7px;padding:9px 12px;font-size:12.5px;font-weight:700;display:flex}.space-members-body{padding:6px;overflow-y:auto}.space-members-row{color:var(--text-2);border-radius:8px;align-items:center;gap:8px;padding:5px 7px;font-size:12.5px;display:flex}.space-members-row:hover{background:#6366f11a}.space-members-row span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.space-members-dot{width:20px;height:20px;color:var(--accent-2);text-transform:uppercase;background:#6366f12e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:800;display:inline-flex}.thread-hover-card{z-index:30;background:var(--surface-solid);max-width:calc(100vw - 24px);max-height:460px;box-shadow:0 24px 60px var(--surface-overlay);border:1px solid #818cf847;border-radius:14px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.thread-hover-head{background:#1e293b99;border-bottom:1px solid #94a3b829;align-items:center;gap:8px;padding:11px 12px;display:flex}.thread-hover-title{min-width:0;color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:13.5px;font-weight:700;overflow:hidden}.thread-hover-body{flex-direction:column;flex:auto;gap:12px;padding:12px;display:flex;overflow-y:auto}.thread-msg{align-items:flex-start;gap:9px;display:flex}.thread-msg-grouped{margin-top:-8px}.thread-msg-avatar,.thread-msg-avatar-spacer{flex-shrink:0;width:28px;height:28px}.thread-msg-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.thread-msg-content{flex:auto;min-width:0}.thread-msg-meta{align-items:center;gap:7px;margin-bottom:2px;display:flex}.thread-msg-sender{color:var(--text-1);font-size:13px;font-weight:700}.thread-msg-time{color:var(--text-4);font-size:11.5px}.thread-msg-text{color:var(--text-2);white-space:pre-wrap;word-break:break-word;font-size:13.2px;line-height:1.55}.thread-msg-time-inline{color:var(--text-4);opacity:0;white-space:nowrap;margin-left:8px;font-size:11px;transition:opacity .15s}.thread-msg:hover .thread-msg-time-inline{opacity:.85}.thread-msg-text code{background:#94a3b829;border-radius:5px;padding:1px 5px;font-family:SF Mono,Menlo,monospace;font-size:12px}.bid-report-result{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-2);word-break:break-word;border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.65}.bid-report-meta{align-items:center;gap:10px;display:flex}.md-heading{color:var(--text-strong);margin:10px 0 4px;font-weight:700}.md-heading-1{font-size:1.25em}.md-heading-2{font-size:1.15em}.md-heading-3{font-size:1.05em}.md-para{margin:0 0 4px}.md-item{gap:8px;margin-bottom:3px;display:flex}.md-marker{min-width:18px;color:var(--text-3);flex:none}.md-gap{height:8px}.md-blocks code{background:#94a3b829;border-radius:5px;padding:1px 5px;font-family:SF Mono,Menlo,monospace;font-size:.92em}.md-blocks b{color:var(--text-strong)}.data-table tbody tr.row-clickable{cursor:pointer}.data-table tbody tr.row-active>td{background:#6366f11f}.task-panel{width:620px;max-width:calc(100vw - 32px)}.task-text{resize:vertical;min-height:96px}.task-form-row{grid-template-columns:1fr 180px;gap:12px;display:grid}@media (width<=640px){.modal-backdrop:has(.task-panel){align-items:flex-start;padding:12px}.task-panel{border-radius:14px;width:100%;max-width:100%;max-height:calc(100vh - 24px);padding:16px 14px}.task-panel .task-form-row{grid-template-columns:1fr;gap:10px}.task-panel .form-input,.task-panel .form-input-plain,.task-panel select,.task-panel textarea{font-size:16px}.task-panel .task-text{min-height:76px}.task-panel .modal-actions{flex-direction:column-reverse;gap:8px}.task-panel .modal-actions .btn{justify-content:center;width:100%;padding-top:11px;padding-bottom:11px}}.task-pick{position:relative}.task-bid-picked{border:1px solid var(--border-subtle);background:var(--bg-input);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px 7px 12px;font-size:13px;display:flex}.task-pick-list{border:1px solid var(--border-subtle);background:var(--surface-solid-2);border-radius:10px;max-height:260px;overflow-y:auto;box-shadow:0 18px 40px -10px #000000bf}.task-pick-pop{z-index:80;position:fixed}.task-pick-option{width:100%;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.task-pick-option:hover,.task-pick-option.active{background:#6366f11f}.task-pick-option span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-pick-option.pick-check{align-items:center;margin:0}.task-pick-option.pick-check input{accent-color:#6366f1;cursor:pointer;flex-shrink:0}.multi-select-btn{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;display:flex}.multi-select-btn .multi-select-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multi-select-btn.picked{color:var(--text-strong);border-color:#6366f18c}.task-cell-edit{align-items:center;gap:6px;display:flex}.task-cell-edit .row-icon-btn{transition:opacity .15s}.row-icon-danger{color:var(--danger-text);background:#f871711f;border-color:#f8717152}.row-icon-danger:hover:not(:disabled){background:#f8717133;border-color:#f8717199}.row-icon-ok{color:var(--success-text);background:#22c55e1f;border-color:#22c55e52}.row-icon-ok:hover:not(:disabled){background:#22c55e33;border-color:#22c55e99}.data-table tbody tr:hover .task-cell-edit .row-icon-btn:not(:disabled){border-color:#6366f180}.task-quick-edit{flex-direction:column;gap:6px;padding:10px;display:flex}.task-quick-edit .form-label{margin:0}.task-name{align-items:flex-start;gap:6px;display:flex}.task-name>svg{flex:none;margin-top:3px}.task-name-critical{color:var(--warn-text)}.task-desc{-webkit-line-clamp:3;color:var(--text-3);white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.task-list-fit{--task-row-max:max(64px, calc((100vh - 340px) / 5))}.task-list-fit .data-table tbody td>*{max-height:var(--task-row-max);overflow:hidden}.remind-days{color:var(--danger-text);background:#f8717124;border:1px solid #f871714d;border-radius:999px;align-items:center;padding:2px 9px;font-size:12.5px;font-weight:800;display:inline-flex}.note-row-actions{align-items:center;gap:4px;display:flex}.note-row-actions .row-icon-btn{border-radius:999px;width:28px;height:28px;margin-top:0}.note-edit-box{flex-direction:column;gap:8px;display:flex}.note-edit-actions{gap:8px;display:flex}.task-detail-actions{align-items:center;gap:8px;display:flex}.task-detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 20px;display:grid}.task-detail-grid .form-label{margin-bottom:2px}.task-detail-desc{white-space:pre-wrap;word-break:break-word;color:var(--text-2);font-size:13.5px;line-height:1.65}.cell-clamp-2{-webkit-line-clamp:2;color:var(--text-3);white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.feedback-detail{white-space:pre-wrap;word-break:break-word;color:var(--text-2);font-size:13.5px;line-height:1.65}.task-bid{flex-direction:column;gap:1px;display:flex}.task-deadline{align-items:center;gap:5px;display:flex}.task-overdue{color:var(--danger-text)}.app-tooltip{z-index:200;visibility:hidden;border:1px solid var(--border-subtle);background:var(--surface-solid-2);max-width:320px;color:var(--text-2);white-space:pre-wrap;pointer-events:none;border-radius:9px;padding:7px 10px;font-size:12.5px;line-height:1.5;animation:.12s ease-out tooltipIn;position:fixed;top:0;left:0;box-shadow:0 14px 34px -10px #000000b3}@keyframes tooltipIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.form-input:disabled,.form-input[disabled]{opacity:.6;background:var(--bg-card);color:var(--text-3);cursor:not-allowed}.task-day-badge{color:#fff;background:#16a34a;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 5px;font-size:12px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 0 0 2px #16a34a38}.task-day-badge.overdue{background:#dc2626;box-shadow:0 0 0 2px #dc262640}.data-table tbody tr.task-row-done>td{background:#34d3991a}.task-row-done .task-name{color:var(--text-4);text-decoration:line-through}.chat-link{color:var(--link-blue);text-underline-offset:2px;word-break:break-all;text-decoration:underline}.chat-link:hover{color:var(--link-blue-hover)}.chat-mention{background:var(--chat-mention-bg);color:var(--chat-mention-text);border-radius:4px;padding:0 3px;font-weight:600}.thread-msg-empty{color:var(--text-4);font-style:italic}.thread-hover-foot{background:#1e293b99;border-top:1px solid #94a3b829;flex-shrink:0;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.chat-composer{flex:auto;min-width:0}.chat-composer-compact .editor-toolbar{gap:4px;margin:0 0 6px}.chat-composer-compact .editor-toolbar button{width:26px;height:26px}.chat-composer-compact .wysiwyg-editor{min-height:54px;max-height:130px;padding:8px 10px;font-size:13px}.chat-composer-compact .emoji-popover{z-index:14;top:auto;bottom:calc(100% + 8px)}.chat-composer-compact .mention-dropdown{max-height:168px;top:auto;bottom:calc(100% - 4px)}.chat-composer-compact .mention-uid,.chat-composer-compact .mention-tag{display:none}.thread-hover-sent{color:var(--ok-text);font-size:12px;position:absolute;bottom:62px;left:12px}.thread-hover-confirm-text{color:var(--text-2);white-space:pre-wrap;background:#94a3b81f;border-radius:9px;max-height:160px;margin-top:10px;padding:9px 11px;font-size:13px;overflow-y:auto}.bid-code-cell{align-items:center;gap:8px;display:flex}.bid-code-copy{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;place-items:center;width:24px;height:24px;transition:color .15s,border-color .15s,background .15s;display:grid}.bid-code-copy:hover{color:var(--accent-2);background:#818cf81a;border-color:#818cf866}.bid-spark{border:1px solid var(--border-subtle);width:24px;height:24px;color:var(--text-4);background:0 0;border-radius:7px;flex-shrink:0;place-items:center;transition:color .15s,border-color .15s,background .15s;display:grid}.row-ai-clickable:hover>td .bid-spark{color:var(--accent-2);border-color:#818cf880}.bid-spark.on{color:var(--accent-1);background:#818cf829;border-color:#818cf88c}.row-ai-clickable,.row-clickable{cursor:pointer}.row-clickable:hover>td{background:#818cf80f}.row-assistant-open>td{background:#818cf812}.row-ai-clickable>td{transition:background .4s}.assistant-row>td{background:#818cf80d;overflow:hidden;padding:0!important}.assistant{border-top:1px solid #818cf847;grid-template-columns:220px minmax(0,1fr);height:520px;display:grid;overflow:hidden}.assistant-row .assistant{animation:.4s cubic-bezier(.22,1,.36,1) assistantIn}.assistant-row.closing .assistant{pointer-events:none;animation:.4s cubic-bezier(.4,0,.2,1) forwards assistantOut}@keyframes assistantIn{0%{opacity:0;height:0}to{opacity:1;height:520px}}@keyframes assistantOut{0%{opacity:1;height:520px}to{opacity:0;height:0}}.assistant-history{border-right:1px solid var(--border-subtle);flex-direction:column;gap:3px;min-height:0;padding:12px 10px;display:flex;overflow-y:auto}.assistant-history-head{letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);justify-content:space-between;align-items:center;padding:0 8px 8px;font-family:SF Mono,Menlo,monospace;font-size:10.5px;display:flex}.assistant-history-empty{color:var(--text-4);padding:14px 10px;font-size:12.5px}.assistant-history-item{border-radius:8px;align-items:center;gap:4px;display:flex}.assistant-history-item:hover{background:#94a3b814}.assistant-history-item.active{background:#818cf824}.assistant-history-item>button:first-child{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:none;flex:1;padding:8px 10px;font-family:inherit}.assistant-history-item .t{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.35;display:block;overflow:hidden}.assistant-history-item .d{color:var(--text-4);margin-top:2px;font-size:10.5px;display:block}.assistant-history-del{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:6px}.assistant-history-del:hover{color:var(--danger-text)}.assistant-chat{flex-direction:column;min-width:0;min-height:0;padding:12px 16px 14px;display:flex}.assistant-head{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.assistant-title{color:var(--text-1);align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.assistant-head-right{align-items:center;gap:10px;display:flex}.assistant-token{color:var(--text-4);white-space:nowrap;font-family:SF Mono,Menlo,monospace;font-size:10.5px}.assistant-token.over{color:var(--danger-text)}.assistant-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:14px 2px;display:flex;overflow-y:auto}.assistant-welcome{flex-direction:column;gap:12px;padding:8px 0;display:flex}.assistant-ask{color:var(--text-1);font-size:16px}.assistant-ask b{color:var(--accent-2)}.assistant-shortcuts{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.assistant-shortcuts.compact{border-top:1px solid var(--border-subtle);flex-shrink:0;margin-top:8px;padding-top:8px}.assistant-sc{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-3);cursor:pointer;border-radius:999px;padding:5px 10px;font-family:SF Mono,Menlo,monospace;font-size:11px}.assistant-sc:hover{color:var(--accent-soft);border-color:#818cf873}.assistant-sc.common{border-style:dashed;border-color:#818cf866}.assistant-sc.pick{color:var(--accent-soft);background:#818cf829;border-color:#818cf899}.assistant-bubble{border-radius:12px;max-width:84%;padding:10px 14px;font-size:13px;line-height:1.6}.assistant-bubble.me{color:#fff;background:#4f46e5;border-bottom-right-radius:4px;align-self:flex-end}.assistant-bubble.ai{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-1);border-bottom-left-radius:4px;align-self:flex-start}.assistant-text{white-space:pre-wrap;word-break:break-word}.assistant-att{border-top:1px solid var(--border-strong);flex-wrap:wrap;gap:5px;margin-top:8px;padding-top:8px;display:flex}.assistant-att-file{color:var(--accent-soft);background:#818cf82e;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-size:10.5px;display:inline-flex}.assistant-att-file button{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;place-items:center;padding:0;display:grid}.assistant-att-file button:hover{opacity:1}.assistant-meta{color:var(--text-4);margin-top:7px;font-family:SF Mono,Menlo,monospace;font-size:9.5px}.assistant-meta-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.assistant-copy{color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-family:inherit;font-size:10.5px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.assistant-typing{gap:4px;padding:2px 0;display:flex}.assistant-typing span{background:var(--accent-1);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite assistantBlink}.assistant-typing span:nth-child(2){animation-delay:.2s}.assistant-typing span:nth-child(3){animation-delay:.4s}@keyframes assistantBlink{0%,80%,to{opacity:.25}40%{opacity:1}}.assistant-alert{margin:0 0 8px;font-size:12.5px}.assistant-attach-bar{color:var(--text-4);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;display:flex}.prompt-suggestions{background:var(--surface-solid);border:1px solid #6366f159;border-radius:10px;flex-direction:column;flex-shrink:0;gap:2px;max-height:220px;margin:0 0 6px;padding:6px;display:flex;overflow:auto;box-shadow:0 12px 28px -14px #000000e6}.prompt-suggestion{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 9px;font-family:inherit;display:flex}.prompt-suggestion.active{background:#6366f12e}.prompt-suggestion-id{color:var(--accent-soft);flex-shrink:0;font-family:SF Mono,Menlo,monospace;font-size:12.5px;font-weight:700}.prompt-suggestion-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-4);flex:1;font-size:11.5px;overflow:hidden}.assistant-composer{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:7px 8px;display:flex}.assistant-input{min-width:0;color:var(--text-1);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:160px;padding:2px 0;font-family:inherit;font-size:13px;line-height:1.45;overflow-y:auto}.assistant-input::placeholder{color:var(--text-4)}.doc-picker{width:100%;max-width:560px}.doc-picker-tabs{border-bottom:1px solid var(--border-subtle);flex-wrap:nowrap;margin:14px 0 4px;overflow-x:auto}.doc-picker-tabs .config-tab{white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:220px;display:block;overflow:hidden}.doc-picker-list{max-height:320px;margin:6px 0;overflow-y:auto}.doc-row{border:none;border-bottom:1px solid var(--border-subtle);width:100%;color:var(--text-1);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:11px;padding:10px 8px;font-family:inherit;font-size:13px;display:flex}.doc-row:hover{background:#94a3b812}.doc-row.picked{background:#818cf81a}.doc-check{border:1px solid var(--border-subtle);color:#fff;border-radius:5px;flex-shrink:0;place-items:center;width:16px;height:16px;display:grid}.doc-check.on{background:#4f46e5;border-color:#4f46e5}.doc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.doc-cached{color:var(--ok-text);flex-shrink:0;font-family:SF Mono,Menlo,monospace;font-size:9.5px}.note-pop{z-index:60;background:var(--surface-solid-2);border:1px solid #818cf899;border-radius:12px;flex-direction:column;gap:8px;width:576px;max-width:calc(100vw - 24px);max-height:calc(100vh - 16px);padding:10px;animation:.14s ease-out notePopIn;display:flex;position:fixed;box-shadow:0 0 0 1px #6366f12e,0 22px 48px -16px #000000f2}.note-pop.leaving{animation:.14s ease-in forwards notePopOut}.note-pop-hover{pointer-events:none;width:540px}@keyframes notePopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes notePopOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.note-pop-head{color:var(--text-2);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.note-pop-close{width:20px;height:20px;color:var(--text-4);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;margin-left:auto;display:grid}.note-pop-close:hover{color:var(--text-strong);background:#94a3b829}.note-pop-list{flex-direction:column;flex:0 auto;gap:8px;min-height:0;max-height:240px;display:flex;overflow:auto}.note-item{background:var(--surface-raised);border-radius:8px;padding:6px 74px 6px 8px;position:relative}.note-item-text{white-space:pre-wrap;word-break:break-word;color:var(--text-1);font-size:12.5px}.note-item-head{align-items:flex-start;gap:6px;display:flex}.note-item-head>:nth-child(2),.note-item-head>.note-text{flex:1;min-width:0}.note-critical{border-left:2px solid var(--warn-text)}.note-flag{color:var(--warn-text);margin-top:2px}.note-resolved .note-item-head,.note-resolved .note-item-meta{opacity:.55}.note-item-tools{z-index:1;gap:4px;display:flex;position:absolute;top:6px;right:6px}.note-edit-saving{cursor:default;place-items:center;display:grid}.note-item-head-editable{cursor:text;border-radius:6px;transition:background .15s}.note-item-head-editable:hover,.note-item-head-editable:focus-visible{background:#818cf81a;outline:none}.note-cell-editable{cursor:text;border-radius:6px;margin:-4px -6px;padding:4px 6px;transition:background .15s}.note-cell-editable:hover,.note-cell-editable:focus-visible{background:#818cf81a;outline:none}.note-resolve{border:1px solid var(--border-subtle);background:var(--surface-sunken);width:28px;height:28px;color:var(--text-4);cursor:pointer;border-radius:999px;place-items:center;padding:0;transition:border-color .15s,background .15s,color .15s;display:grid;position:static}.note-resolve:hover:not(:disabled){border-color:var(--ok-text);color:var(--ok-text)}.note-resolve:disabled{cursor:default}.note-resolve:not(.on):not(.note-delete){border-color:var(--danger-text);color:var(--danger-text)}.note-resolve:not(.on):not(.note-delete):hover:not(:disabled){background:#f8717129}.note-resolve.on{border-color:var(--ok-text);color:var(--ok-text);background:#34d39929}.note-delete:not(:disabled){border-color:var(--danger-text);color:var(--danger-text)}.note-delete:hover:not(:disabled){background:#f8717129}.note-delete:disabled{border-color:var(--border-subtle);color:var(--text-4);opacity:.5}.note-delete.armed{border-color:var(--danger-text);color:var(--danger-text);background:#f871712e}.data-table.weekly-notes-table tbody td{vertical-align:top}.weekly-notes-table .weekly-cell-user,.weekly-notes-table .weekly-cell-bid,.weekly-notes-table .weekly-cell-note{border-left:1px solid var(--border-subtle)}.weekly-user-name,.weekly-bid-code{color:var(--text-1);font-weight:700}.weekly-bid-line:before{content:"– ";color:var(--text-4)}.task-description-editor .wysiwyg-editor{min-height:132px;max-height:34vh}.note-rich .log-who{color:var(--danger-text);font-style:italic;font-weight:700}.inline-rich-view{border-radius:6px;min-height:20px;margin:-2px -4px;padding:2px 4px}.inline-rich-editable{cursor:text}.inline-rich-editable:hover{background:#6366f112}.inline-rich-placeholder{color:var(--text-4);font-style:italic}.quick-note-invite{width:100%;color:var(--text-4);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:2px 0;font-style:italic}.quick-note-invite:disabled{cursor:default}.quick-note-foot{align-items:center;gap:8px;margin-top:6px;display:flex}.quick-note-foot .form-hint{margin-right:auto}.bid-pick-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:6px;margin:-4px -6px;padding:4px 6px;display:flex}.bid-pick-btn:hover:not(:disabled){border-color:var(--border-subtle);background:#6366f117}.bid-pick-btn:disabled{cursor:default}.bid-pick-value{flex-direction:column;gap:2px;min-width:0;display:flex}.bid-pick-empty .bid-pick-value{color:var(--text-4);flex-direction:row;align-items:center;font-style:italic}.bid-pick-caret{opacity:0;color:var(--text-4);flex:none}.bid-pick-btn:hover .bid-pick-caret{opacity:1}.bid-pick-option{flex-direction:column;gap:1px;min-width:0;display:flex}.weekly-row-add>td:not(.weekly-cell-user){border-top:1px dashed var(--border-subtle)}.weekly-cell-note{position:relative;padding-right:72px!important}.weekly-note-tools{z-index:1;gap:4px;display:flex;position:absolute;top:8px;right:8px}.weekly-note-time{color:var(--text-4);margin-top:4px;font-size:11.5px;font-style:italic}.weekly-note-resolved{opacity:.55}.weekly-status-tools{align-items:center;gap:4px;display:flex}.weekly-add-hint{opacity:.4;place-items:center;display:inline-grid}.inline-text{white-space:pre-wrap;border-radius:7px;min-height:22px;margin:-3px -6px;padding:3px 6px;line-height:1.55}.inline-text-editable{cursor:text}.inline-text-editable:hover,.inline-text-editable:focus-visible{background:var(--surface-sunken);outline:none}.inline-text-empty{color:var(--text-4);font-style:italic}.inline-text-area{resize:vertical;width:100%;line-height:1.55}.reply-chat{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:14px}.reply-chat-list{flex-direction:column;gap:8px;max-height:360px;padding:2px 4px 10px;display:flex;overflow-y:auto}.reply-bubble-row{justify-content:flex-start;display:flex}.reply-bubble-row.mine{justify-content:flex-end}.reply-bubble{border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:12px;max-width:72%;padding:8px 11px}.reply-bubble-row.mine .reply-bubble{background:#818cf81f;border-color:#818cf859}.reply-bubble-who{color:var(--accent-2);margin-bottom:3px;font-size:11.5px;font-weight:700}.reply-bubble-text{white-space:pre-wrap;word-break:break-word;color:var(--text-2);font-size:13px;line-height:1.6}.reply-bubble-time{color:var(--text-4);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.reply-bubble-del{color:var(--text-4);cursor:pointer;opacity:0;background:0 0;border:none;padding:0;transition:opacity .15s,color .15s;display:inline-flex}.reply-bubble:hover .reply-bubble-del,.reply-bubble-del:focus-visible{opacity:1}.reply-bubble-del:hover{color:var(--danger-text)}.reply-chat-compose{margin-top:10px}.reply-chat-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.note-mention-dropdown{z-index:240;border:1px solid var(--border-subtle);background:var(--surface-solid-2);border-radius:10px;min-width:230px;max-width:320px;padding:5px;position:fixed;box-shadow:0 16px 38px -12px #000000b3}.note-mention-option{width:100%;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:baseline;gap:8px;padding:6px 9px;display:flex}.note-mention-option:hover,.note-mention-option.active{color:var(--text-1);background:#818cf829}.note-mention-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13px;overflow:hidden}.note-mention-handle{font-family:var(--font-mono,ui-monospace, monospace);color:var(--text-4);flex-shrink:0;font-size:11.5px}.note-mention{color:var(--accent-2);white-space:nowrap;background:#818cf82e;border-radius:5px;padding:1px 5px;font-weight:600;display:inline}.note-mention[contenteditable=false]{-webkit-user-select:all;user-select:all;cursor:default}.note-resolved-by{color:var(--ok-text)}.note-critical-check{color:var(--text-3);cursor:pointer;align-items:center;gap:6px;margin:6px 0 2px;font-size:12px;display:flex}.note-critical-check input{cursor:pointer}.note-item-meta{color:var(--text-4);margin-top:3px;font-size:11px}.note-pop-input{resize:vertical;background:var(--surface-sunken);border:1px solid var(--border-subtle);width:100%;min-height:123px;color:var(--text-strong);border-radius:9px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.note-pop-input:focus{border-color:#6366f1}.note-editor{flex-direction:column;gap:6px;display:flex}.note-editor-toolbar{flex-wrap:wrap;gap:4px;margin:0}.note-editor-toolbar button{border-radius:7px;width:26px;height:26px}.note-editor .wysiwyg-editor{min-height:96px;max-height:180px;font-size:13px}.note-rich{white-space:normal}.note-rich p{margin:0 0 4px}.note-rich p:last-child{margin-bottom:0}.note-rich ul,.note-rich ol{margin:4px 0;padding-left:20px}.note-rich li{margin:1px 0}.note-rich h1,.note-rich h2,.note-rich h3{color:var(--text-1);margin:6px 0 3px;font-size:13.5px;font-weight:700}.note-rich a{color:var(--link-blue);word-break:break-all;text-decoration:underline}.note-rich code{background:#6366f129;border-radius:4px;padding:1px 4px;font-size:12px}.note-rich pre{background:var(--shadow-soft);white-space:pre-wrap;border-radius:6px;margin:4px 0;padding:6px 8px;overflow-x:auto}.note-rich blockquote{color:var(--text-2);border-left:2px solid #6366f180;margin:4px 0;padding-left:8px}.note-pop-error{margin:0;font-size:12px}.note-pop-foot{align-items:center;gap:8px;display:flex}.note-pop-foot .form-hint{flex:1;font-size:11px}.note-filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px;display:flex}.note-filter-field{flex:165px;min-width:0;max-width:230px}.note-filter-actions{gap:8px;margin-left:auto;display:flex}.note-filter-checks{align-items:center;gap:16px;padding-bottom:9px;display:flex}.note-filter-check{color:var(--text-3);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.note-filter-check input{cursor:pointer}.note-cell-critical{box-shadow:inset 3px 0 0 var(--warn-text)}.note-critical-flag{color:var(--warn-text);letter-spacing:.02em;border:1px solid #f59e0b66;border-radius:999px;align-items:center;gap:4px;margin-bottom:5px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-flex}.data-table tbody tr.note-row-resolved>td:not(.note-group-cell){background:#34d3991a}.data-table tbody tr.note-row-resolved:hover>td:not(.note-group-cell){background:#34d3992b}.note-group-cell{border-right:1px solid var(--border-hair);vertical-align:top!important}.sidebar-credential-btn{justify-content:center;width:100%;margin-bottom:14px}.sidebar.collapsed .sidebar-credential-btn{padding-left:0;padding-right:0}.dashboard-filter{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px;padding:14px 16px;display:flex}.dashboard-filter .filter-item{flex-direction:column;gap:5px;min-width:168px;display:flex}.dashboard-filter .form-label{margin:0}.donut-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.donut-row .report-donut{flex-direction:column;margin-bottom:0;display:flex}.donut-row .report-donut .panel-title{margin-bottom:4px}.customer-table{max-height:460px;overflow-y:auto}@media (width<=1500px){.donut-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.donut-row{grid-template-columns:1fr}}.stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}@media (width<=900px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-row .stat-value{font-size:30px}.bid-chart-scroll{padding-bottom:4px;overflow-x:auto}.bid-bar{fill:var(--accent-1);transition:fill .15s}.bid-bar:hover{fill:var(--accent-2)}.bid-bar-value{text-anchor:middle;fill:var(--text-2);font-size:11px;font-weight:700}.bid-bar-label{text-anchor:middle;fill:var(--text-4);font-size:10.5px}.share-bar{background:#94a3b829;border-radius:999px;height:8px;overflow:hidden}.share-bar-fill{background:linear-gradient(90deg,#6366f1,#22d3ee);border-radius:999px;height:100%}.member-cell{justify-content:center;align-items:center;gap:4px;display:flex}.modal-backdrop-bare{background:var(--surface-veil-soft);-webkit-backdrop-filter:none}.group-modal{max-width:720px}.chip-toggle{cursor:pointer;border:none;font-family:inherit;transition:filter .15s}.chip-toggle:hover{filter:brightness(1.25)}.chip-toggle:disabled{cursor:default;opacity:.6}.job-tab-dot{background:var(--ok-text);border-radius:50%;width:7px;height:7px;margin-left:6px;animation:1.4s ease-in-out infinite jobTabPulse;display:inline-block;box-shadow:0 0 6px #34d399cc}@keyframes jobTabPulse{0%,to{opacity:1}50%{opacity:.35}}.btn-note{position:relative}.note-count{color:#fff;background:#6366f1;border-radius:999px;place-items:center;min-width:15px;height:15px;padding:0 3px;font-size:9.5px;font-weight:800;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.btn-note-on{color:var(--accent-2)!important;border-color:#6366f180!important}.btn-pin-on{color:var(--warn-soft)!important;border-color:#f59e0b80!important}.btn-pin-on svg{fill:currentColor;transform:rotate(-45deg)}.btn-doc-on{color:var(--accent-2)!important;border-color:#6366f180!important}.doc-row-all{width:100%;color:var(--accent-soft);border-bottom:1px solid #818cf847;margin-bottom:4px;font-weight:600}.doc-row.blocked{opacity:.5;cursor:not-allowed}.doc-blocked{color:var(--warn-soft);background:#f59e0b24;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.doc-size{color:var(--text-4);flex-shrink:0;font-family:SF Mono,Menlo,monospace;font-size:10.5px}.doc-picker-foot{align-items:center}@media (width<=900px){.assistant{grid-template-columns:minmax(0,1fr);height:auto;max-height:80vh}.assistant-history{border-right:none;border-bottom:1px solid var(--border-subtle);max-height:160px}}.usage-bar-wrap{margin-top:16px}.usage-bar{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:999px;height:8px;overflow:hidden}.usage-bar-fill{background:#6366f1;height:100%;transition:width .3s}.usage-bar-fill.warn{background:var(--warn-text)}.usage-bar-fill.danger{background:#ef4444}.job-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.job-name{color:var(--text-1);margin-bottom:3px;font-size:15px;font-weight:600}.job-controls{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 0;display:flex}.job-interval{width:210px}.job-start-at{width:130px}.job-start-at:disabled{opacity:.5}.job-window{align-items:center;gap:8px;display:flex}.job-window-sep{color:var(--text-4);font-size:13px}.job-lookback{color:var(--text-3);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:flex}.job-lookback input{width:80px}.job-status{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;padding:14px 0 4px;display:grid}.job-status-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);margin-bottom:3px;font-size:10.5px;display:block}.job-status-value{color:var(--text-1);font-size:13.5px;display:block}.job-ok{color:var(--ok-text);align-items:center;gap:5px;display:inline-flex}.job-fail{color:var(--danger-text);align-items:center;gap:5px;display:inline-flex}.job-message{color:var(--tint-ok-message);white-space:pre-wrap;background:#34d3991a;border:1px solid #34d39940;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:12.5px}.job-message.fail{color:var(--tint-bad-text);background:#f871711a;border-color:#f8717140}.job-preview{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:14px}.burn-cell{justify-content:flex-end;align-items:center;min-height:22px;padding:0 8px;display:flex;position:relative}.burn-bar{background:linear-gradient(90deg,#6366f126,#6366f173);border-radius:5px;position:absolute;top:2px;bottom:2px;right:0}.burn-value{color:var(--text-1);font-weight:700;position:relative}.am-name{color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px dashed #0000;padding:0}.am-name:hover:not(:disabled){color:var(--accent-soft);border-bottom-color:#818cf899}.am-name:disabled{cursor:help;color:var(--text-2)}.sla-cell{cursor:help;align-items:baseline;gap:5px;display:inline-flex}.sla-days{color:var(--text-1);font-size:15px;font-weight:700}.sla-hours{color:var(--text-muted);font-size:11.5px;font-weight:600}.report-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);align-items:stretch;gap:12px;margin-bottom:12px;display:grid}.report-overview .panel{margin-bottom:0;padding:13px 15px}.report-overview .panel-title{margin-bottom:8px;font-size:13px}.report-overview .stat-card{border-radius:12px;padding:9px 13px}.report-overview .stat-card .stat-label{margin-bottom:2px;font-size:10.5px}.report-overview .stat-card .stat-value{font-size:19px}.report-overview .report-stats{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr);gap:8px;height:100%;margin-bottom:0;display:grid}.report-overview .report-stats .stat-card{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;min-height:0;padding:8px 16px;display:flex}.report-overview .report-stats .stat-label{margin-bottom:0}.report-stats .outcome-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;display:grid}.outcome-btn{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:4px 6px;font-family:inherit;transition:border-color .15s,background .15s,color .15s;display:flex}.outcome-name{letter-spacing:.4px;font-size:10.5px;font-weight:800}.outcome-count{font-size:13px;font-weight:700}.outcome-btn:hover{border-color:var(--text-4);color:var(--text-1)}.outcome-btn.outcome-win.active{border-color:var(--ok-text);color:var(--ok-soft);background:#34d39929}.outcome-btn.outcome-lost.active{border-color:var(--danger-text);color:var(--error-text);background:#f8717129}.outcome-btn.outcome-cancel.active{border-color:var(--text-3);color:var(--text-2);background:#94a3b82e}.report-overview .report-stats .stat-value{font-size:22px}.report-overview .report-donut{flex-direction:column;justify-content:flex-start;margin-bottom:0;padding:14px 16px 12px;display:flex}.report-overview .report-donut .panel-title{margin-bottom:4px}.report-donut .donut-wrap{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.report-donut .donut-svg{width:100%;max-width:100%;height:100%;min-height:130px;max-height:220px}.report-overview .report-members{flex-direction:column;margin-bottom:0;display:flex}.date-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.date-preset{flex-shrink:0;width:160px}.date-input{flex-shrink:0;width:140px}.date-field{cursor:pointer}.date-field::-webkit-calendar-picker-indicator{opacity:1;cursor:pointer;background-image:none;background-color:var(--accent-2);width:17px;height:17px;margin-left:6px;padding:0;transition:background-color .15s;-webkit-mask:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20width=%2218%22%20height=%2218%22%20x=%223%22%20y=%224%22%20rx=%222%22/%3E%3Cpath%20d=%22M8%202v4%22/%3E%3Cpath%20d=%22M16%202v4%22/%3E%3Cpath%20d=%22M3%2010h18%22/%3E%3C/svg%3E) 50%/17px 17px no-repeat;mask:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20width=%2218%22%20height=%2218%22%20x=%223%22%20y=%224%22%20rx=%222%22/%3E%3Cpath%20d=%22M8%202v4%22/%3E%3Cpath%20d=%22M16%202v4%22/%3E%3Cpath%20d=%22M3%2010h18%22/%3E%3C/svg%3E) 50%/17px 17px no-repeat}.date-field::-webkit-calendar-picker-indicator:hover{background-color:var(--accent)}.date-sep{color:var(--text-muted);font-size:13px}.report-members .member-chips{align-content:flex-start}@media (width<=1400px){.report-overview .report-donut,.report-overview .report-members{padding:16px}}@media (width<=1150px){.report-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.report-overview .report-members{grid-column:1/-1}}@media (width<=850px){.report-overview{grid-template-columns:minmax(0,1fr)}}.member-chips{flex-wrap:wrap;gap:8px;display:flex}.member-chip{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:13px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.member-chip:hover{border-color:var(--text-4);color:var(--text-1)}.member-chip.active{color:var(--accent-soft);background:#6366f12e;border-color:#6366f1}.member-chip-count{text-align:center;background:#94a3b833;border-radius:999px;min-width:22px;padding:1px 6px;font-size:11.5px}.member-chip.active .member-chip-count{background:#6366f159}.member-chip-clear{border-style:dashed}.role-filter{align-items:center;gap:6px;margin-top:10px;display:flex}.role-filter .form-hint{margin-right:2px}.member-chip-role{letter-spacing:.4px;padding:4px 10px;font-size:11.5px;font-weight:600}.member-chip-clear:disabled{opacity:.4;cursor:default}.member-chip-clear:disabled:hover{border-color:var(--border-subtle);color:var(--text-muted)}.donut-wrap{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.donut-svg{flex-shrink:0;width:200px;height:200px}.donut-track{fill:none;stroke:#94a3b826;stroke-width:30px}.donut-slice{fill:none;stroke-width:30px}.donut-slice.pickable{cursor:pointer;transition:opacity .15s,filter .15s}.donut-slice.pickable:hover{filter:brightness(1.15)}.donut-slice.dimmed{opacity:.28}.donut-slice.picked{filter:brightness(1.2)drop-shadow(0 0 6px #ffffff40)}.donut-clear{color:var(--accent-soft);cursor:pointer;background:#6366f12e;border:1px solid #818cf880;border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-flex}.donut-clear:hover{color:var(--text-strong);background:#6366f152}.donut-total{fill:var(--text-main);text-anchor:middle;font-size:34px;font-weight:700}.donut-caption{fill:var(--text-muted);text-anchor:middle;font-size:12px}.donut-slice-label{letter-spacing:.3px;font-size:15px;font-weight:800}.donut-slice-value{fill:var(--text-main);font-size:14px;font-weight:800}.donut-legend{flex-direction:column;gap:10px;display:flex}.donut-legend-item{align-items:center;gap:10px;font-size:13px;display:flex}.donut-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.donut-legend-label{min-width:70px;color:var(--text-1);font-weight:600}.donut-legend-value{color:var(--text-muted)}.md-code-block{border:1px solid var(--border-subtle);background:var(--surface-overlay);border-radius:10px;margin:10px 0;overflow:hidden}.md-code-head{border-bottom:1px solid var(--border-subtle);background:#94a3b81a;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.md-code-lang{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);font-size:11px}.md-code-copy{color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;transition:color .15s,border-color .15s;display:inline-flex}.md-code-copy:hover{color:var(--text-1);border-color:var(--text-4)}.md-code-body{margin:0;padding:10px 12px;font-size:12px;line-height:1.55;overflow-x:auto}.md-code-body code{white-space:pre;color:var(--text-1);background:0 0;padding:0;font-family:SFMono-Regular,Menlo,Consolas,monospace}.config-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.config-toggle input{display:none}.config-toggle-track{border:1px solid var(--border-subtle);background:#94a3b847;border-radius:999px;flex-shrink:0;width:40px;height:22px;transition:background .15s;position:relative}.config-toggle-track:after{content:"";background:var(--text-2);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.config-toggle.on .config-toggle-track{background:#6366f1bf}.config-toggle.on .config-toggle-track:after{background:#fff;transform:translate(18px)}.config-toggle-label{color:var(--text-muted);font-size:13px}.config-toggle.on .config-toggle-label{color:var(--accent-soft)}.config-toggle-sm{gap:7px;margin-right:4px}.config-toggle-sm .config-toggle-track{width:32px;height:18px}.config-toggle-sm .config-toggle-track:after{width:12px;height:12px}.config-toggle-sm.on .config-toggle-track:after{transform:translate(14px)}.config-toggle-sm .config-toggle-label{font-size:12px}.config-toggle-sm:has(input:disabled){opacity:.6;cursor:progress}.assistant-text .md-p{margin:0 0 8px}.assistant-text .md-p:last-child{margin-bottom:0}.assistant-text .md-heading{color:var(--accent-soft);margin:12px 0 6px;font-size:13.5px;font-weight:600}.assistant-text .md-heading:first-child{margin-top:0}.assistant-text .md-list{flex-direction:column;gap:4px;margin:0 0 8px;padding-left:20px;display:flex}.assistant-text .md-list:last-child{margin-bottom:0}.assistant-text .md-list li{line-height:1.55}.assistant-text .md-list li::marker{color:var(--accent-1)}.assistant-text strong{color:var(--text-1);font-weight:600}.assistant-text code{background:#94a3b829;border-radius:4px;padding:1px 5px;font-family:SF Mono,Menlo,monospace;font-size:.88em}.assistant-bubble.me .assistant-text strong{color:#fff}.assistant-text .md-link{color:var(--link-blue);text-underline-offset:2px;word-break:break-all;text-decoration:underline}.assistant-text .md-link:hover{color:var(--link-blue-hover)}.assistant-bubble.me .md-link{color:#e0e7ff}.assistant-bubble.ai{position:relative}.assistant-copy{border:1px solid var(--border-subtle);background:var(--bg-card);width:24px;height:24px;color:var(--text-4);cursor:pointer;opacity:0;border-radius:6px;place-items:center;transition:opacity .15s,color .15s,border-color .15s;display:grid;position:absolute;top:6px;right:6px}.assistant-bubble.ai:hover .assistant-copy,.assistant-copy:focus-visible{opacity:1}.assistant-copy:hover{color:var(--accent-soft);border-color:#818cf880}.assistant-copy.done{opacity:1;color:var(--ok-text);border-color:#34d39973}.assistant-bubble.ai .assistant-text{padding-right:22px}.quick-reply-pop{width:520px}.quick-reply-pop .reply-chat{border-top:none;margin-top:0;padding-top:0}.quick-reply-pop .reply-chat-list{max-height:240px}.quick-reply-sub{margin:-2px 0 8px}.quick-reply-body{border-left:2px solid var(--border-subtle);background:var(--surface-solid-1,#7f7f7f0f);max-height:120px;color:var(--text-3);white-space:pre-wrap;border-radius:0 6px 6px 0;margin-bottom:10px;padding:8px 10px;font-size:13px;overflow-y:auto}.quick-reply-loading{justify-content:center;padding:26px 0;display:flex}.member-pick-search{border-bottom:1px solid var(--border-subtle);padding:6px 6px 4px}.member-pick-search input{width:100%;font-size:12.5px}.member-pick-clear{color:var(--text-3);border-bottom:1px solid var(--border-subtle);align-items:center;gap:6px;display:flex}.member-pick-clear:hover{color:var(--danger-text)}.note-filter-checks{grid-template-columns:repeat(2,auto);align-items:center;gap:4px 16px;padding-bottom:4px;display:grid}.note-filter-member .weekly-filter{display:block}.note-filter-member .weekly-filter-label{display:none}.note-filter-member .multi-select-btn{width:100%}.note-due-pop{z-index:240;border:1px solid var(--border-subtle);background:var(--surface-solid-2);border-radius:10px;flex-direction:column;align-items:stretch;gap:6px;padding:7px 9px;display:flex;position:fixed;box-shadow:0 16px 38px -12px #000000b3}.note-due-label{color:var(--text-4);white-space:nowrap;font-size:11.5px}.inline-due-pop{margin-top:6px;position:static}.next-edit-pop,.next-log-pop{width:460px}.task-name-bid{color:var(--text-strong);font-weight:600}.task-name-next{white-space:pre-wrap}.mini-cal{width:232px}.mini-cal-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.mini-cal-title{color:var(--text-2);font-size:12.5px;font-weight:600}.mini-cal-nav{width:22px;height:22px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:0;display:grid}.mini-cal-nav:hover{color:var(--text-1);background:#818cf829}.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-cal-weekday{height:20px;color:var(--text-4);place-items:center;font-size:10.5px;display:grid}.mini-cal-pad{height:26px}.mini-cal-day{height:26px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:0;font-size:12px}.mini-cal-day:hover{color:var(--text-1);background:#818cf833}.mini-cal-day.today{border-color:#818cf8b3}.mini-cal-day.cursor{color:var(--text-1);background:#818cf833}.mini-cal-day.picked{background:var(--accent-2,#818cf8);color:#fff;font-weight:600}.mini-cal-today{border:1px solid var(--border-subtle);width:100%;color:var(--text-3);cursor:pointer;background:0 0;border-radius:7px;margin-top:6px;padding:4px;font-size:11.5px}.mini-cal-today:hover{color:var(--text-1);border-color:#818cf88c}.note-due{color:var(--ok-text);white-space:nowrap;background:#34d39929;border-radius:5px;padding:1px 5px;font-weight:600;display:inline}.note-due[contenteditable=false]{-webkit-user-select:all;user-select:all;cursor:default}.issue-due{align-items:center;gap:4px;margin-top:3px;display:flex}.issue-due-btn{border:1px dashed var(--border-subtle);color:var(--text-4);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;display:inline-flex}.issue-due-btn:not(.has-date) svg{color:var(--accent-2)}.issue-due-btn:hover:not(:disabled){color:var(--text-2);border-color:#818cf899}.issue-due-btn.has-date{color:var(--ok-text);background:#34d3991f;border-style:solid;border-color:#34d39973;font-weight:600}.issue-due-btn:disabled{cursor:default;opacity:.6}.issue-due-clear{width:18px;height:18px;color:var(--text-4);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;place-items:center;padding:0;display:grid}.issue-due:hover .issue-due-clear,.issue-due-clear:focus-visible{opacity:1}.issue-due-clear:hover{color:var(--danger-text,#f87171);background:#f871712e}.issue-due-pop{padding:8px}.issue-due-btn.overdue{color:var(--danger-text,#f87171);background:#f8717124;border-color:#f8717180}.issue-due-btn.due-today{color:var(--warn-text);background:#fbbf2429;border-color:#fbbf248c}
