:root{--bg:#f5f7fb;--panel:#fff;--line:#dbe2ea;--text:#1e293b;--muted:#64748b;--accent:#6d4aff;--accent-soft:#f0edff;--danger:#b91c1c;--shadow:0 6px 18px rgba(15,23,42,.08)}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}button,.button,input,textarea,select{font:inherit}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#111827;color:#fff}.version{font-size:12px;opacity:.7;margin-left:8px}.top-actions{display:flex;gap:8px;align-items:center}button,.button{border:0;border-radius:8px;padding:9px 12px;background:var(--accent);color:#fff;cursor:pointer}.secondary{background:#334155}.danger{background:var(--danger)}.small{padding:6px 9px;font-size:12px}.file-button{display:inline-flex;align-items:center}.file-button input{display:none}.studio{height:calc(100vh - 88px);display:grid;grid-template-columns:260px minmax(480px,1fr) 320px;gap:1px;background:var(--line)}.sidebar{background:var(--panel);padding:16px;overflow:auto}.sidebar h2{font-size:17px;margin:0 0 16px}.sidebar label{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}.sidebar input,.sidebar textarea,.sidebar select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:9px;color:var(--text);background:#fff}.section-title{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin:18px 0 10px;color:#475569}.step-list{display:grid;gap:6px;margin-bottom:10px}.step-list button{display:flex;justify-content:flex-start;gap:8px;background:#f8fafc;color:var(--text);border:1px solid var(--line);text-align:left}.step-list button.active{border-color:var(--accent);background:var(--accent-soft)}.full{width:100%}.hint,.muted{font-size:12px;color:var(--muted);line-height:1.45;margin-top:12px}.canvas-wrap{min-width:0;background:#eef2f7;display:flex;flex-direction:column}.canvas-toolbar{height:40px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:12px;color:var(--muted)}.canvas{position:relative;flex:1;overflow:auto;background-color:#f8fafc;background-image:radial-gradient(#cbd5e1 1px,transparent 1px);background-size:24px 24px;min-height:500px}.links-layer,.nodes-layer{position:absolute;inset:0;width:2000px;height:1400px}.links-layer{pointer-events:auto;overflow:visible;z-index:1}.nodes-layer{pointer-events:none;z-index:2}.flow-node{pointer-events:auto}.link-group{pointer-events:auto;cursor:pointer}.link-path{fill:none;stroke:#6d4aff;stroke-width:2.5;transition:stroke .15s,stroke-width .15s}.link-arrow{fill:#6d4aff}.link-group.selected .link-path{stroke:#dc2626;stroke-width:3.5}.link-group.selected .link-arrow{fill:#dc2626}.link-hit{fill:none;stroke:transparent;stroke-width:14}.link-label{font-size:12px;fill:#334155;paint-order:stroke;stroke:#f8fafc;stroke-width:5;stroke-linejoin:round}.link-group.selected .link-label{fill:#b91c1c;font-weight:700}.flow-node{position:absolute;width:190px;min-height:90px;border:1px solid #cbd5e1;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:12px;cursor:grab;user-select:none}.flow-node:active{cursor:grabbing}.flow-node.selected{outline:3px solid color-mix(in srgb,var(--node-color,var(--accent)) 22%,transparent);border-color:var(--node-color,var(--accent))}.flow-node.connect-source{outline:3px solid rgba(37,99,235,.25);border-color:#2563eb}.node-title{display:flex;gap:8px;align-items:center;font-weight:700}.node-desc{margin-top:8px;font-size:12px;color:var(--muted);line-height:1.35}.node-badge{display:inline-flex;margin-top:10px;padding:3px 7px;border-radius:999px;background:#f1f5f9;font-size:10px;color:#475569}.empty-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--muted);pointer-events:none}.empty-state button{pointer-events:auto}.hidden{display:none!important}.editor{display:block}.component-list{display:grid;gap:6px;margin-bottom:8px}.component-item{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;border:1px solid var(--line);padding:8px;border-radius:8px;background:#f8fafc}.component-item input{margin:0}.component-item button{padding:6px 8px;background:#475569}.component-add-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:14px}.statusbar{height:30px;background:#111827;color:#cbd5e1;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:11px}@media(max-width:1100px){.studio{grid-template-columns:220px 1fr}.properties-panel{position:fixed;right:0;top:58px;bottom:30px;width:320px;box-shadow:-8px 0 20px rgba(15,23,42,.12);z-index:5}.canvas-wrap{margin-right:320px}}@media(max-width:780px){.studio{display:block;height:auto}.left-panel,.properties-panel{position:static;width:auto}.canvas-wrap{height:70vh;margin:0}.topbar{height:auto;align-items:flex-start;gap:10px;padding:12px;flex-direction:column}.top-actions{flex-wrap:wrap}.statusbar{position:static}.flow-node{width:165px}}

.link-direction-card{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:0 0 14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;font-size:12px}.link-direction-card span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-direction-card span:last-child{text-align:right}.link-direction-card strong{color:var(--accent);font-size:18px}

.link-list button{font-size:12px;align-items:center}.link-list button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-list button.active{border-color:#dc2626;background:#fef2f2}.link-hit{pointer-events:stroke;cursor:pointer}.link-path,.link-arrow{pointer-events:none}.link-label{pointer-events:auto;cursor:pointer}.link-group{pointer-events:visiblePainted}.link-group:hover .link-path{stroke-width:3.5}.link-group:hover .link-label{font-weight:700}.editor select{color:var(--text);background:#fff}

/* V0.8 – editor komponent a živý náhled */
.component-item{grid-template-columns:auto minmax(0,1fr) auto auto;cursor:grab;transition:border-color .15s,background .15s,opacity .15s}
.component-item.dragging{opacity:.45}.component-item.drag-over{border-color:var(--accent);background:var(--accent-soft)}
.drag-handle{color:#94a3b8;font-weight:700;letter-spacing:-2px;cursor:grab;user-select:none}.component-meta{min-width:0}.component-meta input{margin-top:5px}.component-type{display:block;font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.required-toggle{display:flex!important;align-items:center;gap:3px;margin:0!important;white-space:nowrap;font-size:10px!important}.required-toggle input{width:auto!important;margin:0!important}.component-remove{padding:6px 9px!important;background:#475569!important}.component-empty{padding:10px;border:1px dashed var(--line);border-radius:8px;margin:0 0 8px}
.step-preview{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:12px;margin-bottom:14px}.preview-head{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:10px}.preview-head span{font-size:11px;color:var(--muted)}.preview-fields{display:grid;gap:10px}.preview-fields label{margin:0!important;color:var(--text)!important;font-weight:700}.preview-fields input,.preview-fields textarea,.preview-fields select{margin-top:5px!important;background:#fff!important}.preview-check{display:flex!important;align-items:center;gap:6px}.preview-check input{width:auto!important;margin:0!important}.preview-upload{margin-top:5px;border:1px dashed #b8c3d1;border-radius:8px;padding:10px;background:#fff;color:var(--muted);font-weight:400}.required-mark{color:#dc2626}
.result-list{display:grid;gap:6px;margin-bottom:8px}.result-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto 30px;gap:6px;align-items:center;border:1px solid var(--line);padding:7px;border-radius:8px;background:#f8fafc}.result-item input[type=color]{width:34px;height:34px;padding:2px;border:1px solid var(--line);border-radius:7px;background:#fff}.result-item input[type=text],.result-item>input:not([type]){margin:0}.terminal-toggle{white-space:nowrap;font-size:11px;color:var(--muted);margin:0!important}.component-item{grid-template-columns:auto minmax(0,1fr) auto auto}.component-toggles{display:grid;gap:3px;font-size:10px;color:var(--muted);white-space:nowrap}.component-toggles label{margin:0}.preview-head{display:grid;grid-template-columns:1fr auto;gap:5px}.preview-head>span:last-child{grid-column:1/-1}.preview-result{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--result-color) 15%,white);color:var(--result-color);font-size:10px;font-weight:700;border:1px solid color-mix(in srgb,var(--result-color) 35%,white)}


/* V0.9.2 – zjednodušený editor kroku */
.editor-section{border:1px solid var(--line);border-radius:10px;background:#fff;margin:0 0 9px;overflow:hidden}
.editor-section>summary{list-style:none;cursor:pointer;padding:11px 12px;font-size:12px;font-weight:800;color:#334155;display:flex;align-items:center;justify-content:space-between;user-select:none}
.editor-section>summary::-webkit-details-marker{display:none}
.editor-section>summary::after{content:'›';font-size:18px;color:#94a3b8;transform:rotate(0deg);transition:transform .15s}
.editor-section[open]>summary::after{transform:rotate(90deg)}
.editor-section[open]>summary{border-bottom:1px solid var(--line);background:#fbfcfe}
.editor-section-body{padding:11px 12px}
.editor-section-body>label:last-child{margin-bottom:0}
.subsection-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#64748b;margin:14px 0 8px}
.section-note{margin:0}
.delete-step-bottom{margin-top:12px}
#stepColor{height:40px;padding:4px}
.flow-node{border-top:3px solid var(--node-color,var(--accent))}


/* V0.9.3 – přehledné výsledky a základ oprávnění */
.result-item{grid-template-columns:36px minmax(0,1fr) 32px;grid-template-rows:auto auto;gap:6px 8px;align-items:center}
.result-item .terminal-toggle{grid-column:2 / 4;display:flex!important;align-items:center;gap:5px;min-width:0;white-space:normal;font-size:11px;color:var(--muted);margin:0!important}
.result-item .terminal-toggle input{width:auto!important;margin:0!important}
.result-item .component-remove{grid-column:3;grid-row:1;width:32px;height:32px;padding:0!important;display:grid;place-items:center}
.permission-list{display:grid;gap:7px;margin-bottom:8px}
.permission-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto 32px;gap:7px;align-items:center;border:1px solid var(--line);padding:8px;border-radius:8px;background:#f8fafc}
.permission-item>input[type=text]{margin:0!important;min-width:0}
.permission-toggle{display:flex!important;align-items:center;gap:4px;margin:0!important;white-space:nowrap;font-size:10px!important;color:var(--muted)!important}
.permission-toggle input{width:auto!important;margin:0!important}
.permission-item .component-remove{width:32px;height:32px;padding:0!important;display:grid;place-items:center}
.permission-item .component-remove:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1180px){.permission-item{grid-template-columns:minmax(0,1fr) 32px}.permission-toggle{grid-column:1}.permission-item .component-remove{grid-column:2;grid-row:1}}

/* V0.9.5: zjednodušená definice začátku/konce kroku */
.step-flags{display:grid;gap:8px;margin-top:2px}.step-flag{display:flex!important;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;font-weight:650}.step-flag input{width:auto!important;margin:0}


/* V0.9.8 – přehledný tabulkový editor komponent */
.component-list{gap:5px}
.component-table-head{display:grid;grid-template-columns:18px minmax(0,1fr) 36px 42px 32px;gap:6px;align-items:end;padding:0 7px 2px;color:#64748b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.component-table-head span:nth-child(3),.component-table-head span:nth-child(4){text-align:center}
.component-item{grid-template-columns:18px minmax(0,1fr) 36px 42px 32px;gap:6px;align-items:center;padding:7px;background:#f8fafc;min-width:0}
.component-meta{display:grid;gap:4px;min-width:0}
.component-meta input{width:100%!important;min-width:0;margin:0!important;padding:7px 8px!important;height:34px}
.component-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}
.component-check{display:flex!important;align-items:center;justify-content:center;margin:0!important;width:100%;height:34px}
.component-check input{width:16px!important;height:16px;margin:0!important}
.component-remove{width:32px;height:34px;padding:0!important;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;border-radius:7px}
@media(max-width:1100px){.component-table-head{grid-template-columns:16px minmax(0,1fr) 34px 38px 30px;gap:4px}.component-item{grid-template-columns:16px minmax(0,1fr) 34px 38px 30px;gap:4px;padding:6px}.component-meta input{padding:6px!important}}

/* V0.9.9 – Studio drží pouze architekturu procesu; obsah kroku definuje zákazník v Adminu. */
.template-preview{display:grid;gap:6px;margin-top:10px}
.template-caption{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#64748b;margin-bottom:1px}
.template-row{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:7px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:7px 8px;background:#f8fafc}
.template-row strong{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.template-row small{grid-column:2;font-size:10px;color:var(--muted);margin-top:1px}
.template-empty{border:1px dashed var(--line);border-radius:8px;padding:9px;margin-top:0}
