*{box-sizing:border-box} :root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d2939;background:#f6f7fa;font-size:14px;line-height:1.55;font-synthesis:none}body{margin:0}a{color:#4f46e5;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}.skip{position:absolute;left:-10000px}.skip:focus{left:16px;top:16px;z-index:100;background:white;padding:12px}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:#171e2f;color:#f8fafc;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;color:inherit;font-size:21px;font-weight:750;letter-spacing:-.5px;padding:0 10px;margin-bottom:52px}.brand:hover{text-decoration:none}.brand small{font-size:12px;display:block;letter-spacing:.3px;color:#b1b9ce;font-weight:400}.brand-mark{display:block;flex-shrink:0;width:48px;height:48px;object-fit:contain;border-radius:12px}.nav-label{font-size:10px;letter-spacing:1.5px;color:#8995af;margin:0 12px 12px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#b8c1d5;padding:12px 15px;display:flex;align-items:center;gap:14px;border-radius:8px}.sidebar nav a:hover{background:#232c41;text-decoration:none}.sidebar nav .nav-active{background:#2d3155;color:#e7e4ff;font-weight:650}.sidebar nav a span{font-size:22px;line-height:1}.sidebar-note{margin:auto 12px 24px;font-size:12px;color:#c3cbe0}.sidebar-note p{margin:5px 0 0 14px;color:#8995af;font-size:11px}.live-dot{background:#67d8ab;display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid #30384a;padding-top:22px}.avatar{background:#333e57;display:grid;place-items:center;border-radius:50%;width:34px;height:34px}.profile strong{font-size:12px;font-weight:600}.profile small{display:block;color:#8995af;font-size:10px}.logout{border:0;background:none;color:#a0acc4;font-size:11px;padding:12px 0 0 44px}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{height:76px;border-bottom:1px solid #e6e9ef;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:12px;color:#667085}.divider{padding:0 14px;color:#d0d5dd}.content{padding:40px;max-width:1600px;width:100%;margin:0 auto;flex:1}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px}.heading .button{flex-shrink:0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#7c8195;margin:0 0 8px}h1{font-size:30px;letter-spacing:-1px;line-height:1.25;margin:0 0 10px;font-weight:700}h2{font-size:17px;margin:0 0 18px;letter-spacing:-.25px}h3{font-size:14px;margin:0}h4{font-size:12px;margin:22px 0 12px}.muted{color:#667085;font-size:13px;margin:0}.button{display:inline-flex;gap:10px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:10px 17px;font-weight:600;font-size:12px;line-height:1.5;text-align:center}.button:hover{text-decoration:none}.primary{background:#6255d9;color:white;box-shadow:0 2px 3px #30247c14}.primary:hover{background:#5146c3}.secondary{color:#344054;background:white;border-color:#dfe3eb}.secondary:hover{background:#f5f5fa}.small{font-size:11px;padding:7px 11px}.panel{background:#fff;border:1px solid #e3e7ef;border-radius:12px;box-shadow:0 2px 4px #132d4a03}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.stats>div{background:#fff;border:1px solid #e3e7ef;border-radius:10px;padding:22px 24px}.stats span{font-size:10px;color:#7c8195;letter-spacing:.8px;font-weight:600}.stats strong{display:block;font-size:30px;margin-top:7px;font-weight:650}.empty{text-align:center;padding:65px 25px}.empty h2{font-size:19px;margin:16px 0 8px}.empty p{color:#667085;font-size:13px;max-width:470px;margin:0 auto 22px}.empty-icon{display:inline-grid;place-items:center;background:#eeecfc;color:#6255d9;width:54px;height:54px;font-size:30px;border-radius:15px}.steps{display:flex;gap:25px;justify-content:center;margin:25px 0;color:#898d9f;font-size:11px}.fine{color:#7c8195;font-size:11px}.note{margin:20px 0}.footer{padding:20px 40px;border-top:1px solid #e6e9ef;color:#98a2b3;font-size:10px;display:flex;justify-content:space-between;gap:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#7c8195;font-weight:600;background:#fcfcfd;padding:15px 22px;border-bottom:1px solid #edf0f5;white-space:nowrap}td{padding:20px 22px;font-size:12px;border-bottom:1px solid #edf0f5}tr:last-child td{border-bottom:none}td strong{font-size:12px;font-weight:650}td small{display:block;font-size:11px;color:#7c8195;margin-top:4px;max-width:480px}.row-actions{display:flex;gap:15px;align-items:center;white-space:nowrap}.row-actions form{margin:0}.link{background:none;border:0;padding:0;font:inherit;color:#4f46e5;font-size:12px}.link:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;background:#f0f1f5;color:#667085;font-size:10px;font-weight:650;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.ready,.badge.succeeded{background:#e8f7ef;color:#247a56}.badge.pending,.badge.running{background:#edf0ff;color:#5e5ab1}.badge.paused,.badge.failed,.badge.uncertain{background:#fef0ee;color:#b94b3f}.badge.warning{background:#fff6df;color:#a17c25}.connect-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}.connect-options>a{border:1px solid #e3e7ef;border-radius:12px;background:#fff;padding:22px;display:grid;grid-template-columns:38px 1fr;column-gap:12px;align-items:center;color:#1d2939}.connect-options>a:hover{border-color:#8f84e7;text-decoration:none}.connect-options strong{font-size:13px;font-weight:650}.connect-options small{grid-column:2;font-size:11px;color:#7c8195}.provider{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;font-weight:750}.gmail{color:#b45349;background:#fff0ee}.jira{color:#2a64bd;background:#eaf2ff}.slack{color:#8c4785;background:#f7ecf5}.form-panel{padding:28px;margin-bottom:22px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0}.field>span{font-size:12px;font-weight:550;color:#344054}.field small,.hint{font-size:11px;color:#7c8195}.field input,.field select,.field textarea{border:1px solid #d9deea;background:#fff;color:#344054;border-radius:7px;padding:9px 11px;min-width:0;width:100%;font-size:12px;min-height:38px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7367f0;outline:2px solid #7367f026;outline-offset:1px}textarea{resize:vertical}.field textarea.code,pre,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f7fa;border-radius:8px;padding:20px;max-height:600px;overflow:auto}code{background:#eeedf8;padding:2px 5px;border-radius:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.check{display:flex;align-items:center;gap:8px;font-size:11px;color:#667085;white-space:normal}.check input{accent-color:#6255d9;width:15px;height:15px;flex-shrink:0}.form-footer{border-top:1px solid #edf0f5;margin-top:25px;padding-top:22px;display:flex;align-items:center;gap:20px;font-size:12px}.alert{padding:14px 18px;border-radius:8px;font-size:12px;margin-bottom:20px;overflow-wrap:anywhere}.alert.error{background:#fff0ee;border:1px solid #fad4cd;color:#a7473d}.alert.success{background:#eaf7ef;color:#247a56}.danger{color:#b94b3f!important}.section-number{display:inline-grid;place-items:center;font-size:11px;background:#f1effc;color:#6255d9;border-radius:6px;width:25px;height:25px;margin-right:10px}.editor-row{display:grid;gap:12px;align-items:end;margin-bottom:15px}.editor-row .field{margin-bottom:0}.editor-row .check{padding-bottom:10px;font-size:10px}.editor-row>.button{margin-bottom:1px}.condition-row{grid-template-columns:1fr 1fr 2fr 1fr .6fr auto}.extract-row{grid-template-columns:1fr 1fr 2fr 1fr auto}.mapping-row{grid-template-columns:1fr 1fr 2fr auto}.compact{max-width:230px}.branch{border:1px solid #e1dfef;border-radius:10px;margin:20px 0;padding:20px;background:#fdfdff}.branch-header{display:flex;align-items:center;gap:20px;justify-content:space-between}.branch-header .field{flex:1;max-width:500px}.action-editor{margin:20px 0;padding:22px;border-radius:8px;border:1px solid #e6e9ef;background:#fff}.action-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:15px}.action-heading h2{margin:0}.hint{margin:0 0 18px;line-height:1.65}.callout{padding:20px 25px;font-size:12px;color:#667085;background:#f1f0fb;border-color:#e3dff5}.callout strong{color:#51489a}.callout p{margin:7px 0 0}.editor-save{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:25px;font-size:12px}.run-summary{display:flex;gap:20px;align-items:center;margin-bottom:22px}.retry-form{margin-top:20px;border-top:1px solid #e6e9ef;padding-top:20px}.retry-form .check{margin-bottom:12px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 75% 20%,#e6e2fb,transparent 55%),#f7f8fb;padding:30px}.login-card{background:#fff;border:1px solid #e3e7ef;padding:48px;max-width:510px;width:100%;border-radius:20px;box-shadow:0 20px 80px #2520510a}.login-card .brand-mark{width:96px;height:96px;margin-bottom:32px}.login-card h1{font-size:36px;margin:16px 0 20px}.login-card .muted{line-height:1.8}.login-button{width:100%;justify-content:space-between;margin:30px 0 15px}.login-card .fine{text-align:center}.htmx-request{opacity:.7}@media(min-width:1600px){.content{padding:50px 60px}}@media(max-width:1100px){.condition-row,.extract-row{grid-template-columns:1fr 1fr}.condition-row .field:nth-child(3),.extract-row .field:nth-child(3){grid-column:1/-1}.content{padding:28px}.topbar{padding:0 28px}.connect-options{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr 1fr}.mapping-row>.field:nth-child(3){grid-column:1/-1}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:16px}.brand{margin:0 0 18px;padding:0;font-size:18px}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar nav a{padding:8px 12px}.sidebar-note,.profile,.nav-label{display:none}.logout{position:absolute;right:20px;top:24px;padding:0}.topbar{height:54px;padding:0 20px}.topbar>.fine{display:none}.content{padding:24px 18px}.heading{align-items:flex-start;flex-wrap:wrap}.heading h1{font-size:26px}.heading>.button{font-size:11px;padding:8px 12px}.stats{gap:8px}.stats>div{padding:14px 12px}.stats span{font-size:8px}.stats strong{font-size:25px}.form-grid{grid-template-columns:1fr}.form-panel{padding:20px}.branch,.action-editor{padding:15px}.editor-row{grid-template-columns:1fr}.editor-row>.field{grid-column:auto!important}.steps{flex-direction:column;gap:8px}.footer{padding:18px}.footer>span{display:none}.run-summary{align-items:flex-start;flex-direction:column;gap:10px}.login-card{padding:30px}.login-card h1{font-size:30px}}



@media (min-width:1101px) {
  .condition-row { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.6fr); }
  .condition-row>.button { justify-self:end; }
  .mapping-row { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1.5fr) auto; }
}

.preset-picker { display:flex; align-items:flex-end; gap:12px; width:min(100%,420px); }
.preset-picker .field { flex:1; margin:0; }
.profile { margin-top:auto; }
.profile>div { min-width:0; }
.profile small { overflow-wrap:anywhere; }
.connect-options .provider { grid-row:auto; }
.form-panel>summary,.field-help>summary { cursor:pointer; font-size:13px; font-weight:600; color:#344054; }
.form-panel[open]>summary { margin-bottom:18px; }
.field-help { margin-bottom:18px; }
.field-help[open]>summary { margin-bottom:8px; }

.field select {
  appearance:none;
  padding-right:36px;
  background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%);
  background-position:right 17px center,right 12px center;
  background-size:5px 5px;
  background-repeat:no-repeat;
}

@media (forced-colors:active) {
  .field select { appearance:auto; background-image:none; }
}

/* Flow editor: summaries stay visible; configuration opens on demand. */
.icon { width:19px; height:19px; flex-shrink:0; vertical-align:middle; }
.icon-button { position:relative; display:inline-flex; align-items:center; justify-content:center; width:40px; min-width:40px; height:40px; padding:0; border:1px solid transparent; border-radius:8px; background:transparent; color:#667085; }
.icon-button:hover { background:#eeecfb; color:#5146c3; text-decoration:none; }
.icon-button:focus-visible { outline:3px solid #8274ed; outline-offset:2px; }
.icon-button:disabled { cursor:not-allowed; }
[data-tooltip]::after { content:attr(data-tooltip); position:absolute; z-index:20; bottom:calc(100% + 5px); right:0; max-width:220px; width:max-content; white-space:normal; padding:6px 9px; border-radius:6px; background:#1d2939; color:#fff; font-size:11px; font-weight:500; pointer-events:none; opacity:0; }
[data-tooltip]:hover::after,[data-tooltip]:focus-visible::after { opacity:1; }
#flow-editor { max-width:1120px; margin:0 auto; }
.editor-heading { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.editor-title { flex:1; min-width:0; }
.editor-title h1 { font-size:25px; margin:0; letter-spacing:-.7px; }
.editor-title p { color:#667085; font-size:12px; margin:4px 0 0; }
.editor-heading>.button { flex-shrink:0; }
.editor-path { display:flex; align-items:center; gap:16px; margin:0 0 20px; padding-left:4px; font-size:12px; }
.editor-path a { display:flex; align-items:center; gap:7px; color:#475467; font-weight:600; }
.editor-path a span { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:#6255d9; background:#eeecfb; border:1px solid #ddd8f7; font-size:11px; }
.editor-path>.icon { width:14px; height:14px; transform:rotate(-90deg); color:#98a2b3; }
#flow-editor .form-panel { padding:20px; margin-bottom:14px; box-shadow:none; }
.editor-section { scroll-margin-top:20px; }
.section-heading { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.section-heading>div { flex:1; min-width:0; }
.section-heading h2 { font-size:16px; margin:0; }
.section-heading p { font-size:12px; color:#667085; margin:3px 0 0; }
.section-heading>.icon { color:#98a2b3; }
#flow-editor .section-number { flex-shrink:0; width:30px; height:30px; margin:0; border-radius:50%; background:#1d2939; color:white; }
#flow-editor .field { margin-bottom:14px; }
#flow-editor .field input,#flow-editor .field select,#flow-editor .field textarea { min-height:40px; }
#source-section .field { margin-bottom:0; }
.condition-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
#flow-editor .condition-mode { display:flex; flex-direction:row; align-items:center; gap:10px; margin:0; }
.condition-mode>span { color:#667085; font-size:11px; }
.condition-mode select { width:auto; max-width:240px; font-size:11px; }
.condition-summary { display:flex; align-items:center; gap:8px; margin-top:6px; padding:7px 8px 7px 12px; border-radius:8px; background:#f6f7fa; }
.condition-copy { flex:1; min-width:0; }
.condition-copy p { margin:0; font-size:12px; overflow-wrap:anywhere; }
.condition-copy code { font-size:11px; overflow-wrap:anywhere; white-space:pre-wrap; }
.condition-copy small { display:block; color:#667085; font-size:10px; margin-top:3px; }
.condition-exclusion { color:#a7473d; font-weight:600; }
.condition-actions { display:flex; align-items:center; flex-shrink:0; }
.condition-actions button[name="operation"]:hover,.branch-header>button:hover { color:#a7473d; background:#fff0ee; }
.condition-empty { display:flex; align-items:center; gap:12px; padding:12px; border:1px dashed #d4ceef; border-radius:8px; background:#f7f6fd; }
.condition-empty>.icon { color:#6255d9; }
.condition-empty strong { display:block; font-size:12px; }
.condition-empty small { display:block; color:#667085; font-size:11px; margin-top:2px; }
#flow-editor .branch { margin:12px 0 0; padding:14px; border-color:#e3e7ef; background:#fff; }
.branch-header { gap:12px; }
#flow-editor .branch-header .field { margin:0; max-width:none; }
.branch-header .field>span { font-size:10px; color:#667085; }
.branch-header .field input { font-weight:650; background:#fcfcfe; }
.branch-order { display:grid; place-items:center; flex-shrink:0; width:28px; height:28px; border:1px solid #e3e7ef; border-radius:7px; color:#667085; font-size:12px; }
.branch .condition-group { margin-top:12px; }
.branch-warning { color:#8a580c; background:#fff8e8; border-radius:6px; padding:8px 10px; font-size:11px; margin:8px 0; }
#flow-editor .action-editor { padding:0; margin:12px 0 0; overflow:visible; background:#fafbfe; }
.action-editor>summary { display:flex; align-items:center; gap:10px; padding:12px; cursor:pointer; list-style:none; font-weight:600; font-size:12px; }
.action-editor>summary::-webkit-details-marker,.extractors-section>summary::-webkit-details-marker { display:none; }
.action-order { color:#667085; font-size:10px; }
.action-summary { flex:1; min-width:0; overflow-wrap:anywhere; }
.action-editor>summary>.icon,.extractors-section>summary>.icon:last-child { width:15px; height:15px; transition:transform .15s; }
.action-editor[open]>summary>.icon,.extractors-section[open]>summary>.icon:last-child { transform:rotate(180deg); }
.action-body { padding:14px; border-top:1px solid #e3e7ef; background:#fff; border-radius:0 0 8px 8px; }
#flow-editor .action-heading { margin-bottom:10px; }
#flow-editor .action-heading h3 { font-size:12px; color:#667085; }
.add-action { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:8px; color:#667085; font-size:11px; }
.extractors-section { border-top:1px solid #edf0f5; margin:16px -20px -20px; }
.extractors-section>summary { display:flex; align-items:center; gap:8px; padding:14px 20px; cursor:pointer; list-style:none; font-size:12px; font-weight:600; }
.extractors-section>summary>.icon:first-child { color:#667085; }
.extractors-section .optional { color:#667085; font-size:10px; font-weight:400; flex:1; }
.extractors-body { padding:0 20px 16px; }
#flow-editor .editor-save { position:sticky; bottom:12px; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; margin-top:16px; border:1px solid #e3e7ef; background:#fff; border-radius:10px; box-shadow:0 4px 24px #132d4a0d; }
.activation { margin:0; font-size:12px; }
.activation strong { color:#344054; display:block; }
.activation small { display:block; color:#8a580c; margin-top:2px; font-size:11px; }
#flow-editor .editor-help { color:#667085; font-size:12px; }
.condition-dialog { border:1px solid #e3e7ef; border-radius:14px; padding:0; width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; color:#1d2939; box-shadow:0 24px 80px #171e2f38; }
.condition-dialog::backdrop { background:#171e2f99; }
.modal-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid #e3e7ef; }
.modal-heading h2 { font-size:19px; margin:0; }
.modal-heading p { color:#667085; font-size:12px; margin:3px 0 0; }
.modal-body { padding:20px; }
.condition-options { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin:0 0 18px; }
.condition-options .check { font-size:12px; }
.modal-body>.hint { margin-bottom:0; color:#667085; }
.modal-footer { display:flex; justify-content:flex-end; gap:10px; padding:14px 20px; border-top:1px solid #e3e7ef; }
@media (max-width:760px) {
  .shell { grid-template-rows:auto 1fr; }
  .editor-heading { flex-wrap:wrap; gap:8px; }
  .editor-title h1 { font-size:22px; }
  .editor-title p { display:none; }
  .editor-heading>.button { padding:10px 12px; }
  .editor-path { gap:8px; justify-content:space-between; font-size:11px; }
  .editor-path>.icon { width:10px; }
  #flow-editor .form-panel { padding:16px; }
  .section-heading p { font-size:11px; }
  .condition-toolbar { gap:8px; }
  #flow-editor .condition-mode { flex-direction:column; align-items:flex-start; gap:4px; }
  .condition-mode select { max-width:100%; }
  .condition-summary { align-items:flex-start; flex-wrap:wrap; }
  .condition-copy { flex-basis:calc(100% - 96px); }
  .condition-actions .icon-button { width:40px; min-width:40px; }
  #flow-editor .branch { padding:10px; }
  .branch-header { gap:8px; }
  .branch-order { width:23px; height:23px; }
  .extractors-section { margin:16px -16px -16px; }
  .extractors-section>summary { padding:14px 16px; flex-wrap:wrap; }
  .extractors-body { padding:0 16px 16px; }
  #flow-editor .editor-save { position:static; flex-wrap:wrap; padding:14px; }
  .editor-save>.button { margin-left:auto; }
  .condition-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); }
  .modal-body,.modal-heading { padding:16px; }
  .modal-footer { padding:12px 16px; }
  .condition-dialog .form-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .action-editor>summary>.icon,.extractors-section>summary>.icon:last-child { transition:none; }
}

.action-dialog { width:min(820px,calc(100% - 32px)); height:min(900px,calc(100dvh - 32px)); overflow:hidden; }
#action-modal-content { height:100%; display:flex; flex-direction:column; }
#action-modal-content>form { flex:1; min-height:0; display:flex; flex-direction:column; }
.action-dialog .modal-heading,.action-dialog .modal-footer { flex-shrink:0; }
.action-dialog .modal-body { flex:1; min-height:0; overflow-y:auto; scrollbar-gutter:stable; overflow-anchor:none; }
.action-dialog .mapping-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto; }
.action-dialog .modal-body>.hint { margin-top:18px; }
@media (max-width:760px) {
  .action-dialog { width:calc(100% - 20px); height:calc(100dvh - 20px); }
  .action-dialog .mapping-row { grid-template-columns:1fr; }
}

.row-actions { gap:8px; flex-wrap:wrap; white-space:normal; }
.row-actions .button { min-height:38px; }
.button.destructive { background:#b42318; color:#fff; }
.button.destructive:hover { background:#912018; }
