:root{
  color-scheme:dark;
  --bg:#070b14;--surface:#0d1424;--surface-2:#111b2e;--surface-3:#18243a;--line:#23314a;
  --sidebar-bg:#0b1220;--topbar-bg:rgba(13,20,36,.94);--hover:#17233a;--active:rgba(124,58,237,.22);
  --text:#ecf3ff;--muted:#a7b4c7;--primary:#7c3aed;--primary-2:#22d3ee;--success:#22c55e;
  --warning:#f59e0b;--danger:#ef4444;--info:#38bdf8;--on-accent:#fff;--shadow:0 12px 32px rgba(0,0,0,.24);
  --radius:10px;--sidebar:264px;--topbar:82px;--node:#101a2d;--grid:rgba(148,163,184,.08);
  --font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:clamp(1.5rem,2vw,1.875rem);
}
html[data-theme="light"]{
  color-scheme:light;--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--surface-3:#eef2f7;--line:#d8e0eb;
  --sidebar-bg:#fff;--topbar-bg:rgba(255,255,255,.94);--hover:#eef2ff;--active:#ede9fe;
  --text:#111827;--muted:#475569;--primary:#7c3aed;--primary-2:#0891b2;--success:#15803d;
  --warning:#b45309;--danger:#dc2626;--info:#0284c7;--on-accent:#fff;--shadow:0 8px 24px rgba(15,23,42,.08);--node:#fff;--grid:rgba(15,23,42,.06);
}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}html{background:var(--bg)}body{overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:var(--font-size-base);line-height:1.45}
button,input,select,textarea{font:inherit}button{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:var(--primary);padding:.6rem .9rem;border-radius:8px;color:var(--on-accent)}.skip-link:focus{top:1rem}
.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden}.sidebar{height:100%;overflow:hidden;background:var(--sidebar-bg);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;transition:width .2s}.brand-row{display:flex;align-items:center;gap:.65rem;padding:.85rem;border-bottom:1px solid var(--line);min-height:70px;flex-shrink:0}.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--primary-2),var(--primary));display:grid;place-items:center;font-weight:900;color:var(--on-accent);box-shadow:0 8px 24px rgba(124,58,237,.26)}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy strong{font-size:var(--font-size-sm)}.brand-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-xs)}.sidebar-toggle{margin-left:auto}.demo-banner{margin:.65rem .75rem 0;padding:.55rem .65rem;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.09);color:var(--warning);border-radius:9px;font-size:var(--font-size-xs);flex-shrink:0}.nav-list{padding:.65rem;display:flex;flex-direction:column;gap:.2rem;overflow-y:auto;min-height:0}.nav-item{display:flex;align-items:center;gap:.65rem;border:0;background:transparent;padding:.62rem .75rem;border-radius:8px;color:var(--muted);cursor:pointer;text-align:left;font-size:var(--font-size-sm)}.nav-item span{width:22px;text-align:center;font-size:1rem}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--active);color:var(--text);box-shadow:inset 3px 0 0 var(--primary-2)}.sidebar-footer{margin-top:auto;padding:.85rem;border-top:1px solid var(--line);display:grid;gap:.65rem;flex-shrink:0}.sidebar-footer label{font-size:var(--font-size-xs);color:var(--muted);display:grid;gap:.3rem}.sidebar-footer select{width:100%}.footer-actions{display:flex;gap:.45rem}.sidebar-footer small{color:var(--muted)}
.main{display:grid;grid-template-rows:var(--topbar) minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.85rem 1rem;background:var(--topbar-bg);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);z-index:30;min-width:0}.topbar-title{min-width:0}.topbar h1{font-size:var(--font-size-lg);margin:.05rem 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eyebrow{font-size:.68rem;letter-spacing:.08em;font-weight:800;color:var(--primary-2);margin:0;text-transform:uppercase}.meta-line{display:flex;gap:.55rem;color:var(--muted);font-size:var(--font-size-xs);align-items:center;flex-wrap:wrap}.topbar-actions,.toolbar,.hero-actions,.section-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.menu-wrap{position:relative}.dropdown{position:absolute;right:0;top:calc(100% + .4rem);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.35rem;box-shadow:var(--shadow);min-width:180px;z-index:100}.dropdown button{display:block;width:100%;border:0;background:transparent;padding:.55rem .65rem;text-align:left;border-radius:7px;cursor:pointer}.dropdown button:hover{background:var(--hover)}
.workspace{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:1rem}.view{display:none;max-width:1600px;margin:0 auto;padding-bottom:1rem}.view.active{display:block}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.gradient-panel{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,transparent),transparent 44%),var(--surface)}.hero{display:flex;justify-content:space-between;align-items:center;padding:1.35rem;min-height:188px}.hero h2{font-size:var(--font-size-2xl);line-height:1.08;max-width:900px;margin:.6rem 0}.hero p{max-width:820px;color:var(--muted);font-size:var(--font-size-base)}.score-card{text-align:center;padding:.8rem 1.5rem}.score-ring{width:104px;height:104px;border-radius:50%;display:grid;place-content:center;background:conic-gradient(var(--primary-2) calc(var(--score,0)*1%),var(--surface-3) 0);position:relative}.score-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.score-ring strong,.score-ring span{position:relative;z-index:1}.score-ring strong{font-size:1.9rem}.score-ring.large{width:124px;height:124px}.score-ring.large strong{font-size:2.25rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:.8rem 0}.stat-card{padding:.9rem}.stat-card span{color:var(--muted);font-size:var(--font-size-xs)}.stat-card strong{display:block;font-size:1.45rem;margin:.2rem 0}.stat-card small{color:var(--muted)}.grid{display:grid;gap:.85rem;margin-top:.85rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .95rem;border-bottom:1px solid var(--line)}.panel-heading>div{display:flex;align-items:center;gap:.6rem;min-width:0}.panel-heading h3{margin:0;font-size:var(--font-size-md)}.link-button{border:0;background:none;color:var(--primary-2);cursor:pointer}.progress-list,.issue-list{padding:.85rem}.progress-item{display:grid;grid-template-columns:1fr auto;gap:.25rem;margin:.55rem 0}.progress-bar{grid-column:1/-1;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-2));border-radius:99px}.issue-card{display:flex;gap:.6rem;padding:.65rem;border:1px solid var(--line);border-radius:9px;margin:.5rem 0;background:var(--surface-2)}.issue-dot{width:9px;height:9px;border-radius:50%;margin-top:.35rem;background:var(--info);flex:0 0 auto}.issue-card.error .issue-dot{background:var(--danger)}.issue-card.warning .issue-dot{background:var(--warning)}.issue-card p{margin:0;color:var(--muted);font-size:var(--font-size-sm)}.phase-track{display:grid;grid-template-columns:repeat(7,1fr);padding:1rem;gap:.5rem}.phase-track div{position:relative;text-align:center;padding:.65rem .25rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.phase-track span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-2));font-weight:800;color:var(--on-accent);margin-bottom:.35rem}.phase-track b{display:block;font-size:var(--font-size-xs)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:.85rem;margin-bottom:.85rem}.section-heading h2{font-size:var(--font-size-xl);margin:.2rem 0}.section-heading p:not(.eyebrow){margin:0;color:var(--muted);max-width:850px;font-size:var(--font-size-sm)}.button,.icon-button{border:1px solid var(--line);border-radius:8px;background:var(--surface-2);cursor:pointer;transition:.15s}.button{padding:.5rem .7rem;font-weight:700;font-size:var(--font-size-sm);min-height:34px}.button:hover,.icon-button:hover{border-color:var(--primary-2);transform:translateY(-1px);background:var(--hover)}.button.primary{background:linear-gradient(135deg,var(--primary),#5b21b6);border-color:transparent;color:var(--on-accent)}.button.secondary{background:var(--surface-2)}.button.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:var(--danger)}.button.small{padding:.32rem .55rem;font-size:var(--font-size-xs);min-height:30px}.icon-button{width:34px;height:34px;display:grid;place-items:center;padding:0}.badge{display:inline-flex;align-items:center;border-radius:99px;padding:.2rem .5rem;font-size:.68rem;font-weight:800;background:var(--surface-3);border:1px solid var(--line);color:var(--text)}.badge.success{background:rgba(34,197,94,.12);color:var(--success);border-color:rgba(34,197,94,.28)}.step{display:grid;place-items:center;width:28px;height:28px;background:rgba(124,58,237,.14);color:var(--primary);border-radius:8px;font-weight:900}.form-grid{display:grid;gap:.7rem;padding:.9rem}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-4{grid-column:span 4}label{font-size:var(--font-size-xs);font-weight:700;color:var(--muted);display:grid;gap:.3rem}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:8px;padding:.5rem .58rem;outline:none;min-height:34px}input:focus,select:focus,textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-2) 18%,transparent)}textarea{resize:vertical;min-height:64px}.section-stack{display:grid;gap:.85rem;margin:.85rem 0}.repeatable-list{padding:.85rem;display:grid;gap:.55rem}.repeatable-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:start;padding:.55rem;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.drag-handle{cursor:grab;color:var(--muted);padding:.4rem .15rem}.repeatable-item textarea{min-height:48px}.beginner-tip{margin:.55rem .85rem .85rem;padding:.65rem;border-radius:9px;background:color-mix(in srgb,var(--primary-2) 8%,transparent);border:1px solid color-mix(in srgb,var(--primary-2) 22%,transparent);color:var(--muted);font-size:var(--font-size-xs)}.advanced-only{display:none}body.advanced .advanced-only{display:block}.table-scroll{overflow-x:auto;overflow-y:visible;max-width:100%}.data-table{width:100%;border-collapse:collapse;min-width:760px;table-layout:auto}.data-table th,.data-table td{border-bottom:1px solid var(--line);padding:.42rem;text-align:left;vertical-align:top}.data-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);position:sticky;top:0;z-index:2}.data-table td input,.data-table td select,.data-table td textarea{min-width:110px;padding:.36rem .45rem;font-size:var(--font-size-sm)}.data-table td textarea{min-height:42px}.data-table tbody tr[draggable="true"]{cursor:grab}
.workflow-shell{display:grid;grid-template-columns:200px minmax(520px,1fr) 280px;gap:.85rem;height:min(680px,calc(100dvh - 170px));min-height:500px;min-width:0}.palette,.inspector{overflow-y:auto;min-height:0}.palette input{margin:.65rem;width:calc(100% - 1.3rem)}.palette-list{display:grid;gap:.35rem;padding:.15rem .65rem .65rem}.palette-item{display:flex;align-items:center;gap:.5rem;padding:.48rem .55rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);cursor:grab;font-size:var(--font-size-xs)}.palette-item:hover{border-color:var(--primary-2);background:var(--hover)}.node-type-dot{width:10px;height:10px;border-radius:50%;background:var(--info);flex:0 0 auto}.node-type-dot.decision{background:var(--warning)}.node-type-dot.containment,.node-type-dot.rollback{background:var(--danger)}.node-type-dot.automation{background:var(--primary)}.node-type-dot.start,.node-type-dot.end{background:var(--success)}.tip{margin:.65rem;padding:.65rem;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:var(--font-size-xs)}.canvas-wrap{min-width:0;min-height:0;display:grid;grid-template-rows:40px minmax(0,1fr) 32px;overflow:hidden}.canvas-toolbar,.canvas-footer{display:flex;justify-content:space-between;align-items:center;padding:.38rem .6rem;color:var(--muted);font-size:var(--font-size-xs);background:var(--surface-2)}.canvas-toolbar{border-bottom:1px solid var(--line)}.canvas-footer{border-top:1px solid var(--line);gap:.75rem;justify-content:flex-start;overflow:hidden}.workflow-viewport{overflow:auto;position:relative;background-color:var(--surface-2);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;overscroll-behavior:contain}.workflow-canvas{position:relative;width:2600px;height:1600px;transform-origin:0 0}.nodes-layer{position:absolute;inset:0;pointer-events:none}.edge-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.edge-layer marker path{fill:var(--muted)}.edge{fill:none;stroke:var(--muted);stroke-width:2.3;marker-end:url(#arrowHead);pointer-events:stroke}.edge.selected{stroke:var(--primary-2);stroke-width:3.5}.edge.preview{stroke:var(--primary-2);stroke-dasharray:7 5}.edge-label{font-size:12px;fill:var(--text);pointer-events:auto;cursor:pointer}.edge-label-bg{fill:var(--surface);stroke:var(--line);pointer-events:auto}.workflow-node{position:absolute;width:220px;background:var(--node);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.22);pointer-events:auto;user-select:none}.workflow-node.selected{border-color:var(--primary-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-2) 18%,transparent),0 10px 24px rgba(0,0,0,.22)}.workflow-node.decision{border-color:color-mix(in srgb,var(--warning) 55%,var(--line))}.workflow-node.containment,.workflow-node.rollback{border-color:color-mix(in srgb,var(--danger) 50%,var(--line))}.node-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .65rem;border-bottom:1px solid var(--line);cursor:grab}.node-header:active{cursor:grabbing}.node-header b{font-size:var(--font-size-xs);line-height:1.25;flex:1}.node-menu{border:0;background:transparent;color:var(--muted);cursor:pointer}.node-body{padding:.55rem .65rem;color:var(--muted);font-size:.7rem;min-height:44px}.node-body p{margin:0;white-space:pre-wrap}.node-footer{display:flex;justify-content:space-between;align-items:center;padding:.45rem .65rem;border-top:1px solid var(--line)}.quick-add{border:0;background:transparent;color:var(--primary-2);font-size:.7rem;cursor:pointer}.handle{position:absolute;width:14px;height:14px;border:3px solid var(--node);border-radius:50%;background:var(--primary-2);z-index:10;cursor:crosshair}.handle.target{left:-8px;top:50%;transform:translateY(-50%);background:var(--info)}.outputs-list{display:grid;gap:2px}.output-row{position:relative;padding:.2rem .65rem;font-size:.66rem;color:var(--muted);min-height:20px}.handle.source{right:-8px;top:50%;transform:translateY(-50%);background:var(--primary)}.output-row .handle.source{top:50%}.inspector #inspectorContent{padding:.85rem}.inspector-form{display:grid;gap:.65rem}.inspector-form h4{margin:.3rem 0 0}.inspector-list{display:grid;gap:.4rem}.inspector-list-item{display:grid;grid-template-columns:1fr auto;gap:.35rem;padding:.45rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.empty-state{text-align:center;color:var(--muted);padding:1.5rem}.empty-icon{font-size:1.6rem;margin-bottom:.4rem}
.spreadsheet{overflow:visible}.spreadsheet .table-scroll{overflow-x:auto;overflow-y:visible}.sheet-toolbar{padding:.6rem;display:flex;gap:.55rem;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}.sheet-toolbar input{max-width:300px}.spreadsheet-table{width:max-content;min-width:100%;table-layout:fixed}.spreadsheet-table th,.spreadsheet-table td{padding:.32rem}.spreadsheet-table th{white-space:nowrap}.spreadsheet-table td:nth-child(1),.spreadsheet-table th:nth-child(1){width:44px;min-width:44px}.spreadsheet-table td:last-child,.spreadsheet-table th:last-child{width:92px;min-width:92px}.spreadsheet-table td{min-width:0}.spreadsheet-table .matrix-field{min-width:0;width:100%;min-height:30px}.spreadsheet-table textarea.matrix-field{min-height:38px;line-height:1.3}.column-heading{display:flex;align-items:center;gap:.3rem}.column-heading input{font-weight:800;min-width:70px}.column-delete{border:0;background:none;color:var(--muted);cursor:pointer}.row-actions{display:flex;gap:.25rem}.col-phase{width:126px}.col-title{width:220px}.col-owner{width:150px}.col-tool{width:170px}.col-input{width:180px}.col-output{width:210px}.col-approval{width:120px}.col-rollback{width:180px}.col-sla{width:100px}.col-custom{width:170px}
.timeline-controls{display:flex;gap:1rem;padding:1rem;margin-bottom:1rem;align-items:end}.timeline-controls label{max-width:260px}.timeline-list{position:relative;padding-left:34px;display:grid;gap:.8rem}.timeline-list:before{content:"";position:absolute;left:14px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--primary-2),var(--primary))}.timeline-card{position:relative;padding:1rem;display:grid;grid-template-columns:110px 1fr auto;gap:.8rem;align-items:start}.timeline-card:before{content:"";position:absolute;left:-27px;top:24px;width:13px;height:13px;border-radius:50%;background:var(--primary-2);border:3px solid var(--bg)}.timeline-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.timeline-fields .wide{grid-column:span 3}
.tabs{display:flex;gap:.35rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.tab{border:0;background:transparent;color:var(--muted);padding:.7rem 1rem;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--text);border-bottom-color:var(--primary-2)}.tab-panel{display:none}.tab-panel.active{display:block}.section-actions{justify-content:flex-end;margin-bottom:.7rem}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.data-card{padding:1rem;position:relative}.data-card h3{margin:.1rem 0 .7rem}.data-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}.data-card-grid .wide{grid-column:span 2}.card-delete{position:absolute;right:.7rem;top:.7rem}
.search-large{max-width:320px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.template-card{padding:1.1rem;display:flex;flex-direction:column;min-height:240px}.template-card h3{margin:.65rem 0 .4rem}.template-card p{color:var(--muted);font-size:.84rem;flex:1}.template-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}.template-card .button{align-self:flex-start}
.quality-hero{display:flex;align-items:center;gap:2rem;padding:1.4rem}.quality-counts{margin-left:auto;display:flex;gap:.7rem}.quality-count{padding:.75rem 1rem;border:1px solid var(--line);border-radius:10px;text-align:center}.quality-count strong{display:block;font-size:1.4rem}.quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.quality-item{padding:1rem;display:flex;gap:.75rem}.quality-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(56,189,248,.1);color:var(--info);flex:0 0 auto}.quality-item.error .quality-icon{background:rgba(239,68,68,.12);color:#fca5a5}.quality-item.warning .quality-icon{background:rgba(245,158,11,.12);color:#fcd34d}.quality-item h4{margin:0 0 .3rem}.quality-item p{margin:0;color:var(--muted);font-size:.82rem}
.tabletop-layout{align-items:start}.timer{font-family:ui-monospace,monospace;font-size:1.1rem}.execution-card{padding:1.2rem}.execution-card h3{font-size:1.4rem;margin:.5rem 0}.execution-card p{color:var(--muted)}.path-buttons{display:flex;gap:.6rem;flex-wrap:wrap;padding:0 1.2rem 1.2rem}.notes-list{padding:1rem;display:grid;gap:.6rem}.note-item{padding:.75rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.version-list{padding:1rem;display:grid;gap:.7rem}.version-item{padding:.8rem;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:.5rem}.version-actions{display:flex;gap:.3rem}.diff-list{max-height:520px;overflow:auto;padding:1rem}.diff-item{padding:.6rem;border-bottom:1px solid var(--line);font-size:.78rem}.diff-path{color:var(--primary-2);font-family:ui-monospace,monospace}dialog{border:0;background:transparent;padding:0;color:inherit;max-width:none;max-height:none}.modal-card{min-width:min(620px,92vw);max-width:760px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(2,6,23,.72);backdrop-filter:blur(6px)}.modal-heading,.modal-actions{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--line)}.modal-heading h3{margin:0}.modal-actions{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.modal-card #modalBody{padding:1rem;display:grid;gap:.8rem}.toast{position:fixed;right:1rem;bottom:1rem;z-index:999;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;box-shadow:var(--shadow);transform:translateY(140%);transition:.2s}.toast.show{transform:translateY(0)}
.sidebar.collapsed{width:78px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .demo-banner,.sidebar.collapsed .nav-item b,.sidebar.collapsed .sidebar-footer label,.sidebar.collapsed .sidebar-footer small{display:none}.sidebar.collapsed .nav-item{justify-content:center}.sidebar.collapsed .brand-row{flex-direction:column;justify-content:center;gap:.45rem;padding:.6rem .4rem;min-height:104px}.sidebar.collapsed .sidebar-toggle{display:grid;margin-left:0}.app-shell:has(.sidebar.collapsed){grid-template-columns:78px minmax(0,1fr)}
.section-heading>div:first-child{min-width:0;flex:1}.section-heading .toolbar{min-width:0;justify-content:flex-end}.workflow-shell+.toolbar,.toolbar .button{white-space:nowrap}.canvas-toolbar>div{display:flex;align-items:center;gap:.35rem;min-width:0}.canvas-toolbar #canvasHint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-mark{overflow:hidden;background:none;padding:0}.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.dashboard-panel{display:grid;grid-template-rows:auto minmax(128px,1fr);min-height:184px}.dashboard-panel .progress-list,.dashboard-panel .issue-list{display:grid;align-content:start;min-height:128px}.dashboard-panel .empty-state{align-self:center}.empty-state.compact{display:grid;place-items:center;min-height:92px;padding:1rem;border:1px dashed color-mix(in srgb,var(--line) 85%,transparent);border-radius:9px;background:color-mix(in srgb,var(--surface-2) 72%,transparent);font-size:var(--font-size-sm)}
.spreadsheet-table .matrix-field{border-radius:7px;background:color-mix(in srgb,var(--surface-2) 88%,var(--bg));border-color:color-mix(in srgb,var(--line) 86%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 65%,transparent);transition:border-color .15s,background .15s,box-shadow .15s}.spreadsheet-table .matrix-field:hover{border-color:color-mix(in srgb,var(--primary-2) 42%,var(--line));background:var(--surface-2)}.spreadsheet-table textarea.matrix-field{resize:none;overflow:hidden;display:block;min-height:38px;max-height:none;line-height:1.35;padding-top:.42rem;padding-bottom:.42rem;scrollbar-width:none}.spreadsheet-table textarea.matrix-field::-webkit-resizer{display:none}.spreadsheet-table textarea.matrix-field::-webkit-scrollbar{display:none}.spreadsheet-table td{vertical-align:middle}.spreadsheet-table .drag-handle{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .1rem}
@media (max-width:1280px){.workflow-shell{grid-template-columns:190px minmax(550px,1fr);}.workflow-shell .inspector{position:fixed;right:1rem;top:110px;bottom:1rem;width:310px;z-index:90;display:none}.workflow-shell .inspector.open{display:block}.cards-grid,.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(2,1fr)}.span-4{grid-column:span 2}}
@media (max-width:960px){body{overflow:auto}.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;z-index:200;transform:translateX(-100%)}.sidebar.mobile-open{transform:translateX(0)}.main{display:block}.topbar{position:sticky;top:0}.topbar-actions{display:none}.workspace{padding:.8rem}.stats-grid,.grid.two,.quality-grid{grid-template-columns:1fr 1fr}.phase-track{grid-template-columns:repeat(4,1fr)}.workflow-shell{grid-template-columns:1fr;height:720px}.palette{display:none}.cards-grid,.template-grid{grid-template-columns:1fr}.timeline-card{grid-template-columns:1fr}.timeline-fields{grid-template-columns:1fr}.timeline-fields .wide{grid-column:span 1}}
@media (max-width:640px){.hero{padding:1.2rem;display:block}.score-card{padding:1rem 0}.stats-grid,.grid.two,.quality-grid{grid-template-columns:1fr}.phase-track{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:1fr}.span-2,.span-4{grid-column:span 1}.quality-hero{display:grid}.quality-counts{margin:0}.timeline-controls{display:grid}.section-heading{display:block}.section-heading .toolbar{margin-top:.7rem}.topbar h1{font-size:1rem}.workspace{padding:.6rem}.workflow-shell{height:650px}.workflow-canvas{width:2200px;height:1400px}}
:root{--radius:8px;--space-1:.35rem;--space-2:.55rem;--space-3:.8rem;--space-4:1rem;--space-5:1.25rem;--layout-gap:1rem;--card-pad:1rem;--card-min:220px}
.mobile-menu-button{display:none;flex:0 0 auto}.workspace{padding:clamp(.75rem,1.4vw,1.25rem)}.view{max-width:1680px}.panel{border-radius:var(--radius)}.panel-heading{min-height:56px;padding:var(--space-3) var(--card-pad)}.panel-heading h3{line-height:1.25}.grid{gap:var(--layout-gap);margin-top:var(--layout-gap)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(var(--card-min),1fr));gap:var(--layout-gap);margin:var(--layout-gap) 0}.stat-card{min-height:112px;padding:var(--card-pad);display:grid;align-content:center}.stat-card strong{line-height:1.15}.hero{gap:var(--layout-gap);padding:clamp(1rem,1.8vw,1.5rem)}.hero>div:first-child{min-width:0}.score-card{min-width:160px;display:grid;place-items:center;align-content:center;gap:.45rem}.dashboard-panel{min-height:292px}.dashboard-panel .progress-list,.dashboard-panel .issue-list{gap:.75rem;padding:var(--card-pad);min-height:236px}.progress-item{margin:0}.issue-card{margin:0;padding:.75rem;border-radius:var(--radius)}.phase-track{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);padding:var(--card-pad)}.phase-track div{min-height:72px;display:grid;place-items:center}.section-heading{gap:var(--layout-gap);margin-bottom:var(--layout-gap)}.section-stack{gap:var(--layout-gap);margin:var(--layout-gap) 0}.repeatable-list,.notes-list,.version-list,.diff-list{padding:var(--card-pad);gap:var(--space-3)}.repeatable-item,.note-item,.version-item,.quality-count{border-radius:var(--radius)}.form-grid,.timeline-controls{padding:var(--card-pad);gap:var(--space-3)}.cards-grid,.template-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--layout-gap)}.data-card,.template-card,.quality-item,.execution-card{padding:var(--card-pad);border-radius:var(--radius)}.data-card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.data-card-grid .wide{grid-column:1/-1}.template-card{min-height:260px}.quality-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--layout-gap)}.quality-hero{gap:var(--layout-gap);padding:var(--card-pad);flex-wrap:wrap}.quality-counts{flex-wrap:wrap}.timeline-card{gap:var(--space-3);padding:var(--card-pad);border-radius:var(--radius)}.timeline-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3)}.timeline-fields .wide{grid-column:1/-1}.tabs{overflow-x:auto;scrollbar-width:thin}.tab{white-space:nowrap}.topbar{min-height:var(--topbar)}.topbar-actions{min-width:0;justify-content:flex-end}.topbar-actions .button{white-space:nowrap}.button,.icon-button,input,select,textarea{border-radius:var(--radius)}
@media (max-width:1280px){.topbar{align-items:start}.topbar-actions{max-width:52vw}.stats-grid{--card-min:190px}.dashboard-panel{min-height:268px}.workflow-shell{grid-template-columns:190px minmax(420px,1fr)}}
@media (max-width:960px){body{overflow:hidden}.app-shell{display:block;height:100dvh}.main{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:100dvh}.topbar{position:sticky;top:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.75rem}.mobile-menu-button{display:grid}.topbar-actions{grid-column:1/-1;display:flex;max-width:none;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.15rem}.topbar-actions .menu-wrap,.topbar-actions .button{flex:0 0 auto}.workspace{overflow-y:auto;padding:.75rem}.sidebar{box-shadow:24px 0 60px rgba(0,0,0,.32)}.grid.two{grid-template-columns:1fr}.stats-grid{--card-min:170px}.hero{display:grid;grid-template-columns:1fr auto;align-items:center}.dashboard-panel{min-height:240px}.dashboard-panel .progress-list,.dashboard-panel .issue-list{min-height:184px}.quality-counts{margin-left:0}.form-grid.four{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.span-2,.span-4{grid-column:1/-1}.timeline-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.workflow-shell{height:calc(100dvh - 170px);min-height:560px}.phase-track{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}}
@media (max-width:640px){:root{--layout-gap:.75rem;--card-pad:.85rem}.topbar h1{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.meta-line{gap:.35rem}.hero{grid-template-columns:1fr}.score-card{justify-self:start;grid-template-columns:auto 1fr;text-align:left;padding:.25rem 0}.score-ring{width:86px;height:86px}.score-ring strong{font-size:1.55rem}.stats-grid,.cards-grid,.template-grid,.quality-grid{grid-template-columns:1fr}.stat-card{min-height:96px}.dashboard-panel{min-height:0}.dashboard-panel .progress-list,.dashboard-panel .issue-list{min-height:128px}.phase-track{grid-template-columns:1fr 1fr}.section-heading{display:grid;align-items:start}.section-heading .toolbar,.section-actions{justify-content:flex-start}.tabs{margin-inline:calc(var(--card-pad)*-1);padding-inline:var(--card-pad)}.quality-hero{display:grid}.quality-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.version-item{grid-template-columns:1fr}.version-actions{flex-wrap:wrap}.modal-card{min-width:min(94vw,620px)}.workflow-shell{height:calc(100dvh - 180px);min-height:500px}.workflow-canvas{width:1800px;height:1200px}}
.button,.icon-button,.nav-item,.tab,.palette-item,.link-button{touch-action:manipulation}.workflow-viewport{touch-action:pan-x pan-y}.workflow-node,.node-header,.handle,.edge-label,.edge-label-bg{touch-action:none}.handle{width:18px;height:18px}.handle.target{left:-10px}.handle.source{right:-10px}
@media (hover:none){.button:hover,.icon-button:hover{transform:none}}
@media (max-width:960px){.sidebar{width:min(86vw,320px);max-width:320px}.sidebar-toggle{min-width:44px;min-height:44px}.button{min-height:44px;padding:.58rem .82rem}.button.small{min-height:40px}.icon-button{width:44px;height:44px}.nav-item{min-height:44px}.mobile-menu-button{display:grid}.topbar{grid-template-columns:44px minmax(0,1fr)}.topbar-actions{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.topbar-actions>*{scroll-snap-align:start}.dropdown{position:fixed;left:.75rem;right:.75rem;top:auto;bottom:.75rem;max-height:min(70dvh,420px);overflow:auto}.workflow-shell{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(520px,65dvh) auto}.workflow-shell .palette{display:block;overflow:hidden;min-height:0}.palette .panel-heading{min-height:48px}.palette input{width:calc(100% - 1.5rem);min-height:44px}.palette-list{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem .75rem .8rem;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.palette-item{flex:0 0 auto;min-height:44px;min-width:150px;justify-content:flex-start;scroll-snap-align:start}.tip{display:none}.canvas-wrap{min-height:520px}.canvas-toolbar{min-height:48px;gap:.5rem}.canvas-toolbar>div{flex:0 0 auto}.canvas-footer{min-height:40px;overflow-x:auto;white-space:nowrap}.workflow-shell .inspector{position:static;display:block;width:auto;max-height:none}.handle{width:24px;height:24px;border-width:4px}.handle.target{left:-14px}.handle.source{right:-14px}.edge{stroke-width:4}.edge.selected{stroke-width:5}.edge-label{font-size:14px}.data-table{min-width:680px}.sheet-toolbar input,.search-large{max-width:none}.modal-heading,.modal-actions{padding:.85rem}.toast{left:.75rem;right:.75rem;bottom:.75rem}}
@media (max-width:640px){.topbar-actions .button,.topbar-actions .icon-button{min-width:44px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.phase-track{grid-template-columns:1fr}.quality-counts{grid-template-columns:1fr}.data-card-grid,.timeline-fields,.timeline-controls{grid-template-columns:1fr}.repeatable-item{grid-template-columns:minmax(0,1fr) auto}.repeatable-item .drag-handle{display:none}.card-delete{position:static;justify-self:start;margin-top:.5rem}.canvas-wrap{min-height:500px}.workflow-shell{grid-template-rows:auto minmax(500px,68dvh) auto}.workflow-node{width:240px}.workflow-canvas{width:1600px;height:1100px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-card{width:94vw}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions .button{width:100%}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
