:root{--text:#626873;--text-h:#0a0e17;--bg:#fff;--bg-canvas:#f3f4f6;--border:#e3e5e9;--code-bg:#f2f4f7;--accent:#2563eb;--accent-bg:#2563eb1a;--accent-border:#2563eb80;--social-bg:#f2f4f780;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--bg-canvas:#101116;--border:#2e303a;--code-bg:#1f2028;--accent:#60a5fa;--accent-bg:#60a5fa26;--accent-border:#60a5fa80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.dashboard{text-align:left;flex-direction:column;width:100%;min-height:100vh;display:flex}.dashboard-header{border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:220px 1fr 220px;align-items:center;gap:16px;height:64px;padding:0 20px;display:grid}.header-left{align-items:center;gap:4px;min-width:0;display:flex}.header-menu-btn{cursor:pointer;width:38px;height:38px;color:inherit;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:none}.header-menu-btn:hover{background:var(--code-bg)}.header-logo{align-items:center;gap:10px;min-width:0;display:flex}.logo-mark-icon{background:#fff;border-radius:6px;flex-shrink:0;width:auto;max-width:180px;height:34px;padding:3px 6px}.header-search{justify-content:center;display:flex}.header-search-inner{width:100%;max-width:420px;position:relative}.header-search input{border:1px solid var(--border);background:var(--code-bg);width:100%;color:inherit;box-sizing:border-box;border-radius:8px;padding:8px 14px 8px 36px;font-size:14px}.header-search input:focus{outline:2px solid var(--accent);outline-offset:1px}.header-search-icon{color:var(--text);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.header-search-dropdown{background:var(--bg);border:1px solid var(--border);max-height:60vh;box-shadow:var(--shadow);z-index:30;border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.header-search-group+.header-search-group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.header-search-group-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text);padding:4px 10px;font-size:11.5px;font-weight:600}.header-search-option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;width:100%;padding:6px 10px;display:flex}.header-search-option:hover,.header-search-option.active{background:var(--code-bg)}.header-search-option-title{color:var(--text-h);font-size:13.5px}.header-search-option-subtitle{color:var(--text);font-size:12px}.header-search-empty{color:var(--text);padding:7px 10px;font-size:13.5px}.header-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.header-icon-btn{cursor:pointer;width:38px;height:38px;color:inherit;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.header-icon-btn:hover{background:var(--code-bg)}.todo-sidebar{background:var(--bg);border-left:1px solid var(--border);width:380px;max-width:92vw;box-shadow:var(--shadow);z-index:80;transition:transform .2s;position:fixed;top:64px;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.todo-sidebar.open{transform:translate(0)}@media (width>=861px){.dashboard-content{transition:padding-right .2s}body.todo-sidebar-open .dashboard-content{padding-right:380px}}.todo-panel-overlay{z-index:60;background:#0f111559;justify-content:flex-end;display:flex;position:fixed;inset:0}.todo-panel{background:var(--bg);width:100%;max-width:420px;height:100%;box-shadow:var(--shadow);overflow-y:auto}.todo-panel-inner{box-sizing:border-box;flex-direction:column;gap:12px;min-height:100%;padding:20px;display:flex}.todo-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.todo-panel-header h2{margin:0 0 4px;font-size:20px}.todo-panel-header .hint-text{margin-bottom:0}.todo-panel-close-btn{cursor:pointer;width:32px;height:32px;color:inherit;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.todo-panel-close-btn:hover{background:var(--code-bg)}.todo-view-tabs{align-self:flex-start}.todo-week-nav{align-items:center;gap:8px;display:flex}.todo-week-range{color:var(--text-h);font-size:13px;font-weight:600}.todo-quick-add{border:1px solid var(--border);color:inherit;box-sizing:border-box;background:0 0;border-radius:6px;padding:8px 10px;font-size:14px}.todo-filter-bar{flex-direction:column;gap:8px;display:flex}.todo-group-toggle{font-size:13px}.todo-tag-picker{flex-wrap:wrap;gap:6px;display:flex}.todo-tag-chip{background:var(--code-bg);color:var(--text-h);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;display:inline-flex}.todo-tag-chip-toggle{border:1px solid var(--border);cursor:pointer}.todo-tag-chip-toggle.selected{outline:2px solid var(--accent)}.todo-tag-chip--colored{border:1px solid var(--tag-color,var(--border));background:color-mix(in srgb, var(--tag-color,var(--border)) 14%, var(--bg))}.todo-tag-color-input{cursor:pointer;background:0 0;border:none;border-radius:50%;width:13px;height:13px;padding:0}.todo-tag-create{gap:6px;display:flex}.tag-multiselect-input-row{border:1px solid var(--border);background:var(--bg);cursor:text;border-radius:8px;flex-wrap:wrap;align-items:center;gap:5px;min-height:34px;padding:4px 8px;display:flex}.tag-multiselect-input-row input{background:0 0;border:none;flex:1;min-width:80px;padding:2px 0}.tag-multiselect-input-row input:focus{outline:none}.tag-multiselect-remove{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;align-items:center;margin-left:2px;padding:0;display:inline-flex}.tag-multiselect-remove:hover{opacity:1}.todo-tag-create input{border:1px solid var(--border);color:inherit;box-sizing:border-box;background:0 0;border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.todo-list-scroll{flex:1}.todo-group{margin-bottom:14px}.todo-group-title{color:var(--text);margin:0 0 6px;font-size:13px}.todo-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.todo-row{border:1px solid var(--border);cursor:grab;border-left:4px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.todo-row--dragging{opacity:.5}.todo-row--dragover{box-shadow:inset 0 2px 0 var(--accent)}.todo-row-done{opacity:.55}.todo-row-done .todo-row-title{text-decoration:line-through}.todo-checkbox{flex-shrink:0;width:16px;height:16px;margin-top:3px}.todo-row-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.todo-row-title-line{align-items:center;gap:6px;display:flex}.todo-row-title{font-size:14px;font-weight:500}.todo-row-meta{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.todo-row-due{white-space:nowrap}.todo-row-link{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.todo-new-btn{align-self:stretch}.dashboard-body{flex:1;min-height:0;display:flex}.sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;min-height:0;padding:16px 0 16px 8px;display:flex}.sidebar-viewport{flex:1;min-height:0;overflow:hidden}.sidebar-collapse-btn{width:100%;color:var(--text);cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;margin-top:6px;padding:8px;font-size:13px;display:flex}.sidebar-collapse-btn:hover{background:var(--code-bg)}@media (width>=861px){.sidebar.collapsed{width:46px;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-page{padding-right:0}.sidebar.collapsed .sidebar-link-main,.sidebar.collapsed .sidebar-link-content{justify-content:center;gap:0}.sidebar.collapsed .sidebar-link-main{padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-link-content>span:not(.sidebar-icon),.sidebar.collapsed .sidebar-chevron-btn,.sidebar.collapsed .sidebar-drill-indicator,.sidebar.collapsed .sidebar-submenu{display:none}.sidebar.collapsed .sidebar-collapse-btn{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-collapse-btn>span{display:none}}.sidebar-track{width:200%;height:100%;transition:transform .22s;display:flex}.sidebar-track.drilled-in{transform:translate(-50%)}.sidebar-page{box-sizing:border-box;flex-shrink:0;width:50%;height:100%;padding-right:8px;overflow-y:auto}.sidebar-drill-indicator{color:var(--text);flex-shrink:0;align-items:center;margin:auto 6px auto 0;display:inline-flex}.sidebar-back-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;margin-bottom:4px;padding:6px 8px;font-size:13px;display:flex}.sidebar-back-btn:hover{background:var(--code-bg);color:var(--text-h)}.sidebar-drilldown-title{color:var(--text-h);align-items:center;gap:10px;padding:4px 12px 12px;font-size:15px;font-weight:600;display:flex}.sidebar-group{margin-bottom:14px}.sidebar-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text);background:var(--code-bg);border-radius:5px;margin:0 4px 6px;padding:3px 8px;font-size:10px;font-weight:700}.sidebar-close-btn{cursor:pointer;width:32px;height:32px;color:inherit;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;margin:0 0 8px 4px;display:none}.sidebar-close-btn:hover{background:var(--code-bg)}.sidebar-menu{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar-link{width:100%;color:var(--text);text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:14px;display:flex}.sidebar-link:hover{background:var(--code-bg)}.sidebar-link.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.sidebar-row{width:100%;color:var(--text);box-sizing:border-box;border-radius:8px;justify-content:space-between;align-items:stretch;font-size:14px;display:flex}.sidebar-row:hover{background:var(--code-bg)}.sidebar-row.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.sidebar-link-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;padding:9px 12px;display:flex}.sidebar-chevron-btn{width:26px;height:26px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:auto 6px auto 0;display:inline-flex}.sidebar-chevron-btn:hover{background:var(--border)}.sidebar-link-content{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-icon{color:currentColor;flex-shrink:0;display:inline-flex}.sidebar-chevron{flex-shrink:0;transition:transform .15s}.sidebar-chevron.open{transform:rotate(90deg)}.sidebar-submenu{background:var(--code-bg);border-radius:8px;flex-direction:column;gap:2px;margin:2px 0 4px;padding:4px;list-style:none;display:flex}.sidebar-submenu .sidebar-link:hover{background:var(--border)}.sidebar-sublink{color:var(--text-h);padding-left:28px;font-size:13px}.dashboard-content{background:var(--bg-canvas);flex:1;padding:24px;overflow-y:auto}.card{background:var(--bg);box-shadow:var(--shadow);border-radius:12px;padding:24px}.overview-page{flex-direction:column;gap:14px;display:flex}.overview-row-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:14px;display:grid}.overview-column{flex-direction:column;gap:14px;min-width:0;display:flex}@media (width<=1200px){.overview-row-grid{grid-template-columns:minmax(0,1fr)}.overview-column{grid-column:span 1!important}}.overview-card-slot{min-width:0}.overview-row-editing{border:1px dashed var(--border);background:var(--social-bg);border-radius:10px;padding:8px}.overview-row-toolbar,.overview-column-toolbar{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:8px;display:flex}.overview-row-label{letter-spacing:.4px;text-transform:uppercase;color:var(--text);margin-right:4px;font-size:11px;font-weight:600}.overview-column-editing{border:1px dashed var(--accent-border);background:var(--bg);border-radius:8px;padding:8px 8px 16px;position:relative}.overview-column-cards{flex-direction:column;gap:14px;min-height:28px;display:flex;position:relative}.overview-column-cards.overview-drop-append:after{content:"";background:var(--accent);pointer-events:none;border-radius:2px;height:3px;position:absolute;bottom:-4px;left:0;right:0}.overview-drag-handle{width:22px;height:22px;color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.overview-drag-handle:hover{background:var(--code-bg);color:var(--text-h)}.overview-drag-handle:active{cursor:grabbing}.overview-column-resizer{border-right:2px solid var(--accent-border);border-bottom:2px solid var(--accent-border);cursor:nwse-resize;touch-action:none;border-bottom-right-radius:4px;width:14px;height:14px;position:absolute;bottom:3px;right:3px}.overview-column-resizer:hover{border-color:var(--accent)}.overview-drop-target{outline:2px dashed var(--accent);outline-offset:2px}.overview-card-slot{position:relative}.overview-card-slot.overview-drop-target-before:before{content:"";background:var(--accent);pointer-events:none;border-radius:2px;height:3px;position:absolute;top:-8px;left:0;right:0}.overview-drag-hint{margin:0;font-size:12px}.overview-column-width-label{color:var(--text);text-align:center;min-width:74px;font-size:11px}.overview-column-empty{text-align:center;color:var(--text);border:1px dashed var(--border);border-radius:8px;margin:0;padding:14px 8px;font-size:12px}.overview-mini-btn{padding:3px 8px;font-size:12px}.card.overview-card{padding:10px 12px}.overview-card .overview-card-header{background:var(--code-bg);border-bottom:1px solid var(--border);border-radius:12px 12px 0 0;margin:-10px -12px 0;padding:7px 12px}.overview-card-body{padding-top:10px}.card.overview-card.overview-card-bare{padding:0;overflow:hidden}.overview-card-bare .overview-card-body{padding-top:0}.overview-card-bare .overview-image{border-radius:12px;display:block}.overview-card-title{letter-spacing:-.2px;margin:0;font-size:15px;font-weight:600}.overview-card-edit-actions{align-items:center;gap:3px;display:inline-flex}.overview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.overview-title{letter-spacing:-.3px;color:var(--text-h);margin:0;font-size:22px}.overview-tabs{flex-wrap:wrap}.overview-tab{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;max-width:200px;display:inline-flex}.overview-tab-close{opacity:.6;border-radius:3px;align-items:center;display:inline-flex}.overview-tab-close:hover{opacity:1;color:#e5484d}.overview-tab-add{cursor:pointer;align-items:center;display:inline-flex}.overview-tab-rename{border:1px solid var(--accent-border);background:var(--bg);width:140px;color:inherit;border-radius:6px;padding:4px 8px;font-size:13px}.overview-tab-move{display:inline-flex;position:relative}.overview-tab-move-menu{z-index:25;background:var(--bg);border:1px solid var(--border);min-width:180px;max-height:260px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.overview-tab-move-option{color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px}.overview-tab-move-option:hover{background:var(--code-bg)}.overview-toolbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.overview-toolbar-hint{margin-bottom:0}.overview-todos{flex-direction:column;gap:10px;display:flex}.overview-todos .todo-list-scroll{max-height:380px;overflow-y:auto}.overview-toolbar .hint-text{margin-bottom:0}.overview-add-card{position:relative}.overview-add-card-menu{z-index:20;background:var(--bg);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.overview-add-card-option{color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 12px;font-size:13px}.overview-add-card-option:hover{background:var(--code-bg)}.overview-filter-row{align-items:flex-end}.card h1{letter-spacing:-.3px;margin:0 0 8px;font-size:22px}.card.overview-card h2{margin:0;font-size:15px}.user-menu{justify-self:end;position:relative}.user-menu-trigger{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:999px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.user-menu-trigger:hover{background:var(--code-bg)}.user-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:inline-flex}.user-avatar.avatar-image{object-fit:cover}.avatar-preview{justify-content:center;padding:8px 0;display:flex}.avatar-preview-image{object-fit:cover;border-radius:50%;width:72px;height:72px}.avatar-preview-placeholder,.avatar-preview-badge{background:var(--code-bg);width:72px;height:72px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:600;display:inline-flex}.avatar-preview-badge{color:#fff}.user-info{flex-direction:column;align-items:flex-start;line-height:1.25;display:flex;overflow:hidden}.user-name{color:var(--text-h);white-space:nowrap;font-size:13.5px;font-weight:600}.user-email{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:12px;overflow:hidden}.user-menu-dropdown{background:var(--bg);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow);z-index:20;border-radius:10px;flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.user-menu-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:4px;padding:6px 8px 10px;display:flex}.user-menu-option{text-align:left;width:100%;color:var(--text-h);cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:14px;display:block}.user-menu-option:hover{background:var(--code-bg)}.user-menu-logout{color:#e5484d}@media (width<=860px){.dashboard-header{grid-template-columns:auto 1fr auto;gap:8px;padding:0 8px}.header-search,.user-info{display:none}.header-menu-btn{display:inline-flex}.logo-mark-icon{max-width:120px}.sidebar{z-index:80;background:var(--bg);width:80vw;max-width:300px;box-shadow:var(--shadow);transition:transform .2s;position:fixed;top:64px;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close-btn{display:inline-flex}.sidebar-collapse-btn{display:none}.sidebar-backdrop{z-index:75;background:#0f111559;position:fixed;inset:64px 0 0}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-header h1{align-items:center;gap:6px;margin:0;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 14px;font-size:14px}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-size:14px}.btn-secondary:hover{background:var(--code-bg)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.useful-link-description{white-space:pre-wrap}.quick-add-participants{border:1px solid var(--border);border-radius:6px;margin-bottom:16px;padding:10px 14px}.quick-add-participants h3{margin:0 0 8px;font-size:14px}.quick-add-participants ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.quick-add-participants li{color:var(--text-h);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.project-tree-row--draggable{cursor:grab}.project-tree-row--dragging{opacity:.5}.project-tree-row--dragover>td{box-shadow:inset 0 2px 0 var(--accent)}.task-type-group{margin-top:20px}.task-type-group:first-of-type{margin-top:0}.task-type-group h2{margin-bottom:8px}.data-table th{text-align:left;color:var(--text);border-bottom:1px solid var(--border);padding:6px 10px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text-h);white-space:nowrap;vertical-align:middle;padding:5px 10px}.data-table--wrap-head th{white-space:normal;vertical-align:bottom;max-width:150px;line-height:1.25}.data-table tbody tr:hover{background:var(--code-bg)}.data-table tbody tr[draggable=true]{cursor:grab}.data-table tbody tr.drag-over{box-shadow:inset 0 2px 0 var(--accent)}.data-table-actions{text-align:right;width:36px}.data-table-amount-col{text-align:right}.data-table-shrink-col{white-space:nowrap;width:1%}.data-table th.data-table-amount-col{text-align:right}.table-actions-inline{justify-content:flex-end;gap:8px;display:flex}.roles-matrix-wrapper{overflow-x:auto}.roles-matrix th,.roles-matrix td{text-align:center;white-space:nowrap}.roles-matrix th:first-child,.roles-matrix td:first-child{text-align:left;white-space:normal}.roles-matrix-save{justify-content:flex-end;margin-top:16px;display:flex}.row-menu{display:inline-block;position:relative}.row-menu-trigger{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.row-menu-trigger:hover{background:var(--code-bg)}.todo-quick-schedule{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.todo-quick-schedule-btn{border:1px solid var(--border);color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border-radius:6px;padding:3px 8px;font-family:inherit;font-size:11px}.todo-quick-schedule-btn:hover{border-color:var(--accent);color:var(--accent)}.todo-archive-btn{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.todo-archive-btn:hover{background:var(--code-bg);color:var(--text)}.row-menu-dropdown{background:var(--bg);border:1px solid var(--border);min-width:160px;box-shadow:var(--shadow);z-index:100;border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed}.row-menu-option{text-align:left;width:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13.5px;display:block}.row-menu-option:hover{background:var(--code-bg)}.row-menu-delete{color:#e5484d}.partner-autocomplete{position:relative}.partner-autocomplete input{box-sizing:border-box;width:100%}.partner-autocomplete-dropdown{background:var(--bg);border:1px solid var(--border);max-height:240px;box-shadow:var(--shadow);z-index:20;border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.partner-autocomplete-option{text-align:left;width:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13.5px;display:block}.partner-autocomplete-option:hover{background:var(--code-bg)}.partner-autocomplete-create{color:var(--accent)}.partner-autocomplete-option--active{background:var(--code-bg)}.partner-autocomplete-option--selected{font-weight:600}.sprint-allocation-table{font-size:11.5px}.sprint-allocation-table th,.sprint-allocation-table td{vertical-align:top;padding:4px 6px}.sprint-allocation-table th{white-space:normal}.sprint-allocation-table th .hint-text{margin-bottom:0;font-size:10px}.sprint-allocation-cell{min-width:96px;max-width:130px}.sprint-allocation-table .sprint-allocation-current{background:color-mix(in srgb, var(--accent) 8%, transparent);border-left:2px solid var(--accent);border-right:2px solid var(--accent)}.sprint-allocation-table thead .sprint-allocation-current{border-top:2px solid var(--accent)}.sprint-allocation-table tfoot .sprint-allocation-current{border-bottom:2px solid var(--accent)}.sprint-allocation-current-tag{background:var(--accent);color:#fff;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:600}.sprint-allocation-cell--clickable.sprint-allocation-current:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.participant-role-child{padding-left:28px;position:relative}.participant-role-child:before{content:"└";color:var(--text);position:absolute;left:12px}.sprint-allocation-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.sprint-allocation-pager{align-items:center;gap:8px;margin-left:auto;display:flex}.overview-card-header{gap:8px}.overview-card-select{max-width:220px;padding:2px 6px;font-size:12px}.overview-card-title{cursor:pointer;-webkit-user-select:none;user-select:none;flex:auto}.data-table td.participant-task-cell{white-space:normal;vertical-align:top}.participant-task-text{overflow-wrap:anywhere;max-width:280px;display:block}.inline-search-select{display:inline-block;position:relative}.inline-search-select-dropdown{background:var(--bg);border:1px solid var(--border);min-width:240px;max-height:260px;box-shadow:var(--shadow);z-index:40;border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.inline-search-select-option{text-align:left;width:100%;color:var(--text-h);cursor:pointer;white-space:normal;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px;display:block}.inline-search-select-option:hover{background:var(--code-bg)}.inline-search-select-option--current{font-weight:600}.inline-search-select-empty{color:var(--text);padding:6px 10px;font-size:12.5px}.weekly-focus-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.weekly-focus-tile{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--bg);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.weekly-focus-tile-head{align-items:flex-start;gap:8px;display:flex}.weekly-focus-tile-number{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.weekly-focus-tile-title{min-width:0;color:var(--text-h);word-break:break-word;flex:1;font-size:15px;font-weight:600}.weekly-focus-tile-title .inline-edit-value{white-space:normal}.weekly-focus-tile-actions{opacity:0;flex-shrink:0;gap:2px;transition:opacity .15s;display:flex}.weekly-focus-tile:hover .weekly-focus-tile-actions,.weekly-focus-tile:focus-within .weekly-focus-tile-actions{opacity:1}.weekly-focus-tile-details{color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:13px}.sprint-allocation-roles{white-space:nowrap;min-width:150px}.sprint-allocation-role-row{align-items:center;gap:6px;padding:2px 0;display:flex}.sprint-allocation-role-name{font-size:11.5px}.sprint-allocation-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:6px;padding:3px 5px;display:flex}.sprint-allocation-card-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.sprint-allocation-ring{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.sprint-allocation-ring-svg{position:absolute;inset:0}.sprint-allocation-ring-track{fill:none;stroke:var(--border)}.sprint-allocation-ring-arc{fill:none;stroke:var(--accent);stroke-linecap:round}.sprint-allocation-ring-arc--over{stroke:#dc2626}.sprint-allocation-ring-content{display:inline-flex;position:relative}.sprint-allocation-card--over-estimate{border-color:#dc2626;box-shadow:inset 0 0 0 1px #dc2626}.sprint-allocation-card--no-allocation{border-style:dashed;border-color:#d97706}.sprint-load-row{margin:4px 0 12px}.sprint-load-row-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.sprint-load-row-title{font-weight:600}.sprint-load-pager{align-items:center;gap:4px;display:inline-flex}.sprint-load-sprint-name{justify-content:center;align-items:center;gap:6px;min-width:90px;font-size:13px;font-weight:600;display:inline-flex}.sprint-load-cards{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.sprint-load-card-wrap{flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.sprint-load-card-wrap .sprint-allocation-card{min-width:128px}.sprint-allocation-card--plain{gap:10px;padding:4px 10px 4px 5px}.sprint-load-metric{flex-direction:column;align-items:center;min-width:34px;line-height:1.1;display:flex}.sprint-load-metric-value{color:var(--text-h);font-size:15px;font-weight:600}.sprint-load-metric-label{color:var(--text);text-transform:uppercase;letter-spacing:.02em;font-size:9.5px}.sprint-allocation-task-ring{flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex;position:relative}.sprint-allocation-task-ring svg{position:absolute;inset:0}.sprint-allocation-task-ring-arc{fill:none;stroke:#0891b2;stroke-linecap:round}.sprint-allocation-task-ring-label{font-size:9.5px;font-weight:600;line-height:1;position:relative}.sprint-allocation-task-ring--empty .sprint-allocation-task-ring-label{opacity:.5}.sprint-allocation-task-ring--button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0}.sprint-allocation-task-ring--button:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.sprint-load-metric--button{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;font-family:inherit}.sprint-load-metric--button:not(:disabled):hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.sprint-load-metric--button:disabled{cursor:default}.sprint-allocation-card{position:relative}.sprint-allocation-task-popover{color:var(--text-h);font-size:12.5px}.sprint-allocation-task-popover-calc{grid-template-columns:1fr auto;gap:3px 12px;margin:0 0 8px;display:grid}.sprint-allocation-task-popover-calc dt{color:var(--text)}.sprint-allocation-task-popover-calc dd{text-align:right;white-space:nowrap;margin:0;font-weight:600}.sprint-allocation-task-popover-calc dd.sprint-allocation-over{white-space:normal}.sprint-allocation-task-popover-list{border-top:1px solid var(--border);flex-direction:column;gap:3px;max-height:220px;margin:0;padding:6px 0 0;list-style:none;display:flex;overflow-y:auto}.sprint-allocation-task-popover-list li{align-items:baseline;gap:8px;display:flex}.sprint-allocation-task-popover-id{color:var(--text);flex-shrink:0;font-size:11px}.sprint-allocation-task-popover-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sprint-allocation-task-popover-hours{flex-shrink:0;font-weight:600}.sprint-allocation-task-popover-hint{margin:8px 0 0;font-size:11.5px}.sprint-allocation-table th.sprint-allocation-sprint-head{border-top:3px solid #0000}.sprint-allocation-sprint-name{align-items:center;gap:6px;font-weight:700;display:inline-flex}.sprint-allocation-card+.sprint-allocation-card{margin-top:4px}.sprint-allocation-progress{background:var(--border);border-radius:999px;flex:1 0 auto;min-width:16px;height:5px;display:block;overflow:hidden}.sprint-allocation-progress-fill{background:var(--accent);border-radius:999px;height:100%;display:block}.sprint-allocation-progress--over .sprint-allocation-progress-fill{background:#dc2626}.sprint-allocation-badge{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;display:inline-flex}.sprint-allocation-badge:disabled{cursor:default}.sprint-allocation-badge:not(:disabled):hover{outline:2px solid var(--accent);outline-offset:1px}.sprint-allocation-cell--clickable{cursor:pointer}.sprint-allocation-cell--clickable:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.sprint-allocation-card-value{white-space:nowrap;font-weight:600}.sprint-allocation-card-hours{white-space:nowrap;opacity:.75;font-size:10px}.sprint-allocation-card--draggable{cursor:grab}.sprint-allocation-card--draggable:active{cursor:grabbing}.sprint-allocation-cell--drop{outline:2px dashed var(--accent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 12%, transparent)}.sprint-allocation-offer-total{border-bottom:1px solid var(--border);white-space:nowrap;margin-bottom:6px;padding-bottom:6px;font-size:11.5px}.sprint-allocation-offer-total-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.sprint-allocation-offer-total-label{opacity:.75}.sprint-allocation-summary-table{border-collapse:collapse;white-space:nowrap;font-size:11.5px}.sprint-allocation-summary-table th,.sprint-allocation-summary-table td{text-align:left;padding:1px 8px 1px 0;font-weight:400}.sprint-allocation-summary-table th{color:var(--text)}.sprint-allocation-over{color:#dc2626}.sprint-allocation-under{color:#16a34a}.multi-autocomplete{position:relative}.multi-autocomplete input{box-sizing:border-box;width:100%}.multi-autocomplete-chips{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.multi-autocomplete-chip{border:1px solid var(--border);background:var(--code-bg);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:12px;display:inline-flex}.multi-autocomplete-chip button{color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.multi-autocomplete-chip button:hover{color:var(--text-h)}.multi-autocomplete-dropdown{background:var(--bg);border:1px solid var(--border);max-height:240px;box-shadow:var(--shadow);z-index:40;border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.multi-autocomplete-option{text-align:left;width:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13.5px;display:block}.multi-autocomplete-option:hover{background:var(--code-bg)}.multi-autocomplete-empty{color:var(--text);padding:7px 10px;font-size:13px}.partner-autocomplete-empty{color:var(--text);padding:7px 10px;font-size:13.5px}.project-tree-select,.project-tree-select-input-wrap{position:relative}.project-tree-select-input-wrap input{box-sizing:border-box;text-overflow:ellipsis;width:100%;padding-right:28px}.project-tree-select-chevron{pointer-events:none;color:var(--text);position:absolute;top:50%;right:9px;transform:translateY(-50%)}.project-tree-select-match{align-items:baseline;gap:8px;min-width:0;display:flex}.project-tree-select-match-code{font-family:var(--mono,ui-monospace, monospace);color:var(--accent);flex:none;font-size:12.5px}.project-tree-select-match-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-tree-select-match-path{text-overflow:ellipsis;white-space:nowrap;max-width:45%;color:var(--text);flex:none;font-size:12px;overflow:hidden}.project-tree-select-option--active{background:var(--code-bg)}.project-tree-select-dropdown{background:var(--bg);border:1px solid var(--border);max-height:280px;box-shadow:var(--shadow);z-index:20;border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.project-tree-select-row{align-items:center;gap:4px;min-width:0;display:flex}.project-tree-select-option{text-align:left;width:100%;min-width:0;color:var(--text-h);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:7px 10px;font-size:13.5px;display:block;overflow:hidden}.project-tree-select-option:hover{background:var(--code-bg)}.project-tree-select-option--none{color:var(--text);font-style:italic}.project-tree-select-option--selected{background:var(--code-bg);font-weight:600}.bulk-time-month-picker{align-items:center;gap:10px;display:flex}.bulk-time-day-grid{border:1px solid var(--border);border-radius:8px;padding:8px}.bulk-time-day-grid-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.bulk-time-day-grid-weekday{text-align:center;color:var(--text);font-size:11px;font-weight:600}.bulk-time-day-grid-row{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.bulk-time-day-cell{border:1px solid var(--border);cursor:pointer;height:34px;color:var(--text-h);-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.bulk-time-day-cell.outside{cursor:default;border-color:#0000}.bulk-time-day-cell input[type=checkbox]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.bulk-time-day-cell.non-workday{background:var(--code-bg);color:var(--text)}.bulk-time-day-cell.vacation{border-style:dashed;border-color:#dc262680}.bulk-time-day-cell.checked{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:600}.employee-picker{position:relative}.employee-picker-trigger{border:1px solid var(--border);background:var(--bg);min-width:180px;color:var(--text-h);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:13.5px;display:flex}.employee-picker-trigger:hover{border-color:var(--accent-border)}.employee-picker-chevron{color:var(--text);flex-shrink:0;margin-left:auto;transition:transform .15s}.employee-picker-chevron.open{transform:rotate(180deg)}.employee-picker-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:600;display:inline-flex}.employee-picker-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.employee-picker-placeholder{color:var(--text)}.employee-picker-dropdown{z-index:20;background:var(--bg);border:1px solid var(--border);min-width:100%;max-height:280px;box-shadow:var(--shadow);box-sizing:border-box;border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.employee-picker-option{text-align:left;width:100%;color:var(--text-h);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13.5px;display:flex}.employee-picker-option:hover{background:var(--code-bg)}.employee-picker-option.selected{background:var(--accent-bg);color:var(--accent)}.employee-picker-empty{color:var(--text);padding:7px 10px;font-size:13.5px}.rich-text-editor{border:1px solid var(--border);border-radius:8px;overflow:hidden}.rich-text-toolbar{border-bottom:1px solid var(--border);background:var(--code-bg);flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.rich-text-toolbar-sep{background:var(--border);align-self:stretch;width:1px;margin:2px 4px}.rich-text-toolbar-btn{min-width:26px;height:26px;color:var(--text-h);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;padding:0 4px;font-size:11.5px;font-weight:600;display:inline-flex}.rich-text-toolbar-btn:hover:not(:disabled){background:var(--bg);border-color:var(--border)}.rich-text-toolbar-btn.active{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}.rich-text-toolbar-btn:disabled{opacity:.4;cursor:default}.rich-text-content-editable .ProseMirror{min-height:120px;color:var(--text-h);outline:none;padding:10px 12px;font-size:14px;font-weight:400}.rich-text-content-editable .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--text);pointer-events:none}.rich-text-content,.rich-text-content-editable .ProseMirror{line-height:1.5}.rich-text-content p,.rich-text-content-editable .ProseMirror p{margin:0 0 8px}.rich-text-content h2,.rich-text-content-editable .ProseMirror h2{margin:12px 0 6px;font-size:17px}.rich-text-content h3,.rich-text-content-editable .ProseMirror h3{margin:10px 0 6px;font-size:15px}.rich-text-content ul,.rich-text-content ol,.rich-text-content-editable .ProseMirror ul,.rich-text-content-editable .ProseMirror ol{margin:0 0 8px;padding-left:22px}.rich-text-content blockquote,.rich-text-content-editable .ProseMirror blockquote{border-left:3px solid var(--border);color:var(--text);margin:0 0 8px;padding-left:12px}.rich-text-content a,.rich-text-content-editable .ProseMirror a{color:var(--accent)}.rich-text-content{color:var(--text-h);font-size:14px;font-weight:400}.rich-text-empty{color:var(--text)}.modal-overlay{z-index:50;background:#0f111573;justify-content:center;align-items:flex-start;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg);width:100%;max-width:420px;max-height:calc(100vh - 48px);box-shadow:var(--shadow);box-sizing:border-box;border-radius:12px;margin:auto 0;padding:24px;overflow-y:auto}.modal h2{color:var(--text-h);margin:0 0 16px;font-size:18px}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.modal-header h2{flex:1;min-width:0;margin:0}.modal-close{width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin:-4px -4px 0 0;padding:0;font-size:22px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.modal-close:hover{background:var(--bg-canvas);color:var(--text-h)}.modal-header-copy{flex-shrink:0;margin-top:-4px;position:relative}.modal-header-copy-panel{background:var(--bg);border:1px solid var(--border);width:max(220px,100%);box-shadow:var(--shadow);z-index:30;border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.modal-header-copy-panel label{color:var(--text);flex-direction:column;gap:6px;font-size:13px;display:flex}.modal-header-copy-actions{justify-content:flex-end;gap:8px;display:flex}.modal-form{flex-direction:column;gap:14px;display:flex}.modal-form label{color:var(--text);flex-direction:column;gap:6px;font-size:14px;display:flex}.modal-form input{border:1px solid var(--border);color:inherit;box-sizing:border-box;background:0 0;border-radius:6px;padding:8px 10px;font-size:14px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.modal-actions-with-delete{justify-content:space-between}.modal-delete-link{color:#e5484d}.modal-lg{max-width:520px}.modal-note{resize:horizontal;min-width:360px;max-width:min(900px,96vw);overflow:auto}.modal-note .modal-actions{background:var(--bg);border-top:1px solid var(--border);margin:4px -24px -24px;padding:12px 24px;position:sticky;bottom:-24px}.modal-partner-form{max-width:920px}.partner-list-count{margin:0 0 10px}.partner-merge-fields{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.partner-merge-fields h3{color:var(--text-h);margin:0 0 8px;font-size:13.5px}.partner-merge-field-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.partner-merge-field-list li{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.partner-merge-field-label{font-weight:600}.partner-merge-field-values{font-size:13px}.partner-merge-field-old{opacity:.65;text-decoration:line-through}.partner-merge-field-new{color:var(--text-h);font-weight:600}.partner-subordinate-add{max-width:360px;color:var(--text);flex-direction:column;gap:6px;margin-top:12px;font-size:13px;display:flex}.finance-view-toggle{flex-wrap:wrap;gap:8px;margin:4px 0 12px;display:flex}.finance-matrix-table th,.finance-matrix-table td{white-space:nowrap}.finance-matrix-table tbody td:first-child,.finance-matrix-table thead th:first-child{font-weight:600}.partner-form-columns{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.partner-form-basic,.partner-form-billing{flex-direction:column;gap:14px;min-width:0;display:flex}.partner-form-billing h3{color:var(--text-h);margin:0;font-size:14px}@media (width<=700px){.partner-form-columns{grid-template-columns:1fr}}.modal-form-extra{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.modal-form-extra summary{cursor:pointer;color:var(--text);font-size:13.5px;font-weight:600;list-style:none}.modal-form-extra summary::-webkit-details-marker{display:none}.modal-form-extra summary:before{content:"▸";width:1em;color:var(--text);display:inline-block}.modal-form-extra[open] summary:before{content:"▾"}.modal-form-extra[open] summary{margin-bottom:12px}.modal-form-extra-body{flex-direction:column;gap:14px;display:flex}.modal-xl{max-width:1100px}.modal-import{max-width:min(1600px,96vw)}.bank-import-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.bank-import-account{min-width:240px}.bank-import-stats{flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:6px;font-size:13px;display:flex}.bank-import-stats .hint-text{margin-bottom:0}.bank-import-rule-actions{margin-left:auto;padding-bottom:2px}.bank-import-table td{white-space:normal;vertical-align:top}.bank-import-col-entry{width:150px}.bank-import-col-classify{width:210px}.bank-import-entry{flex-direction:column;gap:2px;display:flex}.bank-import-entry-date{white-space:nowrap;font-size:12.5px}.bank-import-amount{white-space:nowrap;color:#16a34a;font-weight:600}.bank-import-amount--out{color:#dc2626}.bank-import-col-text{max-width:420px}.bank-import-narration{overflow-wrap:anywhere}.bank-import-meta{opacity:.75;overflow-wrap:anywhere;margin-top:2px;font-size:11.5px}.bank-import-classify{flex-direction:column;gap:4px;display:flex}.bank-import-classify select{width:100%;padding:3px 6px;font-size:12.5px}.invoice-import-summary{color:var(--text);flex-wrap:wrap;gap:16px;font-size:13.5px;display:flex}.invoice-import-row-new{color:#16a34a}.invoice-import-row-update{color:#d97706}.invoice-import-partner-cell{min-width:220px}.invoice-import-partner-match-hint{color:var(--text);margin-top:2px;font-size:11.5px;display:block}.modal-form textarea{border:1px solid var(--border);color:inherit;box-sizing:border-box;resize:vertical;background:0 0;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.modal-form select{border:1px solid var(--border);background:var(--bg);color:inherit;box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:14px}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.input-with-suffix{align-items:center;gap:8px;display:flex}.input-with-suffix input{flex:1;min-width:0}.input-suffix{color:var(--text);flex:none;font-size:13px}.modal-section-title{color:var(--text);text-transform:uppercase;letter-spacing:.03em;margin:4px 0 -4px;font-size:12.5px;font-weight:600}.color-field{align-items:center;gap:8px;display:flex}.color-swatch-input{cursor:pointer;width:40px;height:34px;padding:2px!important}.color-hex-input{font-family:var(--mono);flex:1}.checkbox-field{align-items:center;flex-direction:row!important;gap:8px!important}.checkbox-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.inline-tags-editor{min-width:240px}.sprint-close-task-list{max-height:320px;overflow-y:auto}.employee-division-shares{color:var(--text);flex-direction:column;gap:6px;font-size:14px;display:flex}.employee-division-share-row{align-items:center;gap:8px;min-height:30px;display:flex}.employee-division-share-percent{align-items:center;gap:4px;margin-left:auto;display:flex}.employee-division-share-percent input[type=number]{width:6em}.checkbox-field input[type=checkbox]{flex-shrink:0;width:16px;height:16px;padding:0}.icon-picker{grid-template-columns:repeat(auto-fill,36px);gap:8px;display:grid}.icon-picker-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-picker-btn:hover{border-color:var(--accent)}.icon-picker-btn.active{border-color:var(--accent);background:var(--code-bg);color:var(--accent)}.task-type-icon{vertical-align:middle;justify-content:center;align-items:center;display:inline-flex}.status-badge{color:var(--text-h);align-items:center;gap:6px;font-size:13px;display:inline-flex}.status-badge-pill{border-radius:6px;padding:1px 10px 1px 8px;font-weight:600}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sprint-badge{white-space:nowrap}.sprint-badge-current{color:#fff;letter-spacing:.02em;text-transform:uppercase;border-radius:999px;margin-left:2px;padding:0 5px;font-size:10px;font-weight:700}.priority-badge{align-items:center;gap:6px;display:inline-flex}.priority-badge-sm{gap:4px;font-size:11.5px}.task-id-col{white-space:nowrap;width:1%}td.task-id-col .link-button{font-weight:700}.task-row-accent{white-space:nowrap;text-align:center;border-left:4px solid #0000;width:1%}.task-select-col{white-space:nowrap;text-align:center;width:1%}.task-select-col input[type=checkbox]{cursor:pointer;margin:0}.task-row--selected>td{background:color-mix(in srgb, var(--accent) 8%, transparent)}.task-selection-bar{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:8px;align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;display:flex}.task-selection-bar-count{flex:1;font-weight:600}.task-bulk-field{border-bottom:1px solid var(--border);opacity:.75;grid-template-columns:200px 1fr;align-items:start;gap:10px;padding:6px 0;display:grid}.task-bulk-field--enabled{opacity:1}.modal-form .task-bulk-field-toggle{cursor:pointer;flex-direction:row;align-items:center;gap:8px;padding-top:6px;font-weight:600;display:flex}.task-bulk-field-toggle input[type=checkbox]{margin:0}.task-bulk-field-control{flex-direction:column;gap:6px;min-width:0;display:flex}.task-bulk-field-control select,.task-bulk-field-control input{box-sizing:border-box;width:100%}@media (width<=600px){.task-bulk-field{grid-template-columns:1fr}}.partner-type-col{white-space:nowrap;text-align:center;width:1%}.hint-text{color:var(--text);margin-bottom:12px;font-size:13.5px}.list-filter-toggle{color:var(--text);align-items:center;gap:8px;margin-bottom:16px;font-size:13.5px;display:flex}.list-filter-toggle input[type=checkbox]{flex-shrink:0;width:16px;height:16px;padding:0}.task-view-settings-panel.calendar-filters-panel{left:auto;right:0}.calendar-filters{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.calendar-filters .list-filter-toggle{margin-bottom:0}.calendar-filter-group{border-left:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 16px;padding-left:16px;display:flex}.calendar-filter-group-label{color:var(--text);font-size:13.5px}.link-button{color:var(--accent);font-size:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}.year-pager{align-items:center;gap:10px;display:flex}.year-pager-label{text-align:center;min-width:3em;font-weight:600}.finance-yearly-plan-controls{flex-wrap:wrap;align-items:center;gap:24px;margin:12px 0;display:flex}.finance-yearly-plan-metric{align-items:center;gap:8px;margin:0;display:flex}.finance-yearly-plan-metric input[type=search]{border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:6px;min-width:220px;padding:6px 10px}.finance-yearly-plan-areas{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.finance-yearly-plan-areas .list-filter-toggle{margin-bottom:0}.finance-yearly-plan-area-group{flex-direction:column;gap:4px;display:flex}.finance-yearly-plan-area-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.65;font-size:11px;font-weight:600}.finance-yearly-plan-area-group-toggles{flex-wrap:wrap;gap:4px 12px;display:flex}.finance-yearly-plan-table th,.finance-yearly-plan-table td{white-space:nowrap}.finance-yearly-plan-num{text-align:right}.finance-yearly-plan-totals td{border-top:2px solid var(--border);font-weight:600}.invoice-yearly-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.invoice-yearly-year{text-align:center;min-width:56px;color:var(--text-h);font-size:16px;font-weight:600}.invoice-yearly-cell{text-align:right;white-space:nowrap;width:100%}.finance-grouped-toolbar{margin-bottom:12px}.task-list-toolbar{margin-bottom:8px}.tracking-cell{cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;flex-direction:row;align-items:center;gap:8px;padding:2px 0;display:flex}.tracking-cell:hover .tracking-cell-amount{text-decoration:underline}.completion-related-items{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;max-height:160px;margin:-4px 0 0;padding:8px 10px;list-style:none;display:flex;overflow-y:auto}.completion-related-items li{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.completion-related-items-meta{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.completion-related-items .link-button.is-selected{font-weight:600;text-decoration:underline}.completion-related-items--checkbox{max-height:220px}.completion-related-items .completion-item-checkbox{cursor:pointer;flex-direction:row;align-items:baseline;gap:8px;min-width:0;margin:0;display:flex}.completion-item-checkbox input{flex-shrink:0;margin:0}.completion-item-checkbox-text{overflow-wrap:anywhere}.form-field{flex-direction:column;gap:6px;display:flex}.form-field-label{color:var(--text);font-size:14px}.tracking-cell--static{cursor:default}.tracking-chain-signdate{color:var(--text);font-size:.8rem;font-weight:400}.btn-xs{padding:2px 8px;font-size:.8rem}.project-header-right{align-items:center;gap:12px;display:flex}.project-custom-entity-link{font-weight:600}.custom-entity-detail-body{flex-direction:column;gap:16px;display:flex}.custom-entity-ref-list{flex-direction:column;gap:4px;margin:4px 0 12px;padding:0;list-style:none;display:flex}.custom-entity-section>.custom-fields-group-title{margin:0 0 6px}.contract-tracker-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.contract-tracker-toolbar input[type=search],.contract-tracker-toolbar select{border:1px solid var(--border);background:var(--bg);color:inherit;border-radius:6px;padding:6px 10px}.contract-tracker-toolbar input[type=search]{min-width:280px}.contract-tracker-table{white-space:nowrap;font-size:12.5px}.contract-tracker-table .contract-tracker-task{white-space:normal}.contract-tracker-task-text{overflow-wrap:anywhere;max-width:280px;font-size:11.5px;line-height:1.35;display:block}.contract-tracker-check{text-align:center}.contract-tracker-table .tracker-cell--done{background:#16a34a29}.contract-tracker-action-cell{padding:0}.contract-tracker-cell-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:6px 10px;display:block}.contract-tracker-cell-button:hover{background:color-mix(in srgb, var(--text) 10%, transparent)}.contract-tracker-focus-col{background:color-mix(in srgb, var(--text) 7%, transparent)}.contract-tracker-driving-row>td{background:color-mix(in srgb, var(--accent) 10%, transparent)}.contract-tracker-filter-range{grid-template-columns:1fr 1fr;gap:4px;display:grid}.contract-tracker-filter-range input{min-width:0}.contract-tracker-icon-col{text-align:center;white-space:nowrap;width:1%}.contract-tracker-table .tracker-kind{border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;line-height:0;display:inline-flex}.contract-tracker-table .tracker-kind svg{display:block}.tracker-kind--outgoing{color:#fff;background:#1d4ed8}.tracker-kind--incoming{color:#fff;background:#ea580c}.contract-tracker-table .contract-tracker-partner{white-space:normal}.contract-tracker-partner-text{text-align:left;white-space:normal;overflow-wrap:anywhere;max-width:140px;display:inline-block}.tracking-cell--static:hover .tracking-cell-amount{text-decoration:none}.tracking-cell-amount{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.tracking-stage-dots{gap:3px;display:inline-flex}.tracking-stage-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.email-form-section{color:var(--text);margin:6px 0 0;font-size:14px}.email-template-editor{grid-template-columns:1fr 1fr;gap:14px;display:grid}.email-template-editor-pane{flex-direction:column;gap:6px;min-width:0;display:flex}.email-template-preview{border:1px solid var(--border);background:var(--bg);border-radius:6px;min-height:200px;padding:12px;overflow:auto}@media (width<=860px){.email-template-editor{grid-template-columns:1fr}}.mailbox-row-unread{font-weight:600}.mailbox-message-body{border:1px solid var(--border);border-radius:6px;padding:12px;overflow:auto}.mailbox-message-text{white-space:pre-wrap;margin:0;font-family:inherit}.participant-role-group{margin-top:16px}.participant-role-group h3,.participant-suggestions h3{margin:0 0 6px}.participant-suggestions{border:1px solid var(--border);background:var(--code-bg);border-radius:12px;margin-top:max(48px,70vh);padding:16px 20px}.participant-suggestions .data-table{background:0 0}.participant-suggestions .hint-text{margin:0 0 12px}.tracking-fit-table{width:auto;max-width:100%}.tracking-badge{white-space:nowrap;align-items:center;gap:4px;font-size:.82em;display:inline-flex}.tracking-stage-badges{flex-wrap:wrap;gap:6px;display:inline-flex}.tracking-progress{align-items:center;display:inline-flex}.tracking-progress .tracking-badge{border:1px solid var(--badge-color,var(--border));background:color-mix(in srgb, var(--badge-color,var(--border)) 14%, var(--bg));border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:3px 8px;font-weight:600;line-height:1.1}.tracking-badge-head{align-items:center;gap:4px;display:inline-flex}.tracking-badge-type{font-size:.82em;font-weight:700}.tracking-badge-status{letter-spacing:.01em;font-size:.72em;font-weight:600}.tracking-progress .tracking-badge:not(:first-child){margin-left:16px;position:relative}.tracking-progress .tracking-badge:not(:first-child):before{content:"";background:var(--border);width:16px;height:2px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.tracking-offer-checklist{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.tracking-offer-checklist label{cursor:pointer;align-items:center;gap:8px;display:flex}.tracking-offer-attach{margin:4px 0 8px}.tracking-offer-attach summary{cursor:pointer;color:var(--text-muted,#6b7280);font-size:.9em}.tracking-invoice-cell{align-items:center;gap:6px;display:inline-flex}.tracking-modal-phase{color:var(--text-muted,#6b7280);font-weight:400}.tracking-cell-modal-body{flex-direction:column;gap:18px;margin-bottom:16px;display:flex}.tracking-chain-block{border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:12px 14px}.tracking-chain-block-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.tracking-chain-block-header h3{align-items:center;gap:8px;margin:0;display:flex}.invoice-alloc-list{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;max-height:320px;padding:6px;display:flex;overflow-y:auto}.invoice-alloc-option{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13.5px;display:flex}.invoice-alloc-option:hover{background:var(--bg-canvas)}.invoice-alloc-option.recommended{border-color:var(--accent-border)}.invoice-alloc-option.selected{border-color:var(--accent);background:var(--accent-bg)}.invoice-alloc-option-main{color:var(--text-h);flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.invoice-alloc-option-sub{color:var(--text);font-size:12.5px}.invoice-alloc-badge{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:600}.invoice-yearly-amount{white-space:nowrap}.finance-yearly-plan-subtotal td{border-top:1px solid var(--border);font-weight:600}.finance-yearly-plan-type-cell{text-align:center;color:var(--text)}.finance-yearly-plan-type-col{width:1%}.finance-yearly-plan-name-btn{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.finance-yearly-plan-code{color:var(--text);font-size:.85em;font-weight:700}.finance-yearly-plan-division-divider td{border:none;border-bottom:2px solid var(--text-h);height:0;padding:0}.workforce-legend{color:var(--text-muted);margin:4px 0 12px;font-size:.85rem}.workforce-grid th,.workforce-grid td{white-space:nowrap}.workforce-cell-clickable{cursor:pointer}.workforce-cell-clickable:hover{outline:1px solid var(--accent);outline-offset:-1px}.workforce-weekend{color:var(--text);background:#64748b29}.workforce-vacation{color:#b45309;background:#f59e0b29}.workforce-vacation-half{background:#f59e0b14}.workforce-holiday{color:#b91c1c;background:#dc262624}.workforce-legend-chip{border-radius:4px;justify-content:center;align-items:center;min-width:18px;padding:0 4px;font-size:.8em;font-weight:600;display:inline-flex}.workforce-employee-total{color:var(--text);font-size:12px;font-weight:400}.workforce-summary-row td{border-top:2px solid var(--border);background:var(--code-bg);font-weight:600}.workforce-summary-row td.workforce-over-allocated{color:#dc2626;background:#fce7f3}.workforce-grid .workforce-empty{color:var(--text-muted);font-style:italic}.workforce-breakdown-modal .modal-section-title{margin:20px 0 8px}.workforce-breakdown-modal .workforce-legend{margin:0 0 4px}.workforce-breakdown-formula{color:var(--text);margin:0;font-size:13.5px}.vacation-year-calendar th,.vacation-year-calendar td{text-align:center}.vacation-year-day-header{min-width:28px}.vacation-year-month-label{text-align:left;white-space:nowrap;font-weight:600}.vacation-year-cell{min-width:28px;padding:2px}.vacation-year-cell-clickable{cursor:pointer}.vacation-year-cell-clickable:hover{background:var(--code-bg)}.vacation-year-cell-empty{background:var(--bg-canvas)}.vacation-year-cell-avatars{flex-wrap:nowrap;justify-content:center;align-items:center;gap:2px;min-height:24px;display:flex}.vacation-month{flex-direction:column;gap:4px;display:flex}.vacation-month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.vacation-month-weekday{text-align:center;color:var(--text);padding:2px 0;font-size:.8rem;font-weight:600}.vacation-month-day{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-direction:column;gap:4px;min-height:68px;padding:4px;display:flex}.vacation-month-day.is-outside{background:var(--bg-canvas);color:var(--text);opacity:.55}.vacation-month-day.is-weekend{background:var(--bg-canvas)}.vacation-month-day.is-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.vacation-month-day.is-clickable{cursor:pointer}.vacation-month-day.is-clickable:hover{border-color:var(--accent)}.vacation-month-daynum{align-self:flex-end;font-size:.8rem;font-weight:600}.vacation-month-marks{flex-direction:column;gap:2px;display:flex}.vacation-mark{color:#fff;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:.72rem;font-weight:600;display:inline-flex;overflow:hidden}.vacation-balance{border:1px solid var(--border);background:var(--bg-canvas);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:16px;margin:10px 0;padding:8px 12px;display:flex}.vacation-balance-remaining strong{color:var(--accent)}.vacation-balance-sick strong{color:#d97706}.vacation-quick-modal{max-width:760px}.vacation-quick-body{flex-direction:column;gap:12px;display:flex}.vacation-quick-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-danger{color:#fff;cursor:pointer;font:inherit;background:#dc2626;border:1px solid #dc2626;border-radius:6px;padding:6px 14px}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{opacity:.6;cursor:default}.vacation-form-delete{margin-right:auto}.row-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.inline-generate-form{align-items:center;gap:6px;display:flex}.inline-generate-form input[type=number]{width:6em}.task-title-col{max-width:320px;overflow:hidden}.task-title-cell{align-items:center;gap:4px;width:100%;min-width:0;display:flex}.task-title-progress{flex-shrink:0;margin-left:auto;padding-left:8px}.task-title-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.task-recurrence-icon{color:var(--text);flex-shrink:0}.task-expand-toggle{width:20px;height:20px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.task-expand-toggle:hover{background:var(--code-bg)}.task-expand-toggle--empty{opacity:.4}.task-expand-spacer{flex-shrink:0;width:20px;height:20px;display:inline-block}.task-inline-create-row td{padding-top:6px;padding-bottom:6px}.task-inline-create-form{align-items:center;gap:8px;display:flex}.task-inline-create-form label{align-items:center;display:inline-flex}.task-inline-create-form select{border:1px solid var(--border);color:inherit;background:0 0;border-radius:6px;padding:6px 9px;font-family:inherit;font-size:14px}.task-inline-create-input{border:1px solid var(--border);min-width:120px;color:inherit;background:0 0;border-radius:6px;flex:1;padding:6px 9px;font-family:inherit;font-size:14px}.task-inline-create-error{margin:4px 0 0}.task-link-list-inline{flex-direction:column;gap:4px;display:flex}.subproject-tree-panel{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;margin-bottom:16px;padding:10px 12px;display:flex}.task-link-list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.task-link-list li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-progress-badges{flex-flow:row;gap:10px;display:flex}.task-progress-badge{color:var(--text);white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.task-detail-columns{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.task-detail-main,.task-detail-sidebar{min-width:0}@media (width<=900px){.task-detail-columns{grid-template-columns:1fr}}.task-detail-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-top:20px;padding:18px 20px}.task-detail-card>h3{margin:0 0 14px;font-size:15px}.task-detail-card .task-detail-section:first-child{margin-top:0}.task-relations-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px;display:grid}.task-detail-card>.task-relations-grid:first-child,.task-relations-grid .task-detail-section{margin-top:0}.task-subtask-progress{align-items:center;gap:10px;margin:0 0 12px;display:flex}.task-subtask-progress-track{background:var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.task-subtask-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.task-subtask-progress-label{color:var(--text);white-space:nowrap;font-size:12.5px}.task-detail-section{margin-top:20px}.task-detail-section h3{margin:0 0 10px;font-size:15px}.task-detail-subsection+.task-detail-subsection{margin-top:14px}.task-detail-subsection h4{color:var(--text);margin:0 0 6px;font-size:13.5px;font-weight:600}.task-breadcrumb{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 14px;font-size:12.5px;display:flex}.task-breadcrumb-sep{flex-shrink:0}.task-breadcrumb-link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}.task-breadcrumb-link:hover{text-decoration:underline}.task-breadcrumb-current{color:var(--text-h);font-weight:600}.task-detail-fields{grid-template-columns:1fr 1fr 1fr;gap:8px 20px;margin:0 0 16px;display:grid}.task-detail-field{flex-direction:row;align-items:center;gap:10px;min-width:0;display:flex}.task-detail-field-full{grid-column:1/-1;align-items:flex-start}.task-detail-field-label{color:var(--text);white-space:nowrap;flex:none;font-size:12.5px}.task-detail-field-value{color:var(--text-h);white-space:pre-wrap;flex:1;min-width:0;font-size:14px}.task-detail-field-value input,.task-detail-field-value textarea,.task-detail-field-value select{border:1px solid var(--border);width:100%;color:inherit;box-sizing:border-box;background:0 0;border-radius:6px;padding:6px 9px;font-family:inherit;font-size:14px}.task-detail-fields-sidebar{grid-template-columns:1fr;row-gap:12px}.task-detail-fields-sidebar .task-detail-field{align-items:flex-start}.task-detail-fields-sidebar .task-detail-field-label{white-space:normal;flex:0 0 108px;padding-top:2px}.task-detail-field-value input:disabled,.task-detail-field-value textarea:disabled,.task-detail-field-value select:disabled{opacity:.7;cursor:default}.project-finances-invoices{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.project-finances-invoices h3{margin:0;font-size:15px}.project-finances-transactions{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.project-finances-transactions h3{margin:0;font-size:15px}.project-finances-recurrences{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.project-finances-recurrences h3{margin:0;font-size:15px}.contracts-tab-section{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.contracts-tab-section h3{margin:0;font-size:15px}.employee-compensation-section{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.employee-compensation-section h3{margin:0;font-size:15px}.offer-row-accepted td{background:#dcfce7}@media (prefers-color-scheme:dark){.offer-row-accepted td{background:#14532d}}.offer-group-header-row td{border-bottom:1px solid var(--border);color:var(--text-h);padding:7px 10px;font-weight:600}.offer-group-header-row--phase td{background:var(--code-bg);font-size:13.5px}.offer-group-header-row--workitem td{background:var(--bg);padding-left:30px;font-size:13px;font-weight:500}.offer-item-row td:first-child{padding-left:42px}.offer-group-header-content{align-items:center;gap:8px;display:flex}.offer-group-header-label{flex:1}.offer-group-header-subtotal{color:var(--text);font-size:12.5px;font-weight:400}.offer-workitem-warning{color:#d97706;align-items:center;display:inline-flex}.offer-total-row td{border-top:2px solid var(--border);background:var(--code-bg);font-weight:600}.offer-accept-button{border:1px solid var(--border);background:var(--code-bg);cursor:pointer;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:12px}.offer-accept-button:hover{background:var(--border)}.offer-accept-button--icon{color:#16a34a;justify-content:center;align-items:center;padding:3px;display:inline-flex}.offer-summary-figures{gap:24px;margin:8px 0 16px;font-size:13px;display:flex}.offer-summary-label{color:var(--text);font-size:12px;font-weight:400;display:block}.offer-project-result--positive{color:#16a34a}.offer-project-result--negative{color:#dc2626}.offer-summary-percent{color:var(--text);margin-left:4px}.offer-bulk-rows{flex-direction:column;gap:10px;display:flex}.offer-bulk-row{border:1px solid var(--border);border-radius:6px;grid-template-columns:20px 1fr 1fr 1fr auto;align-items:end;gap:10px;padding:10px;display:grid}.offer-bulk-row-index{color:var(--text);padding-bottom:9px;font-size:13px}.offer-bulk-row-remove{white-space:nowrap}.offer-partner-cell{align-items:center;gap:4px;display:inline-flex}.offer-partner-open-button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.offer-partner-open-button:hover{background:var(--code-bg);color:var(--text-h)}.btn-icon{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:3px;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--code-bg);color:var(--text-h)}.btn-icon:disabled{opacity:.4;cursor:default}.btn-icon-danger:hover:not(:disabled){color:#dc2626}.outgoing-item-subrow td{background:var(--code-bg)}.outgoing-item-sub-desc{padding-left:22px;display:inline-block}.outgoing-item-sub-desc:before{content:"└";opacity:.5;margin-left:-16px;margin-right:6px}.task-checklists{flex-direction:column;gap:14px;display:flex}.task-checklist-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.task-checklist-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.task-checklist-name{cursor:pointer;flex:1;margin:0;font-size:14px}.task-checklist-name-form{flex:1;display:flex}.task-checklist-name-input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;flex:1;padding:4px 8px;font-size:14px}.task-checklist-progress{color:var(--text);white-space:nowrap;font-size:12.5px}.task-checklist-delete{width:24px;height:24px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-checklist-delete:hover{background:var(--code-bg);color:#dc2626}.task-checklist-items{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.task-checklist-item{align-items:center;gap:8px;display:flex}.task-checklist-item-title{flex:1;font-size:13.5px}.task-checklist-item-title.done{color:var(--text);text-decoration:line-through}.task-checklist-item-form{flex:1;display:flex}.task-checklist-item-input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;flex:1;padding:3px 7px;font-size:13.5px}.task-checklist-item-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.task-checklist-item-btn{width:22px;height:22px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.task-checklist-item-btn:hover:not(:disabled){background:var(--code-bg)}.task-checklist-item-btn:disabled{opacity:.35;cursor:default}.task-checklist-add-item{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);border-radius:6px;margin-top:8px;padding:5px 9px;font-size:13.5px}.task-checklist-new{gap:8px;display:flex}.task-checklist-new input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;flex:1;padding:6px 9px;font-size:14px}.activity-list{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.activity-item{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.activity-item-header{align-items:center;gap:8px;display:flex}.activity-item-author{color:var(--text-h);flex-shrink:0;font-size:12.5px;font-weight:600}.activity-item-content-inline{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.activity-item-meta{color:var(--text);flex-shrink:0;margin-left:auto;font-size:12.5px}.activity-item-actions{flex-shrink:0;gap:2px;display:flex}.activity-item-content{color:var(--text-h);white-space:pre-wrap;margin:6px 0 0;font-size:14px}.activity-item-edit-textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font:inherit;resize:vertical;border-radius:6px;margin-top:6px;padding:6px 9px}.activity-new-comment{flex-direction:column;gap:8px;display:flex}.activity-new-comment textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font:inherit;resize:vertical;border-radius:8px;padding:8px 10px}.activity-new-comment button{align-self:flex-end}.detail-header{margin-bottom:12px}.btn-back{color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13.5px;display:inline-flex}.btn-back:hover{color:var(--text-h)}.detail-code{color:var(--text);font-weight:400}.task-detail-title{flex:auto;min-width:0}.task-detail-title .inline-edit-input{min-width:0;max-width:none}.task-title-copy{vertical-align:middle;opacity:.6;margin-left:8px}.task-title-copy:hover{opacity:1}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.offer-phase-tabs{margin-bottom:10px}.offer-phase-tabs .tab-button{padding:5px 10px;font-size:13px}.tab-button{white-space:nowrap;color:var(--text);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 14px;font-size:14px;display:flex}.tab-button:hover{color:var(--text-h)}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.card h2{margin:0;font-size:16px}.detail-list{grid-template-columns:180px 1fr;gap:12px 16px;margin:0;display:grid}.outgoing-offer-title-block{flex-direction:column;gap:2px;display:flex}.outgoing-offer-name-line{color:var(--text);font-size:.95rem;font-weight:600}.outgoing-offer-name-cell{color:var(--text-h);margin-bottom:2px;font-weight:600}.outgoing-offer-address-col .outgoing-offer-name-cell{white-space:normal;overflow-wrap:anywhere;max-width:180px}.outgoing-offer-detail-columns{grid-template-columns:420px 1fr;align-items:start;gap:24px;display:grid}.outgoing-offer-detail-columns[hidden]{display:none}.outgoing-offer-detail-columns>*{min-width:0}.outgoing-offer-detail-columns>.outgoing-offer-tables-column,.outgoing-offer-tables-column>.employee-compensation-section:first-child{border-top:none;margin-top:0;padding-top:0}@media (width<=1000px){.outgoing-offer-detail-columns{grid-template-columns:1fr}}.partner-detail-columns{grid-template-columns:420px 1fr;align-items:start;gap:24px;display:grid}.partner-detail-columns>*{min-width:0}.partner-detail-side>.employee-compensation-section:first-child{border-top:none;margin-top:0;padding-top:0}@media (width<=1000px){.partner-detail-columns{grid-template-columns:1fr}}.partner-search-input,.list-search-input{border:1px solid var(--border);background:var(--bg);min-width:220px;color:var(--text-h);border-radius:6px;padding:7px 10px;font-size:13.5px}.detail-list dt{color:var(--text);font-size:13.5px}.detail-list dd{color:var(--text-h);white-space:pre-wrap;margin:0;font-size:14px}.modal-form input:disabled{opacity:.7;cursor:default}.detail-list dd input,.detail-list dd textarea,.detail-list dd select{border:1px solid var(--border);width:100%;max-width:360px;color:inherit;box-sizing:border-box;background:0 0;border-radius:6px;padding:6px 9px;font-family:inherit;font-size:14px}.detail-list dd input:disabled,.detail-list dd textarea:disabled,.detail-list dd select:disabled{opacity:.7;cursor:default}.inline-edit-value{display:inline-block}.inline-edit-clickable{cursor:pointer;border-radius:4px;margin:-2px -4px;padding:2px 4px}.inline-edit-clickable:hover{background:var(--code-bg)}.inline-edit-multiline{white-space:pre-wrap}.inline-edit-richtext{max-width:640px}.inline-edit-richtext-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.inline-edit-input{border:1px solid var(--accent-border);background:var(--bg);width:100%;max-width:360px;color:inherit;font-size:inherit;box-sizing:border-box;border-radius:6px;padding:4px 7px;font-family:inherit}.data-table .inline-edit-input{max-width:none;font-size:13.5px}.outgoing-offer-customer-col{max-width:140px}.outgoing-offer-customer-col .link-button{white-space:normal;overflow-wrap:break-word}.outgoing-offer-customer-col .offer-partner-cell{align-items:flex-start}.outgoing-offer-customer-col .inline-edit-value{white-space:normal;overflow-wrap:anywhere;min-width:0}.outgoing-offer-contact-col{max-width:150px}.outgoing-offer-contact-col .link-button{white-space:normal;overflow-wrap:break-word}.outgoing-offer-contact-cell{flex-direction:column;gap:1px;display:flex}.outgoing-offer-contact-meta{color:var(--text);opacity:.75;overflow-wrap:break-word;flex-direction:column;font-size:11px;display:flex}.outgoing-offer-address-col{max-width:180px;font-size:12px}.outgoing-offer-address-col .inline-edit-value{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.outgoing-offer-description-col{max-width:220px;font-size:12px}.outgoing-offer-description-col .inline-edit-value{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.outgoing-offer-comment-col{max-width:260px;font-size:12px}.outgoing-offer-comment-col .inline-edit-value{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.custom-fields-panel{flex-direction:column;gap:20px;display:flex}.project-custom-fields-section{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.project-custom-fields-section>.custom-fields-group-title{border-bottom:none;margin-bottom:14px;padding-bottom:0;font-size:15px;font-weight:600}.custom-fields-group-title{color:var(--text);border-bottom:1px solid var(--border);margin:0 0 10px;padding-bottom:6px;font-size:14px}.note-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.note-category-filter{color:var(--text);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.note-category-filter select{border:1px solid var(--border);color:inherit;background:0 0;border-radius:6px;padding:6px 8px;font-size:13px}.note-category-group{margin-bottom:20px}.note-category-group:last-child{margin-bottom:0}.note-category-group-title{align-items:center;gap:8px;display:flex}.note-item{border:1px solid var(--border);border-radius:10px;padding:12px 14px}.note-item-header{align-items:center;gap:10px;margin-bottom:6px;display:flex}.note-item-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.note-item-date{color:var(--text);font-size:12.5px}.note-item-reporter{align-items:center;gap:6px;display:flex}.note-item-reporter-name{color:var(--text-h);font-size:12.5px}.note-item-tags{color:var(--text);align-items:center;gap:10px;margin-left:auto;font-size:12.5px;display:flex;overflow:hidden}.note-item-project{font-weight:600}.note-item-content{color:var(--text-h);margin:0;font-size:14px}.note-attachments{flex-direction:column;gap:6px;margin-top:8px;display:flex}.note-attachment-gallery{flex-wrap:wrap;gap:6px;display:flex}.note-attachment-image-wrap{display:inline-block;position:relative}.note-attachment-image{object-fit:cover;border:1px solid var(--border);background:var(--code-bg);border-radius:6px;width:120px;height:90px;display:block}.note-attachment-remove{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex;position:absolute;top:3px;right:3px}.note-attachment-files{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.note-attachment-chip{border:1px solid var(--border);background:var(--code-bg);max-width:100%;color:var(--text-h);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12.5px;display:inline-flex}.note-attachment-name{text-overflow:ellipsis;white-space:nowrap;max-width:260px;color:inherit;text-decoration:none;overflow:hidden}.note-attachment-name:hover{text-decoration:underline}.note-attachment-size{color:var(--text);font-size:11px}.note-attachment-chip-remove{color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.note-attachment-chip-remove:hover,.note-attachment-remove:hover{color:#dc2626}.note-attachment-add{align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.note-form-attachments{flex-direction:column;gap:6px;display:flex}.note-form-attachments-label{font-size:13px;font-weight:600}.note-filters{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:end;gap:10px 12px;margin-bottom:14px;padding:10px 12px;display:grid}.note-filters label{color:var(--text);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.note-filters-actions{align-items:center;gap:10px;font-size:12.5px;display:flex}.note-group{margin-bottom:10px}.note-group .note-list{margin-top:8px}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.calendar-nav{align-items:center;gap:10px;display:flex}.calendar-nav-btn{padding:6px;display:inline-flex}.calendar-export-trigger{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.calendar-export-url-row{align-items:center;gap:6px;display:flex}.calendar-export-url-row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.calendar-export-url-row .btn-secondary{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.calendar-export-download{text-decoration:none}.calendar-export-download--disabled{opacity:.6;pointer-events:none}.calendar-export-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-export-actions .btn-secondary{align-items:center;gap:4px;display:inline-flex}.calendar-export-help ul{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:18px;font-size:13px;display:flex}.calendar-title{color:var(--text-h);text-align:center;min-width:160px;font-size:15px;font-weight:600}.view-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.view-toggle-btn{color:var(--text);cursor:pointer;background:0 0;border:none;padding:7px 14px;font-size:13.5px}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--border)}.view-toggle-btn:hover{background:var(--code-bg)}.view-toggle-btn.active{background:var(--accent);color:#fff}.task-view-closed-filter{align-self:flex-start;margin-bottom:12px}.calendar-month-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-month-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.calendar-weekday-label{text-align:center;color:var(--text);padding:4px 0;font-size:12px}.calendar-month-grid{flex-direction:column;gap:4px;display:flex}.calendar-month-week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{border:1px solid var(--border);box-sizing:border-box;border-radius:8px;flex-direction:column;gap:4px;min-width:0;min-height:84px;padding:6px;display:flex}.calendar-day.outside{opacity:.4}.calendar-day.today{border-color:var(--accent)}.calendar-day-header{justify-content:space-between;align-items:baseline;gap:4px;display:flex}.calendar-day-number{color:var(--text);font-size:12.5px}.calendar-day.today .calendar-day-number{color:var(--accent);font-weight:700}.calendar-day-total{color:var(--text-h);white-space:nowrap;font-size:11px;font-weight:600}.calendar-day.holiday,.calendar-week-day.holiday{background:#dc262614;border-color:#dc262659}.calendar-day.weekend-workday,.calendar-week-day.weekend-workday{background:#2563eb14;border-color:#2563eb59}.calendar-day-badge{box-sizing:border-box;text-align:center;background:var(--code-bg);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-self:stretch;max-width:100%;padding:1px 6px;font-size:10.5px;font-weight:600;display:block;overflow:hidden}.calendar-day.holiday .calendar-day-badge,.calendar-week-day.holiday .calendar-day-badge{color:#fff;background:#dc2626}.calendar-day.weekend-workday .calendar-day-badge,.calendar-week-day.weekend-workday .calendar-day-badge{color:#fff;background:#2563eb}.calendar-day-items{flex-direction:column;gap:2px;display:flex}.calendar-chip{color:#fff;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;width:100%;padding:2px 5px;font-family:inherit;font-size:11px;display:flex}.calendar-chip-clickable{cursor:pointer}.calendar-chip-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.calendar-chip-duration{opacity:.85;white-space:nowrap;flex-shrink:0;font-size:10.5px}.calendar-chip-priority-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.calendar-chip-more{color:var(--text);padding:0 2px;font-size:11px}.calendar-body{align-items:flex-start;gap:16px;display:flex}.calendar-body-main{flex:1;min-width:0}.calendar-chip-todo{cursor:grab}.calendar-day-add-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.calendar-todo-empty{color:var(--text);border:1px dashed var(--border);opacity:.35;cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;margin-top:2px;padding:0 5px;font-size:10px;line-height:1.5}.calendar-todo-empty:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.calendar-day-dragover{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-bg)}.calendar-todo-toggle.active{border-color:var(--accent);color:var(--accent)}.calendar-todo-drawer{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-shrink:0;width:300px;max-height:calc(100vh - 120px);padding:12px;position:sticky;top:12px;overflow-y:auto}.calendar-todo-drawer-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-todo-drawer-header h3{margin:0;font-size:1rem}.calendar-todo-drawer-actions{align-items:center;gap:6px;display:flex}.calendar-todo-drawer-hint{margin:6px 0 10px}.calendar-todo-drawer-list{flex-direction:column;gap:6px;display:flex}.calendar-todo-drawer-item{border:1px solid var(--border);background:var(--bg-canvas);cursor:grab;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.calendar-todo-drawer-item:hover{border-color:var(--accent)}.calendar-todo-drawer-item-btn{cursor:pointer;text-align:left;min-width:0;font:inherit;color:inherit;background:0 0;border:none;flex:1;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:0;display:grid}.calendar-todo-drawer-item.is-done .calendar-todo-drawer-item-title{color:var(--text);text-decoration:line-through}.calendar-chip-todo{align-items:center;gap:4px;display:inline-flex}.calendar-chip-titlebtn,.calendar-week-todo-titlebtn{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;margin:0;padding:0;display:inline-flex;overflow:hidden}.calendar-todo-check{cursor:pointer;flex-shrink:0;width:13px;height:13px;margin:0}.calendar-chip-todo.is-done,.calendar-week-item.is-done,.calendar-todo-drawer-item.is-done{opacity:.55}.calendar-chip-todo.is-done .calendar-chip-title,.calendar-week-item.is-done .calendar-week-item-title,.calendar-todo-drawer-item.is-done .calendar-todo-drawer-item-title{text-decoration:line-through}.calendar-todo-drawer-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-todo-drawer-item-due{color:var(--text);white-space:nowrap;font-size:11px}@media (width<=860px){.calendar-body{flex-direction:column}.calendar-todo-drawer{width:100%;max-height:none;position:static}}.calendar-chip-milestone{white-space:normal;flex-direction:column;gap:0;min-width:0;line-height:1.1;display:flex;overflow:hidden}button.calendar-chip-milestone{text-align:left;font:inherit;border:none;align-items:flex-start;font-size:11px}.calendar-chip-milestone[draggable=true],.calendar-week-milestone[draggable=true]{cursor:grab}.calendar-chip-milestone[draggable=true]:active,.calendar-week-milestone[draggable=true]:active{cursor:grabbing}.calendar-week{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-week-day{border:1px solid var(--border);box-sizing:border-box;border-radius:8px;min-height:220px;padding:8px}.calendar-week-day.today{border-color:var(--accent)}.calendar-week-day-header{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;margin-bottom:8px;padding-bottom:6px;display:flex}.calendar-week-day-items{flex-direction:column;gap:6px;display:flex}.calendar-week-hours-grid{border-top:1px solid var(--border);grid-template-columns:34px repeat(7,1fr);gap:0 6px;max-height:320px;margin-top:10px;padding-top:8px;display:grid;overflow-y:auto}.calendar-week-hour-label{color:var(--text);text-align:right;white-space:nowrap;padding-top:1px;font-size:10px}.calendar-week-hour-slot{border-top:1px dashed var(--border);flex-direction:column;gap:2px;min-width:0;min-height:20px;padding:1px 0;display:flex}.calendar-week-hour-item{color:#fff;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:4px;align-items:center;gap:4px;width:100%;min-width:0;padding:2px 5px;font-family:inherit;font-size:10.5px;display:flex;overflow:hidden}.calendar-empty{color:var(--text);text-align:center;margin:0;font-size:12px}.calendar-week-item{border:none;border-left:3px solid var(--accent);background:var(--code-bg);text-align:left;border-radius:0 6px 6px 0;flex-direction:column;gap:2px;width:100%;padding:4px 8px;font-family:inherit;display:flex}.calendar-week-item-clickable{cursor:pointer}.calendar-week-item-header{align-items:center;gap:5px;display:flex}.calendar-week-item-title{color:var(--text-h);font-size:12.5px}.calendar-week-item-project{color:var(--text);font-size:11px}.calendar-year-grid{flex-direction:column;gap:2px;display:flex;overflow-x:auto}@media (width<=600px){.dashboard-content{padding:14px}.card{padding:16px}.modal-overlay{padding:12px}.modal{border-radius:10px;max-height:calc(100vh - 24px);padding:18px}.form-row,.detail-list,.task-detail-fields{grid-template-columns:1fr}.detail-list dd input,.detail-list dd textarea,.detail-list dd select{max-width:100%}.calendar-month-weekdays,.calendar-month-week{min-width:560px}.calendar-day{min-height:64px}}.calendar-year-row{grid-template-columns:32px repeat(12,minmax(90px,1fr));gap:2px;display:grid}.calendar-year-daylabel{color:var(--text);justify-content:center;align-items:center;font-size:11px;display:flex}.calendar-year-month-label{cursor:pointer;color:var(--text-h);text-align:center;background:0 0;border:none;border-radius:4px;padding:4px 0;font-size:12.5px;font-weight:600}.calendar-year-month-label:hover{color:var(--accent);background:var(--code-bg)}.calendar-year-cell{background:var(--code-bg);cursor:pointer;box-sizing:border-box;border:none;border-radius:4px;flex-direction:column;align-items:stretch;gap:2px;min-height:32px;padding:2px;display:flex}.calendar-year-cell:hover{outline:1.5px solid var(--accent)}.calendar-year-cell.empty{cursor:default;pointer-events:none;background:0 0}.calendar-year-cell.today{outline:1.5px solid var(--accent)}.calendar-year-chip{color:#fff;border-radius:4px;flex-direction:column;padding:2px 5px;line-height:1.1;display:flex;overflow:hidden}.calendar-year-chip-code{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:700;overflow:hidden}.calendar-day-items .calendar-year-chip-code{font-size:12px}.calendar-year-chip-title{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.calendar-chip-time{opacity:.85;margin-right:4px;font-weight:700}.calendar-chip-done-icon{vertical-align:-1px;flex-shrink:0;margin-right:3px}@media (width<=860px){.calendar-week{grid-template-columns:1fr}.task-detail-fields{grid-template-columns:1fr 1fr}}.task-view-tab-private-icon{vertical-align:-1px;color:var(--text);margin-left:6px}.task-view-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.task-view-toolbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.task-view-settings{display:inline-block;position:relative}.task-view-settings-trigger{align-items:center;gap:6px;display:inline-flex}.task-view-settings-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:inline-flex}.task-view-settings-panel{background:var(--bg);border:1px solid var(--border);width:min(640px,90vw);max-height:70vh;box-shadow:var(--shadow);z-index:30;border-radius:10px;flex-direction:column;gap:16px;padding:14px 16px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.task-view-settings-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.task-view-settings-section-header h4{color:var(--text-h);margin:0;font-size:13.5px}.task-view-filter-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.partner-columns-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.task-columns-list{grid-template-columns:minmax(0,260px)}.partner-columns-list-item{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.partner-columns-list-item .checkbox-field{margin:0}.calendar-export-milestones-item{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.calendar-export-milestone-types{flex-direction:column;gap:2px;margin:0;padding-left:22px;list-style:none;display:flex}.partner-columns-list-move{flex-shrink:0;gap:2px;display:flex}.partner-columns-move-btn{width:20px;height:20px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.partner-columns-move-btn:hover:not(:disabled){background:var(--code-bg);color:var(--text-h)}.partner-columns-move-btn:disabled{opacity:.3;cursor:default}.task-view-filter-grid label{color:var(--text);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.task-view-filter-grid select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:4px;font-size:13px}.task-view-rule-list{flex-direction:column;gap:6px;display:flex}.task-view-rule-row{align-items:center;gap:6px;display:flex}.task-view-rule-row select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;flex:1;padding:5px 8px;font-size:13px}.task-view-rule-remove,.task-view-rule-move{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-view-rule-remove:hover,.task-view-rule-move:hover{background:var(--code-bg);color:var(--text-h)}.task-view-rule-move:disabled{opacity:.35;cursor:default}.task-view-rule-add{align-self:flex-start;align-items:center;gap:6px;font-size:13px;display:inline-flex}.task-group-header-row td{background:var(--code-bg);border-bottom:1px solid var(--border);padding:7px 10px}.task-group-header-row-nested td{background:color-mix(in srgb, var(--code-bg) 45%, var(--bg))}.task-group-header{color:var(--text-h);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.task-group-header-top .task-group-header-label{font-size:15px;font-weight:700}.project-group-header{border-bottom:1px solid var(--border);background:var(--code-bg);color:var(--text-h);border-radius:6px;align-items:center;gap:8px;margin:0 0 8px;padding:7px 10px;font-size:13px;font-weight:600;display:flex}.project-group-header-top .task-group-header-toggle{font-size:15px;font-weight:700}.project-group-header-nested{background:color-mix(in srgb, var(--code-bg) 45%, var(--bg))}.task-group-header-toggle{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.task-group-header-toggle:hover{text-decoration:underline}.task-group-header-summary{color:var(--text);font-size:12.5px;font-weight:400}.task-board-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.task-board{align-items:start;gap:10px;display:grid}.task-board-corner{background:0 0}.task-board-column-header,.task-board-row-header{background:var(--code-bg);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.task-board-column-title,.task-board-row-title{color:var(--text-h);font-size:13.5px;font-weight:600}.task-board-summary{color:var(--text);font-size:12px}.task-board-row-header{justify-content:center}.task-board-cell{border:1px dashed #0000;border-radius:8px;flex-direction:column;gap:8px;min-height:60px;padding:8px;display:flex}.task-board-cell-over{border-color:var(--accent);background:var(--accent-bg)}.task-board-cell-summary{color:var(--text);font-size:11.5px}.task-card{border:1px solid var(--border);background:var(--bg);cursor:grab;border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.task-card[draggable=false]{cursor:default}.task-card-header{align-items:center;gap:6px;display:flex}.task-card-id{color:var(--text);white-space:nowrap;flex-shrink:0;font-size:12px}.task-card-title{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.task-card-badges{flex-wrap:wrap;gap:6px;display:flex}.task-card-meta{color:var(--text);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.task-card-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.task-card-unassigned{color:var(--text);font-size:12px}.time-track-filters{gap:8px;display:flex}.time-track-date-group{margin-top:20px}.time-track-date-group:first-of-type{margin-top:0}.time-track-date-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.time-track-date-label{color:var(--text-h);font-size:15px;font-weight:600}.time-track-date-total{color:var(--text);font-size:13px}.time-track-breakdown{color:var(--text);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px;display:flex}.time-track-breakdown-label{color:var(--text-h);font-weight:600}.time-track-chip{background:var(--code-bg);color:var(--text-h);border-radius:999px;align-items:center;padding:2px 9px;display:inline-flex}.time-track-vacation-row{background:var(--code-bg)}.modal-files{max-width:900px}.offer-files{flex-direction:column;gap:12px;display:flex}.offer-files-location{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.offer-files-location code{font-family:var(--mono);background:var(--code-bg);word-break:break-all;border-radius:6px;padding:2px 6px}.offer-files-kind{border:1px solid var(--border);color:var(--text);border-radius:999px;padding:2px 10px}.offer-files-missing{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.offer-files-missing p{margin:0}.offer-files-missing-actions{flex-wrap:wrap;gap:8px;display:flex}.offer-files-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.offer-files-breadcrumb{word-break:break-all;font-size:13px}.offer-files-name{text-align:left;align-items:center;gap:6px;display:inline-flex}.offer-files-name svg{flex-shrink:0}.offer-files-drop-target>td{background:var(--accent-bg)}.offer-files-empty{color:var(--text)}.file-viewer-overlay{z-index:60;background:#0f1115cc;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.file-viewer{background:var(--bg);width:100%;max-width:1200px;height:100%;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.file-viewer:fullscreen{border-radius:0;max-width:none}.file-viewer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.file-viewer-title{color:var(--text-h);word-break:break-all;font-weight:600}.file-viewer-counter{color:var(--text);white-space:nowrap;align-self:center;font-size:13px}.file-viewer-body{background:var(--bg-canvas);flex:1;justify-content:center;align-items:center;min-height:0;padding:8px;display:flex}.file-viewer-image{object-fit:contain;max-width:100%;max-height:100%}.file-viewer-pdf{background:#fff;border:0;width:100%;height:100%}.file-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.file-tile{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.file-tile-drop-target{border-color:var(--accent);background:var(--accent-bg)}.file-tile-open{min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:8px;display:flex}.file-tile-preview{background:var(--code-bg);width:100%;height:120px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;display:flex}.file-tile-image{object-fit:contain;max-width:100%;max-height:120px}.file-tile-loading{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite file-tile-spin}@keyframes file-tile-spin{to{transform:rotate(360deg)}}.file-tile-name{text-align:center;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:12px;display:-webkit-box;overflow:hidden}.file-tile-actions{justify-content:center;gap:6px;padding:0 8px 8px;display:flex}.thumbnail-progress{flex-direction:column;gap:4px;display:flex}.thumbnail-progress-label{color:var(--text);justify-content:space-between;gap:8px;font-size:12px;display:flex}.thumbnail-progress-track{background:var(--code-bg);border-radius:999px;height:6px;overflow:hidden}.thumbnail-progress-bar{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.offer-files-view-toggle{gap:8px;display:flex}.offer-files-toolbar .table-actions-inline{align-items:center}.offer-files button,.offer-files-missing button{align-items:center;gap:6px;line-height:1.2;display:inline-flex}.file-tile-actions button{padding:3px 8px}.date-field{align-items:center;max-width:100%;display:inline-flex;position:relative}.date-field>input.date-field-input{flex:auto;width:100%;min-width:0;padding-right:28px}.date-field-trigger{width:22px;height:22px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;right:3px}.date-field-trigger:hover{background:var(--code-bg);color:var(--text-h)}.date-picker-popup{z-index:200;box-sizing:border-box;border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:10px;padding:10px;font-size:13px;position:fixed}.date-picker-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.date-picker-title{color:var(--text-h);font-size:13.5px;font-weight:600}.date-picker-nav{width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.date-picker-nav:hover{background:var(--code-bg);color:var(--text-h)}.date-picker-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-weekday{color:var(--text);padding:2px 0;font-size:11.5px}.date-picker-day{color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 0;font-size:13px}.date-picker-day:hover{background:var(--code-bg)}.date-picker-day-today{box-shadow:inset 0 0 0 1px var(--accent-border)}.date-picker-day-selected,.date-picker-day-selected:hover{background:var(--accent);color:#fff}.date-picker-actions{justify-content:space-between;gap:8px;margin-top:8px;display:flex}.date-picker-action{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-size:12.5px}.date-picker-action:hover{background:var(--code-bg)}.contract-offer-picker{flex-direction:column;gap:6px;display:flex}.contract-offer-list{flex-direction:column;gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.contract-offer-list .contract-offer-option{cursor:pointer;border-radius:6px;flex-direction:row;align-items:flex-start;gap:8px;padding:5px 6px;font-size:13.5px;display:flex}.contract-offer-list .contract-offer-option:hover{background:var(--code-bg)}.contract-offer-list .contract-offer-option-blocked{opacity:.55;cursor:default}.contract-offer-phases{flex-wrap:wrap;align-items:center;gap:4px 12px;padding:2px 6px 6px 30px;display:flex}.contract-offer-phases .hint-text{margin-bottom:0}.contract-offer-phase{cursor:pointer;align-items:center;gap:5px;font-size:13px;display:inline-flex}.contract-offer-list input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin-top:3px;padding:0}.contract-offer-body{min-width:0;color:var(--text-h);flex-direction:column;gap:2px;display:flex}.contract-offer-title{align-items:center;gap:6px;display:flex}.contract-offer-kind{border:1px solid var(--border);color:var(--text);border-radius:999px;flex:none;padding:1px 7px;font-size:11.5px}.contract-offer-meta{color:var(--text);font-size:12.5px}.contract-offer-other summary{cursor:pointer;color:var(--text);font-size:13px}.contract-amendment{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:4px 14px 12px}.contract-amendment h4{color:var(--text-h);align-items:center;gap:10px;margin:0;font-size:15px;display:flex}.invoice-completions-cell{flex-wrap:wrap;align-items:center;gap:4px;max-width:320px;display:inline-flex}.invoice-completions-cell>.inline-edit-value,.invoice-completions-cell .inline-search-select{white-space:nowrap;flex-shrink:0}.invoice-completion-chip{border:1px solid var(--border);background:var(--bg);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 6px;font-size:12px;display:inline-flex}.invoice-completion-chip--muted{opacity:.7;font-style:italic}.invoice-completions-block{flex-direction:column;gap:6px;display:flex}.invoice-completions-block-actions{align-items:center;gap:6px;display:inline-flex}.invoice-completions-block-actions .hint-text{margin-bottom:0}.invoice-completion-chip-remove{color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.invoice-completion-chip-remove:hover{color:#dc2626}.data-table td.invoice-completions-col,.data-table th.invoice-completions-col{white-space:normal;min-width:150px}.milestone-attendees{flex-direction:column;gap:8px;display:flex}.milestone-attendee-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.milestone-attendee-row{border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:4px 6px;font-size:13px;display:flex}.milestone-attendee-row .checkbox-field{white-space:nowrap;margin:0}.milestone-attendee-name{margin-right:auto;font-weight:600}.milestone-attendee-row .hint-text{margin-bottom:0}.invoice-accounting-send{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.invoice-accounting-send input[type=checkbox]:disabled{cursor:default}.custom-entity-attach{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.custom-entity-attach .multi-autocomplete{min-width:260px}.invoice-missing-partner{opacity:.8;font-style:italic}.invoice-not-bookable-badge{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11.5px;display:inline-block}.outgoing-offer-summary-section{border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:10px 14px}.outgoing-offer-summary-section .offer-summary-figures{flex-wrap:wrap;margin:0}.resource-plan-row-actions{white-space:nowrap;width:auto}.resource-plan-row-actions .btn-icon+.btn-icon{margin-left:4px}.overview-color-picker{display:inline-flex;position:relative}.overview-color-menu{z-index:25;background:var(--bg);border:1px solid var(--border);width:172px;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(8,1fr);gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.overview-color-swatch{border:1px solid var(--border);cursor:pointer;border-radius:4px;width:16px;height:16px;padding:0}.overview-color-swatch.selected{outline:2px solid var(--accent);outline-offset:1px}.overview-color-reset{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;grid-column:1/-1;margin-top:2px;padding:4px 6px;font-size:12px}.overview-color-reset:hover{color:var(--text-h);text-decoration:underline}.overview-image-card{flex-direction:column;gap:8px;display:flex}.overview-image{object-fit:contain;background:var(--code-bg);border-radius:8px;width:100%;max-height:360px}.overview-image-empty{border:1px dashed var(--border);min-height:140px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:13px;display:flex}.overview-image-empty:hover{border-color:var(--accent);color:var(--text-h)}.overview-image-empty-static,.overview-image-empty-static:hover{cursor:default;border-color:var(--border);color:var(--text);margin:0}.overview-card-bare .overview-image-empty-static{background:var(--code-bg);border:none;border-radius:12px}.overview-image-actions{align-items:center;gap:6px;display:flex}.hidden-file-input{display:none}.overview-note-card{flex-direction:column;gap:8px;display:flex}.overview-note-tabbar{align-items:center;gap:6px;min-width:0;display:flex}.overview-note-tabs{scrollbar-width:thin;flex-wrap:nowrap;flex:auto;min-width:0;overflow:auto hidden}.overview-note-tabs>*{flex:none}.overview-note-tab{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;max-width:160px;display:inline-flex}.overview-note-tab-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview-note-tab-close{opacity:.6;border-radius:3px;align-items:center;display:inline-flex}.overview-note-tab-close:hover{opacity:1;color:#e5484d}.overview-note-tab-add{cursor:pointer;align-items:center;display:inline-flex}.overview-note-tab-more-wrap{flex:none;position:relative}.overview-note-tab-menu{z-index:25;background:var(--bg);border:1px solid var(--border);width:220px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.overview-note-tab-search{border:1px solid var(--border);color:inherit;background:0 0;border-radius:6px;margin:8px;padding:5px 8px;font-size:13px}.overview-note-tab-menu-list{flex-direction:column;max-height:240px;padding-bottom:4px;display:flex;overflow-y:auto}.overview-note-tab-menu-item{color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px}.overview-note-tab-menu-item:hover{background:var(--code-bg)}.overview-note-tab-menu-item.active{color:var(--accent);font-weight:600}.overview-note-tab-menu-empty{color:var(--text);margin:0;padding:6px 12px;font-size:12px}.overview-note-tab-rename{border:1px solid var(--accent-border);background:var(--bg);width:120px;color:inherit;border-radius:6px;padding:4px 8px;font-size:13px}.overview-note-text{box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:140px;color:inherit;resize:vertical;background:0 0;border-radius:8px;padding:10px;font-family:inherit;font-size:13px;line-height:1.5}.overview-note-text:focus{border-color:var(--accent-border);outline:none}.overview-quick-task{flex-direction:column;gap:8px;display:flex}.overview-quick-task-title{box-sizing:border-box;border:1px solid var(--border);width:100%;color:inherit;background:0 0;border-radius:6px;padding:8px 10px;font-size:14px}.overview-quick-task-fields{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.overview-quick-task-field{flex-direction:column;gap:2px;min-width:0;display:flex}.overview-quick-task-field .hint-text{margin-bottom:0}.overview-quick-task-fields .btn-primary{margin-left:auto}.overview-quick-task-submit{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.data-delivery-section{margin-top:18px}.data-delivery-section h3{align-items:center;gap:6px;margin:0 0 8px;font-size:15px;display:flex}.data-delivery-fieldset{border:1px solid var(--border);border-radius:8px;margin:0;padding:8px 12px 12px}.data-delivery-fieldset legend{opacity:.8;padding:0 4px;font-size:13px}.data-delivery-tree,.data-delivery-recipients{max-height:240px;overflow-y:auto}.data-delivery-share-line{align-items:center;gap:8px;display:flex}.data-delivery-share-line input{flex:auto;min-width:0}.data-delivery-user-form{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.data-delivery-recipient-line{align-items:center;gap:6px;display:flex}.data-delivery-missing{color:#dc2626}.data-delivery-timeline-table th,.data-delivery-timeline-table td{white-space:nowrap;vertical-align:top}.data-delivery-timeline-table th:first-child,.data-delivery-timeline-table td:first-child{z-index:1;background:var(--bg);position:sticky;left:0}.data-delivery-timeline-cell{border:1px solid var(--border);border-left-width:3px;border-radius:6px;align-items:center;gap:5px;width:fit-content;padding:2px 7px;font-size:12px;display:flex}.data-delivery-timeline-cell+.data-delivery-timeline-cell{margin-top:4px}.data-delivery-timeline-cell--outgoing{border-left-color:var(--accent)}.data-delivery-timeline-cell--incoming{border-left-color:#16a34a}.data-delivery-timeline-inactive{opacity:.55}.data-delivery-timeline-empty{opacity:.4}.data-delivery-matrix-table th,.data-delivery-matrix-table td{white-space:nowrap;vertical-align:middle}.data-delivery-matrix-table th:first-child,.data-delivery-matrix-table td:first-child{z-index:1;background:var(--bg);white-space:normal;position:sticky;left:0}.data-delivery-matrix-group-header{text-align:center;border-bottom:1px solid var(--border)}.data-delivery-matrix-partner-header{vertical-align:bottom;padding-bottom:8px}.data-delivery-matrix-partner-name{writing-mode:vertical-rl;white-space:nowrap;transform:rotate(180deg)}.data-delivery-matrix-cell-col{text-align:center}.data-delivery-matrix-cell{border:1px solid var(--border);color:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;display:inline-flex}.data-delivery-matrix-cell:disabled{cursor:default}.data-delivery-matrix-cell--shared{color:#16a34a;background:color-mix(in srgb, #16a34a 12%, var(--bg));border-color:#16a34a}.data-delivery-matrix-date{white-space:nowrap}.data-delivery-row-picker-row{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.travel-invoice-table{margin:6px 0}.travel-invoice-table td.numeric,.travel-invoice-table th.numeric,.data-table td.numeric{text-align:right;white-space:nowrap}.invoice-detail-layout{grid-template-columns:minmax(0,1fr) minmax(320px,46%);align-items:start;gap:24px;display:grid}.invoice-detail-image h3{margin:0 0 8px}.invoice-image-viewer{flex-direction:column;gap:8px;min-height:240px;display:flex}.invoice-image-viewer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.invoice-image-viewer-bar .hint-text{text-overflow:ellipsis;align-items:center;gap:4px;min-width:0;display:inline-flex;overflow:hidden}.invoice-image-viewer-bar .btn-secondary{align-items:center;gap:6px;display:inline-flex}.invoice-image-frame{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;width:100%;height:70vh}.invoice-image-viewer--compact .invoice-image-frame{height:calc(100vh - 260px);min-height:420px}.invoice-image-missing{border:1px dashed var(--border);text-align:center;color:var(--text);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:32px 16px;display:flex}.invoice-image-missing p{margin:0}.invoice-image-modal{max-width:min(1100px,96vw)}@media (width<=1100px){.invoice-detail-layout{grid-template-columns:1fr}}.auth-page{border-inline:1px solid var(--border);box-sizing:border-box;place-content:center;place-items:center;width:1126px;max-width:100%;min-height:100vh;margin:0 auto;padding:24px;display:flex}.auth-form{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:32px;display:flex}.auth-brand{align-items:center;gap:10px;display:flex}.auth-brand-logo{background:#fff;border-radius:8px;width:auto;max-width:100%;height:44px;padding:4px 8px}.auth-form label{flex-direction:column;gap:6px;font-size:14px;display:flex}.auth-form input{border:1px solid var(--border);color:inherit;background:0 0;border-radius:6px;padding:8px 10px;font-size:14px}.auth-form button[type=submit]{background:var(--accent,#646cff);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px;font-size:15px}.auth-form button[type=submit]:disabled{opacity:.6;cursor:default}.auth-switch{color:var(--accent,#646cff);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.auth-error{color:#e5484d;margin:0;font-size:13px}.auth-loading{border-inline:1px solid var(--border);box-sizing:border-box;place-content:center;place-items:center;width:1126px;max-width:100%;min-height:100vh;margin:0 auto;display:flex}.loading{color:var(--text);align-items:center;gap:10px;padding:14px 0;font-size:13px;display:flex}.loading-bars{align-items:flex-end;gap:3px;height:16px;display:inline-flex}.loading-bars i{background:var(--accent);transform-origin:bottom;border-radius:2px;width:4px;height:100%;animation:1.1s ease-in-out infinite loading-bar}.loading-bars i:first-child{animation-delay:0s}.loading-bars i:nth-child(2){animation-delay:.12s}.loading-bars i:nth-child(3){animation-delay:.24s}.loading-bars i:nth-child(4){animation-delay:.36s}.loading-bars i:nth-child(5){animation-delay:.48s}@keyframes loading-bar{0%,to{opacity:.35;transform:scaleY(.25)}50%{opacity:1;transform:scaleY(1)}}.loading-text{animation:.45s both loading-text-in}@keyframes loading-text-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.loading-full{flex-direction:column;justify-content:center;gap:16px;min-height:60vh;font-size:15px}.loading-full .loading-bars{gap:5px;height:34px}.loading-full .loading-bars i{width:7px}@media (prefers-reduced-motion:reduce){.loading-bars i,.loading-text{animation:none}.loading-bars i{opacity:.7;transform:scaleY(.6)}}
