:root{--primary:#0e635e;--secondary:#001f3f;--tertiary:#83492f;--neutral:#f3f2eb;--bg:var(--neutral);--ink:#1f1f1f;--muted:#5c5c57;--panel:#fffefa;--line:#e2e0d6;--accent:var(--primary);--accent-ink:#ffffff;--danger:#c62828;--mono:"JetBrains Mono",ui-monospace,monospace;--sans:"Geist","Segoe UI",system-ui,sans-serif;--display:"Geist","Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top left,color-mix(in srgb,var(--primary) 10%,transparent),transparent 42%),linear-gradient(180deg,#f7f6f0 0,var(--bg) 100%);color:var(--ink);font-family:var(--sans);min-height:100%}body:has(.table-page),html:has(.table-page){height:100%;overflow:hidden}body:has(.table-page) .shell{height:100dvh;max-height:100dvh;overflow:hidden}body:has(.table-page) .nav{margin-bottom:8px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:100%;max-width:none;margin:0;padding:clamp(12px,1.25vw,28px) clamp(12px,2vw,40px);display:flex;flex-direction:column;box-sizing:border-box;min-height:100dvh}.shell>.stack:not(.table-page){width:100%;max-width:min(100%,1680px);margin-inline:auto}.table-page{flex:1 1;min-height:0;width:100%;max-width:none;display:flex;flex-direction:column;gap:12px}.table-page-header{flex:0 0 auto}.table-page-header h1{margin:0 0 4px;font-size:clamp(1.45rem,2vw,1.85rem)}.workspace{display:flex;flex-direction:column;gap:clamp(8px,1vw,12px);flex:1 1;min-height:0;width:100%;overflow:hidden}.workspace.has-active-run>.top-controls{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.workspace.top-controls-flash>.top-controls{animation:top-controls-flash-pulse 1.6s ease-out 1}@keyframes top-controls-flash-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 0 10px transparent}}.workspace>.workspace-main{flex:1 1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;gap:10px}.top-controls{flex:0 0 auto;padding:8px 12px!important;overflow:visible}.top-controls-row{display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px;min-width:0}.top-controls-contact-stats{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;min-width:148px;max-width:200px;padding:2px 0}.top-controls-contact-stats-lines{display:grid;grid-gap:2px;gap:2px;font-size:.8rem;line-height:1.3;color:var(--muted)}.top-controls-contact-stats-line{display:grid;grid-template-columns:72px minmax(40px,auto);grid-gap:6px;gap:6px;align-items:baseline}.top-controls-contact-stats-line strong{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;font-size:.84rem}.top-controls-contact-stats-line.muted-line strong{color:var(--muted);font-weight:600}.top-controls-contact-stats-link{font-size:.72rem;color:var(--muted);text-decoration:none;white-space:nowrap}.top-controls-contact-stats-link:hover{color:var(--ink)}.top-controls .task-chip.compact .task-chip-actions a.button{padding:3px 8px!important;font-size:.74rem!important;text-decoration:none}.top-controls-spend{position:relative;flex:0 0 auto;display:flex;align-items:flex-start;gap:6px;min-width:148px;padding:2px 0}.top-controls-spend-lines{display:grid;grid-gap:3px;gap:3px;font-size:.82rem;line-height:1.3;color:var(--muted)}.top-controls-spend-line{display:grid;grid-template-columns:58px minmax(56px,auto);grid-gap:8px;gap:8px;align-items:baseline}.top-controls-spend-line strong{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;font-size:.88rem}.top-controls-spend-hover{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:40;width:min(280px,70vw);padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 12px 28px color-mix(in srgb,var(--secondary) 14%,transparent);gap:8px}.top-controls-spend:focus-within .top-controls-spend-hover,.top-controls-spend:hover .top-controls-spend-hover{display:grid}.top-controls-spend-hover-block{display:grid;grid-gap:3px;gap:3px}.top-controls-spend-hover-block+.top-controls-spend-hover-block{padding-top:8px;border-top:1px solid var(--line)}.top-controls-spend-hover-block strong{font-size:.78rem}.top-controls-spend-hover-block p{margin:0;font-size:.72rem;line-height:1.35}.top-controls-spend-hover-row{display:flex;justify-content:space-between;gap:8px;font-size:.7rem}.top-controls-section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1}.top-controls-divider{width:1px;align-self:stretch;min-height:48px;background:var(--line);flex:0 0 auto}.top-controls-dot{width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent);flex:0 0 auto;margin-top:4px}.top-controls-dot.running{animation:top-controls-pulse 1.4s ease-in-out infinite}@keyframes top-controls-pulse{0%,to{opacity:1}50%{opacity:.45}}.top-controls-runs{display:flex;flex-direction:column;gap:4px;flex:0 0 auto;width:210px;min-width:190px;max-width:240px}.top-controls-runs-list{display:flex;flex-direction:column;gap:4px;max-height:92px;overflow-x:hidden;overflow-y:hidden;overscroll-behavior:contain;padding-right:2px}.top-controls-runs-list.is-scrollable{overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--secondary) 45%,transparent) transparent}.top-controls-runs-list.is-scrollable::-webkit-scrollbar{width:8px}.top-controls-runs-list.is-scrollable::-webkit-scrollbar-track{background:color-mix(in srgb,var(--secondary) 8%,transparent);border-radius:999px}.top-controls-runs-list.is-scrollable::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--secondary) 40%,transparent);border-radius:999px}.top-controls-runs-list.is-scrollable::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--secondary) 55%,transparent)}.top-controls-run{display:grid;grid-gap:1px;gap:1px;width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--neutral) 35%,white);color:inherit;font-size:.74rem;cursor:pointer;text-align:left}.top-controls-run:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.top-controls-run.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,white)}.top-controls-run-title{font-weight:600;font-size:.78rem}.top-controls-run-meta,.top-controls-run-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-controls-run-meta{color:var(--muted);font-size:.7rem}.top-controls-tasks{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:stretch;gap:8px;min-width:0;overflow:visible}.top-controls .task-chip.compact{gap:4px;min-width:min(240px,70vw);max-width:300px;padding:8px 12px;border-radius:10px}.top-controls .task-chip.compact .task-chip-title{font-size:.86rem}.top-controls .task-chip.compact .task-chip-meta{font-size:.74rem}.top-controls .task-chip.compact .task-chip-actions{gap:4px}.top-controls .task-chip.compact .task-chip-actions button{padding:3px 8px!important;font-size:.74rem!important}.task-menu{position:relative;display:inline-flex}.task-menu-panel{position:fixed;z-index:50;min-width:220px;display:grid;grid-gap:6px;gap:6px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 10px 24px color-mix(in srgb,var(--secondary) 12%,transparent)}.task-menu-panel>button{width:100%;justify-content:flex-start;text-align:left;padding:6px 8px!important;font-size:.78rem!important}.task-menu-range{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 2px 2px;border-top:1px solid var(--line)}.task-menu-range input{width:52px;padding:4px 6px;font-size:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}.task-menu-range button{margin-left:auto;padding:4px 8px!important;font-size:.75rem!important}.top-controls-active-run{flex:0 0 auto;display:grid;grid-gap:3px;gap:3px;min-width:160px;max-width:220px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,white)}.top-controls-active-run .task-chip-title{font-size:.8rem}.top-controls-active-run .task-chip-meta{font-size:.7rem}.top-controls-export{flex:0 0 auto;margin-left:auto;padding-left:4px;align-self:center;display:flex;align-items:center;gap:6px}.top-controls-export>button:not(.top-controls-data-btn){white-space:nowrap;padding:8px 12px!important;font-size:.82rem!important}.top-controls-data-btn{white-space:nowrap;padding:6px 10px!important;font-size:.78rem!important;font-weight:600}.task-menu-panel>a,.task-menu-panel>label.task-menu-file{display:block;width:100%;box-sizing:border-box;padding:6px 8px;font-size:.78rem;font-weight:600;text-align:left;border-radius:8px;border:0;background:color-mix(in srgb,var(--secondary) 8%,transparent);color:var(--ink);cursor:pointer;text-decoration:none}.task-menu-panel>a:hover,.task-menu-panel>label.task-menu-file:hover{background:color-mix(in srgb,var(--secondary) 14%,transparent)}.task-menu-panel>button.danger{background:color-mix(in srgb,var(--danger,#b91c1c) 12%,white)!important;color:var(--danger,#b91c1c)!important}.task-menu-csv{display:grid;grid-gap:4px;gap:4px;padding:4px 0 2px;border-top:1px solid var(--line)}.task-menu-csv-label{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);padding:4px 8px 0}.task-menu-csv>button{width:100%;justify-content:flex-start;text-align:left;padding:6px 8px!important;font-size:.78rem!important}.task-menu-csv>button.is-current{background:color-mix(in srgb,var(--primary) 12%,white)}.workspace-main.table-workspace{gap:8px!important}.table-chrome{display:flex;flex-wrap:nowrap;align-items:center;gap:6px 8px;min-width:0;min-height:34px}.table-chrome .data-view-tabs{flex:0 0 auto;gap:4px}.table-chrome .data-view-tab{padding:4px 12px;font-size:.8rem}.table-chrome .toolbar-sep{width:1px;height:20px;background:var(--line);margin:0 2px;flex:0 0 auto}.table-chrome .toolbar-meta{color:var(--muted);font-size:.78rem;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.table-chrome-pagesize{max-width:110px;flex:0 0 auto;padding:4px 6px;font-size:.78rem}.table-chrome-link{font-size:.75rem;color:var(--muted);white-space:nowrap;text-decoration:none}.table-chrome-link:hover{color:var(--ink)}.table-chrome>button{flex:0 0 auto;padding:4px 10px!important;font-size:.78rem!important}.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.table-toolbar .toolbar-sep{width:1px;height:22px;background:var(--line);margin:0 2px;flex:0 0 auto}.table-toolbar .toolbar-meta{color:var(--muted);font-size:.85rem;margin-left:auto}.data-view-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.data-view-tab{padding:6px 16px;font-size:.85rem;font-weight:600;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.data-view-tab.active{background:#1e293b;color:#fff;border-color:#1e293b}.data-view-tab:disabled{opacity:.45;cursor:not-allowed}.table-empty{padding:28px 20px;text-align:center}.table-empty p{margin:0;color:var(--muted);font-size:.95rem}.table-empty .table-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}@media (max-width:960px){.top-controls-row{flex-wrap:wrap}.top-controls-divider{display:none}.top-controls-runs{width:100%;max-width:none}.top-controls-runs-list{max-height:120px}.top-controls-export{margin-left:0;width:100%;flex-wrap:wrap;justify-content:flex-end}.top-controls-export>button:not(.top-controls-data-btn){flex:1 1 auto}.table-chrome{flex-wrap:wrap}.table-chrome .toolbar-meta{margin-left:0;width:100%;order:10}.workspace>.workspace-main{overflow:visible}}.sidebar{display:grid;grid-gap:12px;gap:12px;align-content:start}.sidebar-rail{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 6px;min-height:120px;transition:border-color .2s ease,background .2s ease}.sidebar-rail.running{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:color-mix(in srgb,var(--accent) 8%,white)}.sidebar-rail-toggle{width:100%;padding:8px 4px!important;font-size:1rem!important;line-height:1}.sidebar-rail-meta{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.sidebar-rail-count{font-weight:700;font-size:.95rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sidebar-rail-cost{font-weight:700;font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis}.sidebar-rail-dot{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.sidebar-rail-dot.running{animation:sidebar-pulse 1.4s ease-in-out infinite}@keyframes sidebar-pulse{0%,to{opacity:1}50%{opacity:.45}}.tasks-strip{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;padding:12px 14px}.tasks-strip-chips{display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:2px;min-width:0}.task-chip{flex:0 0 auto;display:grid;grid-gap:6px;gap:6px;min-width:min(220px,70vw);max-width:280px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.task-chip.active,.task-chip.running{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.task-chip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.task-chip-title{font-weight:600;font-size:.9rem;line-height:1.25}.task-chip-meta{font-size:.75rem;color:var(--muted)}.task-chip-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.task-chip-actions button{padding:4px 8px!important;font-size:.78rem!important}.tasks-strip-run{flex:0 1 240px;display:grid;grid-gap:6px;gap:6px;min-width:180px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--accent) 6%,white)}.tasks-strip-run.idle{background:transparent}.tasks-strip-add{flex:0 0 auto;align-self:center}.sidebar h2{font-size:1rem;margin:0 0 8px}.task-list{display:grid;grid-gap:8px;gap:8px}.task-item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--panel);display:grid;grid-gap:6px;gap:6px}button.task-item{width:100%;text-align:left;color:inherit;font-weight:inherit;background:var(--panel);border:1px solid var(--line)}.task-item.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent)}.task-item .task-title{font-weight:600;font-size:.95rem}.task-item .task-meta{font-size:.8rem;color:var(--muted)}.progress-track{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.progress-fill{height:100%;border-radius:999px;transition:width .4s ease;background:var(--primary)}.progress-fill.warn{background:var(--tertiary)}.progress-fill.danger{background:var(--danger)}.progress-fill.done{background:var(--primary)}.badge.not_started{background:#e8e7e1;color:var(--ink)}.badge.partial{background:color-mix(in srgb,var(--tertiary) 18%,white);color:var(--tertiary)}.badge.done{background:color-mix(in srgb,var(--primary) 16%,white);color:var(--primary)}.badge.idle{background:#e8e7e1;color:var(--ink)}.nav{flex-wrap:wrap;margin-bottom:clamp(12px,1.5vw,20px);flex:0 0 auto;width:100%;padding:10px 16px;background:#f0f2f1;border:1px solid var(--line);border-radius:12px}.nav,.nav-links{display:flex;gap:12px 16px;align-items:center}.nav-links{flex-wrap:wrap}.nav-right{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:.85rem;color:var(--muted)}.brand{font-family:var(--display);font-size:1.15rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-right:8px}.nav a{color:var(--muted)}.nav a:hover{color:var(--ink)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 10px 30px color-mix(in srgb,var(--secondary) 6%,transparent)}.panel h2{font-size:1.15rem}h1,h2{font-family:var(--display);letter-spacing:-.02em;margin:0 0 12px;color:var(--ink)}.muted{color:var(--muted)}.stack{display:grid;grid-gap:16px;gap:16px}.table-page.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.button,button{background:var(--primary);color:var(--accent-ink);border:0;border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:500}button.secondary{background:color-mix(in srgb,var(--neutral) 70%,white);color:var(--ink);border:1px solid var(--line)}button.secondary:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line))}.number-stepper{display:flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content}.number-stepper-btn{min-width:4.25rem;padding:8px 12px}.number-stepper-btn:disabled{opacity:.45;cursor:not-allowed}.number-stepper-value{min-width:3rem;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:1.05rem}.button.outlined,button.outlined{background:transparent;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 28%,transparent)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink)}input[type=checkbox],input[type=radio]{width:auto;min-width:1rem;height:auto;padding:0;border-radius:3px;flex-shrink:0}table.grid{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem}table.grid td,table.grid th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top;max-width:clamp(120px,14vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.grid th{color:var(--muted);font-weight:600;background:#fff}.workspace-main table.grid thead{position:-webkit-sticky;position:sticky;top:0;z-index:3}.workspace-main table.grid thead th{background:#fff;box-shadow:0 1px 0 var(--line)}.workspace-main table.grid thead tr.grid-filter-row th{background:#f8fafc}.workspace-main table.grid td:first-child,.workspace-main table.grid th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:#fff;min-width:52px;max-width:64px;width:52px;box-shadow:1px 0 0 var(--line)}.workspace-main table.grid thead th:first-child{z-index:5}.workspace-main table.grid thead tr.grid-filter-row th:first-child{z-index:5;background:#f8fafc}.workspace-main table.grid tbody td:first-child{z-index:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);background:#fff}.workspace-main table.grid tbody tr:hover td:first-child{background:#f8fafc}.grid-th-inner{display:flex;align-items:center;gap:6px;min-width:0}.grid-th-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.grid-th-delete{flex-shrink:0;margin:0;padding:0 5px;min-width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:1.05rem;line-height:1;cursor:pointer;opacity:.55}button.grid-th-delete:hover{opacity:1;color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}tr.grid-filter-row th{padding:4px 6px 10px;font-weight:400;vertical-align:middle;background:rgba(15,23,42,.02)}.grid-filter-cell{display:flex;flex-direction:column;gap:4px;min-width:96px}select.grid-filter-op{width:100%;padding:4px 6px;font-size:.72rem;border-radius:8px;max-width:none}input.grid-filter-input{width:100%;min-width:72px;padding:6px 8px;font-size:.78rem;font-weight:400;border-radius:8px}.workspace-main .panel.table-grid-scroll{width:100%;padding:0;overflow:auto;max-height:min(72vh,calc(100dvh - 210px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.workspace-main .panel{width:100%;overflow-x:auto}.workspace-main table.grid{min-width:100%;width:max-content}.workspace-main table.grid td,.workspace-main table.grid th{max-width:clamp(160px,16vw,520px);padding:10px 12px}.workspace-main table.grid td.cell-td{vertical-align:middle}.cell-preview,button.cell-preview{display:block;width:100%;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:text}.cell-preview.is-truncated{cursor:pointer}.cell-preview.is-truncated:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.cell-viewer-backdrop{position:fixed;inset:0;z-index:50;background:rgba(28,25,23,.35);display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px)}.cell-viewer{width:min(720px,100%);max-height:min(80dvh,900px);display:flex;flex-direction:column;gap:12px;box-shadow:0 16px 48px rgba(28,25,23,.18)}.cell-viewer-body{margin:0;flex:1 1;min-height:0;overflow:auto;white-space:pre-wrap;word-break:break-word;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:.92rem;line-height:1.45}table.tables-list td,table.tables-list th{max-width:none;white-space:normal;vertical-align:middle}table.tables-list td:nth-child(2){max-width:320px;color:var(--muted);font-size:.88rem;white-space:normal}table.tables-list-edit td{background:color-mix(in srgb,var(--primary) 6%,var(--panel))}a.tables-list-link{font-size:.8rem;font-weight:600;color:var(--accent);margin-right:6px}.mono{font-family:var(--mono);font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}table.activity-grid td,table.activity-grid th{vertical-align:top}table.activity-grid td.details-cell{max-width:28rem;font-size:.85rem;line-height:1.35}.badge{display:inline-block;border-radius:999px;padding:2px 8px;font-size:.75rem;background:#e8e7e1;color:var(--ink)}.badge.ok{background:color-mix(in srgb,var(--primary) 16%,white);color:var(--primary)}.badge.error{background:#fde8e8;color:var(--danger)}.badge.running{background:color-mix(in srgb,var(--tertiary) 16%,white);color:var(--tertiary)}.badge.skipped{background:#e8e7e1;color:var(--muted)}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.campaign-card{display:block;text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease}.campaign-card:hover{box-shadow:0 6px 20px rgba(28,25,23,.08);transform:translateY(-1px)}.campaign-card-unassigned{border-style:dashed}.campaign-status{display:inline-block;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600;text-transform:lowercase;letter-spacing:.02em;background:#e7e5e4;color:#44403c}.campaign-status-draft{background:#e8e7e1;color:#4a4a45}.campaign-status-active{background:color-mix(in srgb,var(--primary) 16%,white);color:var(--primary)}.campaign-status-paused{background:color-mix(in srgb,var(--tertiary) 16%,white);color:var(--tertiary)}.campaign-status-completed{background:color-mix(in srgb,var(--secondary) 12%,white);color:var(--secondary)}.campaign-status-archived{background:#ecebe4;color:var(--muted)}.campaign-hint{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.campaign-hint-steps{margin:0;padding-left:1.25rem;line-height:1.5;font-size:.92rem}.campaign-hint-steps li+li{margin-top:6px}.campaign-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.campaign-progress-track{height:6px;border-radius:999px;background:#e7e5e4;overflow:hidden}.campaign-progress-fill{height:100%;border-radius:999px;background:#166534;transition:width .2s ease}.campaign-folder-section{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--bg) 55%,var(--panel))}.campaign-folder-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.campaign-folder-toggle{display:inline-flex;align-items:center;gap:8px;border:none;background:transparent;box-shadow:none;padding:2px 0;color:var(--ink);cursor:pointer;font-size:.95rem}.campaign-folder-toggle:hover{color:var(--primary)}.folder-shell{display:flex;flex-direction:column;min-width:0}.folder-tab{width:78px;height:12px;margin-left:14px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-bottom:none;border-radius:9px 14px 0 0;background:color-mix(in srgb,var(--primary) 10%,var(--panel))}.folder-shell-ungrouped .folder-tab{background:color-mix(in srgb,var(--bg) 70%,var(--panel));border-color:var(--line)}.folder-card{display:flex;flex-direction:column;gap:10px;border-color:color-mix(in srgb,var(--primary) 22%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--panel));border-top-left-radius:6px}.folder-shell-ungrouped .folder-card{border-color:var(--line);background:var(--panel)}.folder-icon{flex-shrink:0;color:var(--primary);margin-top:1px}.folder-shell-ungrouped .folder-icon{color:var(--muted)}.folder-card-title{display:flex;align-items:flex-start;gap:10px;min-width:0}.folder-card-kind{margin-top:2px;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.folder-card-open{margin-top:12px;font-size:.8rem}.folder-card-link{display:block;text-decoration:none;color:inherit;flex:1 1}.folder-card-actions{padding-top:8px;border-top:1px solid color-mix(in srgb,var(--primary) 16%,var(--line))}.folder-shell-ungrouped .folder-card-actions{border-top-color:var(--line)}.dashboard-toolbar button{white-space:nowrap}.create-form{gap:14px}.create-form-field{display:flex;flex-direction:column;gap:4px;margin:0;min-width:0;flex:1 1}.create-form-label{font-size:.8rem;color:var(--muted)}.create-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-width:640px){.create-form-row{grid-template-columns:1fr}}.campaign-stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 12px;gap:10px 12px}.campaign-stat-value{font-size:1.25rem;font-weight:600;line-height:1.2}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem;margin-bottom:4px}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-sep{color:var(--muted,#78716c)}.error{color:var(--danger)}.settings-shell{gap:16px}.settings-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:4px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 88%,transparent);width:-moz-fit-content;width:fit-content;max-width:100%}.settings-tab{display:inline-flex;align-items:center;padding:8px 14px;border-radius:9px;font-size:.9rem;font-weight:550;text-decoration:none;border:1px solid transparent;background:transparent!important;box-shadow:none}.settings-tab,button.settings-tab{color:var(--muted,#78716c)}.settings-tab:hover{color:var(--ink)!important;background:color-mix(in srgb,var(--panel) 70%,#000 4%)!important}.settings-tab.is-active{color:var(--ink)!important;background:#fff!important;border-color:var(--line);box-shadow:0 1px 2px rgba(28,25,23,.06);font-weight:650}.integration-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.integration-tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(28,25,23,.04)}.integration-tile.is-ready{border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.integration-tile.is-missing{border-color:rgba(185,28,28,.28)}.integration-tile-head{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;text-align:left;background:transparent;color:inherit;border-radius:0;padding:16px 18px}.integration-tile-head:hover{background:color-mix(in srgb,var(--primary) 6%,var(--panel))}.integration-title{font-family:var(--display);font-size:1.2rem;font-weight:600}.integration-badge{flex:0 0 auto;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.integration-badge.ok{background:color-mix(in srgb,var(--primary) 12%,var(--panel));color:var(--accent)}.integration-badge.warn{background:rgba(185,28,28,.1);color:var(--danger)}.integration-tile-body{border-top:1px solid var(--line);padding:14px 18px 18px}.integration-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:8px;vertical-align:middle}.integration-dot.ok{background:var(--accent)}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(28,25,23,.45);display:grid;place-items:center;padding:20px}.modal-card{width:min(440px,100%);overflow:auto}.modal-card,.modal-card-wide{max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px)}.modal-card-wide{width:min(560px,100%)}.modal-card-task{width:min(720px,calc(100vw - 40px));min-width:min(360px,calc(100vw - 40px));max-width:calc(100vw - 40px);min-height:240px;max-height:calc(100dvh - 40px);overflow:auto}.modal-card textarea,.modal-card-task textarea,.modal-card-wide textarea{max-width:100%;box-sizing:border-box;resize:vertical}.modal-resize-handle{position:absolute;right:4px;bottom:4px;width:16px;height:16px;padding:0;border:none;border-radius:0;background:linear-gradient(135deg,transparent 0 46%,color-mix(in srgb,var(--muted) 55%,transparent) 46% 54%,transparent 54% 62%,color-mix(in srgb,var(--muted) 55%,transparent) 62% 70%,transparent 70% 78%,color-mix(in srgb,var(--muted) 70%,transparent) 78% 86%,transparent 86%);box-shadow:none;cursor:nwse-resize;z-index:5;opacity:.85}.modal-resize-handle:focus-visible,.modal-resize-handle:hover{opacity:1;outline:none}.tool-picker-sections{display:flex;flex-direction:column;gap:14px}.tool-picker-section{display:flex;flex-direction:column;gap:8px}.tool-picker-section-label{font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.tool-picker-section--aux{padding-top:12px;border-top:1px solid var(--line)}.tool-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:10px;gap:10px}.tool-picker-section--main .tool-picker-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.tool-picker-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.tool-picker-tile.aux{background:color-mix(in srgb,var(--bg) 55%,var(--panel))}.tool-picker-tile:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.tool-picker-tile.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.tool-picker-tile strong{font-size:.9rem;font-weight:650;color:var(--ink)}.tool-picker-tile .muted{font-size:.75rem;line-height:1.35;color:var(--muted)}.wizard-steps{display:flex;gap:8px;align-items:center;font-size:.8rem}.wizard-steps .step{color:var(--muted,#6b7280)}.wizard-steps .step.active{color:inherit;font-weight:600}.extract-field-card{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.extract-field-card.inactive{opacity:.7;background:transparent}.file-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:132px;padding:18px 16px;border:1.5px dashed var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 88%,var(--bg));cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.file-dropzone.is-dragging,.file-dropzone:hover:not(:disabled){border-color:var(--accent,#0f766e);background:color-mix(in srgb,var(--accent,#0f766e) 8%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent,#0f766e) 35%,transparent)}.file-dropzone:disabled{opacity:.6;cursor:not-allowed}.file-dropzone-title{font-size:.95rem;font-weight:600}.file-dropzone-selected{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:0;padding:12px 14px;border-style:solid;text-align:left;cursor:default}.create-table-steps{display:flex;gap:8px;flex-wrap:wrap}.create-table-step-pill{font-size:.75rem;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted,#78716c);background:transparent}.create-table-step-pill.is-active{color:var(--fg,#1c1917);border-color:color-mix(in srgb,var(--accent,#0f766e) 55%,var(--line));background:color-mix(in srgb,var(--accent,#0f766e) 12%,transparent)}.create-table-step-pill.is-done{color:var(--fg,#1c1917)}.campaign-tables-canvas{height:min(640px,calc(100vh - 280px));min-height:420px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f7f6f0}.campaign-tables-canvas .react-flow{font-family:var(--sans)}.campaign-tables-canvas .react-flow__controls,.campaign-tables-canvas .react-flow__minimap{box-shadow:none;border:1px solid var(--line);border-radius:10px;overflow:hidden}.campaign-canvas-node{width:220px;height:78px;padding:10px 12px 10px 16px;border-radius:12px;background:var(--panel);border:1px solid var(--line);cursor:pointer;position:relative}.campaign-canvas-node:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:999px;background:var(--primary)}.campaign-canvas-node-contacts:before{background:var(--secondary)}.campaign-canvas-node-emails:before{background:var(--tertiary)}.campaign-canvas-node.is-snapshot{border-style:dashed}.campaign-canvas-node-kind{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.campaign-canvas-node-name{margin-top:4px;font-size:.92rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-canvas-node-meta{margin-top:4px;font-size:.78rem;color:var(--muted);font-family:var(--mono)}.campaign-canvas-node .react-flow__handle{width:8px;height:8px;background:var(--primary);border:0;opacity:.7}.inbox-drawer-backdrop{place-items:stretch end;padding:0;background:rgba(28,25,23,.35)}.inbox-drawer{width:min(560px,100%);height:100%;max-height:100dvh;margin:0;border-radius:0;overflow:auto;padding:16px 18px 24px;gap:12px;box-shadow:-8px 0 24px rgba(0,0,0,.12)}.inbox-grid tbody tr.is-selected td{background:color-mix(in srgb,var(--accent,#0f766e) 12%,transparent)}.inbox-body-frame{width:100%;min-height:360px;background:#fff}.inbox-body-frame,.inbox-body-text{border:1px solid var(--line);border-radius:8px}.inbox-body-text{margin:0;padding:12px;white-space:pre-wrap;word-break:break-word;font-size:.88rem;line-height:1.45;max-height:60dvh;overflow:auto;background:var(--panel)}