*,:before,:after{box-sizing:border-box}:root{--bg:#f0f0f0;--surface:#fff;--surface-secondary:#f5f5f5;--surface-elevated:#fff;--border:#00000014;--border-strong:#00000024;--divider:#00000012;--text-primary:#151515;--text-secondary:#747474;--text-tertiary:#a3a3a3;--selected-bg:#151515;--selected-text:#fff;--button-primary:#151515;--button-primary-text:#fff;--button-secondary:#151515;--button-secondary-text:#fff;--hover:#0000000a;--focus:#0006;--success:#151515;--success-bg:#0000000f;--warning:#9c6b1f;--warning-bg:#9c6b1f1f;--danger:#b23b2f;--danger-bg:#b23b2f1a;--status-yellow:#e2be4a;--info:#2f6db5;--info-bg:#2f6db51f;--gantt-on-plan:#6b4fa0;--gantt-on-plan-bg:#6b4fa01f;--gantt-done:#3f8f5f;--dash-accent-from:#1f5f43;--dash-accent-to:#6fbf8e;--gantt-done-bg:#3f8f5f1f;--gantt-today-line:#e8720c;--card-header-bg:#202124;--card-header-text:#f2f2f2;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Manrope", sans-serif;--mono:ui-monospace, Consolas, monospace;font:15px/145% var(--sans);letter-spacing:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text-primary);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d0d0d;--surface:#161616;--surface-secondary:#1c1c1c;--surface-elevated:#202020;--border:#ffffff12;--border-strong:#ffffff1f;--divider:#ffffff0f;--text-primary:#f2f2f2;--text-secondary:#8c8c8c;--text-tertiary:#5f5f5f;--selected-bg:#f2f2f2;--selected-text:#0d0d0d;--button-primary:#f2f2f2;--button-primary-text:#0d0d0d;--button-secondary:#f2f2f2;--button-secondary-text:#0d0d0d;--hover:#ffffff0d;--focus:#fff6;--success:#f2f2f2;--success-bg:#ffffff14;--warning:#d9a441;--warning-bg:#d9a44126;--danger:#e0685c;--status-yellow:#e6c65c;--info:#7fb2e8;--info-bg:#7fb2e829;--danger-bg:#e0685c26;--gantt-on-plan:#b79ce0;--gantt-on-plan-bg:#b79ce02e;--gantt-done:#7bc99a;--dash-accent-from:#2f7a55;--dash-accent-to:#8fd6ac;--gantt-done-bg:#7bc99a29;--gantt-today-line:#ffa94d;--card-header-bg:var(--surface-elevated);--card-header-text:var(--text-primary)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0d;--surface:#161616;--surface-secondary:#1c1c1c;--surface-elevated:#202020;--border:#ffffff12;--border-strong:#ffffff1f;--divider:#ffffff0f;--text-primary:#f2f2f2;--text-secondary:#8c8c8c;--text-tertiary:#5f5f5f;--selected-bg:#f2f2f2;--selected-text:#0d0d0d;--button-primary:#f2f2f2;--button-primary-text:#0d0d0d;--button-secondary:#f2f2f2;--button-secondary-text:#0d0d0d;--hover:#ffffff0d;--focus:#fff6;--success:#f2f2f2;--success-bg:#ffffff14;--warning:#d9a441;--warning-bg:#d9a44126;--danger:#e0685c;--status-yellow:#e6c65c;--info:#7fb2e8;--info-bg:#7fb2e829;--danger-bg:#e0685c26;--gantt-on-plan:#b79ce0;--gantt-on-plan-bg:#b79ce02e;--gantt-done:#7bc99a;--dash-accent-from:#2f7a55;--dash-accent-to:#8fd6ac;--gantt-done-bg:#7bc99a29;--gantt-today-line:#ffa94d;--card-header-bg:var(--surface-elevated);--card-header-text:var(--text-primary)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f0f0f0;--surface:#fff;--surface-secondary:#f5f5f5;--surface-elevated:#fff;--border:#00000014;--border-strong:#00000024;--divider:#00000012;--text-primary:#151515;--text-secondary:#747474;--text-tertiary:#a3a3a3;--selected-bg:#151515;--selected-text:#fff;--button-primary:#151515;--button-primary-text:#fff;--button-secondary:#151515;--button-secondary-text:#fff;--hover:#0000000a;--focus:#0006;--success:#151515;--success-bg:#0000000f;--warning:#9c6b1f;--warning-bg:#9c6b1f1f;--danger:#b23b2f;--danger-bg:#b23b2f1a;--gantt-on-plan:#6b4fa0;--gantt-on-plan-bg:#6b4fa01f;--gantt-done:#3f8f5f;--dash-accent-from:#1f5f43;--dash-accent-to:#6fbf8e;--gantt-done-bg:#3f8f5f1f;--gantt-today-line:#e8720c;--card-header-bg:#202124;--card-header-text:#f2f2f2}body{background:var(--bg);color:var(--text-primary);margin:0}#root{box-sizing:border-box;flex-direction:column;height:100svh;display:flex}h1,h2,h3{font-family:var(--sans);color:var(--text-primary);margin:0 0 var(--space-2);font-weight:500}h1{letter-spacing:-.3px;font-size:26px}h2{letter-spacing:-.1px;font-size:18px}h3{font-size:15px}p{margin:0}code{font-family:var(--mono);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-primary);padding:2px 6px;font-size:13px}.app{flex-direction:column;height:100vh;display:flex}.auth-loading,.auth-error{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-error{color:var(--danger)}.auth-shell{background:var(--bg);min-height:100vh;display:flex}.auth-brand{padding:var(--space-6);box-sizing:border-box;color:var(--card-header-text);background:radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--gantt-on-plan) 70%, transparent), transparent 60%), radial-gradient(90% 70% at 100% 100%, color-mix(in srgb, var(--gantt-done) 45%, transparent), transparent 60%), linear-gradient(165deg, color-mix(in srgb, var(--gantt-on-plan) 45%, var(--card-header-bg)), var(--card-header-bg));flex-direction:column;flex:46%;justify-content:space-between;display:flex;position:relative;overflow:hidden}.auth-brand-logo{align-self:flex-start;width:auto;height:26px}.auth-brand-copy{max-width:420px}.auth-brand-quote{letter-spacing:-.01em;margin:0;font-size:23px;font-weight:600;line-height:1.45}@media (width<=860px){.auth-brand{display:none}}.auth-panel{min-width:0;padding:var(--space-5);box-sizing:border-box;flex:1;justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:360px}.auth-card-mark-wrap{margin-bottom:var(--space-5);display:none}@media (width<=860px){.auth-card-mark-wrap{display:block}}.auth-card-mark{width:auto;height:28px}.auth-card-mark--dark,:root[data-theme=dark] .auth-card-mark--light{display:none}:root[data-theme=dark] .auth-card-mark--dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .auth-card-mark--light{display:none}:root:not([data-theme=light]) .auth-card-mark--dark{display:block}}.auth-title{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:26px;font-weight:700}.auth-subtitle{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:14px;line-height:1.5}.auth-form{margin-top:var(--space-5);flex-direction:column;display:flex}.auth-form label{margin-top:var(--space-3);color:var(--text-secondary);font-size:12px;font-weight:600}.auth-form label:first-of-type{margin-top:0}.auth-form input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-secondary);color:var(--text-primary);margin-top:6px;padding:11px 14px;font-size:14px;transition:border-color .15s,background .15s}.auth-form input:focus{border-color:var(--text-primary);background:var(--surface);outline:none}.auth-form-error{margin:var(--space-3) 0 0;color:var(--danger);font-size:13px}.auth-submit{width:100%;height:44px;margin-top:var(--space-4);border-radius:999px;font-size:14px;font-weight:600}.auth-submit:disabled{cursor:not-allowed}.auth-consent{margin-top:var(--space-3);color:var(--text-secondary);cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;line-height:1.45;display:flex}.auth-consent input[type=checkbox]{flex:none;margin-top:2px}.auth-link-stub{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.auth-form-notice{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:13px}.auth-switch{width:100%;margin-top:var(--space-4);font:inherit;text-align:center;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.auth-switch:hover{color:var(--text-primary);text-decoration:underline}.auth-footer-links{margin:var(--space-5) 0 0;text-align:center;color:var(--text-tertiary);font-size:12px}.project-switcher{position:relative}.project-title-btn{cursor:pointer;color:var(--text-primary);text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.project-label{color:var(--text-tertiary);font-size:11px}.project-title{letter-spacing:-.2px;align-items:center;gap:6px;font-size:22px;font-weight:600;display:flex}.project-title-chevron{color:var(--text-tertiary);transition:transform .15s}.project-title-chevron.open{transform:rotate(180deg)}.project-dropdown{z-index:20;margin-top:var(--space-2);padding:var(--space-3);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-width:260px;max-height:60vh;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.project-switcher-list{gap:var(--space-1);margin:0 0 var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.project-pill{justify-content:space-between;align-items:center;gap:var(--space-2);padding:2px 2px 2px var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;display:flex}.project-pill:hover{background:var(--hover)}.project-pill.active{background:var(--selected-bg);color:var(--selected-text)}.project-pill-name{text-align:left;font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1;padding:7px 2px}.project-pill-delete{width:22px;height:22px;color:inherit;opacity:.55;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.project-pill-delete:hover{opacity:1;background:var(--hover)}.project-pill-delete svg{width:12px;height:12px}.project-switcher-add{justify-content:flex-start;width:100%;font-size:13px}.confirm-dialog-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface-elevated);color:inherit;box-sizing:border-box;border-radius:12px;width:min(90vw,400px);max-height:90vh;padding:24px;overflow:hidden auto;box-shadow:0 12px 32px #00000059}.confirm-dialog h3{margin-top:0}.confirm-dialog-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.confirm-dialog-actions button{cursor:pointer;border-radius:6px;padding:8px 16px}.confirm-dialog-actions .danger{background:var(--danger);color:var(--button-primary-text);border-color:var(--danger)}.vedomost-tab{flex-direction:column;gap:16px;padding:16px 20px;display:flex}.searchbar input{border-radius:var(--radius-md);border:1px solid var(--border,#333);background:var(--surface-elevated);width:100%;color:inherit;padding:10px 14px}.filterchips{flex-wrap:wrap;gap:8px;display:flex}.import-controls{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.import-status{align-items:flex-start;gap:var(--space-2);max-width:100%;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-secondary);margin:0;font-size:13px;display:flex}.import-status span{flex:1}.import-status .row-delete-btn{flex-shrink:0}.fchip{border:1px solid var(--border,#333);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px}.fchip.active{border-color:var(--selected-bg);background:var(--selected-bg);color:var(--selected-text)}.stage-group{border:1px solid var(--border,#333);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.add-item-btn,.add-stage-btn{align-self:flex-start}.stage-group-head{cursor:pointer;align-items:center;gap:10px;display:flex}.stage-name{flex:1;font-weight:600}.stage-group-head input{border:1px solid var(--border,#333);background:var(--surface-elevated);color:inherit;border-radius:6px;flex:1;padding:4px 8px}.stage-count{color:var(--text-tertiary);background:var(--surface-elevated);border-radius:999px;padding:2px 8px;font-size:.85em}.stage-group-head button{cursor:pointer;border-radius:6px;padding:4px 10px}.drag-handle{cursor:grab;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;touch-action:none}.item-list{flex-direction:column;gap:6px;display:flex}.item-row{border-radius:var(--radius-sm);border:1px solid var(--divider);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;display:flex}.item-thumb{border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-secondary);flex-shrink:0;width:36px;height:36px}.iinfo{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.iname-text{font-weight:500}.itag-row{flex-wrap:wrap;gap:6px;display:flex}.iphase-tag,.ilead-tag,.iqty-tag{border:1px solid var(--border,#333);border-radius:999px;padding:2px 8px;font-size:.8em}.iphase-tag{color:var(--text-tertiary)}.ilead-tag{color:var(--text-secondary);border-color:var(--text-secondary);background:var(--surface-secondary)}.ilead-tag.long{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.iqty-tag{color:inherit;background:var(--surface-elevated)}.ilink{color:var(--text-tertiary);flex-shrink:0;align-items:center;text-decoration:none;display:flex}.ilink:hover{color:var(--text-primary)}.row-delete-btn{width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.row-delete-btn:hover{background:var(--hover);color:var(--danger)}.item-detail-form-backdrop{z-index:1000;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.item-detail-form{gap:var(--space-3);background:var(--surface-elevated);width:100%;max-width:420px;max-height:85vh;color:inherit;padding:var(--space-5);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 12px 32px #00000059}.item-detail-form label{color:var(--text-tertiary);flex-direction:column;gap:6px;font-size:.9em;display:flex}.item-detail-form input,.item-detail-form select,.item-detail-form textarea{color:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:0 0;padding:8px 10px}.item-detail-form textarea{resize:vertical;min-height:60px}.item-detail-form-close{align-self:flex-end}.item-detail-photo-row{align-items:center;gap:var(--space-3);display:flex}.item-thumb-preview{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:48px;height:48px}.item-thumb-placeholder{border-radius:var(--radius-sm);background:var(--surface-secondary);flex-shrink:0;width:48px;height:48px}.group-card{border:1px solid var(--border,#333);border-radius:10px;margin-bottom:12px;overflow:hidden}.group-card-head{cursor:pointer;background:var(--surface-elevated);align-items:center;gap:10px;padding:10px 14px;display:flex}.group-expand-chevron{color:var(--text-tertiary);flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s;display:flex}.group-expand-chevron.expanded{transform:rotate(180deg)}.group-card-head input{color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px}.group-card-head input:focus{border-color:var(--border,#333)}.group-card-export-row{background:var(--surface-elevated);flex-wrap:wrap;gap:8px;padding:0 14px 10px;display:flex}.group-count{color:var(--text-tertiary);border:1px solid var(--border,#333);border-radius:999px;padding:2px 8px;font-size:.85em}.clientflag-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;font-size:1.1em}.clientflag-btn.on{color:var(--selected-bg)}.group-card-body{border-top:1px solid var(--border,#333);flex-direction:column;gap:14px;padding:14px;display:flex}.show-in-export{color:var(--text-tertiary);align-items:center;gap:8px;font-size:.9em;display:flex}.group-member-list{flex-direction:column;gap:8px;display:flex}.group-member-row{border-bottom:1px solid var(--border,#333);align-items:center;gap:10px;padding:6px 0;display:flex}.gm-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:36px;height:36px}.gm-num{color:var(--text-tertiary);text-align:right;min-width:1.5em;font-size:.85em}.gm-info{flex-direction:column;flex:1;min-width:0;display:flex}.gm-name{font-weight:500}.gm-collection,.gm-room{color:var(--text-tertiary);font-size:.8em}.gm-qty-wrap{align-items:center;gap:4px;display:flex}.gm-qty{width:4em;color:inherit;border:1px solid var(--border,#333);background:0 0;border-radius:6px;padding:4px 6px}.gm-unit{color:var(--text-tertiary);font-size:.85em}.gm-empty{color:var(--text-tertiary);padding:8px 0;font-size:.9em}.contact-card{border:1px solid var(--border,#333);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.cres{cursor:pointer;border-radius:6px;padding:6px 10px}.cres:hover{background:var(--surface-elevated)}.complectation-tabs{flex-direction:column;gap:16px;display:flex}.group-list{flex-direction:column;gap:12px;display:flex}.client-now-tab{flex-direction:column;gap:0;display:flex}.client-now-export-buttons{flex-wrap:wrap;gap:8px;display:flex}.client-now-card{align-items:flex-start;gap:8px;display:flex}.client-now-card .drag-handle{cursor:grab;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;margin-top:10px;padding:8px 4px}.client-now-card .client-now-unflag{flex-shrink:0;margin-top:12px}.client-now-card>.group-card{flex:1;min-width:0}.micro{border-top:1px solid var(--border,#333);flex-direction:column;gap:6px;padding:8px 0;display:flex}.micro-label{color:var(--text-tertiary);font-size:.85em}.micro input[type=text],.micro input:not([type]),.micro textarea{color:inherit;border:1px solid var(--border,#333);background:0 0;border-radius:6px;padding:4px 6px}.task-check{align-items:center;gap:8px;display:flex}.task-text-input{color:inherit;border:1px solid var(--border,#333);background:0 0;border-radius:6px;flex:1;padding:4px 6px}.task-text-input.done{color:var(--text-tertiary);text-decoration:line-through}.task-assignee-select{width:120px;color:inherit;border:1px solid var(--border,#333);background:0 0;border-radius:6px;flex-shrink:0;padding:4px 6px;font-size:12px}.task-due-date-input{width:130px;color:inherit;border:1px solid var(--border,#333);background:0 0;border-radius:6px;flex-shrink:0;padding:4px 6px;font-size:12px}.add-task-row{align-items:center;gap:8px;display:flex}.add-task-row input{color:inherit;border:1px solid var(--border,#333);background:0 0;border-radius:6px;flex:1;padding:4px 6px}.disc-check{align-items:center;gap:8px;display:flex}.settings-page,#settings-references{gap:var(--space-5);flex-direction:column;display:flex}.settings-section{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface)}.settings-section h3{margin-top:0;font-size:15px}.settings-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.settings-row{align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.settings-row input,.settings-row textarea,.settings-row select{flex:1;min-width:0}.settings-row textarea{resize:vertical;min-height:2.5rem}.theme-toggle{align-items:center;gap:var(--space-2);width:100%;font:inherit;color:var(--text-secondary);border-radius:var(--radius-sm);padding:9px var(--space-2);text-align:left;cursor:pointer;background:0 0;border:none;font-size:13px;display:inline-flex}.theme-toggle:hover{background:var(--hover);color:var(--text-primary)}.theme-toggle--compact{justify-content:center;width:auto;padding:6px}.theme-toggle--switch{border:1px solid var(--border);border-radius:999px;gap:2px;width:fit-content;max-width:100%;padding:3px}.theme-seg{font:inherit;color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;display:flex}.theme-seg svg{flex-shrink:0}.theme-seg:hover{color:var(--text-primary)}.theme-seg.active{background:var(--selected-bg);color:var(--selected-text)}.btn{justify-content:center;align-items:center;gap:var(--space-1);font:inherit;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn-primary{background:var(--button-primary);color:var(--button-primary-text)}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{background:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--hover)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--hover);color:var(--text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:12px}input:not([type=checkbox]):not([type=radio]),textarea,select{font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px}input:not([type=checkbox]):not([type=radio]):hover,textarea:hover,select:hover{border-color:var(--border-strong)}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.card-header{padding:var(--space-3) var(--space-4);font-size:14px;font-weight:600}.card-body{padding:var(--space-4)}.card--dark-header{overflow:hidden}.card--dark-header .card-header{background:var(--card-header-bg);color:var(--card-header-text);margin:0}.divider{background:var(--divider);height:1px;margin:var(--space-2) 0;border:none}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:5px 12px;font-size:12px;font-weight:500;display:inline-flex}.chip:hover{background:var(--hover);color:var(--text-primary)}.chip.active{background:var(--selected-bg);color:var(--selected-text);border-color:var(--selected-bg)}.dropdown{display:inline-flex}.dropdown-trigger{font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.dropdown-trigger:hover{border-color:var(--border-strong)}.dropdown-trigger-chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .15s}.dropdown-trigger-chevron.open{transform:rotate(180deg)}.dropdown-menu{z-index:1000;padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-width:160px;max-height:280px;margin:0;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000024}.dropdown-option{width:100%;font:inherit;text-align:left;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.dropdown-option:hover{background:var(--hover)}.dropdown-option.active{font-weight:600}.status-dot{border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;display:inline-flex}.status-dot.tone-neutral{color:var(--text-secondary);background:var(--surface-secondary)}.status-dot.tone-attention{color:var(--button-primary);background:color-mix(in srgb, var(--button-primary) 12%, transparent)}.status-dot.tone-success{color:var(--success);background:var(--success-bg)}.sidebar{background:var(--bg);border-right:1px solid var(--border);width:248px;height:100vh;padding:var(--space-5) var(--space-3);gap:var(--space-5);flex-direction:column;flex-shrink:0;display:flex}.sidebar-logo{height:22px}.sidebar-logo-mark,.sidebar-logo-full{z-index:2;width:auto;height:22px;position:fixed;top:24px}.sidebar-logo-full--light{left:21.6px}.sidebar-logo-full--dark{left:22.05px}.sidebar-logo-mark--light{height:21.4px;top:24.3px;left:21.94px}.sidebar-logo-mark--dark{height:21.37px;top:24.3px;left:22.42px}.sidebar-logo-mark,.sidebar--collapsed .sidebar-logo-full{visibility:hidden}.sidebar--collapsed .sidebar-logo-mark{visibility:visible}.sidebar-logo-mark--dark,.sidebar-logo-full--dark,:root[data-theme=dark] .sidebar-logo-mark--light,:root[data-theme=dark] .sidebar-logo-full--light{display:none}:root[data-theme=dark] .sidebar-logo-mark--dark,:root[data-theme=dark] .sidebar-logo-full--dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sidebar-logo-mark--light,:root:not([data-theme=light]) .sidebar-logo-full--light{display:none}:root:not([data-theme=light]) .sidebar-logo-mark--dark,:root:not([data-theme=light]) .sidebar-logo-full--dark{display:block}}.sidebar-nav{flex-direction:column;gap:2px;min-height:0;display:flex;overflow-y:auto}.sidebar-item-wrap{flex-direction:column;display:flex}.sidebar-item-wrap:has(.sidebar-group-label){margin-top:var(--space-3)}.sidebar--collapsed .sidebar-item-wrap:has(.sidebar-group-label){margin-top:0}.sidebar--collapsed .sidebar-item-wrap--divided{padding-top:0}.sidebar-group-label{margin-bottom:var(--space-2);letter-spacing:.04em;text-transform:uppercase;max-height:16px;color:var(--text-tertiary);opacity:1;padding:0 10px 0 14px;font-size:11px;font-weight:600;transition:opacity .1s,max-height .15s,margin-bottom .15s;overflow:hidden}.sidebar--collapsed .sidebar-group-label{opacity:0;max-height:0;margin-bottom:0}.sidebar-item{text-align:left;font:inherit;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;padding:6px 10px 6px 14px;font-size:14px;font-weight:500;transition:padding .15s,gap .15s;display:flex;position:relative}.sidebar-item svg{opacity:.7;flex-shrink:0;width:20px;height:20px}.sidebar-item:hover,.sidebar-item.active{color:var(--text-primary)}.sidebar-item.active:before{content:"";background:var(--text-primary);border-radius:1px;width:2px;position:absolute;top:4px;bottom:4px;left:0}.sidebar-bottom{gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.sidebar-theme-row{padding:var(--space-2) 10px 0;border-top:1px solid var(--border)}.sidebar-profile-row{width:100%;font:inherit;text-align:left;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:6px 10px;transition:gap .15s;display:flex}.sidebar-profile-row:hover{background:var(--hover)}.sidebar-profile-avatar{background:var(--selected-bg);width:30px;height:30px;color:var(--selected-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;overflow:hidden}.sidebar-profile-avatar img{object-fit:cover;width:100%;height:100%}.sidebar-profile-name{text-overflow:ellipsis;white-space:nowrap;opacity:1;flex:1;min-width:0;max-width:160px;font-size:13px;font-weight:500;transition:opacity .1s,max-width .15s;overflow:hidden}.sidebar--collapsed .sidebar-profile-name{opacity:0;max-width:0}.sidebar-profile-more{color:var(--text-tertiary);opacity:1;flex-shrink:0;max-width:16px;transition:opacity .1s,max-width .15s;overflow:hidden}.profile-editor{gap:var(--space-3);flex-direction:column;display:flex}.profile-editor label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.profile-editor-avatar-row{align-items:center;gap:var(--space-3);display:flex}.profile-editor-avatar{background:var(--selected-bg);width:56px;height:56px;color:var(--selected-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex;overflow:hidden}.profile-editor-avatar img{object-fit:cover;width:100%;height:100%}.profile-editor-email{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.profile-editor-signout{color:var(--danger);align-self:flex-start}.profile-editor-password-heading{color:var(--text-secondary);margin:0;font-size:13px;font-weight:600}.profile-editor-password-success{color:var(--success);margin:0;font-size:13px}.project-details-fields{gap:var(--space-3);flex-direction:column;display:flex}.project-details-fields label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.project-details-executor-row{align-items:center;gap:var(--space-2);display:flex}.project-details-executor-row select{flex:1;min-width:0}.project-details-executor-edit-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:12px;text-decoration:underline}.project-details-executor-edit-btn:hover{color:var(--text-primary)}.project-details-gantt-hidden-note{color:var(--text-tertiary);font-size:12px}.link-btn{font:inherit;font-size:inherit;color:var(--link,var(--text-primary));cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.project-details-plan-dates{gap:var(--space-2);flex-direction:column;display:flex}.project-details-plan-stage{flex-direction:column;gap:4px;display:flex}.project-details-plan-stage-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.project-details-plan-stage-label{color:var(--text-secondary);font-size:13px;font-weight:500}.header-user{position:relative}.header-avatar-btn{background:var(--selected-bg);width:36px;height:36px;color:var(--selected-text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.header-user-menu{z-index:20;margin-top:var(--space-2);padding:var(--space-3);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);min-width:220px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001f}.header-user-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:var(--space-2);font-size:12px;overflow:hidden}.header-user-signout{justify-content:flex-start;width:100%;font-size:13px}.workspace{flex-direction:row;flex:1;align-items:stretch;height:100vh;display:flex}.workspace-main{background:var(--surface);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.workspace-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);box-sizing:border-box;width:100%;max-width:1100px;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0;margin:0 auto;display:flex}.workspace-header--right{justify-content:flex-end}.header-actions{align-items:center;gap:var(--space-2);padding-top:var(--space-2);flex-shrink:0;display:flex}.header-icon-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex}.header-icon-btn:hover{background:var(--hover);color:var(--text-primary)}.client-now-tab .card-body{gap:var(--space-3);flex-direction:column;display:flex}.iname-text{color:var(--text-primary);font-size:13px;font-weight:500}.iroom-text{color:var(--text-tertiary);font-size:12px}.iphase-tag,.iqty-tag{color:var(--text-secondary);background:var(--surface-secondary);border:none;font-size:11px}.item-row{border-color:var(--divider)}.item-row:hover{background:var(--hover)}.gm-name{color:var(--text-primary)}.gm-collection,.gm-room,.gm-num,.gm-unit{color:var(--text-tertiary)}.gm-qty{color:var(--text-secondary);background:var(--surface-secondary);border:none}.group-member-row{border-color:var(--divider)}.group-member-row:hover{background:var(--hover)}.current-stages-label{margin:calc(-1 * var(--space-3)) 0 var(--space-4);color:var(--text-tertiary);font-size:13px;display:block}main{width:100%;max-width:1100px;padding:var(--space-5) var(--space-5) var(--space-6);box-sizing:border-box;flex:auto;min-height:0;margin:0 auto;overflow-y:auto}main.main-full-width{max-width:none}.dashboard-tab{gap:var(--space-4);flex-direction:column;height:100%;min-height:0;display:flex}.dashboard-stats{gap:var(--space-3);flex-shrink:0;grid-template-columns:repeat(3,1fr);display:grid}.dashboard-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4)}.dashboard-stat-value{font-size:28px;font-weight:700;line-height:1.2}.dashboard-stat-label{margin-top:var(--space-1);color:var(--text-secondary);font-size:13px}.dashboard-empty{padding:var(--space-4) 0;color:var(--text-tertiary);font-size:13px}.dashboard-attention-table{border-collapse:collapse;width:100%;font-size:13px}.dashboard-attention-table th{text-align:left;padding:var(--space-2) var(--space-3);color:var(--text-tertiary);border-bottom:1px solid var(--divider);font-weight:500}.dashboard-attention-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--divider)}.dashboard-attention-row{cursor:pointer}.dashboard-attention-row:hover{background:var(--hover)}.dashboard-attention,.dashboard-widget{flex-direction:column;min-height:0;display:flex;overflow:hidden}.dashboard-attention .card-body,.dashboard-widget .card-body{flex:1;min-height:0;overflow-y:auto}.dashboard-task-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-task-row{padding-bottom:var(--space-2);border-bottom:1px dashed var(--divider);flex-direction:column;gap:2px;display:flex}.dashboard-task-row:last-child{border-bottom:none;padding-bottom:0}.dashboard-task-text{color:var(--text-primary);font-size:13px}.dashboard-task-meta{color:var(--text-tertiary);font-size:12px}.dashboard-projects{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-height:0;padding:var(--space-4);flex-direction:column;display:flex}.dashboard-projects-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.dashboard-projects-header h3{margin:0;font-size:16px}.dashboard-projects-header-actions{align-items:center;gap:var(--space-4);display:flex}.dashboard-projects-archive-link{font-size:13px}.dashboard-projects-grid{align-content:start;gap:var(--space-3);min-height:0;margin-top:var(--space-3);flex:1;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid;overflow-y:auto}.dashboard-project-progress{background:var(--surface-secondary);border-radius:999px;width:100%;height:3px;overflow:hidden}.dashboard-project-progress-bar{background:var(--selected-bg);border-radius:999px;height:100%;transition:width .3s}.dashboard-project-meta{color:var(--text-secondary);font-size:12px}.dashboard-project-cover-error{padding:0 var(--space-4) var(--space-3);color:var(--danger);margin:0;font-size:11px}.project-tile{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;font:inherit;flex-direction:column;padding:0;font-size:13px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.project-tile:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 14px 30px #0000001f}.project-tile-cover{height:128px;color:var(--card-header-text);background:var(--surface-secondary);flex-shrink:0;position:relative;overflow:hidden}.project-tile-cover-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.project-tile:hover .project-tile-cover-img{transform:scale(1.05)}.project-tile-cover:after{content:"";pointer-events:none;background:linear-gradient(#00000047,#0000 45%);position:absolute;inset:0}.project-tile-status{z-index:1;top:var(--space-3);left:var(--space-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--card-header-text);background:#00000061;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 8px;font-size:11px;display:inline-flex;position:absolute}.project-tile-actions{z-index:1;top:var(--space-3);right:var(--space-3);opacity:0;gap:6px;transition:opacity .2s,transform .2s;display:flex;position:absolute;transform:translateY(-4px)}.project-tile:hover .project-tile-actions,.project-tile-actions:focus-within{opacity:1;transform:none}.project-tile-action{height:24px;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--card-header-text);background:#00000073;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;display:inline-flex}.project-tile-action:hover{background:#000000b3}.project-tile-action-icon{width:24px;padding:0}.project-tile-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.project-tile-stage{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.project-tile-chips{margin-top:var(--space-2);flex-wrap:wrap;gap:6px;min-height:22px;display:flex}.project-tile-chip{background:var(--surface-secondary);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 3px;font-size:11px;display:inline-flex}.project-tile-chip:not(:has(.project-tile-avatar)){padding-left:9px}.project-tile-chip-attention{color:var(--warning);background:var(--warning-bg)}.project-tile-avatar{background:var(--selected-bg);width:18px;height:18px;color:var(--selected-text);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.project-tile-progress{margin-top:var(--space-3);flex-direction:column;gap:5px;display:flex}.project-tile-progress-label{color:var(--text-tertiary);font-size:11px}.project-tile-add{justify-content:center;align-items:center;gap:var(--space-3);min-height:250px;color:var(--text-secondary);border:1.5px dashed var(--border-strong);background:0 0;font-size:13px}.project-tile-add:hover{color:var(--text-primary);border-color:var(--text-primary);box-shadow:none}.project-tile-add-circle{background:var(--surface-secondary);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,background .2s,color .2s;display:inline-flex}.project-tile-add:hover .project-tile-add-circle{background:var(--selected-bg);color:var(--selected-text);transform:rotate(90deg)}.my-projects-tab .dashboard-projects{background:0 0;border:none;padding:0}.my-projects-tab .dashboard-projects-header h3{font-size:20px}.my-projects-tab .dashboard-projects-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));overflow:visible}.dashboard-columns{gap:var(--space-4);flex:1;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;min-height:0;display:grid}.dashboard-main-col,.dashboard-side-col{display:contents}.dashboard-attention{grid-area:1/1}.dashboard-projects{grid-area:2/1}.dashboard-widget-upcoming{grid-area:1/2}.dashboard-widget-recent{grid-area:2/2}@media (width<=767px){.workspace{flex-direction:column}.workspace-header{padding:var(--space-3)}main{padding:0 var(--space-3) calc(104px + env(safe-area-inset-bottom))}.workspace-main{padding-top:28px}.chip{padding:8px 14px}.item-row{row-gap:var(--space-1);flex-wrap:wrap}.iinfo{min-width:100%}.group-card-head{row-gap:var(--space-1);flex-wrap:wrap}.client-now-export-buttons{flex-direction:column}.client-now-export-buttons .btn{width:100%}.dashboard-tab{height:auto}.dashboard-stats{grid-template-columns:1fr}.dashboard-columns{flex-direction:column;display:flex}.dashboard-attention,.dashboard-widget,.dashboard-projects{flex:none}.dashboard-attention .card-body,.dashboard-widget .card-body,.dashboard-projects-grid{max-height:none;overflow-y:visible}}.stage-checklist-template-card{gap:var(--space-2);flex-direction:column;padding:.375rem 0;display:flex}.stage-checklist-template-toggle{font:inherit;text-align:left;cursor:pointer;color:var(--text-primary);white-space:nowrap;background:0 0;border:none;padding:0}.stage-checklist-template-items{flex-direction:column;gap:2px;padding-left:1.5rem;display:flex}.row-move-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;width:24px;height:24px}.row-move-btn:disabled{opacity:.4;cursor:default}.sidebar{position:relative}.sidebar-collapse-toggle{top:var(--space-5);border:1px solid var(--border);background:var(--bg);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:-18px;transform:rotate(90deg)}.sidebar-collapse-toggle[aria-expanded=false]{transform:rotate(-90deg)}.sidebar-collapse-toggle svg{width:14px;height:14px}.sidebar--collapsed{width:72px}.sidebar--collapsed .sidebar-item,.sidebar--collapsed .sidebar-profile-row{transition:gap .15s}.sidebar--collapsed .sidebar-profile-row{gap:0}.sidebar--collapsed .sidebar-profile-more{opacity:0;max-width:0}.sidebar-item span:not(.sidebar-badge){white-space:nowrap;opacity:1;max-width:160px;transition:opacity .1s,max-width .15s;overflow:hidden}.sidebar--collapsed .sidebar-item span:not(.sidebar-badge){opacity:0;max-width:0}.sidebar--collapsed .sidebar-item{gap:0}.gantt-tab{padding:var(--space-4)}.gantt-grid{width:fit-content;max-width:100%;padding-bottom:var(--space-3);flex-direction:column;display:flex;overflow-x:auto}.gantt-header-row,.gantt-row{border-bottom:1px solid var(--border);align-items:center;display:flex}.gantt-row-label{width:var(--gantt-label-width,220px);padding:var(--space-2);z-index:1;background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:center;align-self:stretch;gap:2px;display:flex;position:sticky;left:0}.gantt-today-badge{align-items:baseline;gap:6px;font-size:11px;display:flex}.gantt-today-badge-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:10px;font-weight:700}.gantt-today-badge-date{color:var(--text-primary)}.gantt-scale-toggle{gap:2px;margin-top:4px;display:flex}.gantt-scale-btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;padding:2px 6px;font-size:10px}.gantt-scale-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.gantt-scale-btn.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--button-primary-text)}.gantt-row-name-btn{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:13px;font-weight:600}.gantt-row-name-btn:hover{text-decoration:underline}.gantt-row-executor{color:var(--text-tertiary);font-size:11px}.gantt-row-controls{align-items:center;gap:4px;margin-top:2px;display:flex}.gantt-row-stage-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;max-width:170px;color:var(--text-secondary);font-size:10px;font-family:var(--sans);flex:1;padding:2px 4px}.gantt-row-hide-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:10px}.gantt-row-hide-btn:hover{color:var(--text-primary);text-decoration:underline}.gantt-timeline-header-wrap{flex-direction:column;flex-shrink:0;display:flex}.gantt-month-row{border-bottom:1px solid var(--border);height:20px;display:flex}.gantt-month-cell{white-space:nowrap;border-left:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);flex-shrink:0;align-items:center;padding:0 6px;font-size:10px;font-weight:700;display:flex;overflow:hidden}.gantt-timeline-header{flex-shrink:0;height:48px;display:flex;position:relative}.gantt-timeline-row{flex-shrink:0;align-self:stretch;min-height:48px;display:flex;position:relative}.gantt-week-label{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:2px;padding:4px 6px 8px;display:flex;overflow:hidden}.gantt-week-label-day{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.gantt-week-label-month{color:var(--text-tertiary);white-space:nowrap;font-size:10px}.gantt-today-line{top:0;bottom:0;left:var(--gantt-today-offset);background:var(--gantt-today-line);width:2px;position:absolute}.gantt-week-bar{height:20px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gantt-week-segment{border-right:1px solid var(--surface);background:var(--surface-secondary);color:var(--text-tertiary);font-size:9px;font-family:var(--mono);flex:1 0 auto;justify-content:center;align-items:center;display:flex}.gantt-week-segment:last-child{border-right:none}.gantt-week-segment-onPlan{background:var(--gantt-on-plan-bg);color:var(--gantt-on-plan)}.gantt-week-segment-correction{background:var(--warning-bg);color:var(--warning)}.gantt-week-segment-overdue{background:var(--danger);color:var(--button-primary-text)}.gantt-empty{padding:var(--space-4);color:var(--text-tertiary)}.gantt-section-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface-secondary);margin-top:var(--space-3);font-size:12px;font-weight:700}.gantt-header-row+.gantt-section .gantt-section-header{margin-top:0}.gantt-section-header-label{padding:var(--space-2);display:inline-block;position:sticky;left:0}.gantt-week-segment-future{background:var(--surface-secondary);color:var(--text-tertiary)}.gantt-week-segment-done{background:var(--gantt-done-bg);color:var(--gantt-done)}.gantt-row-status{width:220px;padding:var(--space-2);background:var(--surface);border-left:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:center;align-self:stretch;gap:4px;display:flex;position:sticky;right:0}.gantt-row-status-header{color:var(--text-primary);font-size:12px;font-weight:700}.gantt-row-status-week{padding-left:7px;font-size:12px;font-weight:700}.gantt-status-note{resize:vertical;width:100%;min-height:28px;font-size:12px;font-family:var(--sans);border-radius:var(--radius-sm);color:var(--text-tertiary);background:0 0;border:1px solid #0000;padding:4px 6px}.gantt-status-note:hover,.gantt-status-note:focus{border-color:var(--border);background:var(--surface);color:inherit}.gantt-mobile{gap:var(--space-4);flex-direction:column;display:flex}.gantt-mobile-section{gap:var(--space-2);flex-direction:column;display:flex}.gantt-mobile-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0;font-size:12px;font-weight:700}.gantt-mobile-card{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:6px;display:flex}.gantt-mobile-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.gantt-mobile-card .gantt-row-name-btn{font-size:15px}.gantt-mobile-card .gantt-row-hide-btn,.gantt-mobile-card .gantt-row-executor{font-size:12px}.gantt-mobile-card .gantt-row-hide-btn{opacity:1;padding:6px 0 6px 8px}.gantt-mobile-stage{color:var(--text-secondary);font-size:13px}.gantt-mobile-weeks{gap:2px;margin:2px 0;display:flex}.gantt-mobile-week{border-radius:2px;flex:1 1 0;height:6px}.gantt-mobile-card .gantt-row-status{background:0 0;border:none;width:auto;padding:0;position:relative}.gantt-mobile-card .gantt-row-status .gantt-row-status-week{padding-left:0}.gantt-mobile-card .gantt-row-status .gantt-status-note{white-space:pre-wrap;height:auto;min-height:40px;max-height:none;color:inherit;font-size:14px;-webkit-mask-image:none;mask-image:none}.team-tab{gap:var(--space-4);flex-direction:column;display:flex}.team-tab-empty{color:var(--text-tertiary)}.team-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.team-search-input{flex:0 320px;min-width:160px}.team-add-task-toolbar-btn{margin-left:auto}.team-toolbar-filters{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.team-tabs{gap:var(--space-2);display:flex}.team-toolbar-dropdowns{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.team-board-filter{position:relative}.team-board-filter-trigger{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.team-board-filter-trigger:hover{border-color:var(--border-strong)}.team-board-filter-avatars{align-items:center;display:flex}.team-board-filter-avatar{background:var(--surface-secondary,var(--border));border:1.5px solid var(--surface);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-left:-8px;font-size:11px;font-weight:600;display:flex}.team-board-filter-avatars .team-board-filter-avatar:first-child{margin-left:0}.team-board-filter-avatar-extra{color:var(--text-secondary)}.team-board-filter-panel{z-index:10;gap:var(--space-2);width:340px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0000001f}.team-board-filter-panel-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.team-board-filter-panel-title{white-space:nowrap;font-size:14px;font-weight:600}.team-board-filter-hint{color:var(--text-tertiary);white-space:nowrap;margin:2px 0 0;font-size:11px}.team-board-filter-select-all{white-space:nowrap;font:inherit;color:var(--text-primary);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.team-board-filter-select-all:hover{color:var(--text-secondary)}.team-board-filter-search{width:100%}.team-board-filter-list{flex-direction:column;gap:2px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.team-board-filter-row{align-items:center;gap:var(--space-2);cursor:pointer;border-radius:var(--radius-sm);padding:6px 4px;display:flex}.team-board-filter-row:hover{background:var(--surface-secondary,var(--border))}.team-board-filter-row-avatar{background:var(--surface-secondary,var(--border));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.team-board-filter-row-info{flex-direction:column;min-width:0;display:flex}.team-board-filter-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.team-board-filter-row-role{color:var(--text-tertiary);font-size:12px}.team-tab-btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;padding:6px 10px;font-size:12px}.team-tab-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.team-tab-btn.active{background:var(--text-primary);border-color:var(--text-primary);color:var(--button-primary-text)}.team-profile-hint{color:var(--text-tertiary);font-size:13px}.team-member-grid{gap:var(--space-3);padding-bottom:var(--space-2);align-items:start;display:flex;overflow-x:auto}.team-member-card{gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);flex-direction:column;flex:0 0 260px;transition:border-color .1s,background .1s;display:flex}.team-member-card-drop-target{border-color:var(--text-primary);background:var(--surface-secondary,var(--border))}.team-task-row:not(.team-task-row-editing),.team-task-upcoming-row{cursor:grab}.team-task-row:not(.team-task-row-editing) input,.team-task-row:not(.team-task-row-editing) button,.team-task-upcoming-row button{cursor:pointer}.team-task-dragging{cursor:grabbing;opacity:.35}.team-task-drag-overlay{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border-strong);cursor:grabbing;text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:240px;padding:6px 10px;font-size:12px;display:flex;overflow:hidden;box-shadow:0 8px 20px #0000002e}.team-member-card-header{align-items:center;gap:var(--space-2);display:flex}.team-member-avatar{background:var(--surface-secondary,var(--border));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:600;display:flex}.team-member-name{font-weight:600}.team-member-role{color:var(--text-tertiary);font-size:12px}.team-member-stats{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.team-member-stat{padding:var(--space-2) 4px;border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;display:flex}.team-member-stat-value{font-size:16px;font-weight:600}.team-member-stat-label{color:var(--text-tertiary);text-align:center;font-size:11px}.team-member-stat-overdue .team-member-stat-value{color:var(--danger)}.team-member-current-projects{gap:var(--space-2);flex-direction:column;display:flex}.team-member-current-project{padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;display:flex}.team-member-current-project-label{color:var(--text-tertiary);font-size:11px}.team-member-current-project-name{font-size:13px;font-weight:600}.team-member-current-project-stage{color:var(--text-secondary);font-size:12px}.team-member-progress-track{background:var(--border);height:2px;margin-top:2px}.team-member-progress-fill{background:var(--text-secondary);height:100%}.team-member-tasks-label{color:var(--text-tertiary);margin-bottom:4px;font-size:11px}.team-member-tasks-empty{color:var(--text-tertiary);font-size:12px}.team-member-upcoming-list,.team-member-other-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.team-task-row{align-items:center;gap:6px;font-size:12px;display:flex}.team-task-row.team-task-row-editing{flex-direction:column;align-items:stretch;gap:2px}.team-task-summary{flex:1;min-width:0}.team-task-summary-date{color:var(--text-tertiary)}.team-task-upcoming-row{align-items:center;gap:8px;font-size:12px;display:flex}.team-task-date-chip{background:var(--surface-secondary);color:var(--text-secondary);border-radius:var(--radius-sm);text-align:center;flex-shrink:0;padding:4px 8px;font-size:11px}.team-task-info{flex:1;min-width:0}.team-task-title{line-height:1.35}.team-task-subtitle{text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary);font-size:11px;overflow:hidden}.team-task-edit-btn{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.team-task-row:hover .team-task-edit-btn,.team-task-upcoming-row:hover .team-task-edit-btn,.team-task-edit-btn:focus-visible{opacity:1}.team-task-edit-btn:hover{color:var(--text-primary)}.team-task-edit-btn svg{width:13px;height:13px}.team-task-row-main{align-items:center;gap:6px;display:flex}.team-task-row-meta{align-items:center;gap:6px;padding-left:22px;display:flex}.team-task-done-editing-btn{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;flex-shrink:0;padding:2px 8px;font-size:11px}.team-task-done-editing-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.team-task-text-input{min-width:0;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;padding:2px 4px}.team-task-text-input:hover,.team-task-text-input:focus{border-color:var(--border)}.team-task-date-input{width:100px;color:inherit;border:1px solid var(--border);background:0 0;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:11px}.team-task-project{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-tertiary);flex:1;overflow:hidden}.team-member-add-task-btn{align-self:flex-start}.team-task-composer-global{max-width:420px}.team-task-composer{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;display:flex}.team-task-composer-row{align-items:center;gap:var(--space-2);display:flex}.team-task-composer-circle{border:1.5px solid var(--border-strong);border-radius:50%;flex-shrink:0;width:16px;height:16px}.team-task-composer-input{min-width:0;color:inherit;background:0 0;border:none;flex:1;padding:2px 0;font-size:13px}.team-task-composer-input:focus{outline:none}.team-task-composer-icons{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.team-task-composer-icon-btn{color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:3px 6px;font-size:11px;display:flex}.team-task-composer-icon-btn svg{width:14px;height:14px}.team-task-composer-icon-btn:hover,.team-task-composer-icon-btn.active{color:var(--text-primary);border-color:var(--border)}.team-task-composer-actions{gap:var(--space-2);margin-left:auto;display:flex}.team-task-composer>select,.team-task-composer>input[type=date]{font-size:12px}.team-roster summary{cursor:pointer;color:var(--text-secondary);font-size:13px}.project-screen{gap:var(--space-3);flex-direction:column;display:flex}.project-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.project-top-actions{align-items:center;gap:var(--space-2);display:flex}.project-title{color:var(--text-primary);margin:0;font-size:22px;font-weight:700;line-height:1.1}.project-subtitle{margin-top:var(--space-1);color:var(--text-secondary);font-size:12px}.project-switcher{display:inline-block;position:relative}.project-switcher-trigger{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-primary);background:0 0;border:none;padding:0;display:inline-flex}.project-switcher-chevron{transition:transform .15s}.project-switcher-chevron.open{transform:rotate(180deg)}.project-switcher-panel{z-index:30;width:260px;padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px #00000024}.project-switcher-search{box-sizing:border-box;width:100%;margin-bottom:var(--space-2)}.project-switcher-list{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.project-switcher-option{width:100%;padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);font:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.project-switcher-option:hover,.project-switcher-option.active{background:var(--hover)}.project-switcher-empty{padding:var(--space-2);color:var(--text-secondary);font-size:13px}.project-more{position:relative}.project-more-menu{z-index:30;min-width:200px;padding:var(--space-1);background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000024}.project-more-menu button{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--text-primary);font:inherit;background:0 0;border:none}.project-more-menu button:hover{background:var(--hover)}.project-add-task{align-self:flex-end;max-width:420px}.project-info-row{gap:var(--space-3);grid-template-columns:1fr 1.2fr 1.6fr 1.6fr;display:grid}.project-info-card{padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.project-info-value,.stage-trigger,.status-trigger{color:var(--text-primary);font-size:14px;font-weight:600}.project-info-label{color:var(--text-secondary);font-size:11px}.project-info-date{align-items:center;gap:var(--space-3);flex-direction:row}.project-date-input{color:var(--text-primary);background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:600}.status-trigger{align-items:center;gap:var(--space-2);display:inline-flex}.project-status-dot{background:var(--gantt-done);border-radius:50%;flex:none;width:8px;height:8px}.project-status-dot.status-waiting_reply{background:var(--status-yellow)}.project-status-dot.status-waiting_payment{background:var(--danger)}.project-status-dot.status-awaiting_start{background:var(--info)}.project-status-dot.status-paused{background:var(--text-tertiary)}.project-status-dot.status-done{background:var(--gantt-on-plan)}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);min-width:0}.project-card h2{margin:0;font-size:14px;font-weight:600}.project-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.project-card-meta{color:var(--text-secondary);font-size:11px}.count-badge{margin-left:var(--space-2);background:var(--surface-secondary);color:var(--text-secondary);border-radius:999px;padding:0 8px;font-size:12px;font-weight:600;display:inline-block}.project-progress-head{justify-content:space-between;align-items:baseline;display:flex}.project-progress-percent{font-size:14px;font-weight:600}.project-progress-track{height:4px;margin:var(--space-2) 0;background:var(--surface-secondary);border-radius:999px;overflow:hidden}.project-progress-fill{background:var(--text-primary);border-radius:999px;height:100%;transition:width .25s}.project-progress-caption{color:var(--text-secondary);font-size:11px}.project-main{gap:var(--space-3);grid-template-columns:minmax(260px,1fr) minmax(0,2.4fr);align-items:stretch;display:grid}.project-right{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.project-widgets{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.plan-stage-list{margin:0;padding:0;list-style:none}.plan-stage{border-top:1px solid var(--divider)}.plan-stage:first-child{border-top:none}.plan-stage-row{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) 0;cursor:pointer;color:var(--text-primary);font:inherit;text-align:left;background:0 0;border:none;font-size:13px;display:flex}.plan-stage-title{flex:1}.plan-stage-count{color:var(--text-secondary);font-size:11px}.plan-stage-check{text-align:center;width:14px;color:var(--gantt-done);font-size:12px;font-weight:600}.plan-stage-chevron{color:var(--text-tertiary);transition:transform .15s}.plan-stage-chevron.open{transform:rotate(90deg)}.plan-stage-body{padding:0 0 var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.plan-item{align-items:flex-start;gap:var(--space-2);cursor:pointer;font-size:12px;display:flex}.plan-item-text.done{color:var(--text-tertiary);text-decoration:line-through}.plan-add-item input{box-sizing:border-box;width:100%}.project-calendar-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.project-calendar-nav{align-items:center;gap:var(--space-3);display:flex}.calendar-nav-btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);cursor:pointer;width:26px;height:26px;color:var(--text-primary);background:0 0}.project-calendar-tools{gap:var(--space-2);align-items:center;display:flex}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segmented button{cursor:pointer;color:var(--text-secondary);font:inherit;background:0 0;border:none;padding:4px 10px;font-size:12px}.segmented button.active{background:var(--selected-bg);color:var(--selected-text)}.deadline-form{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.deadline-form-client{gap:var(--space-1);align-items:center;font-size:13px;display:inline-flex}.calendar-grid{border-top:1px solid var(--divider);border-left:1px solid var(--divider);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday{padding:var(--space-1) var(--space-2);color:var(--text-tertiary);border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);font-size:12px}.calendar-cell{min-height:64px;padding:var(--space-1) var(--space-2);border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);min-width:0;font-size:11px}.calendar-cell.outside{color:var(--text-tertiary);opacity:.55}.calendar-cell.today .calendar-day-num{box-sizing:border-box;background:var(--selected-bg);width:20px;height:20px;color:var(--selected-text);text-align:center;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.calendar-day-month{color:var(--text-tertiary);font-size:10px}.deadline-chip{border-radius:6px;align-items:flex-start;gap:6px;margin-top:3px;padding:3px 6px;font-size:11px;line-height:1.25;display:flex}.deadline-chip.client{background:var(--surface-secondary)}.deadline-chip.internal{background:var(--warning-bg)}.deadline-chip-dot{background:var(--text-tertiary);border-radius:50%;flex:none;width:8px;height:8px;margin-top:3px}.deadline-chip.internal .deadline-chip-dot{background:var(--warning)}.deadline-client-mark{color:var(--text-tertiary);font-size:.9em}.calendar-list{margin:0;padding:0;list-style:none}.calendar-list-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--divider);display:flex}.calendar-list-date{width:56px;color:var(--text-secondary)}.calendar-list-row .deadline-chip{flex:1;margin-top:0}.calendar-list-empty,.widget-empty{color:var(--text-secondary);padding:var(--space-2) 0;font-size:13px}.today-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-row,.deadline-row{align-items:center;gap:var(--space-2);font-size:12px;display:flex}.today-title,.deadline-row-title{flex:1;min-width:0}.deadline-date-chip{border-radius:var(--radius-sm);text-align:center;flex:none;min-width:44px;padding:3px 8px;font-size:11px;font-weight:500}.deadline-date-chip.client{background:var(--surface-secondary)}.deadline-date-chip.internal{background:var(--warning-bg)}.person-chip{align-items:center;gap:var(--space-2);color:var(--text-secondary);flex:none;font-size:12px;display:inline-flex}.person-chip-avatar{background:var(--surface-secondary);border:1px solid var(--border-strong);width:22px;height:22px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.person-chip-from{color:var(--text-tertiary);font-size:11px}@media (width<=1100px){.project-main,.project-widgets,.project-info-row{grid-template-columns:1fr}}.project-calendar-month{text-align:center;min-width:110px;font-size:13px}.project-info-row,.project-main,.project-right,.project-widgets{gap:var(--space-2)}.project-card-head .link-btn{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:none}.project-card-head .link-btn:hover{color:var(--text-primary)}.dropdown-option .status-trigger{font-size:13px;font-weight:400}.create-project-backdrop{z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.create-project{width:min(100%,720px);max-height:calc(100vh - 2 * var(--space-4));border-radius:var(--radius-lg);background:var(--surface-elevated);grid-template-columns:240px 1fr;animation:.18s ease-out create-project-in;display:grid;overflow:hidden;box-shadow:0 24px 64px #00000059}@keyframes create-project-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.create-project-cover{cursor:pointer;text-align:left;min-height:320px;color:var(--card-header-text);background:radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--gantt-on-plan) 70%, transparent), transparent 60%), linear-gradient(165deg, color-mix(in srgb, var(--gantt-on-plan) 45%, var(--card-header-bg)), var(--card-header-bg));border:none;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:0;display:flex;position:relative;overflow:hidden}.create-project-cover-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.create-project-cover:after{content:"";background:linear-gradient(#0000 45%,#0000008c);position:absolute;inset:0}.create-project-cover-letter{top:var(--space-4);left:var(--space-4);opacity:.9;font-size:96px;font-weight:700;line-height:1;transition:transform .2s;position:absolute}.create-project-cover:hover .create-project-cover-letter{transform:scale(1.04)}.create-project-cover-caption{z-index:1;padding:var(--space-4);flex-direction:column;gap:2px;display:flex;position:relative}.create-project-cover-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.create-project-cover-meta{opacity:.75;font-size:12px}.create-project-body{padding:var(--space-5);flex-direction:column;min-width:0;display:flex}.create-project-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px}.create-project input.create-project-title{box-sizing:border-box;width:100%;margin:var(--space-2) 0 var(--space-4);padding:0 0 var(--space-2);border:none;border-bottom:1px solid var(--border-strong);color:var(--text-primary);background:0 0;border-radius:0;outline:none;font-size:24px;font-weight:700;transition:border-color .15s}.create-project input.create-project-title:focus{border-bottom-color:var(--text-primary)}.create-project input.create-project-title::placeholder{color:var(--text-tertiary);font-weight:500}.create-project-fields{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.create-project-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.create-project-field-wide{grid-column:1/-1}.create-project-field>span{color:var(--text-secondary);font-size:11px}.create-project-field input,.create-project-field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-primary);padding:9px 12px;font-size:14px;transition:border-color .15s,background .15s}.create-project-field input:focus,.create-project-field select:focus{border-color:var(--text-primary);background:var(--surface);outline:none}.create-project-error{margin:var(--space-3) 0 0;color:var(--danger);font-size:13px}.create-project-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);padding-top:var(--space-5);flex-wrap:wrap;margin-top:auto;display:flex}.project-details-danger-actions{align-items:center;gap:10px;margin-right:auto;display:flex}.create-project-cancel{cursor:pointer;font:inherit;color:var(--text-secondary);background:0 0;border:none;font-size:13px}.create-project-cancel:hover{color:var(--text-primary)}.create-project-submit{padding:10px 20px}.project-details-archive-btn{cursor:pointer;font:inherit;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;padding:0;font-size:13px}.project-details-archive-btn:hover:not(:disabled){color:var(--text-primary);text-decoration:underline}.project-details-archive-btn:disabled{cursor:default;opacity:.6}.project-details-delete-btn{cursor:pointer;font:inherit;color:var(--danger);white-space:nowrap;background:0 0;border:none;padding:0;font-size:13px}.project-details-delete-btn:hover{text-decoration:underline}@media (width<=640px){.create-project{grid-template-columns:1fr;overflow-y:auto}.create-project-cover{min-height:140px}.create-project-cover-letter{font-size:56px}}.project-screen{gap:var(--space-4)}.project-hero{z-index:2;gap:var(--space-5);min-height:250px;padding:var(--space-5);border-radius:var(--radius-lg);color:var(--card-header-text);background:var(--card-header-bg);flex-direction:column;display:flex;position:relative;box-shadow:0 18px 40px #00000029}.project-hero-bg{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.project-hero-bg:after{content:"";background:linear-gradient(#00000040,#00000080);position:absolute;inset:0}.project-hero-top,.project-hero-bottom{z-index:1;position:relative}.project-hero-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.project-hero .project-title{letter-spacing:-.02em;color:var(--card-header-text);font-size:34px}.project-hero .project-switcher-trigger{color:var(--card-header-text)}.project-hero .project-subtitle{color:var(--card-header-text);opacity:.7;margin-top:4px;font-size:13px}.project-hero-btn{height:34px;font:inherit;color:var(--card-header-text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#ffffff24;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;transition:background .15s,transform .15s;display:inline-flex}.project-hero-btn:hover{background:#ffffff42;transform:translateY(-1px)}.project-hero-btn-icon{justify-content:center;width:34px;padding:0}.project-hero-bottom{gap:var(--space-4);flex-direction:column;margin-top:auto;display:flex}.project-hero .project-info-row{gap:var(--space-3)}.project-hero .project-info-card{padding:var(--space-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff24;gap:4px;transition:background .15s}.project-hero .project-info-card:hover{background:#ffffff29}.project-hero .project-info-label{letter-spacing:.06em;text-transform:uppercase;color:var(--card-header-text);opacity:.6;font-size:10px}.project-hero .project-info-value,.project-hero .stage-trigger,.project-hero .status-trigger,.project-hero .project-date-input{color:var(--card-header-text);font-size:14px;font-weight:600}.project-hero .dropdown-trigger{color:var(--card-header-text);background:0 0;border:none;padding:0}.project-hero .project-date-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;padding:0}.project-hero .project-progress{padding:0}.project-hero .project-progress-head{align-items:flex-end}.project-hero .project-progress-head h2{letter-spacing:.06em;text-transform:uppercase;opacity:.6;font-size:11px;font-weight:500}.project-hero .project-progress-percent{letter-spacing:-.02em;font-size:34px;font-weight:700;line-height:1}.project-hero .project-progress-track{height:6px;margin:var(--space-2) 0;background:#fff3}.project-hero .project-progress-fill{background:var(--card-header-text);box-shadow:0 0 12px #ffffff80}.project-hero .project-progress-caption{color:var(--card-header-text);opacity:.7}.project-screen .project-card{border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow .2s,border-color .2s}.project-screen .project-card:hover{border-color:var(--border-strong);box-shadow:0 10px 28px #00000012}.project-main,.project-right,.project-widgets{gap:var(--space-4)}.plan-stage-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.plan-stage-bar{background:var(--surface-secondary);border-radius:999px;height:2px;display:block;overflow:hidden}.plan-stage-bar-fill{background:var(--text-primary);height:100%;transition:width .3s;display:block}.plan-stage-check.done{background:var(--gantt-done);width:18px;height:18px;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.plan-stage-row{border-radius:var(--radius-sm);transition:background .15s,padding .15s}.plan-stage-row:hover{background:var(--hover);padding-left:var(--space-2);padding-right:var(--space-2)}.calendar-cell{transition:background .15s}.calendar-cell:hover{background:var(--hover)}.deadline-chip{border-radius:8px}@media (width<=1100px){.project-hero .project-info-row{grid-template-columns:1fr 1fr}}.project-hero input.project-date-input{width:100%;box-shadow:none;background:0 0;border:none}.project-hero .project-progress-head h2{color:var(--card-header-text)}.project-hero .project-hero-top{z-index:3}.project-more-menu button{white-space:nowrap}.team-member-card{gap:var(--space-4);padding:0 0 var(--space-4);border-radius:var(--radius-lg);transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.team-member-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 14px 30px #0000001a}.team-member-card>:not(.team-member-card-header){margin-left:var(--space-4);margin-right:var(--space-4)}.team-member-card-header{align-items:flex-end;gap:var(--space-3);min-height:96px;padding:var(--space-4);color:var(--card-header-text);position:relative;overflow:hidden}.team-member-card-header:after{content:"";pointer-events:none;background:linear-gradient(#0000 40%,#00000059);position:absolute;inset:0}.team-member-letter{right:var(--space-3);opacity:.16;font-size:110px;font-weight:700;line-height:1;transition:transform .4s;position:absolute;top:-18px}.team-member-card:hover .team-member-letter{transform:translateY(6px)}.team-member-card-header .team-member-avatar{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:44px;height:44px;color:var(--card-header-text);background:#ffffff2e;border:1px solid #ffffff47;position:relative}.team-member-card-heading{z-index:1;min-width:0;position:relative}.team-member-card-header .team-member-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.team-member-card-header .team-member-role{color:var(--card-header-text);opacity:.72}.team-member-stat{padding:var(--space-3) 4px;border-radius:var(--radius-md);background:var(--surface-secondary);border:none}.team-member-stat-value{font-size:20px;font-weight:700;line-height:1}.team-member-stat-overdue{background:var(--danger-bg)}.team-member-current-project{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-secondary);border:none}.team-member-progress-track{border-radius:999px;height:3px;overflow:hidden}.team-member-progress-fill{background:var(--text-primary);border-radius:999px;transition:width .3s}.team-member-add-task-btn{border-radius:999px}.team-member-card-drop-target{box-shadow:0 0 0 2px var(--text-primary), 0 14px 30px #00000024;transform:none}.team-toolbar input.team-search-input{padding-left:var(--space-4);border-radius:999px}.team-tab-btn{border-radius:999px;padding:6px 14px;transition:background .15s,color .15s,border-color .15s}.team-toolbar-dropdowns select{border-radius:999px}.team-member-stat-label{white-space:nowrap;font-size:10px}.gantt-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding-bottom:0;box-shadow:0 10px 30px #0000000f}.gantt-header-row,.gantt-row{border-bottom-color:var(--divider)}.gantt-row-label,.gantt-row-status{border-color:var(--divider)}.gantt-header-row,.gantt-header-row .gantt-row-label,.gantt-header-row .gantt-row-status{background:var(--surface-secondary)}.gantt-row{transition:background .15s}.gantt-row:hover,.gantt-row:hover .gantt-row-label,.gantt-row:hover .gantt-row-status{background:var(--surface-secondary)}.gantt-today-badge{background:var(--selected-bg);color:var(--selected-text);border-radius:999px;align-self:flex-start;align-items:center;padding:3px 10px}.gantt-today-badge-label,.gantt-today-badge-date{color:var(--selected-text)}.gantt-scale-toggle{border:1px solid var(--border-strong);border-radius:999px;align-self:flex-start;gap:0;padding:2px}.gantt-scale-btn{background:0 0;border:none;border-radius:999px;padding:3px 10px;transition:background .15s,color .15s}.gantt-scale-btn:hover{background:var(--hover)}.gantt-scale-btn.active{background:var(--selected-bg);color:var(--selected-text)}.gantt-month-row,.gantt-month-cell,.gantt-week-label{border-color:var(--divider)}.gantt-section-header{margin-top:var(--space-2);border-bottom:1px solid var(--divider);background:0 0}.gantt-section-header-label{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);display:inline-flex}.gantt-section-header-label:before{content:"";background:var(--gantt-on-plan);border-radius:50%;width:8px;height:8px}.gantt-row-label,.gantt-row-status{padding:var(--space-3);gap:4px}.gantt-row-name-btn{font-size:14px;font-weight:700}.gantt-row-name-btn:hover{color:var(--gantt-on-plan);text-decoration:none}.gantt-row-stage-select{background:var(--surface-secondary);border-color:#0000;border-radius:999px;padding:3px 8px}.gantt-row-hide-btn{opacity:0;transition:opacity .15s}.gantt-row:hover .gantt-row-hide-btn,.gantt-row-hide-btn:focus-visible{opacity:1}.gantt-week-bar{border-radius:999px;height:24px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.gantt-week-segment{border-right-color:#ffffff59;font-size:10px;font-weight:600}.gantt-week-segment-onPlan{background:linear-gradient(135deg, var(--gantt-on-plan-bg), color-mix(in srgb, var(--gantt-on-plan) 26%, transparent))}.gantt-week-segment-done{background:linear-gradient(135deg, var(--gantt-done-bg), color-mix(in srgb, var(--gantt-done) 28%, transparent))}.gantt-week-segment-correction{background:linear-gradient(135deg, var(--warning-bg), color-mix(in srgb, var(--warning) 26%, transparent))}.gantt-week-segment-overdue{background:linear-gradient(135deg, var(--danger), color-mix(in srgb, var(--danger) 78%, black))}.gantt-today-line{background:linear-gradient(to bottom, var(--gantt-today-line), color-mix(in srgb, var(--gantt-today-line) 45%, transparent));width:2px;box-shadow:0 0 10px color-mix(in srgb, var(--gantt-today-line) 55%, transparent);border-radius:2px}.gantt-status-note{border-radius:var(--radius-md)}.details-modal{height:min(700px, calc(100vh - 2 * var(--space-4)));grid-template-columns:230px 1fr}.create-project-cover.is-static{cursor:default}.details-modal-status{z-index:1;top:var(--space-3);left:var(--space-3);position:absolute}.details-modal-body{min-height:0}.details-modal-scroll{min-height:0;margin:var(--space-3) calc(-1 * var(--space-2)) 0;padding:0 var(--space-2);flex:1;overflow-y:auto}.details-modal .project-details-fields{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.details-modal .project-details-fields>label,.details-modal .project-details-fields>.project-details-plan-dates,.details-modal .project-details-fields>.project-details-gantt-hidden-note{min-width:0}.details-modal .project-details-fields>label:first-child,.details-modal .project-details-fields>label:nth-child(4),.details-modal .project-details-fields>label:nth-child(5),.details-modal .project-details-fields>.project-details-plan-dates,.details-modal .project-details-fields>.project-details-gantt-hidden-note{grid-column:1/-1}.details-modal .project-details-fields label{gap:var(--space-1);color:var(--text-secondary);font-size:11px}.details-modal .project-details-fields input,.details-modal .project-details-fields select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-primary);padding:9px 12px;font-size:14px;transition:border-color .15s,background .15s}.details-modal .project-details-fields input:focus,.details-modal .project-details-fields select:focus{border-color:var(--text-primary);background:var(--surface);outline:none}.details-modal .project-details-fields>label:first-child input{padding:0 0 var(--space-2);border:none;border-bottom:1px solid var(--border-strong);background:0 0;border-radius:0;font-size:22px;font-weight:700}.details-modal .project-details-fields>label:first-child input:focus{border-bottom-color:var(--text-primary);background:0 0}.details-modal .project-details-plan-dates{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-secondary)}.details-modal .project-details-plan-stage-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:11px}.details-modal .project-details-plan-stage-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.details-modal .project-details-plan-stage-row>label,.details-modal .project-details-plan-dates input{min-width:0;max-width:100%}.details-modal .project-details-plan-dates input{background:var(--surface)}@media (width<=640px){.details-modal{height:auto;max-height:calc(100vh - 2 * var(--space-4));grid-template-columns:1fr;overflow-y:auto}.details-modal .project-details-fields{grid-template-columns:1fr}}.details-modal .create-project-cover-letter{top:56px}.dashboard-columns{grid-template-rows:none;align-items:start}.dashboard-columns .dashboard-attention{grid-area:1/1/span 3;max-height:560px}.dashboard-columns .dashboard-widget{grid-area:auto/2;max-height:240px}.dashboard-summary{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.dashboard-summary-tile{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-secondary)}.dashboard-summary-tile.tone-danger{background:var(--danger-bg);color:var(--danger)}.dashboard-summary-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.dashboard-summary-tile.tone-danger .dashboard-summary-label{color:var(--danger)}.dashboard-summary-value{margin-top:4px;font-size:26px;font-weight:600;line-height:1.1}.dashboard-summary-dot{background:var(--gantt-done);border-radius:50%;width:7px;height:7px}.dashboard-summary-dot.dot-wait{background:var(--status-yellow)}.dash-projects{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.dash-projects-head{justify-content:space-between;align-items:center;display:flex}.dash-projects-head h3{margin:0;font-size:16px}.dash-list{flex-direction:column;display:flex}.dash-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:none;border-top:1px solid var(--divider);border-radius:var(--radius-md);text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;grid-template-columns:40px minmax(120px,1.3fr) minmax(160px,1.6fr) 36px 92px;transition:background .15s;display:grid}.dash-row:first-child{border-top:none}.dash-row:hover{background:var(--hover)}.dash-thumb{width:40px;height:40px;color:var(--card-header-text);background:var(--surface-secondary);border-radius:12px;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:inline-flex;overflow:hidden}.dash-thumb img{object-fit:cover;width:100%;height:100%}.dash-row-main{flex-direction:column;min-width:0;display:flex}.dash-row-name{font-size:14px;font-weight:600;line-height:1.3}.dash-row-meta{color:var(--text-secondary);font-size:11px}.dash-stage-scale{gap:3px;margin-bottom:5px;display:flex}.dash-stage-scale span{background:var(--border-strong);border-radius:2px;flex:1;height:4px}.dash-stage-scale span.done{background:color-mix(in srgb, var(--gantt-on-plan) 38%, transparent)}.dash-stage-scale span.current{background:var(--gantt-on-plan)}.dash-stage-scale.complete span.done{background:color-mix(in srgb, var(--gantt-done) 42%, transparent)}.dash-stage-scale.complete span.current{background:var(--gantt-done)}.dash-stage-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dash-avatar{background:var(--selected-bg);width:24px;height:24px;color:var(--selected-text);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.dash-pill{white-space:nowrap;background:var(--surface-secondary);color:var(--text-secondary);border-radius:999px;justify-self:end;padding:3px 10px;font-size:11px}.dash-pill.urgency-overdue,.dash-pill.urgency-burning{background:var(--danger-bg);color:var(--danger)}.dash-pill.urgency-soon{background:var(--warning-bg);color:var(--warning)}.dash-board{gap:var(--space-3);padding-bottom:var(--space-2);align-items:flex-start;display:flex;overflow-x:auto}.dash-board-col{padding:var(--space-2);border-radius:var(--radius-lg);background:var(--surface-secondary);border:1px solid #0000;flex:0 0 210px;transition:border-color .15s,background .15s}.dash-board-col.empty{opacity:.6}.dash-board-col.over{border-color:var(--text-primary);opacity:1}.dash-board-col-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-2);display:flex}.dash-board-col-title{font-size:12px;font-weight:600}.dash-board-col-count{color:var(--text-tertiary);font-size:11px}.dash-board-col-body{gap:var(--space-2);flex-direction:column;min-height:40px;display:flex}.dash-board-card{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:grab;transition:box-shadow .15s,transform .15s}.dash-board-card.dragging{opacity:.35}.dash-board-card-overlay{cursor:grabbing;font-size:13px;font-weight:600;box-shadow:0 14px 30px #0003}.dash-board-card-foot{margin-top:var(--space-2);justify-content:space-between;align-items:center;display:flex}@media (width<=900px){.dashboard-columns{grid-template-columns:1fr}.dashboard-columns .dashboard-attention,.dashboard-columns .dashboard-widget{grid-area:auto/1}.dash-row{grid-template-columns:40px 1fr 92px}.dash-stage,.dash-row-exec{display:none}}.dash-board{gap:var(--space-4)}.dash-board-col{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-secondary);flex:0 0 236px}.dash-board-col-head{padding:0 var(--space-1) var(--space-3);align-items:center}.dash-board-col-title{align-items:center;gap:8px;font-size:12px;font-weight:600;line-height:1.25;display:flex}.dash-board-col-dot{border-radius:50%;flex:none;width:8px;height:8px}.dash-board-col-count{text-align:center;background:var(--surface);min-width:20px;color:var(--text-secondary);border-radius:999px;padding:1px 7px}.dash-board-col-body{gap:var(--space-3);min-height:56px}.dash-board-card{border-radius:var(--radius-lg);padding:0;overflow:hidden;box-shadow:0 1px 2px #0000000a}.dash-board-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #00000024}.dash-board-card-cover{height:64px;color:var(--card-header-text);background:var(--surface-secondary);position:relative;overflow:hidden}.dash-board-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.dash-board-card:hover .dash-board-card-cover img{transform:scale(1.06)}.dash-board-card-cover:after{content:"";pointer-events:none;background:linear-gradient(#00000047,#0000 60%);position:absolute;inset:0}.dash-board-card-letter{opacity:.22;font-size:72px;font-weight:700;line-height:1;transition:transform .4s;position:absolute;bottom:-14px;right:10px}.dash-board-card:hover .dash-board-card-letter{transform:translateY(-5px)}.dash-board-card-status{z-index:1;top:var(--space-2);left:var(--space-2);padding:2px 8px 2px 7px;font-size:10px;position:absolute}.dash-board-card-body{padding:var(--space-3);flex-direction:column;gap:2px;display:flex}.dash-board-card-name{font-size:14px;font-weight:700}.dash-board-card-exec{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:inline-flex}.dash-board-card-foot{margin-top:var(--space-2)}.dash-board-col.over{box-shadow:inset 0 0 0 2px var(--text-primary);border-color:#0000}.dash-board-card-overlay{cursor:grabbing;min-width:160px;box-shadow:0 18px 36px #00000040}.project-executor-avatar{width:20px;height:20px;color:var(--card-header-text);background:#ffffff3d;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}@media (width<=1100px){.project-hero .project-info-row{grid-template-columns:1fr 1fr}}.project-hero input.project-date-input{color:var(--card-header-text)}.project-hero input.project-date-input::-webkit-datetime-edit{color:var(--card-header-text)}.project-hero input.project-date-input::-webkit-datetime-edit-fields-wrapper{color:var(--card-header-text)}.project-hero input.project-date-input::-webkit-datetime-edit-day-field{color:var(--card-header-text)}.project-hero input.project-date-input::-webkit-datetime-edit-month-field{color:var(--card-header-text)}.project-hero input.project-date-input::-webkit-datetime-edit-year-field{color:var(--card-header-text)}.project-hero input.project-date-input::-webkit-datetime-edit-text{color:var(--card-header-text)}.project-hero input.project-date-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.project-hero input.project-date-input::-webkit-calendar-picker-indicator{filter:none;opacity:.9;cursor:pointer}.project-hero .dropdown-trigger-chevron{color:var(--card-header-text);opacity:.75}.dash-board{align-items:stretch}.dash-board-col{flex-direction:column;transition:flex-basis .2s,opacity .2s,border-color .15s;display:flex}.dash-board-col-body{flex:1}.dash-board-col.collapsed{padding:var(--space-3) 0;opacity:.8;border:1px dashed var(--border-strong);background:0 0;flex:0 0 44px;align-items:center;overflow:hidden}.dash-board-col.collapsed .dash-board-col-head{gap:var(--space-2);flex-direction:column;padding:0}.dash-board-col.collapsed .dash-board-col-title{writing-mode:vertical-rl;white-space:nowrap;color:var(--text-secondary);font-weight:500;transform:rotate(180deg)}.dash-board-col.collapsed .dash-board-col-count,.dash-board-col.collapsed .dash-board-col-body{display:none}.sidebar{background:var(--bg);box-shadow:inset -1px 0 0 var(--border);border-right:none}.sidebar-nav{gap:4px}.sidebar-item{color:var(--text-secondary);border-radius:14px;padding-top:9px;padding-bottom:9px;transition:padding .15s,gap .15s,background .18s,color .18s,box-shadow .18s}.sidebar-item:hover{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 0 var(--border), 0 4px 12px #0000000d}.sidebar-item svg{opacity:.75;transition:transform .18s,opacity .18s}.sidebar-item:hover svg{opacity:1;transform:scale(1.08)}.sidebar-item.active{background:var(--selected-bg);color:var(--selected-text);font-weight:600;box-shadow:0 6px 16px #00000038}.sidebar-item.active:before{content:none}.sidebar-item.active svg{opacity:1}.sidebar-group-label{color:var(--text-tertiary);align-items:center;gap:8px;display:flex}.sidebar-group-label:after{content:"";background:var(--divider);flex:1;height:1px}.sidebar-item-wrap--divided{padding-top:var(--space-2);border-top:none}.sidebar-item-wrap--divided:before{content:"";height:1px;margin:0 var(--space-3) var(--space-3);background:var(--divider)}.sidebar--collapsed .sidebar-item-wrap--divided:before{content:none}.sidebar-theme-row{border-top:none;padding-top:0}.sidebar-profile-row{background:var(--surface);box-shadow:0 1px 0 var(--border), 0 6px 18px #0000000f;border-radius:16px;padding:6px 10px;transition:gap .15s,box-shadow .18s,transform .18s}.sidebar-profile-row:hover{background:var(--surface);box-shadow:0 1px 0 var(--border), 0 10px 22px #0000001a;transform:translateY(-1px)}.sidebar-profile-avatar{width:32px;height:32px;box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--border-strong)}.sidebar-collapse-toggle{background:var(--surface);box-shadow:0 2px 8px #0000001a}.sidebar-profile-row{padding-left:8px;padding-right:8px}.sidebar-item.active{box-shadow:none}.sidebar-item:hover{box-shadow:0 0 0 1px var(--border)}.sidebar-item.active:hover{box-shadow:none}.sidebar-profile-row{border:1px solid var(--border);background:var(--surface);box-shadow:none;border-radius:18px;gap:10px;padding:8px;transition:gap .15s,border-color .18s,background .18s}.sidebar-profile-row:hover{background:var(--surface);border-color:var(--border-strong);box-shadow:none;transform:none}.sidebar-profile-avatar{box-shadow:none;position:relative;overflow:visible}.sidebar-profile-avatar img{border-radius:50%}.sidebar-profile-presence{background:var(--gantt-done);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;bottom:-1px;right:-1px}.sidebar-profile-text{opacity:1;flex-direction:column;flex:1;gap:1px;min-width:0;max-width:160px;transition:opacity .1s,max-width .15s;display:flex;overflow:hidden}.sidebar--collapsed .sidebar-profile-text{opacity:0;max-width:0}.sidebar-profile-text .sidebar-profile-name{flex:none;max-width:none;font-size:13px;font-weight:600;line-height:1.2}.sidebar-profile-role{color:var(--text-tertiary);font-size:11px;line-height:1.2}.sidebar-profile-row .sidebar-profile-more{color:var(--text-tertiary)}.sidebar-profile-row{box-sizing:border-box;padding:7px}.profile-modal{width:min(100%,820px);height:min(600px, calc(100vh - 2 * var(--space-4)));grid-template-columns:230px 1fr}.profile-modal-photo-btn{z-index:2;top:var(--space-3);left:var(--space-3);height:30px;font:inherit;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--card-header-text);cursor:pointer;background:#00000059;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;transition:background .15s;display:inline-flex;position:absolute}.profile-modal-photo-btn:hover{background:#0000008c}.profile-modal .create-project-cover-letter{top:56px}.profile-modal-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-modal-scroll{gap:var(--space-4);flex-direction:column;display:flex}.profile-modal .create-project-field{gap:var(--space-1)}.profile-modal .profile-modal-name input{padding:0 0 var(--space-2);border:none;border-bottom:1px solid var(--border-strong);background:0 0;border-radius:0;font-size:22px;font-weight:700}.profile-modal .profile-modal-name input:focus{border-bottom-color:var(--text-primary);background:0 0}.profile-modal-section{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-secondary);flex-direction:column;display:flex}.profile-modal-section .create-project-field input{background:var(--surface)}.profile-modal-section .profile-editor-password-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:11px;font-weight:500}.profile-modal-section .btn{border-radius:999px;align-self:flex-start}@media (width<=640px){.profile-modal{grid-template-columns:1fr;height:auto;overflow-y:auto}}.profile-modal-facts{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.profile-modal-fact{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:4px;display:flex}.profile-modal-fact-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px}.profile-modal-fact-value{font-size:14px;font-weight:600}.profile-modal-tabs{margin-bottom:var(--space-1);scrollbar-width:none;align-self:stretch;display:flex;overflow-x:auto}.profile-modal-tabs::-webkit-scrollbar{display:none}.profile-modal-tabs button{white-space:nowrap;flex:1 0 auto;padding:5px 8px;font-size:12px}.profile-modal-list{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.profile-modal-toggle,.profile-modal-perm{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--divider);cursor:pointer;display:flex}.profile-modal-toggle:first-child,.profile-modal-perm:first-child{border-top:none}.profile-modal-perm{cursor:default}.profile-modal-toggle-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-modal-toggle-title{font-size:13px;font-weight:600}.profile-modal-toggle-hint{color:var(--text-secondary);font-size:11px}.profile-modal-toggle input[type=checkbox]{appearance:none;background:var(--border-strong);cursor:pointer;border:none;border-radius:999px;flex:none;width:38px;height:22px;margin:0;transition:background .18s;position:relative}.profile-modal-toggle input[type=checkbox]:after{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px}.profile-modal-toggle input[type=checkbox]:checked{background:var(--selected-bg)}.profile-modal-toggle input[type=checkbox]:checked:after{background:var(--selected-text);transform:translate(16px)}.profile-modal-perm-mark{background:var(--surface-secondary);width:22px;height:22px;color:var(--text-tertiary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.profile-modal-perm-mark.allowed{background:var(--gantt-done-bg);color:var(--gantt-done)}.profile-modal-perm-state{color:var(--text-secondary);font-size:11px}.profile-modal-note{color:var(--text-secondary);margin:0;font-size:12px}.profile-modal-device{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface);display:flex}.profile-modal-device-name{font-size:13px;font-weight:600}.profile-modal-device-badge{background:var(--gantt-done-bg);color:var(--gantt-done);border-radius:999px;padding:2px 9px;font-size:11px}.cropper-backdrop{z-index:1100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cropper{align-items:center;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-elevated);flex-direction:column;display:flex;box-shadow:0 24px 64px #00000059}.cropper-title{font-size:15px;font-weight:600}.cropper-view{border-radius:var(--radius-md);background:var(--surface-secondary);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.cropper-view:active{cursor:grabbing}.cropper-view img{pointer-events:none;max-width:none;position:absolute;top:0;left:0}.cropper-mask{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 999px #00000073,inset 0 0 0 1.5px #ffffffd9}.cropper-zoom{align-items:center;gap:var(--space-3);width:100%;color:var(--text-secondary);font-size:12px;display:flex}.cropper-zoom input{flex:1}.cropper-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);width:100%;display:flex}.profile-modal-colors{gap:var(--space-2);flex-direction:column;display:flex}.profile-modal-colors-label{color:var(--text-secondary);font-size:11px}.profile-modal-swatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-modal-swatch{cursor:pointer;width:30px;height:30px;color:var(--text-secondary);font:inherit;border:none;border-radius:50%;padding:0;font-size:12px;transition:transform .15s,box-shadow .15s}.profile-modal-swatch.auto{background:var(--surface-secondary);border:1px dashed var(--border-strong)}.profile-modal-swatch:hover{transform:scale(1.1)}.profile-modal-swatch.selected{box-shadow:0 0 0 2px var(--surface-elevated), 0 0 0 4px var(--text-primary)}.profile-modal-cover-accent{z-index:2;height:6px;position:absolute;bottom:0;left:0;right:0}.access-manager{gap:var(--space-4);flex-direction:column;display:flex}.access-check{align-items:center;gap:var(--space-2);cursor:pointer;font-size:13px;display:flex}.access-entry{padding:var(--space-3) var(--space-4);border-top:1px solid var(--divider)}.access-entry:first-child{border-top:none}.access-entry-head{align-items:center;gap:var(--space-3);display:flex}.access-entry-perms{gap:var(--space-2) var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.access-manager .link-btn{color:var(--text-secondary);font-size:12px;text-decoration:none}.access-manager .link-btn:hover{color:var(--text-primary)}.access-manager .access-remove:hover{color:var(--danger)}.sidebar-collapse-toggle{background:var(--selected-bg);width:26px;height:26px;color:var(--selected-text);box-shadow:0 0 0 4px var(--surface), 0 4px 12px #0000002e;border:none;transition:transform .15s,scale .15s,box-shadow .15s;right:-13px}.sidebar-collapse-toggle:hover{box-shadow:0 0 0 4px var(--surface), 0 6px 16px #00000047;scale:1.1}.sidebar-collapse-toggle:active{scale:.94}.sidebar-collapse-toggle:focus-visible{outline:2px solid var(--text-primary);outline-offset:6px}.sidebar-collapse-toggle svg{stroke-width:2px;width:14px;height:14px}.compl-bar{margin-bottom:var(--space-4)}.compl-bar-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.compl-bar-head h3{margin:0;font-size:15px}.compl-bar-head .link-btn{color:var(--text-secondary);font-size:12px;text-decoration:none}.compl-bar-empty{padding:var(--space-3) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px}.compl-bar-scroll{gap:var(--space-3);padding:var(--space-1) var(--space-1) var(--space-2);display:flex;overflow-x:auto}.compl-tile{align-items:center;gap:var(--space-3);min-width:210px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex:none;transition:transform .15s,border-color .15s;display:flex}.compl-tile:hover{border-color:var(--border-strong);transform:translateY(-2px)}.compl-tile.active{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--text-primary)}.compl-tile-thumb{width:44px;height:44px;color:var(--card-header-text);background:var(--surface-secondary);border-radius:12px;justify-content:center;align-items:center;font-size:17px;font-weight:600;display:inline-flex;overflow:hidden}.compl-tile-thumb img{object-fit:cover;width:100%;height:100%}.compl-tile-text{flex-direction:column;min-width:0;display:flex}.compl-tile-name{font-size:14px;font-weight:700}.compl-tile-meta{color:var(--text-secondary);font-size:11px}.repair-bar{gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.repair-bar-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.repair-bar-title{font-size:15px;font-weight:700}.repair-bar-now{color:var(--text-secondary);font-size:12px}.repair-phases{align-self:flex-start}.repair-phases button{align-items:center;gap:6px;display:inline-flex}.repair-phase-count{background:var(--surface-secondary);min-width:16px;color:var(--text-primary);border-radius:999px;padding:0 5px;font-size:10px;line-height:16px}.segmented button.active .repair-phase-count{color:var(--selected-text);background:#ffffff38}.repair-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.repair-chip{font:inherit;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;border-radius:999px;padding:6px 13px;font-size:13px;transition:background .15s,color .15s,border-color .15s}.repair-chip:hover{border-color:var(--text-primary);color:var(--text-primary)}.repair-chip.passed{color:var(--text-tertiary);background:var(--surface-secondary);border-color:#0000}.repair-chip.current{color:var(--selected-text);background:var(--selected-bg);border-color:var(--selected-bg);font-weight:600}.project-hero .project-info-row{grid-template-columns:repeat(auto-fit,minmax(164px,1fr))}.project-hero .project-info-card{min-width:0;overflow:hidden}.project-hero .project-info-card .dropdown,.project-hero .project-info-card .dropdown-trigger{min-width:0;max-width:100%}.project-hero .status-trigger,.project-hero .stage-trigger{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-hero .dropdown-trigger-chevron{flex-shrink:0}.project-hero .project-info-label{overflow-wrap:anywhere}.project-hero input.project-date-input{min-width:0;max-width:100%}.project-hero .project-hero-top{flex-wrap:wrap}.project-hero .project-hero-top>div:first-child{min-width:0}.project-hero .project-hero-btn{white-space:nowrap;flex-shrink:0}.project-hero .project-top-actions{flex-shrink:0}@media (width<=600px){.project-hero{padding:var(--space-4);gap:var(--space-4)}.project-hero .project-title{font-size:28px}.project-hero .project-info-row{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.project-hero .project-info-row>.project-info-card:last-child{grid-column:1/-1}.project-hero .project-info-card{padding:var(--space-2) var(--space-3)}}.project-hero .trigger-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-hero .status-trigger,.project-hero .stage-trigger{align-items:center;gap:var(--space-2);max-width:100%;display:inline-flex}.project-executor-avatar,.project-hero .project-status-dot{flex:none}.team-toolbar-dropdowns{flex-wrap:wrap;max-width:100%}@media (width<=600px){.team-toolbar-dropdowns{width:100%;margin-left:0}.team-toolbar-dropdowns select{flex:130px;min-width:0}}.team-tabs{flex-wrap:wrap}.team-tab-btn{white-space:nowrap}.feed{gap:var(--space-4);flex-direction:column;display:flex}.feed-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.feed-filters{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.feed-filters select{border-radius:999px}.feed-day{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.feed-day-title{margin:0 0 var(--space-2);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:600}.feed-list{margin:0;padding:0;list-style:none}.feed-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--divider);display:flex;position:relative}.feed-row:first-child{border-top:none}.feed-avatar{width:34px;height:34px;color:var(--card-header-text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.feed-kind{left:22px;top:calc(var(--space-3) + 20px);background:var(--selected-bg);width:16px;height:16px;color:var(--selected-text);box-shadow:0 0 0 2px var(--surface);border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex;position:absolute}.feed-kind.kind-plan{background:var(--gantt-done);color:var(--surface)}.feed-kind.kind-stage{background:var(--gantt-on-plan);color:var(--surface)}.feed-kind.kind-project{background:var(--status-yellow);color:var(--text-primary)}.feed-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.feed-text{font-size:14px;line-height:1.4}.feed-subject{font-weight:500}.feed-detail{color:var(--text-secondary)}.feed-project{background:var(--surface-secondary);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:2px 10px 2px 6px;font-size:11px;display:inline-flex}.feed-project-dot{border-radius:50%;width:10px;height:10px}.feed-time{color:var(--text-tertiary);flex:none;padding-top:2px;font-size:12px}.feed-empty{padding:var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary);font-size:13px}.notif-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--divider);border-radius:var(--radius-md);transition:background .15s;display:flex;position:relative}.feed-list>.notif-row:first-child{border-top:none}.notif-row.unread{background:var(--surface-secondary)}.notif-col{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.notif-row-hit{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.notif-row-hit:hover .notif-text{text-decoration:underline}.notif-row-project{cursor:pointer;border:none;align-self:flex-start;font-family:inherit;transition:background .15s;display:inline-flex}.notif-row-project:hover{background:var(--hover)}.notif-icon{background:var(--surface-secondary);width:36px;height:36px;color:var(--text-secondary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.notif-icon.tone-info{background:var(--info-bg);color:var(--info)}.notif-icon.tone-warning{background:var(--warning-bg);color:var(--warning)}.notif-icon.tone-danger{background:var(--danger-bg);color:var(--danger)}.notif-icon.tone-accent{background:var(--gantt-on-plan-bg);color:var(--gantt-on-plan)}.notif-icon.tone-success{background:var(--gantt-done-bg);color:var(--gantt-done)}.notif-text{font-size:14px;line-height:1.4}.notif-row.unread .notif-text{font-weight:600}.notif-dot{background:var(--text-primary);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.sidebar-badge{text-align:center;background:var(--danger);min-width:18px;color:var(--button-primary-text);border-radius:999px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:600;line-height:18px}.sidebar--collapsed .sidebar-badge{width:8px;min-width:8px;height:8px;padding:0;font-size:0;position:absolute;top:4px;right:6px}.header-icon-btn{position:relative}.header-icon-badge{text-align:center;background:var(--danger);min-width:16px;color:var(--button-primary-text);border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.roster-hidden-toggle{color:var(--text-secondary);cursor:pointer;flex:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}.complectation-tabs{gap:var(--space-4)}.complectation-tabs .card--dark-header{border-radius:var(--radius-lg);background:var(--surface)}.complectation-tabs .card--dark-header .card-header{color:var(--text-primary);padding:var(--space-4) var(--space-4) var(--space-2);background:0 0;font-size:15px;font-weight:700}.complectation-tabs .card--dark-header .card-body{padding-top:var(--space-2)}.complectation-tabs .btn{border-radius:999px;padding:7px 16px}.complectation-tabs .btn-ghost.btn-sm{padding:4px 12px}.complectation-tabs .chip-row{border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;align-self:flex-start;gap:2px;padding:3px}.complectation-tabs .chip{border:none;padding:6px 14px;transition:background .15s,color .15s}.complectation-tabs .chip:hover:not(.active){background:var(--hover);color:var(--text-primary)}.complectation-tabs .searchbar input{background:var(--surface-secondary);border:1px solid #0000;border-radius:999px;padding:11px 18px;transition:border-color .15s,background .15s}.complectation-tabs .searchbar input:focus{border-color:var(--text-primary);background:var(--surface);outline:none}.complectation-tabs .vedomost-tab{padding:0}.complectation-tabs .group-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:0;transition:border-color .15s}.complectation-tabs .group-card:hover{border-color:var(--border-strong)}.complectation-tabs .group-card-head,.complectation-tabs .group-card-export-row{background:0 0}.complectation-tabs .group-card-head{padding:12px 16px}.complectation-tabs .group-card-head input{background:var(--surface-secondary);border-radius:999px;padding:6px 12px;font-weight:600}.complectation-tabs .group-card-head input:focus{border-color:var(--text-primary);background:var(--surface);outline:none}.complectation-tabs .group-card-body{border-top:1px solid var(--divider);padding:14px 16px 16px}.complectation-tabs .group-count,.complectation-tabs .stage-count{background:var(--surface-secondary);color:var(--text-secondary);border:none;padding:2px 10px;font-size:11px}.complectation-tabs .group-card-export-row .btn,.complectation-tabs .group-card-export-row button{border-radius:999px}.complectation-tabs .client-now-card{gap:var(--space-2)}.complectation-tabs .client-now-card .drag-handle{opacity:.6;margin-top:14px}.complectation-tabs .client-now-card .drag-handle:hover{opacity:1}.complectation-tabs .stage-group{border:1px solid var(--border);border-radius:var(--radius-lg);gap:var(--space-3);background:var(--surface);padding:14px 16px 16px}.complectation-tabs .stage-name{font-size:15px;font-weight:700}.complectation-tabs .stage-group-head input{background:var(--surface-secondary);border-color:#0000;border-radius:999px;padding:6px 12px}.complectation-tabs .item-list{gap:var(--space-2)}.complectation-tabs .item-row{border:1px solid var(--divider);border-radius:var(--radius-md);background:var(--surface);padding:10px 12px;transition:background .15s,border-color .15s}.complectation-tabs .item-row:hover{background:var(--surface-secondary);border-color:var(--border)}.complectation-tabs .item-thumb{border-radius:12px;width:44px;height:44px}.complectation-tabs .iname-text{font-size:14px;font-weight:600}.complectation-tabs .iphase-tag,.complectation-tabs .ilead-tag,.complectation-tabs .iqty-tag{background:var(--surface-secondary);border:none;padding:2px 10px}.complectation-tabs .import-controls .btn{border-radius:999px}.complectation-tabs .dropdown-trigger{border-radius:999px;padding:5px 12px}.complectation-tabs .btn-ghost.btn-sm{background:var(--surface-secondary);color:var(--text-secondary);font-size:12px}.complectation-tabs .btn-ghost.btn-sm:hover{background:var(--hover);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-strong)}.complectation-tabs .row-delete-btn{width:24px;height:24px}.feed-filters .feed-dropdown .dropdown-trigger{border-color:var(--border-strong);border-radius:999px;padding:7px 14px;font-size:13px}.gantt-row-status .gantt-status-note{resize:none;min-height:36px;color:var(--text-primary);background:var(--surface-secondary);border:1px solid var(--border);border-radius:12px;padding:8px 12px;line-height:1.35;transition:border-color .15s,background .15s;overflow:hidden}.gantt-row-status .gantt-status-note::placeholder{color:var(--text-tertiary)}.gantt-row-status .gantt-status-note:hover{border-color:var(--border-strong);background:var(--surface-secondary)}.gantt-row-status .gantt-status-note:focus{border-color:var(--text-primary);background:var(--surface);outline:none}.gantt-note-hint{min-height:14px;color:var(--text-tertiary);opacity:0;padding-left:12px;font-size:10px;transition:opacity .15s}.gantt-row-status:focus-within .gantt-note-hint{opacity:1}.gantt-note-hint.saved{opacity:1;color:var(--gantt-done)}.gantt-row-status .gantt-status-note{white-space:nowrap;background:var(--surface-secondary);border:1px solid #0000;border-radius:10px;height:30px;min-height:30px;max-height:30px;padding:6px 12px;font-size:12px;line-height:18px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000)}.gantt-row-status .gantt-status-note:hover{border-color:var(--border)}.gantt-row-status .gantt-status-note:focus{white-space:pre-wrap;border-color:var(--text-primary);background:var(--surface);max-height:120px;overflow-y:auto;-webkit-mask-image:none;mask-image:none}.gantt-row-status .gantt-note-hint{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;min-height:0;padding:0;position:absolute;bottom:1px;left:22px;right:12px;overflow:hidden}.gantt-row .gantt-row-label,.gantt-row .gantt-row-status{justify-content:flex-start;gap:4px;padding:8px 12px}.gantt-row-line{align-items:center;gap:var(--space-2);height:20px;display:flex}.gantt-row-line .gantt-row-name-btn{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-right:64px;font-size:12px;line-height:20px;overflow:hidden}.gantt-row-line .gantt-row-controls{flex:none;gap:6px;margin:0}.gantt-row-label .gantt-row-executor{text-overflow:ellipsis;white-space:nowrap;align-items:center;height:30px;font-size:12px;display:flex;overflow:hidden}.gantt-row-status .gantt-row-status-week{height:20px;padding-left:12px;font-size:12px;line-height:20px}.gantt-row-status .gantt-status-note{height:30px}.gantt-row-status .gantt-note-hint{text-align:right;font-size:11px;inset:8px 14px auto auto}.gantt-row-status .gantt-note-hint:empty{display:none}.gantt-row{min-height:62px}.gantt-row .gantt-row-label,.gantt-row .gantt-row-status{gap:2px;padding:6px 12px}.gantt-row-label .gantt-row-executor,.gantt-row-status .gantt-status-note{height:28px;min-height:28px;max-height:28px}.gantt-row-status .gantt-status-note:focus{max-height:120px}.gantt-row-label{position:sticky}.gantt-row-line .gantt-row-controls{background:linear-gradient(to right, transparent, var(--surface) 40%);align-items:center;height:20px;padding-left:18px;position:absolute;top:6px;right:10px}.gantt-row:hover .gantt-row-line .gantt-row-controls{background:linear-gradient(to right, transparent, var(--surface-secondary) 40%)}.gantt-row-line .gantt-row-controls:not(:hover):not(:focus-within){pointer-events:none}.gantt-row:hover .gantt-row-line .gantt-row-controls,.gantt-row-line .gantt-row-controls:focus-within{pointer-events:auto}.gantt-hidden{align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;display:flex}.gantt-hidden-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:600}.gantt-hidden-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.gantt-hidden-chip{align-items:center;gap:var(--space-2);background:var(--surface-secondary);border-radius:999px;padding:3px 4px 3px 12px;font-size:13px;display:inline-flex}.gantt-hidden-restore{font:inherit;cursor:pointer;background:var(--selected-bg);color:var(--selected-text);border:none;border-radius:999px;padding:3px 12px;font-size:12px;transition:transform .15s}.gantt-hidden-restore:hover{transform:scale(1.04)}.gantt-hidden{flex-wrap:nowrap;overflow:hidden}.gantt-hidden-title{white-space:nowrap;flex:none}.gantt-hidden-list{scrollbar-width:thin;flex-wrap:nowrap;flex:1;min-width:0;padding:2px 2px 4px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.gantt-hidden-chip{white-space:nowrap;flex:none}.notif-row .feed-time{align-self:flex-start;padding-top:2px}.notif-dot{margin-top:0}.dashboard-summary-label{white-space:nowrap;text-overflow:ellipsis;min-height:16px;line-height:16px;overflow:hidden}.dashboard-summary-dot{flex:none}.project-tile--overlay{min-height:260px;color:var(--card-header-text);border-color:#0000}.project-tile--overlay .project-tile-cover{height:auto;position:absolute;inset:0}.project-tile--overlay .project-tile-cover:after{background:linear-gradient(#0000001f 0%,#0000002e 45%,#0000009e 100%)}.project-tile--overlay>.project-tile-status{z-index:2;top:var(--space-3);left:var(--space-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--card-header-text);background:#00000052;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 8px;font-size:11px;display:inline-flex;position:absolute}.project-tile--overlay>.project-tile-actions{z-index:2}.project-tile-overlay-info{z-index:1;padding:var(--space-4);flex-direction:column;gap:4px;margin-top:auto;display:flex;position:relative}.project-tile--overlay .project-tile-name,.project-tile--overlay .dashboard-project-meta,.project-tile--overlay .project-tile-stage,.project-tile--overlay .project-tile-progress-label{color:var(--card-header-text)}.project-tile--overlay .project-tile-name{font-size:18px}.project-tile--overlay .dashboard-project-meta,.project-tile--overlay .project-tile-stage,.project-tile--overlay .project-tile-progress-label{opacity:.78}.project-tile--overlay .project-tile-chip{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--card-header-text);background:#ffffff29}.project-tile--overlay .project-tile-chip-attention{color:var(--card-header-text);background:#e9b02f47}.project-tile--overlay .project-tile-avatar{color:var(--text-primary);background:#ffffffe6}.project-tile--overlay .dashboard-project-progress{background:#ffffff47}.project-tile--overlay .dashboard-project-progress-bar{background:var(--card-header-text)}.project-tile-upload-error{z-index:3;left:var(--space-3);right:var(--space-3);color:var(--card-header-text);background:#0009;border-radius:10px;margin:0;padding:4px 10px;position:absolute;top:44px}.contractors{gap:var(--space-4);flex-direction:column;display:flex}.contractors-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.contractors-toolbar input.contractors-search{min-width:180px;padding-left:var(--space-4);border-radius:999px;flex:0 360px}.contractors-count{background:var(--surface-secondary);color:var(--text-secondary);border-radius:999px;padding:2px 10px;font-size:12px}.contractors-add{margin-left:auto}.contractor-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(270px,1fr));display:grid}.contractor-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.contractor-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 12px 26px #0000001a}.contractor-card:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.contractor-avatar{width:44px;height:44px;color:var(--card-header-text);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex}.contractor-main{flex-direction:column;gap:4px;min-width:0;display:flex}.contractor-title{font-size:15px;font-weight:700;line-height:1.3}.contractor-sub{color:var(--text-secondary);font-size:12px}.contractor-line{color:var(--text-secondary);align-items:center;gap:6px;min-width:0;font-size:12px;text-decoration:none;display:inline-flex}a.contractor-line:hover{color:var(--text-primary);text-decoration:underline}.contractor-line{align-items:flex-start;line-height:1.35}.contractor-line svg{flex:none;margin-top:2px}a.contractor-line[href^=tel\:]{color:var(--text-primary);-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;margin-left:-8px;padding:4px 10px 4px 8px}a.contractor-line[href^=tel\:]:active{background:var(--hover)}@media (pointer:coarse){a.contractor-line[href^=tel\:]{min-height:40px;font-size:14px}}.create-project-cover.is-movable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.create-project-cover.is-movable.is-dragging{cursor:grabbing}.create-project-cover-tools{z-index:2;top:var(--space-3);right:var(--space-3);gap:6px;display:flex;position:absolute}.create-project-cover-move,.create-project-cover-remove{width:28px;height:28px;color:var(--card-header-text);-webkit-backdrop-filter:blur(10px);pointer-events:none;background:#ffffff2e;border-radius:50%;place-items:center;display:grid}.create-project-cover-remove{cursor:pointer;pointer-events:auto;border:none;padding:0;transition:background .15s}.create-project-cover-remove:hover,.create-project-cover-remove:focus-visible{background:#00000073}.create-project-cover-hint{z-index:1;white-space:nowrap;color:var(--card-header-text);-webkit-backdrop-filter:blur(10px);pointer-events:none;opacity:0;background:#00000059;border-radius:999px;padding:6px 12px;font-size:12px;transition:opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.create-project-cover.is-movable:hover .create-project-cover-hint{opacity:1}.create-project-cover.is-dragging .create-project-cover-hint{opacity:0}@media (pointer:coarse){.create-project-cover-hint{display:none}}.dashboard-tab{height:auto}.dashboard-tab>.dashboard-projects,.dashboard-tab>.dashboard-attention{flex:none}.overview-hello h1{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:28px;font-weight:700;line-height:1.2}.overview-hello p{color:var(--text-secondary);margin:6px 0 0;font-size:15px}.overview-card{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border);background:var(--card-bg,var(--bg));border-radius:20px;flex-direction:column;display:flex}.overview-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.overview-card-head h3{white-space:nowrap;letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.overview-count,.overview-aside{color:var(--text-secondary);white-space:nowrap;font-size:12px}.overview-empty{padding:var(--space-4) 0;color:var(--text-secondary);font-size:13px}.overview-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.overview-link:hover{color:var(--text-primary)}.overview-week-body{align-items:center;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.overview-donut{width:132px;height:132px;position:relative}.overview-donut svg{display:block}.overview-donut circle{fill:none;stroke-width:11px}.overview-donut-value{stroke:var(--gantt-done,var(--text-primary));stroke-linecap:round}.overview-donut-label{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0 22px;display:flex;position:absolute;inset:0}.overview-donut-label strong{letter-spacing:-.02em;color:var(--text-primary);font-size:26px}.overview-donut-label span{color:var(--text-secondary);font-size:10px;line-height:1.3}.overview-bars{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;height:132px;display:grid}.overview-bar{height:100%;color:var(--text-secondary);flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;font-size:11px;display:flex}.overview-bar-col{background:var(--hover);border-radius:8px;flex-direction:column;width:100%;max-width:34px;min-height:6px;display:flex;overflow:hidden}.overview-bar.is-today .overview-bar-label{color:var(--text-primary);font-weight:700}.overview-bar-count{color:var(--text-primary);font-weight:600}.overview-week-legend{color:var(--text-secondary);flex-direction:column;gap:8px;margin:0;font-size:12px;display:flex}.overview-week-legend div{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.overview-week-legend dt{align-items:center;gap:6px;display:flex}.overview-week-legend dd{color:var(--text-primary);margin:0;font-weight:700}.overview-week-legend i{border-radius:50%;width:8px;height:8px}.overview-week-legend .dot-done{background:linear-gradient(180deg, var(--dash-accent-from), var(--dash-accent-to))}.overview-week-legend .dot-open{background:color-mix(in srgb, var(--dash-accent-from) 26%, var(--bg))}.overview-week-legend .is-total{border-top:1px solid var(--border);padding-top:8px}.overview-week-legend .is-total dd{font-size:22px}.overview-list{scrollbar-gutter:stable;overscroll-behavior:contain;flex-direction:column;max-height:216px;margin:0;padding:0 16px 0 0;list-style:none;display:flex;overflow-y:auto}.overview-list>li+li{border-top:1px solid var(--border)}.overview-row,.overview-task{align-items:center;gap:var(--space-3);width:100%;min-width:0;font:inherit;text-align:left;color:inherit;background:0 0;border:none;padding:10px 0;display:flex}.overview-row{cursor:pointer;border-radius:12px}.overview-row:hover .overview-row-title{text-decoration:underline}.overview-row-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.overview-row-title{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.35}.overview-row-sub{color:var(--text-secondary);font-size:12px;line-height:1.35}.overview-row-sub.is-author{color:var(--text-primary);font-weight:600}.overview-thumb,.overview-avatar{width:44px;height:44px;color:var(--card-header-text);border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid;overflow:hidden}.overview-avatar{border-radius:50%;width:36px;height:36px;font-size:14px}.overview-thumb img{object-fit:cover;width:100%;height:100%}.overview-pill{white-space:nowrap;background:var(--hover);color:var(--text-secondary);border-radius:999px;flex:none;padding:3px 10px;font-size:11px;font-weight:600}.overview-pill.kind-reply,.overview-pill.kind-payment{background:var(--warning-bg,var(--hover));color:var(--warning,var(--text-primary))}.overview-pill.kind-overdue{background:var(--danger-bg);color:var(--danger)}.overview-pill.kind-client{background:var(--hover)}.overview-pill.kind-internal{background:color-mix(in srgb, var(--status-yellow) 28%, transparent)}.overview-check{border:1.5px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:50%;flex:none;width:22px;height:22px;transition:background .15s,border-color .15s}.overview-check:hover,.overview-check:focus-visible{border-color:var(--gantt-done,var(--text-primary));background:color-mix(in srgb, var(--gantt-done,var(--text-primary)) 25%, transparent)}.overview-date{background:var(--hover);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:44px;height:44px;line-height:1.1;display:flex}.overview-date strong{color:var(--text-primary);font-size:16px}.overview-date span{color:var(--text-secondary);font-size:10px}.overview-updates-list{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.overview-updates-list li{min-width:0;color:var(--text-primary);flex-direction:column;gap:4px;font-size:13px;display:flex}.overview-update-time{color:var(--text-secondary);font-size:12px}@media (width<=767px){.overview-week-body{grid-template-columns:minmax(0,1fr);justify-items:center}.overview-bars,.overview-week-legend{width:100%}}.dash-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.dash-grid{gap:var(--space-4);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.dash-widget{flex-direction:column;min-width:0;display:flex;position:relative}.dash-widget>:not(.dash-widget-handle){flex:1;min-width:0}.dash-widget.span-2{grid-column:span 2}.dash-widget.span-4{grid-column:span 4}.dash-widget.span-6{grid-column:span 6}@media (width<=1100px){.dash-widget.span-2,.dash-widget.span-4{grid-column:span 6}}.dash-widget.is-dragging{z-index:5;opacity:.85;filter:drop-shadow(0 12px 24px #0000002e)}.dash-widget-handle{z-index:3;background:var(--hover);width:36px;height:16px;color:var(--text-secondary);cursor:grab;opacity:0;touch-action:none;border:none;border-radius:999px;place-items:center;padding:0;transition:opacity .15s;display:grid;position:absolute;top:4px;left:50%;transform:translate(-50%)}.dash-widget-handle svg{transform:rotate(90deg)}.dash-widget:hover .dash-widget-handle,.dash-widget-handle:focus-visible,.dash-widget.is-dragging .dash-widget-handle{opacity:1}@media (pointer:coarse){.dash-widget-handle{opacity:.7}}.dash-empty{padding:var(--space-6,32px);border:1px dashed var(--border-strong);text-align:center;color:var(--text-secondary);border-radius:20px;font-size:14px}.widget-filter{flex:none;position:relative}.widget-filter-btn[aria-expanded=true]{filter:brightness(1.08)}.widget-filter-count{color:var(--button-primary-text);opacity:.7;font-size:12px;font-weight:500}.widget-filter-panel{z-index:20;border:1px solid var(--border);background:var(--bg);border-radius:16px;flex-direction:column;gap:2px;min-width:240px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #0000001f}.widget-filter-item{color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.widget-filter-item:hover{background:var(--hover)}.widget-filter-reset{border:none;border-top:1px solid var(--border);text-align:left;color:var(--text-secondary);cursor:pointer;background:0 0;margin-top:4px;padding:8px 10px;font-size:13px}.widget-filter-reset:hover{color:var(--text-primary)}.my-projects-tab>.dashboard-projects{gap:var(--space-4);flex-direction:column;display:flex}.my-projects-tab>.dashboard-projects>.dashboard-projects-header{margin:0}.contractor-categories{gap:var(--space-5,28px);flex-direction:column;display:flex}.contractor-category-heading{margin:0 0 var(--space-3);letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.contractor-category-dot{background:var(--border-strong);border-radius:50%;width:9px;height:9px}.contractor-category-count{background:var(--hover);color:var(--text-secondary);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.contractor-category-dropdown .dropdown-trigger{min-width:220px}.project-map{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex;position:relative}.project-map-head{justify-content:space-between;align-items:center;display:flex}.project-map-head h3{margin:0;font-size:16px}.project-map-canvas-wrap{border-radius:var(--radius-md);width:100%;height:160px;transition:box-shadow .2s;position:relative;overflow:hidden}.project-map-canvas-wrap--expanded{z-index:1000;border-radius:var(--radius-lg);width:auto;height:auto;position:fixed;inset:5vh 5vw;box-shadow:0 24px 64px #00000059}.project-map-canvas{border-radius:inherit;background:var(--hover);width:100%;height:100%;overflow:hidden}.project-map-canvas .ymaps3--main-engine-container{filter:saturate(.45)brightness(1.02)}:root[data-theme=dark] .project-map-canvas .ymaps3--main-engine-container{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.9)saturate(.55)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .project-map-canvas .ymaps3--main-engine-container{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.9)saturate(.55)}}.project-map-backdrop{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;position:fixed;inset:0}.project-map-expand-hit{padding:var(--space-2);cursor:pointer;background:0 0;border:none;justify-content:flex-end;align-items:flex-end;transition:background .15s;display:flex;position:absolute;inset:0}.project-map-expand-hit:hover{background:#00000014}.project-map-expand-hint{color:var(--card-header-text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:#00000073;border-radius:999px;padding:4px 10px;font-size:11px;transition:opacity .15s}.project-map-expand-hit:hover .project-map-expand-hint{opacity:1}.project-map-collapse-btn{z-index:3;top:var(--space-3);right:var(--space-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:32px;height:32px;color:var(--card-header-text);cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex;position:absolute}.project-map-collapse-btn:hover{background:#000000a6}.map-pin{box-sizing:border-box;border:2px solid var(--surface);cursor:pointer;border-radius:50%;transition:transform .12s;position:relative;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000059}.map-pin-label{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);white-space:nowrap;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;position:absolute;top:50%;left:100%;transform:translateY(-50%);box-shadow:0 2px 6px #0000002e}.map-pin:hover{transform:translate(-50%,-50%)scale(1.15)}.map-pin--partner{width:20px;height:20px}.map-pin--project{background:var(--selected-bg);justify-content:center;align-items:center;width:30px;height:30px;display:flex}.map-pin--project:after{content:"";background:var(--selected-text);border-radius:50%;width:8px;height:8px}.map-pin--reposition{background:var(--danger);cursor:grab;width:26px;height:26px}.map-pin--reposition:active{cursor:grabbing}.project-map-empty,.project-map-error{padding:var(--space-4);border-radius:var(--radius-md);background:var(--hover);color:var(--text-secondary);font-size:13px}.project-map-error{color:var(--danger);background:var(--danger-bg)}.project-map-reposition-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);background:var(--info-bg,var(--hover));color:var(--text-primary);font-size:13px;display:flex}.project-map-reposition-actions{flex:none;gap:8px;display:flex}.project-map-card{z-index:2;right:var(--space-4);bottom:var(--space-4);width:240px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg);flex-direction:column;gap:6px;display:flex;position:absolute;box-shadow:0 12px 32px #0000002e}.project-map-card-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1;position:absolute;top:6px;right:8px}.project-map-card-close:hover{color:var(--text-primary)}.project-map-card-title{color:var(--text-primary);padding-right:20px;font-size:14px;font-weight:700}.project-map-card-sub{color:var(--text-secondary);font-size:12px}.project-map-card-line{color:var(--text-secondary);align-items:flex-start;gap:6px;font-size:12px;line-height:1.35;text-decoration:none;display:flex}a.project-map-card-line:hover{color:var(--text-primary);text-decoration:underline}.project-map-card-line svg{flex:none;margin-top:2px}.tour-backdrop{z-index:1200;padding:var(--space-4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000052;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tour-card{box-sizing:border-box;border-radius:var(--radius-lg);background:var(--surface-elevated);width:100%;max-width:380px;overflow:hidden;box-shadow:0 24px 64px #00000059}.tour-card-hero{padding:var(--space-5) var(--space-5) var(--space-4);color:var(--card-header-text);background:radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--gantt-on-plan) 70%, transparent), transparent 60%), radial-gradient(90% 70% at 100% 100%, color-mix(in srgb, var(--gantt-done) 45%, transparent), transparent 60%), linear-gradient(165deg, color-mix(in srgb, var(--gantt-on-plan) 45%, var(--card-header-bg)), var(--card-header-bg));position:relative}.tour-card-hero--plain{background:0 0}.tour-wordmark{width:auto;height:20px;margin-bottom:var(--space-4);display:block}.tour-card--brand{color:var(--card-header-text);background:radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--gantt-on-plan) 70%, transparent), transparent 60%), radial-gradient(90% 70% at 100% 100%, color-mix(in srgb, var(--gantt-done) 45%, transparent), transparent 60%), linear-gradient(165deg, color-mix(in srgb, var(--gantt-on-plan) 45%, var(--card-header-bg)), var(--card-header-bg))}.tour-card--brand .tour-card-title{color:var(--card-header-text)}.tour-card--brand .tour-card-body{color:#ffffffc7}.tour-card--brand .tour-dot{background:#ffffff4d}.tour-card--brand .tour-dot.done,.tour-card--brand .tour-dot.current{background:var(--tour-brand-on,#fff)}.tour-card--brand .tour-dot.current{box-shadow:0 0 0 3px #ffffff40}.tour-card--brand .tour-skip{color:#ffffffbf}.tour-card--brand .tour-skip:hover{color:var(--tour-brand-on,#fff)}.tour-card--brand .tour-next{background:var(--tour-brand-on,#fff);color:var(--card-header-bg,#202124)}.tour-icon-feature{width:fit-content;margin-bottom:var(--space-4);color:var(--card-header-text);filter:drop-shadow(0 6px 16px #00000059);display:block}.tour-card-title{letter-spacing:-.01em;color:var(--card-header-text);margin:0;font-size:20px;font-weight:700}.tour-card-body-wrap{padding:var(--space-4) var(--space-5) var(--space-5)}.tour-card-body{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.tour-dots{margin-top:var(--space-5);align-items:center;gap:6px;display:flex}.tour-dot{background:var(--border-strong);border-radius:50%;width:8px;height:8px}.tour-dot.done{background:var(--text-primary)}.tour-dot.current{background:var(--text-primary);box-shadow:0 0 0 3px var(--surface-secondary)}.tour-actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.tour-skip{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.tour-skip:hover{color:var(--text-primary);text-decoration:underline}.tour-next{border-radius:999px;margin-left:auto;padding:9px 20px}.project-map-card-distance{color:var(--text-primary);margin-top:2px;font-size:12px;font-weight:600}.archived-projects{flex-direction:column;height:100%;display:flex}.archived-projects-header{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.archived-projects-header h3{margin:0;font-size:16px}.archived-projects-empty{margin-top:var(--space-4);color:var(--text-secondary)}.archived-projects-grid{align-content:start;gap:var(--space-3);min-height:0;margin-top:var(--space-3);flex:1;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid;overflow-y:auto}.archived-project-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.archived-project-cover{background-position:50%;background-size:cover;height:90px}.archived-project-cover-img{object-fit:cover;width:100%;height:100%}.archived-project-body{gap:var(--space-1);padding:var(--space-3);flex-direction:column;display:flex}.archived-project-name{color:var(--text-primary);font-size:14px;font-weight:600}.archived-project-meta{color:var(--text-secondary);font-size:12px}.archived-project-restore{margin-top:var(--space-2);align-self:flex-start;padding:6px 14px;font-size:13px}.estimate-tab{gap:var(--space-4);flex-direction:column;max-width:820px;margin:0 auto;display:flex}.estimate-head{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.estimate-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);font-size:12px;font-weight:600}.estimate-head h1{letter-spacing:-.01em;color:var(--text-primary);margin:2px 0 0;font-size:22px;font-weight:700}.estimate-stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(120px,1fr));display:grid}.estimate-stat-tile{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-secondary)}.estimate-stat-label{color:var(--text-secondary);font-size:11px}.estimate-stat-value{letter-spacing:-.01em;color:var(--text-primary);margin-top:4px;font-size:20px;font-weight:700}.estimate-stat-tile.tone-success .estimate-stat-value{color:var(--gantt-done)}.estimate-stat-tile.tone-warning .estimate-stat-value{color:var(--warning)}.estimate-empty{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-secondary);flex-direction:column;font-size:14px;display:flex}.estimate-empty-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.estimate-bottom-actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.estimate-apply-template-btn{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.estimate-apply-template-btn:hover:not(:disabled){color:var(--text-primary)}.estimate-apply-template-btn:disabled{cursor:default;opacity:.6}@media (width<=480px){.estimate-stats{gap:var(--space-2);grid-template-columns:1fr 1fr}.estimate-stats .estimate-stat-tile:first-child{grid-column:1/-1}.estimate-stat-tile{padding:var(--space-3)}}.estimate-room{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.estimate-room-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.estimate-room-head h2{margin:0;font-size:16px}.estimate-room-head-right{align-items:center;gap:var(--space-3);display:flex}.estimate-room-total{color:var(--text-primary);font-size:14px;font-weight:700}.estimate-category{padding-top:var(--space-2);border-top:1px solid var(--divider)}.estimate-category:first-of-type{border-top:none;padding-top:0}.estimate-category-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.estimate-category-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:13px;font-weight:600}.estimate-category-total{color:var(--text-primary);margin-left:auto;font-size:13px;font-weight:600}.estimate-items{flex-direction:column;display:flex}.estimate-item-row{align-items:center;gap:var(--space-2);grid-template-columns:1fr 64px 76px 100px 100px 140px auto;padding:7px 0;display:grid}.estimate-item-row+.estimate-item-row{border-top:1px solid var(--divider)}.estimate-item-row input,.estimate-item-row select{border-radius:var(--radius-sm);width:100%;min-width:0;font:inherit;color:var(--text-primary);background:0 0;border:1px solid #0000;padding:5px 7px;font-size:13px}.estimate-item-row input:hover,.estimate-item-row select:hover,.estimate-item-row input:focus,.estimate-item-row select:focus{border-color:var(--border);background:var(--surface-secondary)}.estimate-item-total{color:var(--text-primary);text-align:right;font-size:13px;font-weight:600}.estimate-item-status{cursor:pointer;justify-self:start;padding:4px 8px;font-size:12px;font-weight:600}.estimate-item-status.status-not_bought{color:var(--text-secondary)}.estimate-item-status.status-ordered{color:var(--warning);background:var(--warning-bg);border-radius:var(--radius-sm)}.estimate-item-status.status-prepaid{color:var(--gantt-on-plan);background:var(--gantt-on-plan-bg);border-radius:var(--radius-sm)}.estimate-item-status.status-bought{color:var(--gantt-done);background:var(--gantt-done-bg);border-radius:var(--radius-sm)}.estimate-item-status.status-returned{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm)}.estimate-add-item-btn,.estimate-add-category-btn,.estimate-add-room-btn{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px;font-weight:600}.estimate-add-item-btn:hover,.estimate-add-category-btn:hover,.estimate-add-room-btn:hover{color:var(--text-primary)}.estimate-add-room-btn{padding:var(--space-3) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center}.estimate-item-form,.estimate-add-category-form,.estimate-add-room-form{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.estimate-item-form input,.estimate-item-form select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit;color:var(--text-primary);padding:6px 8px;font-size:13px}.estimate-item-form-name{flex:160px;min-width:120px}.estimate-item-form-qty{width:64px}.estimate-item-form-unit{width:76px}.estimate-item-form-price{width:100px}.estimate-item-form-actions{gap:var(--space-2);display:flex}.estimate-add-category-form input,.estimate-add-room-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:140px;font:inherit;color:var(--text-primary);flex:200px;padding:6px 10px;font-size:13px}@media (width<=767px){.estimate-item-row{padding:var(--space-3) 0;grid-template-columns:1fr;gap:6px}.estimate-item-total{text-align:left}.calendar-day-month{display:none}.team-toolbar input.team-search-input{flex:100%!important;width:auto!important}.complectation-tabs .client-now-card{flex-wrap:wrap}.complectation-tabs .client-now-card .drag-handle{display:none}.complectation-tabs .client-now-card>.group-card{flex:100%}.complectation-tabs .client-now-card .client-now-unflag{margin:0 0 0 auto}}@media (width<=600px){.settings-row--wrap{flex-wrap:wrap;row-gap:6px;padding:10px 0}.settings-row--wrap input,.settings-row--wrap textarea,.settings-row--wrap select{flex:100%}.settings-row--wrap input[type=date]{flex:38%}.settings-row--wrap .row-delete-btn{margin-left:auto}}.overview-week--compact .overview-week-body{gap:var(--space-3);grid-template-columns:auto minmax(0,1fr)}.overview-week--compact .overview-donut,.overview-week--compact .overview-donut svg{width:100px;height:100px}.overview-week--compact .overview-donut-label{padding:0}.overview-week--compact .overview-donut-label strong{font-size:20px}.overview-week--compact .overview-donut-label span{display:none}.overview-week--compact .overview-week-legend{gap:6px;font-size:12px}.access-entry-group{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.access-group-name{flex:1;min-width:0;font-weight:600}.mobile-nav{z-index:100;padding:0 var(--space-3) max(var(--space-3), env(safe-area-inset-bottom));pointer-events:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav>*{pointer-events:auto}.mobile-nav-bar{z-index:1;align-items:center;gap:var(--space-2);display:flex;position:relative}.mobile-nav-tabs{background:var(--surface-elevated,var(--surface));border:1px solid var(--border);border-radius:999px;flex:1;gap:2px;min-width:0;padding:4px;display:flex;box-shadow:0 8px 28px #0000002e}.mobile-nav-item{min-width:0;min-height:52px;font:inherit;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-size:11px;line-height:1.2;display:flex}.mobile-nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-nav-item.active{color:var(--text-primary);background:var(--hover);font-weight:600}.mobile-nav-more{width:60px;height:60px;color:var(--text-primary);background:var(--surface-elevated,var(--surface));border:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;box-shadow:0 8px 28px #0000002e}.mobile-nav-more.has-active:not(.open){background:var(--hover)}.mobile-nav-badge{min-width:18px;height:18px;color:var(--button-primary-text);background:var(--danger);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-2px;right:-2px}.mobile-nav-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;animation:.15s ease-out mobile-nav-fade;position:fixed;inset:0}.mobile-nav-sheet{margin-bottom:var(--space-2);padding:var(--space-3);background:var(--surface-elevated,var(--surface));border:1px solid var(--border);border-radius:28px;max-height:calc(100vh - 160px);animation:.18s ease-out mobile-nav-rise;position:relative;overflow-y:auto;box-shadow:0 16px 48px #0000004d}.mobile-nav-grid,.mobile-nav-sheet-footer{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mobile-nav-sheet-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.mobile-nav-tile{font:inherit;text-align:center;color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;font-size:12px;line-height:1.2;display:flex}.mobile-nav-tile-icon{background:var(--surface-secondary);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;position:relative}.mobile-nav-tile.active .mobile-nav-tile-icon{background:var(--text-primary);color:var(--surface)}.mobile-nav-tile--theme .theme-toggle{background:0 0;border:none;border-radius:50%;width:100%;height:100%}@keyframes mobile-nav-fade{0%{opacity:0}to{opacity:1}}@keyframes mobile-nav-rise{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@media (pointer:coarse){html,body{touch-action:pan-x pan-y;overscroll-behavior-x:none}}.team-member-avatar{overflow:hidden}.team-member-avatar img{object-fit:cover;width:100%;height:100%;display:block}.quick-task{z-index:110;align-items:flex-end;display:flex;position:fixed;inset:0}.quick-task-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;animation:.15s ease-out mobile-nav-fade;position:absolute;inset:0}.quick-task-sheet{width:100%;max-height:85vh;padding:var(--space-4) var(--space-3) max(var(--space-4), env(safe-area-inset-bottom));background:var(--surface-elevated,var(--surface));border-radius:28px 28px 0 0;animation:.18s ease-out mobile-nav-rise;position:relative;overflow-y:auto;box-shadow:0 -16px 48px #0000004d}.quick-task-title{margin:0 0 var(--space-3);font-size:18px}.quick-task-error{color:var(--danger)}.quick-task-done{padding:var(--space-4) 0;text-align:center;color:var(--gantt-done,var(--text-primary));font-weight:600}.quick-task-sheet .team-task-composer,.quick-task-sheet .team-task-composer input,.quick-task-sheet .team-task-composer select{font-size:16px}.mobile-nav-item:active{transform:scale(.92)}.mobile-nav-item,.mobile-nav-more{transition:transform .12s,background .15s}.mobile-nav-more:active{transform:scale(.92)}@media (width<=767px){.team-board-filter-panel,.project-switcher-panel,.project-dropdown,.header-user-menu,.project-more-menu,.widget-filter-panel{top:auto;right:var(--space-3);left:var(--space-3);bottom:calc(96px + env(safe-area-inset-bottom));z-index:120;border-radius:20px;width:auto;min-width:0;max-width:none;max-height:min(60vh,100vh - 160px);margin:0;position:fixed;overflow-y:auto;box-shadow:0 16px 48px #0000004d}}@media (width<=600px){.settings-row--roster{border-bottom:1px solid var(--border);flex-wrap:wrap;row-gap:6px;padding:10px 0}.settings-row--roster>input{flex:100%}.settings-row--roster .roster-hidden-toggle{margin-right:auto}}.team-member-reorder{top:var(--space-2);right:var(--space-2);z-index:2;gap:4px;display:flex;position:absolute}.team-member-reorder button{width:30px;height:30px;color:var(--card-header-text);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff29;border:1px solid #ffffff3d;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.team-member-reorder button:disabled{opacity:.3;cursor:default}.team-member-reorder button:not(:disabled):active{transform:scale(.9)}@media (width<=767px){html:has(.workspace){background:var(--surface)}html:has(.workspace) body{background:var(--surface)}.my-projects-tab>.dashboard-projects>.dashboard-projects-header{padding-top:var(--space-4)}}.mobile-nav-item--action svg{box-sizing:content-box;width:16px;height:16px;color:var(--surface);background:var(--text-primary);border-radius:50%;padding:4px}.mobile-nav-item--action{color:var(--text-primary);font-weight:600}@media (width<=767px){.project-hero .project-top-actions{row-gap:var(--space-2);flex-wrap:wrap;flex-shrink:1;min-width:0;max-width:100%}}@media (hover:none){.project-tile:hover{box-shadow:none;border-color:var(--border);transform:none}.project-tile:hover .project-tile-cover-img,.dash-board-card:hover .dash-board-card-cover img,.dash-board-card:hover,.dash-board-card:hover .dash-board-card-letter,.compl-tile:hover{transform:none}.project-tile-actions{display:none}}.overview-card{padding-top:calc(var(--space-4) + 4px);position:relative;overflow:hidden}.overview-card:before{content:"";background:linear-gradient(90deg, var(--dash-accent-from), var(--dash-accent-to));height:4px;position:absolute;top:0;left:0;right:0}.overview-donut-track{stroke:color-mix(in srgb, var(--dash-accent-from) 16%, var(--bg))}.overview-bar-open{background:color-mix(in srgb, var(--dash-accent-from) 26%, var(--bg))}.overview-bar-done{background:linear-gradient(180deg, var(--dash-accent-from), var(--dash-accent-to))}.dashboard-summary-card .dashboard-summary{gap:var(--space-3) 0;grid-template-columns:repeat(3,minmax(0,1fr))}@media (width>=1200px){.dashboard-summary-card .dashboard-summary{grid-template-columns:repeat(6,minmax(0,1fr))}}.dashboard-summary-card .dashboard-summary-tile{padding:var(--space-1) var(--space-4);border-left:1px solid var(--divider);background:0 0;border-radius:0}.dashboard-summary-card .dashboard-summary-tile:nth-child(3n+1){border-left:none;padding-left:0}@media (width>=1200px){.dashboard-summary-card .dashboard-summary-tile:nth-child(3n+1){padding-left:var(--space-4);border-left:1px solid var(--divider)}.dashboard-summary-card .dashboard-summary-tile:first-child{border-left:none;padding-left:0}}.dashboard-summary-card .dashboard-summary-tile.tone-danger{background:0 0}@media (width<=600px){.dashboard-summary-card .dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary-card .dashboard-summary-tile:nth-child(n){padding-left:var(--space-4);border-left:1px solid var(--divider)}.dashboard-summary-card .dashboard-summary-tile:nth-child(odd){border-left:none;padding-left:0}}.has-photo{padding:0;overflow:hidden}.has-photo img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.overview-pill.kind-due{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.team-task-author{flex:none;align-items:center;display:inline-flex;position:relative}.team-task-author-avatar{background:var(--surface-secondary);width:18px;height:18px;color:var(--text-secondary);opacity:.85;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.overview-task{gap:var(--space-2);padding:8px 0}.overview-task .team-task-author{margin-left:auto}.team-task-check:disabled{opacity:.35;cursor:default}.overview-bars-wrap{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.overview-bars-note{color:var(--text-tertiary);margin:0;font-size:11px;line-height:1.3}.task-line{align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.task-body{flex:1;min-width:0}.task-text{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.3}.task-meta{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:5px;display:flex}.task-project{color:var(--text-tertiary);font-size:12px}.task-date-pill{background:color-mix(in srgb, var(--text-primary) 8%, transparent);color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:500;display:inline-block}.task-date-pill.is-overdue{background:var(--danger-bg);color:var(--danger);font-weight:600}.task-check{appearance:none;border:1.5px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:50%;flex:none;width:22px;height:22px;margin:0;padding:0;transition:background .15s,border-color .15s;position:relative}.task-check:not(:disabled):hover{border-color:var(--gantt-done)}.task-check:checked,.task-check.is-done{background:var(--gantt-done);border-color:var(--gantt-done)}.task-check:checked:after,.task-check.is-done:after{content:"";border-style:solid;border-color:var(--surface);border-width:0 2px 2px 0;width:6px;height:11px;position:absolute;top:2.5px;left:6px;transform:rotate(45deg)}.task-line.is-done .task-text{color:var(--text-tertiary);text-decoration:line-through}.task-check:disabled:not(:checked):not(.is-done){opacity:.35;cursor:default}.overview-week-note,.overview-note{color:var(--text-tertiary);margin:0;font-size:11px;line-height:1.35}.task-author-from{color:var(--text-tertiary);margin-right:4px;font-size:11px;line-height:1}.profile-modal-device-info{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-modal-device-status{color:var(--text-tertiary);font-size:12px}.profile-modal-device-status.is-online{color:var(--gantt-done)}.profile-modal-device+.profile-modal-device{margin-top:var(--space-2)}.overview-bar-open,.overview-bar-done{justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:1;display:flex}.overview-bar-open{color:color-mix(in srgb, var(--dash-accent-from) 85%, var(--text-primary))}.overview-bar-done{color:#fff}.loading-block{padding:var(--space-4,16px) 0;opacity:0;gap:12px;animation:.3s .35s forwards loading-block-in;display:grid}.loading-block span{background:var(--hover);border-radius:14px;height:56px}.loading-block span:nth-child(2){opacity:.7}.loading-block span:nth-child(3){opacity:.45}@keyframes loading-block-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-block{animation-duration:.01ms}}.plan-stage.is-current>.plan-stage-row{background:color-mix(in srgb, var(--dash-accent-from) 9%, var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--dash-accent-from) 35%, transparent);padding-left:var(--space-2);padding-right:var(--space-2)}.plan-stage.is-gap>.plan-stage-row{background:color-mix(in srgb, var(--warning) 9%, var(--surface));padding-left:var(--space-2);padding-right:var(--space-2)}.plan-stage.is-next .plan-stage-title,.plan-stage.is-next .plan-stage-count{color:var(--text-tertiary)}.plan-stage-note{color:var(--text-secondary);background:var(--surface-secondary);border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.plan-stage.is-current .plan-stage-note{color:var(--dash-accent-from);background:color-mix(in srgb, var(--dash-accent-from) 14%, transparent)}.plan-stage.is-gap .plan-stage-note{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, transparent)}.plan-stage-list{flex-direction:column;gap:6px;display:flex}.plan-stage,.plan-stage:first-child{border-top:none}.plan-stage>.plan-stage-row,.plan-stage>.plan-stage-row:hover{border-radius:var(--radius-sm);padding:10px 12px}.plan-stage.is-gap>.plan-stage-row,.plan-stage.is-current>.plan-stage-row{padding:10px 12px}.plan-stage-body{padding:var(--space-2) 12px var(--space-3)}.plan-stage-bar{background:0 0;gap:3px;height:6px;display:flex;overflow:visible}.plan-stage-seg{background:color-mix(in srgb, var(--text-primary) 12%, transparent);border-radius:999px;flex:1;min-width:4px;max-width:28px;transition:background .25s}.plan-stage-seg.on{background:linear-gradient(90deg, var(--dash-accent-from), var(--dash-accent-to))}.plan-stage-seg.is-empty{border:1px dashed color-mix(in srgb, var(--text-primary) 25%, transparent);background:0 0;max-width:28px}.project-status-filter{margin:0 0 var(--space-4);flex-wrap:wrap;gap:8px;display:flex}.project-status-filter button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.project-status-filter button span{color:var(--text-tertiary);font-size:12px}.project-status-filter button.active{background:var(--selected-bg);border-color:var(--selected-bg);color:var(--selected-text)}.project-status-filter button.active span{color:var(--selected-text);opacity:.7}.project-date-note{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-primary);font:inherit;margin-top:6px;padding:6px 10px;font-size:13px}.project-date-note::placeholder{color:var(--text-tertiary)}
