:root{--text:#4a4458;--text-h:#1e1433;--text-muted:#7a7290;--bg:#f6f4fb;--surface:#fff;--border:#e7e2f2;--accent:#6d4aff;--accent-contrast:#fff;--danger:#dc2626;--sidebar-bg:#1b1340;--sidebar-hover:#ffffff14;--sidebar-active:#ffffff24;--sidebar-text:#cbc3ec;--sidebar-text-h:#fff;--sidebar-text-muted:#9184c4;--sidebar-border:#ffffff1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:15px/1.5 system-ui,Segoe UI,Hiragino Kaku Gothic ProN,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--text:#c7c0e0;--text-h:#f5f2ff;--text-muted:#8f87ab;--bg:#14101f;--surface:#1e1830;--border:#332a52;--accent:#8b6dff;--accent-contrast:#14101f;--sidebar-bg:#0f0a22;--sidebar-hover:#ffffff0f;--sidebar-active:#ffffff1a;--sidebar-text-muted:#8579ab}}:root[data-theme=dark]{--text:#c7c0e0;--text-h:#f5f2ff;--text-muted:#8f87ab;--bg:#14101f;--surface:#1e1830;--border:#332a52;--accent:#8b6dff;--accent-contrast:#14101f;--sidebar-bg:#0f0a22;--sidebar-hover:#ffffff0f;--sidebar-active:#ffffff1a;--sidebar-text-muted:#8579ab}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2,h3{color:var(--text-h);margin:0 0 8px}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:6px;padding:6px 12px}button.danger{color:var(--danger);border-color:var(--danger)}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px}input[type=checkbox]{appearance:none;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;border-radius:4px;flex-shrink:0;place-content:center;width:16px;min-width:16px;height:16px;margin:0;padding:0;transition:background-color .12s,border-color .12s;display:inline-grid}input[type=checkbox]:after{content:"";width:9px;height:9px;box-shadow:inset 1em 1em var(--accent-contrast);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transition:transform .1s ease-in-out;transform:scale(0)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{transform:scale(1)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent)}.page-content{flex:1;min-height:0;padding:24px;overflow:auto}.page-loading{padding:24px}.app-shell{height:100svh;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;gap:20px;width:240px;padding:16px 12px;display:flex;overflow-y:auto}.mobile-nav-toggle,.sidebar-backdrop{display:none}@media (width<=768px){.workload-row-label{width:68px}.workload-assignee-label .workload-assignee-name{display:none}.mobile-nav-toggle{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin:8px 0 0 8px;display:flex}.sidebar{z-index:55;max-width:85vw;transition:transform .22s cubic-bezier(.32,.72,0,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:12px 0 32px #00000040}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:54;opacity:0;pointer-events:none;background:#0006;transition:opacity .22s;display:block;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}}.sidebar-brand{padding:4px 8px;text-decoration:none;display:flex}.sidebar-brand img{width:auto;height:80px}.global-search{padding:0 8px 8px;position:relative}.global-search-input-wrap{background:var(--sidebar-hover);border:1px solid var(--sidebar-border);color:var(--sidebar-text-muted);border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:flex}.global-search-input-wrap input{min-width:0;color:var(--sidebar-text-h);background:0 0;border:none;flex:1;padding:0;font-size:13px}.global-search-input-wrap input::placeholder{color:var(--sidebar-text-muted)}.global-search-input-wrap input:focus{outline:none}.global-search-clear{color:var(--sidebar-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.global-search-clear:hover{color:var(--sidebar-text-h)}.global-search-results{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:8px;max-width:calc(100vw - 16px);max-height:70vh;padding:6px;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000059}.global-search-empty{color:var(--text-muted);padding:10px 8px;font-size:13px}.global-search-group+.global-search-group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.global-search-group-label{color:var(--text-muted);padding:4px 8px;font-size:11px;font-weight:600}.global-search-result{width:100%;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.global-search-result:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.global-search-result-icon-placeholder{flex-shrink:0;width:20px;height:20px}.global-search-result-main{flex-direction:column;gap:1px;min-width:0;display:flex}.global-search-result-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.global-search-result-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-nav a,.sidebar-section-header{color:var(--sidebar-text);border-radius:6px;align-items:center;gap:10px;padding:8px;font-size:14px;text-decoration:none;display:flex}.sidebar-nav a:hover,.sidebar-section-header:hover,.sidebar-project-list a:hover{background:var(--sidebar-hover)}.sidebar-nav a.active,.sidebar-section-header.active,.sidebar-project-list a.active{background:var(--sidebar-active);color:var(--sidebar-text-h);font-weight:600}.sidebar-nav a .inbox-mention-badge,.sidebar-nav a .inbox-unread-badge{flex-shrink:0}.sidebar-nav a>span:nth-child(2){flex:1}.sidebar-section{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex}.sidebar-section-scroll{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.sidebar-section-header{color:var(--sidebar-text-h);font-weight:600}.sidebar-project-list{flex-direction:column;gap:2px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.sidebar-project-list li{align-items:center;display:flex;position:relative}.sidebar-project-drag-handle{color:var(--sidebar-text-muted);opacity:0;cursor:grab;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;transition:opacity .1s;display:flex;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.sidebar-project-list li:hover .sidebar-project-drag-handle{opacity:1}.sidebar-project-list a{min-width:0;color:var(--sidebar-text);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex:1;padding:6px 8px 6px 30px;font-size:13px;text-decoration:none;display:block;overflow:hidden}.sidebar-favorite-star{color:var(--sidebar-text-muted);opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px 6px;transition:opacity .1s;display:flex}.sidebar-project-list li:hover .sidebar-favorite-star,.sidebar-favorite-star.active{opacity:1}.sidebar-favorite-star.active{color:#f5b820}.sidebar-section.favorites{flex:0 auto}.sidebar-org-group{flex-direction:column;gap:2px;display:flex}.sidebar-org-header{width:100%;color:var(--sidebar-text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;font-weight:600;display:flex}.sidebar-org-header:hover{background:var(--sidebar-hover)}.sidebar-chevron{flex-shrink:0;transition:transform .15s}.sidebar-chevron.expanded{transform:rotate(90deg)}.sidebar-user-menu-wrap{border-top:1px solid var(--sidebar-border);position:relative}.sidebar-user{width:100%;color:var(--sidebar-text-h);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 8px;font-size:13px;font-weight:600;display:flex}.sidebar-user:hover{background:var(--sidebar-hover)}.sidebar-user-menu{background:var(--surface);border:1px solid var(--border);z-index:6;border-radius:8px;flex-direction:column;margin-bottom:4px;padding:4px;display:flex;position:absolute;bottom:100%;left:8px;right:8px;box-shadow:0 -4px 16px #0003}.sidebar-user-menu a,.sidebar-user-menu button{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;padding:8px;font-size:13px;text-decoration:none;display:block}.sidebar-user-menu a:hover,.sidebar-user-menu button:hover{background:var(--bg)}.inbox-unread-badge{background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.inbox-mention-badge{background:var(--danger);color:#fff;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.sidebar-user-menu-theme{color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.theme-toggle{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:flex}.theme-toggle button{width:24px;height:24px;color:var(--text-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle button:hover{color:var(--text-h)}.theme-toggle button.active{background:var(--accent);color:var(--accent-contrast)}.inbox-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.inbox-header-actions{align-items:center;gap:10px;display:flex}.push-toggle-wrap{align-items:center;gap:8px;display:flex}.push-toggle-button{align-items:center;gap:6px;display:flex}.push-toggle-button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.push-toggle-error{color:var(--danger);font-size:12px}.inbox-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.inbox-tabs button{color:var(--text);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 12px;font-size:13px}.inbox-tabs button.active{color:var(--text-h);border-bottom-color:var(--accent);font-weight:600}.notification-card-actions{gap:2px;margin-left:4px;display:flex}.notification-card-actions button{color:var(--text);background:0 0;border:none;padding:2px 4px}.notification-card-actions button.active,.notification-card-actions button:hover{color:var(--accent)}.inbox-header h2{align-items:center;gap:8px;margin:0;display:flex}.notification-group{max-width:640px;margin-bottom:20px}.notification-group-header{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.notification-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notification-card{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:8px;flex-direction:column;gap:6px;padding:12px 28px 12px 12px;display:flex;position:relative}.notification-card.unread{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.notification-card.selected{box-shadow:0 0 0 1px var(--accent);border-width:2px;padding:11px 27px 11px 11px}.notification-project{color:var(--accent);font-size:11px;font-weight:600}.notification-task-title{color:var(--text-h);font-size:14px;font-weight:600}.notification-actor-line{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.notification-actor-line strong{color:var(--text-h);font-weight:600}.notification-time{color:var(--text);white-space:nowrap;margin-left:auto;font-size:12px}.notification-quote{border-left:2px solid var(--border);background:var(--bg);border-radius:0 6px 6px 0;flex-direction:column;gap:4px;margin-left:30px;padding:8px 10px;display:flex}.notification-quote-header{color:var(--text-h);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.notification-quote-body{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.notification-unread-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:14px;right:12px}.login-page{justify-content:center;align-items:center;min-height:100svh;display:flex}.login-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;width:320px;padding:32px;display:flex}.login-logo{width:100%;height:auto;margin-bottom:8px}.login-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}.error{color:var(--danger);margin:0;font-size:13px}.org-node-section{margin-bottom:16px;padding-left:8px}.org-node-section .org-node-children{border-left:1px solid var(--border);padding-left:20px}.org-node-type{color:var(--text);font-size:12px;font-weight:400}.project-list{flex-direction:column;gap:4px;margin:4px 0 8px;padding:0;list-style:none;display:flex}.project-list li{align-items:center;gap:4px;display:flex}.project-list a{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex:1;min-width:0;padding:6px 10px;text-decoration:none;display:inline-block}.project-list .sidebar-favorite-star{opacity:1}.workload-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.workload-toolbar button,.workload-toolbar label{white-space:nowrap}.workload-toolbar-right{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.workload-export-button{align-items:center;gap:6px;display:flex}.workload-nav{gap:8px;display:flex}.workload-view-toggle{gap:4px;display:flex}.workload-view-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.resource-panel{grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));gap:12px;display:grid}.resource-panel-empty{grid-column:1/-1}.resource-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:8px;padding:14px;display:flex}.resource-card-header{align-items:center;gap:8px;display:flex}.resource-card-drag-handle{color:var(--text);opacity:.6;cursor:grab;touch-action:none;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.resource-card-drag-handle:hover{opacity:1}.resource-card-name{flex-direction:column;flex:1;min-width:0;display:flex}.resource-card-subtext{color:var(--text-muted);font-size:12px}.resource-utilization-value{font-size:15px;font-weight:700}.resource-utilization-value.normal{color:#22c55e}.resource-utilization-value.high{color:#eab308}.resource-utilization-value.over{color:#ef4444}.resource-bar-track{background:var(--bg);border-radius:999px;height:8px;overflow:hidden}.resource-bar-fill{border-radius:999px;height:100%}.resource-bar-fill.normal{background:#22c55e}.resource-bar-fill.high{background:#eab308}.resource-bar-fill.over{background:#ef4444}.resource-card-detail{color:var(--text-muted);margin:0;font-size:12px}.resource-card-stats{flex-wrap:wrap;gap:6px;display:flex}.resource-card-stat{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:11px}.resource-card-stat.danger{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--bg))}.resource-card-stat.accent{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg))}.resource-card-skills{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.resource-card-skills-label{color:var(--text-muted);font-size:11px}.resource-card-skills-list{flex-wrap:wrap;gap:6px;display:flex}.resource-skill-chip{border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.resource-skill-chip-time{color:var(--text-muted);font-size:11px}.workload-scroll{padding-bottom:16px;overflow-x:auto}.workload-inner{flex-direction:column;width:fit-content;display:flex}.workload-row{border-bottom:1px solid var(--border);display:flex}.workload-month-row{border-bottom:none}.workload-row-label{background:var(--bg);z-index:3;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;width:180px;padding:4px 8px;font-size:13px;display:flex;position:sticky;left:0;overflow:hidden}.workload-assignee-label{color:var(--text-h);font-family:inherit;font-weight:600;font-size:inherit;cursor:pointer;text-align:left;border:none}.workload-assignee-chevron{opacity:.7;flex-shrink:0;transition:transform .15s}.workload-assignee-chevron.expanded{transform:rotate(90deg)}.workload-show-completed-toggle{color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.workload-org-section{margin-top:20px}.workload-org-section:first-child{margin-top:0}.workload-org-heading{width:fit-content;color:var(--text-h);margin:0 0 8px;padding:2px 0;font-size:14px;position:sticky;left:0}.workload-assignee-block{border-top:2px solid var(--border)}.workload-assignee-block:first-child{border-top:none}.workload-project-label{color:var(--text);opacity:.85;padding-left:28px}.workload-project-label svg{opacity:.7;flex-shrink:0}.workload-row-body-static{display:flex}.workload-day-cell{text-align:center;width:40px;color:var(--text);flex-shrink:0;padding:6px 0;font-size:11px}.workload-day-header{color:var(--text-h);font-weight:600}.workload-month-cell{text-align:left;color:var(--text-h);white-space:nowrap;padding-left:2px;font-weight:600;overflow:visible}.workload-day-cell.today{background:color-mix(in srgb, var(--accent) 12%, transparent)}.workload-day-cell.weekend{background:color-mix(in srgb, var(--border) 55%, transparent)}.workload-day-cell.today.weekend{background:color-mix(in srgb, var(--accent) 12%, transparent)}.workload-total-row .workload-day-cell{color:var(--accent);font-weight:600}.workload-row-body{position:relative}.day-grid-overlay{pointer-events:none;z-index:0;position:absolute;inset:0}.day-grid-col{border-right:1px solid color-mix(in srgb, var(--border) 60%, transparent);position:absolute;top:0;bottom:0}.day-grid-col.weekend{background:color-mix(in srgb, var(--border) 55%, transparent)}.workload-empty{padding:8px}.workload-bar{color:#fff;text-overflow:ellipsis;white-space:nowrap;cursor:grab;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;overflow:hidden}.workload-bar.short{overflow:visible}.workload-bar-label-outside{color:var(--text-h);white-space:nowrap;margin-left:6px;font-size:11px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.workload-bar-todo{background:#6b7280}.workload-bar-in-progress{background:var(--accent)}.workload-bar-done{background:#16a34a}.report-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.report-widget-wide{grid-column:1/-1}@media (width<=720px){.report-widget-grid{grid-template-columns:1fr}}.report-widget{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:16px;overflow-x:auto}.report-widget h3{color:var(--text-h);margin:0 0 16px;font-size:14px}.report-chart{flex-direction:column;gap:8px;display:flex}.report-chart-legend{color:var(--text);gap:20px;font-size:12px;display:flex}.report-chart-legend-item{align-items:center;gap:6px;display:flex}.report-chart-legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.report-chart-legend-text{flex-direction:column;line-height:1.3;display:flex}.report-chart-legend-text strong{color:var(--text-h);font-size:12px;font-weight:600}.report-chart-legend-text small{color:var(--text);opacity:.6;font-size:10px}.report-chart-body{gap:6px;display:flex}.report-chart-yaxis{flex-shrink:0;width:38px;height:320px;position:relative}.report-chart-yaxis-tick{text-align:right;color:var(--text);opacity:.7;font-size:11px;position:absolute;left:0;right:6px;transform:translateY(50%)}.report-chart-yaxis-caption{color:var(--text);opacity:.6;margin-left:44px;font-size:11px}.report-chart-scroll{flex:1;min-width:0;overflow-x:auto}.report-chart-canvas{min-width:100%;height:320px;display:inline-block;position:relative}.report-chart-gridline{border-top:1px dashed var(--border);position:absolute;left:0;right:0}.report-chart-plot{align-items:flex-end;gap:28px;height:100%;padding:0 12px;display:flex}.report-chart-group{flex-direction:column;flex:1 0 auto;align-items:center;gap:6px;height:100%;display:flex}.report-chart-bars{flex:1;align-items:flex-end;gap:6px;height:100%;display:flex}.report-chart-bar-wrap{flex-direction:column;justify-content:flex-end;align-items:center;width:36px;height:100%;display:flex;position:relative}.report-chart-bar-value{color:var(--text-h);white-space:nowrap;margin-bottom:4px;font-size:12px;font-weight:600}.report-chart-bar{border-radius:3px 3px 0 0;width:100%;min-height:2px}.report-chart-axis-label{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;max-width:90px;display:flex}.report-chart-axis-name{color:var(--text-h);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:12px;overflow:hidden}.report-widget-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;display:flex}.report-filter-popover-wrap{position:relative}.report-filter-trigger{color:var(--text);opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:flex}.report-filter-trigger:hover{background:var(--bg);opacity:1}.report-filter-trigger.active{color:var(--accent);opacity:1}.report-widget-showall{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.report-widget-showall:hover{background:var(--bg)}.workload-toolbar .report-filter-popover{inset:calc(100% + 6px) 0 auto auto}.report-filter-popover{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:260px;padding:8px;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 16px #00000040}.report-filter-search{width:100%;margin-bottom:6px}.report-filter-popover-list{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.report-filter-option{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.report-filter-option:hover{background:var(--bg)}.report-filter-popover-actions{border-top:1px solid var(--border);justify-content:space-between;margin-top:6px;padding-top:6px;display:flex}.portfolio-list{flex-wrap:wrap;gap:12px;max-width:900px;display:flex}.portfolio-card{background:var(--surface);border:1px solid var(--border);width:220px;color:inherit;border-radius:8px;padding:14px;text-decoration:none;display:block}.portfolio-card h3{margin:0 0 6px;font-size:15px}.portfolio-card-meta{color:var(--text);margin:0;font-size:12px}.portfolio-card-add,.portfolio-card-add-input{width:220px;height:68px}.portfolio-card-add{text-align:left;color:var(--text);border:1px dashed var(--border);background:0 0}.portfolio-back-link{margin-bottom:8px;font-size:13px;text-decoration:none;display:inline-block}.portfolio-detail-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.portfolio-detail-header h2{cursor:text;margin:0}.portfolio-title-input{color:var(--text-h);background:0 0;border:none;flex:1;padding:2px 0;font-size:22px;font-weight:700}.portfolio-table{flex-direction:column;gap:4px;max-width:960px;margin-bottom:16px;display:flex}.portfolio-table-header,.portfolio-table-row{grid-template-columns:2fr 100px 140px 100px 120px 24px;align-items:center;gap:12px;padding:8px 10px;display:grid}.portfolio-table-header{color:var(--text);font-size:12px;font-weight:600}.portfolio-table-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px}.portfolio-project-name{color:var(--text-h);flex-direction:column;min-width:0;text-decoration:none;display:flex}.portfolio-project-name span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portfolio-org-path{color:var(--text);font-size:11px}.portfolio-status-badge{border-radius:999px;width:fit-content;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.portfolio-status-badge.not-started{background:color-mix(in srgb, var(--text) 15%, transparent);color:var(--text)}.portfolio-status-badge.on-track{color:#16a34a;background:#22c55e33}.portfolio-status-badge.at-risk{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}.portfolio-status-badge.completed{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.portfolio-progress{align-items:center;gap:8px;display:flex}.portfolio-progress-bar{background:var(--bg);border-radius:999px;flex:1;height:6px;overflow:hidden}.portfolio-progress-fill{background:var(--accent);height:100%;display:block}.portfolio-progress-label{color:var(--text);white-space:nowrap;font-size:11px}.portfolio-remove-button{color:var(--text);background:0 0;border:none;padding:0;font-size:16px;line-height:1}.portfolio-remove-button:hover{color:var(--danger)}.portfolio-add-row{max-width:400px}.project-view-tabs{gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.project-view-tabs a{white-space:nowrap;color:var(--text);border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:13px;text-decoration:none}.project-view-tabs a.active{background:var(--surface);color:var(--text-h);border:1px solid var(--border)}.board-page{flex-direction:column;height:100%;display:flex}.board-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.board-page-header h2{overflow-wrap:break-word;margin:0}.board-page-title{align-items:center;gap:6px;min-width:0;display:flex}.board-favorite-star{color:var(--text);opacity:.6;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.board-favorite-star:hover{opacity:1}.board-favorite-star.active{opacity:1;color:#f5b820}.board-page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wiki-panel .task-detail-header{justify-content:space-between}.wiki-content-editor{resize:vertical;width:100%;min-height:320px}.wiki-content-view{min-height:200px}.workflow-rule-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.workflow-rule-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.workflow-rule-item.disabled{opacity:.5}.workflow-rule-item-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.workflow-rule-name{color:var(--text-h);font-size:13px;font-weight:600}.workflow-rule-summary{color:var(--text);margin:0 0 6px;font-size:12px;line-height:1.5}.workflow-rule-toggle{align-items:center;gap:6px;width:fit-content;font-size:12px;display:flex}.workflow-rule-form{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.workflow-rule-form label{color:var(--text);flex-direction:column;gap:4px;font-size:12px;display:flex}.workflow-rule-form-actions{justify-content:flex-end;gap:8px;display:flex}.board-toolbar{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:8px;display:flex}.board-show-completed-toggle{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.board-select-mode-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:4px 10px;font-size:13px}.board-select-mode-button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--bg));color:var(--accent)}.task-card-select-checkbox{flex-shrink:0;margin:0}.task-card.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface))}.board-bulk-bar{background:var(--surface);border:1px solid var(--border);z-index:40;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.board-bulk-count{color:var(--text-h);white-space:nowrap;font-size:13px;font-weight:600}.board-bulk-bar select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:5px 6px;font-size:12px}.board-bulk-bar button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);white-space:nowrap;border-radius:6px;padding:5px 10px;font-size:12px}.board-bulk-bar button.danger{color:#e5484d;border-color:#e5484d}.board{flex:1;gap:16px;min-height:0;padding-bottom:16px;display:flex;overflow-x:auto}.board-holding-row{border-bottom:1px dashed var(--border);flex-shrink:0;margin-bottom:16px;padding-bottom:16px}.board-holding-hint{color:var(--text);margin:0 0 8px;font-size:12px}.board-holding-column{width:100%;max-height:320px;display:flex}.board-holding-column .board-column{width:100%;max-height:320px}.board-holding-column .board-column-body{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:8px;display:grid}.board-column{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex-shrink:0;width:280px;min-height:0;padding:10px;display:flex}.board-column-header{flex-shrink:0;align-items:center;gap:6px;margin-bottom:8px;display:flex}.board-column-header h3{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;overflow:hidden}.board-column-title-editable{cursor:text}.board-column-rename-input{flex:1;min-width:0;font-weight:600}.board-column-count{color:var(--text);flex-shrink:0;font-size:12px}.board-column-delete{color:var(--text);background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.board-column-delete:hover{color:var(--danger)}.board-add-section{flex-shrink:0;width:220px}.board-add-section-button{text-align:left;width:100%;color:var(--text);border:1px dashed var(--border);background:0 0}.board-column-body{flex-direction:column;flex:1;gap:8px;min-height:40px;display:flex;overflow-y:auto}.board-column-add{text-align:left;color:var(--text);border:1px dashed var(--border);margin-top:8px}.board-column-add-input{width:100%;margin-top:8px}.task-card{background:var(--bg);border:1px solid var(--border);cursor:grab;border-radius:8px;padding:10px}.task-card-overlay{cursor:grabbing;width:260px;transform:rotate(2deg);box-shadow:0 12px 28px #00000040}.task-card-header{align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.task-card-complete-button{border:1.5px solid var(--border);width:18px;height:18px;color:var(--border);background:0 0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;padding:0;display:flex}.task-card-complete-button:hover{color:#22c55e;border-color:#22c55e}.task-card-complete-button.done{color:#fff;background:#22c55e;border-color:#22c55e}.task-card-title{flex:1;min-width:0;margin:0;font-weight:500}.task-card-title.done{opacity:.6;text-decoration:line-through}.task-card-estimate-pill{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:999px;margin-bottom:6px;padding:3px 8px;font-size:11px;display:inline-block}.task-card-dungeon-badge{background:color-mix(in srgb, var(--accent) 15%, var(--bg));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--accent);border-radius:999px;margin:-2px 0 6px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.task-card-tags{align-items:center;gap:4px;margin-bottom:6px;display:flex}.task-card-tag-dot{border-radius:999px;width:8px;height:8px}.task-card-meta{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.task-card-due.overdue{color:var(--danger);font-weight:600}.task-detail-backdrop{opacity:0;pointer-events:none;z-index:40;background:#00000047;transition:opacity .28s;position:fixed;inset:0}.task-detail-backdrop.open{opacity:1;pointer-events:auto}.task-detail-panel{--task-detail-panel-width:clamp(min(495px, 100vw), 50%, 900px);width:var(--task-detail-panel-width);background:var(--surface);border-left:1px solid var(--border);z-index:41;flex-direction:column;gap:12px;max-width:100vw;padding:16px 16px 0;transition:transform .28s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden auto;transform:translate(100%);box-shadow:-12px 0 32px #0000002e}.task-detail-panel.docked{width:auto;box-shadow:none;left:928px}.task-detail-panel.open{transform:translate(0)}.task-detail-panel.fullscreen{width:100%;max-width:none;transition:transform .28s cubic-bezier(.32,.72,0,1),width .18s}.task-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.task-detail-breadcrumb{color:var(--text);opacity:.65;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex-shrink:0;max-width:100%;padding:0 0 8px;font-size:13px;line-height:1.5;display:block;overflow:hidden}.task-detail-breadcrumb:hover{opacity:1;text-decoration:underline}.task-detail-breadcrumb-slash{margin-left:2px}.task-complete-toggle-button{white-space:nowrap;border:1px solid var(--border);color:var(--text);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:flex}.task-complete-toggle-button.done{color:#22c55e;background:#22c55e33;border-color:#22c55e}.task-status-controls{align-items:center;gap:8px;display:flex}.task-status-select{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:600}.task-status-select-todo{color:#6b7280;border-color:#6b7280}.task-status-select-in_progress{color:var(--accent);border-color:var(--accent)}.task-status-select-done{color:#16a34a;border-color:#16a34a}.task-detail-header-actions,.task-approval-controls{align-items:center;gap:6px;display:flex}.approval-status-badge{white-space:nowrap;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;display:inline-flex}.approval-status-badge.small{padding:2px 8px;font-size:11px}.approval-status-badge.approved{color:#22c55e;background:#22c55e33;border-color:#22c55e}.approval-status-badge.rejected{color:#ef4444;background:#ef444433;border-color:#ef4444}.approval-status-badge.pending{color:#eab308;background:#eab30833;border-color:#eab308}.approval-approve-button,.approval-reject-button{white-space:nowrap;border:1px solid var(--border);color:var(--text);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:flex}.approval-approve-button{color:#22c55e;border-color:#22c55e}.approval-approve-button:hover{background:#22c55e26}.approval-reject-button{color:#ef4444;border-color:#ef4444}.approval-reject-button:hover{background:#ef444426}.task-share-button{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:flex}.icon-button{width:30px;height:30px;color:var(--text);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:2px;padding:0;display:flex}.icon-button:hover{background:var(--bg)}.icon-button.active{color:var(--accent)}.icon-button-count{font-size:10px;line-height:1}.board-more-actions-inline{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.board-more-action-button{border:1px solid var(--border);color:var(--text);white-space:nowrap;background:0 0;border-radius:6px;padding:4px 8px;font-size:12px}.board-more-action-button:hover{background:var(--bg)}.board-more-action-button:disabled{opacity:.5}.more-menu-wrap{position:relative}.board-page-header-actions .more-menu-wrap{display:none}@media (width<=768px){.board-more-actions-inline{display:none}.board-page-header-actions .more-menu-wrap{display:block}}.more-menu{background:var(--surface);border:1px solid var(--border);z-index:6;white-space:nowrap;border-radius:8px;flex-direction:column;min-width:100px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0003}.more-menu button{text-align:left;background:0 0;border:none;border-radius:6px;padding:6px 8px}.more-menu button:hover{background:var(--bg)}.task-follower-stack{align-items:center;gap:2px;margin-right:4px;display:flex}.task-follower-avatar-button{background:0 0;border:none;border-radius:50%;padding:0;line-height:0}.task-follower-picker-wrap{position:relative}.task-follower-add-button{border-radius:50%;width:24px;height:24px;padding:0;font-size:14px;line-height:1}.task-follower-picker{background:var(--surface);border:1px solid var(--border);z-index:6;white-space:nowrap;border-radius:8px;gap:6px;margin-top:4px;padding:8px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0003}.task-detail-assignee-row{align-items:center;gap:8px;display:flex}.task-detail-assignee-row select{flex:1}.task-detail-subtasks{border-top:1px solid var(--border);padding-top:12px}.task-detail-subtasks h4{margin-bottom:8px}.subtask-list{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.subtask-item{align-items:center;gap:8px;width:100%;font-size:13px;display:flex}.subtask-title{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.subtask-title.done{color:var(--text);text-decoration:line-through}.subtask-item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.subtask-popover-wrap{position:relative}.subtask-icon-button{min-width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0 4px;font-size:12px;display:flex}.subtask-icon-button:hover{background:var(--bg);border-color:var(--border)}.subtask-icon-button.active{color:var(--accent);border-color:var(--border)}.subtask-assignee-button{border-radius:999px;padding:0;overflow:hidden}.subtask-popover{z-index:6;background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:8px;gap:6px;max-width:calc(100vw - 24px);padding:8px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0003}.manual-time-popover-wrap .manual-time-popover{left:0;right:auto}.manual-time-input{width:70px}.subtask-add-row{align-items:center;display:flex;position:relative}.subtask-add-input{width:100%;padding-right:68px}.subtask-add-icons{gap:2px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.task-detail-description-view{white-space:pre-wrap;word-break:break-word;cursor:text;min-height:60px;padding:6px 0;font-size:13px}.auto-link{color:var(--accent);text-decoration:underline}.richtext-heading{margin:6px 0 2px;line-height:1.3}h1.richtext-heading{font-size:1.6em}h2.richtext-heading{font-size:1.3em}h3.richtext-heading{font-size:1.1em}.richtext-hr{border:none;border-top:1px solid var(--border);margin:8px 0}.richtext-blockquote{border-left:3px solid var(--border);color:var(--text);opacity:.85;margin:4px 0;padding:2px 10px}.richtext-list{margin:4px 0;padding-left:22px}.richtext-code-block{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:6px 0;padding:8px 10px;font-size:12px;overflow-x:auto}.inline-code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.9em}.richtext-image{border-radius:6px;max-width:100%;margin:4px 0}.formatting-toolbar-bar{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.formatting-toolbar-bar button{border:1px solid var(--border);white-space:nowrap;background:0 0;border-radius:6px;padding:4px 8px;font-size:12px;line-height:1.2}.formatting-toolbar-bar button:hover{background:var(--bg)}.task-detail-time-tracking{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 0;font-size:13px;display:flex}.time-tracking-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.time-tracking-label{min-width:64px;color:var(--text)}.time-tracking-value{cursor:pointer;font-weight:600}.time-tracking-edit-input{width:100px}.time-tracking-icon-button{border:1px solid var(--border);min-width:22px;height:22px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;line-height:1}.timer-toggle-button{border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--accent);border-radius:6px;margin-left:auto;padding:4px 10px}.timer-toggle-button.running{color:var(--danger)}.task-detail-title{border:none;padding:4px 0;font-size:18px;font-weight:600}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.calendar-header h2{white-space:nowrap}.calendar-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-nav button{white-space:nowrap}.calendar-mode-toggle{border:1px solid var(--border);border-radius:6px;margin-right:4px;display:flex;overflow:hidden}.calendar-mode-toggle button{background:0 0;border:none;border-radius:0;padding:4px 10px}.calendar-mode-toggle button.active{background:var(--accent);color:var(--accent-contrast)}.calendar-view{flex-direction:column;flex:1;min-height:0;display:flex}.calendar-page-content{flex-direction:column;min-height:0;display:flex}.calendar-grid{background:var(--border);border:1px solid var(--border);flex:1;grid-template-rows:auto repeat(6,1fr);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.calendar-grid-week{grid-template-rows:auto repeat(2,1fr)}.calendar-grid-week .calendar-cell{min-height:240px}.calendar-weekday{background:var(--surface);text-align:center;color:var(--text);padding:6px;font-size:12px}.calendar-cell{background:var(--surface);flex-direction:column;gap:4px;min-height:60px;padding:4px;display:flex}.calendar-cell.outside-month{background:var(--bg);color:var(--text);opacity:.5}.calendar-cell.today .calendar-date{background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:0 6px}.calendar-date{font-size:12px}.calendar-cell-tasks{flex-direction:column;gap:2px;display:flex;overflow-y:auto}.calendar-task{background:var(--bg);border:1px solid var(--border);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:2px 4px;font-size:11px;overflow:hidden}.calendar-task-dungeon-badge{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;background:color-mix(in srgb, var(--accent) 15%, var(--bg));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));max-width:64px;color:var(--accent);border-radius:999px;margin-right:4px;padding:0 4px;font-size:9px;font-weight:600;display:inline-block;overflow:hidden}.timeline-page{overflow:auto}.timeline-scroll{padding-bottom:12px;overflow-x:auto}.timeline-grid{width:max-content;display:grid;position:relative}.timeline-day-col-bg{border-right:1px solid color-mix(in srgb, var(--border) 60%, transparent);pointer-events:none}.timeline-day-col-bg.weekend{background:color-mix(in srgb, var(--border) 55%, transparent)}.timeline-month-header{color:var(--text-h);text-align:left;white-space:nowrap;padding-left:2px;font-size:11px;font-weight:600}.timeline-day-header{color:var(--text);text-align:center;border-left:1px solid var(--border);padding-top:4px;font-size:11px}.timeline-bar{cursor:pointer;white-space:nowrap;color:#fff;border-radius:6px;align-self:center;align-items:center;height:24px;padding:0 8px;font-size:12px;display:flex;position:relative;overflow:visible}.timeline-connector-layer{pointer-events:none;grid-area:1/1/-1/-1;position:absolute;inset:0;overflow:visible}.timeline-connector-path{fill:none;stroke:var(--accent);stroke-width:1.5px;opacity:.6;pointer-events:none}.timeline-connector-path.dragging{stroke-dasharray:4 3;opacity:.9}.timeline-connector-hitbox{fill:none;stroke:#0000;stroke-width:12px;cursor:pointer;pointer-events:stroke}.timeline-connector-hitbox:hover+.timeline-connector-path{stroke:#ef4444;opacity:.9}.timeline-connector-handle{border:2px solid var(--accent);opacity:0;cursor:crosshair;background:#fff;border-radius:999px;width:10px;height:10px;transition:opacity .1s;position:absolute;top:50%;right:-6px;transform:translateY(-50%)}.timeline-bar:hover .timeline-connector-handle{opacity:1}.timeline-bar-label{text-overflow:ellipsis;overflow:hidden}.timeline-bar-label-outside{color:var(--text-h);white-space:nowrap;margin-left:6px;font-size:12px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.timeline-bar-dep{margin-left:6px;font-size:11px}.timeline-bar-dungeon-badge{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;background:#ffffff40;border-radius:999px;flex-shrink:0;max-width:64px;margin-right:5px;padding:0 6px;font-size:9px;font-weight:600;display:inline-block;overflow:hidden}.timeline-bar-label-outside .timeline-bar-dungeon-badge{background:color-mix(in srgb, var(--accent) 15%, var(--bg));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--accent)}.timeline-bar-todo{background:#94a3b8}.timeline-bar-in-progress{background:var(--accent)}.timeline-bar-done{background:#22c55e}.timeline-bar.critical-path{outline-offset:1px;outline:2px solid #ef4444}.timeline-toolbar{align-items:center;gap:16px;margin-bottom:8px;display:flex}.timeline-critical-path-toggle{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.timeline-critical-path-toggle:before{content:"";outline-offset:1px;border-radius:2px;outline:2px solid #ef4444;width:10px;height:10px;display:inline-block}.task-detail-panel label{flex-direction:column;gap:4px;font-size:13px;display:flex}.task-detail-dates{gap:12px;display:flex}.task-detail-dates label{flex:1}.task-detail-dependencies{border-top:1px solid var(--border);padding-top:12px}.task-detail-dependencies h4{margin-bottom:8px}.task-detail-projects{border-top:1px solid var(--border);padding-top:12px}.task-detail-projects h4{margin-bottom:8px}.chip-list{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:13px;display:inline-flex}.chip button{color:var(--text);background:0 0;border:none;padding:0 2px;line-height:1}.chip button:hover{color:var(--danger)}.chip-project{gap:4px;padding-left:4px}.chip-project-name{font:inherit;cursor:pointer;border-radius:999px;padding:3px 4px}.chip button.chip-project-name:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.chip-project-section{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;max-width:120px;padding:2px 6px;font-size:12px}.dependency-list{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.dependency-list li{background:var(--bg);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:13px;display:flex}.dependency-add-row{gap:8px;display:flex}.dependency-add-row select{flex:1;min-width:0}.comment-thread{flex-direction:column;gap:8px;display:flex}.task-detail-tabs{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px;padding-top:12px;display:flex}.task-detail-tabs button{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;padding:6px 4px;font-size:13px;font-weight:600;display:flex}.task-detail-tabs button.active{color:var(--text-h);border-bottom-color:var(--accent)}.tab-count-badge{background:var(--accent);min-width:18px;height:18px;color:var(--accent-contrast);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.task-proofing-list,.task-pinned-list{padding-bottom:16px}.task-proofing-list ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.task-proofing-item{border:1px solid var(--border);background:var(--bg);text-align:left;cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;display:flex}.task-proofing-item:hover{border-color:var(--accent)}.task-proofing-item.resolved{opacity:.6}.task-proofing-item.pinned{background:color-mix(in srgb, #eab308 8%, var(--bg));border-color:#eab308}.task-proofing-pinned-tag{color:#eab308;display:inline-flex}.task-proofing-pin-button{color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:11px;font-weight:600}.task-proofing-pin-button:hover{color:#eab308;background:#eab3081f}.task-pinned-items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.task-pinned-item{background:color-mix(in srgb, #eab308 8%, var(--bg));border:1px solid #eab308;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;display:flex}.task-pinned-item-body{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:4px;min-width:0;padding:0;display:flex}.task-pinned-item-header{align-items:center;gap:6px;display:flex}.task-pinned-item-text{color:var(--text);text-overflow:ellipsis;-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.task-pinned-unpin-button{color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:600}.task-pinned-unpin-button:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.task-proofing-thumb{object-fit:cover;background:var(--surface);border-radius:6px;flex:none;width:44px;height:44px}.task-proofing-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.task-proofing-item-header{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.task-proofing-resolved-tag{color:#22c55e;align-items:center;gap:2px;display:flex}.task-proofing-item-body p{color:var(--text-h);white-space:pre-wrap;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.task-proofing-item-filename{color:var(--text-muted);font-size:11px}.comment-list{flex-direction:column;gap:10px;display:flex}.comment-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.comment-item-header{color:var(--text);align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.comment-item-header .comment-time{margin-left:auto}.comment-link-button{color:var(--text);background:0 0;border:none;padding:2px 8px;font-size:11px}.comment-link-button:hover{color:var(--accent)}.comment-item{transition:background-color .4s}.comment-item.comment-highlight{background-color:color-mix(in srgb, var(--accent) 20%, transparent)}.comment-item.pinned{background:color-mix(in srgb, #eab308 8%, var(--bg));border-color:#eab308}.comment-pinned-label{color:#eab308;margin-bottom:4px;font-size:11px;font-weight:600}.comment-pinned-filter-row{display:flex}.comment-pinned-filter-button{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.comment-pinned-filter-button:hover{color:var(--text)}.comment-pinned-filter-button.active{color:#eab308;background:color-mix(in srgb, #eab308 12%, var(--bg));border-color:#eab308}.comment-edited-hint{opacity:.6;margin-left:4px;font-size:11px}.comment-read-receipt{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:11px}.comment-more-menu-wrap{position:relative}.comment-more-button{color:var(--text);opacity:.7;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:2px;display:flex}.comment-more-button:hover{opacity:1;background:var(--surface)}.comment-more-menu{top:100%;right:0}.comment-edit-area{flex-direction:column;gap:6px;display:flex}.comment-edit-area textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);resize:vertical;border-radius:6px;padding:6px 8px;font-size:13px}.comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.quote-popup{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:4px;padding:4px;display:flex;position:fixed;transform:translate(-50%,-100%);box-shadow:0 4px 16px #00000040}.quote-popup button{white-space:nowrap;padding:4px 8px;font-size:12px}.avatar-img,.avatar-fallback{border-radius:50%;flex-shrink:0}.avatar-fallback{color:#fff;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.comment-body{white-space:pre-wrap;word-break:break-word;margin:0}.comment-body.clamped{max-height:160px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - 32px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 32px),#0000 100%)}.comment-read-more-button{color:var(--accent);cursor:pointer;background:0 0;border:none;margin:2px 0 0;padding:0;font-size:12px;font-weight:600;display:block}.comment-show-more-button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;margin:0 auto 4px;padding:6px 14px;font-size:12px;font-weight:600;display:block}.comment-show-more-button:hover{background:var(--bg)}.composer-attachments,.comment-attachments{flex-wrap:wrap;gap:6px;padding:0 8px 8px;display:flex}.comment-attachments{padding:4px 0 0}.attachment-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:6px;max-width:220px;padding:5px 8px;font-size:12px;display:inline-flex}a.attachment-chip{text-decoration:none}a.attachment-chip:hover{border-color:var(--accent)}.attachment-chip.error{border-color:#e5484d}.attachment-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.attachment-chip-status{opacity:.65;flex-shrink:0}.attachment-chip button{color:var(--text);opacity:.6;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.attachment-chip button:hover{opacity:1}.attachment-image-thumb{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:120px;height:90px;padding:0;display:block;overflow:hidden}.attachment-image-thumb img{object-fit:cover;width:100%;height:100%;display:block}.dialog-card.attachment-lightbox{width:94vw;max-width:1600px;max-height:94vh}.attachment-lightbox-toolbar{align-items:center;gap:12px;display:flex}.attachment-lightbox-mode-toggle{gap:4px;display:flex}.attachment-lightbox-mode-toggle button{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:flex}.attachment-lightbox-mode-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.attachment-lightbox-hint{color:var(--text-muted);margin:0;font-size:12px}.attachment-lightbox-body{align-items:flex-start;gap:16px;min-height:0;display:flex}.attachment-lightbox-image-wrap{flex:auto;width:fit-content;min-width:0;max-width:100%;margin:0 auto;line-height:0;position:relative}.attachment-lightbox-image-wrap img{object-fit:contain;cursor:crosshair;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:76vh;display:block}.attachment-lightbox-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;flex:0 0 320px;gap:10px;width:320px;max-height:76vh;padding:12px;font-size:13px;display:flex;overflow-y:auto}.attachment-annotation-pin{background:var(--accent);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.attachment-annotation-pin.active{background:#ef4444}.attachment-annotation-pin.pending{pointer-events:none;background:#f5b820}.attachment-annotation-rect{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:2px;padding:0;position:absolute}.attachment-annotation-rect.active{background:#ef444426;border-color:#ef4444}.attachment-annotation-rect.pending,.attachment-annotation-rect.drawing{pointer-events:none;background:#f5b82026;border-color:#f5b820}.attachment-annotation-rect-badge{background:var(--accent);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:flex;position:absolute;top:-2px;left:-2px;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.attachment-annotation-rect.active .attachment-annotation-rect-badge{background:#ef4444}.attachment-annotation-form h4{margin:0;font-size:13px}.attachment-annotation-preset-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.attachment-annotation-preset-button{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.attachment-annotation-preset-button span{text-align:center;font-size:11px;line-height:1.2}.attachment-annotation-preset-button:hover{border-color:var(--accent);color:var(--accent)}.attachment-annotation-form textarea,.attachment-annotation-reply-form textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);resize:none;border-radius:6px;width:100%;padding:6px;font-size:13px;line-height:1.4}.attachment-annotation-form-actions{justify-content:flex-end;gap:6px;display:flex}.attachment-annotation-thread{flex-direction:column;gap:8px;display:flex}.attachment-annotation-thread-back{color:var(--text-muted);background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px}.attachment-annotation-thread-back:hover{color:var(--accent)}.attachment-annotation-thread-actions{gap:6px;display:flex}.attachment-annotation-thread-actions button{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:flex}.attachment-annotation-thread-actions button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.attachment-annotation-thread-actions button.danger{border-color:var(--danger);color:var(--danger)}.attachment-annotation-thread-actions button.attachment-annotation-pin-active{color:#eab308;background:#eab3081f;border-color:#eab308}.attachment-annotation-pinned-tag{color:#eab308;display:inline-flex}.attachment-annotation-reply-list{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin:0;padding:8px 0 0;list-style:none;display:flex}.attachment-annotation-reply-list li p{margin:2px 0 0 22px}.attachment-annotation-reply-delete{color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.attachment-annotation-reply-delete:hover{color:var(--danger)}.attachment-annotation-reply-form{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.attachment-annotation-reply-form button{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:6px;align-self:flex-end;padding:4px 10px;font-size:12px}.attachment-annotation-popover-header{align-items:center;gap:6px;font-size:12px;display:flex}.attachment-annotation-thread>p{white-space:pre-wrap;margin:0;line-height:1.4}.attachment-annotation-list{flex-direction:column;gap:8px;display:flex}.attachment-annotation-empty{color:var(--text-muted);margin:0;font-size:12px}.attachment-annotation-list ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.attachment-annotation-list li button{width:100%;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.attachment-annotation-list li button:hover{border-color:var(--border);background:var(--bg)}.attachment-annotation-list-badge{background:var(--accent);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex}.attachment-annotation-list-badge.resolved{background:var(--text-muted)}.attachment-annotation-list-body{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:12px;overflow:hidden}.attachment-annotation-archive{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding-top:8px;display:flex}.attachment-annotation-archive-toggle{color:var(--text-muted);background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px}.attachment-annotation-archive-toggle:hover{color:var(--accent)}.attachment-error{color:#e5484d;width:100%;margin:2px 0 0;font-size:12px}.quoted-block{border:1px solid var(--border);border-radius:8px;margin:4px 0;font-size:12px;overflow:hidden}.quoted-block-header{background:color-mix(in srgb, var(--accent) 14%, var(--bg));align-items:center;gap:6px;padding:4px 8px;display:flex}.quoted-block-author{color:var(--text-h);font-weight:600}.quoted-block-time{color:var(--text);opacity:.7;font-size:11px}.quoted-block-body{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent);color:var(--text);opacity:.9;padding:6px 10px}.comment-empty{color:var(--text);font-size:13px}.comment-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.comment-reaction-chip{border:1px solid var(--border);background:var(--bg);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.comment-reaction-chip.mine{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--bg))}.comment-reaction-picker-wrap{position:relative}.comment-reaction-add{border:1px solid var(--border);background:var(--bg);opacity:.65;border-radius:999px;padding:2px 6px;font-size:12px}.comment-reaction-add:hover{opacity:1}.comment-reaction-picker{background:var(--surface);border:1px solid var(--border);z-index:5;border-radius:8px;gap:2px;margin-bottom:4px;padding:4px;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 4px 16px #0003}.comment-reaction-picker button{background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:16px}.comment-reaction-picker button:hover{background:var(--bg)}.comment-stamps-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.comment-stamp-badge{background:0 0;border:none;border-radius:8px;padding:0;line-height:0;display:inline-flex;position:relative}.comment-stamp-badge img{object-fit:contain;border-radius:6px;width:88px;height:88px;transition:transform .1s}.comment-stamp-badge:hover img{transform:scale(1.06)}.comment-stamp-badge-count{background:var(--accent);color:#fff;border:2px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:-3px;left:-3px}.comment-stamp-badge-avatar{border:2px solid var(--surface);border-radius:999px;line-height:0;position:absolute;bottom:-3px;right:-3px}.comment-stamp-picker{background:var(--surface);border:1px solid var(--border);z-index:5;border-radius:8px;grid-template-columns:repeat(6,1fr);gap:2px;width:260px;margin-bottom:4px;padding:6px;display:grid;position:absolute;bottom:100%;left:0;box-shadow:0 4px 16px #0003}.comment-stamp-picker button{aspect-ratio:1;box-sizing:border-box;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:4px;display:flex}.comment-stamp-picker button:hover{background:var(--bg)}.comment-stamp-picker img{object-fit:contain;width:36px;height:36px}.comment-input-area{background:var(--surface);border-top:1px solid var(--border);margin:8px -16px -16px;padding:8px 16px 16px;position:sticky;bottom:-16px}.composer-sticky-wrap{z-index:2;background:var(--surface);position:sticky;bottom:0;box-shadow:0 -6px 10px -6px #00000040}.composer{border:1px solid var(--border);background:var(--bg);border-radius:10px;overflow:hidden}.composer:focus-within{border-color:var(--accent)}.composer.drag-over{border-color:var(--accent);border-style:dashed}.composer-drop-overlay{z-index:10;background:color-mix(in srgb, var(--accent) 12%, var(--bg) 88%);color:var(--accent);pointer-events:none;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}.composer-toolbar-row{flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.composer-toolbar-bottom{border-top:1px solid var(--border);justify-content:space-between}.composer-toolbar-bottom-left{align-items:center;gap:2px;display:flex}.composer-toolbar-divider{background:var(--border);width:1px;height:18px;margin:0 4px}.composer-icon-button{min-width:28px;height:28px;color:var(--text);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0 4px;font-size:13px;display:flex}.composer-icon-button:hover{background:var(--surface)}.composer-icon-button.active{color:var(--accent)}.composer-text-style-button{font-size:12px;font-weight:600}.composer-extra-menu-wrap,.composer-emoji-menu-wrap,.composer-attach-menu-wrap{position:relative}.composer-extra-menu{background:var(--surface);border:1px solid var(--border);z-index:6;border-radius:8px;flex-direction:column;min-width:140px;margin-bottom:4px;padding:4px;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 4px 16px #0003}.composer-extra-menu button{text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:13px}.composer-extra-menu button:hover{background:var(--bg)}.composer-emoji-menu{background:var(--surface);border:1px solid var(--border);z-index:6;border-radius:8px;grid-template-columns:repeat(6,1fr);gap:2px;width:190px;margin-bottom:4px;padding:6px;display:grid;position:absolute;bottom:100%;left:0;box-shadow:0 4px 16px #0003}.composer-emoji-menu button{background:0 0;border:none;border-radius:6px;padding:4px;font-size:18px;line-height:1}.composer-emoji-menu button:hover{background:var(--bg)}.composer-send-button{background:var(--accent);width:30px;height:30px;color:var(--accent-contrast);border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex}.composer-send-button:disabled{opacity:.4}.mention-input-wrap{padding:0 10px;position:relative}.mention-suggestions{background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:8px;max-height:180px;padding:4px;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #0003}.mention-suggestions li{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.mention-suggestion-email{color:var(--text);opacity:.6;white-space:nowrap;text-overflow:ellipsis;margin-left:auto;padding-left:8px;font-size:11px;overflow:hidden}.mention-suggestions li.active,.mention-suggestions li:hover{background:var(--bg)}.mention{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:4px;padding:0 2px;font-weight:600}.comment-input{resize:vertical;background:0 0;border:none;border-radius:0;width:100%;height:48px;padding:6px 0;transition:height .15s}.comment-input:focus{outline:none}.comment-input.expanded{height:184px}.comment-input.maximized{height:320px}.page-header-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.page-description{opacity:.7;margin:0 0 16px;font-size:13px}.dialog-backdrop{z-index:60;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 12px 32px #00000040}.dialog-card h3{margin:0}.dialog-description{opacity:.7;margin:-4px 0 0;font-size:13px}.dialog-card label{flex-direction:column;gap:4px;font-size:13px;display:flex}.dialog-card input,.dialog-card select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:6px 8px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.calendar-sync-dialog{width:520px}.calendar-sync-url-row{gap:6px;display:flex}.calendar-sync-url-row input{min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.calendar-sync-steps{flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:13px;display:flex}.calendar-sync-notes{opacity:.7;flex-direction:column;gap:4px;margin:0;padding-left:20px;font-size:12px;display:flex}.dropbox-browser-modal{width:480px;height:520px}.dropbox-browser-header{justify-content:space-between;align-items:center;display:flex}.dropbox-browser-header h3{margin:0}.dropbox-browser-header button{color:var(--text);opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.dropbox-browser-header button:hover{opacity:1}.dropbox-browser-breadcrumb{flex-wrap:wrap;align-items:center;gap:2px;font-size:13px;display:flex}.dropbox-browser-breadcrumb button{color:var(--text);background:0 0;border:none;border-radius:4px;padding:2px 4px}.dropbox-browser-breadcrumb button:not(:disabled):hover{background:var(--bg)}.dropbox-browser-breadcrumb button:disabled{color:var(--text-h);font-weight:600}.dropbox-browser-breadcrumb-sep{opacity:.5;margin:0 2px}.dropbox-browser-list{border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:1;gap:2px;padding:6px;display:flex;overflow-y:auto}.dropbox-browser-item{color:var(--text-h);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px;font-size:13px;display:flex}.dropbox-browser-item:not(:disabled):hover{background:var(--bg)}.dropbox-browser-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dropbox-browser-item-size{opacity:.6;flex-shrink:0;font-size:12px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}button.primary:disabled{opacity:.5;cursor:default}.template-list{flex-wrap:wrap;gap:12px;max-width:900px;display:flex}.template-card-row{width:220px;position:relative}.template-card{background:var(--surface);border:1px solid var(--border);width:100%;color:inherit;box-sizing:border-box;border-radius:8px;padding:14px;text-decoration:none;display:block}.template-card h3{margin:0 0 6px;padding-right:20px;font-size:15px}.template-card-meta{opacity:.7;margin:0;font-size:12px}.template-delete-button{width:20px;height:20px;color:var(--text);opacity:.5;background:0 0;border:none;padding:0;font-size:16px;line-height:1;position:absolute;top:10px;right:10px}.template-delete-button:hover{opacity:1;color:var(--danger)}.template-card-add,.template-card-add-input{width:220px;height:68px}.template-card-add{text-align:left;color:var(--text);border:1px dashed var(--border);background:0 0}.template-detail-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.template-title-input{color:var(--text-h);background:0 0;border:none;flex:1;padding:2px 0;font-size:22px;font-weight:700}.template-detail-actions{align-items:center;gap:8px;display:flex}.template-saved-hint{color:#22c55e;font-size:12px}.template-description-input{width:100%;max-width:600px;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:6px;margin-bottom:16px;padding:8px}.template-section-list{flex-direction:column;gap:12px;max-width:600px;margin-bottom:12px;display:flex}.template-section-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px}.template-section-card-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.template-section-name-input{color:var(--text-h);background:0 0;border:none;flex:1;padding:4px 0;font-size:14px;font-weight:600}.template-remove-button{width:22px;height:22px;color:var(--text);opacity:.5;background:0 0;border:none;padding:0;font-size:16px;line-height:1}.template-remove-button:hover{opacity:1;color:var(--danger)}.template-task-list{flex-direction:column;gap:2px;margin:0 0 8px;padding:0;list-style:none;display:flex}.template-task-list li{border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;font-size:13px;display:flex}.template-task-list li:hover{background:var(--bg)}.template-task-add-row,.template-section-add-row{gap:8px;display:flex}.template-task-add-row input,.template-section-add-row input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;flex:1;padding:6px 8px}.primary-button-link{background:var(--accent);height:34px;color:var(--accent-contrast);border-radius:6px;align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.project-search-input{width:100%;max-width:480px;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:8px;margin-bottom:12px;padding:8px 12px}.project-filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.project-filter-bar select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:999px;padding:6px 10px;font-size:13px}.project-filter-bar button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px}.saved-filter-row{flex-wrap:wrap;gap:6px;margin:-8px 0 16px;display:flex}.saved-filter-chip{border:1px solid var(--border);background:var(--bg);border-radius:999px;align-items:center;gap:2px;display:inline-flex;overflow:hidden}.saved-filter-chip button:first-child{color:var(--text);background:0 0;border:none;padding:4px 8px;font-size:12px}.saved-filter-chip button:first-child:hover{color:var(--accent)}.saved-filter-chip button:last-child{color:var(--text);opacity:.5;background:0 0;border:none;padding:4px 6px;font-size:12px}.saved-filter-chip button:last-child:hover{opacity:1}.project-table{flex-direction:column;gap:4px;display:flex}.project-table-header,.project-table-row{grid-template-columns:2fr 120px 160px 100px 110px;align-items:center;gap:12px;padding:8px 10px;display:grid}.project-table-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.project-table-actions button.danger{white-space:nowrap;flex-shrink:0;padding:4px 10px;font-size:12px}.project-table-header{color:var(--text);font-size:12px;font-weight:600}.project-table-row{background:var(--surface);border:1px solid var(--border);border-radius:6px}.project-table-name{color:var(--text-h);flex-direction:column;min-width:0;text-decoration:none;display:flex}.project-table-name span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-table-members{align-items:center;display:flex}.project-table-members>*{margin-left:-6px}.project-table-members>:first-child{margin-left:0}.project-table-members-overflow{opacity:.7;margin-left:4px;font-size:12px}.project-table-portfolio{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.project-portfolio-chip{white-space:nowrap}.template-gallery-section{max-width:900px;margin-bottom:28px}.template-gallery-section h3{margin:0 0 2px}.template-gallery-grid{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.template-gallery-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;width:220px;padding:14px;display:flex}.template-gallery-card h4{color:var(--text-h);margin:0;font-size:14px}.template-gallery-card p{opacity:.75;margin:0;font-size:12px}.template-gallery-card-main{text-align:left;background:0 0;border:none;flex-direction:column;gap:6px;padding:0;display:flex}.template-gallery-card-actions{border-top:1px solid var(--border);gap:10px;margin-top:auto;padding-top:6px;font-size:12px;display:flex}.template-gallery-card-actions a{color:var(--text)}.template-gallery-card-actions button{color:var(--danger);background:0 0;border:none;padding:0;font-size:12px}.template-gallery-card-empty,.template-gallery-card-recommended{text-align:left;border:1px dashed var(--border);cursor:pointer}.template-gallery-card-recommended{border-style:solid}.template-gallery-card-icon{color:var(--accent);font-size:20px}.template-gallery-card-add-input{width:220px;height:90px;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:8px;padding:12px}.profile-form{flex-direction:column;gap:12px;max-width:420px;display:flex}.profile-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}.profile-form input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:6px;padding:6px 8px}.profile-form input:disabled{opacity:.6}.profile-form h3{margin:8px 0 0}.profile-avatar-row{align-items:center;gap:16px;display:flex}.profile-avatar-row .page-description{margin:4px 0 0}.profile-saved-hint{color:#22c55e;margin:0;font-size:12px}.profile-actions{justify-content:flex-start;align-items:center;gap:12px;display:flex}.admin-user-table{flex-direction:column;gap:4px;max-width:1100px;display:flex}.admin-user-table-header,.admin-user-table-row{grid-template-columns:20px 1.5fr 2fr 100px 1.3fr 140px;align-items:center;gap:12px;padding:8px 10px;display:grid}.admin-user-table-header{color:var(--text);font-size:12px;font-weight:600}.admin-user-table-row{background:var(--surface);border:1px solid var(--border);border-radius:6px}.admin-user-table-actions{justify-content:flex-end;gap:8px;display:flex}.admin-user-drag-handle{color:var(--text);opacity:.6;cursor:grab;touch-action:none;background:0 0;border:none;justify-content:center;align-items:center;padding:4px 0;display:flex}.admin-user-drag-handle:hover{opacity:1}.org-node-checkbox-list{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:2px;max-height:160px;padding:6px 8px;font-weight:400;display:flex;overflow-y:auto}.org-node-checkbox-list .org-node-checkbox-option{border-radius:4px;flex-direction:row;justify-content:flex-start;align-items:center;gap:6px;padding:3px 4px;font-size:13px;display:flex}.org-node-checkbox-option.is-root{font-weight:600}.org-node-checkbox-option.is-child{color:var(--text-muted);font-weight:400}.org-node-checkbox-option.is-child .org-node-checkbox-label{color:var(--text)}.org-node-checkbox-branch{border-left:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0 0 0 4px;flex-shrink:0;width:10px;height:10px}.org-node-checkbox-label{flex:1}.org-node-checkbox-type{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px}.role-badge{border-radius:999px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.role-badge.admin{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.role-badge.member{background:color-mix(in srgb, var(--text) 12%, transparent);color:var(--text)}.admin-org-node-list{flex-direction:column;gap:10px;max-width:700px;margin-bottom:16px;display:flex}.admin-org-node-branch-wrap{flex-direction:column;gap:6px;display:flex}.admin-org-node-children{border-left:2px solid var(--border);flex-direction:column;gap:6px;margin-left:14px;padding-left:14px;display:flex}.admin-org-node-row{background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:12px;padding:8px 10px;display:flex}.admin-org-node-row.is-root{font-weight:600}.admin-org-node-row.is-child{background:color-mix(in srgb, var(--surface) 70%, transparent);font-weight:400}.admin-org-node-name{flex:1;min-width:0}.admin-org-node-type{color:var(--text);opacity:.8;font-size:12px}.admin-org-node-actions{gap:8px;display:flex}.admin-org-node-add-row{gap:8px;max-width:700px;display:flex}.admin-org-node-add-row input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:6px;flex:1;padding:6px 8px}.admin-org-node-add-row select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:6px;padding:6px 8px}.tag-picker{position:relative}.tag-picker-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-chip{color:#fff;text-shadow:0 1px 1px #00000040;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.tag-chip button{color:#fff;opacity:.8;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.tag-chip button:hover{opacity:1}.tag-picker-add{border:1px dashed var(--border);color:var(--text);background:0 0;border-radius:999px;padding:3px 8px;font-size:12px}.tag-picker-add:hover{border-color:var(--accent);color:var(--accent)}.tag-picker-menu{background:var(--surface);border:1px solid var(--border);z-index:6;border-radius:8px;width:220px;max-height:260px;margin-top:4px;padding:6px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 16px #0003}.tag-picker-option{border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:13px;display:flex}.tag-picker-option:hover{background:var(--bg)}.tag-picker-dot{border-radius:999px;flex-shrink:0;width:10px;height:10px}.tag-picker-create{border-top:1px solid var(--border);gap:4px;margin-top:6px;padding-top:6px;display:flex}.tag-picker-create input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;flex:1;padding:4px 6px;font-size:12px}.recurring-weekday-picker{gap:4px;display:flex}.recurring-weekday-button{border:1px solid var(--border);width:28px;height:28px;color:var(--text);background:0 0;border-radius:999px;font-size:12px}.recurring-weekday-button.active{background:var(--accent);border-color:var(--accent);color:#fff}.custom-fields-editor{flex-direction:column;gap:10px;display:flex}.custom-fields-section{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.custom-field-list{flex-direction:column;gap:6px;margin:8px 0;display:flex}.custom-field-item{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:13px;display:flex}.custom-field-type-badge{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px}.custom-field-options-hint{color:var(--text-muted);margin-left:6px;font-size:12px}
