:root{--bg: #eef3f8;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--border: #e6edf5;--border-2: #d9e2ec;--border-strong: #bcc7d6;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--muted-2: #94a3b8;--brand: #2563eb;--brand-dark: #1d4ed8;--brand-soft: #eff6ff;--green: #16a34a;--green-bg: #dcfce7;--green-ink: #166534;--amber: #d97706;--amber-bg: #fef3c7;--amber-ink: #92400e;--red: #dc2626;--red-bg: #fee2e2;--red-ink: #991b1b;--dec-aprobar: #16a34a;--dec-observar: #d97706;--dec-rechazar: #dc2626;--violet: #7c3aed;--violet-bg: #ede9fe;--cyan: #0891b2;--cyan-bg: #cffafe;--sidebar: #111827;--sidebar-ink: #cbd5e1;--sidebar-dim: #64748b;--sidebar-hover: #1f2937;--sidebar-active-bg: #1d4ed8;--sidebar-active-ink: #ffffff;--sidebar-border: #1f2937;--sidebar-badge-bg: #1f2937;--sidebar-badge-ink: #93a4bb;--head-bg: #f5f7fb;--head-ink: #5b6b82;--row-hover: #f6f9ff;--ctrl-h: 38px;--ctrl-h-sm: 30px;--ctrl-px: 12px;--ctrl-fs: 13.5px;--ctrl-radius: 10px;--ctrl-radius-sm: 8px;--ctrl-border: var(--border-2);--ctrl-inset: inset 0 1px 1px rgba(15,23,42,.03);--ctrl-ring: 0 0 0 3px var(--brand-soft);--ctrl-ring-err: 0 0 0 3px rgba(220,38,38,.12);--radius: 16px;--radius-sm: 11px;--radius-xs: 8px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(15,23,42,.04);--shadow: 0 1px 2px rgba(15,23,42,.04), 0 6px 20px rgba(15,23,42,.06);--shadow-md: 0 2px 6px rgba(15,23,42,.06), 0 12px 28px rgba(15,23,42,.09);--shadow-lg: 0 24px 56px rgba(15,23,42,.18);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 26px;--ring: 0 0 0 3px var(--brand-soft);--sidebar-w: 248px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}h1,h2,h3,h4{margin:0}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.85em}a{color:var(--brand)}:where(.form-control,input:not([type]),input[type=text],input[type=search],input[type=number],input[type=tel],input[type=email],input[type=url],input[type=password],input[type=date],input[type=datetime-local],input[type=time],input[type=month],select,textarea){width:100%;max-width:100%;height:var(--ctrl-h);padding:0 var(--ctrl-px);border:1px solid var(--ctrl-border);border-radius:var(--ctrl-radius);background:var(--surface);color:var(--ink);font-family:inherit;font-size:var(--ctrl-fs);line-height:1.2;box-shadow:var(--ctrl-inset);transition:border-color .12s,box-shadow .12s,background .12s}:where(textarea,textarea.form-control){height:auto;min-height:78px;padding:9px var(--ctrl-px);line-height:1.5;resize:vertical}:where(select){appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}select::-ms-expand{display:none}:where(.form-control,input,select,textarea):hover:not(:disabled):not([readonly]){border-color:var(--muted-2)}:where(.form-control,input,select,textarea):focus{outline:none;border-color:var(--brand);box-shadow:var(--ctrl-ring),var(--ctrl-inset)}:where(.form-control,input,select,textarea):disabled{background:var(--surface-3);border-color:var(--border);color:var(--muted);cursor:not-allowed}:where(.form-control,input,textarea)::placeholder{color:var(--muted-2)}.form-control-sm,.input-compact,.filter-row input,.filter-row select,.probe-field input,.map-select,.map-default,.ic-name,.fc-combo .fc-input,.matrix-col-card .mcc-label,.matrix-col-card .mcc-logic,.matrix-col-card .mcc-cond input,.matrix-col-card .mcc-cond select,table.matrix-grid .mg-label,table.matrix-grid .mg-cell,table.matrix-grid .mg-type{height:var(--ctrl-h-sm);padding:0 9px;border-radius:var(--ctrl-radius-sm);font-size:12.5px}select.form-control-sm,select.input-compact,.filter-row select,.map-select,.matrix-col-card .mcc-logic,.matrix-col-card .mcc-cond select,table.matrix-grid .mg-type{padding-right:26px;background-position:right 7px center}textarea.form-control-sm,textarea.input-compact{height:auto;min-height:56px;padding:6px 9px}.form-control-error,.input-err,.input-req,.field-missing,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red);background:var(--red-bg)}.form-control-error:focus,.input-err:focus,.input-req:focus,.field-missing:focus,input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{border-color:var(--red);box-shadow:var(--ctrl-ring-err),var(--ctrl-inset)}.searchbox input,.lib-search input{height:auto;width:100%;border:none;background:none;box-shadow:none;padding:0;border-radius:0;font-size:13px;color:var(--ink);outline:none}.searchbox input:focus,.lib-search input:focus{box-shadow:none;border-color:transparent}input.pol-title-inline{height:auto;box-shadow:none}input[type=checkbox],input[type=radio]{width:auto;height:auto;accent-color:var(--brand);cursor:pointer}input[type=color],input[type=range],input[type=file]{width:auto}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--sidebar) 0%,#0a1a2f 100%);color:var(--sidebar-ink);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid #0a1526}.brand{display:flex;align-items:center;gap:11px;padding:18px 18px 16px;border-bottom:1px solid var(--sidebar-border)}.brand-logo{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#4f46e5);color:#fff;flex:none;box-shadow:0 4px 12px #2563eb66}.brand-name{font-weight:700;font-size:15px;color:#fff;letter-spacing:.2px}.brand-sub{font-size:10.5px;color:var(--sidebar-dim);letter-spacing:.3px;text-transform:uppercase}.nav{padding:6px 12px 12px;overflow-y:auto;overflow-x:hidden;flex:1}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--sidebar-dim);padding:14px 11px 5px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:9px 11px;margin:1px 0;border:none;background:none;cursor:pointer;color:var(--sidebar-ink);border-radius:var(--radius-sm);font-size:13.5px;text-align:left;line-height:1.25;position:relative;transition:background .12s,color .12s}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-ink);font-weight:600;box-shadow:inset 0 0 0 1px #ffffff1f}.nav-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--brand)}.nav-item .ico{color:var(--sidebar-dim);flex:none;display:grid}.nav-item:hover .ico{color:#cbd5e1}.nav-item.active .ico{color:#fff}.nav-badge{margin-left:auto;flex:none;font-size:9.5px;background:var(--brand);color:#fff;border-radius:var(--radius-pill);padding:1px 6px;font-weight:600;letter-spacing:.02em}.nav-badge.mock{background:var(--sidebar-badge-bg);color:var(--sidebar-badge-ink);font-weight:500}.nav-item.active .nav-badge{background:#ffffff38;color:#fff}.nav{scrollbar-width:thin;scrollbar-color:#29364f transparent}.nav::-webkit-scrollbar{width:8px}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{background:#29364f;border-radius:var(--radius-pill)}.nav::-webkit-scrollbar-thumb:hover{background:#38496a}.side-foot{padding:14px 16px;border-top:1px solid var(--sidebar-border);display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;background:#1e293b;color:#cbd5e1;display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}.side-foot .who{font-size:12.5px;color:#e2e8f0;font-weight:600}.side-foot .role{font-size:11px;color:var(--sidebar-dim)}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:0 28px;height:62px;background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-2);position:sticky;top:0;z-index:20;box-shadow:var(--shadow-xs)}.topbar .crumb{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:5px;flex-wrap:wrap}.topbar .crumb b{color:var(--ink)}.crumb-link{cursor:pointer;color:var(--muted)}.crumb-link:hover{color:var(--brand);text-decoration:underline}.ctx-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--brand-soft);border:1px solid #c7dbff;border-radius:var(--radius);padding:10px 14px;margin-bottom:16px}.ctx-label{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2)}.ctx-label b{color:var(--brand-dark)}.topbar .spacer{flex:1}.searchbox{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:7px 14px;color:var(--muted);width:min(360px,30vw);min-width:240px;transition:border-color .12s,box-shadow .12s,background .12s}.searchbox:focus-within{border-color:var(--brand);background:var(--surface);box-shadow:var(--ring)}.icon-btn{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);display:grid;place-items:center;cursor:pointer;position:relative;transition:background .12s,border-color .12s,color .12s}.icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--ink)}.icon-btn:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.icon-btn .dot{position:absolute;top:8px;right:9px;width:7px;height:7px;background:var(--red);border-radius:50%;border:2px solid var(--surface)}.content{padding:26px 28px 60px;max-width:none;width:100%}.tab-body{margin-top:18px}.tab-body>*:first-child{margin-top:0}html{scrollbar-gutter:stable}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.page-title{font-size:22px;font-weight:700;letter-spacing:-.2px}.page-desc{color:var(--muted);font-size:13.5px;margin-top:4px;max-width:720px}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.btn,.primary,.btn-primary,.btn-sm,.btn-danger{display:inline-flex;align-items:center;gap:7px;justify-content:center;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;font-size:13px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);padding:9px 14px;box-shadow:var(--shadow-xs);transition:background .12s,border-color .12s,color .12s,box-shadow .12s;white-space:nowrap;font-family:inherit}.btn,.primary,.btn-primary,.btn-danger{min-height:var(--ctrl-h)}.btn-sm{padding:7px 11px;min-height:var(--ctrl-h-sm)}.btn:hover,.btn-sm:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--ink)}.btn:focus-visible,.primary:focus-visible,.btn-sm:focus-visible,.btn-danger:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--brand)}.btn-primary,.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px #2563eb47}.btn-primary:hover,.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);box-shadow:0 2px 6px #2563eb52}.btn-archivo{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 1px 2px #16a34a47}.btn-archivo:hover:not(:disabled){background:var(--green-ink);border-color:var(--green-ink);color:#fff;box-shadow:0 2px 6px #16a34a52}.btn-archivo:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.ghost,.btn-ghost{background:none;color:var(--ink-2);border-color:transparent;box-shadow:none}.btn.ghost:hover,.btn-ghost:hover{background:var(--surface-3);border-color:var(--border-2)}.btn:disabled,.primary:disabled,.btn-primary:disabled,.btn-sm:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;filter:none}.btn-primary:disabled:hover,.primary:disabled:hover{background:var(--brand);border-color:var(--brand)}.btn-primary,.btn-primary:hover,.btn-primary:focus-visible,.btn-primary:active,.primary,.primary:hover,.primary:focus-visible,.primary:active,.btn-danger-solid,.btn-danger-solid:hover,.btn-danger-solid:focus-visible,.btn-danger-solid:active{color:#fff}.btn-danger,.btn-danger:hover,.btn-danger:focus-visible,.btn-danger:active{color:var(--red)}.pending-wrap{display:inline-flex}.is-pending{border-style:dashed!important}.btn-del{border:1px solid var(--border-2);background:var(--surface);color:var(--red);border-radius:var(--radius-sm);width:34px;height:34px;cursor:pointer;display:grid;place-items:center;transition:background .12s,border-color .12s}.btn-del:hover{background:var(--red-bg);border-color:#f0b4b4}.btn-del:focus-visible{outline:none;box-shadow:var(--ctrl-ring-err);border-color:var(--red)}.btn-link{background:none;border:none;color:var(--brand);cursor:pointer;font-weight:600;font-size:13px;padding:0}.btn-link:hover{color:var(--brand-dark);text-decoration:underline}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:background .12s,border-color .12s,color .12s;vertical-align:middle}.btn-icon:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--ink)}.btn-icon:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--brand)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.table-clickable tbody tr.row-clickable{cursor:pointer}.table-clickable tbody tr.row-clickable:hover>td{background:var(--row-hover)}.exec-status{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--surface-2)}.exec-status.exec-running,.exec-status.exec-queued{border-color:var(--brand-soft, #d7e3fb);background:var(--brand-soft, #eef4ff)}.exec-status.exec-failed{border-color:#f3b4b4;background:var(--red-bg, #fdecec)}.exec-status.exec-cancelled,.exec-status.exec-cancelling{border-color:var(--amber-border, #f0d08a);background:var(--amber-bg, #fdf6e3)}.exec-status-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exec-spinner{width:13px;height:13px;border:2px solid var(--border-2, #cbd5e1);border-top-color:var(--brand, #2f6fed);border-radius:50%;display:inline-block;animation:exec-spin .8s linear infinite}@keyframes exec-spin{to{transform:rotate(360deg)}}.exec-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;border:1px solid transparent}.exec-chip.ec-run{color:var(--brand-dark, #1e40af);background:var(--brand-soft, #eef4ff);border-color:#c7dbff}.exec-chip.ec-done{color:var(--green-ink, #1a7f37);background:var(--green-bg, #e7f6ec);border-color:#b7e4c7}.exec-chip.ec-err{color:var(--danger, #dc2626);background:var(--red-bg, #fdeaea);border-color:#f3b4b4}.exec-chip.ec-cancel{color:var(--amber-ink, #92600a);background:var(--amber-bg, #fdf3e0);border-color:#f0d9a8}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-5);box-shadow:var(--shadow)}.card+.card{margin-top:18px}.grid .card+.card{margin-top:0}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);gap:12px}.card>.card-head:first-child:not(.card-head-plain){margin:calc(var(--sp-5) * -1) calc(var(--sp-5) * -1) var(--sp-4);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border);min-height:52px}.card-head h2,.card h2{font-size:15px;font-weight:700}.card h3{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 8px}.card-sub{color:var(--muted);font-size:12.5px}.card-msg,.card-empty{text-align:center}.card-msg{padding:30px 20px;color:var(--muted)}.card-empty{padding:34px 24px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);padding:var(--sp-5);box-shadow:var(--shadow)}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-ico{width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center}.stat-ico.blue{background:var(--brand-soft);color:var(--brand)}.stat-ico.green{background:var(--green-bg);color:var(--green)}.stat-ico.amber{background:var(--amber-bg);color:var(--amber)}.stat-ico.red{background:var(--red-bg);color:var(--red)}.stat-ico.violet{background:var(--violet-bg);color:var(--violet)}.stat-ico.cyan{background:var(--cyan-bg);color:var(--cyan)}.stat-val{font-size:26px;font-weight:700;letter-spacing:-.5px;margin-top:10px;line-height:1.1}.stat-label{color:var(--muted);font-size:12.5px;margin-top:3px}.stat-sub{color:var(--brand-dark);font-size:11px;font-weight:600;margin-top:3px}.stat-delta{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:3px;margin-top:6px}.stat-delta.up{color:var(--green)}.stat-delta.down{color:var(--red)}.stat-delta.flat{color:var(--muted)}.table,table.trace{width:100%;border-collapse:collapse;font-size:13px}.table th,table.trace th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--head-ink);padding:11px 12px;background:var(--head-bg);border-bottom:1px solid var(--border)}.table th.th-help{cursor:help;text-decoration:underline dotted var(--border-strong);text-underline-offset:3px}.table td,table.trace td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child>td,table.trace tbody tr:last-child>td{border-bottom:none}.table tbody tr,table.trace tbody tr{transition:background .1s}.table tbody tr:hover,table.trace tbody tr:hover{background:var(--row-hover)}table.trace tr.matched{background:var(--brand-soft)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.table-wrap table{border-radius:var(--radius);overflow:hidden}.table-wrap .table th{border-top:none}.actions{color:var(--muted);font-size:12px}.status,.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tag-aprobar,.st-aprobado,.st-aprobar{background:color-mix(in srgb,var(--dec-aprobar) 15%,#fff);color:color-mix(in srgb,var(--dec-aprobar) 78%,#000)}.tag-observar,.st-revision,.st-observar{background:color-mix(in srgb,var(--dec-observar) 15%,#fff);color:color-mix(in srgb,var(--dec-observar) 78%,#000)}.tag-rechazar,.st-rechazado,.st-rechazar{background:color-mix(in srgb,var(--dec-rechazar) 15%,#fff);color:color-mix(in srgb,var(--dec-rechazar) 78%,#000)}.vbadge{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600}.b-draft{background:var(--surface-3);color:#475569}.b-review{background:var(--amber-bg);color:var(--amber-ink)}.b-pub{background:var(--green-bg);color:var(--green-ink)}.b-arch{background:#f1f5f9;color:var(--muted-2)}.b-info{background:var(--brand-soft);color:var(--brand-dark)}.b-cancel{background:var(--amber-bg);color:var(--amber-ink)}.env{padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.env-Development{background:#e0f2fe;color:#0369a1}.env-Test{background:var(--amber-bg);color:var(--amber-ink)}.env-Production{background:var(--green-bg);color:var(--green-ink)}.mod,.chan{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;background:var(--surface-3);color:#475569}.mod-legales{background:var(--violet-bg);color:var(--violet)}.mod-riesgo{background:#ffedd5;color:#c2410c}.mod-blacklist{background:var(--red-bg);color:var(--red-ink)}.mod-whitelist{background:var(--green-bg);color:var(--green-ink)}.mod-excepciones{background:#fef9c3;color:#a16207}.pill{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-3);color:var(--ink-2)}.field{display:flex;flex-direction:column;margin-bottom:13px}.field label{font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:500}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cond-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.cond-lado-modo{width:auto;height:20px;padding:0 16px 0 4px;font-size:11px;color:var(--muted);border-color:transparent;background-color:transparent}.cond-lado-modo:hover:not(:disabled),.cond-lado-modo:focus{border-color:var(--border-2);background-color:var(--surface);color:var(--ink-2, #333)}.sel-campo{position:relative}.sel-campo-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:38px;padding:0 10px;text-align:left;background:var(--surface);cursor:pointer;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--ink);font-size:13.5px}.sel-campo-btn>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-campo-btn:hover:not(:disabled){border-color:var(--border-strong)}.sel-campo-btn:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.sel-campo-btn:disabled{background:var(--surface-2);color:var(--muted);cursor:default}.sel-campo-btn.vacio>span:first-child{color:var(--muted)}.sel-campo-flecha{color:var(--muted);font-size:11px;flex:none}.sel-campo-pop{position:fixed;z-index:1200;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:6px}.sel-campo-busca{height:32px}.sel-campo-lista{max-height:260px;overflow-y:auto;scrollbar-width:thin}.sel-campo-grupo{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 8px 4px}.sel-campo-item{display:block;width:100%;text-align:left;border:none;background:none;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);font-size:13px;color:var(--ink)}.sel-campo-item.on{background:var(--brand-soft)}.sel-campo-item.elegido{font-weight:600}.sel-campo-vacio{padding:10px 8px;font-size:12.5px;color:var(--muted)}.probe-res{margin-top:8px}.probe-porque{margin-top:8px;display:flex;flex-direction:column;gap:2px}.probe-base{font-size:12.5px;color:var(--ink-2, #333);padding:4px 0 6px}.probe-caso{padding:4px 0}.probe-caso.gano{background:var(--green-bg, #e7f6ec);border-radius:var(--radius-sm);padding:6px 8px;margin:2px -8px}.probe-caso-head{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2, #333)}.probe-gano{font-size:11px;color:var(--green-ink, #1a7f37)}.probe-grupo{padding-left:18px}.probe-grupo-head{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);margin-top:2px}.probe-cond{display:flex;align-items:baseline;gap:6px;font-size:12.5px;color:var(--ink-2, #333);padding-left:18px}.probe-defecto{padding-left:0;color:var(--muted);margin-top:4px}.probe-marca{flex:none;width:14px;text-align:center;font-size:12px}.probe-marca.si{color:var(--green-ink, #1a7f37)}.probe-marca.no{color:var(--muted-2, #555)}.probe-marca.nd{color:var(--muted)}.cond-sicumple{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:2px 0 6px}.cond-sicumple select{width:auto;height:26px;padding:0 24px 0 8px;font-size:12px}.cond-grupo{border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:8px 10px;background:var(--surface-2)}.cond-grupo-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.cond-grupo-head select{width:auto;min-width:230px;height:28px;font-size:12.5px}.cond-o-tambien{display:flex;align-items:center;gap:10px;margin:10px 0;color:var(--muted);font-size:12px}.cond-o-tambien:before,.cond-o-tambien:after{content:"";flex:1;height:1px;background:var(--border)}.cond-alt-add{display:flex;align-items:center;gap:10px;margin-top:6px}.cond-alt-add .muted{font-size:12px}.cond-row.con-accion{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.9fr) 30px}.cond-row-acc{display:flex;align-items:center;height:38px}.cond-solo-lectura{font-size:12.5px;color:var(--ink-2, #333);background:var(--amber-bg, #fdf6e3);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:6px}.cond-expr{font-size:12px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:8px 10px;margin:0;white-space:pre-wrap;word-break:break-word;color:var(--ink-2, #333)}.chips-val{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:38px;padding:4px 6px;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface)}.chips-val:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.chips-val.off{background:var(--surface-2);opacity:.7}.chips-val input{flex:1;min-width:90px;border:none;outline:none;background:transparent;padding:2px;height:26px}.chip-val{display:inline-flex;align-items:center;gap:4px;padding:1px 4px 1px 8px;border-radius:999px;background:var(--surface-3, #f1efe8);color:var(--ink-2, #333);font-size:12px;white-space:nowrap}.chip-val button{border:none;background:none;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;padding:0 2px}.chip-val button:hover{color:var(--danger, #b42318)}.cond-rango{display:flex;align-items:center;gap:6px}.cond-rango input{min-width:0}.cond-rango select{width:auto;min-width:92px}.cond-ayuda{font-size:11.5px;color:var(--muted);margin:2px 0 6px}.cond-caso-head{display:flex;align-items:center;justify-content:space-between;margin:-2px 0 8px}.cond-caso-num{font-size:12px;color:var(--muted)}.cond-union{display:flex;align-items:center;gap:8px;margin:8px 0 4px}.cond-union select{width:auto;min-width:120px}.cond-caso-add{display:flex;align-items:center;gap:10px;margin:2px 0 12px}.builder-object-code.builder-object-cond{font-family:inherit;font-size:12.5px;letter-spacing:0}.cond-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.9fr);gap:12px;align-items:end}.cond-row .field{margin-bottom:0}@media (max-width: 900px){.cond-row{grid-template-columns:1fr}}.muted{color:var(--muted);font-size:13px}.derived{background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin:6px 0 14px}.error,.banner-err{color:var(--red-ink);background:var(--red-bg);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin:10px 0}.banner-ok{color:var(--green-ink);background:var(--green-bg);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin:10px 0}.sim-cuit-form{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:2px 0}.sim-cuit-field{flex:1 1 420px;max-width:520px;min-width:260px}.sim-cuit-input{height:42px;padding:0 14px;font-family:ui-monospace,SF Mono,Menlo,monospace}.sim-cuit-button{height:42px;white-space:nowrap}.ficha{display:grid;grid-template-columns:240px 1fr;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ficha-side{padding:22px;color:#fff;display:flex;flex-direction:column;gap:6px}.ficha-side.aprobar{background:linear-gradient(160deg,var(--dec-aprobar),color-mix(in srgb,var(--dec-aprobar) 82%,#000))}.ficha-side.observar{background:linear-gradient(160deg,var(--dec-observar),color-mix(in srgb,var(--dec-observar) 82%,#000))}.ficha-side.rechazar{background:linear-gradient(160deg,var(--dec-rechazar),color-mix(in srgb,var(--dec-rechazar) 82%,#000))}.ficha-verdict{font-size:22px;font-weight:800;letter-spacing:.5px}.ficha-side .lbl{font-size:11px;text-transform:uppercase;opacity:.8;letter-spacing:.05em;margin-top:12px}.ficha-side .big{font-size:24px;font-weight:700}.ficha-body{padding:20px}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:8px}.kv .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.kv .v{font-size:16px;font-weight:700;margin-top:2px}.reasons{margin:0;padding-left:18px}.reasons li{margin-bottom:6px}.examples{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chip{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:6px 12px;font-size:12px;cursor:pointer}.chip:hover{border-color:var(--brand);color:var(--brand)}.reqid{margin-top:14px;font-size:12px;color:var(--muted);font-family:ui-monospace,monospace}.flow-wrap{display:grid;grid-template-columns:210px 1fr;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;min-height:380px;background:var(--surface)}.flow-wrap.tpl{grid-template-columns:210px 1fr 280px;min-height:480px}.flow-scroll{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 90px)}.flow-scroll{overscroll-behavior:contain}@supports not selector(::-webkit-scrollbar){.flow-scroll,.flow-left{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}}.flow-scroll::-webkit-scrollbar,.flow-left::-webkit-scrollbar{width:12px;height:12px}.flow-scroll::-webkit-scrollbar-track,.flow-left::-webkit-scrollbar-track{background:transparent}.flow-scroll::-webkit-scrollbar-thumb,.flow-left::-webkit-scrollbar-thumb{background-color:var(--border-strong);background-clip:padding-box;border:4px solid transparent;border-radius:999px}.flow-scroll::-webkit-scrollbar-thumb:hover,.flow-left::-webkit-scrollbar-thumb:hover{background-color:var(--muted-2);border-width:3px}.flow-scroll::-webkit-scrollbar-corner{background:transparent}.flow-left,.flow-right{background:var(--surface-2);padding:16px}.flow-left{border-right:1px solid var(--border)}.flow-right{border-left:1px solid var(--border)}.flow-palette-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;padding:9px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;font-size:12.5px;cursor:grab}.flow-palette-item:hover{border-color:var(--brand)}.flow-palette-item.draggable{cursor:grab}.flow-palette-item.draggable:active{cursor:grabbing}.flow-palette-item.is-relacional{cursor:default;background:var(--surface-2);border-style:dashed}.flow-palette-item.is-relacional:hover{border-color:var(--border-strong)}.pill-relacional{background:var(--brand-soft);color:var(--brand-dark)}.pill-entrada{background:var(--brand-soft, #e7efff);color:var(--brand-dark, #1f4bb8)}.flow-canvas.drop-active{outline:2px dashed var(--brand, #2f6fed);outline-offset:-6px;background-image:linear-gradient(0deg,#2f6fed08,#2f6fed08)}.node.drop-target{outline:2px solid var(--brand, #2f6fed);box-shadow:0 0 0 4px var(--brand-soft, #e7efff)}.drop-hint{position:sticky;top:6px;left:6px;z-index:5;display:inline-block;margin:6px;padding:5px 11px;font-size:12px;font-weight:600;color:#fff;background:var(--brand, #2f6fed);border-radius:999px;pointer-events:none}.drop-hint.on-entrada{background:var(--green-ink, #1c7a3f)}.flow-divider{cursor:col-resize;background:var(--border, #e3e8f0);position:relative}.flow-divider:after{content:"";position:absolute;top:0;right:-3px;bottom:0;left:-3px}.flow-divider:hover,.flow-divider:active{background:var(--brand, #2f6fed)}.flow-left{min-width:0}.flow-left.collapsed{padding:10px 3px;display:flex;justify-content:center;align-items:flex-start}.flow-left-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.flow-left-head h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-name{flex:1 1 90px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-actions{display:flex;flex-wrap:wrap;gap:4px;flex:0 0 auto;margin-left:auto}.flow-left{overflow-x:hidden}.flow-left-head .icon-btn,.flow-left.collapsed .icon-btn,.src-actions .icon-btn{width:26px;height:26px;border-radius:7px}.flow-canvas{position:relative;padding:28px;overflow:hidden;background:transparent}.flow-zoom{background-image:radial-gradient(circle,#e5eaf2 1px,transparent 1px);background-size:22px 22px;background-color:#fcfdff;transition:background-color .35s ease}.flow-zoom.flow-running{background-color:#e8dfff}.flow-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.node{position:absolute;width:168px;background:var(--surface);border:1.5px solid var(--border-2);border-radius:13px;box-shadow:var(--shadow);cursor:pointer;overflow:hidden;transition:box-shadow .12s,border-color .12s,transform .12s}.node:hover{box-shadow:var(--shadow-md)}.flow-marquee{position:absolute;z-index:2;pointer-events:none;border:1px solid var(--brand);border-radius:4px;background:#2f6fed12}.flow-canvas.seleccionando{-webkit-user-select:none;user-select:none}.node.sel{outline:1.5px solid rgba(47,111,237,.5);outline-offset:1px;box-shadow:0 0 0 4px #2f6fed14,var(--shadow-md)}.node.sel.sel-activo{outline-color:#2f6fedc7;box-shadow:0 0 0 4px #2f6fed24,var(--shadow-md)}.node-head{display:flex;align-items:center;gap:8px;padding:9px 11px;font-weight:600;font-size:12.5px;border-bottom:1px solid var(--border)}.node-body{padding:8px 11px;font-size:11.5px;color:var(--muted)}.node-sub{margin-top:4px;line-height:1.35}.node-inc{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--amber-bg);color:var(--amber-ink);border:1px solid #f2d38a;border-radius:999px;padding:0 7px}.node-match{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 11px 8px;margin-top:-2px}.node-match code{font-size:10.5px;background:var(--brand-soft);color:var(--brand-dark);border-radius:5px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.node-badge{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--ok-bg, #e7f6ec);color:var(--ok-ink, #1c7a3f);border-radius:999px;padding:1px 7px}.node-stat{padding:0 11px 8px;display:flex;flex-direction:column;gap:1px}.node-stat-line{font-size:10.5px;font-weight:600;color:var(--ink, #1f2a44)}.node-stat-delta{font-size:10px;font-weight:700}.node-stat-delta.up{color:var(--red, #c0392b)}.node-stat-delta.down{color:var(--green-ink, #1c7a3f)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:8px 0}.stat-cell{display:flex;justify-content:space-between;gap:8px;background:var(--surface-2, #f6f8fc);border:1px solid var(--border, #e3e8f0);border-radius:8px;padding:6px 10px}.stat-cell .k{color:var(--muted);font-size:12px}.stat-cell .v{font-weight:700;font-size:13px}.trace-table th,.trace-table td{white-space:nowrap}.out-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.out-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border, #e3e8f0);border-radius:8px;background:var(--surface-2, #f6f8fc)}.out-row.sel{border-color:var(--brand, #2f6fed);box-shadow:0 0 0 2px var(--brand-soft, #e7efff)}.out-row-main{flex:1;min-width:0}.out-row-name{font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.out-row-sub{font-size:11.5px;margin-top:1px}.out-editor{border:1px solid var(--border, #e3e8f0);border-radius:10px;padding:12px 14px;margin-top:10px;background:var(--surface, #fff)}.out-order-block{margin-top:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.out-order-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.out-order-title{font-size:13px;font-weight:700;color:var(--ink)}.out-order{display:flex;flex-wrap:wrap;gap:7px}.out-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);border-radius:var(--radius-pill);font-size:12.5px;font-weight:500;cursor:grab;white-space:nowrap;box-shadow:var(--shadow-xs);transition:border-color .12s,box-shadow .12s}.out-chip:hover:not(.fixed){border-color:var(--brand);color:var(--brand-dark)}.out-chip:active:not(.fixed){cursor:grabbing}.out-chip.dragging{opacity:.45}.out-chip.over{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.out-chip.fixed{cursor:default;background:var(--surface-3);color:var(--muted);box-shadow:none}.out-chip-grip{color:var(--muted-2);font-size:11px;letter-spacing:-3px;padding-right:2px}.out-chip-fixed{color:var(--muted-2);font-size:11px}.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(166px,1fr));gap:9px}.dest-opt{display:flex;flex-direction:column;gap:3px;text-align:left;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font:inherit;color:inherit;transition:border-color .12s,box-shadow .12s}.dest-opt:hover:not(:disabled){border-color:var(--brand)}.dest-opt.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.dest-opt:disabled{cursor:default;background:var(--surface-2)}.dest-opt__name{font-size:var(--fs-card, 13.5px);font-weight:600;display:flex;align-items:center;gap:7px}.dest-opt:disabled .dest-opt__name{color:var(--muted)}.dest-opt__hint{font-size:11.5px;color:var(--muted)}.fold-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font:inherit;color:inherit;text-align:left}.fold-head:hover{border-color:var(--brand)}.fold-head__t{font-size:13px;font-weight:600;flex:1}.fold-body{border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:12px}.fold-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.fold-tools input{flex:1;min-width:170px}.fold-scroll{max-height:300px;overflow-y:auto}.req{color:var(--red, #c0392b);font-weight:700}.mini-field{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.mini-field.grow{flex:1;min-width:140px}.mini-field>span{font-weight:600}.std-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.std-file{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border, #e3e8f0);border-radius:8px;background:var(--surface-2, #f6f8fc);font-size:12.5px;cursor:pointer}.std-file.on{border-color:var(--brand, #2f6fed);background:var(--brand-soft, #eef4ff)}.std-file input{margin-top:2px}.field-err{color:var(--red, #c0392b);font-size:11.5px;margin-top:3px}.node.result{border-color:#7c4dd6}.node.result .node-head{background:#ece4fb}.node.result .node-head>svg{color:#6d3fce}.node.result .node-dot{background:#6d3fce}.node.result.sel{border-color:#6a37cc}.node-managed-note{display:flex;align-items:flex-start;gap:8px;width:100%;flex-basis:100%;font-size:12px;line-height:1.4;color:var(--brand-dark, #1f4bb8);background:var(--brand-soft, #eef4ff);border:1px solid var(--brand-soft, #d7e3fb);border-radius:var(--radius-sm);padding:9px 12px}.node-managed-note svg{flex:none;margin-top:1px;color:var(--brand)}.node-managed-note span{flex:1;min-width:0}.modal-foot.has-note{justify-content:flex-start}.node-policy{padding:2px 11px 8px;display:flex;flex-direction:column;gap:4px}.node-policy-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.node-policy-rules{font-size:10.5px;font-weight:600;color:var(--muted)}.node-policy-vars{font-size:10.5px;color:var(--brand-dark, #1f4bb8);background:var(--brand-soft, #eef4ff);border-radius:5px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.node.rule .node-head{background:#fff8ec}.node-result-metrics{display:grid;grid-template-columns:1fr;gap:2px 10px;padding:4px 11px 9px}.node-result-metrics>div{display:flex;justify-content:space-between;gap:8px;font-size:10.5px}.node-result-metrics .k{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-result-metrics b{font-weight:700;flex:0 0 auto;font-variant-numeric:tabular-nums}.node-input{padding:0 11px 8px;margin-top:-2px;font-size:10.5px;font-weight:600;color:var(--brand-dark, #1f4bb8);display:flex;align-items:center;gap:4px}.node-input.warn{color:var(--red, #c0392b)}.node-dot{width:9px;height:9px;border-radius:50%}.node.start .node-dot{background:var(--brand)}.node.rule .node-dot{background:var(--amber)}.node.ok .node-dot{background:var(--green)}.node.rev .node-dot{background:var(--amber)}.node.no .node-dot{background:var(--red)}.node.calc .node-dot{background:var(--violet)}.node.g-entrada{border-color:#6bbd86}.node.g-entrada .node-head{background:#dcf0e4}.node.g-entrada .node-head>svg{color:#158a49}.node.g-entrada .node-dot{background:#158a49}.node.g-entrada.sel{border-color:#4fae70}.node.g-enriquecimiento{border-color:#6fb0e0}.node.g-enriquecimiento .node-head{background:#dcebfa}.node.g-enriquecimiento .node-head>svg{color:#2166b5}.node.g-enriquecimiento .node-dot{background:#2166b5}.node.g-enriquecimiento.sel{border-color:#4f97d6}.node.g-exclusion{border-color:#e0ad4f}.node.g-exclusion .node-head{background:#fbeac6}.node.g-exclusion .node-head>svg{color:#c9741d}.node.g-exclusion .node-dot{background:#cf7d22}.node.g-exclusion.sel{border-color:#d29c36}.node.g-proceso{border-color:#5fb3ab}.node.g-proceso .node-head{background:#d9f0ed}.node.g-proceso .node-head>svg{color:#0e7a70}.node.g-proceso .node-dot{background:#0e7a70}.node.g-proceso.sel{border-color:#46a199}.node.g-politica{border-color:#8f97dd}.node.g-politica .node-head{background:#e0e3fa}.node.g-politica .node-head>svg{color:#3f4fb5}.node.g-politica .node-dot{background:#3f4fb5}.node.g-politica.sel{border-color:#6f7ace}.node.g-relacional{border-color:#e79f7c}.node.g-relacional .node-head{background:#fdeadf}.node.g-relacional .node-head>svg{color:#c2570f}.node.g-relacional .node-dot{background:#d2691e}.node.g-relacional.sel{border-color:#d17f52}.node.g-relacional .node-role-chip{background:#fadfce;color:#b45309}.node.g-relacional.g-rel-principal{border-color:#d2691e;border-width:2px}.node.g-relacional.g-rel-principal .node-head{background:#f8dcc8;box-shadow:inset 0 -1px #c2570f2e}.node.g-relacional.g-rel-principal .node-dot{background:#b45309}.node.node-main{border-width:2.5px}.node.node-main .node-head{font-weight:700;box-shadow:inset 0 -1px #0f172a12}.node.node-warn{border-color:#e6b866;background:#fdf6e9}.node.node-warn .node-head{background:#fdf1dc}.node.node-warn .node-head>svg{color:#c8871f}.node.node-warn .node-dot{background:#d9822b}.node.node-error{border-color:#d9534f;background:#fbe3e3}.node.node-error .node-head{background:#fdecec}.node.node-error .node-head>svg{color:#c0392b}.node.node-error .node-dot{background:var(--red, #c0392b)}.node-error-msg{display:flex;align-items:center;gap:5px;padding:6px 11px;font-size:10.5px;color:var(--red-ink, #b42318);background:#fdf2f2;border-bottom:1px solid #f3c9c9}.node-error-msg svg{flex:none;color:#c0392b}.node-error-msg b{font-weight:700}.node.node-exec-running{background:#fdeaea}.node.node-exec-completed{background:#e4f3ea}.node.node-exec-error{background:#f7d3d3}.node.node-exec-cancelled{background:#fdf0d9}.node-run-dot{width:13px;height:13px;flex:none;margin-left:auto;border-radius:50%;border:2px solid rgba(217,83,79,.28);border-top-color:#d9534f;animation:exec-spin .7s linear infinite}@media (prefers-reduced-motion: reduce){.node-run-dot{animation:none;border-top-color:#d9534f;border-right-color:#d9534f}}.node-dur{margin-left:auto;flex:none;font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--muted, #64748b);opacity:.9;white-space:nowrap}.node-run-detail{margin-top:4px;font-size:10.5px;line-height:1.35;color:var(--muted, #64748b)}.node-run-dot+.node-dur{margin-left:5px}.node.node-exec-running .node-body:after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:#e07a7a;vertical-align:middle;animation:nodeExecPulse 1s ease-in-out infinite}@keyframes nodeExecPulse{0%,to{opacity:.35}50%{opacity:1}}.node-ctx-menu{background:var(--surface, #fff);border:1px solid var(--border);border-radius:9px;box-shadow:0 10px 30px #0f172a2e;padding:4px;min-width:190px}.node-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;font-size:12.5px;color:var(--text, #1f2937);cursor:pointer;border-radius:6px;text-align:left}.node-ctx-item:hover:not(:disabled){background:var(--surface-2, #f1f5f9);color:var(--brand)}.node-ctx-item:disabled{color:var(--muted);cursor:not-allowed}.report-toplist{display:flex;flex-direction:column;gap:8px}.report-toprow{display:grid;grid-template-columns:130px 1fr 46px;align-items:center;gap:8px;font-size:12.5px}.report-toplabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.report-topbar{background:var(--surface-2, #f1f5f9);border-radius:999px;height:8px;overflow:hidden}.report-topbar>span{display:block;height:100%;border-radius:999px}.report-topval{text-align:right}.report-evo{display:flex;align-items:flex-end;justify-content:flex-start;gap:6px;height:150px;padding-top:8px}.report-evo .report-evo-col{max-width:64px}.report-evo-single{display:block;width:100%;text-align:left;background:none;border:1px solid var(--border-2);border-radius:10px;padding:10px 12px;cursor:pointer}.report-evo-single:hover{border-color:var(--brand)}.report-evo-single.active{outline:2px solid var(--brand);outline-offset:1px}.report-evo-single-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px;margin-bottom:8px}.report-evo-mini{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--surface-2, #f1f5f9)}.report-evo-mini>span{display:block;height:100%}.report-evo-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:11.5px;color:var(--muted)}.report-evo-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}@media (max-width: 560px){.report-evo-single{padding:9px 10px}.report-evo-single-head{flex-direction:column;align-items:flex-start;gap:1px;margin-bottom:6px;font-size:12px}.report-evo-legend{gap:2px 10px;margin-top:6px}}.report-evo-col{flex:1;min-width:8px;height:100%;background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:flex-end}.report-evo-bar{display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:100%;border-radius:4px 4px 0 0;overflow:hidden;background:var(--surface-2, #f1f5f9)}.report-evo-bar>span{display:block;width:100%}.report-evo-col.active .report-evo-bar{outline:2px solid var(--brand);outline-offset:1px}@media (max-width: 720px){.report-toprow{grid-template-columns:90px 1fr 40px}}.flow-cfg-row{margin-bottom:12px}.flow-cfg-row .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.flow-editable{user-select:none;-webkit-user-select:none;touch-action:none}.flow-editable .node{cursor:grab;touch-action:none}.flow-editable .node:active{cursor:grabbing}.flow-editable.connecting,.flow-editable.connecting .node{cursor:crosshair}.node.connect-src{outline:2px dashed var(--brand);outline-offset:2px}.conn-hit{stroke:transparent;stroke-width:14;fill:none;pointer-events:stroke;cursor:pointer}.btn-sm.mode-on{background:var(--brand);color:#fff;border-color:var(--brand)}.node-head .node-role-chip{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.01em;white-space:nowrap;background:var(--surface-3, #eef2f7);color:var(--muted, #64748b)}.node-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-gear{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:2px;border-radius:6px;display:grid;place-items:center;flex:none}.node-gear:hover{background:var(--surface-2);color:var(--brand)}.node-play{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:2px;border-radius:6px;display:grid;place-items:center;flex:none}.node-play:hover:not(:disabled){background:var(--brand-soft, #e7efff);color:var(--brand)}.node-play:disabled{opacity:.35;cursor:not-allowed}.node-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;touch-action:none;opacity:0;transition:opacity .12s ease;z-index:3;background:linear-gradient(135deg,transparent 0 45%,var(--border-2) 45% 55%,transparent 55% 70%,var(--border-2) 70% 80%,transparent 80%);border-bottom-right-radius:10px}.node:hover .node-resize,.node.sel .node-resize{opacity:.9}.node-resize:hover{opacity:1}.node-resize:hover{background:linear-gradient(135deg,transparent 0 45%,var(--brand) 45% 55%,transparent 55% 70%,var(--brand) 70% 80%,transparent 80%)}.node.wide .node-head{font-size:13.5px}.node.wide .node-head .node-title{white-space:normal}.node.wide .node-result-metrics{grid-template-columns:repeat(3,1fr);gap:5px 14px;padding:8px 13px 12px}.node.wide .node-result-metrics>div{font-size:12px}.node.wide .node-body,.node.wide .node-match code,.node.wide .node-input,.node.wide .node-stat-line{font-size:12.5px}.node.wide .node-match code{white-space:normal}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:60;padding:24px}.modal-overlay-nested{background:transparent;z-index:61}.modal{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.modal.modal-sm{max-width:460px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-2);background:var(--surface-2)}.modal-head h2{margin:2px 0 0;font-size:16.5px}.modal-kicker{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand)}.modal-close{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:4px;border-radius:var(--radius-xs)}.modal-close:hover{background:var(--surface-3);color:var(--ink)}.modal-close:focus-visible{outline:none;box-shadow:var(--ring)}.modal-body{padding:16px 20px;overflow-y:auto}.modal-sec{margin:16px 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:1px solid var(--border);padding-top:12px}.modal-body>.modal-sec:first-child{border-top:none;margin-top:0;padding-top:0}.modal-actions-row{display:flex;gap:8px;margin:6px 0}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--border-2);background:var(--surface-2)}.modal-foot-note{font-size:11.5px;color:var(--muted);max-width:60ch}.modal-foot-end{justify-content:flex-end;gap:8px}.confirm-msg{font-size:13.5px;color:var(--ink-2);line-height:1.5}.confirm-msg.danger-msg{background:var(--red-bg);border:1px solid #f3b4b4;border-radius:var(--radius-sm);padding:10px 12px;color:var(--red-ink)}.wiz-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.wiz-step{font-size:11.5px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 10px}.wiz-step.on{background:var(--brand-soft);color:var(--brand-dark);border-color:#c7dbff;font-weight:700}.wiz-step.done{color:var(--green-ink);border-color:#a7e0bd}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 640px){.type-grid{grid-template-columns:1fr}}.type-card{text-align:left;border:1px solid var(--border-2);border-radius:var(--radius);padding:12px 14px;background:var(--surface);cursor:pointer;transition:border-color .12s,box-shadow .12s}.type-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.type-card.sel{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.type-card-head{display:flex;align-items:center;gap:8px;font-size:14px}.type-card-head .pill{margin-left:auto}.type-card-desc{font-size:12px;color:var(--muted);margin-top:4px}.detect-summary{display:flex;gap:16px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px}.pending-note{display:flex;align-items:center;gap:8px;background:var(--amber-bg);border:1px solid #f2d38a;border-radius:var(--radius-sm);padding:9px 12px;font-size:12.5px;color:var(--amber-ink)}.pending-note svg{flex:none}.modal-sec-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tech-config{display:flex;flex-direction:column;gap:10px}.path-input{display:flex;gap:8px;align-items:center}.path-input input{flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:12.5px}.path-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.path-meta .k{text-transform:uppercase;letter-spacing:.04em;font-size:10px;margin-right:5px;color:var(--muted-2)}.path-meta code{word-break:break-all;background:var(--surface-3);padding:1px 5px;border-radius:4px}.dup-opts{display:flex;flex-direction:column;gap:7px}.dup-opts .chk{font-size:13px;color:var(--ink-2)}.dup-opts .chk.muted{color:var(--muted)}.global-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--brand-soft);border:1px solid #c7dbff;border-radius:var(--radius);padding:12px 16px;margin-bottom:16px}.global-notice-txt{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.global-notice-txt svg{color:var(--brand);flex:none}.global-notice-actions{display:flex;gap:8px;flex-wrap:wrap}.flow-active-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;margin-bottom:14px}.flow-active-bar .fab-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.flow-active-bar b{font-size:14px}.flow-active-bar .fab-select{width:auto;min-width:240px}.out-fields{margin:6px 0 0;padding-left:18px;font-size:13px}.out-fields li{margin:3px 0}.probe-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.probe-field{display:flex;flex-direction:column;font-size:11.5px;color:var(--muted);gap:3px}.probe-field input{width:110px}.filter-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 30px;gap:5px;margin-bottom:6px;align-items:center}.filter-row select,.filter-row input{width:100%;min-width:0}.filter-row .btn-del{width:30px;height:30px}.sql-preview{margin-top:10px;background:#0b1220;color:#a5f3fc;font-family:ui-monospace,monospace;font-size:11.5px;padding:9px 11px;border-radius:8px;overflow-x:auto}.ai-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}.ai-usecase{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;margin-bottom:10px}.ai-usecase:hover{border-color:var(--brand);background:var(--brand-soft)}.ai-uc-ico{width:32px;height:32px;border-radius:8px;background:var(--violet-bg);color:var(--violet);display:grid;place-items:center;flex:none}.ai-chat{display:flex;flex-direction:column;min-height:520px}.ai-msgs{flex:1;display:flex;flex-direction:column;gap:14px;padding:6px 2px 16px}.ai-msg{display:flex;gap:10px;max-width:82%}.ai-msg.user{align-self:flex-end;flex-direction:row-reverse}.ai-bubble{padding:11px 14px;border-radius:13px;font-size:13.5px;line-height:1.5}.ai-msg.bot .ai-bubble{background:var(--surface-2);border:1px solid var(--border);border-top-left-radius:4px}.ai-msg.user .ai-bubble{background:var(--brand);color:#fff;border-top-right-radius:4px}.ai-ava{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none}.ai-ava.bot{background:linear-gradient(135deg,var(--violet),var(--brand));color:#fff}.ai-ava.user{background:var(--surface-3);color:var(--ink-2)}.ai-input{display:flex;gap:10px;border-top:1px solid var(--border);padding-top:14px}.ai-input input{flex:1}.semaphore{width:12px;height:12px;border-radius:50%;display:inline-block}.sem-green{background:var(--green)}.sem-amber{background:var(--amber)}.sem-red{background:var(--red)}.delta-up{color:var(--green);font-weight:600}.delta-down{color:var(--red);font-weight:600}.delta-flat{color:var(--muted)}.bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:10px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.bar{width:100%;max-width:42px;border-radius:6px 6px 0 0;background:var(--brand)}.bar-lbl{font-size:11px;color:var(--muted)}.mock-note{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--amber-ink);background:var(--amber-bg);padding:3px 9px;border-radius:999px}.proj-grid{align-items:stretch;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.proj-card{cursor:pointer;transition:border-color .12s,box-shadow .12s;display:flex;flex-direction:column;min-height:200px;padding:var(--sp-5)}.proj-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}.proj-card-head{display:flex;align-items:flex-start;gap:12px}.proj-ico{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none}.proj-name{font-weight:700;font-size:15px}.proj-desc{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.35;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.proj-card-head .env,.proj-name .env{flex:none}.proj-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:14px}.proj-meta>div{display:flex;flex-direction:column}.proj-meta .k{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.proj-meta .v{font-size:13px;font-weight:600}.proj-counts{display:flex;gap:16px;border-top:1px solid var(--border);padding-top:12px;margin-top:auto;font-size:12.5px;color:var(--muted)}.proj-counts b{color:var(--ink)}.proj-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.proj-card.archived{opacity:.62}.proj-card.archived:hover{opacity:1}.progress{height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--brand),#4f46e5);border-radius:999px}.ptabs{display:flex;gap:2px;border-bottom:1px solid var(--border-2);overflow-x:auto;overflow-y:hidden}.ptab{border:none;background:none;padding:11px 14px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;font-family:inherit;border-radius:var(--radius-xs) var(--radius-xs) 0 0;transition:color .12s,background .12s}.ptab:hover{color:var(--ink);background:var(--surface-2)}.ptab.active{color:var(--brand);border-bottom-color:var(--brand);background:none}.ptab:focus-visible{outline:none;box-shadow:var(--ring)}.stepper{display:flex;align-items:center}.step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.step:not(:last-child):after{content:"";position:absolute;top:15px;left:50%;width:100%;height:2px;background:var(--border);z-index:0}.step.done:not(:last-child):after,.step.current:not(:last-child):after{background:var(--brand)}.step-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--border);color:var(--muted);font-size:12px;font-weight:700;z-index:1}.step.done .step-dot{background:var(--brand);border-color:var(--brand);color:#fff}.step.current .step-dot{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.step-lbl{font-size:11.5px;margin-top:7px;color:var(--muted);font-weight:600}.step.current .step-lbl,.step.done .step-lbl{color:var(--ink)}.flow-mini{display:grid;grid-template-columns:240px 1fr;gap:0;border:1px solid var(--border-2);border-radius:var(--radius);overflow:hidden;min-height:300px}.flow-mini-palette{background:var(--surface-2);border-right:1px solid var(--border);padding:14px}.flow-mini-canvas{padding:20px;display:flex;flex-wrap:wrap;gap:16px;align-content:flex-start;background-image:radial-gradient(circle,#dbe2ec 1px,transparent 1px);background-size:20px 20px;background-color:#fbfcfe}.pol-actor{display:flex;align-items:center;gap:10px;margin-bottom:14px}.pol-actor label{font-size:12px;color:var(--muted)}.pol-actor input{width:200px}.pol-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start}@media (max-width: 960px){.pol-grid{grid-template-columns:1fr}}.table tbody tr.row-click{cursor:pointer}.table tbody tr.row-click:hover>td{background:var(--row-hover)}.col-chevron{width:26px;text-align:right;color:var(--muted);font-size:18px;line-height:1;opacity:.45}.table tbody tr.row-click:hover .col-chevron{opacity:.85}.table tbody tr.row-click.is-active>td{background:var(--row-hover)}.pol-focus{display:block}.pol-focus-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.pol-crumb{font-size:13.5px;color:var(--muted)}.pol-crumb b{color:var(--ink)}.pol-list,.pol-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.pol-list-head{display:flex;justify-content:space-between;align-items:center}.newpolicy{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:12px;background:var(--surface-2);border-radius:var(--radius-sm)}.folder{margin-top:14px}.folder-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;border-radius:var(--radius-sm);color:#475569;background:var(--surface-2)}.folder-count{margin-left:auto;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0 8px;font-size:11px;color:var(--muted)}.env-head-Development{color:#0369a1}.env-head-Test{color:var(--amber)}.env-head-Production{color:var(--green)}.plist{list-style:none;margin:8px 0 0;padding:0}.plist li{padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;transition:all .12s}.plist li:hover{border-color:var(--border-2);background:var(--surface-2)}.plist li.active{border-color:var(--brand);background:var(--brand-soft)}.pl-name{font-weight:600;font-size:13.5px}.pl-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:4px}.pl-project{margin-top:6px}.lib-card{padding:0;overflow:hidden}.lib-card .table-wrap{border:none;border-radius:0}.lib-toolbar{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-2);background:var(--surface-2);flex-wrap:wrap}.lib-search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;border:1px solid var(--ctrl-border);border-radius:var(--ctrl-radius);padding:8px 12px;background:var(--surface);color:var(--muted);box-shadow:var(--ctrl-inset);transition:border-color .12s,box-shadow .12s}.lib-search:focus-within{border-color:var(--brand);box-shadow:var(--ring),var(--ctrl-inset)}.lib-filter{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.lib-filter select{width:auto;min-width:150px}.lib-new{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.lib-table{width:100%}.lib-table td,.lib-table th{vertical-align:middle}.lib-table tr.archived{opacity:.62}.lib-table tbody tr.row-click{cursor:pointer}.lib-table tbody tr.row-click:hover{background:var(--row-hover)}.lib-name{font-weight:600}.link-name{border:none;background:none;padding:0;font:inherit;font-weight:600;color:var(--brand);cursor:pointer;text-align:left}.link-name:hover{text-decoration:underline}.lib-actions{display:flex;gap:6px;flex-wrap:wrap}.pol-cat{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:var(--brand-soft);color:var(--brand)}.lib-empty{text-align:center;padding:48px 20px}.lib-empty-ico{font-size:40px}.lib-empty h3{margin:10px 0 4px}.lib-empty p{color:var(--muted);margin:0 0 16px}.import-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.import-item{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--surface);cursor:pointer;transition:all .12s}.import-item:hover{border-color:var(--brand);background:var(--brand-soft)}.import-item-name{font-weight:600;display:flex;align-items:center;gap:8px}.import-item-meta{font-size:12px;color:var(--muted);margin-top:3px}.import-item-vars{font-size:11.5px;color:var(--muted);margin-top:4px}.import-item-cta{color:var(--brand);font-weight:600;white-space:nowrap;font-size:13px}.pill-imported{background:var(--brand-soft);color:var(--brand)}.pill-local{background:var(--surface-3);color:#475569}.pd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin-bottom:14px;flex-wrap:wrap}.versions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.vchip{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px}.vchip.sel{border-color:var(--brand);background:var(--brand-soft)}.vtoolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.vactions{display:flex;gap:8px;align-items:center}.zoom-ctrl{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.zoom-ctrl .btn-icon{width:26px;height:26px;border:none;background:transparent}.zoom-ctrl .btn-icon:hover:not(:disabled){background:var(--surface-2);color:var(--brand)}.zoom-ctrl .btn-icon:disabled{opacity:.4;cursor:not-allowed}.zoom-ctrl .btn-sm{border:none;background:transparent;padding:4px 8px}.zoom-ctrl .btn-sm:hover{background:var(--surface-2)}.zoom-pct{min-width:42px;text-align:center;font-size:12px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}.lock-note{background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--radius-sm);padding:10px;font-size:13px;color:var(--muted)}.rules-editor{display:flex;flex-direction:column;gap:12px}.rule-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--surface-2)}.rule-row{display:flex;gap:10px;align-items:flex-end}.rule-cond{display:flex;gap:10px;align-items:flex-end;margin:10px 0;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.field.grow{flex:1}.field.grow,.rule-row .field,.rule-cond .field{margin-bottom:0}.w-prio{width:84px}.w-op{width:180px}.w-val{width:120px}.w-dec{width:130px}.w-mod{width:128px}.rule-card textarea{font-family:ui-monospace,monospace;font-size:12px}.editor-actions{display:flex;justify-content:space-between;margin-top:6px}.params-block{border:1px solid var(--border-2);border-radius:var(--radius);padding:14px;margin:16px 0;background:var(--surface-2)}.params-head{display:flex;justify-content:space-between;align-items:center}.params-head h3{margin:0}.params-editor{display:flex;flex-direction:column;gap:8px;margin-top:10px}.param-row{display:grid;grid-template-columns:1.4fr .9fr auto .9fr 1.6fr 34px;gap:8px;align-items:center}.chk{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);white-space:nowrap}.pol-section{border:1px solid var(--border-2);border-radius:var(--radius);padding:16px 18px;margin-top:16px;background:var(--surface);box-shadow:var(--shadow-xs)}.pol-section>.versions:first-child,.pol-section .versions{margin-top:0}.pol-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.pol-section-head h3{margin:0;font-size:15px}.pol-section-head .muted{font-size:12.5px}.ro-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--amber-bg);border:1px solid #f2d38a;border-radius:var(--radius-sm);padding:14px 16px;margin-top:12px}.ro-banner.review{background:var(--brand-soft);border-color:#c7dbff}.ro-banner-txt strong{display:block;font-size:14px;color:var(--amber-ink);margin-bottom:2px}.ro-banner.review .ro-banner-txt strong{color:var(--brand-dark)}.ro-banner-txt p{margin:0;font-size:13px;color:var(--ink-2);max-width:60ch}.ro-banner .primary{flex:none}.draft-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--green-bg);border:1px solid #a7e0bd;border-radius:var(--radius-sm);padding:12px 16px;margin-top:12px}.draft-hint{font-size:13px;color:var(--green-ink);font-weight:600}.draft-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-danger{border:1px solid var(--border-2);background:var(--surface);color:var(--red);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}.btn-danger:hover{background:var(--red-bg);border-color:#f0b4b4}.btn-danger-solid{border:1px solid var(--red);background:var(--red);color:#fff;box-shadow:0 1px 2px #dc262647}.btn-danger-solid:hover{background:var(--red-ink);border-color:var(--red-ink)}.btn-danger-solid:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.rule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rule-head-main{min-width:0}.rule-name{font-weight:600;font-size:14px;color:var(--ink)}.rule-tags{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}.rule-tags .tag{font-size:11px;padding:1px 8px;border-radius:999px;background:var(--surface-3);color:var(--muted);border:1px solid var(--border)}.rule-tags .tag.dec-aprobar{background:color-mix(in srgb,var(--dec-aprobar) 15%,#fff);color:color-mix(in srgb,var(--dec-aprobar) 78%,#000);border-color:color-mix(in srgb,var(--dec-aprobar) 35%,#fff)}.rule-tags .tag.dec-observar{background:color-mix(in srgb,var(--dec-observar) 15%,#fff);color:color-mix(in srgb,var(--dec-observar) 78%,#000);border-color:color-mix(in srgb,var(--dec-observar) 35%,#fff)}.rule-tags .tag.dec-rechazar{background:color-mix(in srgb,var(--dec-rechazar) 15%,#fff);color:color-mix(in srgb,var(--dec-rechazar) 78%,#000);border-color:color-mix(in srgb,var(--dec-rechazar) 35%,#fff)}.rule-summary{font-size:12.5px;color:var(--muted);font-family:ui-monospace,monospace}.rule-head-actions{display:flex;gap:6px;flex:none}.rule-head-actions .btn-del{width:auto;height:auto;padding:6px 10px;font-size:12.5px;font-weight:600}.rule-card.open{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.rule-body{margin-top:12px;border-top:1px dashed var(--border-2);padding-top:12px}.rule-body-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.rule-del-btn,.rule-del-btn span{white-space:nowrap}@media (max-width: 560px){.rule-body-foot{flex-direction:column-reverse;align-items:stretch}.rule-body-foot .btn-sm{width:100%;justify-content:center}}.col-actions{white-space:nowrap}.row-actions{display:flex;gap:6px;justify-content:flex-end}.map-source{margin-top:16px}.map-source-head{display:flex;align-items:center;gap:8px;font-size:13.5px;margin-bottom:6px}.map-select{width:auto;min-width:170px}.map-default{width:90px}.map-warn{color:var(--amber);margin-left:6px;cursor:help}.map-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.req-tag{margin-left:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--red, #c0392b);background:var(--red-bg, #fbeaea);border:1px solid #f0c4c4;border-radius:999px;padding:1px 7px;white-space:nowrap}.table tr.row-warn td{background:var(--red-bg, #fdf2f2)}.src-summary{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.src-summary .ss-row{display:flex;align-items:baseline;gap:12px;min-width:0}.src-summary .ss-k{flex:0 0 140px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.src-summary .ss-v{flex:1;min-width:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}.src-summary .ss-full{flex-direction:column;gap:3px}.src-summary .ss-full .ss-k{flex:none}.src-summary .ss-path{display:block;width:100%;font-size:12.5px;background:var(--surface-2, #f6f8fc);border:1px solid var(--border, #e3e8f0);border-radius:6px;padding:6px 9px;overflow-wrap:anywhere;word-break:break-all}@media (max-width: 560px){.src-summary .ss-row{flex-direction:column;gap:2px}.src-summary .ss-k{flex:none}}.lineage{font-size:12px;color:var(--ink-2)}.lineage code{background:var(--surface-3);padding:1px 5px;border-radius:4px}.contract-block{margin-top:18px;border-top:1px dashed var(--border-2);padding-top:14px}.contract-block h4{margin:0 0 10px;font-size:14px}.contract-ok{background:var(--green-bg);color:var(--green-ink);border:1px solid #a7e0bd;border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;margin-bottom:10px}.contract-warns{background:var(--amber-bg);border:1px solid #f2d38a;border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-bottom:10px}.contract-warns ul{margin:6px 0 0;padding-left:18px}.contract-warns li{margin:2px 0}.contract-warns li.warn-error{color:var(--red-ink)}.contract-warns li.warn-info{color:var(--muted)}.contract-info{margin:8px 0 0;padding-left:18px;font-size:12px;color:var(--muted)}.contract-info li{margin:2px 0}.contract-info code{background:var(--surface-3);padding:1px 5px;border-radius:4px}.pol-active{font-size:11.5px;font-weight:700;color:var(--green-ink, #1c7a3f);background:var(--green-bg, #e7f6ec);border:1px solid #a7e0bd;border-radius:999px;padding:1px 9px;margin-left:8px;vertical-align:middle;white-space:nowrap}.pol-inactive{font-size:11.5px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:1px 9px;margin-left:8px;vertical-align:middle;white-space:nowrap}.empty-vars{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--radius-sm);padding:18px}.empty-vars p{margin:0;font-size:13px}.pol-section.pulse{animation:sectionPulse 2.2s ease-out 1}@keyframes sectionPulse{0%{box-shadow:0 0 #3b82f600}15%{box-shadow:0 0 0 3px #3b82f673}to{box-shadow:0 0 #3b82f600}}.flow-skeleton .sk-bar{border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:skShimmer 1.3s ease-in-out infinite}@keyframes skShimmer{0%{background-position:100% 0}to{background-position:0 0}}.vars-used td,.vars-used th{vertical-align:middle}.vars-used tr.row-problem td{background:var(--amber-bg, #fdf6e3)}.vars-used .lineage code{background:var(--surface-3);padding:1px 5px;border-radius:4px;font-size:11.5px}.var-diag{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.diag-pill{font-size:12.5px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2)}.diag-pill b{font-weight:800}.diag-pill.ok{color:var(--green-ink, #1c7a3f);background:var(--green-bg, #e7f6ec);border-color:#a7e0bd}.diag-pill.warn{color:var(--amber-ink, #8a6100);background:var(--amber-bg, #fdf6e3);border-color:#f2d38a}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.res-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--surface)}.res-k{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.res-v{font-size:13px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.res-reasons{margin:0;padding-left:16px;font-size:12.5px}.res-reasons li{margin:1px 0}.var-picker{max-width:620px}.var-search{margin:4px 0 12px}.var-picklist{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow-y:auto}.var-pick{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer}.var-pick.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.var-pick input{margin-top:3px}.var-pick-main{min-width:0}.var-pick-name{font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px}.var-pick-meta{font-size:11.5px;color:var(--muted);margin-top:2px}.var-pick-meta code{background:var(--surface-3);padding:1px 5px;border-radius:4px}.pol-library{margin-top:6px;border-top:1px dashed var(--border-2);padding-top:10px;display:flex;flex-direction:column;gap:6px}.pol-library-head{font-size:12px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:8px}.pol-library .soon{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-3);color:var(--muted);border-radius:999px;padding:1px 7px}.pol-library button:disabled{opacity:.6;cursor:not-allowed}.pd-head-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}.pd-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pd-actions .pd-badge{margin-right:2px}.pol-archived{font-size:11.5px;font-weight:700;color:var(--muted);background:var(--surface-3, #eef1f6);border:1px solid var(--border-2);border-radius:999px;padding:1px 9px;margin-left:8px;vertical-align:middle;white-space:nowrap}.th-action{width:1%}.col-action{width:1%;white-space:nowrap;display:flex;align-items:center;justify-content:flex-end;gap:6px}.col-action .btn-sm,.col-action .btn-remove{flex:0 0 auto}@media (max-width: 640px){.col-action{flex-wrap:wrap;row-gap:6px}}.btn-remove{min-width:74px;text-align:center;padding:5px 12px;font-size:12px;font-weight:600;line-height:1.1;border-radius:7px;border:1px solid var(--red, #c0392b);background:var(--surface);color:var(--red, #c0392b);cursor:pointer}.btn-remove:hover:not(:disabled){background:var(--red, #c0392b);color:#fff}.btn-remove:disabled{opacity:.5;cursor:not-allowed}.btn-danger.btn-sm{padding:6px 12px;font-size:12.5px;display:inline-flex;align-items:center;gap:6px}.tag-incomplete{background:var(--amber-bg, #fdf6e3);color:var(--amber-ink, #8a6100);border:1px solid #f2d38a;font-weight:700}.req-hint{font-size:10.5px;font-weight:700;color:var(--amber-ink, #8a6100);margin-left:6px}.plist li.archived{opacity:.68}.pl-arch{margin-left:6px;font-size:11px}.danger-card{border-color:#f0c9c0}.danger-zone{display:flex;flex-direction:column;gap:10px;margin-top:6px}.danger-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-wrap:wrap}.danger-txt{display:flex;flex-direction:column;gap:2px;min-width:240px;flex:1}.danger-txt b{font-size:13.5px}.danger-txt .muted{font-size:12px}.danger-label{color:var(--red, #c0392b)}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-grid .field.grow{grid-column:1 / -1}.audit-tab{display:flex;flex-direction:column;gap:18px}.audit-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:4px}.audit-filters .field{margin:0;min-width:130px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.detail-grid{grid-template-columns:1fr}}.detail-grid pre{background:#0b1220;color:#e2e8f0;padding:12px;border-radius:var(--radius-sm);font-size:12px;overflow-x:auto;margin:4px 0 12px}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:50;width:var(--sidebar-w);transform:translate(-100%);transition:transform .2s}.sidebar.open{transform:none}.content{padding:18px}}.matrix-layout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}@media (max-width: 900px){.matrix-layout{grid-template-columns:1fr}}.matrix-list{display:flex;flex-direction:column;gap:8px}.matrix-new{display:flex;gap:6px}.matrix-new input{flex:1;min-width:0}.matrix-card{position:relative;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;transition:border-color .12s,box-shadow .12s}.matrix-card:hover{border-color:var(--brand)}.matrix-card.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}.matrix-card .mc-name{font-weight:700;font-size:13.5px;color:var(--ink)}.matrix-card .mc-meta{font-size:11.5px;color:var(--muted);margin-top:2px}.matrix-card .mc-del{color:var(--muted)}.matrix-card .mc-del:hover{color:var(--red)}.matrix-card.mc-off{opacity:.72}.matrix-card .mc-badge-off{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:600;color:var(--amber-ink, #92600a);background:var(--amber-bg, #fdf3e0);border:1px solid #f0d9a8;border-radius:999px;padding:0 7px;vertical-align:middle}.matrix-card .mc-actions{display:flex;align-items:center;gap:10px;margin-top:8px}.matrix-card .mc-act{font-size:11.5px;font-weight:600;color:var(--brand)}.matrix-card .mc-act:hover{text-decoration:underline}.matrix-editor{min-width:0}.matrix-meta{display:flex;flex-wrap:wrap;gap:10px}.matrix-cols{display:flex;flex-direction:column;gap:10px;align-items:stretch}.matrix-col-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;background:var(--surface);min-width:210px;display:flex;flex-direction:column;gap:6px}.matrix-col-card .mcc-head{display:flex;gap:6px;align-items:center}.matrix-col-card .mcc-head .btn-del{width:var(--ctrl-h-sm);height:var(--ctrl-h-sm);flex:none}.matrix-col-card .mcc-label{flex:1;min-width:0;font-weight:600}.matrix-col-card .mcc-key{font-size:11px;color:var(--muted)}.matrix-col-card .mcc-logic{width:auto;align-self:flex-start}.matrix-col-card .mcc-cond{display:grid;grid-template-columns:1fr 78px 1fr auto;gap:5px;align-items:center}.matrix-col-card .mcc-cond input,.matrix-col-card .mcc-cond select{min-width:0}.matrix-col-card .mcc-cond select{padding-right:22px;background-position:right 6px center}.matrix-col-card .mcc-cond .btn-del{width:var(--ctrl-h-sm);height:var(--ctrl-h-sm)}.matrix-col-card .mcc-actions{display:flex;flex-wrap:wrap;gap:6px}.matrix-col-card .mcc-warn{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--red);margin:2px 0 4px}.matrix-col-card .mcc-warn code{background:var(--red-bg);color:var(--red-ink);padding:0 4px;border-radius:3px}.matrix-card.mc-invalid{border-color:#e0a3a1}.matrix-card .mc-badge-err{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:600;color:var(--red-ink, #b42318);background:var(--red-bg, #fdeaea);border:1px solid #f0b8b6;border-radius:999px;padding:0 7px;vertical-align:middle}.matrix-col-card.mcc-error{border-color:#d9534f;background:#fdf3f3}.matrix-col-card .mcc-warn.err{color:var(--red-ink, #b42318);font-weight:500}table.matrix-grid .mg-cell.cell-err{border-color:var(--red);background:var(--red-bg)}.mx-del-btn{color:var(--red-ink, #b42318);border-color:#e6b3b1}.mx-del-btn:hover{background:var(--red-bg, #fdeaea)}.table tbody tr.row-active>td{background:var(--brand-soft, #eef4ff)}.fc-combo{position:relative;min-width:0}.fc-combo .fc-input{width:100%}.fc-combo.fc-invalid .fc-input{border-color:var(--red);background:var(--red-bg)}.fc-pop{position:absolute;z-index:30;top:calc(100% + 2px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}.fc-opt{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:5px 8px;cursor:pointer;font-size:12px}.fc-opt.hi,.fc-opt:hover{background:var(--brand-soft, #eef4ff)}.fc-opt.sel{font-weight:600}.fc-opt .fc-opt-name{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-opt .fc-opt-group{color:var(--muted);font-size:10.5px;flex:none}.fc-empty{padding:8px;font-size:12px;color:var(--muted);text-align:center}.matrix-card .mc-prefix{background:var(--brand-soft);color:var(--brand-dark);padding:0 5px;border-radius:4px;font-size:10.5px}.matrix-col-add{border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted);min-width:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-size:12px}.matrix-col-add:hover{border-color:var(--brand);color:var(--brand)}table.matrix-grid td,table.matrix-grid th{vertical-align:middle}table.matrix-grid .mg-label{width:100%;font-weight:600}table.matrix-grid .mg-cell{width:100%;text-align:right}table.matrix-grid .mg-type{width:100%}table.matrix-grid .mg-pct{display:flex;align-items:center;gap:3px}table.matrix-grid .mg-pct .mg-cell{text-align:right}table.matrix-grid .mg-pct-suffix{color:var(--muted);font-size:12px}.matrix-var{font-size:11px;background:var(--brand-soft);color:var(--brand-dark);padding:1px 5px;border-radius:4px}table.matrix-grid tr.mg-conflict>td{background:var(--red-bg, #fdeaea)}table.matrix-grid tr.mg-conflict .mg-label{border-color:#e07a79}.mg-conflict-msg{display:flex;align-items:center;gap:4px;margin-top:3px;font-size:10.5px;color:var(--red-ink, #b42318)}.mg-conflict-msg svg{flex:none;color:#c0392b}.matrix-save-bar{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.matrix-save-bar .grow{flex:1}table.matrix-preview .matrix-match-row td{background:var(--brand-soft);font-size:11px}table.matrix-preview .matrix-match-row code{color:var(--brand-dark)}.onboarding-flow .ob-icon{width:52px;height:52px;border-radius:14px;margin:0 auto;display:flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand-dark)}.wizard-steps{display:flex;flex-wrap:wrap;gap:6px}.wizard-steps .ws-chip{font-size:11.5px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.wizard-steps .ws-chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.wizard-steps .ws-chip.done{background:var(--green-bg);color:var(--green-ink);border-color:var(--green-bg)}.wizard-comp{display:flex;flex-direction:column;gap:8px}.wizard-comp .wc-item{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer}.wizard-comp .wc-item:hover{border-color:var(--brand)}.wizard-comp .wc-item input{margin-top:2px}.lastrun-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.lastrun-badge{font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2)}.lastrun-badge.is-100k{background:var(--brand);color:#fff;border-color:var(--brand)}.lastrun-badge.is-10k{background:var(--amber-bg);color:var(--amber-ink);border-color:var(--amber-bg)}.lastrun-hint{font-size:11.5px;color:var(--brand-dark);background:var(--brand-soft);padding:2px 8px;border-radius:999px}.dec-config{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px;max-width:620px}.dec-config-row{display:grid;grid-template-columns:140px 1fr 164px;gap:12px;align-items:center}.dec-config-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--border)}.dec-code{font-family:ui-monospace,monospace;font-size:12px;font-weight:700;background:var(--surface-3);color:var(--ink-2);padding:3px 8px;border-radius:6px}.dec-color-cell{display:flex;align-items:center;gap:7px}.dec-color-cell input[type=color]{width:38px;height:var(--ctrl-h);padding:2px;border:1px solid var(--ctrl-border);border-radius:var(--ctrl-radius);background:var(--surface);cursor:pointer;flex:none}.dec-color-hex{font-family:ui-monospace,monospace;font-size:12px}.dec-config-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}@media (max-width: 1100px){.dec-config-row{grid-template-columns:1fr 1fr;gap:8px 12px}.dec-config-head{display:none}}.sep-presets{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.sep-chip{border:1px solid var(--border);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}.sep-chip:hover{border-color:var(--brand);color:var(--brand-dark)}.sep-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.sep-preview{margin:12px 0 4px}.sep-preview-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.sep-preview-box{margin-top:5px;padding:10px 12px;border:1px dashed var(--border-2);border-radius:var(--radius-sm);background:var(--surface-2);font-family:ui-monospace,monospace;font-size:13px;color:var(--ink)}.pd-title-col{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.pd-title-row{display:flex;align-items:center;gap:12px}input.pol-title-inline{flex:1;min-width:0;font-size:22px;font-weight:700;letter-spacing:-.2px;color:var(--ink);border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);padding:6px 10px;margin-left:-10px;font-family:inherit}.pol-title-inline:hover{border-color:var(--border);background:var(--surface-2)}.pol-title-inline:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:var(--surface)}.pol-title-inline.as-static{border:none;background:transparent}.pd-badge{flex:none;white-space:nowrap}.pol-desc-inline{display:block;max-width:720px;min-height:76px;color:var(--ink-2)}.pd-meta{font-size:12px;margin:2px 0 0}.pol-type{font-weight:600;color:var(--brand-dark)}.hist-diff{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hist-col{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--surface-2)}.hist-col-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:6px}.hist-col ul{margin:0;padding-left:18px}.hist-col li{font-size:12.5px;margin-bottom:4px}.admin-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid var(--red-bg);background:color-mix(in srgb,var(--red) 5%,#fff);border-radius:var(--radius-sm);padding:12px 14px}.rule-head-main.clickable{cursor:pointer;border-radius:var(--radius-sm)}.rule-head-main.clickable:hover .rule-name{color:var(--brand-dark)}.conflict-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--amber-bg);color:var(--amber-ink);border:1px solid #f2d38a;border-radius:var(--radius-sm);padding:9px 13px;margin:0 0 12px;font-size:13px}.conflict-banner-txt{display:inline-flex;align-items:center;gap:8px}.conflict-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.conflict-item{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 11px;background:var(--surface-2)}.sev-dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:4px}.sev-dot.sev-high,.conflict-item.sev-high .sev-dot{background:var(--red)}.sev-dot.sev-warning{background:var(--amber)}.sev-dot.sev-info{background:var(--brand)}.banner-warn{display:flex;align-items:center;gap:8px;background:var(--amber-bg);color:var(--amber-ink);border:1px solid #f2d38a;border-radius:var(--radius-sm);padding:9px 12px;font-size:12.5px;margin:0 0 12px}.confirm-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 8px}.confirm-name{-webkit-user-select:all;user-select:all;font-family:inherit;font-weight:700;font-size:13.5px;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 11px}.issue-block{border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.issue-block.issue-current{color:var(--red-ink);background:var(--red-bg);border:1px solid #f3b4b4}.issue-block.issue-historic{color:var(--amber-ink);background:var(--amber-bg);border:1px solid #f2d38a}.issue-hist-msg{margin-top:6px;font-family:ui-monospace,monospace;font-size:12px;overflow-wrap:anywhere}.issue-block .issue-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.issue-block .issue-head svg{flex:none}.issue-scope{font-size:11.5px;font-weight:600;color:var(--red-ink);opacity:.8}.issue-items{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.issue-items li{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid #f3b4b4;border-radius:var(--radius-sm);padding:8px 11px}.issue-items li>span{flex:1;min-width:220px;color:var(--ink-2)}.issue-items .btn-sm{flex:none}.issue-more{font-size:12px;margin-top:6px}.issue-block.issue-historic .issue-scope{color:var(--amber-ink)}.rule-card.rule-pulse{border-color:var(--red);box-shadow:0 0 0 3px #dc262624}.src-origin{white-space:nowrap}.col-group{margin-bottom:6px}.col-group-name{font-size:11.5px;font-weight:600;color:var(--muted)}.col-picker{display:flex;gap:10px;flex-wrap:wrap}.col-check{display:flex;align-items:center;gap:5px;font-size:12.5px}.col-check.is-fixed{opacity:.8}.field-hint{font-size:11.5px;color:var(--muted);margin-top:3px;display:block}.fields-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.fields-toolbar .grow{flex:1}.table tbody tr.row-new>td{background:var(--brand-soft)}.fields-actions{white-space:nowrap;display:flex;align-items:center;gap:4px;justify-content:flex-end}.fields-actions .btn-icon{width:28px;height:28px;flex:none}.node.node-unlinked{border:1px dashed var(--amber, #d97706);background:var(--surface)}.node.node-unlinked .node-head{background:var(--amber-bg, #fef3c7)}.node-unlinked-msg{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 11px 8px}.pill-unlinked{background:var(--amber-bg, #fef3c7);color:var(--amber-ink, #92400e)}.pill-incompleta{background:var(--red-bg);color:var(--red-ink)}.pill-disponible{background:var(--surface-3);color:var(--muted)}.link-options{display:flex;flex-direction:column;gap:8px}.ic-card .card-head .page-actions{align-items:center;gap:10px}.ic-name{width:100%;min-width:150px;font-weight:600}.ic-missing{color:var(--red, #c0392b);font-weight:600}.ic-deps{margin:10px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px}.ic-deps li{font-size:13px;display:flex;align-items:baseline;gap:8px}.ic-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin-top:6px}.ic-check input{margin-top:2px;flex:none}.modal.modal-lg{width:1080px;max-width:96vw}.modal.modal-resizable{resize:both;height:78vh;min-width:420px;min-height:320px;max-width:min(1500px,96vw);max-height:92vh}.modal.modal-resizable .modal-foot{padding-right:28px}@media (max-width: 720px){.modal.modal-resizable{resize:none;width:100%!important;height:auto!important;min-width:0;max-height:88vh}.modal.modal-resizable .modal-foot{padding-right:20px}}.modal.modal-wizard>.modal-body{display:flex;flex-direction:column;min-height:0}.wiz-paso,.wiz-grow{display:flex;flex-direction:column;flex:1;min-height:0}.wiz-grow>.table-wrap{flex:1;min-height:160px;max-height:none}.wiz-grow>.table-wrap>.table{width:100%}.wiz-grow .map-select,.wiz-grow .map-default{width:100%;min-width:0}.run-blocks{display:flex;flex-direction:column;gap:4px}.run-block{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.run-block .btn-link{font-size:12.5px}.modal-head-drag{cursor:move;-webkit-user-select:none;user-select:none}.modal-head-drag h2,.modal-head-drag .modal-kicker{cursor:move}.modal-head-drag .modal-close{cursor:pointer}.modal-dragging{cursor:grabbing}.var-buscar{width:100%;margin-bottom:6px}.var-disponibles{max-height:96px;overflow-y:auto;align-content:flex-start}.rel-sec{margin-top:20px;padding-top:14px;border-top:1px solid var(--border)}.rel-sec h3{margin:0 0 3px;font-size:15px;color:var(--ink)}.rel-sec>.muted{margin:0 0 10px;font-size:12.5px}.rel-field{display:flex;flex-direction:column;gap:3px;font-size:12px;min-width:150px}.rel-field>span{color:var(--muted)}.rel-field input,.rel-field select{min-width:150px}.rel-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-top:10px}.rel-check{display:flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap;height:var(--ctrl-h)}.rel-avisos{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--surface-2)}.rel-aviso-item{padding:6px 0}.rel-aviso-item+.rel-aviso-item{border-top:1px solid var(--border)}.rel-aviso-item ul{list-style:disc}.rel-del{background:none;border:none;padding:3px 5px;cursor:pointer;color:var(--muted);border-radius:var(--radius-sm);line-height:0}.rel-del:hover:not(:disabled){background:var(--red-bg);color:var(--red)}.rel-del:disabled{opacity:.4;cursor:default}.rel-claves{margin:4px 0 8px}.rel-par{display:flex;align-items:center;gap:8px;margin-bottom:6px}.rel-par select{min-width:160px}.rel-eq{color:var(--muted);font-weight:700}.rel-subtitulo-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.rel-subtitulo{font-size:12.5px;font-weight:700;color:var(--ink)}.rel-nueva{margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.rel-nueva>.rel-subtitulo{margin-bottom:8px}.rel-intro{margin-top:12px;max-width:720px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.rel-intro p{margin:0;line-height:1.5}.rel-intro .btn-primary{margin-top:4px}.rel-steps{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.rel-step{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer;font-size:13px;transition:border-color .12s,background .12s,color .12s}.rel-step:hover{background:var(--surface-2);border-color:var(--border-strong)}.rel-step .n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--surface-3);color:var(--muted);font-size:12px;font-weight:700}.rel-step.activo{border-color:var(--brand);color:var(--ink);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.rel-step.ok .n{background:var(--green-bg);color:var(--green-ink)}.rel-step.pend .n{background:var(--amber-bg);color:var(--amber-ink)}.rel-panel{margin-top:6px}.rel-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:12px;border-top:1px solid var(--border)}.rel-niveles-auto{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;border-radius:var(--radius-sm);padding:8px 12px;margin:0 0 12px;font-size:12.5px}.rel-niveles-auto.rna-alert{background:var(--amber-bg);border:1px solid #f2d38a}.rel-niveles-auto .rna-title{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink-2)}.rel-niveles-auto .rna-title-warn{color:var(--amber-ink)}.rel-niveles-auto .rna-link{margin-left:auto;white-space:nowrap}.rna-discreet{display:flex;justify-content:flex-end;margin:0 0 10px}.rna-discreet__btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 6px;font-size:12.5px;color:var(--ink-3, #64748b);cursor:pointer;border-radius:var(--radius-sm);transition:color .12s,background .12s}.rna-discreet__btn:hover{color:var(--ink-2);background:var(--surface-2)}.rna-discreet__n{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--surface-3, #e8edf5);color:var(--ink-2);font-size:11px;font-weight:600}.rel-checklist{border:1px solid var(--amber-bd, var(--border));border-left:3px solid var(--amber-ink);border-radius:var(--radius-sm);padding:10px 12px;background:var(--amber-bg);margin-top:10px}.rel-checklist .cl-head{font-size:12.5px;font-weight:700;color:var(--amber-ink);margin-bottom:6px}.rel-checklist ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.rel-checklist li{display:flex;align-items:center;gap:8px;font-size:13px}.rel-checklist .cl-go{background:none;border:none;padding:0;color:var(--brand);cursor:pointer;text-decoration:underline;font-size:12px}.rel-ok-todo{border:1px solid var(--border);border-left:3px solid var(--green-ink);border-radius:var(--radius-sm);padding:8px 12px;background:var(--green-bg);color:var(--green-ink);font-size:13px;margin-top:10px}.rel-grupo{border:1px solid var(--border-2);border-radius:var(--radius-sm);margin-bottom:8px;background:var(--surface);overflow:hidden}.rel-grupo-head{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.rel-grupo-head:hover{background:var(--surface-2)}.rel-grupo-head .g-count{margin-left:auto;color:var(--muted);font-size:12.5px}.rel-grupo-body{border-top:1px solid var(--border);padding:4px 10px 8px}.rel-prev{border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface);margin-top:12px;overflow:hidden}.rel-prev-head{padding:9px 12px;border-bottom:1px solid var(--border);font-size:13px}.rel-prev-scroll{overflow-x:auto}.rel-resumen{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.rel-resumen li{display:flex;gap:8px;font-size:13.5px}.rel-resumen .r-k{color:var(--muted);min-width:130px}.nivel-rev-aviso{display:flex;align-items:center;gap:8px;background:var(--amber-bg);color:var(--amber-ink);border-radius:var(--radius-sm);padding:8px 12px;font-size:12.5px;margin:6px 0 12px}.nivel-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:14px 18px;margin-bottom:10px}.nivel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.nivel-card.abierto .nivel-head{padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:12px}.nivel-grupo-accion{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 12px;font-size:12.5px}.nivel-grupo-accion select{max-width:220px}.nivel-vars{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2px 20px}.nivel-var{display:flex;align-items:center;gap:10px;padding:6px 2px;border-bottom:1px solid var(--surface-3)}.nivel-var-name{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nivel-var-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;background:var(--brand-soft);color:var(--brand-dark);border:1px solid transparent;border-radius:var(--radius-pill);padding:2px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .12s}.nivel-var-chip:hover:not(:disabled){border-color:var(--brand)}.nivel-var-chip:disabled{opacity:.6;cursor:default}.nivel-var-chip .caret{opacity:.55;font-size:9px}.nivel-var-select{flex-shrink:0;max-width:170px;font-size:12px}.vc-src{display:inline-flex;align-items:center;gap:8px;font-size:14px}.vc-count{color:var(--muted);font-size:12.5px;white-space:nowrap}.vc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}.vc-chip{background:var(--surface-3);border:1px solid var(--border);color:var(--ink-2);border-radius:var(--radius-pill);padding:3px 10px;font-size:12px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.vc-chip:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.vc-chip:disabled{opacity:.5;cursor:default}.vc-adv{margin-top:10px}.vc-adv-body{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:6px}.builder-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:22px}.builder-card:hover{border-color:var(--border-2)}.builder-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:14px}.builder-card-head.cons-head{flex-wrap:wrap;gap:6px 12px}.builder-card-head.cons-head .builder-card-count{margin-right:auto}.builder-card-actions{display:flex;gap:8px;flex-wrap:wrap}.cons-calc-head{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:4px 0;cursor:pointer;font-family:inherit;color:var(--ink)}.cons-calc-caret{font-size:11px;color:var(--muted);transition:transform .15s}.cons-vc-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.cons-vc-card{gap:10px;padding:18px 18px 16px}.cons-vc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cons-vc-name{font-weight:700;font-size:15.5px;line-height:1.3;min-width:0;overflow-wrap:anywhere}.cons-vc-edit{flex:none;color:var(--muted-2);opacity:.55;transition:opacity .12s,color .12s;margin-top:1px}.cons-vc-card:hover .cons-vc-edit,.cons-vc-card:focus-visible .cons-vc-edit{opacity:1;color:var(--brand)}.cons-vc-op{font-size:13px;color:var(--ink-2)}.cons-vc-op b{color:var(--ink);font-weight:600}.cons-vc-conds{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.cons-chip-cond{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;color:var(--brand-dark);background:var(--brand-soft);border:1px solid #d7e3fb;border-radius:var(--radius-pill);padding:2px 9px}.cons-nuevocalc{margin-top:4px;border:1px dashed var(--border-2);border-radius:var(--radius-sm);background:var(--surface);padding:10px 12px}.builder-card-title{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600}.builder-card-count{color:var(--muted);font-size:12.5px;white-space:nowrap}.builder-group+.builder-group{margin-top:18px;padding-top:16px;border-top:1px dashed var(--border)}.builder-group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.builder-group-title{font-weight:700;font-size:13px;color:var(--ink)}.builder-group-hint{color:var(--muted);font-size:12px}.builder-objects{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:12px}.builder-object{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);box-shadow:var(--shadow-xs);padding:14px;transition:box-shadow .12s,border-color .12s}.builder-object:hover{box-shadow:var(--shadow);border-color:var(--border-2)}.builder-object-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.builder-object-name{font-weight:600;font-size:14px;line-height:1.25;min-width:0;overflow-wrap:anywhere}.builder-object-meta{font-size:12.5px;color:var(--muted)}.builder-object-meta b{color:var(--ink-2);font-weight:600}.builder-object-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#334155;background:#eef2ff;border:1px solid #e0e7ff;border-radius:var(--radius-xs);padding:8px 10px;line-height:1.45;overflow:hidden}.builder-object-code.trunc{white-space:nowrap;text-overflow:ellipsis}.builder-object-code.empty{color:var(--muted-2);font-style:italic;font-family:inherit}.builder-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:2px}.builder-empty{color:var(--muted);font-size:12.5px;padding:2px 2px 10px}.builder-form{border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface-2);padding:16px 18px;margin-top:4px}.builder-form-row{display:flex;flex-wrap:wrap;gap:14px}.builder-form-row .rel-field,.builder-form-row .field{flex:1 1 200px;min-width:160px;margin-bottom:0}.builder-form-actions{display:flex;gap:8px;margin-top:14px}.builder-form-title{font-size:13px;font-weight:700;margin-bottom:10px}.builder-object.obj-clickable{cursor:pointer}.builder-object.obj-clickable:hover{border-color:var(--brand);box-shadow:var(--shadow)}.builder-object.obj-clickable:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--ctrl-ring),var(--shadow)}.obj-title-wrap{display:flex;flex-direction:column;gap:6px;min-width:0}.obj-badges,.obj-chips{display:flex;flex-wrap:wrap;gap:5px}.obj-chips .tag{font-size:11px;padding:1px 8px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--ink-2);border:1px solid var(--border)}.builder-object-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;padding-top:8px;border-top:1px solid var(--border)}.obj-grp-title{font-size:11.5px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 8px;display:flex;align-items:center;gap:8px}.obj-grp-title .g-count{font-weight:600;color:var(--muted);letter-spacing:0;text-transform:none}.obj-grp-title:first-child{margin-top:2px}.fb{display:flex;flex-direction:column;gap:12px}.fb-canvas{min-height:76px;max-height:220px;overflow-y:auto;border:1.5px solid var(--border-2);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface);box-shadow:var(--ctrl-inset);display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start}.fb-canvas:focus-within{border-color:var(--brand);box-shadow:var(--ctrl-ring),var(--ctrl-inset)}.fb-canvas-empty{color:var(--muted-2);font-size:13px;align-self:center}.fb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px}.fb-key{min-width:34px;height:32px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink);border-radius:var(--radius-xs);font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-xs);font-family:inherit;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .06s}.fb-key:hover:not(:disabled){border-color:var(--brand);color:var(--brand-dark);background:var(--brand-soft)}.fb-key:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.fb-key:disabled{opacity:.5;cursor:default}.fb-key.fb-fn{font-size:13px;font-family:ui-monospace,Menlo,monospace;color:var(--violet)}.fb-key.fb-fn:hover:not(:disabled){border-color:var(--violet);background:var(--violet-bg);color:var(--violet)}.fb-key.fb-num{color:var(--amber-ink);font-size:12.5px}.fb-key.fb-more{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--brand-dark)}.fb-sep{width:1px;height:22px;background:var(--border-2);margin:0 3px}.fb-vars{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.fb-vars-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}.fb-vars-title{display:inline-flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);padding:0}.fb-vars-caret{font-size:10px;transition:transform .15s}.fb-vars-body{max-height:210px;overflow-y:auto;padding:10px 12px 12px}.fb-grp{font-size:11px;font-weight:600;color:var(--muted);margin:12px 0 6px;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.03em}.fb-grp:first-child{margin-top:0}.fb-grp .dot{width:7px;height:7px;border-radius:50%}.fb-chips{display:flex;flex-wrap:wrap;gap:6px}.fb-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);border-radius:var(--radius-pill);font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .12s,background .12s,color .12s}.fb-chip:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.fb-chip:disabled{opacity:.5;cursor:default}.fb-chip .dot{width:7px;height:7px;border-radius:50%;flex:none}.fb-chip.calc .dot{background:var(--green)}.fb-tok{display:inline-flex;align-items:center;gap:3px;font-size:13px;padding:4px 4px 4px 11px;border-radius:8px;cursor:grab;line-height:1.5;border:2px solid transparent}.fb-tok:focus-visible,.fb-tok.sel{outline:none;border-color:var(--brand)}.fb-tok-x{width:20px;height:20px;border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;background:transparent;color:currentColor;opacity:0;cursor:pointer;transition:opacity .1s,background .1s;flex:none;padding:0}.fb-tok:hover .fb-tok-x,.fb-tok:focus-within .fb-tok-x,.fb-tok.sel .fb-tok-x{opacity:.65}.fb-tok-x:hover{opacity:1;background:#0f172a24}.fb-caret{width:2px;align-self:stretch;margin:2px 0;border-radius:2px;background:transparent;transition:background .1s}.fb-caret.on{background:var(--brand)}.fb-caret.drop{width:3px;background:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.seg-tabs{display:inline-flex;gap:5px;background:var(--surface);padding:5px;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);flex-wrap:wrap}.seg-tab{border:none;background:none;padding:7px 13px;border-radius:var(--radius-xs);font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .12s,color .12s;display:inline-flex;align-items:center;gap:6px}.seg-tab:hover:not(.active):not(:disabled){color:var(--ink);background:var(--surface-2)}.seg-tab.active{background:var(--brand-soft);color:var(--brand-dark)}.seg-tab:focus-visible{outline:none;box-shadow:var(--ring)}.seg-tab:disabled{opacity:.5;cursor:default}.table tr.dd-grp>td{background:var(--surface-2);padding:8px 12px;border-bottom:1px solid var(--border)}.dd-grp-title{font-size:11.5px;font-weight:700;color:var(--ink-2);letter-spacing:.01em}.acc-menu{position:relative;display:inline-flex}.acc-menu-btn{width:28px;height:28px;border:1px solid transparent;background:none;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.acc-menu-btn.md{width:34px;height:34px;font-size:19px}.acc-menu-btn:hover:not(:disabled),.acc-menu-btn[aria-expanded=true]{background:var(--surface-3);color:var(--ink)}.acc-menu-btn:disabled{opacity:.4;cursor:default}.acc-menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:160px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;display:flex;flex-direction:column}.acc-menu-pop.up{top:auto;bottom:calc(100% + 4px);right:auto;left:0}.acc-menu-pop.fixed{right:auto;z-index:1000}.acc-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;padding:8px 11px;font-size:13px;color:var(--ink-2);border-radius:var(--radius-xs);cursor:pointer;font-family:inherit}.acc-menu-item:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.acc-menu-item.danger{color:var(--red)}.acc-menu-item.danger:hover:not(:disabled){background:var(--red-bg)}.acc-menu-item:disabled{opacity:.5;cursor:default}.cond-block{margin-top:12px;border-top:1px dashed var(--border);padding-top:10px}.cond-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}.cond-title{font-size:12.5px;font-weight:700;color:var(--ink)}.cond-hint{font-size:11.5px;color:var(--muted)}.cond-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 30px;gap:6px;align-items:center;margin-bottom:6px}.cond-row select,.cond-row input{min-width:0}.cond-novalue{color:var(--muted-2);text-align:center}.cond-add{margin-top:2px}@media (max-width: 640px){.cond-row{grid-template-columns:1fr 1fr}.cond-row .rel-del{grid-column:2;justify-self:end}}.rel-clave-tec{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 2px;font-size:12.5px}.rel-clave-tec.avz{align-items:flex-end}.rel-clave-tec code{background:var(--surface-3);padding:1px 6px;border-radius:var(--radius-xs)}.dec-catalog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dec-catalog__title{font-size:15px;font-weight:600;margin:0}.dec-cards{display:flex;flex-direction:column;gap:8px}.dec-card{display:flex;align-items:stretch;gap:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.dec-card--off{opacity:.62}.dec-card--new{border-style:dashed}.dec-card__bar{width:5px;flex:0 0 5px;background:var(--dec-color, #64748b)}.dec-card__main{flex:1 1 auto;min-width:0;padding:9px 4px 9px 8px;display:flex;flex-direction:column;gap:6px}.dec-card__name{font-size:14px;font-weight:600;border:1px solid transparent;background:transparent;border-radius:var(--radius-xs);padding:2px 5px;color:var(--ink)}.dec-card__name:hover:not(:disabled),.dec-card__name:focus{border-color:var(--border-2);background:var(--surface-2);outline:none}.dec-card__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.dec-fam{font-size:12px;padding:3px 6px;border:1px solid var(--border-2);border-radius:var(--radius-xs);background:var(--surface)}.dec-color{display:inline-flex;align-items:center}.dec-color input[type=color]{width:24px;height:22px;border:1px solid var(--border-2);border-radius:var(--radius-xs);background:none;padding:0;cursor:pointer}.dec-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.dec-chip--default{background:var(--brand-soft, #e7efff);color:var(--brand-dark, #1f4bb8)}.dec-mini{font-size:11.5px;color:var(--brand-dark, #1f4bb8);background:none;border:none;cursor:pointer;padding:2px;text-decoration:underline}.dec-toggle{display:inline-flex;align-items:center;gap:5px;color:var(--muted);cursor:pointer}.dec-card__actions{display:flex;align-items:center;gap:3px;padding:6px 8px}.dec-card__actions .dec-down svg{transform:rotate(180deg)}.dec-del:hover{color:var(--red, #c0392b);border-color:#f0b4b4}.dec-add{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:13px;font-weight:600;color:var(--brand-dark, #1f4bb8);background:none;border:1px dashed var(--border-2);border-radius:var(--radius-sm);padding:8px 12px;cursor:pointer}.dec-add:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft, #f2f6ff)}.subtabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px}.subtab{font-size:13px;font-weight:600;color:var(--ink-2);background:none;border:none;padding:6px 16px;border-radius:999px;cursor:pointer;transition:background .12s,color .12s}.subtab:hover:not(.on){color:var(--ink)}.subtab.on{background:var(--surface);color:var(--brand-dark, #1f4bb8);box-shadow:var(--shadow-xs)}.dec-breakdown{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.dec-breakdown__label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3, #64748b);margin-right:2px}.dec-breakdown__chip{display:inline-flex;align-items:baseline;gap:5px;font-size:12px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.dec-breakdown__chip b{font-weight:600;color:var(--ink)}.proj-view-flujos .ptabs{margin-bottom:0}.proj-view-flujos .flow-active-bar{padding:0 2px;margin-bottom:6px;gap:8px;background:transparent;border:none;border-radius:0}.proj-view-flujos .flow-active-bar b{font-size:13px}.proj-view-flujos .flow-active-bar{line-height:1.25}.proj-view-flujos .card>.card-head:first-child{position:sticky;top:62px;z-index:5;background:var(--surface);margin-bottom:10px;padding:10px 14px 8px}.proj-view-flujos .flow-wrap{min-height:0}.proj-view-flujos .flow-scroll{height:calc(100vh - 229px);max-height:none}.content:has(.proj-view){padding-top:12px}.login-fondo{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#1e293b 0%,var(--sidebar) 60%)}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md, 0 10px 30px rgba(15,23,42,.1));padding:28px 26px 26px}.login-marca{display:flex;align-items:center;gap:12px;margin-bottom:4px}.login-titulo{font-size:19px;font-weight:600;letter-spacing:-.2px;color:var(--ink)}.login-bajada{font-size:12px;color:var(--muted)}.login-card .field{margin:0}.login-card .btn-primary{margin-top:6px;justify-content:center}.login-pass{position:relative}.login-pass input{padding-right:40px}.login-ojo{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:var(--radius-xs)}.login-ojo:hover{color:var(--ink-2);background:var(--surface-3)}.login-ojo:focus-visible{outline:none;box-shadow:var(--ring)}:root{--bg: #e7edf4;--app-bg-2: #dfe6ef;--c-cons: #0d9488;--c-cons-soft: #e6faf6;--c-cons-ink: #0b6b62;--c-cons-line: #b7e7e0;--c-calc: #c2740a;--c-calc-soft: #fdf4e3;--c-calc-ink: #8a5207;--c-calc-line: #eed8ad;--c-pol: #6d43d6;--c-pol-soft: #efe9fd;--c-pol-ink: #542fb0;--c-pol-line: #d9ccf7;--c-out: #4a54d6;--c-out-soft: #e9ebfc;--c-out-ink: #343dae;--c-out-line: #cdd2f6;--sh-1: 0 1px 2px rgba(16,23,41,.05);--sh-2: 0 1px 2px rgba(16,23,41,.05), 0 4px 14px rgba(16,23,41,.06);--sh-3: 0 2px 6px rgba(16,23,41,.06), 0 14px 32px rgba(16,23,41,.1);--sh-pop: 0 18px 48px rgba(16,23,41,.22);--surface-sunken: #f4f7fb;--line: var(--border-2);--hair: var(--border);--sidebar: #0e1420;--sidebar-2: #141c2c;--sidebar-hair: #212b3d;--fs-page: 20px;--fw-page: 600;--lh-page: 1.25;--fs-section: 15px;--fw-section: 600;--lh-section: 1.3;--fs-panel: 15px;--fw-panel: 600;--fs-card: 13.5px;--fw-card: 600;--lh-card: 1.2;--fs-body: 13.5px;--fw-body: 400;--lh-body: 1.5;--fs-muted: 12.5px;--fs-label: 11px;--fw-label: 600;--fs-chip: 11px;--fw-chip: 500;--fs-code: 12px}.t-page-title{font-size:var(--fs-page);font-weight:var(--fw-page);line-height:var(--lh-page);letter-spacing:-.3px}.t-section-title{font-size:var(--fs-section);font-weight:var(--fw-section);line-height:var(--lh-section);letter-spacing:-.15px}.t-panel-title{font-size:var(--fs-panel);font-weight:var(--fw-panel);letter-spacing:-.1px}.t-card-title{font-size:var(--fs-card);font-weight:var(--fw-card);line-height:var(--lh-card);letter-spacing:-.05px}.t-body{font-size:var(--fs-body);font-weight:var(--fw-body);line-height:var(--lh-body)}.t-muted{font-size:var(--fs-muted);color:var(--muted)}.t-label{font-size:var(--fs-label);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.t-chip{font-size:var(--fs-chip);font-weight:var(--fw-chip)}.t-code{font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:var(--fs-code)}.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));border-right:1px solid var(--sidebar-hair)}.sidebar .brand-logo{background:linear-gradient(135deg,#2f5fe0,#5b7bec);box-shadow:0 6px 16px #2f5fe066;color:#fff}.nav-item{border-radius:10px;transition:background .14s,color .14s}.nav-item.active{box-shadow:inset 0 0 0 1px #ffffff1f,0 6px 16px #2f5fe052}.topbar{background:#ffffffb8;backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px)}.page-title{font-size:var(--fs-page);font-weight:var(--fw-page);line-height:var(--lh-page);letter-spacing:-.3px}.page-desc{font-size:var(--fs-muted)}.card-head h2,.card h2{font-size:var(--fs-section);font-weight:var(--fw-section);letter-spacing:-.15px}.card-sub{font-size:var(--fs-muted)}.modal-head h2{font-size:var(--fs-section);font-weight:var(--fw-section);letter-spacing:-.15px}.rel-workspace{display:block}.rel-head{margin-bottom:4px}.rel-head__title{font-size:var(--fs-page);font-weight:var(--fw-page);line-height:var(--lh-page);letter-spacing:-.3px}.rel-head__sub{color:var(--muted);font-size:var(--fs-muted);margin-top:3px}.rel-estado{display:inline-flex;align-items:center;gap:6px;margin:8px 0 2px;padding:5px 11px;border-radius:999px;font-size:var(--fs-muted);font-weight:600;line-height:1;border:1px solid transparent}.rel-estado--ok{color:var(--ok-ink, #0f766e);background:var(--ok-bg, #ecfdf5);border-color:var(--ok-line, #a7f3d0)}.rel-estado--warn{color:var(--amber-ink, #92400e);background:var(--amber-bg, #fffbeb);border-color:var(--amber-line, #fde68a)}.rel-prueba{margin:0;padding:0;background:none;border:none;box-shadow:none}.rol-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.55;border:1px solid transparent;white-space:nowrap}.rol-badge--principal{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.rol-badge--detalle{color:#0f766e;background:#ecfdf5;border-color:#99f6e4}.rol-badge--parametria{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.rel-bloqueo{display:inline-flex;align-items:center;gap:5px;color:#b42318;font-weight:600}.rel-bloqueo-list{margin:8px 0 4px;padding-left:18px;display:flex;flex-direction:column;gap:5px;font-size:var(--fs-muted)}.rel-bloqueo-list li{line-height:1.4}.fuente-uso{display:flex;flex-direction:column;gap:14px;margin:6px 0 2px}.fu-block{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--sh-1)}.fu-block__head{margin-bottom:12px}.fu-block__title{font-size:14.5px;font-weight:600;margin:0;letter-spacing:-.1px}.fu-block__hint{color:var(--muted);font-size:var(--fs-muted);margin:3px 0 0}.fu-note{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:12.5px;margin:0;line-height:1.5}.fu-note svg{flex:0 0 auto;margin-top:1px}.fu-sub{color:var(--muted);font-size:12.5px;margin-bottom:6px}.fu-enr-list{display:flex;flex-direction:column;gap:10px}.fu-enr-card{display:block;width:100%;text-align:left;background:var(--surface-2, #f8fafc);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s}.fu-enr-card:hover{border-color:var(--line-2, #cbd5e1);box-shadow:var(--sh-1);background:var(--surface)}.fu-enr-card__head{display:flex;align-items:center;gap:8px}.fu-enr-card__name{font-weight:600;font-size:13.5px;color:var(--ink, #0f172a)}.fu-enr-card__chev{margin-left:auto;color:var(--muted);font-size:18px;line-height:1;opacity:.5}.fu-enr-card:hover .fu-enr-card__chev{opacity:.9}.fu-enr-card__meta{display:flex;flex-direction:column;gap:7px;margin-top:11px}.fu-enr-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.fu-k{flex:0 0 auto;min-width:42px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.fu-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:var(--chip-bg, #eef2f7);color:var(--chip-ink, #334155);font-size:12px;border:1px solid var(--line);white-space:nowrap}.fu-chip--key{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.fu-add{margin-top:4px}.src-estado-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.src-drift{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.5;border:1px solid transparent;white-space:nowrap}.src-drift svg{flex:0 0 auto}.src-drift--warn{color:var(--amber-ink, #92400e);background:var(--amber-bg, #fffbeb);border-color:var(--amber-line, #fde68a)}.src-drift--err{color:#b42318;background:#fef3f2;border-color:#fecdca}.src-drift--muted{color:var(--muted);background:var(--surface-2, #f8fafc);border-color:var(--line)}.rel-panel{margin-top:6px;display:flex;flex-direction:column;gap:18px}.rel-sec{margin-top:0;padding:20px 22px;border-top:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius, 16px);box-shadow:var(--sh-2)}.rel-sec h3{font-size:var(--fs-section);font-weight:var(--fw-section);line-height:var(--lh-section);letter-spacing:-.15px;margin:0 0 3px}.rel-step-content{display:flex;flex-direction:column;gap:0}.rel-steps{display:flex;gap:6px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line, var(--border-2));border-radius:var(--r-pill, 999px);padding:5px;box-shadow:var(--sh-1);width:max-content;max-width:100%}.rel-step{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:999px;border:0;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;transition:background .14s,color .14s,box-shadow .14s}.rel-step:hover{color:var(--ink-2);background:var(--surface-sunken)}.rel-step .n{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--surface-sunken);color:var(--muted);border:1px solid var(--border-2)}.rel-step.ok{color:var(--ink-2)}.rel-step.ok .n{background:var(--green-bg);color:var(--green-ink);border-color:transparent}.rel-step.pend .n{background:var(--amber-bg);color:var(--amber-ink);border-color:transparent}.rel-step.activo{background:var(--brand);color:#fff;box-shadow:0 6px 16px #2f5fe052}.rel-step.activo .n{background:#ffffff3d;color:#fff;border-color:transparent}.rel-step:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-soft)}.surface-panel{background:var(--surface);border:1px solid var(--line, var(--border-2));border-radius:var(--radius, 16px);box-shadow:var(--sh-3);margin-bottom:22px;overflow:hidden}.surface-panel__head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--hair, var(--border));background:linear-gradient(180deg,#fbfcfe,#f6f9fc)}.surface-panel__icon{width:40px;height:40px;border-radius:11px;flex:none;display:grid;place-items:center;background:var(--surface-sunken);color:var(--ink-2);border:1px solid var(--border-2)}.surface-panel__title{font-size:var(--fs-panel);font-weight:var(--fw-panel);letter-spacing:-.1px}.surface-panel__meta{font-size:var(--fs-muted);color:var(--muted);margin-top:2px}.surface-panel__grow{flex:1;min-width:0}.surface-panel__body{padding:20px 22px 22px}.group-label{display:flex;align-items:baseline;gap:8px;margin:2px 0 14px;flex-wrap:wrap}.group-label__t{font-size:var(--fs-label);font-weight:var(--fw-label);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.group-label__h{font-size:12px;color:var(--muted-2)}.object-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:15px}.object-card{position:relative;cursor:pointer;overflow:hidden;border:1px solid var(--line, var(--border-2));border-radius:var(--radius-sm, 12px);background:var(--surface);box-shadow:var(--sh-1);transition:box-shadow .16s,border-color .16s,transform .16s}.object-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--border-2)}.object-card:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}.object-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-soft),var(--sh-2)}.object-card__body{padding:13px 15px 12px 16px;display:flex;flex-direction:column;gap:0}.object-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.object-card__name{font-size:var(--fs-card);font-weight:var(--fw-card);line-height:var(--lh-card);letter-spacing:-.05px;color:var(--ink);min-width:0;overflow-wrap:anywhere}.object-card__type{position:absolute;top:12px;right:14px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.5;pointer-events:none}.object-card__menu{flex:none;opacity:0;transition:opacity .14s}.object-card:hover .object-card__menu,.object-card:focus-within .object-card__menu{opacity:1}.object-op{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;font-size:12.5px;color:var(--muted)}.object-op b{font-weight:500;color:var(--ink-2)}.op-pill{font-weight:600;font-size:10px;letter-spacing:.04em;padding:2px 7px;border-radius:999px}.object-formula{margin-top:10px;font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:var(--fs-code);color:#43506a;border-radius:var(--radius-xs, 8px);padding:9px 11px;line-height:1.5;overflow-x:auto;white-space:nowrap}.object-formula.empty{font-style:italic;color:var(--muted-2);font-family:inherit}.object-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-chip);font-weight:var(--fw-chip);padding:1px 7px;border-radius:999px;border:1px solid transparent}.object-card--consolidated:before{background:linear-gradient(180deg,var(--c-cons),#12b3a3)}.object-card--consolidated .op-pill,.object-card--consolidated .chip{background:var(--c-cons-soft);color:var(--c-cons-ink)}.object-card--consolidated .object-card__type{color:var(--c-cons-ink)}.object-card--calculation:before{background:linear-gradient(180deg,var(--c-calc),#e0951f)}.object-card--calculation .op-pill{background:var(--c-calc-soft);color:var(--c-calc-ink)}.object-card--calculation .object-card__type{color:var(--c-calc-ink)}.object-card--calculation .object-formula{background:var(--c-calc-soft);border:1px solid var(--c-calc-line)}.object-card--policy:before{background:linear-gradient(180deg,var(--c-pol),#8a63e6)}.object-card--policy .op-pill,.object-card--policy .chip{background:var(--c-pol-soft);color:var(--c-pol-ink)}.object-card--policy .object-card__type{color:var(--c-pol-ink)}.object-card--output:before{background:linear-gradient(180deg,var(--c-out),#6b73e4)}.object-card--output .op-pill,.object-card--output .chip{background:var(--c-out-soft);color:var(--c-out-ink)}.object-card--output .object-card__type{color:var(--c-out-ink)}.disclosure{margin-top:20px;border-top:1px dashed var(--border-2);padding-top:16px}.disclosure__head{display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:0;background:none;padding:2px 0;color:var(--ink-2);font-weight:600;font-size:13px;font-family:inherit}.disclosure__caret{color:var(--muted);transition:transform .15s;font-size:11px}.disclosure__count{color:var(--muted);font-size:12px;font-weight:500}.empty-state{text-align:center;padding:26px;color:var(--muted);font-size:13px;border:1px dashed var(--border-2);border-radius:var(--radius-sm, 12px);background:var(--surface-sunken)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-chip);font-weight:600;padding:3px 11px;border-radius:999px}.badge--consolidated{background:var(--c-cons-soft);color:var(--c-cons-ink)}.badge--calculation{background:var(--c-calc-soft);color:var(--c-calc-ink)}.badge--policy{background:var(--c-pol-soft);color:var(--c-pol-ink)}.badge--output{background:var(--c-out-soft);color:var(--c-out-ink)}.modal{box-shadow:var(--sh-pop)}.modal-foot{background:var(--surface-sunken)}.modal-foot .btn-danger-solid,.modal-foot .danger-left{margin-right:auto}.modal-dot{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;background:var(--c-cons-soft);color:var(--c-cons-ink);border:1px solid var(--c-cons-line)}.form-grid{display:flex;flex-direction:column;gap:14px}.form-grid__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.flow-scroll{resize:vertical;height:62vh;min-height:420px;max-height:none}.node.g-relacional{border-color:#ecc3ab}.node.g-relacional .node-head{background:#fdf3ed}.node.g-relacional .node-head>svg{color:#c9834f}.node.g-relacional .node-dot{background:#dc9d70}.node.g-relacional.sel{border-color:#e0a983}.node.g-relacional .node-role-chip{background:#fbeadd;color:#ab6c3d}.btn-danger,.btn-danger-solid{min-height:var(--ctrl-h);display:inline-flex;align-items:center;justify-content:center;gap:6px}.rel-traer{margin:10px 0 2px}.rel-traer-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px}.rel-traer-col{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);cursor:pointer}.rel-traer-col input{flex:none}.danger-zone{margin-top:16px;padding-top:12px;border-top:1px solid var(--hair);display:flex}.danger-link{display:inline-flex;align-items:center;gap:7px;font-family:inherit;cursor:pointer;background:none;border:1px solid transparent;border-radius:var(--radius-sm, 10px);padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--muted);transition:background .14s,color .14s,border-color .14s}.danger-link:hover{color:var(--red, #dc2626);background:var(--red-bg, #fee2e2);border-color:#f2c4c4}.danger-link:focus-visible{outline:none;color:var(--red, #dc2626);box-shadow:var(--ctrl-ring-err, 0 0 0 3px rgba(220,38,38,.12))}.danger-link:disabled{opacity:.5;cursor:not-allowed}.danger-link svg{flex:none}.preview-note{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;color:#1c6b45;background:#eef8f2;border:1px solid #cfeadd;border-radius:var(--radius-sm, 11px);padding:9px 12px}.preview-note svg{flex:none;margin-top:1px;color:#3f9d6b}.preview-note b{color:#14532d}.modal.modal-preview .modal-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.modal.modal-preview .preview-table-wrap{flex:1 1 auto;min-height:0;max-height:none;overflow:auto}.modal.modal-preview.modal-resizable{max-width:100vw;max-height:100vh}.modal-overlay:has(.modal-preview){padding:4px}.node-exec-badge{position:absolute;right:7px;bottom:7px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:0 1px 3px #0f172a38;z-index:3;pointer-events:none}.node-exec-badge.exec-running{color:#1e73b8}.node-exec-badge.exec-completed{color:var(--green, #16a34a)}.node-exec-badge.exec-error{color:var(--red, #dc2626)}.node-exec-badge.exec-cancelled,.node-exec-badge.exec-skipped{color:var(--muted-2, #94a3b8)}.node-exec-badge.exec-running svg{animation:node-gear-spin 1.7s linear infinite;transform-origin:50% 50%}@keyframes node-gear-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.node-exec-badge.exec-running svg{animation:none}}.table th.t-num,.table td.t-num{text-align:right;font-variant-numeric:tabular-nums}.table th.t-calc{background:#eaf6f0}.table td.t-calc{background:#f6fbf8}@media (max-width: 1180px){.object-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width: 720px){.surface-panel__head{flex-wrap:wrap}.surface-panel__body{padding:16px}.object-grid{grid-template-columns:1fr}}.card,.surface-panel{border-color:var(--border);box-shadow:var(--shadow);border-radius:var(--radius)}
