@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(./nunito-sans-latin-D33Im7Cz.woff2) format("woff2")}*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f6f7fb;--hover: #f0f1f8;--active: #ececff;--border: #e6e9ef;--border-soft: #f0f1f6;--input-border: #c9cdd8;--input-bg: #ffffff;--text: #323338;--text-soft: #676879;--text-faint: #9699a6;--primary: #6161ff;--primary-dark: #4b4bdc;--danger: #e2445c;--warn: #d98211;--focus-ring: #c7c7ff;--radius: 10px;--shadow: 0 4px 14px rgba(29, 31, 60, .06);--sidebar-w: 248px}[data-theme=dark]{--bg: #15161c;--surface: #1e2027;--surface-2: #262832;--hover: #2a2c37;--active: #2d2d52;--border: #33353f;--border-soft: #2a2c34;--input-border: #454754;--input-bg: #262832;--text: #e7e8ee;--text-soft: #a4a7b5;--text-faint: #7c7f8e;--primary: #7b7bff;--primary-dark: #6a6ae8;--danger: #ef5e75;--warn: #fdab3d;--focus-ring: #4646a8;--shadow: 0 4px 14px rgba(0, 0, 0, .35)}body{font-family:Nunito Sans,Segoe UI,Roboto,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px}button{font:inherit;cursor:pointer}input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}input[type=date],input[type=month]{color-scheme:light}[data-theme=dark] input,[data-theme=dark] select{color-scheme:dark}.boot-message{padding:80px;text-align:center;color:var(--text-soft)}.boot-message h2{color:var(--text);margin-bottom:12px}.boot-message p{margin:6px 0 16px}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);padding:14px 12px;display:flex;flex-direction:column;gap:12px;position:sticky;top:0;height:100vh;overflow:hidden;z-index:10}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:16px;margin:0 -4px;padding:0 4px}*{scrollbar-width:thin;scrollbar-color:var(--input-border) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--input-border);border-radius:8px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}.sidebar-scroll::-webkit-scrollbar{width:5px}.sidebar-scroll{scrollbar-color:transparent transparent}.sidebar-scroll:hover{scrollbar-color:var(--input-border) transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:transparent}.sidebar-scroll:hover::-webkit-scrollbar-thumb{background:var(--input-border);background-clip:content-box}.main{flex:1;min-width:0}.page{padding:28px 34px 60px;max-width:none}.page.narrow{max-width:620px}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px}.brand-badge{width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,var(--primary),#9a5cff);color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-img{width:38px;height:38px;border-radius:9px;object-fit:contain;flex-shrink:0}.brand-name{font-weight:700;font-size:15px;line-height:1.2;word-break:break-word}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--text-soft);font-weight:500}.nav a:hover{background:var(--hover);color:var(--text)}.nav a.active{background:var(--active);color:var(--primary);font-weight:600}.nav-icon{width:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.side-projects{border-top:1px solid var(--border);padding-top:14px}.side-projects-title{font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--text-faint);text-transform:uppercase;padding:0 12px 8px}.side-empty{color:var(--text-faint);font-size:13px;padding:4px 12px}.side-project{display:flex;align-items:center;gap:9px;padding:7px 12px;border-radius:8px;color:var(--text-soft)}.side-project:hover{background:var(--hover)}.side-project.active{background:var(--active);color:var(--text);font-weight:600}.side-project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-project-row{position:relative}.side-project-row .side-project{padding-right:32px}.side-pin{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity .12s,color .12s,background .12s}.side-project-row:hover .side-pin,.side-pin:focus-visible{opacity:1}.side-pin:hover{background:var(--active);color:var(--text)}.side-pin.on{opacity:1;color:var(--primary)}.side-project-row.after-pins{margin-top:7px;padding-top:7px;border-top:1px solid var(--border-soft)}.sidebar-foot{border-top:1px solid var(--border);padding-top:12px;flex-shrink:0}.theme-picker{display:flex;gap:10px;flex-wrap:wrap;width:100%}.theme-option{flex:1;min-width:130px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1.5px solid var(--border);background:var(--surface);border-radius:10px;padding:12px 14px;color:var(--text);text-align:left}.theme-option:hover{border-color:var(--input-border);background:var(--hover)}.theme-option.active{border-color:var(--primary);background:var(--active)}.theme-option-icon{font-size:18px}.theme-option small{color:var(--text-faint);font-size:11.5px;font-weight:400}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.dot.big{width:14px;height:14px;margin-right:4px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head h1{font-size:24px;display:flex;align-items:center;gap:10px}.page-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-sub{color:var(--text-soft);margin:-14px 0 20px}.muted{color:var(--text-soft)}.muted-role{color:var(--text-soft);font-size:16px;font-weight:400}.spacer{flex:1}.progress-chip{display:flex;align-items:center;gap:8px}.progress-chip .progress{width:90px}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 14px;font-weight:600;font-size:13.5px;transition:background .12s,border-color .12s}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed}.btn:disabled:hover,.btn[disabled]:hover{background:var(--surface)}.btn.primary:disabled:hover{background:var(--primary)}.btn:hover:not(:disabled){background:var(--hover)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-soft)}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.danger-ghost{border-color:transparent;background:transparent;color:var(--danger)}.btn.danger-ghost:hover{background:#e2445c1f}.btn.small{padding:5px 10px;font-size:12.5px}.btn.tiny{padding:2px 8px;font-size:12px}.icon-btn{border:none;background:transparent;color:var(--text-faint);border-radius:6px;padding:4px 7px;font-size:13px}.icon-btn:hover{background:var(--hover);color:var(--danger)}.icon-btn.small{font-size:11px;padding:3px 6px}.badge{color:#fff;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-head h2{font-size:16px}.empty{color:var(--text-faint);padding:10px 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.stat-value{font-size:26px;font-weight:700}.stat-label{color:var(--text-soft);font-size:12.5px;margin-top:4px}.dash-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}@media(max-width:1000px){.dash-columns{grid-template-columns:1fr}}.dash-project{display:flex;align-items:center;gap:10px;padding:9px 4px;border-radius:8px}.dash-project:hover{background:var(--surface-2)}.dash-project-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-project-hours{color:var(--text-soft);font-size:12.5px;white-space:nowrap}.dash-project .progress{width:110px;flex-shrink:0}.dash-project-pct{color:var(--text-soft);font-size:12.5px;width:44px;text-align:right}.progress{height:7px;background:var(--hover);border-radius:4px;overflow:hidden;flex-shrink:0}.progress-fill{height:100%;border-radius:4px;transition:width .25s}.progress-line{display:flex;align-items:center;gap:10px}.progress-line .progress{flex:1}.progress-pct{font-size:12.5px}.dash-log{display:flex;align-items:center;gap:12px;padding:8px 4px;border-bottom:1px solid var(--border-soft)}.dash-log:last-child{border-bottom:none}.dash-log-date{color:var(--text-soft);font-size:12.5px;width:84px;flex-shrink:0}.dash-log-who{font-weight:600;width:130px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-log-proj{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft)}.dash-log-proj.link:hover{color:var(--primary)}.dash-log-hours{font-weight:700}.empty-state{background:var(--surface);border:1px dashed var(--input-border);border-radius:var(--radius);padding:48px;text-align:center}.empty-state h3{margin-bottom:8px}.empty-state p{color:var(--text-soft);margin-bottom:18px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.project-card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:12px}.project-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-card-name{font-size:16.5px;font-weight:700}.project-card-name:hover{color:var(--primary)}.project-card-desc{color:var(--text-soft);font-size:13px}.project-card-stats{display:flex;justify-content:space-between;color:var(--text-soft);font-size:12.5px}.project-card-actions{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid var(--border-soft);padding-top:12px;width:100%;min-width:0}.resource-card .project-card-actions{justify-content:center;margin-top:auto}.resource-card .project-card-actions .btn{flex:0 1 auto;min-width:0;white-space:nowrap;padding:6px 10px}.next-milestone{font-size:12.5px;font-weight:600;color:var(--text-soft);background:var(--surface-2);border-radius:8px;padding:7px 10px}.next-milestone.overdue{color:var(--danger);background:#e2445c1a}.color-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.color-swatch{width:26px;height:26px;border-radius:7px;border:2px solid transparent}.color-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--surface) inset}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f11238c;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px 20px;z-index:50}.modal{background:var(--surface);border-radius:12px;width:440px;max-width:100%;box-shadow:0 18px 50px #0000004d;max-height:calc(100vh - 70px);display:flex;flex-direction:column}.modal form,.modal .modal-inner{display:flex;flex-direction:column;min-height:0;flex:1}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0;flex-shrink:0}.modal-head h3{font-size:17px}.modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;min-height:0}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 18px;flex-shrink:0;border-top:1px solid var(--border-soft)}.field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.field>span{font-size:12.5px;font-weight:600;color:var(--text-soft)}.field input,.field select{border:1px solid var(--input-border);border-radius:8px;padding:8px 10px;background:var(--input-bg);width:100%;min-width:0;max-width:100%}.field input:focus,.field select:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.field-row{display:flex;gap:12px}.field-row .field{min-width:0}.form-hint{color:var(--text-faint);font-size:12px}.form-hint.warn{color:#b57700;background:#fdab3d26;padding:8px 10px;border-radius:8px}.pinned-task{background:var(--surface-2);border-radius:8px;padding:8px 10px;font-weight:600}.pw-wrap{position:relative;width:100%}.pw-wrap input{width:100%;border:1px solid var(--input-border);border-radius:8px;padding:8px 40px 8px 10px;background:var(--input-bg)}.pw-wrap input:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-faint);padding:5px;border-radius:6px;display:inline-flex;align-items:center}.pw-eye:hover{color:var(--text);background:var(--hover)}.confirm-overlay{align-items:center;padding:20px;z-index:120}.confirm-box{background:var(--surface);border-radius:14px;width:380px;max-width:100%;box-shadow:0 18px 50px #0000004d;padding:24px;text-align:center;animation:confirm-in .14s ease-out}@keyframes confirm-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.confirm-icon{font-size:30px;margin-bottom:8px}.confirm-box h3{font-size:16.5px;margin-bottom:6px}.confirm-msg{color:var(--text-soft);font-size:13.5px;line-height:1.5;word-break:break-word;white-space:pre-line;text-align:center}.confirm-msg.multiline{text-align:left}.confirm-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-solid:hover{background:#c93750}.duration-wrap{position:relative;width:100%}.duration-wrap input{width:100%;border:1px solid var(--input-border);border-radius:8px;padding:8px 76px 8px 10px;background:var(--input-bg)}.duration-wrap input:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.duration-wrap input.duration-invalid{border-color:var(--danger)}.duration-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11.5px;font-weight:700;color:var(--text-faint);pointer-events:none;font-variant-numeric:tabular-nums}.duration-hint.bad{color:var(--danger)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#323338;color:#fff;font-weight:600;padding:11px 22px;border-radius:10px;box-shadow:0 8px 24px #00000040;z-index:100;animation:toast-in .18s ease-out}.toast.error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.tabs{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{border:none;background:transparent;padding:9px 16px;font-weight:600;color:var(--text-soft);border-bottom:2.5px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.sprint-filter{margin-left:auto;border:1px solid var(--input-border);border-radius:8px;padding:6px 10px;background:var(--input-bg);margin-bottom:6px}.tab-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--danger);color:#fff;font-size:10.5px;font-weight:800;min-width:17px;height:17px;border-radius:9px;padding:0 5px;margin-left:6px}.tab-toolbar{margin-bottom:16px}.task-group{margin-bottom:26px}.task-group-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-bottom:8px}.group-count{color:var(--text-faint);font-weight:500;font-size:13px}.task-table-head,.task-row{display:grid;grid-template-columns:52px minmax(200px,1fr) 120px 126px 126px 106px 62px 128px 30px;gap:7px;align-items:center}.task-table-head{padding:4px 10px;font-size:11.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}.task-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px;margin-bottom:6px}.task-row:hover{box-shadow:var(--shadow)}.expander{border:none;background:transparent;color:var(--text-faint);display:flex;align-items:center;gap:3px;border-radius:6px;padding:4px;font-size:12px}.expander:hover{background:var(--hover);color:var(--text)}.expander.open{color:var(--primary)}.expander svg{transition:transform .15s;flex-shrink:0}.expander.open svg{transform:rotate(90deg)}.sub-count{font-size:11px;font-weight:700}.inline-edit{border:1px solid transparent;background:transparent;border-radius:6px;padding:5px 7px;width:100%;font-weight:600}.inline-edit:hover{border-color:var(--input-border)}.inline-edit:focus{outline:none;border-color:var(--primary);background:var(--input-bg)}.cell-select,.cell-date{border:1px solid transparent;background:transparent;border-radius:6px;padding:5px 4px;width:100%;color:var(--text-soft);font-size:13px}.cell-select:hover,.cell-date:hover{border-color:var(--input-border);background:var(--input-bg)}.cell-select:focus,.cell-date:focus{outline:none;border-color:var(--primary);background:var(--input-bg)}.pill-select{border:none;border-radius:6px;padding:6px;font-weight:600;font-size:12.5px;width:100%;text-align:center;-moz-appearance:none;appearance:none;-webkit-appearance:none;text-align-last:center}.pill-select option{background:var(--surface);color:var(--text)}.cell-hours{border:none;background:var(--surface-2);border-radius:6px;padding:6px 4px;font-size:12px;font-weight:600;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-hours:hover{background:var(--active);color:var(--primary)}.task-add input,.subtask-add input{width:100%;border:1px dashed var(--input-border);background:transparent;border-radius:8px;padding:8px 12px;color:var(--text)}.task-add input:focus,.subtask-add input:focus{outline:none;border-color:var(--primary);background:var(--input-bg);border-style:solid}.subtask-box{margin:-2px 0 8px 40px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.subtask-row{display:flex;align-items:center;gap:10px;padding:4px 0}.subtask-row input[type=checkbox]{width:16px;height:16px;accent-color:#00c875;flex-shrink:0}.subtask-row .inline-edit{font-weight:500}.subtask-hours{font-size:12px;color:var(--text-soft);white-space:nowrap}.subtask-add{margin-top:6px}.due-step{display:flex;align-items:center;gap:10px;padding:2px 0;flex-wrap:wrap}.due-step .subtask-row{flex:1 1 340px;padding:0}.due-step-parent{background:none;border:0;padding:0;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-faint);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-step-parent:hover{color:var(--primary);text-decoration:underline}.milestone-add{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.milestone-add input{border:1px solid var(--input-border);border-radius:8px;padding:8px 12px;background:var(--input-bg)}.milestone-add input:first-child{flex:1;min-width:220px}.milestone-add input:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.milestone-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:6px}.milestone-row input[type=checkbox]{width:16px;height:16px;accent-color:#00c875;flex-shrink:0}.milestone-flag{font-size:15px;flex-shrink:0}.milestone-date{max-width:150px}.milestone-date.overdue{color:var(--danger);font-weight:700}.overdue-tag{background:#e2445c1f;color:var(--danger);font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}.sprint-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:14px}.sprint-card-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.sprint-dates{color:var(--text-soft);font-size:13px}.sprint-card-stats{display:flex;justify-content:space-between;color:var(--text-soft);font-size:12.5px;margin-top:10px}.archived-sprints{margin-top:20px}.archived-sprints>.btn{margin-bottom:10px}.sprint-card.archived{opacity:.72;padding:10px 18px}.sprint-card.archived .sprint-card-top{margin-bottom:0}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.resource-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.avatar{width:52px;height:52px;border-radius:50%;color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}.avatar.inline{width:34px;height:34px;font-size:13px}.resource-name{font-size:16px;font-weight:700}.resource-name:hover{color:var(--primary)}.resource-role{color:var(--text-soft);font-size:13px}.resource-stats{display:flex;gap:22px;margin:4px 0}.resource-stats div{display:flex;flex-direction:column}.resource-stats span{color:var(--text-faint);font-size:11.5px}.week-chart{position:relative;display:flex;gap:6px;align-items:flex-end;width:100%;max-width:200px;margin:6px 0 2px;padding:0 2px}.week-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.week-track{height:56px;width:100%;display:flex;align-items:flex-end;justify-content:center;background:var(--surface-2);border-radius:5px}.week-bar{width:100%;min-height:0;border-radius:4px 4px 0 0;transition:height .25s}.week-label{font-size:10px;color:var(--text-faint);font-weight:600}.week-capacity{position:absolute;left:0;right:0;height:0;border-top:2px dashed var(--text-faint);opacity:.55;margin-bottom:18px;pointer-events:none}.util-badge{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px}.util-badge.ok{background:#00c87526;color:#00915a}.util-badge.busy{background:#fdab3d2e;color:#b57700}.util-badge.over{background:#e2445c26;color:var(--danger)}[data-theme=dark] .util-badge.ok{color:#35d99a}[data-theme=dark] .util-badge.busy{color:#ffc16b}.filter-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 18px;margin-bottom:18px}.filter-bar label{display:flex;align-items:center;gap:8px;color:var(--text-soft);font-weight:600;font-size:13px}.filter-bar input,.filter-bar select{border:1px solid var(--input-border);border-radius:8px;padding:6px 10px;background:var(--input-bg)}.filter-total{color:var(--text-soft)}.filter-total strong{color:var(--text)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);padding:8px 10px;border-bottom:1px solid var(--border)}.table td{padding:9px 10px;border-bottom:1px solid var(--border-soft)}.table tr:last-child td{border-bottom:none}.table .num{text-align:right}.log-task{color:var(--text-faint)}.log-note{color:var(--text-faint);font-style:italic}.log-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-soft)}.log-row:last-child{border-bottom:none}.log-date{color:var(--text-soft);font-size:12.5px;width:84px;flex-shrink:0}.log-detail{flex:1;min-width:0}.log-hours{font-weight:700;white-space:nowrap}.settings-card{margin-bottom:18px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.settings-card h2{font-size:16px}.settings-card .field{width:100%}.logo-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:16px}.logo-preview img{max-height:90px;max-width:260px;display:block}.logo-actions{display:flex;gap:10px}.collapse-btn{position:fixed;top:50%;left:calc(var(--sidebar-w) - 13px);transform:translateY(-50%);width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-faint);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001f;cursor:pointer;padding:0}.collapse-btn:hover{background:var(--hover);color:var(--text);border-color:var(--primary)}.collapse-btn svg{transform:rotate(180deg);transition:transform .18s ease}.sidebar.collapsed .collapse-btn svg{transform:none}.sidebar.collapsed .collapse-btn{left:61px}.sidebar.collapsed{width:74px;min-width:74px;padding:18px 10px}.sidebar.collapsed .brand{flex-direction:column;gap:8px;padding:0}.sidebar.collapsed .nav a{justify-content:center;padding:10px 0}.sidebar.collapsed .nav-icon{width:auto}.sidebar.collapsed .side-project{justify-content:center;padding:9px 0}.play-btn{border:none;background:var(--surface-2);color:#00915a;border-radius:6px;width:26px;height:26px;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.play-btn:hover{background:#00c8752e}.play-btn.small{width:22px;height:22px;font-size:9px}[data-theme=dark] .play-btn{color:#35d99a}.cell-time{display:flex;align-items:center;gap:5px;min-width:0}.cell-time .cell-hours{flex:1;min-width:0}.floating-timer{position:fixed;bottom:22px;right:22px;z-index:90;display:flex;align-items:center;gap:14px;background:#23243a;color:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 10px 32px #00000059}.timer-pulse{width:10px;height:10px;border-radius:50%;background:#00c875;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.timer-info{display:flex;flex-direction:column;line-height:1.25}.timer-info strong{font-size:17px;font-variant-numeric:tabular-nums}.timer-target{font-size:12px;color:#aeb0c5;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-stop{background:var(--danger);border-color:var(--danger);color:#fff}.timer-stop:hover{background:#c93750}.timeline-card{margin-bottom:18px;overflow-x:auto}.timeline{position:relative;min-width:520px;padding:26px 0 6px}.timeline-tick{position:absolute;top:22px;bottom:0;width:0;border-left:1px solid var(--border)}.timeline-tick-label{position:absolute;top:-20px;left:-2px;transform:translate(-50%);font-size:10.5px;color:var(--text-faint);font-weight:700;white-space:nowrap}.timeline-today{position:absolute;top:2px;bottom:0;width:0;border-left:2px dashed var(--danger);z-index:2}.timeline-today-label{position:absolute;top:-2px;left:4px;font-size:10px;font-weight:800;color:var(--danger);white-space:nowrap}.timeline-row{position:relative;height:34px;margin:6px 0}.timeline-bar{position:absolute;top:3px;height:28px;border-radius:7px;display:flex;align-items:center;padding:0 10px;color:#fff;overflow:hidden;min-width:24px}.timeline-bar-label{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-end-label{position:absolute;top:50%;transform:translateY(-50%);font-size:11px;font-weight:700;color:var(--text-soft);white-space:nowrap}.timeline-end-label.urgent{color:var(--danger)}.tab-tools{margin-left:auto;display:flex;align-items:center;gap:10px;margin-bottom:6px}.task-search{border:1px solid var(--input-border);border-radius:8px;padding:6px 12px;background:var(--input-bg);width:200px}.task-search:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.cell-date.overdue{color:var(--danger);font-weight:700}.cell-date.due-today,.due-today-text{color:var(--warn);font-weight:700}.field-date.overdue{color:var(--danger);font-weight:700;border-color:var(--danger)}.field-date.due-today{color:var(--warn);font-weight:700;border-color:var(--warn)}.mt-date.overdue,.kanban-due.overdue-date{color:var(--danger);font-weight:700}.mt-date.due-today{color:var(--warn);font-weight:700}.overdue-card{border-left:4px solid var(--danger);margin-bottom:18px}.export-types{display:flex;flex-direction:column;gap:8px;margin-top:4px}.export-type{display:flex;flex-direction:column;gap:3px;text-align:left;border:1.5px solid var(--border);background:var(--surface);border-radius:10px;padding:12px 14px;color:var(--text)}.export-type span{color:var(--text-soft);font-size:12.5px;font-weight:400}.export-type:hover{border-color:var(--input-border)}.export-type.active{border-color:var(--primary);background:var(--active)}.range-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.row-lead{display:flex;align-items:center;gap:2px}.drag-handle{cursor:grab;color:var(--text-faint);font-size:13px;padding:3px 2px;border-radius:4px;-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1}.drag-handle:hover{color:var(--text);background:var(--hover)}.drag-handle:active{cursor:grabbing}.cell-est{border:1px solid transparent;background:var(--surface-2);border-radius:6px;padding:5px 4px;width:100%;color:var(--text-soft);font-size:12.5px;text-align:center}.cell-est:hover{border-color:var(--input-border)}.cell-est:focus{outline:none;border-color:var(--primary);background:var(--input-bg)}.cell-est::-webkit-outer-spin-button,.cell-est::-webkit-inner-spin-button{-webkit-appearance:none}input.duration-invalid,input.duration-invalid:focus,.cell-est.duration-invalid,.cell-est.duration-invalid:focus{border-color:var(--danger)!important;background:#e2445c12}@keyframes est-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}input.est-shake{animation:est-shake .16s ease 2}.cell-hours.over{background:#e2445c24;color:var(--danger);font-weight:700}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}@media(max-width:1100px){.kanban{grid-template-columns:repeat(2,1fr)}}.kanban-col{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px;min-height:200px}.kanban-col-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;background:var(--surface);border:1px solid var(--border);border-top:3px solid;border-radius:8px;padding:8px 12px;margin-bottom:10px}.kanban-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 12px;margin-bottom:8px;cursor:grab;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px}.kanban-card:active{cursor:grabbing}.kanban-card-name{font-weight:700;font-size:13.5px;line-height:1.3;background:transparent;border:none;color:var(--text);font-family:inherit;text-align:left;padding:0;width:100%;cursor:pointer;word-break:break-word}.kanban-card-name:hover{color:var(--primary)}.kanban-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kanban-due{font-size:11.5px;color:var(--text-soft)}.kanban-subs{font-size:11.5px;color:var(--text-faint)}.kanban-card-foot{display:flex;align-items:center;gap:6px}.kanban-unassigned{font-size:11px;color:var(--text-faint)}.kanban-hours{border:none;background:var(--surface-2);border-radius:6px;padding:4px 8px;font-size:11.5px;font-weight:600;color:var(--text-soft)}.kanban-hours:hover{background:var(--active);color:var(--primary)}.kanban-hours.over{background:#e2445c24;color:var(--danger)}.kanban-add{width:100%;border:1px dashed var(--input-border);background:transparent;border-radius:8px;padding:7px 10px;color:var(--text);font-size:13px}.kanban-add:focus{outline:none;border-color:var(--primary);background:var(--input-bg);border-style:solid}.hbar-row{display:flex;align-items:center;gap:10px;padding:5px 0}.hbar-label{width:150px;flex-shrink:0;font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-track{flex:1;height:14px;background:var(--hover);border-radius:5px;position:relative;overflow:hidden}.hbar-track.big{height:18px}.hbar-ref{position:absolute;inset:0 auto 0 0;background:var(--input-border);opacity:.55;border-radius:5px}.hbar-fill{position:absolute;inset:0 auto 0 0;border-radius:5px;transition:width .25s}.hbar-fill.est{background:var(--input-border)}.hbar-value{width:110px;flex-shrink:0;text-align:right;font-size:12px;color:var(--text-soft);font-variant-numeric:tabular-nums}.chart-note{color:var(--text-faint);font-size:11.5px;margin-top:10px}.logged-breakdown{color:var(--text-soft);font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 16px;margin:-8px 0 18px}.status-stack{display:flex;height:16px;border-radius:6px;overflow:hidden;gap:2px}.status-stack-seg{min-width:6px}.status-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.status-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-soft)}.myweek-card{margin-bottom:18px}.week-step{display:inline-flex;align-items:center;gap:4px;margin-left:12px}.week-step-label{font-size:12px;font-weight:700;color:var(--text-soft);min-width:74px;text-align:center}.week-step .icon-btn[disabled]{opacity:.3;cursor:default}.myweek-chart{position:relative;display:flex;gap:10px;align-items:flex-end;padding:4px 2px 0;max-width:640px}.myweek-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;border:none;background:transparent;padding:0;border-radius:8px}.myweek-col:hover .myweek-track{outline:2px solid var(--focus-ring)}.day-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.day-log-row{align-items:center}.day-log-what{min-width:0}.myweek-value{font-size:11.5px;font-weight:700;color:var(--text-soft);min-height:15px;font-variant-numeric:tabular-nums}.myweek-value.over{color:var(--danger)}.myweek-track{height:92px;width:100%;max-width:56px;display:flex;align-items:flex-end;justify-content:center;background:var(--surface-2);border-radius:7px;position:relative}.myweek-track.weekend{opacity:.45}.cap-tick{position:absolute;left:4px;right:4px;height:0;border-top:2px dashed var(--text-faint);opacity:.6;pointer-events:none}.myweek-bar{width:100%;border-radius:6px 6px 0 0;transition:height .25s}.week-label.today{color:var(--primary);font-weight:800}.myweek-note{margin-top:12px;color:var(--text-soft);font-size:13px}.week-nav{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}.insight-row{margin-bottom:12px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.insight-user{display:flex;align-items:center;gap:10px;width:230px;flex-shrink:0}.insight-name{font-weight:700}.insight-name:hover{color:var(--primary)}.insight-util{flex:1;min-width:220px;display:flex;align-items:center;gap:10px}.insight-days{max-width:190px;margin:0}.project-insight{align-items:flex-start}.dual-bars{flex:1;min-width:260px;display:flex;flex-direction:column;gap:6px}.dual-bar-row{display:flex;align-items:center;gap:10px}.dual-label{width:70px;flex-shrink:0;font-size:11.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.3px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:38px 34px;width:380px;max-width:100%;display:flex;flex-direction:column;gap:14px}.login-logo{max-height:64px;max-width:240px;object-fit:contain;align-self:center;margin-bottom:6px}.login-card h1{font-size:24px;text-align:center}.login-sub{text-align:center;color:var(--text-soft);margin-top:-10px}.login-error{background:#e2445c1f;color:var(--danger);border-radius:8px;padding:9px 12px;font-weight:600;font-size:13px}.login-btn{justify-content:center;padding:11px;font-size:15px}.login-or{display:flex;align-items:center;gap:10px;color:var(--text-soft);font-size:12px;font-weight:600;text-transform:uppercase}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--border)}.ms-btn{display:flex;align-items:center;gap:9px;font-weight:600}.ms-btn svg{flex-shrink:0}.brand-logo-full{max-width:calc(100% - 34px);max-height:38px;object-fit:contain;object-position:left center}.greet-head h1,.greet-emoji{font-size:26px}.greet-sub{color:var(--text-soft);margin-top:5px;font-size:14px}.live-clock{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:12px 22px}.live-clock-time{font-family:Consolas,Cascadia Mono,Segoe UI Mono,monospace;font-size:32px;font-weight:700;letter-spacing:2px;font-variant-numeric:tabular-nums;color:var(--text);line-height:1}.clock-colon{color:var(--text-faint);animation:colon-blink 2s step-start infinite}@keyframes colon-blink{50%{opacity:.35}}.clock-sec{color:var(--primary)}.logo-slots{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}@media(max-width:640px){.logo-slots{grid-template-columns:1fr}}.logo-slot{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.logo-slot .logo-preview{width:100%;display:flex;align-items:center;justify-content:center;min-height:84px}.logo-slot.dark .logo-preview{background:#16171d;border-color:#33353f}.logo-slot .logo-preview img{max-height:60px;max-width:100%}.logo-none{color:var(--text-faint);font-size:12.5px}.user-chip{display:flex;align-items:center;gap:9px;padding:8px 6px;margin-bottom:8px;border-radius:8px}.user-chip-info{display:flex;flex-direction:column;line-height:1.2;flex:1;min-width:0}.user-chip-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-info small{color:var(--text-faint);font-size:11px}.signout-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);border-radius:8px;width:34px;height:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.signout-btn:hover{background:#e2445c1f;border-color:var(--danger);color:var(--danger)}.avatar.tiny{width:28px;height:28px;font-size:11px;flex-shrink:0;border-radius:50%;color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.board-head{flex-wrap:nowrap;gap:12px}.board-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.proj-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:60px}.board-actions{flex-shrink:0;flex-wrap:nowrap}.board-actions .btn,.logged-chip{white-space:nowrap}@media(max-width:1220px){.logged-chip{display:none}}@media(max-width:1100px){.board-head .progress-chip{display:none}}.collab-avatars{display:inline-flex;align-items:center;margin-left:6px;flex-shrink:0}.avatar.tiny.stacked{margin-left:-8px;border:2px solid var(--bg)}.avatar.tiny.stacked:first-child{margin-left:0}.avatar.tiny.stacked.more{background:var(--text-faint);font-size:10px}.collab-btn{margin-left:6px;font-weight:600;white-space:nowrap;flex-shrink:0}.collab-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.collab-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}.collab-row:hover{background:var(--hover)}.collab-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary)}.collab-name{font-weight:600;flex:1}.collab-role{font-size:12px}.you-tag{color:var(--text-faint);font-weight:400;font-size:13px}.role-tag{font-size:11.5px;font-weight:700;color:var(--text-faint)}.role-tag.admin{color:var(--primary)}.role-tag.manager{color:#0086c0}[data-theme=dark] .role-tag.manager{color:#4db8e8}.resource-email{color:var(--text-faint);font-size:12px}.assigned-projects{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.assigned-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:20px;padding:3px 10px;font-size:11.5px;font-weight:600;color:var(--text-soft)}.assigned-chip:hover{background:var(--hover);color:var(--text)}.more-chip{cursor:pointer;border-style:dashed;color:var(--text-faint);background:transparent;font:inherit;font-size:11.5px;font-weight:600}.more-chip:hover{color:var(--primary);border-color:var(--primary)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f112361;z-index:45}.drawer{position:fixed;top:0;right:0;bottom:0;width:600px;max-width:94vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:-14px 0 44px #00000047;display:flex;flex-direction:column;animation:drawer-in .18s ease-out;z-index:46}@keyframes drawer-in{0%{transform:translate(48px);opacity:.4}to{transform:none;opacity:1}}.drawer-grip{position:absolute;top:0;bottom:0;left:-3px;width:9px;cursor:col-resize;z-index:2;touch-action:none}.drawer-grip:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:3px;background:var(--primary);opacity:0;transition:opacity .12s}.drawer-grip:hover:after,.drawer-grip:focus-visible:after{opacity:.75}.drawer-grip:focus-visible{outline:none}body.drawer-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.drawer-resizing .drawer-grip:after{opacity:1}body.drawer-resizing .drawer{animation:none}.drawer-head{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.drawer-project{font-size:12.5px;font-weight:700;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-body{flex:1;overflow-y:auto;padding:16px 18px 48px;display:flex;flex-direction:column;gap:18px}.drawer-title{font-size:18px;font-weight:800;line-height:1.35;width:100%;resize:none;overflow:hidden;flex-shrink:0;border:1px solid transparent;border-radius:6px;padding:5px 7px;background:transparent;color:var(--text);font-family:inherit}.drawer-body>*{flex-shrink:0}.drawer-title:hover{border-color:var(--input-border)}.drawer-title:focus{outline:none;border-color:var(--primary);background:var(--input-bg)}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.drawer-grid-full{grid-column:1 / -1}.drawer-section{border-top:1px solid var(--border-soft);padding-top:12px}.drawer-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.drawer-section-head h4{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint)}.drawer-tabs{display:flex;gap:4px;margin-bottom:10px}.drawer-tab{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-bottom:2px solid transparent;padding:4px 2px 7px;margin-right:14px;cursor:pointer;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint)}.drawer-tab:hover{color:var(--text-soft)}.drawer-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.drawer-tab-count{font-size:10.5px;font-weight:700;letter-spacing:0;background:var(--surface-2);color:var(--text-soft);border-radius:999px;padding:1px 6px}.drawer-tab.active .drawer-tab-count{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.drawer-tabbed>.comment-add{margin-top:0;margin-bottom:12px}.subtask-row.drawer-sub{display:block;padding:9px 0;border-bottom:1px solid var(--border-soft)}.subtask-row.drawer-sub:last-of-type{border-bottom:none}.dsub-main{display:flex;align-items:center;gap:10px}.dsub-main .inline-edit{flex:1;min-width:0;font-weight:500}.dsub-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;padding-left:26px}.dsub-meta .spacer{flex:1;min-width:12px}.drawer-sub .sub-owner{max-width:150px}.drawer-sub .sub-due{width:128px}.drawer-sub .sub-move{flex:0 0 auto;width:auto;max-width:108px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-soft);border-radius:6px;padding:4px 6px;font-size:12px}.drawer-sub .sub-move:hover{border-color:var(--primary);color:var(--text)}.drawer-sub .sub-move option{color:var(--text);background:var(--surface)}.task-title-btn{border:none;background:transparent;color:var(--text);font:inherit;font-weight:600;text-align:left;cursor:pointer;padding:5px 7px;border-radius:6px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-title-btn:hover{color:var(--primary);background:var(--hover)}.task-title-btn.done{text-decoration:line-through;color:var(--text-faint)}.modal.wide{width:620px}.detail-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.detail-name{font-size:17px;font-weight:700}.detail-body{max-height:72vh;overflow-y:auto}.detail-desc{border:1px solid var(--input-border);border-radius:8px;padding:9px 11px;background:var(--input-bg);font:inherit;color:inherit;resize:vertical;width:100%}.detail-desc:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.cell-name{display:flex;align-items:center;gap:2px;min-width:0}.title-stack{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.title-stack .task-title-btn{width:100%;flex:none;padding-bottom:2px}.subs-progress{width:calc(100% - 14px);max-width:220px;height:3px;margin:0 0 3px 7px;background:var(--border);border-radius:2px;overflow:hidden;flex-shrink:0}.subs-progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .2s}.open-btn{border:none;background:transparent;color:var(--text-faint);border-radius:6px;padding:3px 6px;font-size:13px;flex-shrink:0}.open-btn:hover{background:var(--hover);color:var(--primary)}.attach-row{display:flex;align-items:center;gap:10px;padding:5px 0}.attach-link{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-link:hover{color:var(--primary)}.attach-btn{align-self:flex-start;margin-top:4px}.comment-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-soft)}.comment-row:last-of-type{border-bottom:none}.comment-main{flex:1;min-width:0}.comment-meta{display:flex;align-items:center;gap:10px;font-size:12px}.comment-body{margin-top:3px;white-space:pre-wrap;word-break:break-word}.comment-thread{border-bottom:1px solid var(--border-soft);padding:4px 0}.comment-thread:last-of-type{border-bottom:none}.comment-thread .comment-row{border-bottom:none}.comment-reply{margin-left:26px;padding-left:12px;border-left:2px solid var(--border-soft)}.comment-meta .spacer{flex:1}.comment-row .btn.tiny.ghost{opacity:0;transition:opacity .12s}.comment-row:hover .btn.tiny.ghost,.comment-row:focus-within .btn.tiny.ghost{opacity:1}.comment-edit{margin-top:6px}.comment-add{display:flex;gap:8px;margin-top:8px}.comment-add input{flex:1;border:1px solid var(--input-border);border-radius:8px;padding:8px 11px;background:var(--input-bg)}.comment-add input:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.mention-box{position:relative;flex:1;min-width:0;display:flex}.mention-box input{flex:1;min-width:0;border:1px solid var(--input-border);border-radius:8px;padding:8px 11px;background:var(--input-bg)}.mention-box input:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.mention-list{position:absolute;bottom:calc(100% + 6px);left:0;right:0;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px;box-shadow:0 12px 36px #00000040;max-height:220px;overflow-y:auto}.mention-option{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;border-radius:7px;padding:6px 8px;text-align:left;cursor:pointer;color:var(--text);font-size:13px}.mention-option.active{background:var(--primary);color:#fff}.mention-option.active .muted{color:#ffffffbf}.mention-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-empty{display:block;padding:8px 10px;font-size:12.5px;color:var(--text-faint)}.rt-mention{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);font-weight:600;border-radius:5px;padding:0 4px;white-space:nowrap}.comment-badge{flex-shrink:0;background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);border:0;border-radius:999px;font-size:11px;font-weight:700;padding:2px 8px;cursor:pointer;white-space:nowrap}.comment-badge:hover{background:var(--primary);color:#fff}.tab-badge.new{background:var(--primary)}.feed-comment{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border-soft);border-radius:8px}.feed-comment:last-of-type{border-bottom:none}.feed-comment.fresh{background:color-mix(in srgb,var(--primary) 7%,transparent)}.feed-main{flex:1;min-width:0}.feed-meta{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.feed-task{background:none;border:0;padding:0;cursor:pointer;color:var(--text-soft);font-size:12px}.feed-task:hover{color:var(--primary);text-decoration:underline}.feed-new{background:var(--primary);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-radius:999px;padding:1px 7px}.activity-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.drawer-tabbed .activity-list{max-height:none;overflow:visible}.activity-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px;padding:3px 0}.activity-dot{width:6px;height:6px;border-radius:50%;background:var(--input-border);flex-shrink:0;align-self:center}.activity-row em{color:var(--text-soft);font-style:normal}.activity-time{margin-left:auto;font-size:11px;white-space:nowrap}.bell-btn{position:relative;width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:transparent;color:var(--text-soft);border-radius:8px;padding:8px 12px;font-weight:600;margin-bottom:8px}.bell-btn:hover,.bell-btn.active{background:var(--hover);color:var(--text)}.bell-badge{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:800;min-width:18px;height:18px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px}.notif-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.notif-panel{position:fixed;left:260px;bottom:24px;z-index:61;width:380px;max-width:calc(100vw - 280px);max-height:70vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px #0000004d;padding:14px}.sidebar.collapsed .notif-panel{left:90px}.notif-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.notif-head strong{flex:1}.notif-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);margin:10px 0 4px}.notif-item{display:flex;gap:10px;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:8px;border-radius:8px;align-items:flex-start}.notif-item:hover{background:var(--hover)}.notif-item.unread{background:var(--active)}.notif-item.unread:hover{background:var(--active);filter:brightness(1.05)}.notif-msg{flex:1;font-size:13px;line-height:1.35}.notif-msg small{display:block;color:var(--text-faint);margin-top:2px}.search-overlay{align-items:flex-start;padding-top:12vh}.search-box{width:560px;max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px #0000004d;padding:12px}.search-input{width:100%;border:1px solid var(--input-border);border-radius:10px;padding:12px 14px;font-size:15px;background:var(--input-bg);color:inherit}.search-input:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.search-result{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;color:var(--text);padding:9px 10px;border-radius:8px;text-align:left;margin-top:2px}.search-result:hover{background:var(--hover)}.search-label{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-label small{color:var(--text-faint);font-weight:400}.search-kind{font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}.search-hint{color:var(--text-faint);font-size:11.5px;padding:10px 10px 2px}.search-empty{padding:12px 10px}.cal-label{min-width:150px;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{text-align:center;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);padding:4px 0}.cal-cell{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:96px;padding:6px;display:flex;flex-direction:column;gap:3px;overflow:hidden}.cal-cell.empty{background:transparent;border-color:transparent}.cal-cell.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.cal-daynum{font-size:12px;font-weight:700;color:var(--text-faint)}.cal-cell.today .cal-daynum{color:var(--primary)}.cal-item{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:5px;padding:2px 5px;background:var(--surface-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal-item:hover{background:var(--hover)}.cal-item.overdue{color:var(--danger)}.cal-item.milestone{background:transparent;font-weight:700}.cal-item.leave{align-self:flex-start}.gantt{display:grid;grid-template-columns:180px 1fr;gap:0}.gantt-labels{display:flex;flex-direction:column}.gantt-axis-spacer{height:26px}.gantt-label{height:36px;display:flex;align-items:center;border:none;background:transparent;color:var(--text);font-size:12.5px;font-weight:600;text-align:left;padding:0 8px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gantt-label:hover{color:var(--primary)}.gantt-chart{position:relative;min-width:420px}.gantt-rows{position:absolute;left:0;right:0}.gantt-arrows{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.gantt-bar{cursor:pointer;z-index:1}.timeline-card .gantt{overflow-x:auto}.others-person{margin-bottom:14px}.others-person-head{display:flex;align-items:center;gap:8px;margin:12px 0 6px}.others-task-row{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:5px;font-size:13px}.others-task-row.done .others-task-name{text-decoration:line-through;color:var(--text-faint)}.others-task-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overdue-date{color:var(--danger);font-weight:700}.brand-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.brand-swatch{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--border);background:var(--surface-2);border-radius:10px;padding:8px 12px;font-weight:600;font-size:13px;color:var(--text)}.brand-swatch:hover{border-color:var(--text-faint)}.brand-swatch.selected{border-color:var(--primary);background:var(--active)}.brand-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0}.brand-custom{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-soft)}.brand-custom input[type=color]{width:34px;height:26px;border:1px solid var(--input-border);border-radius:6px;padding:1px;background:var(--input-bg);cursor:pointer}.brand-custom code{font-size:12px}.view-toggle{display:flex;gap:4px;margin-right:8px}.preset-row{display:flex;gap:6px;margin-top:6px}.repeat-last{display:block;width:100%;text-align:left;border:1px dashed var(--border);background:var(--surface-2, var(--hover));color:var(--text-soft);border-radius:8px;padding:9px 12px;font-size:13px;margin-bottom:14px;cursor:pointer}.repeat-last:hover{border-color:var(--primary);color:var(--text)}.repeat-last strong{color:var(--text)}.lock-banner{background:#fdab3d24;border:1px solid rgba(253,171,61,.5);color:var(--text);border-radius:10px;padding:10px 14px;font-weight:600;font-size:13.5px;margin-bottom:14px}.week-grid-card{overflow-x:auto}.wk-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px}.wk-legend{color:var(--text-soft);font-size:12px;white-space:nowrap}.wk-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px}.wk-legend i.ok{background:#00c875}.wk-legend i.part{background:#fdab3d}.wk-legend i.miss{background:#e2445c}.wk-legend i.off{background:var(--border)}.wk-table{min-width:720px}.wk-row{display:grid;grid-template-columns:150px repeat(7,1fr) 86px;gap:4px;margin-bottom:4px;align-items:stretch}.wk-name{font-weight:600;font-size:13px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wk-cell{min-height:34px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--surface-2, var(--hover))}.wk-cell.head{background:transparent;color:var(--text-soft);flex-direction:column;gap:0;min-height:auto;font-weight:700}.wk-cell.head small{font-weight:600;color:var(--text-faint)}.wk-cell.head.today{color:var(--primary)}.wk-cell.ok{background:#00c8752e;color:#00a05e}.wk-cell.part{background:#fdab3d33;color:#c77900}.wk-cell.miss{background:#e2445c24;color:var(--danger)}.wk-cell.off,.wk-cell.future{background:var(--hover);opacity:.55}.wk-cell.total{background:transparent;border:1px solid var(--border)}[data-theme=dark] .wk-cell.ok{color:#2fd58c}[data-theme=dark] .wk-cell.part{color:#ffbe55}.recurring-paused{opacity:.6}.row-actions{display:flex;gap:2px;justify-content:flex-end}.rich-text{line-height:1.55;word-break:break-word}.rich-text .rt-p{margin:0 0 7px}.rich-text .rt-p:last-child{margin-bottom:0}.rich-text .rt-head{margin:10px 0 5px;font-weight:800}.rich-text .rt-list{margin:0 0 8px;padding-left:20px}.rich-text .rt-list li{margin-bottom:3px}.rich-text .rt-quote{margin:0 0 8px;padding:4px 0 4px 12px;border-left:3px solid var(--border);color:var(--text-soft)}.rich-text .rt-pre{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;overflow-x:auto;margin:0 0 8px;font-size:12.5px}.rich-text .rt-code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:12.5px}.rich-text .rt-link{color:var(--primary);text-decoration:underline}.rich-text .rt-hr{border:none;border-top:1px solid var(--border);margin:10px 0}.rt-hint code{background:var(--surface-2);border-radius:3px;padding:0 4px}.detail-desc-view{border:1px solid transparent;border-radius:8px;padding:9px 11px;margin-bottom:14px;cursor:text;min-height:40px}.detail-desc-view:hover{border-color:var(--input-border);background:var(--surface-2)}.detail-desc-view.empty{color:var(--text-faint)}.attach-row.has-preview{align-items:center}.attach-thumb{width:46px;height:46px;border-radius:7px;overflow:hidden;flex-shrink:0;border:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:center}.attach-thumb img{width:100%;height:100%;object-fit:cover;display:block}.people-search{width:100%;border:1px solid var(--input-border);border-radius:8px;padding:8px 11px;background:var(--input-bg);margin-bottom:8px;font-size:13px}.people-search:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.collab-name{display:flex;flex-direction:column;min-width:0}.collab-email,.person-email{font-size:11px;color:var(--text-faint);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-option .person-name{display:flex;flex-direction:column}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-week.work{grid-template-columns:repeat(5,1fr)}.cal-wcol{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:320px;display:flex;flex-direction:column;overflow:hidden}.cal-wcol.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.cal-whead{display:flex;align-items:baseline;gap:6px;justify-content:center;padding:8px 6px;border-bottom:1px solid var(--border-soft);background:var(--surface-2)}.cal-wdow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint)}.cal-wnum{font-size:16px;font-weight:800}.cal-wcol.today .cal-wnum,.cal-wcol.today .cal-wdow{color:var(--primary)}.cal-wbody{padding:7px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.cal-wempty{color:var(--text-faint);font-size:12px;text-align:center;padding:8px 0}.cal-event{display:flex;align-items:stretch;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:7px 8px;font-size:12px;min-width:0}.cal-event:hover{border-color:var(--primary)}.cal-event.overdue{border-color:#e2445c80}.ev-spine{width:3px;border-radius:2px;flex-shrink:0}.ev-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}.ev-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-main small{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-badge{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);align-self:center;white-space:nowrap;flex-shrink:0}.ev-badge.overdue{color:var(--danger)}.cal-event.agenda{font-size:13px;padding:9px 12px;margin-bottom:6px}.agenda-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.cal-agenda{display:flex;flex-direction:column;gap:12px}.agenda-day.off{opacity:.55}.agenda-day.is-today{border-color:var(--primary)}.agenda-cap{font-size:12.5px;font-weight:700;color:#00a05e;white-space:nowrap}.agenda-cap.busy{color:#c77900}.agenda-cap.over{color:var(--danger)}[data-theme=dark] .agenda-cap{color:#2fd58c}[data-theme=dark] .agenda-cap.busy{color:#ffbe55}[data-theme=dark] .agenda-cap.over{color:var(--danger)}.agenda-bar{height:4px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:10px}.agenda-bar-fill{height:100%;border-radius:3px;transition:width .25s}.agenda-free{color:var(--text-faint);font-size:12.5px;margin:0}.agenda-day{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.agenda-head{display:flex;align-items:center;gap:10px;padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid var(--border-soft)}@media(max-width:900px){.cal-week,.cal-week.work{grid-template-columns:1fr}.cal-wcol{min-height:auto}}.weekday-picker{margin-top:6px}.weekday-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.weekday-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-soft);font-weight:700;font-size:12.5px;flex-shrink:0}.weekday-btn:hover{border-color:var(--primary);color:var(--text)}.weekday-btn.on{background:var(--primary);border-color:var(--primary);color:#fff}.weekday-btn.weekend{opacity:.75}.weekday-btn.weekend.on{opacity:1}.person-select{position:relative;min-width:0}.person-trigger{display:flex;align-items:center;gap:6px;width:100%;text-align:left;cursor:pointer;overflow:hidden}.person-plain.person-trigger{border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);color:var(--text);padding:8px 11px;font-size:13.5px;min-height:38px}.person-plain.person-trigger:hover{border-color:var(--primary)}.person-plain.person-trigger:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.person-me{display:flex;align-items:center;gap:8px;width:100%;border:1px dashed var(--border);background:transparent;color:var(--text);border-radius:7px;padding:7px 8px;margin-bottom:6px;font-size:13px;font-weight:600;text-align:left}.person-me:hover{border-color:var(--primary);color:var(--primary);background:var(--hover)}.person-trigger .avatar.tiny{flex-shrink:0}.person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.person-pop{position:absolute;z-index:62;top:calc(100% + 4px);left:0;min-width:240px;max-width:300px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #0000003d;padding:8px}.person-search{width:100%;border:1px solid var(--input-border);border-radius:7px;padding:7px 9px;background:var(--input-bg);margin-bottom:6px;font-size:13px}.person-search:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.person-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.person-option{display:flex;align-items:center;gap:8px;border:none;background:transparent;color:var(--text);border-radius:7px;padding:7px 8px;text-align:left;font-size:13px;width:100%}.person-option.active{background:var(--hover)}.person-option.selected{background:var(--active);font-weight:700}.person-option small{margin-left:auto;flex-shrink:0;font-size:11px}.person-empty{padding:10px 8px;color:var(--text-faint);font-size:12.5px}.due-group-head{display:flex;align-items:center;gap:10px;margin:22px 0 8px;padding-bottom:7px;border-bottom:1px solid var(--border);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--text-soft)}.due-group-head:first-of-type{margin-top:6px}.due-group-head .group-count{background:var(--surface-2);color:var(--text-soft);border-radius:10px;padding:1px 8px;font-size:11px;letter-spacing:0}.due-group-head.stale{color:var(--danger);border-bottom-color:#e2445c73}.due-group-head.soon{color:#c77900}[data-theme=dark] .due-group-head.soon{color:#ffbe55}:root{--chart-est: #2a78d6;--chart-log: #1baf7a}[data-theme=dark]{--chart-est: #3987e5;--chart-log: #199e70}.chart-card{padding:18px}.chart-card figcaption{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}.chart-card .chart-foot{display:block;font-size:12px;margin:14px 0 0;line-height:1.5}.chart-legend{display:flex;gap:16px;font-size:12.5px;color:var(--text-soft);margin:10px 0 14px}.chart-legend .swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.chart-legend .swatch.est{background:var(--chart-est)}.chart-legend .swatch.log{background:var(--chart-log)}.hbars{display:flex;flex-direction:column;gap:14px}.hbar-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center}.hbar-name{font-size:12.5px;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-pair{display:flex;flex-direction:column;gap:2px;min-width:0}.hbar-track{position:relative;display:flex;align-items:center;gap:8px;min-width:0}.hbar{height:14px;border-radius:0 4px 4px 0;min-width:2px;transition:width .25s}.hbar.est{background:var(--chart-est)}.hbar.log{background:var(--chart-log)}.hbar-track:hover .hbar{filter:brightness(1.12)}.hbar-val{font-size:11.5px;color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.capacity-row{flex-direction:column;align-items:stretch;gap:6px}.capacity-row .insight-user{width:auto;flex-wrap:wrap}.insight-figures{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:12.5px;margin:2px 0 6px}@media(max-width:700px){.hbar-row{grid-template-columns:1fr}.hbar-name{text-align:left}}.capacity-bar{position:relative;margin-top:8px}.capacity-over{position:absolute;right:0;top:-18px;font-size:11.5px;font-weight:800;color:var(--danger)}.cal-row{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:9px;padding:9px 12px;margin-bottom:7px;cursor:pointer}.cal-row:hover{border-color:var(--primary)}.cal-row.picked{background:var(--active);border-color:var(--primary)}.cal-time{font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--text-soft);white-space:nowrap}.cal-subject{display:flex;flex-direction:column;min-width:0}.cal-subject strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-subject small{font-size:11.5px}.cal-dupe{color:var(--danger);font-weight:700}.health-row{display:flex;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.health-row:last-child{border-bottom:none}.health-dot{flex-shrink:0;font-size:11px}.health-label{font-weight:600;min-width:165px}.health-value{font-variant-numeric:tabular-nums}.health-hint{flex-basis:100%;padding-left:34px}.health-counts{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:12px}.health-counts div{display:flex;flex-direction:column}.health-counts strong{font-size:20px}.health-counts span{font-size:12px;color:var(--text-soft)}.trash-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 14px;margin-bottom:8px}.trash-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}.trash-main{display:flex;flex-direction:column;min-width:0}.trash-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-main small{font-size:12px}.trash-when{font-size:12.5px;white-space:nowrap}.resource-card.inactive{opacity:.62}.resource-card.inactive .avatar{filter:grayscale(1)}.repeat-row{display:flex;align-items:flex-start;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;font-size:12.5px}.repeat-row input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--primary)}.holiday-row.past{opacity:.5}.holiday-emoji{font-size:16px}.holiday-name{min-width:140px}.cal-cell.holiday{background:#a25ddc12}.cal-item.holiday-item{background:#a25ddc29;color:#a25ddc;font-weight:700}[data-theme=dark] .cal-item.holiday-item{color:#c79bf0}.my-action-card{border-left-color:var(--primary)}.done-btn{color:#00915a;border-color:#00c87566}.done-btn:hover{background:#00c87524}[data-theme=dark] .done-btn{color:#35d99a}.stage-row{display:flex;align-items:center;gap:8px}.stage-color{width:34px;height:32px;padding:2px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg);cursor:pointer;flex-shrink:0}.stage-label{flex:1;border:1px solid var(--input-border);border-radius:8px;padding:7px 10px;background:var(--input-bg);min-width:0}.stage-label:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.stage-lock{font-size:11px;font-weight:700;color:#00915a;white-space:nowrap}[data-theme=dark] .stage-lock{color:#35d99a}.stage-row .icon-btn:disabled{opacity:.3;cursor:not-allowed}.stage-row .icon-btn:disabled:hover{background:transparent;color:var(--text-faint)}.subtask-est-wrap{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-faint);flex-shrink:0}.subtask-est-wrap .cell-est{width:56px}.est-rolled .cell-est::placeholder{color:var(--primary);font-weight:700;opacity:.9}.tpl-card{margin-bottom:12px}.tpl-card-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tpl-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tpl-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:3px 11px;font-size:12px;font-weight:600;color:var(--text-soft)}.tpl-chip.more{color:var(--text-faint);border-style:dashed}.page.tpl-wide{max-width:980px}.tpl-editor{width:100%}.tpl-task{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-2)}.tpl-task-row{display:grid;grid-template-columns:20px minmax(200px,1fr) 150px 130px 105px 70px 28px;gap:8px;align-items:center}.tpl-owner{border:1px solid var(--input-border);border-radius:8px;padding:7px 8px;background:var(--input-bg);color:inherit;min-width:0}.tpl-owner:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}@media(max-width:900px){.tpl-task-row{grid-template-columns:1fr 1fr}.tpl-task-row .icon-btn{justify-self:end}}.tpl-task-name{border:1px solid var(--input-border);border-radius:8px;padding:7px 10px;background:var(--input-bg);min-width:0}.tpl-task-name:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.tpl-est{width:100%;background:var(--input-bg);border:1px solid var(--input-border)}.tpl-sub-row{display:grid;grid-template-columns:20px 20px minmax(0,1fr) 150px 70px 28px;gap:8px;align-items:center;margin-top:6px;padding-left:8px}.tpl-sub-row input:not(.cell-est){border:1px solid var(--input-border);border-radius:8px;padding:6px 10px;background:var(--input-bg);min-width:0}.tpl-sub-tick{color:var(--text-faint);text-align:center}.tpl-add-sub{margin-top:8px}.tpl-actions{display:flex;align-items:center;gap:8px;width:100%}.mytask-head,.task-row.mytask-row{display:grid;grid-template-columns:52px minmax(140px,1fr) 120px 96px 104px 126px 60px 120px 100px 30px;gap:7px;align-items:center}.tag-chip{flex-shrink:0;font-size:10.5px;font-weight:700;border-radius:20px;padding:2px 8px;white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}.mytask-head{padding:4px 10px;font-size:11.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}.sort-btn{border:none;background:transparent;color:var(--text-faint);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 4px;border-radius:5px;text-align:left;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.sort-btn:hover{color:var(--text);background:var(--hover)}.sort-btn.active{color:var(--primary)}.sort-arrows{font-size:9px;opacity:.8}.table th .sort-btn{font-size:inherit;text-transform:inherit;letter-spacing:inherit;padding:0 2px}.modal.xl{width:880px}.jira-list{max-height:46vh}.jira-list-head{display:flex;align-items:center;gap:14px;padding:2px 10px 8px}.jira-select-all{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.jira-select-all input{width:16px;height:16px;accent-color:var(--primary)}.jira-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.jira-row .jira-summary{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jira-row-sub{display:flex;gap:12px;font-size:11.5px;color:var(--text-faint)}.jira-status{flex-shrink:0;font-size:11px;font-weight:700;border:1px solid;border-radius:20px;padding:2px 9px;white-space:nowrap}.jira-search{flex:1;min-width:140px;max-width:320px}.select-all-row{border-bottom:1px solid var(--border-soft);border-radius:0;margin-bottom:4px}.key-tag{display:inline-block;vertical-align:middle;margin-left:7px;font-family:Consolas,monospace;font-size:10.5px;font-weight:700;color:var(--primary);background:var(--active);border-radius:5px;padding:1.5px 7px;white-space:nowrap}.jira-key{font-family:Consolas,monospace;font-size:11.5px;font-weight:700;color:#0086c0;background:#0086c01f;padding:2px 7px;border-radius:5px;flex-shrink:0}[data-theme=dark] .jira-key{color:#4fb8e8}.jira-summary{font-weight:500}.jira-points{font-size:11px;font-weight:700;color:var(--text-faint);flex-shrink:0}.collab-row.jira-imported{opacity:.45}.jira-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:11.5px;font-weight:700;color:#0086c0;background:#0086c01a;border:1px solid rgba(0,134,192,.3);border-radius:20px;padding:3px 10px;white-space:nowrap}.jira-chip:hover{background:#0086c033}[data-theme=dark] .jira-chip{color:#4fb8e8}.jira-map{width:100%;border-top:1px solid var(--border-soft);padding-top:14px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.jira-map h3{font-size:14px}.jira-map .stage-row{width:100%}.jira-map-name{flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jira-map .tpl-owner{width:200px;flex-shrink:0}.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.donut-center-value{font-size:20px;font-weight:800;fill:var(--text);font-family:inherit}.donut-center-label{font-size:10px;fill:var(--text-faint);text-transform:uppercase;letter-spacing:.6px;font-family:inherit}.donut-legend{flex:1;min-width:180px;display:flex;flex-direction:column;gap:6px}.donut-legend-row{display:flex;align-items:center;gap:8px;font-size:13px}.donut-legend-label{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-legend-value{color:var(--text-soft);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.burnup{width:100%;height:auto;max-width:720px;display:block}.burnup-grid{stroke:var(--border-soft);stroke-width:1}.burnup-axis{font-size:9.5px;fill:var(--text-faint);font-family:inherit}.burnup-target{stroke:var(--text-faint);stroke-width:1.5;stroke-dasharray:5 4}.burnup-target-label{font-size:9.5px;fill:var(--text-soft);font-weight:700;font-family:inherit}.weekly-bars{display:flex;gap:10px;align-items:flex-end;max-width:720px}.weekly-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.weekly-value{font-size:10.5px;font-weight:700;color:var(--text-soft);min-height:14px;font-variant-numeric:tabular-nums}.weekly-track{height:110px;width:100%;max-width:44px;display:flex;align-items:flex-end;justify-content:center;background:var(--surface-2);border-radius:6px}.weekly-bar{width:100%;border-radius:5px 5px 0 0;transition:height .25s}.weekly-label{font-size:9.5px;color:var(--text-faint);white-space:nowrap}.report-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.print-only{display:none}@media print{:root,[data-theme=dark]{--bg: #ffffff;--surface: #ffffff;--surface-2: #f6f7fb;--hover: #eef0f6;--active: #ececff;--border: #d9dce4;--border-soft: #e8eaf0;--input-border: #c9cdd8;--input-bg: #ffffff;--text: #1c1d22;--text-soft: #4c4f5c;--text-faint: #7d818f;--shadow: none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff}.sidebar,.tabs,.page-head,.page-sub,.toast,.floating-timer,.notif-panel,.notif-backdrop,.modal-overlay,.no-print,.btn,.icon-btn{display:none!important}.main{margin:0}.page{padding:0;max-width:none}.print-only{display:block}.report-print-head{margin-bottom:18px;border-bottom:2px solid #1c1d22;padding-bottom:10px}.report-print-head h1{font-size:22px}.report-print-head p{color:#4c4f5c;font-size:12px;margin-top:4px}.card,.stat-tile{box-shadow:none;break-inside:avoid}.dash-columns{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(4,1fr)}}.activity-feed-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--border-soft)}.activity-feed-row:last-child{border-bottom:none}.activity-feed-icon{width:22px;text-align:center;flex-shrink:0}.activity-feed-text{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-feed-text em{font-style:normal;font-weight:600}.activity-feed-time{color:var(--text-faint);font-size:11.5px;white-space:nowrap;flex-shrink:0}.teams-kv{display:grid;grid-template-columns:90px auto;gap:4px 10px;margin:6px 0 2px;align-items:baseline}.teams-kv>span{color:var(--text-faint);font-weight:700;font-size:11px;text-transform:uppercase}.teams-cron{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.teams-cron>strong{font-size:13px}.cron-url-row{display:flex;align-items:center;gap:8px;margin:8px 0}.cron-url{flex:1;min-width:0;background:var(--input-bg);border:1px solid var(--input-border);border-radius:7px;padding:7px 10px;font-family:Consolas,monospace;font-size:11px;overflow-x:auto;white-space:nowrap;color:var(--text-soft)}.teams-help{margin:0;padding:12px 12px 12px 30px;width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;font-size:12.5px;color:var(--text-soft);line-height:1.65}.teams-help li{margin-bottom:4px}.warn-inline{color:#b57700}[data-theme=dark] .warn-inline{color:#ffc16b}.teams-help code{background:var(--hover);border-radius:4px;padding:1px 5px;font-family:Consolas,monospace;font-size:11.5px}.btn.icon-only{padding:8px 9px;display:inline-flex}.proj-menu-anchor,.more-tab-anchor{position:relative}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58}.proj-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:59;min-width:230px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 36px #00000040;padding:8px;display:flex;flex-direction:column;gap:2px}.more-tab-anchor .proj-menu{right:auto;left:0}.proj-menu-title{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);padding:8px 10px 4px}.proj-menu-item{border:none;background:transparent;color:var(--text);text-align:left;font:inherit;font-weight:600;font-size:13px;padding:8px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}.proj-menu-item:hover{background:var(--hover)}.proj-menu-item:disabled{color:var(--text-faint);cursor:not-allowed}.board-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-8px 0 10px}.board-toolbar .task-search{flex:1 1 240px;max-width:380px}.board-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding-top:10px;border-top:1px solid var(--border-soft)}.filters-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);margin-right:2px}.layout-switch{flex-shrink:0}.layout-switch button{white-space:nowrap}@media(max-width:900px){.board-toolbar .task-search{max-width:none}.layout-switch{width:100%;justify-content:space-between}}.quick-filter{border:1px solid var(--input-border);border-radius:8px;padding:6px 8px;background:var(--input-bg);color:inherit;font-size:12.5px;max-width:170px}.quick-filter:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.list-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--active);border:1px solid var(--primary);border-radius:10px;padding:7px 12px}.bulk-bar select{border:1px solid var(--input-border);border-radius:7px;padding:5px 8px;background:var(--input-bg);color:inherit;font-size:12.5px}.list-head,.task-row.list-row{display:grid;grid-template-columns:26px minmax(150px,1fr) 116px 122px 96px 92px 104px 126px 52px 76px 28px;gap:7px;align-items:center}.list-row .row-del{opacity:0;transition:opacity .12s}.list-row:hover .row-del,.list-row.row-selected .row-del{opacity:1}.list-head{padding:4px 10px;font-size:11.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}.list-head input[type=checkbox],.list-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary)}.list-row.row-selected{border-color:var(--primary);background:var(--active)}.list-tag{overflow:hidden}.list-num{font-size:12px;color:var(--text-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.list-num.over-text{color:var(--danger);font-weight:700}.board-page{background-repeat:no-repeat}.bg-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.bg-swatch{height:62px;border:2px solid var(--border);border-radius:10px;font:inherit;font-size:12px;font-weight:700;color:var(--text);cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start;padding:8px}.bg-swatch:hover{border-color:var(--input-border)}.bg-swatch.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--focus-ring)}.ai-tab{display:flex;flex-direction:column;gap:18px}.settings-sub{font-size:14px;margin-top:6px}.ai-composer{display:flex;flex-direction:column;gap:14px}.ai-kind-group{display:flex;flex-direction:column;gap:7px}.ai-group-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint)}.ai-kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:10px}.ai-sources{align-items:flex-start}.ai-req{font-style:normal;font-size:11px;font-weight:700;color:var(--danger)}.ai-kind{display:flex;flex-direction:column;gap:4px;text-align:left;border:1.5px solid var(--border);background:var(--surface-2);border-radius:var(--radius);padding:11px 13px;font:inherit;color:var(--text);cursor:pointer;transition:border-color .12s,background .12s}.ai-kind:hover{border-color:var(--input-border);background:var(--hover)}.ai-kind.active{border-color:var(--primary);background:var(--active);box-shadow:0 0 0 2px var(--focus-ring)}.ai-kind strong{font-size:13.5px}.ai-kind span{font-size:11.5px;color:var(--text-soft);line-height:1.35}.ai-tab .field textarea{border:1px solid var(--input-border);border-radius:8px;padding:9px 11px;background:var(--input-bg);color:inherit;font:inherit;font-size:13.5px;line-height:1.5;resize:vertical;width:100%}.ai-tab .field textarea:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.ai-brief{min-height:84px}.ai-drafts{display:flex;flex-direction:column;gap:10px}.ai-drafts-head{font-size:14px;color:var(--text-soft)}.ai-drafts .empty{color:var(--text-faint);font-size:13px}.ai-draft{padding:12px 16px}.ai-draft.open{border-color:var(--input-border)}.ai-draft-head{display:flex;align-items:center;gap:10px}.ai-draft-title{display:flex;align-items:center;gap:9px;min-width:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left;padding:0}.ai-draft-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-draft-title:hover strong{color:var(--primary)}.ai-draft-kind{font-size:11.5px;font-weight:700;white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:2px 9px;color:var(--text-soft)}.ai-draft-when{font-size:12px;white-space:nowrap}.ai-draft-body{margin-top:12px;padding:14px 16px;max-height:62vh;overflow:auto;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:8px}.ai-draft-actions{margin-top:12px;flex-wrap:wrap}.ai-edit{display:flex;flex-direction:column;gap:12px;margin-top:12px}.ai-edit textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}@media(max-width:900px){.ai-draft-when{display:none}}.overdue-group{padding:0;overflow:hidden;margin-bottom:12px}.overdue-group-head{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;font:inherit;color:var(--text);padding:12px 16px;cursor:pointer;text-align:left}.overdue-group-head:hover{background:var(--hover)}.od-caret{color:var(--text-faint);font-size:12px}.od-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.od-open{font-size:12px}.overdue-row{display:grid;grid-template-columns:82px 96px minmax(120px,1fr) 78px 104px 150px;gap:10px;align-items:center;text-decoration:none;color:inherit;padding:8px 16px;border-top:1px solid var(--border-soft);font-size:13px}.overdue-row:hover{background:var(--hover)}.od-late{font-size:11.5px;font-weight:700;text-align:center;white-space:nowrap;background:#fdab3d29;color:#b57700;border-radius:20px;padding:2px 8px}.od-late.mid{background:#ff642e29;color:#d1541f}.od-late.bad{background:#e2445c29;color:var(--danger)}[data-theme=dark] .od-late{color:#ffc16b}[data-theme=dark] .od-late.mid{color:#ff9a6b}[data-theme=dark] .od-late.bad{color:#ef5e75}.od-due{color:var(--text-soft);font-size:12.5px;white-space:nowrap}.od-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.od-step{color:var(--text-faint);font-weight:500}.od-prio{font-size:11px;justify-self:start}.od-status{font-size:12px;font-weight:600;white-space:nowrap}.od-owner{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-unit{font-size:13px;font-weight:600;color:var(--text-soft);margin-left:5px}.dash-overdue-group{margin-bottom:10px}.dash-overdue-proj{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:6px 4px 3px;border-bottom:1px solid var(--border-soft)}.dash-overdue-more{display:block;font-size:12px;color:var(--text-soft);padding:5px 4px;text-decoration:none}.dash-overdue-more:hover{color:var(--primary)}.proj-search-note{margin-bottom:10px}@media(max-width:900px){.overdue-row{grid-template-columns:74px minmax(120px,1fr) 130px}.od-due,.od-prio,.od-status{display:none}}.jira-filter{border:1px solid var(--input-border);border-radius:8px;padding:7px 10px;background:var(--input-bg);color:inherit;font:inherit;font-size:13px;margin-bottom:6px;width:100%}.jira-filter:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.field select[size]{padding:4px}.field select[size] option{padding:4px 6px}.jira-truncated{font-size:11.5px;font-weight:700;color:#b57700;background:#fdab3d24;border-radius:20px;padding:2px 9px}[data-theme=dark] .jira-truncated{color:#ffc16b}.done-bucket+.done-bucket{margin-top:4px}.done-bucket-head{display:flex;align-items:center;gap:8px;padding:9px 12px 5px;font-size:11.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px}.done-bucket-head:after{content:"";flex:1;height:1px;background:var(--border-soft)}.done-bucket-count{font-weight:700;color:var(--text-soft);background:var(--surface-2);border-radius:20px;padding:1px 7px;text-transform:none;letter-spacing:0}.burndown{margin-top:12px;border-top:1px solid var(--border-soft);padding-top:10px}.burndown-svg{width:100%;height:auto;max-height:190px;overflow:visible}.bd-axis{stroke:var(--border);stroke-width:1}.bd-axis.dashed{stroke-dasharray:3 4}.bd-tick{font-size:9px;fill:var(--text-faint)}.bd-ideal{fill:none;stroke:#2a78d6;stroke-width:1.6;stroke-dasharray:5 4}.bd-actual{fill:none;stroke:#1baf7a;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.bd-dot{fill:#1baf7a}[data-theme=dark] .bd-ideal{stroke:#3987e5}[data-theme=dark] .bd-actual{stroke:#199e70}[data-theme=dark] .bd-dot{fill:#199e70}.burndown-legend{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text-soft);margin-top:4px}.bd-key{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}.bd-key.ideal{background:#2a78d6}.bd-key.actual{background:#1baf7a}[data-theme=dark] .bd-key.ideal{background:#3987e5}[data-theme=dark] .bd-key.actual{background:#199e70}.burndown-legend .over-text{color:var(--danger)}.view-row{display:flex;align-items:center}.view-row .proj-menu-item{flex:1}.proj-menu-note{padding:8px 12px;font-size:12.5px;color:var(--text-faint)}.stale-flag{color:#b57700;font-size:12px;cursor:default}[data-theme=dark] .stale-flag{color:#ffc16b}.portfolio-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.portfolio-tile{min-width:150px}.portfolio-tile .stat-label{display:flex;align-items:center;gap:7px;margin:0 0 4px}.portfolio-gantt{grid-template-columns:210px 1fr}.pf-label{height:40px;display:flex;align-items:center;gap:8px;text-decoration:none}.pf-row{position:absolute;left:0;right:0;height:40px}.pf-bar{position:absolute;top:9px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding:0 7px;overflow:hidden;opacity:.9;cursor:default}.pf-bar-fill{position:absolute;inset:0 auto 0 0;background:#ffffff57}.pf-bar-text{position:relative;font-size:11px;font-weight:700;color:#fff}.health-bar-off_track{box-shadow:0 0 0 2px var(--danger)}.health-bar-at_risk{box-shadow:0 0 0 2px #fdab3d}.pf-flag{position:absolute;top:2px;transform:translate(-50%);font-size:13px;line-height:1;z-index:3;cursor:default;color:var(--text-soft)}.pf-flag.risk-overdue{color:var(--danger)}.pf-flag.risk-at_risk{color:#b57700}.pf-flag.risk-done{color:#00c875}.pf-owner{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.table-wrap{overflow-x:auto}.table td.over-text,.table td .over-text{color:var(--danger);font-weight:700}.person-load{font-size:11.5px;font-weight:700;white-space:nowrap;color:#00915a}.person-load.tight{color:#b57700}.person-load.over{color:var(--danger)}[data-theme=dark] .person-load{color:#35d99a}[data-theme=dark] .person-load.tight{color:#ffc16b}.health-line{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;font:inherit;font-size:12.5px;color:var(--text-soft);text-align:left;cursor:pointer;padding:5px 8px;border-radius:8px;margin:2px 0 6px;border-left:3px solid transparent}.health-line:hover{background:var(--hover)}.health-line strong{color:var(--text);font-size:12.5px;white-space:nowrap}.health-line.health-at_risk{border-left-color:#fdab3d;background:#fdab3d14}.health-line.health-off_track{border-left-color:var(--danger);background:#e2445c14}.health-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.health-why{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.health-manual{font-size:10.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-faint);border:1px solid var(--border);border-radius:20px;padding:0 6px;white-space:nowrap}.health-auto{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:var(--surface-2);border-radius:8px;padding:9px 12px;font-size:13px}.project-card-stats .over-text{color:var(--danger);font-weight:700}.field-label{font-size:12.5px;font-weight:600;color:var(--text-soft)}.dep-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:5px}.dep-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:3px 6px 3px 10px;font-size:12.5px;max-width:100%}.dep-chip.done{opacity:.6;text-decoration:line-through}.dep-chip button{border:0;background:none;color:var(--text-faint);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;border-radius:50%}.dep-chip button:hover{background:var(--hover);color:var(--danger)}.dep-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dep-add{border:1px dashed var(--input-border);border-radius:20px;background:transparent;color:var(--text-soft);font:inherit;font-size:12.5px;padding:3px 8px;cursor:pointer}.dep-add:hover{border-color:var(--primary);color:var(--primary)}.milestones-tab{display:flex;flex-direction:column;gap:10px}.milestone-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.milestone-card.done{opacity:.72}.milestone-meter{display:flex;align-items:center;gap:12px;margin-top:8px}.milestone-meter .mini-bar{flex:1;min-width:80px;height:7px;border-radius:4px;background:var(--surface-2);overflow:hidden}.milestone-meter .mini-fill{height:100%;border-radius:4px;transition:width .25s}.milestone-stats .over-text,.mt-date.over-text{color:var(--danger);font-weight:700}.milestone-stats{display:flex;align-items:center;gap:10px;flex-shrink:0;border:0;background:none;font:inherit;font-size:12px;color:var(--text-soft);cursor:pointer;padding:2px 0}.milestone-stats:hover{color:var(--text)}.milestone-stats strong{color:var(--text);font-size:12.5px}.milestone-caret{color:var(--text-faint)}.milestone-warn{margin-top:8px;font-size:12.5px;color:#b57700;background:#fdab3d1f;border-radius:8px;padding:7px 11px}[data-theme=dark] .milestone-warn{color:#ffc16b}.milestone-tasks{margin-top:10px;border-top:1px solid var(--border-soft);padding-top:8px}.milestone-task{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;font:inherit;font-size:13px;color:var(--text);text-align:left;padding:5px 4px;border-radius:6px;cursor:pointer}.milestone-task:hover{background:var(--hover)}.milestone-task.done .mt-name{text-decoration:line-through;color:var(--text-faint)}.mt-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mt-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-date{font-size:12px;color:var(--text-soft);white-space:nowrap}.milestone-foot{margin-top:4px}.rt-table-wrap{overflow-x:auto;margin:10px 0;border:1px solid var(--border);border-radius:8px}.rt-table{border-collapse:collapse;width:100%;font-size:12.5px}.rt-table th,.rt-table td{border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft);padding:6px 9px;text-align:left;vertical-align:top;min-width:90px}.rt-table th{background:var(--surface-2);font-weight:700;font-size:11.5px;white-space:nowrap;position:sticky;top:0}.rt-table tr:last-child td{border-bottom:0}.rt-table th:last-child,.rt-table td:last-child{border-right:0}.rt-table tbody tr:hover td{background:var(--hover)}@media(max-width:900px){.sidebar{display:none}.page{padding:20px}.task-table-head{display:none}.task-row{grid-template-columns:32px 1fr 100px 100px;grid-auto-rows:auto;row-gap:6px}}.layout-switch{display:inline-flex;align-items:center;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:2px}.layout-switch button{border:0;background:transparent;color:var(--text-soft);font:inherit;font-size:12.5px;font-weight:600;padding:4px 11px;border-radius:7px;cursor:pointer;white-space:nowrap}.layout-switch button:hover{color:var(--text)}.layout-switch button.active{background:var(--surface);color:var(--text)}.stage-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px}.stage-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;background:transparent;color:var(--text-soft);font:inherit;font-size:13.5px;font-weight:600;padding:7px 13px;border-radius:9px;cursor:pointer;transition:background .13s ease,color .13s ease,border-color .13s ease}.stage-tab:hover{background:var(--hover);color:var(--text)}.stage-tab.active{background:var(--surface);border-color:var(--border);color:var(--text)}.stage-tab .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stage-tab-count{font-size:11.5px;font-weight:700;min-width:20px;text-align:center;background:var(--surface-2);color:var(--text-soft);border-radius:999px;padding:1px 7px}@media(max-width:900px){.stage-tabs{overflow-x:auto;flex-wrap:nowrap}.stage-tab{white-space:nowrap}}.ai-working{display:flex;align-items:flex-start;gap:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.ai-spinner{width:18px;height:18px;flex-shrink:0;margin-top:2px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-working-text{display:flex;flex-direction:column;gap:3px;min-width:0}.ai-working-text strong{font-size:13.5px}.ai-working-text span{font-size:12.5px;color:var(--text-soft);line-height:1.5}@media(prefers-reduced-motion:reduce){.ai-spinner{animation:none;border-top-color:var(--primary)}}.ai-questions{margin-top:14px;padding:14px 16px;background:#fdab3d14;border:1px solid rgba(253,171,61,.35);border-radius:10px}.ai-questions-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.ai-questions-head strong{font-size:13.5px;color:#b57700}[data-theme=dark] .ai-questions-head strong{color:#ffc16b}.ai-questions-head span{font-size:12.5px;color:var(--text-soft);line-height:1.5}.ai-question{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.ai-question>span{font-size:13px;font-weight:600}.ai-question input{border:1px solid var(--input-border);border-radius:8px;padding:8px 11px;background:var(--input-bg);color:inherit;font:inherit;font-size:13.5px;width:100%}.ai-question input:focus{outline:2px solid var(--focus-ring);border-color:var(--primary)}.access-card{border-left:3px solid #fdab3d;margin-bottom:20px}.access-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-top:1px solid var(--border-soft);font-size:13.5px;flex-wrap:wrap}.access-row:first-of-type{border-top:0}.access-what{flex:1;min-width:160px}.access-when{font-size:12px;white-space:nowrap}.browse-card{margin-top:24px;margin-bottom:16px}.browse-head{display:flex;align-items:baseline;justify-content:flex-start;gap:12px;width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:0;margin:0;flex-wrap:wrap}.browse-head h2{flex-shrink:0}.browse-head:hover h2{color:var(--primary)}.browse-head .muted{font-size:12.5px;font-weight:400}.browse-list{margin-top:12px}.browse-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-top:1px solid var(--border-soft);font-size:13.5px}.browse-name{font-weight:600;display:inline-flex;align-items:center;gap:4px}.browse-meta{font-size:12.5px;white-space:nowrap}@media(max-width:900px){.browse-meta,.access-when{display:none}}.nav-count{margin-left:auto;min-width:20px;text-align:center;font-size:11px;font-weight:700;line-height:18px;background:var(--danger);color:#fff;border-radius:999px;padding:0 6px}.nav-count.dot{min-width:8px;width:8px;height:8px;padding:0;line-height:0;position:absolute;top:8px;right:12px}.sidebar.collapsed .nav a{position:relative}.demote-list{max-height:320px;overflow-y:auto}.demote-option{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;font:inherit;font-size:13.5px;color:var(--text);text-align:left;padding:9px 10px;border-radius:8px;cursor:pointer}.demote-option:hover:not(:disabled){background:var(--hover)}.demote-option:disabled{opacity:.5;cursor:default}.demote-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-sub-owner{max-width:150px}.task-row.drop-before,.task-row.drop-after{position:relative}.task-row.drop-before:before,.task-row.drop-after:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--primary);border-radius:2px;z-index:3}.task-row.drop-before:before{top:-2px}.task-row.drop-after:after{bottom:-2px}.task-row.drop-into{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary),0 0 0 3px var(--focus-ring);background:var(--active)}.task-row.drop-into .cell-name:after,.task-row.from-sub.drop-before .cell-name:after,.task-row.from-sub.drop-after .cell-name:after{margin-left:10px;font-size:11.5px;font-weight:700;color:var(--primary);white-space:nowrap}.task-row.from-task.drop-into .cell-name:after{content:"↳ becomes a step of this"}.task-row.from-sub.drop-into .cell-name:after{content:"↳ moves under this task"}.task-row.from-sub.drop-before .cell-name:after,.task-row.from-sub.drop-after .cell-name:after{content:"↑ becomes a task"}.subtask-row.drop-target{box-shadow:inset 0 0 0 1px var(--primary);border-radius:8px}.sub-due{width:132px;flex-shrink:0;font-size:12px}.sub-due.overdue{color:var(--danger);font-weight:700;border-color:var(--danger)}:root{--chart-1: var(--primary)}[data-theme=dark]{--chart-1: color-mix(in oklch, var(--primary) 90%, black)}.rd-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}.rd-range{display:inline-flex;align-items:center;gap:6px}.rd-search{min-width:180px}.rd-span{font-size:12.5px;white-space:nowrap}.filter-chip{border:1px solid var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--text);border-radius:999px;padding:4px 10px;font-size:12.5px;cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-body{transition:opacity .15s}.rd-body.is-loading{opacity:.5;pointer-events:none}.rd-card{margin-bottom:18px}.rd-card .card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.rd-breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.rd-breakdowns .rd-card{margin-bottom:18px}.rd-tag{font-size:10.5px;flex-shrink:0}.rd-more{margin-top:10px}.stat-delta{margin-top:6px;font-size:12px;color:var(--text-soft)}.tc-wrap{position:relative}.tc-tools{display:flex;justify-content:flex-end;margin:-6px 0 4px}.tc-plot{position:relative}.tc-grid{stroke:var(--border-soft);stroke-width:1}.tc-axis{fill:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums}.tc-col{fill:var(--chart-1);transition:filter .1s}.tc-col.on{filter:brightness(1.18)}.tc-hit{fill:transparent;cursor:default;outline:none}.tc-hit:focus-visible{fill:color-mix(in srgb,var(--chart-1) 10%,transparent)}.tc-target line{stroke:var(--text-soft);stroke-width:1}.tc-target text{fill:var(--text-soft);font-size:11px}.tc-empty{position:absolute;top:0;right:0;bottom:26px;left:36px;display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:13px;pointer-events:none}.tc-tip{position:absolute;top:4px;transform:translate(-50%);z-index:5;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0003;padding:8px 10px;min-width:150px;display:flex;flex-direction:column;gap:2px;font-size:12px}.tc-tip-value{font-size:14px;color:var(--text)}.tc-tip-label{color:var(--text-soft);margin-bottom:3px}.tc-tip-row{display:flex;justify-content:space-between;gap:12px;color:var(--text)}.tc-tip-name{color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.tc-tip-more{color:var(--text-faint)}.tc-table-wrap{max-height:260px;overflow:auto}.tc-table .num{text-align:right;font-variant-numeric:tabular-nums}.bl-list{display:flex;flex-direction:column;gap:4px}.bl-row{display:flex;flex-direction:column;gap:5px;padding:6px 8px;border:0;background:none;border-radius:6px;text-align:left;color:var(--text);font:inherit;width:100%}.bl-row.pickable{cursor:pointer}.bl-row.pickable:hover{background:var(--hover)}.bl-row.active{background:color-mix(in srgb,var(--primary) 12%,transparent)}.bl-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.bl-label{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px}.bl-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bl-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bl-value{flex-shrink:0;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.bl-pct{color:var(--text-soft);font-weight:500}.bl-track{display:block;height:8px}.bl-bar{display:block;height:100%;background:var(--chart-1);border-radius:0 4px 4px 0}.bl-bar.muted{background:var(--text-faint)}.fw{max-width:980px}.fw-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}.fw-title{font-size:20px;font-weight:700;margin:0}.fw-sub{color:var(--text-soft);font-size:13px;margin:4px 0 0;max-width:62ch;line-height:1.55}.fw-search{margin-left:auto;flex-shrink:0;width:180px}.fw-strip-wrap{margin-bottom:18px}.fw-strip{display:flex;height:10px;border-radius:999px;overflow:hidden;gap:2px;background:var(--surface-2)}.fw-seg{display:block;transition:opacity .15s}.fw-seg.dim{opacity:.22}.fw-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.fw-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 11px 4px 9px;font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s}.fw-chip:hover{border-color:var(--input-border)}.fw-chip.on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.fw-dot{width:8px;height:8px;border-radius:50%}.fw-count{color:var(--text-soft);font-variant-numeric:tabular-nums}.fw-add{display:flex;gap:8px;margin-bottom:16px}.fw-add input{flex:1;border:1px dashed var(--input-border);background:transparent;border-radius:10px;padding:11px 14px;color:var(--text);font-size:14px}.fw-add input:focus{outline:none;border-style:solid;border-color:var(--primary);background:var(--input-bg)}.fw-empty{padding:36px}.fw-empty p{max-width:52ch;margin:8px auto 0}.fw-list{display:flex;flex-direction:column;gap:8px}.fw-item{border:1px solid var(--border);border-left:3px solid var(--rail);border-radius:10px;background:var(--surface);overflow:hidden;transition:box-shadow .13s,border-color .13s}.fw-item:hover{box-shadow:var(--shadow)}.fw-item.open{box-shadow:var(--shadow);border-color:var(--input-border)}.fw-row{display:flex;align-items:center;gap:10px;padding:10px 12px}.fw-main{display:flex;align-items:center;gap:9px;flex:1;min-width:0;background:none;border:0;padding:0;cursor:pointer;text-align:left;color:var(--text);font:inherit}.fw-caret{display:flex;align-items:center;color:var(--text-faint);flex-shrink:0}.fw-caret svg{transition:transform .15s}.fw-caret.open{color:var(--primary)}.fw-caret.open svg{transform:rotate(90deg)}.fw-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:60%}.fw-peek{color:var(--text-faint);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fw-comments{color:var(--text-soft);font-size:12px;flex-shrink:0}.fw-status{flex-shrink:0;border:1px solid;border-radius:999px;background:transparent;padding:3px 8px;font-size:12px;font-weight:700;cursor:pointer}.fw-status option{color:var(--text);background:var(--surface);font-weight:500}.fw-body{padding:0 12px 12px;border-top:1px solid var(--border-soft)}.fw-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-soft);padding:10px 0}.fw-meta .spacer{flex:1}.fw-detail{display:block;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;color:var(--text);font:inherit;cursor:text}.fw-detail:hover{border-color:var(--border)}.fw-detail.placeholder{color:var(--text-faint);font-style:italic}.fw-detail-edit textarea{width:100%;border:1px solid var(--primary);border-radius:8px;padding:9px 11px;background:var(--input-bg);color:var(--text);font:inherit;line-height:1.55;resize:vertical}.fw-detail-actions{display:flex;gap:8px;margin-top:8px}.fw-comments-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-soft)}.proj-menu-count{margin-left:6px;background:var(--surface-2);color:var(--text-soft);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}@media(max-width:720px){.fw-head{flex-direction:column}.fw-search{margin-left:0;width:100%}.fw-peek{display:none}.fw-name{max-width:none}}.ui-next{--n-card: #ffffff;--n-muted: #f4f4f5;--n-border: #e4e4e7;--n-border-strong: #d4d4d8;--n-fg: #18181b;--n-fg-muted: #71717a;--n-radius: 8px;--n-radius-lg: 12px;--n-ring: rgba(97, 97, 255, .35);--n-ring: color-mix(in srgb, var(--primary) 40%, transparent);--n-shadow: 0 1px 2px 0 rgb(0 0 0 / .04)}[data-theme=dark] .ui-next{--n-card: #18181b;--n-muted: #27272a;--n-border: #27272a;--n-border-strong: #3f3f46;--n-fg: #fafafa;--n-fg-muted: #a1a1aa;--n-ring: rgba(123, 123, 255, .45);--n-ring: color-mix(in srgb, var(--primary) 55%, transparent);--n-shadow: 0 1px 2px 0 rgb(0 0 0 / .25)}.ui-next .page-head{margin-bottom:26px}.ui-next .page-head h1{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--n-fg)}.ui-next .page-head-right{gap:8px}.ui-next .btn{height:36px;padding:0 14px;border-radius:var(--n-radius);font-size:13.5px;font-weight:500;letter-spacing:-.005em;border:1px solid var(--n-border);background:var(--n-card);color:var(--n-fg);box-shadow:var(--n-shadow);transition:background .13s ease,border-color .13s ease,color .13s ease}.ui-next .btn:hover{background:var(--n-muted);border-color:var(--n-border-strong)}.ui-next .btn:focus-visible{outline:2px solid var(--n-ring);outline-offset:2px}.ui-next .btn.primary{background:var(--primary);border-color:transparent;color:#fff;font-weight:500}.ui-next .btn.primary:hover{background:var(--primary-dark);border-color:transparent}.ui-next .btn.ghost{background:transparent;border-color:transparent;color:var(--n-fg-muted);box-shadow:none}.ui-next .btn.ghost:hover{background:var(--n-muted);color:var(--n-fg);border-color:transparent}.ui-next .btn.danger-ghost{background:transparent;border-color:transparent;box-shadow:none}.ui-next .btn.danger-ghost:hover{background:#e2445c1f}.ui-next .btn.small{height:32px;padding:0 11px;font-size:13px}.ui-next .btn.tiny{height:28px;padding:0 9px;font-size:12.5px}.ui-next .task-search,.ui-next .field input:not([type=checkbox]):not([type=radio]):not([type=color]),.ui-next .field select:not([size]),.ui-next .field textarea{height:36px;border-radius:var(--n-radius);border:1px solid var(--n-border);background:var(--n-card);color:var(--n-fg);padding:0 12px;font-size:13.5px;transition:border-color .13s ease,box-shadow .13s ease}.ui-next .field textarea{height:auto;padding:9px 12px;line-height:1.55}.ui-next .task-search{width:230px}.ui-next .task-search::placeholder,.ui-next .field input::placeholder{color:var(--n-fg-muted)}.ui-next .field select[size]{border:1px solid var(--n-border);border-radius:var(--n-radius);background:var(--n-card);color:var(--n-fg);padding:4px;font-size:13.5px}.ui-next .task-search:focus,.ui-next .field input:not([type=checkbox]):not([type=radio]):focus,.ui-next .field select:focus,.ui-next .field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--n-ring)}.ui-next .field>span{font-size:13px;font-weight:500;color:var(--n-fg);letter-spacing:-.005em}.ui-next .form-hint{color:var(--n-fg-muted);font-size:12.5px;line-height:1.5}.ui-next .project-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ui-next .project-card{background:var(--n-card);border:1px solid var(--n-border);border-top-width:2px;border-radius:var(--n-radius-lg);box-shadow:var(--n-shadow);padding:18px 18px 16px;gap:14px;transition:border-color .15s ease,box-shadow .15s ease}.ui-next .project-card:hover{border-color:var(--n-border-strong);box-shadow:0 2px 8px -2px #00000014}.ui-next .project-card-name{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--n-fg)}.ui-next .project-card-desc{color:var(--n-fg-muted);font-size:13px;line-height:1.5}.ui-next .project-card-stats{color:var(--n-fg-muted);font-size:12.5px;gap:12px;flex-wrap:wrap;justify-content:flex-start}.ui-next .project-card-actions{border-top:1px solid var(--n-border);padding-top:13px;gap:6px}.ui-next .badge{font-size:11px;font-weight:500;letter-spacing:.01em;padding:2px 9px;border-radius:999px}.ui-next .key-tag{font-size:10.5px;font-weight:500;letter-spacing:.02em;background:var(--n-muted);color:var(--n-fg-muted);border:1px solid var(--n-border);border-radius:5px;padding:1px 6px}.ui-next .util-badge{font-size:11px;font-weight:500;padding:2px 9px;border-radius:999px;border:1px solid transparent}.ui-next .progress{height:6px;border-radius:999px;background:var(--n-muted)}.ui-next .progress-fill{border-radius:999px}.ui-next .progress-pct{font-size:12.5px;font-weight:500;color:var(--n-fg-muted);font-variant-numeric:tabular-nums}.ui-next .health-line{border-radius:var(--n-radius);border-left-width:2px;padding:6px 9px;margin:0 0 2px}.ui-next .health-line strong{font-weight:500}.ui-next .health-line.health-at_risk,.ui-next .health-line.health-off_track{background:var(--n-muted)}.ui-next .health-manual{border-color:var(--n-border);font-weight:500;text-transform:none;letter-spacing:0;font-size:11px}.ui-next .next-milestone{background:var(--n-muted);color:var(--n-fg-muted);border-radius:var(--n-radius);font-weight:500;font-size:12.5px}.ui-next .empty-state{background:var(--n-card);border:1px dashed var(--n-border-strong);border-radius:var(--n-radius-lg);padding:56px 32px}.ui-next .empty-state h3{font-size:16px;font-weight:600;letter-spacing:-.01em}.ui-next .empty-state p{color:var(--n-fg-muted)}.ui-next .modal{border-radius:var(--n-radius-lg);border:1px solid var(--n-border);background:var(--n-card);box-shadow:0 16px 48px -12px #00000040}.ui-next .modal-head{padding:20px 22px 4px}.ui-next .modal-head h3{font-size:16px;font-weight:600;letter-spacing:-.015em}.ui-next .modal-body{padding:18px 22px;gap:16px}.ui-next .modal-foot{border-top:1px solid var(--n-border);padding:14px 22px}.ui-next .settings-card,.ui-next .card{border-radius:var(--n-radius-lg);border:1px solid var(--n-border);background:var(--n-card);box-shadow:var(--n-shadow)}.ui-next .collab-row{border-radius:var(--n-radius)}.ui-next .collab-row:hover{background:var(--n-muted)}.ui-next .people-search{height:36px;border-radius:var(--n-radius);border:1px solid var(--n-border);background:var(--n-card);padding:0 12px}.ui-next .people-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--n-ring)}.ui-next-tag{font-size:10.5px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--n-fg-muted);background:var(--n-muted);border:1px solid var(--n-border);border-radius:999px;padding:2px 9px}.ui-next .sidebar{border-right:1px solid var(--n-border);background:var(--n-card)}.ui-next .nav a{border-radius:var(--n-radius);font-size:13.5px;font-weight:500;color:var(--n-fg-muted);letter-spacing:-.005em}.ui-next .nav a:hover{background:var(--n-muted);color:var(--n-fg)}.ui-next .nav a.active{background:var(--n-muted);color:var(--n-fg);font-weight:500;box-shadow:inset 2px 0 0 var(--primary)}.ui-next .side-projects{border-top:1px solid var(--n-border)}.ui-next .side-projects-title{font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--n-fg-muted)}.ui-next .side-project{border-radius:var(--n-radius);font-size:13px;color:var(--n-fg-muted)}.ui-next .side-project:hover{background:var(--n-muted);color:var(--n-fg)}.ui-next .side-project.active{background:var(--n-muted);color:var(--n-fg);font-weight:500}.ui-next .sidebar-foot{border-top:1px solid var(--n-border)}.ui-next .brand-name{font-weight:600;letter-spacing:-.015em}.ui-next .collapse-btn{border:1px solid var(--n-border);background:var(--n-card);border-radius:999px}.ui-next .collapse-btn:hover{background:var(--n-muted);border-color:var(--n-border-strong)}.ui-next .tabs{border-bottom:1px solid var(--n-border)}.ui-next .tab{font-size:13.5px;font-weight:500;color:var(--n-fg-muted);letter-spacing:-.005em}.ui-next .tab:hover{color:var(--n-fg)}.ui-next .tab.active{color:var(--n-fg);border-bottom-color:var(--primary);font-weight:500}.ui-next .tab-badge{border-radius:999px;font-weight:500;font-size:11px}.ui-next .card,.ui-next .stat-tile{background:var(--n-card);border:1px solid var(--n-border);border-radius:var(--n-radius-lg);box-shadow:var(--n-shadow)}.ui-next .card-head h2{font-size:15px;font-weight:600;letter-spacing:-.01em}.ui-next .stat-value{font-weight:600;letter-spacing:-.02em}.ui-next .stat-label{color:var(--n-fg-muted);font-size:12.5px}.ui-next .table th{font-size:11px;font-weight:500;letter-spacing:.03em;color:var(--n-fg-muted);border-bottom:1px solid var(--n-border)}.ui-next .table td{border-bottom:1px solid var(--n-border);font-size:13.5px}.ui-next .task-group-head{font-size:14px;font-weight:600;letter-spacing:-.01em}.ui-next .group-count{color:var(--n-fg-muted);font-weight:500}.ui-next .task-table-head{font-size:11px;font-weight:500;letter-spacing:.03em;color:var(--n-fg-muted)}.ui-next .task-row{background:var(--n-card);border:1px solid var(--n-border);border-radius:var(--n-radius);box-shadow:none;transition:border-color .13s ease,background .13s ease}.ui-next .task-row:hover{border-color:var(--n-border-strong);box-shadow:none}.ui-next .task-add input,.ui-next .subtask-add input{border-radius:var(--n-radius);border:1px dashed var(--n-border-strong);color:var(--n-fg-muted);font-size:13.5px}.ui-next .task-add input:focus,.ui-next .subtask-add input:focus{border-style:solid;border-color:var(--primary);box-shadow:0 0 0 3px var(--n-ring)}.ui-next .cell-select,.ui-next .cell-date{border-radius:var(--n-radius);font-size:13px;color:var(--n-fg)}.ui-next .cell-select:hover,.ui-next .cell-date:hover{border-color:var(--n-border-strong)}.ui-next .sub-move{border:1px solid var(--n-border);background:var(--n-card);border-radius:var(--n-radius);font-size:12.5px;color:var(--n-fg-muted)}.ui-next .sub-move:hover{border-color:var(--n-border-strong);color:var(--n-fg)}.ui-next .quick-filter{border:1px solid var(--n-border);background:var(--n-card);border-radius:var(--n-radius);font-size:13px;color:var(--n-fg)}.ui-next .quick-filter:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--n-ring)}.ui-next .pill-select{border-radius:var(--n-radius);font-weight:500;font-size:12.5px}.ui-next .kanban-col{background:var(--n-muted);border-radius:var(--n-radius-lg)}.ui-next .kanban-col-head{font-size:13px;font-weight:600;letter-spacing:-.005em}.ui-next .kanban-card{background:var(--n-card);border:1px solid var(--n-border);border-radius:var(--n-radius);box-shadow:var(--n-shadow)}.ui-next .kanban-card:hover{border-color:var(--n-border-strong)}.ui-next .kanban-card-name{font-size:13.5px;font-weight:500;letter-spacing:-.005em}.ui-next .proj-menu,.ui-next .person-pop,.ui-next .notif-panel,.ui-next .mention-list{background:var(--n-card);border:1px solid var(--n-border);border-radius:var(--n-radius-lg);box-shadow:0 10px 32px -8px #00000038}.ui-next .proj-menu-item,.ui-next .person-option,.ui-next .mention-option{border-radius:var(--n-radius);font-size:13.5px;font-weight:500}.ui-next .proj-menu-item:hover,.ui-next .person-option:hover,.ui-next .person-option.active,.ui-next .mention-option:hover{background:var(--n-muted)}.ui-next .mention-option.active,.ui-next .mention-option.active:hover{background:var(--primary);color:#fff}.ui-next .proj-menu-title{font-size:11px;font-weight:500;letter-spacing:.03em;color:var(--n-fg-muted)}.ui-next .person-search{border-radius:var(--n-radius);border:1px solid var(--n-border);font-size:13.5px}.ui-next .person-search:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--n-ring)}.ui-next .confirm-box{background:var(--n-card);border:1px solid var(--n-border);border-radius:var(--n-radius-lg);box-shadow:0 20px 56px -14px #00000052}.ui-next .confirm-box h3{font-size:16px;font-weight:600;letter-spacing:-.015em}.ui-next .confirm-msg{color:var(--n-fg-muted)}.ui-next .toast{border-radius:var(--n-radius);font-weight:500;font-size:13.5px}.ui-next .drawer{background:var(--n-card);border-left:1px solid var(--n-border)}.ui-next .drawer-section{border-top:1px solid var(--n-border)}.ui-next .milestone-card,.ui-next .sprint-card,.ui-next .overdue-group,.ui-next .resource-card,.ui-next .ai-draft,.ui-next .tpl-card{background:var(--n-card);border:1px solid var(--n-border);border-radius:var(--n-radius-lg);box-shadow:var(--n-shadow)}.ui-next .muted{color:var(--n-fg-muted)}.ui-next .layout-switch{background:var(--n-muted);border:1px solid var(--n-border)}.ui-next .layout-switch button{color:var(--n-fg-muted);font-weight:500}.ui-next .layout-switch button.active{background:var(--n-card);color:var(--n-fg);box-shadow:var(--n-shadow)}.ui-next .stage-tab{color:var(--n-fg-muted);font-weight:500}.ui-next .stage-tab:hover{background:var(--n-muted);color:var(--n-fg)}.ui-next .stage-tab.active{background:var(--n-card);color:var(--n-fg);border-color:var(--n-border-strong)}.ui-next .stage-tab-count{background:var(--n-muted);color:var(--n-fg-muted)}.ui-next .stage-tab.active .stage-tab-count{background:var(--n-muted);color:var(--n-fg)}.ui-next .cell-date.overdue.overdue{color:var(--danger);font-weight:700}.ui-next .cell-date.due-today.due-today{color:var(--warn);font-weight:700}.ui-next .field input.field-date.overdue:not([type=checkbox]):not([type=radio]):not([type=color]){color:var(--danger);font-weight:700;border-color:var(--danger)}.ui-next .field input.field-date.due-today:not([type=checkbox]):not([type=radio]):not([type=color]){color:var(--warn);font-weight:700;border-color:var(--warn)}.ui-next .muted.overdue-date{color:var(--danger);font-weight:700}.ui-next .muted.due-today-text{color:var(--warn);font-weight:700}
