:root{--bg:#f7f6f3;--bg-sidebar:#fbfbfa;--surface:#fff;--text:#37352f;--text-secondary:#37352fa6;--text-tertiary:#37352f73;--border:#37352f17;--border-strong:#37352f29;--hover:#37352f0f;--hover-row:#37352f09;--hover-cell:#37352f0d;--active:#37352f14;--primary:#2383e2;--primary-hover:#1a73d1;--danger:#eb5757;--radius:6px;--radius-lg:10px;--shadow-sm:0 1px 2px #0f0f0f0a;--shadow-md:0 8px 24px #0f0f0f1f;--font:system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--sidebar-width:240px;--content-top-bar-height:36px;--sidebar-floating-top:var(--content-top-bar-height);--peek-width:480px;--task-detail-width:720px;--group-rail-width:4px;--subitems-indent:24px;--gantt-label-width:280px;--gantt-indent-step:16px;--gantt-row-height:36px;--gantt-header-height:52px;--gantt-group-summary-opacity:.35;--z-peek-overlay:400;--z-modal:450;--z-confirm:500;--z-toast:600;--element-name-col-width:360px;--subelement-name-col-width:326px;--col-date-width:115px;--col-desc-width:180px;--col-critical-width:64px;--col-assignee-width:105px;--subitems-gap-top:18px;--subitems-gap-bottom:22px;--main-padding-inline-end:48px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.btn{border-radius:var(--radius);cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:14px;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{border-color:var(--border)}.btn-ghost:hover{background:var(--hover)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.textarea,.select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;font:inherit;color:var(--text);padding:8px 10px}.input:focus,.select:focus{border-color:var(--primary);outline:2px solid #2383e259}.textarea:focus{outline:none}.textarea{resize:vertical;min-height:80px}.field{margin-bottom:16px}.field label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:32px}.auth-card h1{margin:0 0 8px;font-size:1.5rem}.auth-card p{color:var(--text-secondary);margin:0 0 24px}.auth-invite-context{border-radius:var(--radius);background:var(--hover);border:1px solid var(--border);color:var(--text-secondary);margin:0 0 24px;padding:16px;font-size:14px;line-height:1.55}.auth-invite-context p{margin:0 0 12px}.auth-invite-context p:last-child{margin-bottom:0}.auth-invite-context strong{color:var(--text);font-weight:600}.auth-invite-steps{color:var(--text-secondary);margin:0 0 24px;padding-left:20px;font-size:14px;line-height:1.6}.auth-invite-steps li+li{margin-top:6px}.auth-field-hint{color:var(--text-tertiary);margin:6px 0 0;font-size:12px}.error-msg{color:var(--danger);margin-bottom:12px;font-size:13px}.app-shell{height:100dvh;display:flex;overflow:hidden}.brand-logo{align-items:center;gap:10px;min-width:0;display:flex}.brand-logo-icon{border-radius:6px;flex-shrink:0}.brand-logo-text{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.brand-logo-compact{justify-content:center;gap:0}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;padding:10px 8px;display:flex;overflow:hidden}.sidebar-mobile{display:none}.sidebar-top{align-items:center;min-height:44px;padding:4px 4px 10px;display:flex;position:relative}.sidebar-brand{flex:1;min-width:0;padding:4px 6px}.sidebar-collapse-trigger{border-radius:var(--radius);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.sidebar-pinned:hover .sidebar-collapse-trigger,.sidebar-floating:hover .sidebar-collapse-trigger,.sidebar-floating.is-open .sidebar-pin-trigger,.sidebar-collapse-trigger:focus-visible{opacity:1;pointer-events:auto}.sidebar-collapse-trigger:hover{background:var(--hover);color:var(--text)}.sidebar-nav{flex:1;min-height:0;overflow:hidden auto}.nav-item{border-radius:var(--radius);color:var(--text);white-space:nowrap;align-items:center;gap:10px;min-height:34px;padding:7px 10px;text-decoration:none;transition:background .12s;display:flex}.nav-item:hover{background:var(--hover);text-decoration:none}.nav-item.active{background:var(--active);font-weight:500}.nav-item-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-item-avatar,.nav-item-avatar-fallback{flex-shrink:0}.nav-item-avatar-fallback{background:var(--hover);border-radius:50%;width:22px;height:22px}.sidebar-bottom{flex-shrink:0;margin-top:auto}.sidebar-footer{border-top:1px solid var(--border);padding-top:6px}.sidebar-logout{cursor:pointer;width:100%;font:inherit;text-align:left;border:none}.sidebar-edge-trigger{left:0;top:var(--content-top-bar-height);z-index:85;width:14px;position:fixed;bottom:0}.app-shell:has(.admin-ses-banner) .sidebar-edge-trigger{top:calc(var(--content-top-bar-height) + 40px)}.app-shell:has(.admin-ops-banner) .sidebar-edge-trigger{top:calc(var(--content-top-bar-height) + 40px)}.app-shell:has(.admin-ses-banner):has(.admin-ops-banner) .sidebar-edge-trigger{top:calc(var(--content-top-bar-height) + 80px)}.sidebar-floating{left:0;top:var(--sidebar-floating-top);z-index:90;box-shadow:var(--shadow-md);border-radius:0 var(--radius-lg) 0 0;pointer-events:none;transition:transform .22s cubic-bezier(.32,.72,0,1);position:fixed;bottom:0;transform:translate(-104%)}.sidebar-floating.is-open{pointer-events:auto;transform:translate(0)}.app-shell.sidebar-peek-open .sidebar-edge-trigger{width:var(--sidebar-width);top:var(--sidebar-floating-top)}.main{--main-scroll-padding-top:32px;padding:var(--main-scroll-padding-top) 48px 64px;-webkit-overflow-scrolling:touch;flex:1;min-width:0;overflow:auto}.app-shell-main-col{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.content-top-bar{height:var(--content-top-bar-height);background:var(--bg);z-index:35;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 12px 0 2px;display:flex}.content-top-bar-start,.content-top-bar-end{align-items:center;min-width:0;display:flex}.content-top-bar-end{gap:4px;margin-left:auto}.content-top-bar-page-actions{align-items:center;display:flex}.app-shell-main-col:has(.content-top-bar) .main{--main-scroll-padding-top:24px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:700}.page-actions{flex-shrink:0;gap:8px;display:flex}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:auto}.monday-board{flex-direction:column;gap:28px;display:flex}.group-block{z-index:0;box-shadow:none;background:0 0;border:none;border-radius:0;position:relative;overflow:visible}.group-block-wrap{flex-direction:column;gap:0;display:flex}.group-drop-line{background:var(--accent,#579bfc);pointer-events:none;border-radius:1px;height:2px;margin:4px 0}.element-row.is-dragging{opacity:.45}.element-drop-line-row td{background:0 0!important;border:none!important;padding:0!important}.element-drop-line{background:var(--accent,#579bfc);pointer-events:none;border-radius:1px;height:2px;margin:2px 0}.group-block.is-dragging{opacity:.45}.group-block.is-menu-open{z-index:100}.group-block.is-menu-open .group-block-header-wrap{z-index:10}.group-block[data-color=orange]{--group-stripe:#fdab3d}.group-block[data-color=blue]{--group-stripe:#579bfc}.group-block[data-color=green]{--group-stripe:#00c875}.group-block[data-color=red]{--group-stripe:#e2445c}.group-block[data-color=purple]{--group-stripe:#a25ddc}.group-block[data-color=pink]{--group-stripe:#ff5ac4}.group-block[data-color=yellow]{--group-stripe:#ffcb00}.group-block[data-color=grey]{--group-stripe:#c4c4c4}.group-block-header-wrap{position:relative}.group-block-header-wrap:before{content:"";z-index:0;height:100%;position:absolute;top:0;left:-40px;right:0}.group-header-card{z-index:1;position:relative}.group-header-card.is-collapsed{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), inset 4px 0 0 0 var(--group-stripe,#fdab3d), inset 0 0 0 1px var(--border)}.group-block-header{background:0 0;border:none;align-items:center;gap:6px;padding:4px 0 10px;display:flex;position:relative}.group-header-leading{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:relative}.group-menu-trigger{opacity:0;pointer-events:none;width:24px;height:24px;color:var(--text-secondary);border-radius:var(--radius);z-index:2;justify-content:center;align-items:center;transition:opacity .15s,background .12s;display:inline-flex;position:absolute;top:50%;right:calc(100% + 2px);transform:translateY(-50%)}.group-block-header-wrap:hover .group-menu-trigger,.group-menu-trigger.is-visible,.group-menu-trigger:hover,.group-menu-trigger:focus-visible{opacity:1;pointer-events:auto}.group-menu-trigger:hover{background:var(--hover);color:var(--text)}.group-menu-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-md);padding:4px;position:absolute;top:calc(100% - 4px);left:0}.group-color-bar{padding:8px 0 2px 32px}.group-header-card.is-collapsed .group-color-bar{padding-left:32px}.group-color-swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dropdown-item-danger{color:var(--danger)}.dropdown-item-danger:hover{background:#eb575714}.group-name-field{flex:0 auto;align-items:center;gap:10px;min-width:0;display:flex}.group-name-edit-wrap{border-radius:var(--radius);border:1px solid #0000;align-items:center;max-width:min(480px,100%);padding:2px 6px;transition:border-color .12s;display:inline-flex}.group-name-field:hover .group-name-edit-wrap,.group-name-edit-wrap:focus-within{border-color:var(--border-strong)}.group-name-edit{field-sizing:content;letter-spacing:-.02em;width:auto;min-width:2ch;max-width:100%;color:var(--group-stripe,#fdab3d);background:0 0;border:none;border-radius:0;outline:none;flex:none;padding:0;font-size:22px;font-weight:800;display:inline-block}.group-name-edit:focus{color:var(--group-stripe,#fdab3d)}.group-name-hover-stats{color:var(--text-secondary);white-space:nowrap;opacity:0;pointer-events:none;flex-shrink:0;font-size:13px;transition:opacity .15s}.group-name-field:hover .group-name-hover-stats,.group-name-field:focus-within .group-name-hover-stats{opacity:1}.group-header-stats{color:var(--text-secondary);padding:0 10px 10px 36px;font-size:13px;line-height:1.4}.group-header-card.is-collapsed .group-block-header{padding-bottom:2px}.group-chevron{flex-shrink:0}.group-drag{opacity:0;pointer-events:none;margin-left:auto;transition:opacity .15s}.group-block-header:hover .group-drag{opacity:1}.group-block-body{min-height:0}.group-block-content{flex:1;min-width:0}.group-table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--surface);position:relative;overflow:auto}.group-rail{width:var(--group-rail-width);background:var(--group-stripe,#fdab3d);z-index:4;pointer-events:none;position:absolute;top:0;bottom:0;left:0}.group-loading.panel,.group-load-prompt.panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), inset 4px 0 0 0 var(--group-stripe,#fdab3d);background:var(--surface)}.group-table-wrap .task-table .sticky-col{border-bottom:none}.group-table-wrap .task-table .sticky-col:before{display:none}.group-loading{flex-direction:column;gap:10px;padding:16px;display:flex}.group-load-prompt{text-align:center;padding:20px}.count-badge{min-width:22px;height:22px;color:var(--text-secondary);background:#37352f14;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;padding:0 7px;font-size:12px;font-weight:500;display:inline-flex}.add-link{font:inherit;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:4px;padding:6px 4px;font-size:14px;display:inline-flex}.add-link:hover{color:var(--text);background:var(--hover)}.add-group-link{margin-top:8px;padding:8px 4px}.task-table{border-collapse:collapse;width:100%;min-width:calc(40px + var(--element-name-col-width) + 2 * var(--col-date-width) + var(--col-desc-width) + var(--col-critical-width) + var(--col-assignee-width))}.group-table-wrap .task-table.monday-table,.subitems-table{table-layout:fixed}.group-table-wrap .task-table.monday-table .col-check,.subitems-table .col-check{width:40px}.group-table-wrap .task-table.monday-table>thead>tr>.name-col,.group-table-wrap .task-table.monday-table>tbody>tr:not(.subitems-slot-row)>.name-col{width:var(--element-name-col-width)}.group-table-wrap .subitems-block .subitems-table .name-col{width:var(--subelement-name-col-width);max-width:var(--subelement-name-col-width)}.group-table-wrap .task-table.monday-table>thead>tr>.col-date,.group-table-wrap .task-table.monday-table>tbody>tr:not(.subitems-slot-row)>.col-date,.group-table-wrap .subitems-block .subitems-table .col-date{width:var(--col-date-width);max-width:var(--col-date-width)}.group-table-wrap .task-table.monday-table>thead>tr>.col-desc,.group-table-wrap .task-table.monday-table>tbody>tr:not(.subitems-slot-row)>.col-desc,.group-table-wrap .subitems-block .subitems-table .col-desc{width:var(--col-desc-width);min-width:var(--col-desc-width);overflow:hidden}.group-table-wrap .task-table.monday-table>thead>tr>.col-critical,.group-table-wrap .task-table.monday-table>tbody>tr:not(.subitems-slot-row)>.col-critical,.group-table-wrap .subitems-block .subitems-table .col-critical{width:var(--col-critical-width);max-width:var(--col-critical-width)}.group-table-wrap .task-table.monday-table>thead>tr>.col-assignee,.group-table-wrap .task-table.monday-table>tbody>tr:not(.subitems-slot-row)>.col-assignee,.group-table-wrap .subitems-block .subitems-table .col-assignee{width:var(--col-assignee-width);max-width:var(--col-assignee-width);text-align:center}.group-table-wrap .task-table.monday-table>:is(thead>tr,tbody>tr:not(.subitems-slot-row))>:is(.col-date,.col-assignee),.group-table-wrap .subitems-block .subitems-table :is(.col-date,.col-assignee){overflow:hidden}.group-table-wrap .task-table.monday-table>:is(thead>tr,tbody>tr:not(.subitems-slot-row))>.col-critical,.group-table-wrap .subitems-block .subitems-table .col-critical{overflow:visible}.group-table-wrap .subitems-block .subitems-table .subitem-row:has(.critical-cell.is-open){z-index:2;position:relative}.monday-table th{top:0}.task-table th,.task-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:7px 10px}.group-table-wrap .task-table.monday-table :is(th,td):not(:last-child),.subitems-table :is(th,td):not(:last-child){border-right:1px solid var(--border)}.task-table th{color:var(--text-secondary);background:var(--surface);z-index:2;font-size:12px;font-weight:600;position:sticky;top:0}.task-table:not(.monday-table)>tbody>tr:not(.logs-detail-row):hover>td,.group-table-wrap .task-table.monday-table>tbody>tr.element-row:hover>td{background:var(--hover-row)}.col-check{text-align:center;width:40px}.sticky-col{background:var(--surface);z-index:1;width:40px;position:sticky;left:0}.group-table-wrap .task-table th.sticky-col{z-index:3}.name-col{min-width:0;font-size:14px}.group-table-wrap .task-table.monday-table>tbody>tr.element-row:hover>td.sticky-col{background:var(--hover-row)}.name-cell-wrap{align-items:center;gap:4px;min-width:0;display:flex}.name-cell-wrap-sub{padding-left:0}.name-cell-wrap-trail{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.task-row-indicators{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.task-indicator-btn{cursor:pointer;color:var(--text-tertiary);border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:3px;padding:2px 4px;font-size:12px;line-height:1;display:inline-flex}.task-indicator-btn:hover{background:var(--hover);color:var(--text-secondary)}.task-indicator-btn--attachment:hover{color:var(--primary)}.element-name-label{cursor:pointer;flex:1;min-width:0;font-size:14px;font-weight:500}.element-name-label:hover{color:var(--primary)}.tree-toggle{color:var(--text-tertiary);flex-shrink:0;transition:opacity .12s}.tree-toggle.tree-toggle-empty{opacity:0;pointer-events:none}.name-cell-wrap-empty-subs:hover .tree-toggle.tree-toggle-empty,.tree-toggle.tree-toggle-empty.tree-toggle-open{opacity:1;pointer-events:auto}.element-name-input,.sub-name-input{width:auto;min-width:0;color:var(--text);flex:1;padding:2px 4px;font-size:14px;font-weight:500}.element-name-input:focus,.sub-name-input:focus{background:var(--surface);outline:2px solid #2383e259}.inline-text-cell{border-radius:var(--radius);cursor:pointer;min-width:0;min-height:1.4em;color:var(--text);padding:2px 4px;display:block;overflow:hidden}.inline-text-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.inline-text-full{white-space:pre-wrap;word-break:break-word;text-overflow:unset;overflow:visible}.inline-text-placeholder{color:var(--text-tertiary)}.inline-text-input{width:100%;font-size:inherit}.inline-description-popover{z-index:450;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);position:fixed}.inline-description-textarea{border-radius:var(--radius);width:100%;min-height:72px;max-height:min(40vh,320px);font-family:var(--font);color:var(--text);resize:none;background:0 0;border:none;padding:8px 10px;font-size:16px;line-height:1.45;display:block;overflow-y:auto}.inline-description-textarea:focus{outline:none}.inline-description-textarea::placeholder{color:var(--text-tertiary)}.critical-cell{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-width:36px;min-height:28px;padding:2px 6px;display:flex;position:relative}.critical-cell:hover,.critical-cell.is-open{border-color:var(--border);background:var(--hover-cell)}.critical-cell-value{font-size:16px;line-height:1}.critical-cell.is-open{z-index:3}.critical-cell-menu{z-index:450;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:140px;box-shadow:var(--shadow-md);padding:4px;position:fixed}.critical-cell-menu .dropdown-item.is-active{background:var(--hover)}.critical-cell-menu .dropdown-item--critical.is-active{font-weight:600}.critical-cell-menu .dropdown-item--empty{color:var(--text-tertiary);font-style:italic;font-weight:400}.property-row .critical-cell{justify-self:start;width:fit-content}.assignee-cell{flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.assignee-col-wrap{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.assignee-col-wrap .comment-bubble{flex-shrink:0;margin-left:auto}.assignee-input{width:100%;font-size:13px}.assignee-mention-menu{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:220px;padding:4px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.assignee-mention-menu .dropdown-item{text-align:left;width:100%;display:block}.assignee-mention-menu .dropdown-item.is-me{font-weight:600}.assignee-mention-empty{color:var(--text-secondary);padding:6px 10px;font-size:12px}.assignee-add-user{color:var(--text-tertiary);border-top:1px solid var(--border);margin-top:2px;padding:6px 10px;font-size:12px;text-decoration:none;display:block}.assignee-add-user:hover{color:var(--text-secondary);background:var(--hover)}.date-field-wrap{width:100%;min-width:0;max-width:100%;display:inline-block;position:relative}.date-field-trigger{border-radius:var(--radius);width:100%;min-width:0;max-width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:2px 4px;display:inline-block;overflow:hidden}.date-field-trigger:disabled{cursor:default}.date-field-trigger.is-empty{color:var(--text-tertiary)}.date-field-derived-lock{color:var(--text-tertiary);vertical-align:middle}.date-field-trigger:focus{background:var(--surface);outline:2px solid #2383e259}.date-field-trigger.input{border:1px solid var(--border);background:var(--surface);width:100%;padding:8px 10px}.date-field-trigger.input:focus{border-color:var(--primary)}.date-field-invalid{border-radius:var(--radius);background:#eb57570f;border:1px solid var(--danger)!important}.element-date-cell{align-items:center;gap:2px;min-width:0;display:flex;position:relative}.element-date-cell .date-field-wrap{flex:1;min-width:0}.date-calendar-popover{z-index:450;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:260px;box-shadow:var(--shadow-md);padding:10px;position:fixed}.date-calendar-popover.is-derived{width:260px}.date-calendar-input{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;font:inherit;color:var(--text);margin-bottom:8px;padding:8px 10px;font-size:14px;display:block}.date-calendar-input:focus{border-color:var(--primary);outline:2px solid #2383e259}.date-calendar-input.is-error{border-color:var(--danger)}.date-calendar-input:read-only{background:var(--bg);color:var(--text-secondary);cursor:default}.date-calendar-derived-empty{color:var(--text-tertiary);text-align:center;margin:0;padding:10px 6px 2px;font-size:13px;line-height:1.45}.date-calendar-popover.is-derived .date-calendar-footer{margin-top:6px}.date-calendar-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.date-calendar-title{text-transform:capitalize;font-size:14px;font-weight:600}.date-calendar-nav{width:28px;height:28px}.date-calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.date-calendar-weekday{color:var(--text-tertiary);text-align:center;text-transform:lowercase;font-size:11px}.date-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-calendar-day{aspect-ratio:1;border-radius:var(--radius);width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;font-size:13px}.date-calendar-day:hover:not(:disabled){background:var(--hover)}.date-calendar-day.is-selected{background:var(--primary);color:#fff}.date-calendar-day.is-selected:hover{background:var(--primary)}.date-calendar-day.is-today:not(.is-selected){outline:1px solid var(--border-strong)}.date-calendar-day.is-compare:not(.is-selected){background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 35%, transparent)}.date-calendar-day.is-disabled,.date-calendar-day:disabled{color:var(--text-tertiary);cursor:default;opacity:.45}.date-calendar-day.is-empty{pointer-events:none}.date-calendar-clear{border-radius:var(--radius);width:100%;font:inherit;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;margin-top:8px;padding:6px 8px;font-size:13px;display:block}.date-calendar-clear:hover{background:var(--hover);color:var(--text)}.date-calendar-footer{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.date-calendar-footer .dropdown-item{text-align:left;width:100%}.inline-add-input{width:100%;font:inherit;color:var(--text-secondary);border-radius:var(--radius);background:0 0;border:none;padding:6px 4px;font-size:14px;display:block}.inline-add-input:focus{color:var(--text);background:var(--hover);outline:none}.inline-add-input::placeholder{color:var(--text-secondary)}.element-row-expanded>td,.group-table-wrap .task-table.monday-table>tr.element-row-expanded>td.sticky-col{border-bottom:1px solid var(--border)}.subitems-slot{padding:var(--subitems-gap-top) 0 var(--subitems-gap-bottom);vertical-align:top;overflow:visible;background:var(--bg)!important;border:none!important;padding-right:0!important}.subitems-block{margin-top:8px;margin-bottom:12px;margin-left:var(--subitems-indent);width:calc(100% - var(--subitems-indent));background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:visible}.subitems-rail{width:var(--group-rail-width);background:var(--group-stripe,#fdab3d);z-index:3;pointer-events:none;border-radius:3px 0 0 3px;position:absolute;top:0;bottom:0;left:0}.subitems-table{border-collapse:collapse;width:100%;min-width:calc(40px + var(--element-name-col-width) + 2 * var(--col-date-width) + var(--col-desc-width) + var(--col-critical-width) + var(--col-assignee-width));table-layout:fixed}.subitems-table th,.subitems-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;background:var(--surface);padding:7px 10px}.subitems-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.subitems-table .col-check{width:40px;padding-left:calc(var(--group-rail-width) + 8px);text-align:center;position:relative;overflow:visible}.subitem-checkbox{z-index:2;position:relative}.subitem-connector{left:calc(-1 * var(--subitems-indent) - var(--group-rail-width) - 8px);width:calc(var(--subitems-indent) + var(--group-rail-width) + 8px);border-left:2px solid var(--group-stripe,#fdab3d);border-bottom:2px solid var(--group-stripe,#fdab3d);box-sizing:border-box;pointer-events:none;z-index:1;border-bottom-left-radius:18px;height:55%;min-height:20px;max-height:38px;position:absolute;top:50%;transform:translateY(-100%)}.subitem-connector-end{border-bottom-left-radius:16px;max-height:34px}.subitems-table tr:last-child td{border-bottom:none}.subitems-table>tbody>tr.subitem-row:not(.subitem-add-row):hover>td{background:var(--hover-row)}.subitem-row.is-dragging{opacity:.45}.subelement-drop-line-row td{background:0 0!important;border:none!important;padding:0!important}.subitem-row{position:relative}.subitem-add-row td{padding:2px 10px 8px}.subitem-add-row .inline-add-input{padding-left:0}.subitems-slot-row+tr>td{border-top:1px solid var(--border)}.add-row td,.subitem-add-row td{vertical-align:middle;border-bottom:none;padding:4px 10px 10px;background:0 0!important}.add-row:hover td,.subitem-add-row:hover td{background:0 0!important}.add-row .inline-add-input,.subitem-add-row .inline-add-input{width:100%;min-width:0}.add-row-field-slot{border:1px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;width:100%;min-height:28px;font:inherit;text-align:left;color:var(--text-secondary);background:0 0;align-items:center;padding:2px 6px;font-size:13px;display:none}.add-row.is-composing .add-row-field-slot,.subitem-add-row.is-composing .add-row-field-slot{display:flex}.add-row-field-slot.has-value{border-style:solid;border-color:var(--border);color:var(--text)}.add-row-field-slot-hint{color:var(--text-tertiary)}.add-row-field-slot:hover{background:var(--hover-cell);border-color:var(--border)}.add-row-field-editor{width:100%;min-width:0}.add-row-field-editor.is-active{display:block}.add-row-extra-cell .date-field-trigger,.add-row-extra-cell .inline-edit,.add-row-extra-cell .assignee-input{width:100%;min-width:0}.item-marker{color:var(--text-secondary);vertical-align:middle;margin-left:6px;font-size:10px}.group-header td{background:var(--bg-sidebar);border-bottom:1px solid var(--border-strong);padding:10px;font-weight:600}.group-color{vertical-align:middle;cursor:pointer;border:none;border-radius:2px;width:4px;height:20px;margin-right:8px;padding:0;display:inline-block}.group-color-picker{vertical-align:middle;margin-right:8px;display:inline-block;position:relative}.color-picker-popover{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);gap:4px;margin-top:4px;padding:6px;display:flex;position:absolute;top:100%;left:0}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;padding:0}.color-swatch.active{border-color:var(--text)}.name-cell{cursor:pointer;color:var(--text)}.name-cell:hover{color:var(--primary)}.inline-edit{width:100%;font:inherit;background:0 0;border:none;border-radius:4px;padding:2px 4px}.inline-edit:focus{background:var(--surface);outline:2px solid #2383e259}.drag-handle{cursor:grab;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;padding:0 4px}.batch-bar{background:var(--text);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:50;align-items:center;gap:12px;padding:10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.batch-bar .btn{color:#fff;border-color:#ffffff4d}.batch-bar .btn:hover{background:#ffffff1a}.peek-overlay{z-index:var(--z-peek-overlay);justify-content:flex-end;display:flex;position:fixed;inset:0}.peek-overlay--backdrop{background:#0f0f0f4d}.peek-overlay--side{pointer-events:none}.peek-overlay--side .peek-panel{pointer-events:auto}.peek-panel{width:min(var(--peek-width), 100vw);background:var(--surface);height:100%;box-shadow:var(--shadow-md);flex-direction:column;display:flex;overflow:hidden}.import-panel{border-radius:var(--radius-lg);align-self:center;width:min(560px,100vw - 32px);height:auto;max-height:min(90vh,720px);margin:auto}.import-panel__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-panel__close{flex-shrink:0}.import-panel__body{flex-direction:column;gap:16px;display:flex;overflow:auto}.import-panel__footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.import-field{flex-direction:column;gap:6px;display:flex}.import-field__label{color:var(--text-secondary);font-size:13px;font-weight:600}.import-field__input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;padding:8px 10px}.import-field__hint{color:var(--text-tertiary);margin:0;font-size:12px}.import-dropzone{border:1px dashed var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.import-dropzone:hover{background:var(--hover)}.import-dropzone.is-dragover{background:var(--hover);border-color:var(--border-strong);color:var(--text)}.import-dropzone__input{display:none}.import-status{color:var(--text-secondary);margin:0;font-size:13px}.import-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:12px;padding:12px;display:flex}.import-preview__stats{flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.import-warnings{color:var(--warning,#b7791f);margin:0;padding-left:18px;font-size:12px}.import-details summary{cursor:pointer;font-size:13px;font-weight:600}.import-group-list{max-height:180px;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.import-group-list li{align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.import-group-list .color-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.import-group-list__meta{color:var(--text-tertiary);margin-left:auto;font-size:12px}.import-mapping{margin:8px 0 0}.import-mapping__row{border-bottom:1px solid var(--border);grid-template-columns:160px 1fr;gap:8px;padding:4px 0;font-size:12px;display:grid}.import-mapping__row dt{color:var(--text-tertiary);margin:0}.import-mapping__row dd{margin:0}.import-error{color:var(--danger);margin:0;font-size:13px}.import-target-fieldset{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin:0;padding:12px;display:flex}.import-target-fieldset legend{padding:0 4px}.import-target-options{flex-direction:column;gap:6px;display:flex}.import-target-option{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.import-field--nested{margin-bottom:0}.peek-header{border-bottom:1px solid var(--border);padding:24px 24px 16px}.peek-toolbar{background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 28px 8px 12px;display:flex}.peek-toolbar .peek-close-btn,.peek-toolbar .peek-header-actions,.notifications-header .peek-close-btn{position:static}.peek-title-block{padding:8px 0 16px}.peek-inner .peek-header{border-bottom:none;padding:8px 64px 4px;position:relative}.peek-header h2{margin:0;font-size:1.5rem;font-weight:600}.peek-header-row{min-width:0;display:block}.peek-header-main{flex:1;min-width:0;margin-top:32px}.peek-header-body{align-items:flex-start;gap:8px;min-width:0;display:flex}.peek-title-input{width:100%;min-width:0;color:var(--text);resize:none;field-sizing:content;background:0 0;border:none;margin:0;padding:4px 0;font-family:inherit;font-size:1.5rem;font-weight:700;line-height:1.3;overflow:hidden}.peek-title-input:focus{outline:none}.peek-title-input:disabled{opacity:.7;cursor:not-allowed}.peek-title-input::placeholder{color:var(--text-tertiary);font-weight:500}.peek-header-actions{flex-shrink:0;align-items:center;gap:0;margin-top:0;display:flex;position:absolute;top:8px;right:28px}.peek-header-btn,.peek-close-btn{width:28px;height:28px;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;margin-top:0;padding:0}.peek-close-btn{position:absolute;top:8px;left:28px}.peek-header-btn:hover,.peek-close-btn:hover{background:var(--hover);color:var(--text)}.peek-menu-wrap{position:relative}.peek-menu-dropdown{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:160px;box-shadow:var(--shadow-md);padding:4px;position:absolute;top:calc(100% + 4px);right:0}.peek-tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 24px;display:flex}.peek-tab{cursor:pointer;color:var(--text-secondary);font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;text-decoration:none}a.peek-tab:hover{color:var(--text)}.peek-tab.active{color:var(--text);border-bottom-color:var(--primary);font-weight:500}.peek-body{flex:1;padding:24px;overflow-y:auto}.peek-inner .peek-body{padding:4px 64px 32px}.comment{border-bottom:1px solid var(--border);padding:12px 0}.comment-meta{color:var(--text-tertiary);margin-bottom:4px;font-size:12px}.user-avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.user-avatar--photo{object-fit:cover;background:var(--bg-secondary);display:block}.online-users-stack{flex-shrink:0;align-items:center;display:flex}.online-users-stack-item{cursor:default;flex-shrink:0;display:inline-flex;position:relative}.online-users-stack-item:after{content:attr(data-tooltip);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:60;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:500;line-height:1.2;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.online-users-stack-item:hover:after,.online-users-stack-item:focus-within:after{opacity:1;visibility:visible}.online-users-stack-item:not(:first-child) .user-avatar{margin-left:-6px}.online-users-stack .user-avatar{border:2px solid var(--bg);box-sizing:content-box}.online-users-stack-more{border:2px solid var(--bg);background:var(--bg-secondary);width:24px;height:24px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-6px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.settings-avatar-row{align-items:center;gap:20px;margin-bottom:20px;display:flex}.settings-avatar-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.settings-avatar-hint{color:var(--text-tertiary);margin:0;font-size:12px}.comment-item{align-items:flex-start;gap:10px;padding:10px 0;display:flex}.comment-content{flex:1;min-width:0}.comment-header{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.comment-author{color:var(--text);font-size:14px;font-weight:600}.comment-time{color:var(--text-tertiary);font-size:12px}.comment-delete-btn{color:var(--text-tertiary);cursor:pointer;opacity:0;border-radius:var(--radius);background:0 0;border:none;margin-left:auto;padding:2px 4px}.comment-item:hover .comment-delete-btn{opacity:1}.comment-delete-btn:hover{color:var(--danger);background:var(--hover)}.comment-body{color:var(--text);font-size:14px;line-height:1.5}.comment-body p{margin:0}.comment-composer{border:none;align-items:flex-start;gap:10px;margin:0;padding-top:4px;display:flex}.comment-composer-field{flex:1;min-width:0;position:relative}.comment-composer-input{width:100%;min-height:28px;font:inherit;color:var(--text);resize:none;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;padding:4px 0;font-size:14px;line-height:1.5;display:block;overflow:hidden}.comment-composer-editor.is-empty:not(:focus):before{content:attr(data-placeholder);color:var(--text-tertiary);pointer-events:none}.comment-composer-chip{vertical-align:baseline;max-width:100%}.comment-composer-task-chip{cursor:default;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--text) 30%, transparent);text-underline-offset:2px}.comment-composer-task-chip .comment-task-link-label{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.comment-composer-input:focus{outline:none}.comment-composer-field:hover .comment-toolbar,.comment-composer-field:focus-within .comment-toolbar{opacity:1;pointer-events:auto}@media (hover:none) and (pointer:coarse){.input,.textarea,.select,.comment-composer-input,.comment-composer-editor,.assignee-input,.inline-add-input,.element-name-input,.sub-name-input,.inline-description-textarea,.project-search,.peek-inner .properties .peek-field,.peek-inner .properties .assignee-input{font-size:max(16px,1em)}}.comment-composer-attachments{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.comment-toolbar{opacity:0;pointer-events:none;justify-content:flex-end;align-items:center;gap:2px;margin-top:4px;transition:opacity .15s;display:flex}.comment-toolbar-btn{width:28px;height:28px;color:var(--text-secondary);border-radius:var(--radius);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.comment-toolbar-btn:hover{background:var(--hover);color:var(--text)}.comment-send-btn{width:26px;height:26px;color:var(--text-tertiary)}.comment-send-btn:hover{background:var(--hover);color:var(--text-secondary)}.comment-send-btn.is-ready{background:var(--primary);color:#fff;border-radius:50%}.comment-send-btn.is-ready:hover{background:var(--primary);color:#fff;filter:brightness(1.05)}.comment-send-btn:disabled{opacity:1;cursor:not-allowed}.comment-send-btn:disabled:not(.is-ready){color:var(--text-tertiary);background:0 0}.comment-file-input{display:none}.comment-mention-popover{z-index:450;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:fixed;overflow:hidden}.comment-mention-popover-body{flex:1;min-height:0;overflow:hidden auto}.comment-mention-footer{border-top:1px solid var(--border);color:var(--text-secondary);background:#2383e214;flex-shrink:0;padding:8px 12px;font-size:12px;line-height:1.35}.comment-mention-section+.comment-mention-section{border-top:1px solid var(--border)}.comment-mention-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:8px 12px 4px;font-size:11px;font-weight:600}.comment-mention-list{padding-bottom:4px}.comment-mention-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.comment-mention-item:hover,.comment-mention-item.is-active{background:var(--hover)}.comment-mention-item.is-me .comment-mention-item-label{font-weight:600}.comment-mention-empty{color:var(--text-tertiary);padding:8px 12px;font-size:13px}.comment-mention-task{align-items:flex-start}.comment-mention-task-icon{color:var(--text-secondary);flex-shrink:0;margin-top:2px}.comment-mention-task-text{flex-direction:column;gap:2px;min-width:0;display:flex}.comment-mention-task-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.comment-mention-task-meta{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.comment-task-link{max-width:100%;font:inherit;color:var(--text);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--text) 30%, transparent);text-underline-offset:2px;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.comment-task-link:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.comment-task-link-icon{color:var(--text-secondary);flex-shrink:0}.comment-task-link-label{min-width:0}.user-mention,.comment-user-mention,.comment-body .user-mention,.comment-body .comment-user-mention,.comment-composer-editor .user-mention,.comment-composer-editor .comment-user-mention,.comment-composer-input .user-mention,.comment-composer-input .comment-user-mention{color:var(--text-secondary);font-weight:500}.comment-body a[href^=user\:]{color:var(--text-secondary);cursor:default;font-weight:500;text-decoration:none}.comment-attachments-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.comment-attachment-chip{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:6px;max-width:100%;padding:6px 8px;font-size:13px;display:inline-flex}.comment-attachment-chip.is-uploading{color:var(--text-secondary)}.comment-attachment-chip.is-error{border-color:color-mix(in srgb, var(--danger) 40%, var(--border));color:var(--danger)}.comment-attachment-spinner{animation:1s linear infinite spin}.comment-attachment-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.comment-attachment-name.linkish{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.comment-attachment-meta{color:var(--text-tertiary);white-space:nowrap;font-size:12px}.comment-attachment-remove,.comment-attachment-action{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px}.comment-attachment-preview-wrap{display:inline-block;position:relative}.comment-image-preview{max-width:100%;display:inline-block;position:relative}.comment-image-preview:hover .comment-image-menu-trigger,.comment-image-menu.is-open .comment-image-menu-trigger{opacity:1}.comment-image-preview-btn{cursor:zoom-in;background:0 0;border:none;border-radius:8px;padding:0;line-height:0;display:block}.comment-image-preview-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.comment-attachment-preview{border:1px solid var(--border);object-fit:cover;border-radius:8px;max-width:280px;max-height:200px;display:block}.comment-image-menu{z-index:2;position:absolute;top:6px;right:6px}.comment-image-menu-trigger{border-radius:var(--radius);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;background:#ffffffeb;border:none;justify-content:center;align-items:center;transition:opacity .15s;display:inline-flex;box-shadow:0 1px 3px #0000001f}.comment-image-menu-trigger:hover{color:var(--text);background:var(--surface)}.comment-image-menu-dropdown{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:160px;box-shadow:var(--shadow-md);padding:4px;position:absolute;top:calc(100% + 4px);right:0}.comment-image-lightbox{z-index:500;cursor:zoom-in;background:#0f0f0fe0;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.comment-image-lightbox-img{object-fit:contain;border-radius:var(--radius);cursor:zoom-in;max-width:min(96vw,1400px);max-height:92vh;box-shadow:0 8px 32px #00000059}.comment-attachment-preview-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:absolute;top:6px;right:6px}@keyframes spin{to{transform:rotate(360deg)}}.property-empty-value{color:var(--text-tertiary);font-size:14px;font-style:italic}.notifications-panel{flex-direction:column;width:min(300px,100vw);max-width:300px;animation:.28s cubic-bezier(.32,.72,0,1) peekSlide;display:flex}.notifications-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px 8px 12px;display:flex}.notifications-header-start{align-items:center;gap:4px;min-width:0;display:flex}.notifications-header-start strong{font-weight:600}.notifications-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.notifications-list{flex:1;min-height:0;overflow-y:auto}.notification-item{border:none;border-bottom:1px solid var(--border);width:100%;color:inherit;font:inherit;text-align:left;cursor:default;background:0 0;padding:12px 14px;display:block}.notification-item-layout{align-items:flex-start;gap:10px;width:100%;display:flex}.notification-item-avatar{flex-shrink:0}.notification-item-body{flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.notification-item.is-navigable{cursor:pointer}.notification-item.unread{background:#2383e20f}.notification-item.is-navigable:hover{background:var(--hover)}.notification-item:disabled{opacity:.65}.notification-item-message{font-size:14px;line-height:1.4}.notification-item-time{color:var(--text-tertiary);font-size:12px}.icon-tooltip-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-tooltip-btn:disabled{opacity:.35;cursor:not-allowed}.icon-tooltip-btn:not(:disabled):hover,.icon-tooltip-btn:not(:disabled):focus-visible{background:var(--hover);color:var(--text);outline:none}.icon-tooltip-btn:after{content:attr(data-tooltip);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:60;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:500;line-height:1.2;position:absolute;top:calc(100% + 6px);right:0}.icon-tooltip-btn:not(:disabled):hover:after,.icon-tooltip-btn:not(:disabled):focus-visible:after{opacity:1;visibility:visible}.badge{background:var(--primary);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:inline-flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;padding:20px}.panel-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-weight:600}.admin-page{min-width:0}.admin-nav{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;border-bottom:1px solid var(--border);flex-wrap:nowrap;gap:0;margin-bottom:24px;display:flex;overflow-x:auto}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-tab{scroll-snap-align:start;cursor:pointer;color:var(--text-secondary);font:inherit;white-space:nowrap;touch-action:manipulation;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:10px 14px;font-size:14px;text-decoration:none}a.admin-nav-tab:hover{color:var(--text)}.admin-nav-tab.active{color:var(--text);border-bottom-color:var(--primary);font-weight:500}.admin-inline-form{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.admin-inline-form .input{flex:160px;min-width:0}.admin-users-invite-form{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.admin-users-invite-form .input{flex:1;min-width:120px}.admin-users-invite-form .select{width:120px}.admin-users-panel{padding:24px}.admin-users-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-users-intro{color:var(--text-secondary);max-width:520px;margin:4px 0 0;font-size:14px}.admin-users-table-wrap{overflow-x:auto}.admin-users-table td{vertical-align:middle}.admin-user-cell{align-items:center;gap:12px;min-width:0;display:flex}.admin-user-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-user-name{color:var(--text);font-weight:500}.admin-user-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.admin-user-badge{border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;line-height:1.2;display:inline-flex}.admin-user-badge--role.admin-user-badge--admin{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.admin-user-badge--role.admin-user-badge--member{background:var(--hover);color:var(--text-secondary)}.admin-user-badge--status.admin-user-badge--active{background:color-mix(in srgb, var(--success,#00c875) 14%, transparent);color:#0d8050}.admin-user-badge--status.admin-user-badge--invited{background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary)}.admin-user-badge--status.admin-user-badge--disabled{background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger)}.admin-users-actions{text-align:right;white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.admin-users-edit-btn{gap:6px}.admin-emails-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-emails-intro{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.5}.admin-emails-menu{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.admin-emails-menu-item{border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;color:var(--text);font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.admin-emails-menu-item:hover,.admin-emails-menu-item.active{background:var(--hover)}.admin-emails-menu-label{font-size:14px;font-weight:500}.admin-emails-menu-badge{color:var(--text-tertiary);white-space:nowrap;font-size:11px}.admin-emails-editor-title{margin:0 0 4px;font-size:1.125rem}.admin-emails-editor-desc{color:var(--text-secondary);margin:0;font-size:13px}.admin-emails-preview-main{min-width:0}.admin-emails-preview-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-emails-preview-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.admin-emails-preview-header-actions .btn{gap:6px}.admin-emails-placeholders{color:var(--text-secondary);margin:0 0 16px;font-size:13px}.admin-emails-placeholders code{background:var(--hover);border-radius:4px;margin:0 4px;padding:2px 6px;font-size:12px}.admin-emails-body{resize:vertical;min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5}.admin-email-client{border:1px solid var(--border);border-radius:var(--radius-lg);background:#f7f6f3;overflow:hidden}.admin-email-client-meta{background:var(--surface);border-bottom:1px solid var(--border);margin:0;padding:14px 16px;font-size:13px}.admin-email-client-meta>div{gap:10px;margin:0 0 6px;display:flex}.admin-email-client-meta>div:last-child{margin-bottom:0}.admin-email-client-meta dt{color:var(--text-tertiary);flex:0 0 52px;margin:0;font-weight:500}.admin-email-client-meta dd{color:var(--text);word-break:break-word;margin:0}.admin-email-client-body{background:#f7f6f3}.admin-email-client-loading{text-align:center;color:var(--text-secondary);padding:48px 16px;font-size:13px}.admin-emails-preview-frame{background:#f7f6f3;border:none;width:100%;min-height:420px;display:block}@media (width<=900px){.inline-description-popover{max-width:calc(100vw - 16px)}.inline-description-textarea{max-height:min(35dvh,280px);font-size:16px}.peek-inner .properties .inline-text-cell{font-size:16px}.admin-emails-layout{grid-template-columns:1fr}.admin-emails-preview-header{flex-direction:column}.admin-emails-preview-header-actions{justify-content:flex-end;width:100%}}.admin-projects-panel{padding:24px}.admin-projects-header{margin-bottom:20px}.admin-projects-intro{color:var(--text-secondary);max-width:56ch;margin:6px 0 0;font-size:14px;line-height:1.5}.admin-projects-list{flex-direction:column;gap:12px;display:flex}.admin-project-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-sidebar);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.admin-project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.admin-project-card-main{flex:1;gap:14px;min-width:0;display:flex}.admin-project-card-icon{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-project-card-body{flex:1;min-width:0}.admin-project-card-title-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.admin-project-card-title{color:var(--text);margin:0;font-size:15px;font-weight:600}.admin-project-card-meta{color:var(--text-tertiary);font-size:12px}.admin-project-card-description{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.45}.admin-project-card-slug{margin-top:8px}.admin-project-card-slug code{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:12px}.admin-project-card-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;display:flex}.admin-project-action-btn{gap:6px;font-size:13px}.admin-project-modal{width:min(520px,100vw - 32px)}.admin-project-description{resize:vertical;min-height:72px}.admin-project-slug-field{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);align-items:center;gap:0;display:flex;overflow:hidden}.admin-project-slug-prefix{color:var(--text-tertiary);background:var(--hover);border-right:1px solid var(--border);white-space:nowrap;padding:0 10px;font-size:13px;line-height:36px}.admin-project-slug-input{flex:1;min-width:0;box-shadow:none!important;border:none!important;border-radius:0!important}.admin-project-slug-warning{border-radius:var(--radius);color:#7a5b00;background:#fff8e6;border:1px solid #f5d97a;margin:8px 0 0;padding:10px 12px;font-size:13px;line-height:1.45}.field-hint{color:var(--text-tertiary);margin:6px 0 0;font-size:12px}.field-hint--error{color:var(--danger)}.admin-project-open-link{gap:6px;margin-right:auto}@media (width<=900px){.admin-project-card{flex-direction:column;align-items:stretch}.admin-project-card-actions{border-top:1px solid var(--border);justify-content:flex-start;padding-top:4px}}.admin-modal-overlay{z-index:450}.admin-modal-overlay--center{justify-content:center;align-items:center}.admin-modal-panel{border-radius:var(--radius-lg);align-self:center;width:min(480px,100vw - 32px);height:auto;max-height:min(90vh,720px);margin:auto;overflow:hidden}.admin-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 0;display:flex}.admin-modal-title{margin:0;font-size:1.25rem;font-weight:600}.admin-modal-subtitle{color:var(--text-tertiary);margin:4px 0 0;font-size:13px}.admin-modal-close{flex-shrink:0}.admin-modal-body{flex-direction:column;gap:16px;padding:20px;display:flex}.admin-modal-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.admin-modal-footer-actions{gap:8px;margin-left:auto;display:flex}.admin-modal-footer-secondary{margin-right:auto}.admin-email-template-modal{width:min(640px,100vw - 32px);height:auto;max-height:min(92vh,800px)}.admin-email-template-modal-form{flex-direction:column;flex:1;min-height:0;display:flex}.admin-email-template-modal-body{flex:1;min-height:0;overflow-y:auto}.admin-email-template-modal-footer{border-top:1px solid var(--border);flex-shrink:0;margin-top:0;padding:16px 20px 20px}.color-orange{background:#fdab3d}.color-blue{background:#579bfc}.color-green{background:#00c875}.color-red{background:#e2445c}.color-purple{background:#a25ddc}.timeline-bar{background:var(--border);border-radius:4px;height:8px;margin:16px 0;position:relative}.timeline-fill{background:var(--primary);border-radius:4px;height:100%}.empty-state{text-align:center;color:var(--text-secondary);padding:48px}.nav-section{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);white-space:nowrap;padding:8px 10px 4px;font-size:11px;font-weight:500}.sidebar-config{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.project-header{z-index:30;margin-bottom:24px;position:relative}.project-header-row1{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.project-header-row1-main{flex:1;align-items:center;gap:24px;min-width:0;display:flex}.project-header-row1-tools{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.project-header-row1-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.project-header-row1-main h1{margin:0;font-size:2rem;font-weight:700}.project-header-icon-btn{border-radius:var(--radius);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.project-header-icon-btn:hover,.project-header-icon-btn:focus-visible{background:var(--hover);color:var(--text);outline:none}.project-header-row1-actions .badge,.project-header-icon-btn .badge{pointer-events:none;min-width:16px;height:16px;padding:0 4px;font-size:10px;position:absolute;top:2px;right:2px}.project-title-dropdown{position:relative}.project-title-trigger{border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;max-width:min(480px,70vw);padding:4px 10px 4px 12px;font-size:2rem;font-weight:700;display:inline-flex}.project-title-trigger:hover,.project-title-trigger:focus-visible{background:var(--hover)}.project-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-title-chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .15s}.project-title-dropdown.is-open .project-title-chevron{transform:rotate(180deg)}.project-settings-panel{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(360px,100vw - 48px);box-shadow:var(--shadow-md);padding:12px;position:absolute;top:calc(100% + 6px);left:0}.project-settings-name{width:100%;margin-bottom:8px;font-size:1.25rem;font-weight:600}.project-settings-description{resize:vertical;width:100%;min-height:56px;color:var(--text-secondary);font-size:14px}.project-settings-description:not(:placeholder-shown){color:var(--text)}.project-settings-divider{background:var(--border);height:1px;margin:10px 0 6px}.project-settings-delete{border-radius:var(--radius);width:100%;color:var(--danger);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.project-settings-delete:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.sidebar-new-project{border-radius:var(--radius);width:100%;color:var(--text-tertiary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;margin-top:2px;padding:6px 10px;font-size:13px;display:flex}.sidebar-new-project:hover{background:var(--hover);color:var(--text-secondary)}.create-project-panel{align-self:center;width:min(420px,100vw - 32px);height:auto;max-height:90vh;margin:auto}.create-project-panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.create-project-panel__header h2{margin:0;font-size:1.25rem;font-weight:600}.create-project-panel__body{flex-direction:column;gap:16px;padding:20px;display:flex}.create-project-panel__footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.field-error{color:var(--danger);margin:0;font-size:13px}.project-tabs{gap:4px;display:flex}.project-tab{border-radius:var(--radius);color:var(--text-secondary);padding:6px 12px;text-decoration:none}.project-tab:hover{background:var(--hover);color:var(--text);text-decoration:none}.project-tab.active{background:var(--active);color:var(--text);font-weight:500}.project-tab.active:hover{background:var(--active)}.project-view-filter{flex-shrink:0}.project-view-filter-btn.is-active{color:var(--primary);background:#2383e21a}.project-view-filter-menu{width:max-content;min-width:max-content;max-width:none;left:0;right:auto}.project-view-filter-item{white-space:nowrap;gap:10px;width:auto}.project-view-filter-check{border:1.5px solid var(--border-strong);background:var(--surface);color:#fff;box-sizing:border-box;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.project-view-filter-check.is-checked{border-color:var(--primary);background:var(--primary)}.project-view-filter-check svg{width:12px;height:12px;display:block}.project-search{width:220px;max-width:100%}.dropdown-wrap{position:relative}.dropdown-wrap.is-open .dropdown-menu{display:block}.dropdown-menu{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:40;min-width:180px;margin-top:4px;padding:4px;display:none;position:absolute;top:100%;right:0}.dropdown-menu--auto-width{width:max-content;min-width:0;max-width:min(300px,100vw - 24px)}.dropdown-menu--auto-width .dropdown-item{white-space:nowrap;width:100%}.dropdown-item{cursor:pointer;width:100%;font:inherit;text-align:left;border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.dropdown-item:hover{background:var(--hover)}.dropdown-item:disabled{opacity:.45;cursor:default}.dropdown-divider{background:var(--border);height:1px;margin:4px 0}.toast-container{z-index:var(--z-toast);flex-direction:column;gap:8px;display:flex;position:fixed;bottom:80px;right:24px}.toast{border-radius:var(--radius);box-shadow:var(--shadow-md);background:var(--text);color:#fff;padding:10px 16px;font-size:14px}.toast-error{background:var(--danger)}.confirm-overlay{z-index:var(--z-confirm);background:#0f0f0f59;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(420px,100%);box-shadow:var(--shadow-md);padding:20px 24px}.confirm-title{letter-spacing:-.02em;margin:0 0 8px;font-size:18px;font-weight:700}.confirm-message{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.task-peek{border-left:1px solid var(--border);width:min(720px,100vw);animation:.28s cubic-bezier(.32,.72,0,1) peekSlide;box-shadow:-16px 0 48px #0f0f0f1f}@keyframes peekSlide{0%{transform:translate(100%)}to{transform:translate(0)}}.peek-inner{flex-direction:column;height:100%;display:flex;position:relative}.properties{flex-direction:column;gap:12px;display:flex}.property-row{grid-template-columns:140px 1fr;align-items:start;gap:12px;display:grid}.properties.panel-compact{gap:0}.properties.panel-compact .property-row{border-bottom:1px solid var(--border);grid-template-columns:110px 1fr;align-items:center;gap:12px;min-height:36px;padding:7px 0}.properties.panel-compact>.property-row:first-child{border-top:1px solid var(--border)}.properties.panel-compact .property-row-tall{align-items:start;padding-top:10px;padding-bottom:10px}.properties.panel-compact .property-row label{color:var(--text-secondary);font-size:14px;line-height:1.3}.property-label-with-lock{align-items:center;gap:4px;display:inline-flex}.properties.panel-compact .property-row .input,.properties.panel-compact .property-row .select,.properties.panel-compact .property-row .textarea{font-size:14px}.properties.panel-compact .property-row .textarea{min-height:72px}.peek-inner .properties .peek-field,.peek-inner .properties .assignee-input,.peek-inner .properties .assignee-picker-trigger,.peek-inner .properties .dependency-picker-trigger,.peek-inner .properties .date-field-trigger.peek-field{box-shadow:none;font-size:14px;font-family:var(--font);background:0 0;border:none;padding:0}.peek-field-static,.peek-field-link{text-align:left;width:100%;color:var(--text);display:block}.peek-field-link{cursor:pointer;font:inherit;font-size:14px;font-family:var(--font);background:0 0;border:none;padding:0}.peek-field-link:hover{color:var(--primary)}.peek-inner .properties .peek-field:focus,.peek-inner .properties .assignee-input:focus,.peek-inner .properties .assignee-picker-trigger:focus,.peek-inner .properties .dependency-picker-trigger:focus,.peek-inner .properties .date-field-trigger.peek-field:focus{background:0 0;outline:none}.peek-inner .properties .date-field-trigger.peek-field.is-empty,.peek-inner .properties .assignee-input::placeholder,.peek-inner .properties .dependency-picker-placeholder{color:var(--text-tertiary);font-style:italic}.peek-inner .properties .inline-text-cell{font-family:var(--font);cursor:pointer;white-space:normal;min-height:auto;padding:0;font-size:14px}.peek-inner .properties .inline-text-preview{white-space:pre-wrap;word-break:break-word}.peek-inner .properties .inline-text-full{white-space:pre-wrap}.peek-inner .properties .inline-text-placeholder{color:var(--text-tertiary);font-style:italic}.peek-inner .properties .critical-cell{border:none;justify-content:flex-start;min-height:auto;padding:0}.peek-inner .properties .critical-cell:hover,.peek-inner .properties .critical-cell.is-open{border-radius:var(--radius);background:0 0;border:none}.assignee-picker-trigger{text-align:left;cursor:pointer;width:100%;font-family:var(--font);display:block}.assignee-picker-trigger:disabled{cursor:default;opacity:.7}.assignee-picker-trigger--table{background:0 0;border:none;border-radius:4px;width:100%;min-height:24px;padding:2px 4px;font-size:13px}.assignee-picker-trigger--table:hover,.assignee-picker-trigger--table.is-open{background:var(--hover-cell);outline:2px solid #2383e259}.assignee-picker-trigger--table.is-empty:not(:hover):not(.is-open) .property-empty-value{color:var(--text-tertiary)}.assignee-table-label{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.assignee-picker-trigger--avatar{justify-content:center;align-items:center;padding:2px;display:flex}.assignee-picker-trigger--chip{align-items:center;width:auto;max-width:100%;display:inline-flex}.assignee-table-hover-anchor{justify-content:center;align-items:center;width:100%;display:flex}.assignee-ask-popover{z-index:460;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);min-width:160px;box-shadow:var(--shadow-md);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:14px 16px 12px;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.assignee-ask-popover-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:14px;font-weight:500;line-height:1.3;overflow:hidden}.assignee-ask-btn{width:100%;font-size:13px;font-family:var(--font);color:var(--text-primary);background:var(--hover-cell);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:center;padding:6px 10px;font-weight:500;display:block}.assignee-ask-btn:hover{background:var(--hover-row);border-color:var(--border-strong)}.assignee-cell .assignee-picker-trigger{margin:0 auto;display:inline-flex}.assignee-picker-chip{align-items:center;gap:6px;display:inline-flex}.assignee-picker-popover{z-index:450;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:10px;position:fixed;overflow:hidden}.assignee-picker-selected{border-radius:var(--radius);background:#2383e21a;align-items:center;gap:8px;margin-bottom:8px;padding:4px 8px 4px 4px;display:flex}.assignee-picker-selected-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.assignee-picker-selected-clear{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;padding:2px}.assignee-picker-selected-clear:hover{color:var(--text);background:#37352f14}.assignee-picker-search-wrap{margin-bottom:8px;position:relative}.assignee-picker-search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.assignee-picker-search{border:1px solid var(--primary);border-radius:var(--radius);background:var(--surface);width:100%;font:inherit;color:var(--text);padding:8px 10px 8px 32px;font-size:13px}.assignee-picker-search:focus{outline:none}.assignee-picker-search::placeholder{color:var(--text-tertiary)}.assignee-picker-section-label{color:var(--text-tertiary);margin:0 0 4px;padding:0 4px;font-size:12px}.assignee-picker-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.assignee-picker-option{cursor:pointer;text-align:left;border-radius:var(--radius);width:100%;font:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:6px 4px;display:flex}.assignee-picker-option:hover{background:var(--hover)}.assignee-picker-option-label{flex-direction:column;gap:1px;min-width:0;display:flex}.assignee-picker-option-name{color:var(--text);font-size:13px;font-weight:500}.assignee-picker-option-email{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.assignee-picker-empty{color:var(--text-tertiary);padding:8px 4px;font-size:13px}.assignee-picker-footer{border-radius:var(--radius);color:var(--text-secondary);background:#2383e214;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;font-size:12px;display:flex}.peek-comments-section{border-top:none;margin-top:28px;padding-top:0}.peek-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0 0 8px;font-size:12px;font-weight:600}.peek-section-title--properties{margin-bottom:10px}.comments-list{margin-bottom:4px}.field-locked{opacity:.7}.lock-hint{color:var(--primary);margin-bottom:4px;font-size:12px}.mention-dropdown{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:160px;margin-top:4px;overflow-y:auto}.mention-item{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;padding:8px 12px;display:block}.mention-item:hover{background:var(--hover)}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{background:var(--hover-row)}.skeleton-row td{padding:12px}.skeleton-bar{background:linear-gradient(90deg, var(--hover) 25%, var(--border) 50%, var(--hover) 75%);background-size:200% 100%;border-radius:4px;height:16px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.btn-icon{cursor:pointer;color:var(--text-secondary);vertical-align:middle;background:0 0;border:none;padding:2px}.btn-icon.group-chevron{color:var(--group-stripe,#fdab3d);justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.btn-icon.group-chevron:hover{color:var(--group-stripe,#fdab3d);opacity:.85}.comment-bubble{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.comment-bubble:hover{background:var(--hover);color:var(--primary)}.critical-flag{margin-left:4px}.desc-preview{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.empty-hint{text-align:center;color:var(--text-tertiary);padding:12px;font-size:13px}.add-group-footer{margin-top:16px}.color-pink{background:#ff5ac4}.color-yellow{background:#ffcb00}.color-grey{background:#c4c4c4}.ws-banner{color:#fff;text-align:center;z-index:300;background:#f5a623;padding:8px;font-size:13px;position:fixed;top:0;left:0;right:0}.admin-ses-banner{z-index:301;color:#fff;text-align:center;background:#b7791f;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;padding:8px 40px 8px 12px;font-size:13px;line-height:1.4;display:flex;position:fixed;top:0;left:0;right:0}.admin-ses-banner-dismiss{border-radius:var(--radius);color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.admin-ses-banner-dismiss:hover{opacity:1;background:#ffffff26}.admin-ses-banner-link{color:#fff;text-underline-offset:2px;font-weight:600;text-decoration:underline}.admin-ses-banner-link:hover{color:#fff;opacity:.9}.app-shell:has(.admin-ses-banner){box-sizing:border-box;padding-top:40px}.app-shell:has(.admin-ses-banner) .sidebar-floating{top:calc(var(--sidebar-floating-top) + 40px)}.app-shell:has(.admin-ses-banner).sidebar-peek-open .sidebar-edge-trigger{top:calc(var(--sidebar-floating-top) + 40px)}.admin-ops-banner{z-index:301;color:#fff;text-align:center;background:#c53030;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;padding:8px 12px;font-size:13px;line-height:1.4;display:flex;position:fixed;top:0;left:0;right:0}.app-shell:has(.admin-ses-banner) .admin-ops-banner{top:40px}.admin-ops-banner-link{color:#fff;text-underline-offset:2px;font-weight:600;text-decoration:underline}.admin-ops-banner-link:hover{color:#fff;opacity:.9}.app-shell:has(.admin-ops-banner){box-sizing:border-box;padding-top:40px}.app-shell:has(.admin-ses-banner):has(.admin-ops-banner){padding-top:80px}.app-shell:has(.admin-ops-banner) .sidebar-floating{top:calc(var(--sidebar-floating-top) + 40px)}.app-shell:has(.admin-ops-banner).sidebar-peek-open .sidebar-edge-trigger{top:calc(var(--sidebar-floating-top) + 40px)}.app-shell:has(.admin-ses-banner):has(.admin-ops-banner) .sidebar-floating{top:calc(var(--sidebar-floating-top) + 80px)}.app-shell:has(.admin-ses-banner):has(.admin-ops-banner).sidebar-peek-open .sidebar-edge-trigger{top:calc(var(--sidebar-floating-top) + 80px)}.trash-panel{align-self:center;width:min(480px,100vw);height:auto;max-height:80vh;margin:auto}.key-reveal{background:var(--hover);border-radius:var(--radius);word-break:break-all;padding:12px}.key-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.checkbox-row{align-items:center;gap:8px;font-size:14px;display:flex}.task-detail-full{padding:0}.task-detail-shell{background:var(--bg);min-height:100%;padding:40px 48px 72px}.task-detail-canvas{width:min(100%, var(--task-detail-width));margin:0 auto}.task-detail-page{flex-direction:column;gap:10px;display:flex}.task-detail-title-block{padding:0 2px}.task-detail-title-block .peek-title-input{font-size:1.75rem}.task-detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.task-detail-card-inner{padding:16px 20px 28px}.peek-inner--page{height:auto;min-height:0}.peek-inner--page .peek-body{flex:none;padding:8px 0 48px;overflow:visible}.peek-inner--page .peek-toolbar{margin-bottom:4px}.peek-back-btn{margin-right:auto}.breadcrumb{color:var(--text-tertiary);margin-bottom:8px;font-size:13px}.breadcrumb a{color:var(--text-tertiary)}.mobile-topbar{display:none}@media (width<=900px){:root{--main-padding-inline-end:12px}.app-shell{flex-direction:column}.main{--main-scroll-padding-top:16px;padding:var(--main-scroll-padding-top) 12px calc(40px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.task-detail-shell{padding:24px 16px 48px}.app-shell.sidebar-collapsed .main{--main-scroll-padding-top:16px;padding:var(--main-scroll-padding-top) 12px calc(40px + env(safe-area-inset-bottom,0px))}.sidebar-pinned,.sidebar-floating,.sidebar-edge-trigger,.content-top-bar{display:none!important}.sidebar.sidebar-mobile{width:min(var(--sidebar-width), 88vw);z-index:100;box-shadow:var(--shadow-md);padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));transition:transform .28s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar.sidebar-mobile.sidebar-mobile-open{transform:translate(0)}.sidebar-backdrop{z-index:99;background:#0f0f0f59;animation:.22s backdropIn;position:fixed;inset:0}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.mobile-topbar{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top,0px));background:var(--bg-sidebar);border-bottom:1px solid var(--border);z-index:50;flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.mobile-menu-btn{border-radius:var(--radius);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;justify-self:start;align-items:center;margin:-6px 0 -6px -8px;display:inline-flex}.mobile-menu-btn:hover,.mobile-menu-btn:active{background:var(--hover)}.mobile-topbar-brand{justify-self:center;min-width:0;overflow:hidden}.mobile-topbar-end{justify-content:flex-end;justify-self:end;align-items:center;gap:4px;min-width:0;display:flex}.mobile-topbar-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.mobile-topbar-actions{flex-shrink:0;align-items:center;display:flex}.mobile-topbar-actions-inner{margin-left:0}.mobile-topbar .dropdown-wrap.is-open .dropdown-menu{z-index:60}.mobile-topbar-user{align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.mobile-topbar-user-name{text-overflow:ellipsis;overflow:hidden}.page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:20px}.page-header h1{font-size:1.5rem}.page-actions{flex-wrap:wrap}.project-header-row1{gap:12px}.project-title-trigger{max-width:100%;font-size:1.35rem}.project-header-row1-tools{flex-wrap:wrap;justify-content:flex-end;width:100%}.project-search{flex:auto;width:auto;min-width:0}.btn-text-sm{display:none}.task-table{min-width:calc(40px + var(--element-name-col-width) + 2 * var(--col-date-width) + var(--col-desc-width) + var(--col-critical-width) + var(--col-assignee-width) + var(--subitems-indent))}.subitems-table{min-width:calc(40px + var(--element-name-col-width) + 2 * var(--col-date-width) + var(--col-desc-width) + var(--col-critical-width) + var(--col-assignee-width))}.group-table-wrap .subitems-block .subitems-table .name-col{width:var(--element-name-col-width);max-width:var(--element-name-col-width)}.monday-board{gap:20px;max-width:100%}.group-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;max-width:100%}.subitems-block{max-width:none;overflow:visible}.subitems-slot{overflow:visible}.gantt-page{width:100%;margin-right:0}.group-name-edit{font-size:19px}.peek-overlay{height:100dvh}.task-peek,.peek-panel{width:100%;max-width:100%;height:100dvh;max-height:100dvh}.peek-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px;padding-bottom:max(24px, env(safe-area-inset-bottom,0px));overflow-y:auto}.peek-inner .peek-body{padding:4px 16px 24px;padding-bottom:max(24px, env(safe-area-inset-bottom,0px))}.comment-composer-field:focus-within .comment-toolbar,.comment-composer-field .comment-toolbar{opacity:1;pointer-events:auto}.peek-inner .peek-header{padding:8px 16px 4px}.peek-toolbar{padding:8px 16px 8px 12px}.peek-tabs{padding:0 16px}.property-row{grid-template-columns:1fr;gap:4px}.notifications-panel{width:100%;max-width:100%;padding-top:env(safe-area-inset-top,0px)}.batch-bar{width:auto;max-width:none;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;justify-content:center;padding:12px;transform:none}.toast-container{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom,0px))}.toast{text-align:center;width:100%}.admin-nav{margin-inline:-12px;padding-inline:12px}.admin-page .panel,.admin-users-panel,.admin-projects-panel{padding:16px}.admin-users-header{flex-direction:column;align-items:stretch}.admin-users-actions{justify-content:flex-start}.admin-emails-preview-header-actions{flex-wrap:wrap}.admin-emails-menu{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;gap:8px;padding-bottom:4px;overflow-x:auto}.admin-emails-menu::-webkit-scrollbar{display:none}.admin-emails-menu>li{flex-shrink:0}.admin-emails-menu-item{white-space:nowrap;width:auto}.logs-detail{padding-left:14px}.logs-filter-path{flex:100%;min-width:0}.logs-filter-method,.logs-filter-status{flex:calc(50% - 4px);width:auto}}@media (width<=480px){:root{--main-padding-inline-end:10px}.main{padding-inline:10px}.project-header-row1{gap:12px}.project-tabs{flex:1}.project-tab{text-align:center;flex:1}.admin-nav{margin-inline:-10px;padding-inline:10px}}.logs-panel{padding-bottom:16px}.logs-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.logs-header .panel-title{margin-bottom:0}.logs-header-actions{align-items:center;gap:12px;display:flex}.logs-auto-refresh{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:flex}.logs-refresh-btn{align-items:center;gap:6px;font-size:13px;display:inline-flex}.logs-spin{animation:.8s linear infinite logs-spin}@keyframes logs-spin{to{transform:rotate(360deg)}}.logs-quick-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.logs-chip{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.logs-chip:hover{background:var(--hover);color:var(--text)}.logs-chip.active{background:var(--active);border-color:var(--border-strong);color:var(--text);font-weight:500}.logs-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.logs-filter-method{width:110px}.logs-filter-path{flex:1;min-width:160px}.logs-filter-status{width:110px}.logs-table-wrap{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow-x:auto}.logs-table{min-width:720px;margin:0}.logs-table th{white-space:nowrap}.logs-col-expand{width:28px;color:var(--text-tertiary);padding-inline:6px!important}.logs-col-time{white-space:nowrap;width:130px}.logs-col-method{width:80px}.logs-col-status{width:72px}.logs-col-duration{font-variant-numeric:tabular-nums;width:88px;text-align:right!important}.logs-col-path{max-width:0}.logs-row{cursor:pointer}.logs-row.is-error td{background:#eb57570a}.logs-row.is-error:hover td{background:#eb575714}.logs-row.expanded td{border-bottom:none}.logs-time-absolute{font-variant-numeric:tabular-nums;font-size:12px;display:block}.logs-time-relative{color:var(--text-tertiary);margin-top:1px;font-size:11px;display:block}.logs-path{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;display:block;overflow:hidden}.log-method-badge,.log-status-badge{letter-spacing:.02em;border-radius:4px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:600;display:inline-block}.log-method-get{color:#1a73d1;background:#2383e21f}.log-method-post{color:#00875a;background:#00c87524}.log-method-write{color:#b86e00;background:#fdab3d2e}.log-method-delete{color:#c53030;background:#eb575724}.log-method-other{background:var(--hover);color:var(--text-secondary)}.log-status-2xx{color:#00875a;background:#00c87524}.log-status-3xx{color:#1a73d1;background:#2383e21f}.log-status-4xx{color:#b86e00;background:#fdab3d33}.log-status-5xx{color:#c53030;background:#eb575729}.log-duration-warn{color:#b86e00;font-weight:500}.log-duration-slow{color:var(--danger);font-weight:600}.logs-empty{text-align:center;color:var(--text-secondary);padding:32px!important}.logs-detail-row td{border-bottom:1px solid var(--border);background:var(--bg)!important;padding:0!important}.logs-detail{padding:12px 14px 14px 36px}.logs-detail-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px;margin-bottom:10px;display:grid}.logs-detail-field{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.logs-detail-label{color:var(--text-tertiary);min-width:72px}.logs-detail-value{color:var(--text);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.logs-copy-btn{min-height:24px;padding:2px 6px}.logs-error-block,.logs-response-block{margin-top:8px}.logs-response-block.is-error .logs-response-text{background:#eb575714;border-color:#eb575733}.logs-response-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.logs-response-text{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;max-height:320px;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;overflow:auto}.logs-error-text{border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;background:#eb575714;border:1px solid #eb575733;margin:4px 0 0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;overflow-x:auto}.logs-detail-actions{margin-top:10px}.logs-detail-actions .btn{align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.logs-pagination{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.logs-page-buttons{gap:6px;display:flex}.logs-clear-confirm{border-radius:var(--radius);background:#eb57570f;border:1px solid #eb575759;margin-bottom:12px;padding:14px 16px;font-size:13px}.logs-clear-confirm p{color:var(--text);margin:0 0 12px}.logs-clear-confirm .field{margin-bottom:12px}.logs-clear-actions{gap:8px;display:flex}.logs-header-actions .btn-danger{align-items:center;gap:6px;font-size:13px;display:inline-flex}.admin-docs-page{flex-direction:column;gap:16px;display:flex}.admin-docs-intro{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0;display:flex}.admin-docs-intro .panel-title{margin-bottom:4px}.admin-docs-lead{color:var(--text-secondary);max-width:52ch;margin:0;font-size:13px}.admin-docs-curl{flex-shrink:0;font-size:13px}.admin-docs-curl summary{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-weight:600}.admin-docs-curl pre{background:var(--hover);border-radius:8px;max-width:min(420px,40vw);margin:8px 0 0;padding:12px;font-size:12px;overflow-x:auto}.admin-docs-swagger .swagger-ui{font-family:var(--font)}.admin-docs-swagger .swagger-ui .topbar{display:none}.admin-docs-swagger .swagger-ui .information-container{margin:0;padding:0}.admin-docs-swagger .swagger-ui .info{margin:0 0 16px}.admin-docs-swagger .swagger-ui .info .title{color:var(--text);font-size:1.25rem;font-weight:700}.admin-docs-swagger .swagger-ui .info .description,.admin-docs-swagger .swagger-ui .info p,.admin-docs-swagger .swagger-ui .opblock-summary-description,.admin-docs-swagger .swagger-ui table thead tr td,.admin-docs-swagger .swagger-ui table thead tr th,.admin-docs-swagger .swagger-ui .parameter__name,.admin-docs-swagger .swagger-ui .parameter__type,.admin-docs-swagger .swagger-ui .response-col_status{color:var(--text-secondary)}.admin-docs-swagger .swagger-ui .opblock-tag{color:var(--text);border-bottom-color:var(--border)}.admin-docs-swagger .swagger-ui .opblock{border-color:var(--border);box-shadow:none;margin-bottom:8px}.admin-docs-swagger .swagger-ui .opblock .opblock-summary{border-color:var(--border)}.admin-docs-swagger .swagger-ui .opblock-body,.admin-docs-swagger .swagger-ui .responses-inner,.admin-docs-swagger .swagger-ui .model-box{background:var(--surface)}.admin-docs-swagger .swagger-ui section.models{border-color:var(--border)}@media (width<=900px){.admin-docs-intro{flex-direction:column}.admin-docs-curl pre{max-width:none}}.main:has(.timeline-layout){padding-bottom:16px}.timeline-layout{flex-direction:column;width:100%;display:flex}.timeline-layout .project-header{flex-shrink:0;margin-bottom:16px}.gantt-page{margin-right:calc(-1 * var(--main-padding-inline-end));width:calc(100% + var(--main-padding-inline-end));flex-direction:column;gap:12px;display:flex}.timeline-layout .gantt-page{gap:0}.gantt-page .gantt-toolbar,.gantt-page .gantt-chart,.gantt-page .gantt-empty{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.timeline-layout .gantt-toolbar{z-index:10;border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;flex-shrink:0}.timeline-layout .gantt-chart,.timeline-layout .gantt-empty{border-top-left-radius:0;border-top-right-radius:0}.gantt-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 12px;display:flex}.gantt-toolbar-group{align-items:center;gap:4px;display:flex}.gantt-scale-tabs{background:var(--hover);border-radius:var(--radius);padding:2px}.gantt-scale-tab{color:var(--text-secondary);font:inherit;border-radius:calc(var(--radius) - 2px);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px}.gantt-scale-tab.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.gantt-zoom-btn{min-width:32px;padding:4px 8px;font-size:16px;line-height:1}.gantt-toolbar-separator{color:var(--text-tertiary);-webkit-user-select:none;user-select:none;padding:0 2px;font-size:13px;line-height:1}.gantt-toolbar-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:inline-flex}.gantt-toolbar-toggle input{accent-color:var(--primary)}.gantt-chart{flex-direction:column;padding:0;display:flex;overflow:visible}.gantt-chart--positioning{visibility:hidden}.gantt-chart-header{border-bottom:1px solid var(--border);background:var(--bg-sidebar);height:var(--gantt-header-height);top:calc(-1 * var(--main-scroll-padding-top,32px));z-index:5;flex-shrink:0;display:flex;position:sticky}.gantt-label-header{flex:0 0 var(--gantt-label-width);color:var(--text-secondary);border-right:1px solid var(--border);background:var(--bg-sidebar);z-index:6;align-items:center;padding:0 12px;font-size:12px;font-weight:600;display:flex;position:sticky;left:0}.gantt-time-header-wrap{flex:1;position:relative;overflow:hidden}.gantt-time-header{will-change:transform;height:100%}.gantt-time-header-inner{height:100%;display:flex;position:relative}.gantt-time-col{border-right:1px solid var(--border);color:var(--text-secondary);background:var(--bg-sidebar);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.gantt-time-col-label{color:var(--text);font-size:12px;font-weight:600}.gantt-time-col-sublabel{color:var(--text-tertiary);text-transform:lowercase;font-size:10px}.gantt-time-col-weeklabel{color:var(--text-tertiary);font-size:10px}.gantt-time-col--week-day{text-align:center;gap:0;line-height:1.2}.gantt-time-col--week-day .gantt-time-col-label{font-size:12px}.gantt-time-col--week-day .gantt-time-col-sublabel,.gantt-time-col--week-day .gantt-time-col-weeklabel{font-size:10px;font-weight:500}.gantt-scroll{position:relative;overflow:auto visible}.gantt-scroll-inner{position:relative}.gantt-timeline-layer{pointer-events:none;z-index:0;position:absolute;top:0;bottom:0}.gantt-grid{height:100%;display:flex;position:absolute;inset:0}.gantt-grid-col{border-right:1px solid var(--border);flex-shrink:0;height:100%}.gantt-grid-col:nth-child(odd){background:#37352f04}.gantt-today-marker{background:var(--primary);opacity:.85;z-index:2;pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.gantt-today-marker-header{height:100%;top:0}.gantt-milestone-marker{z-index:2;pointer-events:none;width:0;position:absolute;top:0;bottom:0}.gantt-milestone-marker:after{content:"";background:var(--milestone-color,var(--text-tertiary));opacity:.7;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.gantt-milestone-marker[data-color=orange]{--milestone-color:#fdab3d}.gantt-milestone-marker[data-color=blue]{--milestone-color:#579bfc}.gantt-milestone-marker[data-color=green]{--milestone-color:#00c875}.gantt-milestone-marker[data-color=red]{--milestone-color:#e2445c}.gantt-milestone-marker[data-color=purple]{--milestone-color:#a25ddc}.gantt-milestone-marker[data-color=pink]{--milestone-color:#ff5ac4}.gantt-milestone-marker[data-color=yellow]{--milestone-color:#ffcb00}.gantt-milestone-marker[data-color=grey]{--milestone-color:#c4c4c4}.gantt-milestone-marker--header .gantt-milestone-label{border:1px solid color-mix(in srgb, var(--milestone-color) 35%, var(--border));background:color-mix(in srgb, var(--milestone-color) 12%, var(--surface));max-width:68px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:500;line-height:1.3;position:absolute;top:3px;left:50%;overflow:hidden;transform:translate(-50%)}.milestones-modal{width:min(480px,100vw - 32px)}.milestones-modal-body{flex-direction:column;gap:20px;display:flex}.milestones-form{border-bottom:1px solid var(--border);flex-direction:column;gap:12px;padding-bottom:16px;display:flex}.milestones-form-actions{justify-content:flex-end;gap:8px;display:flex}.milestones-empty{padding:24px 0}.milestones-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.milestones-list-item{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 10px;display:flex}.milestones-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.milestones-list-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.milestones-list-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.milestones-list-date{color:var(--text-secondary);font-size:12px}.milestones-list-actions{flex-shrink:0;gap:2px;display:flex}.gantt-rows{z-index:1;position:relative}.gantt-row{min-height:var(--gantt-row-height);border-bottom:1px solid var(--border);align-items:stretch;display:flex}.gantt-row:hover{background:var(--hover-row)}.gantt-label-cell{flex:0 0 var(--gantt-label-width);min-height:var(--gantt-row-height);border-right:1px solid var(--border);background:var(--surface);z-index:3;align-items:center;gap:6px;min-width:0;padding:0 12px;display:flex;position:sticky;left:0;overflow:hidden}.gantt-timeline-cell{min-height:var(--gantt-row-height);flex-shrink:0;align-self:stretch;position:relative}.gantt-group-block[data-color=orange]{--group-stripe:#fdab3d}.gantt-group-block[data-color=blue]{--group-stripe:#579bfc}.gantt-group-block[data-color=green]{--group-stripe:#00c875}.gantt-group-block[data-color=red]{--group-stripe:#e2445c}.gantt-group-block[data-color=purple]{--group-stripe:#a25ddc}.gantt-group-block[data-color=pink]{--group-stripe:#ff5ac4}.gantt-group-block[data-color=yellow]{--group-stripe:#ffcb00}.gantt-group-block[data-color=grey]{--group-stripe:#c4c4c4}.gantt-group-row .gantt-label-cell{background:var(--bg-sidebar);cursor:pointer;font-weight:600}.gantt-group-name{color:var(--group-stripe,#579bfc);min-width:0;font-size:14px}.gantt-chevron{color:var(--text-tertiary);flex-shrink:0;display:inline-flex}.gantt-sub-toggle{cursor:pointer;color:inherit;background:0 0;border:none;flex-shrink:0;margin:0;padding:0;display:inline-flex}.gantt-task-row:not(.is-sub) .gantt-label-cell{padding-left:calc(12px + var(--gantt-indent-step))}.gantt-task-row.is-sub .gantt-label-cell{padding-left:calc(12px + var(--gantt-indent-step) * 2)}.gantt-task-row .gantt-label-cell.gantt-task-label{cursor:pointer}.gantt-scroll-to-bar{z-index:4;border-radius:var(--radius);background:linear-gradient(270deg, transparent, var(--surface) 40%);width:22px;height:22px;color:var(--text-tertiary);opacity:0;cursor:pointer;pointer-events:none;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s,background .12s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.gantt-task-row:not(.is-sub) .gantt-scroll-to-bar{left:calc(12px + var(--gantt-indent-step) - 26px)}.gantt-task-row.is-sub .gantt-scroll-to-bar{left:calc(12px + var(--gantt-indent-step) * 2 - 26px)}.gantt-task-row:hover .gantt-scroll-to-bar,.gantt-task-row:focus-within .gantt-scroll-to-bar{opacity:1;pointer-events:auto}.gantt-scroll-to-bar:hover{color:var(--primary);background:var(--hover)}.gantt-scroll-to-bar:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--primary);outline-offset:1px}.gantt-task-label-expand{flex:1;align-self:stretch;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.gantt-task-name{min-width:0;font-size:13px}.truncated-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}:is(.gantt-row:has(.gantt-label-cell:hover),.gantt-row:has(.gantt-label-cell:focus-within)){z-index:5;position:relative}.gantt-task-row .gantt-label-cell.gantt-task-label:hover,.gantt-task-row .gantt-label-cell.gantt-task-label:focus-visible{z-index:6;overflow:visible}.gantt-task-row .gantt-label-cell.gantt-task-label:hover .gantt-task-label-expand,.gantt-task-row .gantt-label-cell.gantt-task-label:focus-visible .gantt-task-label-expand{z-index:1;overflow:visible}.gantt-task-row .gantt-label-cell.gantt-task-label:hover .truncated-text,.gantt-task-row .gantt-label-cell.gantt-task-label:focus-visible .truncated-text{background:var(--surface);white-space:nowrap;width:max-content;max-width:none;text-overflow:unset;padding-right:12px;position:absolute;top:50%;left:0;overflow:visible;transform:translateY(-50%)}.gantt-task-row.is-unscheduled .gantt-task-name{color:var(--text-secondary)}.gantt-unscheduled-hint{color:var(--text-tertiary);pointer-events:none;font-size:11px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.gantt-muted{color:var(--text-tertiary);font-size:13px}.gantt-bar{cursor:pointer;background:var(--group-stripe,var(--primary));color:#fff;border:none;border-radius:4px;align-items:center;min-width:4px;max-width:calc(100% - 8px);height:22px;padding:0 8px;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 2px #0f0f0f1f}.gantt-bar-summary{background:var(--group-stripe,var(--primary));height:10px;opacity:var(--gantt-group-summary-opacity);min-width:8px;box-shadow:none;border-radius:3px;padding:0;top:50%}.gantt-bar-summary .gantt-bar-label{display:none}.gantt-bar-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:11px;font-weight:600;overflow:hidden}.gantt-loading-row .skeleton-bar{width:60%;height:14px}.gantt-empty{margin-top:8px}.gantt-conflict-badge{color:var(--danger,#e2445c);flex-shrink:0;margin-left:4px}.gantt-dependency-layer{z-index:1;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.gantt-dependency-path{stroke:var(--text-tertiary);stroke-width:1.5px}.gantt-dependency-path.conflict{stroke:var(--danger,#e2445c)}.gantt-arrow-head{fill:var(--text-tertiary)}.gantt-arrow-head-conflict{fill:var(--danger,#e2445c)}.properties.panel-compact .property-row-dependency{align-items:start;overflow:visible}.properties.panel-compact .property-row-dependency label{padding-top:6px}.dependency-picker{z-index:1;width:100%;position:relative}.dependency-picker.is-open{z-index:50}.dependency-picker-control{align-items:center;gap:4px;display:flex}.dependency-picker-trigger{text-align:left;cursor:pointer;flex:1;justify-content:space-between;align-items:center;display:flex}.dependency-picker-placeholder{color:var(--text-tertiary)}.dependency-picker-value{align-items:center;gap:6px;display:inline-flex}.dependency-clear{flex-shrink:0;padding:4px 6px}.dependency-dropdown{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:8px;position:absolute;top:calc(100% + 4px);left:0;right:0}.dependency-dropdown-portal{z-index:450;position:fixed;right:auto}.dependency-option-error{color:var(--danger)}.dependency-options{max-height:200px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.dependency-option{text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:8px;display:flex}.dependency-option:hover{background:var(--hover-row)}.dependency-option-name{font-size:13px;font-weight:500}.dependency-option-meta{color:var(--text-tertiary);font-size:11px}.dependency-option-empty{color:var(--text-tertiary);padding:8px;font-size:13px}.dependency-conflict-icon{color:var(--danger,#e2445c);flex-shrink:0}.dependency-conflict-msg,.dependency-error-msg{color:var(--danger,#e2445c);margin:6px 0 0;font-size:12px}.dependency-blocks-list{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.dependency-block-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sidebar);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;transition:background .12s,border-color .12s;display:flex}.dependency-block-item:hover{background:var(--hover-row);border-color:var(--border-strong,var(--border))}.task-hierarchy{flex-wrap:wrap;align-items:center;min-width:0;line-height:1.35;display:inline-flex}.task-hierarchy-segment{align-items:center;min-width:0;display:inline-flex}.task-hierarchy-sep{color:var(--text-tertiary);opacity:.45;flex-shrink:0;margin:0 1px}.task-hierarchy-crumb{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:12px;overflow:hidden}.task-hierarchy-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:13px;font-weight:500;overflow:hidden}.dependency-picker-value .task-hierarchy-name{max-width:160px}.dependency-option .task-hierarchy{width:100%}.dependency-option .task-hierarchy-crumb{max-width:100px}.dependency-option .task-hierarchy-name{max-width:140px}@media (width<=900px){:root{--gantt-label-width:200px}.gantt-toolbar-toggle{width:100%;margin-left:0}.gantt-chart--labels-collapsed{--gantt-label-width:44px}.gantt-labels-toggle{border-radius:var(--radius);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0 auto;padding:0;display:inline-flex}.gantt-labels-toggle:hover,.gantt-labels-toggle:active{background:var(--hover)}.gantt-chart--labels-collapsed .gantt-label-header,.gantt-chart--labels-collapsed .gantt-label-cell{justify-content:center;padding:0 6px}.gantt-chart--labels-collapsed .gantt-group-name,.gantt-chart--labels-collapsed .gantt-task-label-expand,.gantt-chart--labels-collapsed .gantt-sub-toggle,.gantt-chart--labels-collapsed .gantt-muted,.gantt-chart--labels-collapsed .add-link,.gantt-chart--labels-collapsed .skeleton-bar{display:none}.gantt-chart--labels-collapsed .gantt-group-row .gantt-chevron{display:inline-flex}.gantt-chart--labels-collapsed .gantt-task-row:not(.is-sub) .gantt-label-cell,.gantt-chart--labels-collapsed .gantt-task-row.is-sub .gantt-label-cell{padding-left:6px}}
