:root{font-family:var(--ds-font-family);color:var(--ds-color-text);background:var(--ds-color-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--accent:var(--ds-color-brand);--accent-hover:var(--ds-color-brand-hover);--text:var(--ds-color-text);--secondary:var(--ds-color-text-secondary);--line:var(--ds-color-border);--surface:var(--ds-color-surface-subtle);--ease:var(--ds-motion-ease);font-size:16px}*{box-sizing:border-box}body{line-height:var(--ds-font-line-body);background:var(--ds-color-page);margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;background:0 0;border:0}button,a{transition:background var(--ds-motion-fast), color var(--ds-motion-fast), box-shadow var(--ds-motion-normal), border-color var(--ds-motion-normal), transform var(--ds-motion-normal), opacity var(--ds-motion-normal)}button:active:not(:disabled){transform:scale(.975)}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:var(--ds-border-strong) solid var(--accent);outline-offset:4px}svg{stroke-width:1.7px;flex-shrink:0}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:var(--ds-font-weight-semibold);letter-spacing:-.035em}p{line-height:var(--ds-font-line-body)}input,textarea,select{border:var(--ds-border-normal) solid var(--ds-color-border-strong);border-radius:var(--ds-radius-control);background:var(--ds-color-surface);width:100%;color:var(--text);padding:var(--ds-space-3) var(--ds-space-3);line-height:var(--ds-font-line-body);transition:border-color var(--ds-motion-normal), box-shadow var(--ds-motion-normal), background var(--ds-motion-normal);font-size:var(--ds-font-size-body);outline:none;min-height:48px}input::placeholder,textarea::placeholder{color:var(--ds-color-text-muted)}input:focus,textarea:focus,select:focus{background:var(--ds-color-surface);border-color:var(--accent);box-shadow:var(--ds-shadow-focus)}textarea{resize:vertical}label{gap:var(--ds-space-2);color:var(--ds-status-todo-ink);font-size:var(--ds-font-size-label);font-weight:var(--ds-font-weight-semibold);flex-direction:column;display:flex}label>span:has(svg){align-items:center;gap:var(--ds-space-2);display:flex}.button{justify-content:center;align-items:center;gap:var(--ds-space-2);min-height:48px;padding:var(--ds-space-3) var(--ds-space-5);border-radius:var(--ds-radius-control);border:var(--ds-border-normal) solid transparent;background:linear-gradient(135deg, var(--ds-color-brand), var(--ds-color-brand));background-color:var(--ds-color-brand);color:var(--ds-color-surface);font-size:var(--ds-font-size-body);font-weight:var(--ds-font-weight-bold);line-height:var(--ds-font-line-compact);white-space:nowrap;height:auto;box-shadow:var(--ds-shadow-card);display:inline-flex}.button:hover:not(:disabled){background:linear-gradient(135deg, var(--ds-color-brand), var(--ds-color-brand-hover));box-shadow:var(--ds-shadow-card);transform:translateY(-2px)}.button.secondary{background:var(--ds-color-surface);color:var(--ds-status-todo-ink);border-color:var(--ds-status-todo-border);box-shadow:var(--ds-shadow-low)}.button.secondary:hover:not(:disabled){background:var(--ds-color-brand-surface);box-shadow:var(--ds-shadow-card);border-color:var(--ds-color-brand-border)}.button.approve:hover:not(:disabled){background:var(--ds-color-success-hover);box-shadow:var(--ds-shadow-card)}.button.danger:hover:not(:disabled){background:var(--ds-color-danger-hover);box-shadow:var(--ds-shadow-card)}.icon-button{width:44px;height:44px;padding:var(--ds-space-2);color:var(--ds-color-text-secondary);border-radius:var(--ds-radius-control);justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--ds-color-brand-hover);background:var(--ds-color-surface-hover)}.text-button{align-items:center;gap:var(--ds-space-1);color:var(--accent);font-size:var(--ds-font-size-label);min-height:44px;font-weight:var(--ds-font-weight-semibold);padding:3px 0;display:inline-flex}.text-button:hover{color:var(--accent-hover)}.logo{font-size:var(--ds-font-size-heading);font-weight:var(--ds-font-weight-bold);letter-spacing:-1.6px;line-height:var(--ds-font-line-compact);color:var(--ds-color-text);align-items:baseline;display:inline-flex}.logo-period{color:var(--accent)}.logo.small{font-size:var(--ds-font-size-title)}.avatar{border-radius:var(--ds-radius-round);background:var(--ds-color-brand-soft);width:40px;height:40px;color:var(--ds-color-brand-strong);font-size:var(--ds-font-size-caption);font-weight:var(--ds-font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.avatar.small{width:29px;height:29px;font-size:var(--ds-font-size-caption)}.eyebrow{color:var(--secondary);font-size:var(--ds-font-size-label);font-weight:var(--ds-font-weight-regular)}.app{min-height:100dvh;display:flex}.sidebar{z-index:30;width:240px;padding:var(--ds-space-8) var(--ds-space-4) 0;background:var(--ds-color-surface);border-right:var(--ds-border-normal) solid var(--ds-color-border);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{padding:0 var(--ds-space-3) var(--ds-space-10);justify-content:space-between;align-items:center;display:flex}.sidebar-brand>button{padding:0}.main-nav{gap:var(--ds-space-1);flex-direction:column;display:flex}.main-nav>button{align-items:center;gap:var(--ds-space-3);min-height:48px;padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-control);text-align:left;font-size:var(--ds-font-size-body);color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-semibold);display:flex}.main-nav>button>svg{color:var(--ds-color-text-secondary)}.main-nav>button:hover,.boards-nav>button:hover{background:var(--ds-color-surface-subtle);color:var(--ds-color-toast)}.main-nav>button.active,.boards-nav>button.active{background:var(--ds-color-brand-surface);color:var(--ds-color-brand-hover);font-weight:var(--ds-font-weight-bold)}.main-nav>button.active>svg{color:var(--ds-color-brand)}.nav-count{font-size:var(--ds-font-size-caption);font-weight:var(--ds-font-weight-bold);background:var(--ds-color-notification);padding:2px var(--ds-space-2);border-radius:var(--ds-radius-small);color:var(--ds-color-surface);margin-left:auto}.sidebar-section-label{margin:var(--ds-space-8) var(--ds-space-3) var(--ds-space-2);font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-semibold);justify-content:space-between;align-items:center;display:flex}.sidebar-section-label .icon-button{width:40px;height:40px;padding:var(--ds-space-1)}.boards-nav{scrollbar-width:thin;flex-direction:column;gap:3px;min-height:40px;max-height:43dvh;display:flex;overflow-y:auto}.boards-nav>button{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-3);border-radius:var(--ds-radius-control);text-align:left;min-height:48px;font-size:var(--ds-font-size-label);color:var(--ds-color-text-secondary);display:flex}.boards-nav>button>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-nav-dot{border-radius:var(--ds-radius-round);flex-shrink:0;width:9px;height:9px;display:inline-block}.sidebar-empty{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);line-height:var(--ds-font-line-body);padding:var(--ds-space-2) var(--ds-space-3)}.sidebar-bottom{padding-top:var(--ds-space-7);margin-top:auto}.archive-link{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-3);font-size:var(--ds-font-size-label);color:var(--ds-color-text-secondary);border-radius:var(--ds-radius-small);margin-bottom:var(--ds-space-6);min-height:48px;display:flex}.archive-link:hover,.archive-link.active{color:var(--ds-status-todo-ink);background:var(--ds-color-surface-subtle)}.sidebar-user{align-items:center;gap:var(--ds-space-2);border-top:var(--ds-border-normal) solid var(--line);margin:0 calc(-1 * var(--ds-space-4));padding:var(--ds-space-5) var(--ds-space-4);display:flex}.sidebar-user>div{flex:1;min-width:0}.sidebar-user strong{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label);font-weight:var(--ds-font-weight-bold);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-user div>span{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-top:var(--ds-space-1);display:block}.sidebar-user .icon-button{width:40px;height:44px;padding:var(--ds-space-1)}.main-shell{margin-left:var(--ds-space-24);flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--ds-space-5);height:76px;min-height:76px;padding:0 var(--ds-space-8);background:var(--ds-color-surface);border-bottom:var(--ds-border-normal) solid var(--ds-status-todo-soft);display:flex}.topbar>div{align-items:center;gap:var(--ds-space-2);display:flex}.breadcrumb{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-size-label);color:var(--ds-color-text-secondary);display:flex}.breadcrumb button{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label);padding:var(--ds-space-1) 0;min-height:44px}.breadcrumb button:hover{color:var(--ds-status-todo-ink)}.breadcrumb strong{color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-semibold)}.breadcrumb>svg{color:var(--ds-color-text-secondary)}.connection{align-items:center;gap:var(--ds-space-1);color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);display:flex}.main-content{flex:1;min-width:0}.dashboard{padding:var(--ds-space-8) var(--ds-space-8) var(--ds-space-12);max-width:1440px;margin:0 auto}.dashboard-heading{justify-content:space-between;align-items:center;gap:var(--ds-space-6);margin-bottom:var(--ds-space-10);display:flex}.dashboard h1{font-size:var(--ds-font-size-display);font-weight:var(--ds-font-weight-bold);letter-spacing:-1.25px;line-height:var(--ds-font-line-compact);color:var(--ds-color-text)}.dashboard-heading p{margin-top:var(--ds-space-3);color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-body)}.board-grid{gap:var(--ds-space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.board-tile{text-align:left;min-height:280px;padding:var(--ds-space-7);border:var(--ds-border-normal) solid var(--ds-color-border);border-radius:var(--ds-radius-dialog);background:linear-gradient(145deg, color-mix(in srgb, var(--board-accent) 12%, var(--ds-color-surface)), var(--ds-color-surface) 65%);box-shadow:var(--ds-shadow-card);flex-direction:column;display:flex}.board-tile:hover{border-color:var(--board-accent);box-shadow:var(--ds-shadow-card);transform:none}.tile-top{margin-bottom:var(--ds-space-6);justify-content:space-between;align-items:center;display:flex}.tile-monogram{background:color-mix(in srgb, var(--board-accent) 20%, var(--ds-color-surface));border-radius:var(--ds-radius-card);width:52px;height:52px;font-size:var(--ds-font-size-card);font-weight:var(--ds-font-weight-bold);color:var(--ds-color-text);place-items:center;display:grid;position:relative}.tile-monogram>i{border-radius:var(--ds-radius-round);border:var(--ds-border-strong) solid var(--ds-color-surface);width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.tile-arrow{color:var(--ds-color-brand-hover);transition:transform var(--ds-motion-normal), color var(--ds-motion-normal)}.board-tile:hover .tile-arrow{color:var(--ds-color-text-secondary);transform:translate(1px,-1px)}.tile-content h2{font-size:var(--ds-font-size-title);font-weight:var(--ds-font-weight-bold);letter-spacing:-.6px;line-height:var(--ds-font-line-body);color:var(--ds-color-text)}.tile-content p{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-body);margin-top:var(--ds-space-1)}.tile-footer{align-items:center;gap:var(--ds-space-3);margin-top:var(--ds-space-6);color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);font-weight:var(--ds-font-weight-semibold);flex-wrap:wrap;display:flex}.tile-approval{align-items:center;gap:var(--ds-space-1);color:var(--ds-color-danger);display:flex}.tile-approval>i{border-radius:var(--ds-radius-round);background:var(--ds-color-notification);width:7px;height:7px}.tile-renewal{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);margin-top:var(--ds-space-2);display:block}.board-page{min-height:calc(100dvh - 76px);padding:var(--ds-space-7) var(--ds-space-7) var(--ds-space-8);flex-direction:column;display:flex}.board-intro{justify-content:space-between;align-items:center;gap:var(--ds-space-6);display:flex}.board-heading{min-width:0}.board-heading p{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-body);margin-bottom:var(--ds-space-2);font-weight:var(--ds-font-weight-semibold)}.board-heading h1{font-size:var(--ds-font-size-heading);font-weight:var(--ds-font-weight-bold);letter-spacing:-1.15px;line-height:var(--ds-font-line-compact);color:var(--ds-color-text)}.board-actions{align-items:center;gap:var(--ds-space-2);display:flex}.board-menu{position:relative}.board-menu-panel{background:var(--ds-color-surface);border:var(--ds-border-normal) solid var(--line);min-width:216px;padding:var(--ds-space-1);border-radius:var(--ds-radius-control);box-shadow:var(--ds-shadow-dialog);z-index:40;animation:pop-in var(--ds-motion-fast) var(--ease);position:absolute;top:43px;right:0}.board-menu-panel>button{width:100%;padding:var(--ds-space-3) var(--ds-space-3);text-align:left;font-size:var(--ds-font-size-label);border-radius:var(--ds-radius-small);color:var(--ds-color-text-secondary);min-height:48px;display:block}.board-menu-panel>button:hover{background:var(--ds-color-surface-subtle);color:var(--ds-color-text)}.board-toolbar{justify-content:space-between;align-items:center;gap:var(--ds-space-4);margin:var(--ds-space-7) 0 var(--ds-space-5);display:flex}.view-switch{border-radius:var(--ds-radius-control);background:var(--ds-status-todo-soft);padding:var(--ds-space-1);align-items:center;gap:2px;display:flex}.view-switch>button{justify-content:center;align-items:center;gap:var(--ds-space-1);border-radius:var(--ds-radius-small);padding:var(--ds-space-2) var(--ds-space-4);font-size:var(--ds-font-size-label);color:var(--ds-color-text-secondary);min-height:42px;font-weight:var(--ds-font-weight-semibold);isolation:isolate;display:inline-flex;position:relative}.view-switch>button.active{color:var(--ds-color-brand-hover);box-shadow:none;background:0 0}.view-switch>button:hover{color:var(--ds-status-todo-ink)}.toolbar-right{align-items:center;gap:var(--ds-space-3);display:flex}.search-field{align-items:center;gap:var(--ds-space-2);color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-regular);border-radius:var(--ds-radius-control);padding:0 var(--ds-space-3);border:var(--ds-border-normal) solid var(--ds-status-todo-border);background:var(--ds-color-surface);flex-direction:row;display:flex}.search-field>input{width:172px;padding:var(--ds-space-2) 0;font-size:var(--ds-font-size-body);box-shadow:none;min-height:44px;color:var(--ds-color-text);background:0 0;border:0}.search-field:focus-within{color:var(--ds-color-text-secondary);background:var(--ds-color-page)}.search-field>button{color:var(--ds-color-text-secondary);align-items:center;padding:2px;display:flex}.filter-button{align-items:center;gap:var(--ds-space-2);color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label);padding:var(--ds-space-2) var(--ds-space-3);border:var(--ds-border-normal) solid var(--ds-status-todo-border);background:var(--ds-color-surface);border-radius:var(--ds-radius-control);min-height:46px;font-weight:var(--ds-font-weight-semibold);display:flex}.filter-button:hover,.filter-button.selected{color:var(--accent)}.filter-button>i{border-radius:var(--ds-radius-round);background:var(--accent);width:4px;height:4px}.filter-panel{align-items:center;gap:var(--ds-space-1);margin:calc(-1 * var(--ds-space-2)) 0 var(--ds-space-4);padding:var(--ds-space-1);border:var(--ds-border-normal) solid var(--line);border-radius:var(--ds-radius-control);animation:fade-in var(--ds-motion-fast);background:var(--ds-color-surface);border-color:var(--ds-status-todo-border);align-self:flex-end;display:flex}.filter-panel>button{padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-small);font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);min-height:40px;font-weight:var(--ds-font-weight-semibold)}.filter-panel>button.active{background:var(--ds-color-brand-soft);color:var(--ds-color-brand-hover)}[data-status=todo]{--status-color:var(--ds-status-todo-color);--status-ink:var(--ds-status-todo-ink);--status-soft:var(--ds-status-todo-soft);--status-surface:var(--ds-status-todo-surface);--status-border:var(--ds-status-todo-border);--status-header-text:var(--ds-status-todo-on)}[data-status=creating]{--status-color:var(--ds-status-creating-color);--status-ink:var(--ds-status-creating-ink);--status-soft:var(--ds-status-creating-soft);--status-surface:var(--ds-status-creating-surface);--status-border:var(--ds-status-creating-border);--status-header-text:var(--ds-status-creating-on)}[data-status=approval]{--status-color:var(--ds-status-approval-color);--status-ink:var(--ds-status-approval-ink);--status-soft:var(--ds-status-approval-soft);--status-surface:var(--ds-status-approval-surface);--status-border:var(--ds-status-approval-border);--status-header-text:var(--ds-status-approval-on)}[data-status=adjusting]{--status-color:var(--ds-status-adjusting-color);--status-ink:var(--ds-status-adjusting-ink);--status-soft:var(--ds-status-adjusting-soft);--status-surface:var(--ds-status-adjusting-surface);--status-border:var(--ds-status-adjusting-border);--status-header-text:var(--ds-status-adjusting-on)}[data-status=done]{--status-color:var(--ds-status-done-color);--status-ink:var(--ds-status-done-ink);--status-soft:var(--ds-status-done-soft);--status-surface:var(--ds-status-done-surface);--status-border:var(--ds-status-done-border);--status-header-text:var(--ds-status-done-on)}.kanban{align-items:stretch;gap:var(--ds-space-4);padding:var(--ds-space-1) 2px var(--ds-space-4);scrollbar-width:thin;scrollbar-color:var(--ds-color-border-strong) transparent;scroll-snap-type:x proximity;background:0 0;border-radius:0;flex:1;min-height:480px;display:flex;overflow-x:auto}.kanban-column{width:258px;min-width:248px;padding:0 var(--ds-space-2) var(--ds-space-4);background:var(--status-soft);border-radius:var(--ds-radius-card);transition:background var(--ds-motion-normal), box-shadow var(--ds-motion-normal);border:var(--ds-border-normal) solid var(--status-border);scroll-snap-align:start;flex-direction:column;flex:1;display:flex}.kanban-column.drop-over{background:var(--status-border);box-shadow:var(--ds-shadow-drop)}.column-header{min-height:60px;padding:var(--ds-space-2) var(--ds-space-3);background:var(--status-color);color:var(--status-header-text);margin:-1px calc(-1 * (var(--ds-space-2) + 1px)) var(--ds-space-3);border-radius:var(--ds-radius-card) var(--ds-radius-card) 0 0;justify-content:space-between;align-items:center;display:flex}.column-header h2{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-size-body);font-weight:var(--ds-font-weight-bold);letter-spacing:-.1px;color:var(--status-header-text);white-space:nowrap;display:flex}.column-header h2>span{color:var(--status-header-text);opacity:1;font-weight:var(--ds-font-weight-bold);font-size:var(--ds-font-size-caption);background:color-mix(in srgb, var(--ds-color-text) 8%, transparent);padding:2px var(--ds-space-2);border-radius:var(--ds-radius-small);text-align:center;min-width:27px}.column-header .icon-button{width:40px;height:40px;padding:var(--ds-space-2);color:var(--status-header-text);background:color-mix(in srgb, var(--ds-color-surface) 16%, transparent)}.column-cards{gap:var(--ds-space-3);flex-direction:column;flex:1;display:flex}.task-card{border:var(--ds-border-normal) solid var(--status-border);background:var(--status-surface);border-radius:var(--ds-radius-control);box-shadow:var(--ds-shadow-card);transition:box-shadow var(--ds-motion-normal), border-color var(--ds-motion-normal), background-color var(--ds-motion-normal);position:relative}.task-card:hover{border-color:var(--status-color);box-shadow:var(--ds-shadow-card);transform:none}.card-open{text-align:left;width:100%;padding:var(--ds-space-4) var(--ds-space-4);border-radius:var(--ds-radius-control);min-height:160px;display:block}.card-eyebrow{justify-content:space-between;align-items:center;gap:var(--ds-space-2);min-height:24px;color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-bottom:var(--ds-space-3);font-weight:var(--ds-font-weight-semibold);padding-right:0;display:flex}.card-eyebrow>svg{color:var(--ds-color-text-secondary)}.task-card h3{font-size:var(--ds-font-size-card);font-weight:var(--ds-font-weight-bold);line-height:var(--ds-font-line-body);letter-spacing:-.3px;color:var(--ds-color-text);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-footer{justify-content:space-between;align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-size-caption);color:var(--ds-status-todo-ink);margin-top:var(--ds-space-6);min-height:14px;font-weight:var(--ds-font-weight-medium);display:flex}.priority{align-items:center;gap:var(--ds-space-1);font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-semibold);display:inline-flex}.priority>i{border-radius:var(--ds-radius-round);background:var(--ds-color-border-strong);width:6px;height:6px}.priority.high>i{background:var(--ds-color-warning)}.priority.urgent>i{background:var(--ds-color-danger)}.priority.low>i{background:var(--ds-color-success-border)}.overdue{color:var(--ds-color-danger)!important}.green-text{color:var(--ds-status-done-ink)!important}.drag-overlay{width:228px;padding:var(--ds-space-4) var(--ds-space-4);box-shadow:var(--ds-shadow-dialog);transform:rotate(2deg)}.task-card.dragging{transform:none}.task-card.saving{pointer-events:none;border-color:var(--status-color)}.task-card.saving:after{content:"";background:var(--status-color);border-radius:var(--ds-radius-small);height:2px;animation:.75s ease-in-out infinite save-progress;position:absolute;bottom:0;left:16px;right:16px}.approval-pulse{background:var(--ds-color-notification);border-radius:var(--ds-radius-round);width:9px;height:9px;margin:0 var(--ds-space-1);flex-shrink:0;display:inline-block;position:relative}.approval-pulse:after{content:"";border:var(--ds-border-strong) solid color-mix(in srgb, var(--ds-color-notification) 48%, transparent);border-radius:var(--ds-radius-round);animation:pulse var(--ds-motion-pulse) ease-out infinite;position:absolute;inset:-5px}.task-list{border-top:var(--ds-border-normal) solid var(--line)}.task-list-header,.task-list-row{align-items:center;gap:var(--ds-space-5);padding:var(--ds-space-5) var(--ds-space-4);font-size:var(--ds-font-size-label);background:var(--ds-color-surface);border-top:var(--ds-border-normal) solid var(--ds-color-border);grid-template-columns:minmax(0,1fr) 145px 150px 85px;display:grid}.task-list-header{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption)}.task-list-row{text-align:left;border-top:var(--ds-border-normal) solid var(--ds-color-surface-subtle);width:100%;color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption)}.task-list-row:hover{background:var(--ds-color-page)}.task-list-row strong{font-size:var(--ds-font-size-card);line-height:var(--ds-font-line-body);color:var(--ds-color-text);font-weight:var(--ds-font-weight-bold);display:block}.task-list-row small{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-top:var(--ds-space-1);display:block}.list-status{align-items:center;gap:var(--ds-space-2);color:var(--status-ink);display:flex}.list-status:before{content:"";border-radius:var(--ds-radius-round);background:var(--status-color);flex-shrink:0;width:6px;height:6px}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--ds-space-5);padding:var(--ds-space-6) var(--ds-space-7);border-bottom:var(--ds-border-normal) solid var(--ds-color-border);background:var(--ds-color-surface);display:flex}.modal-header h2{font-size:var(--ds-font-size-title);line-height:var(--ds-font-line-body);font-weight:var(--ds-font-weight-bold);letter-spacing:-.7px;overflow-wrap:anywhere;color:var(--ds-color-text)}.modal-header p{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label);margin-top:var(--ds-space-1)}.modal-header .icon-button{width:44px;height:44px;padding:var(--ds-space-2);color:var(--ds-status-todo-ink);background:var(--ds-color-surface-subtle);margin-top:1px}.form-content{padding:var(--ds-space-6) var(--ds-space-7);gap:var(--ds-space-5);flex-direction:column;display:flex}.form-row{gap:var(--ds-space-4);display:flex}.form-row>*{flex:1;min-width:0}.modal-footer{border-top:var(--ds-border-normal) solid var(--ds-color-surface-subtle);justify-content:flex-end;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-4) var(--ds-space-7);display:flex}.optional{font-size:var(--ds-font-size-caption);font-weight:var(--ds-font-weight-regular);color:var(--ds-color-text-secondary);margin-left:var(--ds-space-1)}.field-label{font-size:var(--ds-font-size-label);color:var(--ds-color-text-secondary);margin-bottom:var(--ds-space-3);display:block}.section-title{padding-top:var(--ds-space-5);border-top:var(--ds-border-normal) solid var(--ds-color-surface-subtle);justify-content:space-between;align-items:center;display:flex}.section-title h3{font-size:var(--ds-font-size-body);font-weight:var(--ds-font-weight-medium);letter-spacing:-.2px}.section-title p{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-top:var(--ds-space-1)}.type-rows{gap:var(--ds-space-2);flex-direction:column;display:flex}.type-row{gap:var(--ds-space-2);align-items:center;display:flex}.type-row>input{min-width:0;font-size:var(--ds-font-size-label);flex:1}.type-row>.icon-button{width:25px;height:28px;padding:var(--ds-space-1)}.hours-input{flex-shrink:0;align-items:center;width:86px;display:flex;position:relative}.hours-input>input{font-size:var(--ds-font-size-label);padding-right:var(--ds-space-6)}.hours-input>span{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);pointer-events:none;position:absolute;right:12px}.helper{align-items:flex-start;gap:var(--ds-space-2);color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);line-height:var(--ds-font-line-body);display:flex}.helper>svg{margin-top:2px}.sla-note{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-size-caption);line-height:var(--ds-font-line-body);color:var(--ds-color-text-secondary);display:flex}.form-error{padding:var(--ds-space-3) var(--ds-space-3);background:var(--ds-color-danger-surface);color:var(--ds-status-approval-ink);font-size:var(--ds-font-size-label);line-height:var(--ds-font-line-body);border-radius:var(--ds-radius-small);border:var(--ds-border-normal) solid var(--ds-color-danger-border)}.form-notice{padding:var(--ds-space-3);background:var(--ds-color-success-surface);color:var(--ds-status-done-ink);font-size:var(--ds-font-size-label);line-height:var(--ds-font-line-body);border-radius:var(--ds-radius-small);gap:var(--ds-space-2);border:var(--ds-border-normal) solid var(--ds-color-success-border);align-items:flex-start;display:flex}.invite-link{align-items:center;gap:var(--ds-space-3);color:var(--ds-color-text-secondary);display:flex}.invite-link strong{font-size:var(--ds-font-size-label);font-weight:var(--ds-font-weight-medium);color:var(--ds-color-text-secondary);display:block}.invite-link p{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-top:var(--ds-space-1)}.copy-row{gap:var(--ds-space-2);display:flex}.copy-row>input{min-width:0;font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary)}.copy-row>.button{padding:var(--ds-space-2) var(--ds-space-3);font-size:var(--ds-font-size-caption)}.invite-form{align-items:flex-end;gap:var(--ds-space-2);display:flex}.invite-form>label{flex:1;min-width:0}.invite-form>.button{height:44px}.member-list{flex-direction:column;display:flex}.member{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3) 0;border-bottom:var(--ds-border-normal) solid var(--ds-color-surface-subtle);flex-wrap:wrap;display:flex}.member-icon{width:30px;height:32px;color:var(--ds-color-text-secondary);place-items:center;display:grid}.member-icon.accepted{color:var(--ds-color-text-secondary)}.member>div:not(.revoke-confirm){flex:1;min-width:0}.member strong{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-medium);overflow-wrap:anywhere;display:block}.member div>span{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-top:var(--ds-space-1);display:block}.revoke-confirm{align-items:center;gap:var(--ds-space-2);width:100%;padding:var(--ds-space-3);background:var(--ds-status-approval-surface);border-radius:var(--ds-radius-small);display:flex}.revoke-confirm p{font-size:var(--ds-font-size-caption);color:var(--ds-color-danger);flex:1}.revoke-confirm .button{font-size:var(--ds-font-size-caption);padding:var(--ds-space-2) var(--ds-space-2);min-height:32px}.task-detail{grid-template-columns:1.08fr 1fr;min-width:0;height:100%;min-height:0;display:grid}.task-information{overscroll-behavior:contain;min-height:0;padding:var(--ds-space-7) var(--ds-space-7);scrollbar-width:thin;max-height:none;overflow-y:auto}.task-properties{gap:var(--ds-space-6) var(--ds-space-4);padding-bottom:var(--ds-space-6);border-bottom:var(--ds-border-normal) solid var(--ds-status-todo-soft);grid-template-columns:1fr 1fr;display:grid}.task-properties>div{gap:var(--ds-space-2);flex-direction:column;min-width:0;display:flex}.property-label{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);font-weight:var(--ds-font-weight-semibold)}.task-properties strong{font-size:var(--ds-font-size-body);font-weight:var(--ds-font-weight-semibold);color:var(--ds-color-text)}.status-select{gap:var(--ds-space-2);max-width:210px;padding:0 var(--ds-space-2);background:var(--status-soft);border-radius:var(--ds-radius-control);border:var(--ds-border-normal) solid var(--status-border);flex-direction:row;align-items:center;display:flex;position:relative}.status-select>span,.status-text>i{border-radius:var(--ds-radius-round);flex-shrink:0;width:8px;height:8px}.status-select>select{appearance:none;box-shadow:none;font-size:var(--ds-font-size-body);color:var(--status-ink);padding:var(--ds-space-2) 0;cursor:pointer;font-weight:var(--ds-font-weight-semibold);background:0 0;border:0;min-height:46px}.status-select>svg{color:var(--ds-color-text-secondary);pointer-events:none}.status-text{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-font-size-body);color:var(--status-ink);font-weight:var(--ds-font-weight-bold);display:flex}.detail-date{align-items:center;gap:var(--ds-space-1);display:flex}.detail-date>svg{color:var(--ds-color-text-secondary)}.description-heading{margin:var(--ds-space-6) 0 var(--ds-space-3);justify-content:space-between;align-items:center;display:flex}.description-heading h3,.task-links h3{font-size:var(--ds-font-size-card);font-weight:var(--ds-font-weight-bold);letter-spacing:-.1px;color:var(--ds-color-text)}.task-description{white-space:pre-wrap;font-size:var(--ds-font-size-body);line-height:var(--ds-font-line-reading);color:var(--ds-status-todo-ink);overflow-wrap:anywhere}.task-links{margin-top:var(--ds-space-6)}.task-links>h3{align-items:center;gap:var(--ds-space-2);margin-bottom:var(--ds-space-3);display:flex}.task-links>a{justify-content:space-between;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3);margin-bottom:var(--ds-space-2);border:var(--ds-border-normal) solid var(--ds-status-todo-soft);border-radius:var(--ds-radius-small);font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);display:flex}.task-links>a:hover{background:var(--ds-color-page);border-color:var(--ds-status-todo-border)}.task-links>a>span{align-items:center;gap:var(--ds-space-2);min-width:0;display:flex}.task-links>a>span>span{min-width:0}.task-links small{margin-top:var(--ds-space-1);font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:270px;display:block;overflow:hidden}.approval-box{margin-top:var(--ds-space-6);padding:var(--ds-space-5);border-radius:var(--ds-radius-card);background:var(--ds-color-brand-surface);border:var(--ds-border-normal) solid var(--ds-color-brand-border)}.approval-box-title{align-items:center;gap:var(--ds-space-2);margin-bottom:var(--ds-space-2);color:var(--ds-color-brand-hover);display:flex}.approval-box h3{font-size:var(--ds-font-size-card);font-weight:var(--ds-font-weight-bold);color:var(--ds-color-brand-strong);letter-spacing:-.2px}.approval-box p{color:var(--ds-status-todo-ink);font-size:var(--ds-font-size-label);line-height:var(--ds-font-line-reading)}.approval-buttons{align-items:center;gap:var(--ds-space-2);margin-top:var(--ds-space-4);flex-wrap:wrap;display:flex}.approval-buttons .button{font-size:var(--ds-font-size-label);min-height:46px;padding:var(--ds-space-3) var(--ds-space-4)}.review-version{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);margin-top:var(--ds-space-3);display:block}.adjust-form{margin-top:var(--ds-space-3)}.adjust-form label{font-size:var(--ds-font-size-caption);color:var(--ds-color-brand-hover)}.adjust-form textarea{font-size:var(--ds-font-size-label)}.adjust-form>div{justify-content:flex-end;gap:var(--ds-space-2);margin-top:var(--ds-space-2);display:flex}.adjust-form .button{font-size:var(--ds-font-size-caption);min-height:34px;padding:var(--ds-space-2) var(--ds-space-3)}.feedback-record{align-items:center;gap:var(--ds-space-2);border-top:var(--ds-border-normal) solid var(--ds-status-todo-soft);margin-top:var(--ds-space-4);padding-top:var(--ds-space-3);font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);display:flex}.feedback-record.changes_requested{color:var(--ds-color-text-secondary)}.feedback-record strong{font-weight:var(--ds-font-weight-medium)}.feedback-record small{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);margin-top:var(--ds-space-1);display:block}.detail-created{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-top:var(--ds-space-7)}.conversation{background:var(--ds-color-page);flex-direction:column;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.conversation-tabs{align-items:center;gap:var(--ds-space-6);padding:0 var(--ds-space-6);border-bottom:var(--ds-border-normal) solid var(--ds-color-surface-subtle);min-height:52px;display:flex}.conversation-tabs>button{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-4) 0 var(--ds-space-4);font-size:var(--ds-font-size-body);color:var(--ds-color-text-secondary);border-bottom:var(--ds-border-strong) solid transparent;font-weight:var(--ds-font-weight-semibold);min-height:56px;display:inline-flex}.conversation-tabs>button.active{color:var(--ds-color-brand-hover);border-bottom-color:var(--ds-color-brand)}.conversation-tabs small{font-size:var(--ds-font-size-caption);font-weight:var(--ds-font-weight-regular);color:var(--ds-color-text-secondary)}.conversation-body{overscroll-behavior:contain;min-height:0;padding:var(--ds-space-6) var(--ds-space-5);scrollbar-width:thin;flex:1;overflow-y:auto}.chat-empty{text-align:center;height:100%;min-height:180px;color:var(--ds-color-text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.chat-empty h4{font-size:var(--ds-font-size-label);font-weight:var(--ds-font-weight-regular);letter-spacing:0;color:var(--ds-color-text-secondary);margin-top:var(--ds-space-3)}.chat-empty p{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);margin-top:var(--ds-space-2)}.chat-message{gap:var(--ds-space-2);margin-bottom:var(--ds-space-5);animation:fade-up var(--ds-motion-normal) var(--ease);align-items:flex-start;display:flex}.chat-message>.avatar{width:27px;height:27px;font-size:var(--ds-font-size-caption);background:var(--ds-color-surface-subtle);color:var(--ds-color-text-secondary)}.chat-message>div{flex:1;min-width:0}.message-meta{align-items:center;gap:var(--ds-space-2);margin:3px 0 var(--ds-space-2);display:flex}.message-meta strong{font-size:var(--ds-font-size-caption);font-weight:var(--ds-font-weight-bold);color:var(--ds-status-todo-ink)}.message-meta time{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary)}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--ds-color-surface-hover);border-radius:var(--ds-radius-small) var(--ds-radius-card) var(--ds-radius-card) var(--ds-radius-card);padding:var(--ds-space-3) var(--ds-space-3);color:var(--ds-status-todo-ink);font-size:var(--ds-font-size-body);line-height:var(--ds-font-line-reading)}.chat-message.own p{background:var(--ds-color-brand-soft);color:var(--ds-status-todo-ink)}.chat-compose{border-top:var(--ds-border-normal) solid var(--ds-color-surface-subtle);padding:var(--ds-space-4) var(--ds-space-5);background:var(--ds-color-surface)}.chat-compose textarea{resize:none;box-shadow:none;min-height:72px;font-size:var(--ds-font-size-body);background:0 0;border:0;padding:2px}.chat-compose>div{margin-top:var(--ds-space-2);justify-content:space-between;align-items:center;display:flex}.chat-compose div>span{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption)}.chat-compose .button{width:46px;height:46px;min-height:46px;padding:var(--ds-space-3);border-radius:var(--ds-radius-control)}.timeline{flex-direction:column;display:flex}.timeline-item{gap:var(--ds-space-3);padding-bottom:var(--ds-space-6);display:flex;position:relative}.timeline-item:before{content:"";background:var(--ds-status-todo-soft);width:1px;position:absolute;top:19px;bottom:0;left:9px}.timeline-item:last-child:before{display:none}.timeline-dot{border-radius:var(--ds-radius-round);background:var(--ds-color-brand-soft);width:19px;height:19px;color:var(--ds-color-brand-hover);z-index:1;flex-shrink:0;place-items:center;display:grid}.timeline-dot>span{border-radius:var(--ds-radius-round);background:var(--ds-color-border-strong);width:4px;height:4px}.timeline-item strong{color:var(--ds-status-todo-ink);font-size:var(--ds-font-size-body);font-weight:var(--ds-font-weight-bold);line-height:var(--ds-font-line-body);display:block}.timeline-item time,.timeline-item small{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-top:var(--ds-space-1);display:block}.inline-loading{justify-content:center;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-12) var(--ds-space-5);color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label);display:flex}.conversation-error p{font-size:var(--ds-font-size-caption);color:var(--ds-color-danger);margin-bottom:var(--ds-space-4)}.toast{z-index:220;align-items:center;gap:var(--ds-space-3);max-width:calc(100vw - 36px);padding:var(--ds-space-3) var(--ds-space-3) var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-card);background:var(--ds-color-toast);color:var(--ds-color-surface);box-shadow:var(--ds-shadow-dialog);font-size:var(--ds-font-size-body);animation:none;display:flex;position:fixed;bottom:26px;left:calc(50% + 120px);transform:none}.toast>span{line-height:var(--ds-font-line-body)}.toast>svg{color:var(--ds-color-toast-icon)}.toast>button{color:var(--ds-color-surface);border-radius:var(--ds-radius-small);justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:2px;display:flex}.toast.error{background:var(--ds-color-danger-hover)}.toast.error>svg{color:var(--ds-color-surface)}.empty{text-align:center;justify-content:center;align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-16) var(--ds-space-6);flex-direction:column;min-height:300px;display:flex}.empty-icon{color:var(--ds-color-text-secondary);margin-bottom:3px}.empty h3{font-size:var(--ds-font-size-card);font-weight:var(--ds-font-weight-medium);color:var(--ds-color-text-secondary);letter-spacing:-.4px}.empty p{max-width:360px;color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label)}.empty .button{margin-top:var(--ds-space-2)}.demo-banner{justify-content:space-between;align-items:center;gap:var(--ds-space-4);background:var(--ds-color-brand-surface);border-top:var(--ds-border-normal) solid var(--ds-color-surface-subtle);border-bottom:var(--ds-border-normal) solid var(--ds-color-surface-subtle);padding:var(--ds-space-1) var(--ds-space-7);color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);border-color:var(--ds-color-brand-soft);display:flex}.demo-banner>div{align-items:center;gap:var(--ds-space-3);display:flex}.demo-banner button{align-items:center;gap:var(--ds-space-1);font-size:var(--ds-font-size-caption);color:var(--ds-color-brand-hover);min-height:34px;font-weight:var(--ds-font-weight-semibold);padding:0;display:flex}.demo-banner button:hover{color:var(--ds-color-text-secondary)}.offline-banner{align-items:center;gap:var(--ds-space-2);background:var(--ds-color-danger-surface);color:var(--ds-color-warning);padding:var(--ds-space-3) var(--ds-space-8);font-size:var(--ds-font-size-caption);display:flex}.workspace-skeleton{gap:var(--ds-space-5);padding:var(--ds-space-8) var(--ds-space-10);grid-template-columns:repeat(3,1fr);display:grid}.workspace-skeleton>div{border-radius:var(--ds-radius-card);background:linear-gradient(90deg, var(--ds-color-surface-subtle) 20%, var(--ds-color-page) 50%, var(--ds-color-surface-subtle) 80%);background-size:200%;height:215px;animation:1.8s infinite shimmer}.workspace-skeleton>div:first-child{grid-column:1/-1;height:70px}.load-error{justify-content:space-between;align-items:center;gap:var(--ds-space-4);margin:var(--ds-space-6) var(--ds-space-8);padding:var(--ds-space-4);border:var(--ds-border-normal) solid var(--ds-status-approval-soft);background:var(--ds-status-approval-surface);border-radius:var(--ds-radius-control);color:var(--ds-color-danger);font-size:var(--ds-font-size-label);display:flex}.full-loading{justify-content:center;align-items:center;gap:var(--ds-space-6);min-height:100dvh;padding:var(--ds-space-8);text-align:center;color:var(--ds-color-text-secondary);flex-direction:column;display:flex}.full-loading p{max-width:480px;font-size:var(--ds-font-size-label)}.contract-description{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label)}.contract-summary{gap:var(--ds-space-5);border-bottom:var(--ds-border-normal) solid var(--ds-color-surface-subtle);padding:3px 0 var(--ds-space-6);grid-template-columns:1fr 1fr;display:grid}.contract-summary span{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-bottom:var(--ds-space-2);display:block}.contract-summary strong{font-size:var(--ds-font-size-title);letter-spacing:-.8px;font-weight:var(--ds-font-weight-medium);color:var(--ds-color-text-secondary)}.form-content>h3{font-size:var(--ds-font-size-body);font-weight:var(--ds-font-weight-medium);color:var(--ds-color-text-secondary)}.sla-list>div{border-bottom:var(--ds-border-normal) solid var(--ds-color-surface-subtle);padding:var(--ds-space-3) 0;color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label);justify-content:space-between;align-items:center;display:flex}.sla-list strong{font-weight:var(--ds-font-weight-regular);font-size:var(--ds-font-size-caption)}.archive-action{font-size:var(--ds-font-size-caption);color:var(--ds-color-text-secondary);padding:var(--ds-space-1) 0;margin-right:auto}.approval-list{flex-direction:column;display:flex}.approval-list>button{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-4) 2px;text-align:left;border-bottom:var(--ds-border-normal) solid var(--ds-color-surface-subtle);display:flex}.approval-list>button:hover{background:var(--ds-color-page)}.approval-list>button>div{flex:1;min-width:0}.approval-list small{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-caption);margin-bottom:var(--ds-space-1);display:block}.approval-list strong{color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label);font-weight:var(--ds-font-weight-regular);line-height:var(--ds-font-line-body);display:block}.approval-list>button>svg{color:var(--ds-color-text-secondary)}.invitation{max-width:580px;margin:var(--ds-space-20) auto;padding:var(--ds-space-7);align-items:center;gap:var(--ds-space-4);text-align:center;flex-direction:column;display:flex}.invitation-icon{border-radius:var(--ds-radius-card);width:62px;height:62px;color:var(--ds-color-brand-hover);background:var(--ds-color-page);margin-bottom:var(--ds-space-2);place-items:center;display:grid}.invitation h1{font-size:var(--ds-font-size-heading);font-weight:var(--ds-font-weight-medium);color:var(--ds-color-text-secondary)}.invitation p:not(.eyebrow){font-size:var(--ds-font-size-label);color:var(--ds-color-text-secondary)}.invitation>.button,.invitation>.text-button{margin-top:var(--ds-space-2)}.auth-page{background:radial-gradient(ellipse at 12% 0%, var(--ds-color-brand-soft) 0, transparent 48%), radial-gradient(ellipse at 95% 100%, var(--ds-status-done-soft) 0, transparent 45%), var(--ds-color-page);flex-direction:column;min-height:100dvh;display:flex}.auth-panel{padding:var(--ds-space-3) var(--ds-space-6) var(--ds-space-20);flex:1;justify-content:center;align-items:center;display:flex}.auth-form-wrap{background:var(--ds-color-surface);border:var(--ds-border-normal) solid var(--ds-color-border);border-radius:var(--ds-radius-dialog);width:440px;max-width:100%;padding:var(--ds-space-8);box-shadow:var(--ds-shadow-dialog)}.auth-greeting{margin-bottom:var(--ds-space-8)}.auth-greeting h2{color:var(--ds-color-text);font-size:var(--ds-font-size-heading);font-weight:var(--ds-font-weight-bold);letter-spacing:-1px;line-height:var(--ds-font-line-compact)}.auth-greeting p{font-size:var(--ds-font-size-body);color:var(--ds-color-text-secondary);margin-top:var(--ds-space-3);line-height:var(--ds-font-line-reading)}.auth-form-wrap form{gap:var(--ds-space-5);flex-direction:column;display:flex}.auth-form-wrap input{font-size:var(--ds-font-size-body);padding:var(--ds-space-3);min-height:52px}.auth-form-wrap input::placeholder{color:var(--ds-color-text-muted)}.password-field{position:relative}.password-field>input{padding-right:var(--ds-space-10)}.password-field>button{padding:var(--ds-space-1);color:var(--ds-color-text-secondary);justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:4px;right:4px}.forgot-link{color:var(--ds-color-brand-hover);font-size:var(--ds-font-size-label);margin-top:calc(-1 * var(--ds-space-2));align-self:flex-end;min-height:44px;padding:0}.auth-submit{width:100%;min-height:45px;margin-top:var(--ds-space-1)}.auth-submit>svg{display:none}.auth-switch{justify-content:center;gap:var(--ds-space-1);margin-top:var(--ds-space-6);color:var(--ds-color-text-secondary);font-size:var(--ds-font-size-label);flex-wrap:wrap;align-items:center;display:flex}.auth-switch button{color:var(--ds-color-brand-hover);font-size:var(--ds-font-size-label);min-height:44px;font-weight:var(--ds-font-weight-bold);padding:0}.demo-link{justify-content:center;align-items:center;gap:var(--ds-space-1);margin:var(--ds-space-7) auto 0;color:var(--ds-color-brand-hover);font-size:var(--ds-font-size-label);min-height:44px;padding:0;display:flex}.demo-link:hover{color:var(--ds-color-brand-hover)}.setup-note{padding:var(--ds-space-4);background:var(--ds-color-page);border-radius:var(--ds-radius-control)}.setup-note h3{font-size:var(--ds-font-size-card);font-weight:var(--ds-font-weight-medium);color:var(--ds-color-brand-strong);margin-bottom:var(--ds-space-2)}.setup-note p{font-size:var(--ds-font-size-label);color:var(--ds-status-todo-ink);overflow-wrap:anywhere}.page-enter{animation:fade-up var(--ds-motion-normal) var(--ease)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes pulse{0%{opacity:.8;transform:scale(.65)}85%,to{opacity:0;transform:scale(1.65)}}@keyframes save-progress{50%{opacity:.2;transform:scaleX(.5)}}@keyframes shimmer{to{background-position:-200% 0}}.mantine-Button-label{gap:var(--ds-space-2)}.view-indicator{z-index:-1;background:var(--ds-color-surface);border-radius:var(--ds-radius-small);box-shadow:var(--ds-shadow-low);position:absolute;inset:0}.button:active:not(:disabled){box-shadow:var(--ds-shadow-low);transform:translateY(0)scale(.96)}.task-card:focus-within{box-shadow:var(--ds-shadow-focus)}.chat-message.own>.avatar{background:var(--ds-color-brand-soft);color:var(--ds-color-brand-strong)}.type-row>.icon-button{min-width:40px;min-height:44px}.approval-pulse:before{content:"";border:var(--ds-border-strong) solid color-mix(in srgb, var(--ds-color-notification) 32%, transparent);border-radius:var(--ds-radius-round);animation:pulse var(--ds-motion-pulse) 1.05s ease-out infinite;position:absolute;inset:-5px}.button,.icon-button,input,select,textarea,.ds-input{border-radius:var(--ds-radius-control)}.button{min-height:var(--ds-control-height);background:var(--ds-color-brand);box-shadow:var(--ds-shadow-brand)}.button:hover:not(:disabled){background:var(--ds-color-brand-hover);box-shadow:var(--ds-shadow-brand-hover)}.button.secondary{background:var(--ds-color-surface);color:var(--ds-color-text-secondary);box-shadow:var(--ds-shadow-low)}.button.secondary:hover:not(:disabled){background:var(--ds-color-brand-surface)}.button.approve{background:var(--ds-color-success)}.button.approve:hover:not(:disabled){background:var(--ds-color-success-hover)}.button.danger{background:var(--ds-color-danger)}.button.danger:hover:not(:disabled){background:var(--ds-color-danger-hover)}.board-tile,.kanban-column,.task-card{border-radius:var(--ds-radius-card)}.ds-input{min-height:var(--ds-control-height);height:var(--ds-control-height);font:inherit;font-size:var(--ds-font-size-body);color:var(--ds-color-text);background:var(--ds-color-surface);border:var(--ds-border-normal) solid var(--ds-color-border-strong);padding:var(--ds-space-3)}.ds-input:focus{border-color:var(--ds-color-brand);box-shadow:var(--ds-shadow-focus)}.fluxo-modal-positioner{padding:var(--ds-modal-gutter);box-shadow:none;background:0 0;border:0;border-radius:0}.fluxo-modal{max-height:var(--ds-modal-max-height);background:var(--ds-color-surface);border:var(--ds-border-normal) solid var(--ds-color-border);border-radius:var(--ds-radius-dialog);box-shadow:var(--ds-shadow-dialog);flex-direction:column;display:flex;overflow:hidden}.fluxo-modal .modal-header{min-width:0;padding:var(--ds-space-6);flex:none;position:relative}.fluxo-modal .modal-header>div{min-width:0}.fluxo-modal .modal-header h2{font-size:var(--ds-font-size-title);font-weight:var(--ds-font-weight-bold);line-height:var(--ds-font-line-compact)}.fluxo-modal .modal-header .icon-button{flex-shrink:0}.fluxo-modal-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ds-color-border-strong) transparent;flex:auto;min-height:0;padding:0;overflow-y:auto}.fluxo-modal-body>form{flex-direction:column;min-height:0;display:flex}.fluxo-modal-body .modal-footer{z-index:2;background:var(--ds-color-surface);border-top:var(--ds-border-normal) solid var(--ds-color-border);padding:var(--ds-space-4) var(--ds-space-6);flex-shrink:0;position:sticky;bottom:0}.fluxo-modal--wide .fluxo-modal-body{overflow:hidden}.conversation-tabs,.chat-compose{flex-shrink:0}.color-options{align-items:center;gap:var(--ds-space-2);flex-wrap:wrap;display:flex}.color-swatch,.color-custom{width:var(--ds-control-swatch);height:var(--ds-control-swatch);min-width:var(--ds-control-swatch);border:var(--ds-border-strong) solid transparent;border-radius:var(--ds-radius-round);background:var(--ds-color-surface);cursor:pointer;place-items:center;padding:0;display:grid;position:relative}.color-swatch>span{width:var(--ds-control-swatch-dot);height:var(--ds-control-swatch-dot);border-radius:var(--ds-radius-round);transition:transform var(--ds-motion-normal) var(--ds-motion-ease);place-items:center;display:grid}.color-swatch:hover>span{transform:scale(1.12)}.color-swatch.chosen,.color-custom.chosen{border-color:var(--ds-color-brand)}.color-swatch:focus-visible,.color-custom:focus-within{box-shadow:var(--ds-shadow-focus);outline:none}.color-swatch .lucide-check{animation:swatch-check var(--ds-motion-normal) var(--ds-motion-ease)}.color-custom{color:var(--ds-color-brand);border-color:var(--ds-color-border);gap:0}.color-custom>i{border-radius:var(--ds-radius-round);border:var(--ds-border-strong) solid var(--ds-color-surface);width:10px;height:10px;position:absolute;bottom:3px;right:3px}.color-custom>input{opacity:0;cursor:pointer;border-radius:var(--ds-radius-round);border:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}@keyframes swatch-check{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sidebar{visibility:hidden;width:min(288px,88vw);padding:var(--ds-space-6) var(--ds-space-4) 0;transition:transform var(--ds-motion-normal) var(--ds-motion-ease), visibility var(--ds-motion-normal);transform:translate(-100%)}.mobile-open .sidebar{visibility:visible;transform:none}.sidebar-shade{z-index:calc(var(--ds-layer-sidebar) - 1);background:var(--ds-color-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--ds-motion-normal);position:fixed;inset:0}.mobile-menu,.mobile-close{display:flex}.main-shell{max-width:100%;margin-left:0}.topbar{height:var(--ds-space-16);min-height:var(--ds-space-16);padding:0 var(--ds-space-4);gap:var(--ds-space-2)}.topbar>div,.breadcrumb{min-width:0}.breadcrumb strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.breadcrumb,.breadcrumb button{font-size:var(--ds-font-size-body)}.dashboard{padding:var(--ds-space-6) var(--ds-space-4) var(--ds-space-10)}.dashboard-heading{align-items:flex-start;gap:var(--ds-space-4);margin-bottom:var(--ds-space-6);flex-wrap:wrap}.dashboard-heading h1{font-size:var(--ds-font-size-title)}.board-grid{gap:var(--ds-space-4);grid-template-columns:minmax(0,1fr)}.board-tile{min-height:216px;padding:var(--ds-space-6)}.tile-content h2{font-size:var(--ds-font-size-title-small)}.tile-content p{font-size:var(--ds-font-size-body)}.board-page{padding:var(--ds-space-5) var(--ds-space-4);min-height:calc(100dvh - var(--ds-space-16))}.board-intro{align-items:stretch;gap:var(--ds-space-5);flex-direction:column}.board-heading h1{font-size:var(--ds-font-size-heading);overflow-wrap:anywhere}.board-actions{justify-content:flex-end;gap:var(--ds-space-2);flex-wrap:wrap}.board-actions>.secondary{margin-right:auto}.board-actions>.button{font-size:var(--ds-font-size-body);padding:var(--ds-space-3)}.board-menu>.icon-button{margin-left:0}.board-toolbar{gap:var(--ds-space-3);margin:var(--ds-space-6) 0 var(--ds-space-4);flex-wrap:wrap}.view-switch>button{min-height:var(--ds-control-compact);font-size:var(--ds-font-size-body);padding:var(--ds-space-2) var(--ds-space-3)}.toolbar-right{gap:var(--ds-space-2);width:100%}.search-field{flex:1;min-width:0}.search-field>input{width:100%;min-width:0}.search-field>button{min-width:var(--ds-control-compact);min-height:var(--ds-control-compact);justify-content:center}.filter-button{min-width:var(--ds-control-height);min-height:var(--ds-control-height);justify-content:center}.filter-button>span{display:none}.filter-panel{justify-content:flex-start;align-self:stretch;gap:var(--ds-space-1);flex-wrap:wrap}.filter-panel>button{min-height:var(--ds-control-compact);padding:var(--ds-space-2)}.kanban{gap:var(--ds-space-3);min-height:420px}.kanban-column{width:286px;min-width:286px}.column-header{min-height:62px}.column-header h2{font-size:var(--ds-font-size-card)}.column-header .icon-button,.icon-button{min-width:var(--ds-control-compact);min-height:var(--ds-control-compact)}.task-card h3{font-size:var(--ds-font-size-card-mobile)}.card-eyebrow,.card-footer,.priority{font-size:var(--ds-font-size-label)}.card-open{border-radius:var(--ds-radius-card)}.card-open[data-draggable]{cursor:grab;touch-action:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.task-card.dragging .card-open{cursor:grabbing}.card-notification.approval-pulse{width:var(--ds-control-notification);height:var(--ds-control-notification);z-index:2;pointer-events:none;box-shadow:0 0 0 3px var(--ds-color-surface);margin:0;position:absolute;top:-4px;right:-4px}.drag-overlay{width:286px}.task-list-header,.task-list-row{gap:var(--ds-space-3);padding:var(--ds-space-4) var(--ds-space-1);grid-template-columns:minmax(0,1fr) 112px}.task-list-header>span:nth-child(n+3),.task-list-row>span:nth-child(n+3){display:none}.task-list-row strong,.list-status{font-size:var(--ds-font-size-body)}.fluxo-modal-positioner{padding:var(--ds-modal-mobile-gutter);align-items:center}.fluxo-modal{max-height:var(--ds-modal-mobile-max-height);width:100%}.fluxo-modal--wide{height:var(--ds-modal-mobile-max-height)}.fluxo-modal .modal-header{padding:var(--ds-space-5);gap:var(--ds-space-3)}.fluxo-modal .modal-header h2{font-size:var(--ds-font-size-title-small);overflow-wrap:anywhere}.fluxo-modal--wide .fluxo-modal-body{overflow-y:auto}.form-content{padding:var(--ds-space-5)}.form-row{gap:var(--ds-space-4);flex-direction:column}.form-row>label{min-width:0}.type-row{gap:var(--ds-space-2)}.hours-input{width:72px}.fluxo-modal-body .modal-footer{padding:var(--ds-space-4) var(--ds-space-5);flex-wrap:wrap}.modal-footer .button{padding:var(--ds-space-3);font-size:var(--ds-font-size-body)}.archive-action{text-align:left;min-height:var(--ds-control-compact);flex-basis:100%}.copy-row,.invite-form{flex-direction:column;align-items:stretch}.copy-row>.button,.invite-form>.button{align-self:flex-end}.copy-row>input{font-size:var(--ds-font-size-body)}.revoke-confirm{flex-wrap:wrap}.revoke-confirm p{flex-basis:100%}.revoke-confirm .button,.adjust-form .button,.approval-buttons .button{min-height:var(--ds-control-height);font-size:var(--ds-font-size-body)}.task-detail{flex-direction:column;height:auto;display:flex}.task-information{padding:var(--ds-space-5);overflow:visible}.task-properties{gap:var(--ds-space-5);grid-template-columns:1fr}.task-properties strong,.property-label,.task-properties .priority{font-size:var(--ds-font-size-body)}.task-links small{max-width:min(65vw,400px)}.conversation{border-left:0;border-top:var(--ds-border-normal) solid var(--ds-color-border);height:auto;min-height:0;overflow:visible}.conversation-tabs{gap:var(--ds-space-4);padding:0 var(--ds-space-5)}.conversation-body{min-height:180px;max-height:none;padding:var(--ds-space-5);overflow:visible}.chat-compose{z-index:1;position:sticky;bottom:0}.chat-compose>div>span{max-width:170px}.message-meta strong,.timeline-item strong,.task-description{font-size:var(--ds-font-size-body)}.contract-summary{grid-template-columns:1fr}.contract-summary strong{font-size:var(--ds-font-size-title-small);color:var(--ds-color-text)}.toast{left:50%;bottom:var(--ds-space-5);max-width:calc(100vw - var(--ds-space-6));width:max-content}.demo-banner{padding:var(--ds-space-2) var(--ds-space-4);font-size:var(--ds-font-size-caption);flex-wrap:wrap;gap:0}.demo-banner>div{gap:var(--ds-space-2);flex-wrap:wrap}.demo-banner button{min-height:var(--ds-control-compact);font-size:var(--ds-font-size-caption)}.offline-banner{padding:var(--ds-space-3) var(--ds-space-4);font-size:var(--ds-font-size-body)}.workspace-skeleton{padding:var(--ds-space-5);gap:var(--ds-space-4);grid-template-columns:1fr}.load-error{margin:var(--ds-space-4);font-size:var(--ds-font-size-body);flex-direction:column;align-items:flex-start}.invitation{margin-top:var(--ds-space-8);padding:var(--ds-space-5)}.invitation h1{font-size:var(--ds-font-size-title)}.auth-brand{padding:var(--ds-space-6)}.auth-panel{padding:var(--ds-space-3) var(--ds-space-4) var(--ds-space-12)}.auth-form-wrap{width:440px;max-width:100%;padding:var(--ds-space-6)}.auth-greeting h2{font-size:var(--ds-font-size-heading)}@media (width>=481px){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-heading h1{font-size:var(--ds-font-size-heading)}.form-row{flex-direction:row}.task-properties,.contract-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.copy-row,.invite-form{flex-direction:row;align-items:flex-end}.archive-action{flex-basis:auto}}@media (width>=721px){.sidebar{width:var(--ds-layout-sidebar-compact);visibility:visible;padding-top:var(--ds-space-8);transform:none}.sidebar-shade,.mobile-menu,.mobile-close{display:none}.main-shell{margin-left:var(--ds-layout-sidebar-compact)}.topbar{height:var(--ds-layout-topbar);min-height:var(--ds-layout-topbar);padding:0 var(--ds-space-6)}.dashboard{padding:var(--ds-space-7) var(--ds-space-6) var(--ds-space-10)}.board-page{padding:var(--ds-space-6);min-height:calc(100dvh - var(--ds-layout-topbar))}.board-toolbar{flex-wrap:nowrap}.toolbar-right{width:auto}.search-field>input{width:150px}.kanban-column{width:258px;min-width:248px}.task-card h3{font-size:var(--ds-font-size-card)}.drag-overlay{width:248px}.task-list-header,.task-list-row{grid-template-columns:minmax(0,1fr) 130px 130px}.task-list-header>span:nth-child(3),.task-list-row>span:nth-child(3){display:block}.fluxo-modal-positioner{padding:var(--ds-modal-gutter)}.fluxo-modal{max-height:var(--ds-modal-max-height)}.fluxo-modal--wide{height:var(--ds-modal-wide-height)}.fluxo-modal .modal-header{padding:var(--ds-space-6)}.fluxo-modal .modal-header h2{font-size:var(--ds-font-size-title)}.fluxo-modal--wide .fluxo-modal-body{overflow:hidden}.form-content{padding:var(--ds-space-6)}.task-detail{grid-template-columns:1.08fr 1fr;height:100%;display:grid}.task-information{padding:var(--ds-space-6);overflow-y:auto}.conversation{border:0;height:100%;overflow:hidden}.conversation-body{min-height:0;overflow-y:auto}.chat-compose{position:static}.toast{left:calc(50% + var(--ds-layout-sidebar-compact) / 2)}.workspace-skeleton{grid-template-columns:repeat(2,1fr)}.load-error{flex-direction:row;align-items:center}.auth-brand{padding:var(--ds-space-8)}}@media (width>=901px){.sidebar{width:var(--ds-layout-sidebar)}.main-shell{margin-left:var(--ds-layout-sidebar)}.topbar{padding:0 var(--ds-space-8)}.toast{left:calc(50% + var(--ds-layout-sidebar) / 2)}.filter-button>span{display:inline}.board-intro{flex-direction:row;align-items:center}.board-actions{flex-wrap:nowrap}.task-list-header,.task-list-row{grid-template-columns:minmax(0,1fr) 140px 140px 85px}.task-list-header>span:last-child,.task-list-row>span:last-child{display:inline-flex}}@media (width>=1181px){.dashboard{padding:var(--ds-space-10)}.board-grid{gap:var(--ds-space-5);grid-template-columns:repeat(3,minmax(0,1fr))}.board-page{padding:var(--ds-space-7) var(--ds-space-8)}.board-tile{min-height:260px;padding:var(--ds-space-7)}.search-field>input{width:172px}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}
