:root,[data-theme=dark]{--bg:#1a1b1e;--fg:#fff;--code-bg:color-mix(in srgb, var(--fg) 16%, transparent)}[data-theme=light]{--bg:#f4f4f6;--fg:#1a1b1e;--code-bg:color-mix(in srgb, var(--fg) 9%, transparent)}:root{--nav-height:56px;--accent:#f87171;--info:#60a5fa;--success:#4ade80;--font-mono:"Fira Code", "Courier New", monospace;--border-faint:color-mix(in srgb, var(--fg) 8%, transparent);--border:color-mix(in srgb, var(--fg) 15%, transparent);--border-strong:color-mix(in srgb, var(--fg) 25%, transparent);--border-emphasis:color-mix(in srgb, var(--fg) 40%, transparent);--surface-faint:color-mix(in srgb, var(--fg) 4%, transparent);--surface:color-mix(in srgb, var(--fg) 10%, transparent);--accent-surface:color-mix(in srgb, var(--accent) 6%, transparent);--info-surface:color-mix(in srgb, var(--info) 6%, transparent);--success-surface:color-mix(in srgb, var(--success) 6%, transparent);--overlay-bg:color-mix(in srgb, var(--bg) 55%, transparent);--opacity-faint:.35;--opacity-dim:.4;--opacity-subtle:.5;--opacity-muted:.6;--opacity-secondary:.7;--opacity-strong:.8;--transition-fast:.15s ease-in-out;--transition:.2s ease-in-out;--fs-xs:.75rem;--fs-code:.8rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.1rem;--fs-xl:1.5rem;--fs-2xl:2.25rem;--fw-light:300;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--br-sm:3px;--br:4px;--br-md:6px;--br-lg:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:1px solid var(--fg);box-shadow:none;border-radius:var(--br-sm);opacity:1}code{background:var(--code-bg);border-radius:var(--br-sm);padding:.15em .4em;font-family:monospace;font-size:.875em}html{scrollbar-width:thin;scrollbar-color:var(--border) transparent}html::-webkit-scrollbar{width:8px}html::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--br-sm)}html::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}body{background:var(--bg);color:var(--fg);min-height:100vh;transition:background var(--transition), color var(--transition);font-family:Plus Jakarta Sans,system-ui,sans-serif}main{flex-direction:column;max-width:860px;min-height:100vh;margin:0 auto;padding:4rem 3rem;display:flex}@media (width<=768px){main{padding:2.5rem 1.5rem}}.btn,.btn-primary,.btn-ghost,.btn-outline,.btn-danger{font-size:var(--fs-sm);font-weight:var(--fw-medium);border-radius:var(--br);cursor:pointer;transition:opacity var(--transition-fast);border:none;justify-content:center;align-items:center;padding:.5rem 1.25rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--fg);color:var(--bg);font-weight:var(--fw-semibold)}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.4;cursor:default}.btn-ghost{color:inherit;opacity:var(--opacity-faint);background:0 0}.btn-ghost:hover{opacity:var(--opacity-secondary)}.btn-outline{border:1px solid var(--border-strong);color:var(--fg);opacity:var(--opacity-muted);background:0 0}.btn-outline:hover:not(:disabled){opacity:1}.btn-outline:disabled{opacity:.25;cursor:default}.btn-danger{background:var(--accent);color:var(--bg);font-weight:var(--fw-semibold)}.btn-danger:hover{opacity:.85}.btn-danger:disabled{opacity:.4;cursor:default}.btn-icon{color:inherit;cursor:pointer;opacity:var(--opacity-faint);transition:opacity var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.btn-icon:hover{opacity:1}.input{background:var(--surface-faint);border:1px solid var(--border);border-radius:var(--br);width:100%;color:var(--fg);font-size:var(--fs-sm);transition:border-color var(--transition-fast);padding:.5rem .75rem;font-family:inherit}.input:focus{border-color:var(--border-emphasis);outline:none}.input::placeholder{opacity:var(--opacity-subtle)}.dropdown{background:var(--bg);border:1px solid var(--border-faint);border-radius:var(--br-md);z-index:100}.eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;opacity:var(--opacity-faint);margin-bottom:.75rem;display:block}.code-block{font-family:var(--font-mono);font-size:var(--fs-code);background:var(--surface-faint);border:1px solid var(--border-faint);border-radius:var(--br-md);white-space:pre;padding:1rem 1.25rem;line-height:1.6;overflow-x:auto}.user-menu{position:relative}.user-menu-trigger{font-size:var(--fs-sm);font-weight:var(--fw-medium);opacity:var(--opacity-secondary);align-items:center;gap:.5rem;display:flex}.user-menu-trigger:hover{opacity:1}.user-menu-chevron{transition:transform var(--transition-fast);font-size:.65em}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{top:var(--nav-height);height:var(--nav-height);border:none;border-left:1px solid var(--border-faint);border-bottom:1px solid var(--border-faint);border-radius:0 0 0 var(--br-md);align-items:center;padding:0 1.25rem;display:flex;position:fixed;right:0}.user-menu-signout{font-size:var(--fs-sm);align-items:center;gap:.5rem;display:flex}.shell{flex-direction:column;height:100dvh;display:flex}.shell-brand{align-items:center;gap:0;min-width:0;display:flex}.shell-logo{width:auto;height:40px;filter:brightness(0) invert(var(--logo-invert,1));flex-shrink:0;display:block}.shell-brand-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:-.05em;opacity:var(--opacity-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:root,[data-theme=dark]{--logo-invert:1}[data-theme=light]{--logo-invert:0}.shell-header{height:var(--nav-height);border-bottom:1px solid var(--border-faint);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex}.shell-content{flex-direction:column;flex:1;min-height:0;padding:1.5rem 1.25rem;display:flex;overflow-y:auto}.shell-nav-item{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:inherit;opacity:var(--opacity-dim);transition:opacity var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;text-decoration:none;display:flex}.shell-nav-item.active{opacity:1}.shell-nav-item:hover:not(.active){opacity:var(--opacity-subtle)}.shell-sidebar{display:none}.shell-bottom-nav{height:var(--nav-height);border-top:1px solid var(--border-faint);flex-shrink:0;display:flex}.shell-bottom-nav .shell-nav-item{flex:1}@media (width>=768px){.shell{grid-template-columns:56px 1fr;grid-template-rows:var(--nav-height) 1fr;grid-template-areas:"header header""sidebar content";display:grid}.shell-header{grid-area:header}.shell-sidebar{grid-area:sidebar}.shell-content{grid-area:content}.shell-bottom-nav{display:none}.shell-sidebar{border-right:1px solid var(--border-faint);flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 0;display:flex}.shell-sidebar .shell-nav-item{border-radius:var(--br-md);width:40px;height:40px}.shell-sidebar .shell-nav-item span{display:none}.shell-content{padding:2rem 2.5rem}}.task-card{background:var(--surface);border:1px solid var(--border-faint);border-radius:var(--br-md);width:100%;transition:border-color var(--transition-fast), background var(--transition-fast);flex-shrink:0;position:relative;overflow:hidden}.task-card:hover{border-color:var(--border);background:var(--surface-faint)}.task-card-body{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:.25rem;padding:.625rem 1.75rem .625rem .75rem;display:flex}.task-card-icons{align-items:center;gap:.25rem;display:flex;position:absolute;top:.375rem;right:.375rem}.task-card-icon{font-size:var(--fs-xs);color:var(--fg);opacity:var(--opacity-faint);padding:.125rem;line-height:1}.task-card-icon--btn{cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.task-card-icon--btn:hover{opacity:var(--opacity-muted)}.task-card-icon--active{color:var(--accent);opacity:1}.task-card-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1.4}.task-card-contractor{font-size:var(--fs-xs);opacity:var(--opacity-muted)}.task-card-controls{border-top:1px solid var(--border-faint);justify-content:space-between;padding:.125rem .375rem;display:flex}.task-card-nav{font-size:var(--fs-base);padding:.125rem .25rem}.task-card-nav:disabled{opacity:.15;cursor:default;pointer-events:none}.task-detail{color:var(--fg);flex-direction:column;flex:1;gap:1.25rem;display:flex}.task-detail-toolbar{justify-content:space-between;align-items:center;display:flex}.task-detail-back{font-size:var(--fs-sm);font-weight:var(--fw-medium);opacity:var(--opacity-secondary)}.task-detail-back:hover{opacity:1}.task-detail-title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--fg);line-height:1.2}.task-detail-fields{font-size:var(--fs-sm);border-top:1px solid var(--border-faint);border-bottom:1px solid var(--border-faint);color:var(--fg);grid-template-columns:auto 1fr;gap:.625rem 1.5rem;padding:1rem 0;display:grid}.task-detail-fields dt{color:var(--fg);opacity:var(--opacity-muted);white-space:nowrap;align-self:start}.task-detail-fields dd{color:var(--fg);line-height:1.5}.task-detail-error{font-size:var(--fs-sm);color:var(--accent)}.task-detail-actions{flex-direction:column;gap:.75rem;display:flex}.task-detail-action-row{gap:.75rem;display:flex}.task-detail-btn--danger{color:var(--accent)}.task-detail-confirm-prompt{font-size:var(--fs-sm);color:var(--fg);opacity:var(--opacity-muted)}.task-detail-confirm-row{gap:.75rem;display:flex}.dep-chip-list{flex-wrap:wrap;gap:.25rem .5rem;display:flex}.dep-chip{font-size:var(--fs-sm);color:var(--fg);cursor:pointer;text-underline-offset:3px;opacity:var(--opacity-secondary);transition:opacity var(--transition-fast);background:0 0;border:none;padding:0;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.dep-chip:hover{opacity:1}.task-form{flex-direction:column;flex:1;gap:1.25rem;display:flex}.task-form-toolbar{align-items:center;display:flex}.task-form-back{font-size:var(--fs-sm);font-weight:var(--fw-medium);opacity:var(--opacity-secondary)}.task-form-back:hover{opacity:1}.task-form-heading{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.2}.task-form-fields{border-top:1px solid var(--border-faint);flex-direction:column;gap:1rem;padding:1rem 0;display:flex}.task-form-label{font-size:var(--fs-sm);color:color-mix(in srgb, var(--fg) 60%, transparent);flex-direction:column;gap:.375rem;display:flex}.task-form-required{color:var(--accent)}.task-form-textarea{resize:vertical;min-height:80px}.task-form-input--error{border-color:var(--accent)}.task-form-field-error{font-size:var(--fs-xs);color:var(--accent)}.task-form-error{font-size:var(--fs-sm);color:var(--accent)}.task-form-confirm-prompt{font-size:var(--fs-sm);color:color-mix(in srgb, var(--fg) 60%, transparent)}.task-form-actions,.task-form-confirm-row{gap:.75rem;display:flex}.task-form-multiselect{position:relative}.task-form-multiselect-summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.task-form-multiselect-summary::-webkit-details-marker{display:none}.task-form-multiselect-panel{z-index:10;max-height:240px;padding:.375rem 0;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto}.task-form-multiselect-option{font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:.5rem;padding:.375rem .75rem;display:flex}.task-form-multiselect-option:hover{background:var(--surface-faint)}.task-form-multiselect-option input[type=checkbox]{cursor:pointer;flex-shrink:0}.task-form-multiselect-option--dim{opacity:var(--opacity-muted)}.task-form-multiselect-divider{border:none;border-top:1px solid var(--border-faint);margin:.25rem 0}.task-form-multiselect-empty{font-size:var(--fs-sm);opacity:var(--opacity-muted);padding:.5rem .75rem}.settings{flex-direction:column;flex:1;gap:1.25rem;display:flex}.settings-toolbar{align-items:center;display:flex}.settings-back{font-size:var(--fs-sm);font-weight:var(--fw-medium);opacity:var(--opacity-secondary)}.settings-back:hover{opacity:1}.settings-heading{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.2}.settings-message{font-size:var(--fs-sm);opacity:var(--opacity-muted)}.settings-message--error{color:var(--accent);opacity:1}.settings-section{flex-direction:column;gap:.75rem;display:flex}.settings-section-header{justify-content:space-between;align-items:center;display:flex}.settings-section-title{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.settings-list{border:1px solid var(--border-faint);border-radius:var(--br-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.settings-list-item{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.settings-list-item+.settings-list-item{border-top:1px solid var(--border-faint)}.settings-item-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.settings-item-name{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.settings-item-details{font-size:var(--fs-xs);opacity:var(--opacity-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.settings-item-actions{flex-shrink:0;gap:.25rem;display:flex}.settings-item-state{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.settings-item-block-msg{font-size:var(--fs-sm);color:var(--accent)}.settings-item-confirm-msg{font-size:var(--fs-sm);opacity:var(--opacity-muted)}.settings-item-confirm-actions{flex-shrink:0;gap:.5rem;display:flex}.settings-item-hard-confirm{flex-direction:column;flex:1;gap:.5rem;display:flex}.settings-item-hard-confirm-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.settings-form{border-top:1px solid var(--border-faint);flex-direction:column;gap:1rem;padding:1rem 0;display:flex}.settings-form-label{font-size:var(--fs-sm);color:color-mix(in srgb, var(--fg) 60%, transparent);flex-direction:column;gap:.375rem;display:flex}.settings-form-required{color:var(--accent)}.settings-form-input--error{border-color:var(--accent)}.settings-form-field-error{font-size:var(--fs-xs);color:var(--accent)}.settings-form-error{font-size:var(--fs-sm);color:var(--accent)}.settings-form-actions{gap:.75rem;display:flex}.dag-view{flex-direction:column;align-items:center;padding:1.5rem 1rem;display:flex;overflow-x:auto}.dag-defs{position:absolute}.dag-graph{max-width:100%;display:block;overflow:visible}.dag-edge{fill:none;stroke:var(--border-strong);stroke-width:1.5px}.dag-arrowhead{fill:var(--border-strong)}.dag-node{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--br-md);width:100%;height:100%;color:var(--fg);cursor:pointer;text-align:left;transition:border-color var(--transition-fast);flex-direction:column;justify-content:center;gap:3px;padding:0 .75rem;font-family:inherit;display:flex}.dag-node:hover{border-color:var(--border-strong)}.dag-node-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.dag-node-status{font-size:var(--fs-xs);opacity:var(--opacity-muted);line-height:1}.dag-standalone-count{font-size:var(--fs-sm);opacity:var(--opacity-muted);text-align:center;margin-top:1.5rem}.dag-cycle-warning{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--accent);align-items:center;gap:.4rem;margin-bottom:1.25rem;display:flex}.dag-node--cycle{border-color:var(--accent)}.dag-node--cycle:hover{border-color:var(--accent)}.dag-edge--cycle{stroke:var(--accent)}.dag-arrowhead--cycle{fill:var(--accent)}.board{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex}.board-message{font-size:var(--fs-sm);opacity:var(--opacity-muted)}.board-message--error{color:var(--accent);opacity:1}.board-toolbar{flex-direction:column;flex-shrink:0;gap:.5rem;display:flex}.board-toolbar-controls{align-items:center;gap:.75rem;display:flex}.board-toolbar-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.board-toolbar-actions .btn-icon{padding:.45rem .625rem}.board-select{cursor:pointer;width:auto;min-width:180px;max-width:320px}.board-tabs{border-bottom:1px solid var(--border-faint);gap:.25rem;padding-bottom:.125rem;display:flex}.board-tab{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--fg);cursor:pointer;opacity:var(--opacity-muted);transition:opacity var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.375rem .75rem}.board-tab:hover:not(:disabled){opacity:var(--opacity-strong)}.board-tab:disabled{opacity:var(--opacity-faint);cursor:default}.board-tab--active{opacity:1;border-bottom-color:var(--fg)}.dag-placeholder{text-align:center;padding:3rem 0}.board-columns{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;flex:1;gap:.75rem;min-height:0;padding-bottom:.5rem;display:flex;overflow-x:auto}.board-column{background:var(--surface-faint);border:1px solid var(--border-faint);border-radius:var(--br-lg);scroll-snap-align:start;flex-direction:column;flex-shrink:0;min-width:260px;padding:.75rem;display:flex}.board-column-body{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex;overflow-y:auto}.board-column-empty{font-size:var(--fs-sm);opacity:var(--opacity-muted);text-align:center;padding:2rem 0}.board-blocker-warning{background:var(--info-surface);border:1px solid color-mix(in srgb, var(--info) 25%, transparent);border-radius:var(--br-md);flex-direction:column;gap:.5rem;padding:.625rem .75rem;display:flex}.board-blocker-warning-text{font-size:var(--fs-sm)}.board-blocker-warning-actions{gap:.5rem;display:flex}@media (width>=768px){.board-columns{scroll-snap-type:none}}
