@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{--gray-1:#fff;--gray-2:#f9fafa;--gray-3:#f3f4f3;--gray-4:#e8eaea;--gray-5:#dcdfe2;--gray-6:#d1d5d4;--gray-7:#9ca3a1;--gray-8:#6b7280;--gray-9:#2b3644;--dark-1:#111318;--dark-2:#1a1d24;--dark-3:#22252e;--dark-4:#2a2e38;--dark-5:#363b46;--dark-6:#5c626c;--dark-7:#949dab;--dark-8:#b9c1cb;--dark-9:#dce0e5;--green-1:#d1fae5;--green-2:#10b981;--green-3:#059669;--green-dim-1:#10b98129;--green-dim-2:#047857;--green-dim-3:#6ee7b7;--red-1:#fee2e2;--red-2:#dc2626;--red-3:#991b1b;--red-dim-1:#f871712e;--red-dim-2:#f87171;--red-dim-3:#fca5a5;--amber-1:#fef3c7;--amber-2:#d97706;--amber-3:#92400e;--amber-dim-1:#fbbf2429;--amber-dim-2:#fbbf24;--amber-dim-3:#fcd34d;--blue-1:#dbeafe;--blue-2:#2563eb;--blue-3:#1e40af;--blue-dim-1:#60a5fa29;--blue-dim-2:#60a5fa;--blue-dim-3:#93c5fd;--font:"DM Sans", system-ui, sans-serif;--nav-h:52px;--toolbar-h:44px;--radius-card:10px;--radius-input:6px;--color-scheme:light;--icon-invert:none;--dim-opacity:1;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:var(--gray-5);--card-bg:var(--gray-1);--raised-bg:var(--gray-2);--sunken-bg:var(--gray-3);--hover-bg:var(--gray-3);--inverse-bg:var(--gray-9);--inverse-text:var(--gray-1);--nav-bg:var(--gray-9);--nav-text:var(--gray-1);--nav-border:var(--dark-6);--overlay-bg:#2b36446b;--text-primary:var(--gray-9);--text-secondary:var(--gray-8);--text-muted:var(--gray-7);--text-on-accent:#fff;--border-subtle:var(--gray-4);--border-strong:var(--gray-6);--accent:var(--green-2);--accent-hover:var(--green-3);--accent-soft:var(--green-1);--accent-border:var(--green-2);--accent-text:var(--green-3);--danger:var(--red-2);--danger-soft:var(--red-1);--danger-border:var(--red-2);--danger-text:var(--red-3);--warn:var(--amber-2);--warn-soft:var(--amber-1);--warn-border:var(--amber-2);--warn-text:var(--amber-3);--info:var(--blue-2);--info-soft:var(--blue-1);--info-border:var(--blue-2);--info-text:var(--blue-3);--shadow-md:0 8px 24px #0f172a1a;--shadow-lg:0 16px 40px #0f172a24;--shadow-xl:0 24px 64px #0f172a2e;--focus-ring:0 0 0 2px #10b9812e;--surface-gradient:linear-gradient(180deg, var(--gray-2), #fff0);--page-gradient:linear-gradient(180deg, var(--gray-3) 0%, var(--gray-1) 110px);--accent-gradient:linear-gradient(180deg, var(--green-1), #fff0)}body.dark{--color-scheme:dark;--icon-invert:invert(1) brightness(.7);--dim-opacity:.7;--page-bg:var(--dark-1);--card-bg:var(--dark-3);--raised-bg:var(--dark-2);--sunken-bg:var(--dark-4);--hover-bg:var(--dark-4);--inverse-bg:var(--dark-8);--inverse-text:var(--dark-1);--nav-bg:var(--dark-1);--nav-text:var(--dark-9);--nav-border:var(--dark-5);--overlay-bg:#0000008c;--text-primary:var(--dark-9);--text-secondary:var(--dark-8);--text-muted:var(--dark-7);--border-subtle:var(--dark-4);--border-strong:var(--dark-5);--accent:var(--green-3);--accent-hover:var(--green-dim-2);--accent-soft:var(--green-dim-1);--accent-border:var(--green-dim-3);--accent-text:var(--green-dim-3);--danger:var(--red-dim-2);--danger-soft:var(--red-dim-1);--danger-border:var(--red-dim-2);--danger-text:var(--red-dim-3);--warn:var(--amber-dim-2);--warn-soft:var(--amber-dim-1);--warn-border:var(--amber-dim-2);--warn-text:var(--amber-dim-3);--info:var(--blue-dim-2);--info-soft:var(--blue-dim-1);--info-border:var(--blue-dim-2);--info-text:var(--blue-dim-3);--shadow-md:0 8px 24px #00000059;--shadow-lg:0 16px 40px #0006;--shadow-xl:0 24px 64px #00000080;--focus-ring:0 0 0 2px #34d39938;--surface-gradient:linear-gradient(180deg, var(--dark-2), #11131800);--page-gradient:linear-gradient(180deg, var(--dark-2) 0%, var(--dark-1) 110px);--accent-gradient:linear-gradient(180deg, var(--green-dim-1), #11131800)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-corner{background:0 0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--page-bg);color:var(--text-primary);margin:0;overflow:hidden}#root{flex-direction:column;height:100vh;min-height:100vh;display:flex;overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.public-layout{min-height:100vh;padding:40px 20px}.public-layout__main{width:min(1120px,100%);margin:0 auto}.list-page{background:var(--page-bg)}.btn,.btn-icon{font-family:var(--font);cursor:pointer}.btn{border:1px solid var(--border-subtle);background:var(--card-bg);height:30px;color:var(--text-primary);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--sunken-bg);border-color:var(--border-strong)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled,.btn-icon:disabled{opacity:.55;cursor:not-allowed}.btn-icon{border:1px solid var(--border-subtle);background:var(--card-bg);width:30px;height:30px;color:var(--text-secondary);border-radius:7px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:inline-flex;position:relative}.btn-icon:hover:not(:disabled){background:var(--sunken-bg);color:var(--text-primary)}.btn-icon-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.btn-icon-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}@keyframes fmIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cb-wrap{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;position:relative}.cb-wrap input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.cb-wrap input:disabled{cursor:default}.cb-wrap input:disabled+.cb-box{opacity:.55}.cb-box{border:1.5px solid var(--border-strong);background:var(--card-bg);pointer-events:none;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;transition:all .12s;display:flex}.cb-wrap input:checked+.cb-box{background:var(--inverse-bg);border-color:var(--inverse-bg)}.cb-wrap input:checked+.cb-box:after{content:"";border:1.5px solid var(--card-bg);border-top:none;border-left:none;width:4px;height:7px;margin-top:-1.5px;margin-left:-.5px;display:block;transform:rotate(45deg)}.badge{letter-spacing:.03em;white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-flex}.badge-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge-won{background:var(--accent-soft);color:var(--accent-text)}.badge-sent{background:var(--warn-soft);color:var(--warn-text)}.badge-lost{background:var(--danger-soft);color:var(--danger-text)}.badge-won .badge-dot{background:var(--accent)}.badge-progress{background:var(--info-soft);color:var(--info-text)}.badge-progress .badge-dot{background:var(--info)}.badge-sent .badge-dot{background:var(--warn)}.badge-lost .badge-dot{background:var(--danger)}.badge-notstarted{background:var(--sunken-bg);color:var(--text-secondary);border:1px solid var(--border-subtle)}.badge-notstarted .badge-dot{background:var(--border-strong)}.collabs{align-items:center;display:flex}.collab-av{background:var(--accent);width:22px;height:22px;color:var(--text-on-accent);border:1.5px solid var(--card-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:-5px;font-size:8px;font-weight:700;display:inline-flex;position:relative}.collab-member{background:#6b7280}.collab-overflow{background:var(--accent-soft);color:var(--accent-text)}.collab-av:last-child,.collab-creator{margin-right:0}.badge-clickable{cursor:pointer;font:inherit;letter-spacing:inherit;border:none;transition:opacity .12s}.badge-clickable:hover{opacity:.75}.status-dropdown{background:var(--card-bg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);border-radius:8px;min-width:170px;padding:4px 0;display:none;position:fixed}.status-dropdown.open{display:block}.sd-opt{cursor:pointer;align-items:center;gap:8px;padding:7px 12px;font-size:12px;transition:background 80ms;display:flex}.sd-opt:hover{background:var(--raised-bg)}.sd-opt.current{background:var(--accent-soft)}.sd-opt-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.sd-opt-label{color:var(--text-primary);font-weight:500}.vm-overlay.open{display:flex}.vm-table-check.disabled input{cursor:default}.vm-table-check.disabled .vm-table-check-box{opacity:.5}.field-label{color:var(--text-muted);margin-bottom:6px;font-size:10px;line-height:1}.field-required{color:var(--danger);margin-left:2px;display:none}.field-value{color:var(--text-primary);font-size:14px;font-weight:400;line-height:1.4}.field-value.empty{color:var(--border-strong)}.field-value.link{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);font-size:12px;font-weight:500}.field-value.link:hover{-webkit-text-decoration-color:var(--text-primary);text-decoration-color:var(--text-primary)}.field-value.compact{font-size:12px}.field-input{border:1px solid var(--border-subtle);background:var(--card-bg);height:31px;font-family:var(--font);color:var(--text-primary);box-sizing:border-box;border-radius:6px;outline:none;width:100%;padding:0 10px;font-size:12px;transition:border-color .15s}.field-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.field-select{cursor:pointer;padding-right:6px}body.compact .radio-wrap{min-height:30px}.radio-wrap{cursor:pointer;justify-content:center;align-items:center;width:100%;height:100%;min-height:42px;display:inline-flex;position:relative}.radio-wrap input{opacity:0;pointer-events:none;position:absolute}.radio-dot{border:1.5px solid var(--border-strong);background:var(--card-bg);border-radius:999px;justify-content:center;align-items:center;width:14px;height:14px;transition:border-color .12s,background .12s;display:inline-flex}.radio-wrap input:checked+.radio-dot{border-color:var(--inverse-bg)}.radio-wrap input:checked+.radio-dot:after{content:"";background:var(--inverse-bg);border-radius:999px;width:6px;height:6px}.btn-icon:hover{background:var(--card-bg);color:var(--text-primary)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}th{background:var(--card-bg);border-color:var(--border-subtle);color:var(--text-secondary)}td{color:var(--text-primary);border-color:var(--border-subtle);background:var(--card-bg);border-bottom-color:var(--border-subtle)}tbody tr:hover td{background:var(--card-bg)}.field-input.field-select{border-color:var(--border-subtle);background:var(--card-bg);color:var(--text-primary)}.drag-handle:hover{color:var(--text-muted);background-color:var(--raised-bg)}.ds-approval-chip-remove{color:var(--text-primary);border-color:var(--border-strong)}.current-badge{background-color:var(--raised-bg)}.form-label{color:var(--text-muted)}.drag-handle{color:var(--border-strong)}.list-table th{color:var(--text-muted)}.form-input-invalid{border-color:var(--danger)}.form-field-error{color:var(--danger);margin-top:4px;font-size:10px}.form-input-invalid:hover,.form-input-invalid:focus{border-color:var(--danger)}.row-action-btn{cursor:pointer;width:26px;height:26px;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:all .12s;display:inline-flex;position:relative}.row-action-btn:hover{background:var(--sunken-bg);border-color:var(--border-subtle)}.row-action-count{background:var(--sunken-bg);min-width:15px;height:15px;color:var(--text-secondary);border:1.5px solid var(--card-bg);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:600;line-height:12px;display:inline-flex;position:absolute;top:-4px;right:-5px}.task-loading-screen{z-index:9999;background:var(--card-bg);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.task-loading-screen__sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.task-loading-screen__mark{overflow:visible}.task-loading-screen__mark path{transform-origin:50%;animation:1s ease-in-out infinite task-loading-bounce}.task-loading-screen__mark path:first-of-type{animation-delay:0s}.task-loading-screen__mark path:nth-of-type(2){animation-delay:.15s}.task-loading-screen__mark path:nth-of-type(3){animation-delay:.3s}@keyframes task-loading-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.task-loading-screen__text{min-height:1.4em;color:var(--text-secondary);margin:0;font-size:14px;font-weight:500;animation:.35s task-loading-fade-in}@keyframes task-loading-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.task-loading-screen__mark path,.task-loading-screen__text{animation:none}}.confirm-dialog-overlay{background:var(--overlay-bg);z-index:500;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--border-subtle);background:var(--card-bg);width:min(100%,420px);box-shadow:var(--shadow-xl);border-radius:16px;padding:20px}.confirm-dialog-title{color:var(--text-primary);font-size:18px;font-weight:700}.confirm-dialog-body{color:var(--text-secondary);margin-top:10px;font-size:14px;line-height:1.55}.confirm-dialog-body p{margin:0}.confirm-dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.confirm-dialog .confirm-dialog-danger,.confirm-dialog .confirm-dialog-danger:hover{color:var(--danger);border-color:var(--danger-border)}.page-placeholder{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--card-bg);box-shadow:var(--shadow-lg);align-content:center;gap:12px;min-height:280px;padding:32px;display:grid}.page-placeholder__eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.page-placeholder__title{margin:0;font-size:clamp(28px,5vw,40px);line-height:1}.page-placeholder__description{font-size:14px;line-height:1.6}.app-toast-container{z-index:3000;pointer-events:none;position:fixed;bottom:18px;right:18px}.app-toast{border:1px solid var(--border-subtle);background:var(--card-bg);min-width:180px;max-width:min(320px,100vw - 36px);box-shadow:var(--shadow-lg);pointer-events:auto;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;animation:.28s cubic-bezier(.22,1,.36,1) app-toast-slide-in;display:flex}@keyframes app-toast-slide-in{0%{opacity:0;transform:translate(calc(100% + 18px))}to{opacity:1;transform:translate(0)}}.app-toast-icon{background:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.app-toast-error .app-toast-icon{background:var(--danger)}.app-toast-warning .app-toast-icon{background:var(--warn)}.app-toast-text{min-width:0;color:var(--text-primary);flex:1;font-size:12px;font-weight:600;line-height:1.35}.app-toast-close{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-toast-close:hover{color:var(--text-primary)}@media (prefers-reduced-motion:reduce){.app-toast{animation:none}}
