:root{--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-family:var(--sans);color:#17202c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f6;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{margin:0}.configurator-page{--config-bg:#e8edf1;--config-panel:#fff;--config-panel-soft:#f6f8fa;--config-border:#cbd5df;--config-border-soft:#dde5ec;--config-text:#17202c;--config-muted:#657386;--config-heading:#0f172a;--config-primary:#173b57;--config-primary-hover:#0f2d45;--config-accent:#3d6d7a;background:var(--config-bg);min-height:100svh;color:var(--config-text);grid-template-columns:minmax(0,1fr) minmax(360px,420px);display:grid}.configurator-page button,.configurator-page a{font:inherit}.configurator-viewer{grid-template-rows:auto auto minmax(360px,1fr);gap:16px;min-width:0;min-height:100svh;padding:26px;display:grid}.configurator-topbar{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.configurator-topbar span,.section-title-row span,.configuration-summary span,.configuration-key-display span{color:var(--config-accent);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:850}.configurator-topbar h1{color:var(--config-heading);margin:5px 0 0;font-size:34px;line-height:1.08}.preview-control-row{justify-content:space-between;align-items:stretch;gap:14px;min-width:0;display:flex}.view-mode-tabs{border:1px solid var(--config-border);background:var(--config-panel);border-radius:8px;gap:4px;width:fit-content;padding:4px;display:inline-flex}.view-mode-tabs button{min-height:34px;color:var(--config-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 13px;font-size:13px;font-weight:780}.view-mode-tabs button.active,.view-mode-tabs button:hover{background:var(--config-primary);color:#fff}.generate-key-button{background:var(--config-primary);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:44px;padding:0 18px;font-size:14px;font-weight:850}.generate-key-button:hover:not(:disabled){background:var(--config-primary-hover)}.generate-key-button:disabled{cursor:not-allowed;opacity:.55}.configuration-key-display{border:1px solid var(--config-border);background:var(--config-panel);text-align:right;border-radius:8px;justify-items:end;gap:3px;min-width:min(360px,48%);max-width:520px;padding:7px 11px;display:grid}.configuration-key-display strong{max-width:100%;color:var(--config-heading);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.2;overflow:hidden}.canvas-frame{border:1px solid var(--config-border);background:#eef3f5;border-radius:8px;min-height:0;overflow:hidden}.configurator-panel{border-left:1px solid var(--config-border);background:var(--config-panel);flex-direction:column;gap:14px;max-height:100svh;padding:22px;display:flex;overflow:hidden}.catalog-status{border:1px solid var(--config-border-soft);background:var(--config-panel-soft);border-radius:8px;gap:5px;padding:12px;display:grid}.catalog-status strong{color:var(--config-heading);text-transform:capitalize;font-size:13px}.catalog-status span,.configuration-summary small,.configuration-summary p,.model-choice-list small,.option-choice small{color:var(--config-muted);font-size:12px;line-height:1.4}.catalog-status-connected{background:#f1f8f1;border-color:#bbd7c0}.catalog-status-offline{background:#fff7f7;border-color:#f0c6c6}.import-key-form{border:1px solid var(--config-border-soft);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:12px;display:grid}.import-key-form label{gap:5px;min-width:0;display:grid}.import-key-form label span{color:var(--config-heading);font-size:13px;font-weight:800}.import-key-form input{border:1px solid var(--config-border);width:100%;min-width:0;font-family:var(--mono);border-radius:6px;padding:10px 11px;font-size:13px}.import-key-form button{background:var(--config-primary);color:#fff;cursor:pointer;border:0;border-radius:6px;min-height:39px;padding:0 13px;font-size:13px;font-weight:800}.import-key-status{color:var(--config-muted);grid-column:1/-1;margin:0;font-size:12px;line-height:1.4}.import-key-status-error{color:#8a2525}.lead-capture-form{border:1px solid var(--config-border-soft);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.lead-capture-form label{color:var(--config-heading);gap:5px;font-size:13px;font-weight:800;display:grid}.lead-capture-form input,.lead-capture-form select{border:1px solid var(--config-border);width:100%;min-width:0;color:var(--config-text);font:inherit;border-radius:6px;padding:10px 11px;font-size:13px}.lead-capture-form button{background:var(--config-primary);color:#fff;cursor:pointer;border:0;border-radius:6px;min-height:40px;font-size:13px;font-weight:850}.lead-capture-form button:hover:not(:disabled){background:var(--config-primary-hover)}.lead-capture-form button:disabled{cursor:not-allowed;opacity:.6}.lead-capture-status{color:var(--config-muted);margin:0;font-size:12px;line-height:1.4}.lead-capture-status-error{color:#8a2525}.lead-capture-key{overflow-wrap:anywhere;border:1px solid var(--config-border-soft);background:var(--config-panel-soft);color:var(--config-heading);border-radius:6px;padding:8px;font-size:12px}.import-issues,.option-import-error{color:#5f2020;background:#fff7f7;border:1px solid #e7b7b7;border-radius:8px;gap:8px;padding:11px;display:grid}.import-issues strong,.option-import-error strong{color:#5f2020;font-size:13px}.import-issues ul{gap:5px;margin:0;padding-left:18px;display:grid}.import-issues li,.option-import-error span{font-size:12px;line-height:1.4}.selection-section{gap:11px;min-width:0;display:grid}.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title-row strong{color:var(--config-heading);font-size:14px}.model-choice-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.model-choice-list button{border:1px solid var(--config-border);background:var(--config-panel-soft);min-height:74px;color:var(--config-text);cursor:pointer;text-align:left;border-radius:8px;justify-items:start;gap:5px;padding:11px;display:grid}.model-choice-list button:hover,.model-choice-list button.selected{border-color:var(--config-primary);background:#edf5f7}.model-choice-list span,.option-choice strong{color:var(--config-heading);font-size:14px;line-height:1.25}.option-selection{min-height:0;padding-right:4px;overflow:auto}.option-group{border:0;border-top:1px solid var(--config-border-soft);gap:8px;min-width:0;margin:0;padding:13px 0 0;display:grid}.option-group legend{color:var(--config-heading);padding:0;font-size:15px;font-weight:850}.option-choice{border:1px solid var(--config-border-soft);background:var(--config-panel-soft);cursor:pointer;border-radius:8px;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:10px;padding:11px;display:grid}.option-choice:hover{border-color:var(--config-border);background:#fff}.option-choice input{width:16px;height:16px;accent-color:var(--config-primary);margin:2px 0 0}.option-choice span{gap:3px;min-width:0;display:grid}.option-choice code{min-width:34px;color:var(--config-primary);font-family:var(--mono);text-align:center;background:#fff;border:1px solid #b8ccd4;border-radius:6px;font-size:13px;font-weight:850;line-height:26px}.configuration-summary{border:1px solid var(--config-primary);background:#f5fafb;border-radius:8px;gap:13px;padding:15px;display:grid}.configuration-summary strong{overflow-wrap:anywhere;color:var(--config-heading);font-family:var(--mono);font-size:20px;line-height:1.2}.configuration-summary dl{gap:8px;margin:0;display:grid}.configuration-summary dl div{justify-content:space-between;gap:12px;display:flex}.configuration-summary dt{color:var(--config-muted);font-size:13px}.configuration-summary dd{color:var(--config-heading);margin:0;font-size:13px;font-weight:800}.configuration-summary p{margin:0}.admin-app{--admin-bg:#eef2f6;--admin-surface:#fff;--admin-surface-soft:#f8fafc;--admin-border:#d7dee8;--admin-border-soft:#e2e8f0;--admin-text:#17202c;--admin-heading:#0f172a;--admin-muted:#64748b;--admin-subtle:#475569;--admin-primary:#173b57;--admin-primary-hover:#0f2d45;--admin-accent:#3d6d7a;--admin-shadow:0 18px 45px #0f172a12;background:var(--admin-bg);min-height:100svh;color:var(--admin-text);text-align:left;grid-template-columns:230px minmax(0,1fr);display:grid}.admin-auth-page{--admin-bg:#eef2f6;--admin-surface:#fff;--admin-surface-soft:#f8fafc;--admin-border:#d7dee8;--admin-text:#17202c;--admin-heading:#0f172a;--admin-muted:#64748b;--admin-subtle:#475569;--admin-primary:#173b57;background:var(--admin-bg);min-height:100svh;color:var(--admin-text);place-items:center;padding:24px;display:grid}.admin-auth-card{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:8px;gap:16px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 18px 45px #0f172a12}.admin-auth-card h1{color:var(--admin-heading);margin:4px 0 0;font-size:28px}.admin-auth-card label{color:var(--admin-muted);gap:7px;font-size:13px;font-weight:800;display:grid}.admin-auth-card input{border:1px solid var(--admin-border);min-height:42px;color:var(--admin-text);font:inherit;border-radius:6px;padding:0 12px}.admin-auth-card button{border-color:var(--admin-primary);background:var(--admin-primary);color:#fff}.auth-message{color:var(--admin-muted);margin:0;font-size:13px}.auth-message-error{color:#b91c1c}.admin-user-pill{border:1px solid var(--admin-border);background:var(--admin-surface-soft);min-height:38px;color:var(--admin-subtle);border-radius:6px;align-items:center;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.admin-app[data-theme=dark]{--admin-bg:#111827;--admin-surface:#17202c;--admin-surface-soft:#1f2937;--admin-border:#334155;--admin-border-soft:#293548;--admin-text:#dbeafe;--admin-heading:#f8fafc;--admin-muted:#a7b4c6;--admin-subtle:#cbd5e1;--admin-primary:#3d6d7a;--admin-primary-hover:#4f8291;--admin-accent:#8bc3d4;--admin-shadow:0 18px 45px #0000003d}.admin-sidebar{border-right:1px solid var(--admin-border);background:var(--admin-surface);flex-direction:column;gap:18px;height:100svh;padding:20px;display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--admin-primary);color:#fff;letter-spacing:0;border-radius:8px;place-items:center;width:44px;height:44px;font-size:14px;font-weight:800;display:grid}.admin-brand strong,.admin-brand span{display:block}.admin-brand strong{color:var(--admin-heading);font-size:17px;line-height:1.2}.admin-brand div>span{color:var(--admin-muted);font-size:13px}.admin-sidebar nav{gap:7px;display:grid}.admin-sidebar nav button{width:100%;color:var(--admin-subtle);background:0 0;border-color:#0000;justify-content:flex-start}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{color:#253b80;background:#eef2ff;border-color:#c7d2fe}.backend-summary{border:1px solid var(--admin-border);background:var(--admin-surface-soft);border-radius:8px;gap:8px;margin-top:auto;padding:14px;display:grid}.backend-summary span,.eyebrow{color:var(--admin-accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.backend-summary strong{color:var(--admin-heading);font-size:13px;line-height:1.35}.admin-main{min-width:0;padding:24px}.admin-header{justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 16px;display:flex}.admin-header h1{color:var(--admin-heading);margin:4px 0 8px;font-size:30px;line-height:1.08}.admin-header p,.section-header p,.reference-panel p{max-width:720px;color:var(--admin-muted);font-size:15px;line-height:1.55}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.header-actions a,button{background:var(--admin-surface);min-height:38px;color:var(--admin-heading);cursor:pointer;font:inherit;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:750;line-height:1;text-decoration:none;display:inline-flex}button:hover,.header-actions a:hover{background:var(--admin-surface-soft);border-color:#94a3b8}.header-actions button,.form-actions button,.section-toolbar button{border-color:var(--admin-primary);background:var(--admin-primary);color:#fff}.header-actions button:hover,.form-actions button:hover,.section-toolbar button:hover{border-color:var(--admin-primary-hover);background:var(--admin-primary-hover)}.secondary{background:var(--admin-surface);color:var(--admin-heading);border-color:#cbd5e1}.danger{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.danger:hover{background:#fee2e2;border-color:#fca5a5}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-card,.workspace-panel,.reference-panel,.catalog-preview{border:1px solid var(--admin-border);background:var(--admin-surface);box-shadow:var(--admin-shadow);border-radius:8px}.metric-card{gap:7px;padding:17px;display:grid}.metric-card span{color:var(--admin-muted);font-size:13px;font-weight:700}.metric-card strong{color:var(--admin-heading);font-size:28px;line-height:1}.metric-card small{color:var(--admin-muted);font-size:13px}.workspace-panel{min-width:0;padding:20px}.section-header{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.section-header h2,.reference-panel h2{color:var(--admin-heading);margin:0;font-size:22px;line-height:1.18}.section-header p{text-align:right;margin:0}.editor-form,.catalog-form{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);border-radius:8px;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;padding:14px;display:grid}.editor-form.compact{grid-template-columns:repeat(3,minmax(140px,1fr)) auto}.rules-form,.catalog-form{grid-template-columns:repeat(2,minmax(0,1fr))}.dependency-options{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:8px;grid-column:1/-1;gap:8px;margin:0;padding:12px;display:grid}.dependency-options legend{color:var(--admin-subtle);padding:0 5px;font-size:12px;font-weight:800}.dependency-options>span{color:var(--admin-muted);font-size:13px}label{color:var(--admin-subtle);letter-spacing:.02em;gap:6px;font-size:12px;font-weight:800;display:grid}input,select,textarea{box-sizing:border-box;border:1px solid var(--admin-border);background:var(--admin-surface);width:100%;min-width:0;color:var(--admin-heading);font:inherit;border-radius:6px;font-size:14px;line-height:1.35}input,select{height:39px;padding:0 10px}textarea{resize:vertical;min-height:86px;padding:10px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #3d6d7a38}.wide-field{grid-column:1/-1}.checkbox-field{align-items:center;gap:9px;display:flex}.checkbox-field input{width:17px;height:17px}.form-actions{align-items:end;gap:10px;display:flex}.rules-form .form-actions{grid-column:1/-1}.editor-delete-button{margin-left:auto}.table-wrap{width:100%;margin-top:18px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{border-bottom:1px solid var(--admin-border-soft);color:var(--admin-muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;font-size:12px;font-weight:800}td,th{vertical-align:middle;padding:12px 10px}td{border-bottom:1px solid var(--admin-border-soft);color:var(--admin-text);font-size:14px}td strong,td span{display:block}td strong{color:var(--admin-heading)}td span{color:var(--admin-muted);font-size:12px}td input,td select{min-width:135px}.row-actions,.section-toolbar{flex-wrap:wrap;gap:8px;display:flex}.section-toolbar{justify-content:flex-end;margin-bottom:4px}.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.pricing-stat{border:1px solid var(--admin-border-soft);background:var(--admin-surface);border-radius:8px;gap:7px;padding:15px;display:grid}.pricing-stat span,.pipeline-kicker{color:var(--admin-muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:800}.pricing-stat strong{color:var(--admin-heading);font-size:24px;line-height:1}.pricing-stat small,.pricing-pipeline small{color:var(--admin-muted);font-size:12px;line-height:1.35}.sync-label{text-transform:capitalize}.sync-connected{color:#166534!important}.sync-loading,.sync-idle{color:#92400e!important}.sync-offline,.sync-error{color:#b91c1c!important}.pricing-pipeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.pricing-pipeline>div{border:1px solid var(--admin-border);border-left:4px solid var(--admin-accent);background:var(--admin-surface-soft);border-radius:8px;gap:5px;min-width:0;padding:13px;display:grid}.pricing-pipeline strong{overflow-wrap:anywhere;color:var(--admin-heading);font-size:14px}.pricing-controls{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);border-radius:8px;grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(135px,1fr)) auto;align-items:end;gap:12px;padding:14px;display:grid}.pricing-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pricing-table{min-width:980px}.pricing-table td{vertical-align:top}.pricing-table td:first-child{min-width:220px}.pricing-table td:nth-child(2){min-width:180px}.pricing-table td input+input,.pricing-table td input+select{margin-top:7px}.pricing-table td em{color:#b91c1c;margin-top:5px;font-size:12px;font-style:normal;line-height:1.35;display:block}.theme-toggle{min-width:106px}.asset-summary-strip{grid-template-columns:minmax(160px,.7fr) repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;margin-bottom:14px;display:grid}.asset-summary-strip>div,.asset-summary-strip article,.asset-summary-strip p{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);border-radius:8px;min-width:0;padding:12px}.asset-summary-strip strong,.asset-card strong{overflow-wrap:anywhere;color:var(--admin-heading);display:block}.asset-summary-strip article span,.asset-card header span,.asset-overview span{color:var(--admin-muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:800}.asset-summary-strip article small,.asset-summary-strip p,.asset-card dd,.asset-overview small,.upload-workflow small,.selected-file span{color:var(--admin-muted);font-size:13px;line-height:1.4}.asset-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.asset-overview article{border:1px solid var(--admin-border-soft);background:var(--admin-surface);border-radius:8px;gap:7px;padding:15px;display:grid}.asset-overview strong{color:var(--admin-heading);font-size:24px;line-height:1}.upload-workflow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.upload-workflow>div{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);border-radius:8px;gap:6px;padding:13px;display:grid}.upload-workflow span{background:var(--admin-primary);color:#fff;border-radius:999px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.upload-workflow strong{color:var(--admin-heading)}.asset-form{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);border-radius:8px;grid-template-columns:minmax(190px,1.3fr) repeat(3,minmax(130px,1fr)) auto auto;align-items:end;gap:12px;padding:14px;display:grid}.asset-compression{grid-column:1/-1}.asset-compression span{gap:3px;display:grid}.asset-compression small,.asset-error{color:var(--admin-muted);font-size:12px}.asset-error{color:#b91c1c}.selected-file{border:1px dashed var(--admin-border);border-radius:8px;align-content:center;gap:5px;min-height:39px;padding:9px 11px;display:grid}.selected-file strong{color:var(--admin-heading);font-size:14px}.asset-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:18px;display:grid}.asset-card{border:1px solid var(--admin-border-soft);background:var(--admin-surface);border-radius:8px;gap:12px;min-width:0;padding:16px;display:grid}.asset-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.asset-card dl{gap:9px;margin:0;display:grid}.asset-card dt{color:var(--admin-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.asset-card dd{overflow-wrap:anywhere;margin:2px 0 0}.asset-url{color:var(--admin-accent);font-size:13px;font-weight:800}.sync-banner{border:1px solid var(--admin-border-soft);border-left:4px solid var(--admin-accent);background:var(--admin-surface-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-bottom:14px;padding:12px;display:grid}.sync-banner div{gap:3px;min-width:0;display:grid}.sync-banner strong{color:var(--admin-heading);text-transform:capitalize;font-size:13px}.sync-banner span,.sync-banner small{color:var(--admin-muted);font-size:13px;line-height:1.35}.sync-banner small{overflow-wrap:anywhere}.sync-banner-connected{border-left-color:#22c55e}.sync-banner-loading,.sync-banner-idle{border-left-color:#f59e0b}.sync-banner-offline,.sync-banner-error{border-left-color:#ef4444}.rule-graph-panel{border:1px solid var(--admin-border-soft);background:var(--admin-surface);border-radius:8px;gap:12px;margin-bottom:14px;padding:14px;display:grid}.rule-graph-panel header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.rule-graph-panel header div{gap:4px;display:grid}.rule-graph-panel header span{color:var(--admin-accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.rule-graph-panel header strong{color:var(--admin-heading);font-size:18px}.rule-graph-panel header p{max-width:560px;color:var(--admin-muted);text-align:right;margin:0;font-size:13px;line-height:1.45}.rule-graph-scroll{border:1px solid var(--admin-border-soft);background:radial-gradient(circle at 16px 16px, #3d6d7a21 1px, transparent 1px), var(--admin-surface-soft);background-size:24px 24px;border-radius:8px;overflow-x:auto}.rule-graph{width:100%;min-width:680px;display:block}.rule-graph-edge path{fill:none;stroke:var(--admin-accent);stroke-linecap:round;stroke-width:3px}.rule-graph-edge.inactive path{opacity:.42;stroke-dasharray:6 5}.rule-graph marker path{fill:var(--admin-accent)}.rule-graph-node rect{fill:var(--admin-surface);stroke:var(--admin-border);stroke-width:1.6px}.rule-graph-node.cycle rect{stroke:#ef4444;stroke-width:2.4px}.rule-graph-node.missing rect{fill:#fff7ed;stroke:#f97316}.rule-graph-node circle{fill:var(--admin-primary)}.rule-graph-node.node-model circle{fill:#3d6d7a}.rule-graph-node.node-category circle{fill:#7c3aed}.rule-graph-node.node-category rect{stroke:#c4b5fd}.rule-graph-node.cycle circle{fill:#ef4444}.rule-graph-node.missing circle{fill:#f97316}.rule-graph-node text{pointer-events:none}.rule-graph-node .node-key{fill:#fff;letter-spacing:.03em;font-size:10px;font-weight:900}.rule-graph-node .node-label{fill:var(--admin-heading);font-size:13px;font-weight:850}.rule-graph-node .node-category{fill:var(--admin-muted);font-size:11px;font-weight:700}.rule-graph-empty{border:1px dashed var(--admin-border);background:var(--admin-surface-soft);color:var(--admin-muted);border-radius:8px;padding:18px;font-size:13px}.rule-graph-notes,.model-gated-rules,.rule-graph-edge-list{flex-wrap:wrap;gap:8px;display:flex}.rule-graph-notes span{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);color:var(--admin-subtle);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.rule-graph-edge-list div,.model-gated-rules div{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);border-radius:8px;gap:3px;min-width:210px;padding:10px;display:grid}.rule-graph-edge-list strong,.model-gated-rules strong{color:var(--admin-heading);font-size:13px}.rule-graph-edge-list span,.model-gated-rules span{color:var(--admin-muted);font-size:12px;line-height:1.35}.dependency-chain-editor{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);border-radius:8px;gap:12px;margin-bottom:14px;padding:14px;display:grid}.dependency-chain-editor>p{color:var(--admin-muted);margin:0;font-size:13px;line-height:1.45}.selected-chain-editor{gap:16px;display:grid}.selected-chain-branch{gap:12px;display:grid}.selected-chain-path{flex-direction:column;align-items:stretch;gap:16px;margin:0;padding:0;list-style:none;display:flex}.selected-chain-path li{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:8px;gap:3px;padding:11px 13px 11px 44px;display:grid;position:relative}.selected-chain-path li:before{background:var(--admin-primary);content:"";border-radius:999px;width:18px;height:18px;position:absolute;top:14px;left:14px}.selected-chain-path li.chain-source:before{background:var(--admin-accent);border-radius:6px}.selected-chain-path li.chain-category:before{background:#7c3aed}.selected-chain-path li+li:after{color:var(--admin-muted);content:"↓";font-size:14px;font-weight:900;line-height:1;position:absolute;top:-14px;left:22px}.selected-chain-path span{color:var(--admin-accent);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:900}.selected-chain-path strong{color:var(--admin-heading);font-size:14px}.selected-chain-path small{color:var(--admin-muted);font-size:12px}.selected-chain-rules{flex-wrap:wrap;gap:8px;display:flex}.selected-chain-options{border:1px dashed var(--admin-border);background:var(--admin-surface-soft);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:6px;padding:14px;display:grid}.selected-chain-options div{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:8px;gap:3px;padding:11px 13px 11px 36px;display:grid;position:relative}.selected-chain-options div:before{background:var(--admin-accent);content:"";border-radius:999px;width:14px;height:14px;position:absolute;top:12px;left:12px}.selected-chain-options span{color:var(--admin-accent);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:900}.selected-chain-options strong{color:var(--admin-heading);font-size:14px}.selected-chain-options small{color:var(--admin-muted);font-size:12px}.selected-chain-rules .primary-chain-rule{border-color:var(--admin-primary);background:var(--admin-primary);color:#fff}.dirty-row td{background:#fffdf4}.empty-state{text-align:center;gap:4px;padding:22px;display:grid}.empty-state strong{color:var(--admin-heading)}.empty-state span{color:var(--admin-muted)}.status{min-height:26px;color:var(--admin-subtle);background:#f1f5f9;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.status-active,.status-available,.status-ready{color:#166534;background:#dcfce7}.status-draft,.status-review,.status-pricing,.status-warning{color:#92400e;background:#fef3c7}.status-archived,.status-unavailable,.status-blocked{color:#991b1b;background:#fee2e2}.option-list,.rules-list{gap:11px;margin-top:18px;display:grid}.option-row,.rule-card{border:1px solid var(--admin-border-soft);background:var(--admin-surface);border-radius:8px}.option-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;display:grid}.option-row span,.rule-card header span{color:var(--admin-muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:800}.option-row strong,.option-row small{display:block}.option-row strong{color:var(--admin-heading);margin:2px 0}.option-row small{color:var(--admin-muted)}.rule-card{padding:16px}.rule-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rule-card strong{color:var(--admin-heading);margin-top:3px;font-size:16px;display:block}.toggle{border-color:var(--admin-border);background:var(--admin-surface-soft);color:var(--admin-subtle)}.toggle.enabled{color:#166534;background:#dcfce7;border-color:#bbf7d0}.rule-card dl,.reference-panel dl{gap:10px;margin:14px 0;display:grid}.rule-card dt,.reference-panel dt{color:var(--admin-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.rule-card dd,.reference-panel dd{color:var(--admin-text);margin:2px 0 0;font-size:14px;line-height:1.45}.catalog-preview{margin-top:16px;padding:16px}.catalog-preview span{color:var(--admin-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:800;display:block}pre{background:var(--admin-heading);color:#dbeafe;border-radius:8px;margin:0;padding:14px;font-size:13px;line-height:1.55;overflow-x:auto}.reference-panel{padding:18px;position:sticky;top:24px}.reference-panel h2{text-transform:capitalize}.reference-panel dd{overflow-wrap:anywhere;background:var(--admin-surface-soft);font-family:var(--mono);color:var(--admin-primary);border-radius:6px;padding:8px 10px}.handoff-note{border-top:1px solid var(--admin-border-soft);gap:6px;padding-top:14px;display:grid}.handoff-note strong{color:var(--admin-heading);font-size:14px}.handoff-note span{color:var(--admin-muted);font-size:13px;line-height:1.5}@media (width<=1120px){.configurator-page{grid-template-columns:1fr}.configurator-viewer{min-height:58svh}.configurator-panel{border-top:1px solid var(--config-border);border-left:0;max-height:none}.preview-control-row{flex-direction:column}.configuration-key-display{text-align:left;justify-items:start;min-width:0;max-width:none}.admin-app{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-sidebar nav{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.workspace-grid{grid-template-columns:1fr}.reference-panel{position:static}}@media (width<=820px){.configurator-viewer,.configurator-panel{padding:16px}.configurator-topbar{display:grid}.configurator-topbar h1{font-size:27px}.model-choice-list{grid-template-columns:1fr}.view-mode-tabs{width:100%}.view-mode-tabs button{flex:1;padding:0 8px}.canvas-frame{min-height:340px}.admin-main,.admin-sidebar{padding:18px}.admin-header{display:grid}.header-actions{justify-content:flex-start}.metrics-grid,.pricing-grid,.pricing-pipeline,.pricing-controls,.asset-summary-strip,.asset-overview,.upload-workflow,.asset-form,.sync-banner,.editor-form,.editor-form.compact,.rules-form,.catalog-form{grid-template-columns:1fr}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.option-row{grid-template-columns:1fr}}.browse-page{color:#17202c;background:linear-gradient(#eef2f6 0%,#dde6ee 100%);min-height:100svh;padding:40px clamp(20px,4vw,64px) 80px}.browse-topbar{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1280px;margin:0 auto 32px;display:flex}.browse-topbar span{color:#3d6d7a;letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:850;display:block}.browse-topbar h1{color:#0f172a;margin:6px 0 12px;font-size:clamp(28px,4vw,40px);line-height:1.1}.browse-lede{color:#4a5664;max-width:56ch;margin:0}.browse-back{color:#173b57;margin-bottom:8px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.browse-back:hover{text-decoration:underline}.browse-status{color:#4a5664;max-width:1280px;margin:0 auto 24px}.browse-status-error{color:#b1322a}.browse-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1280px;margin:0 auto;display:grid}.browse-card{color:inherit;background:#fff;border:1px solid #cbd5df;border-radius:14px;flex-direction:column;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;overflow:hidden}.browse-card:hover{border-color:#173b57;transform:translateY(-2px);box-shadow:0 8px 24px #0f2d451f}.browse-card-hero{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#173b57 0%,#3d6d7a 100%) 50%/cover;justify-content:flex-start;align-items:flex-end;height:160px;padding:16px;font-size:20px;font-weight:800;display:flex}.browse-card-hero-freeform{background:linear-gradient(135deg,#4a5664 0%,#17202c 100%)}.browse-card-body{flex-direction:column;gap:6px;padding:16px 18px 20px;display:flex}.browse-card-body strong{color:#0f172a;font-size:18px}.browse-card-body small{color:#657386;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.browse-card-body p{color:#4a5664;margin:6px 0 0;font-size:14px}.browse-card-cta{color:#173b57;margin-top:12px;font-size:14px;font-weight:700}.lot-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;max-width:1280px;margin:0 auto;display:grid}.lot-card{color:inherit;background:#fff;border:1px solid #cbd5df;border-radius:12px;flex-direction:column;gap:10px;padding:18px 18px 16px;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex}.lot-card[href]:hover{border-color:#173b57;transform:translateY(-2px);box-shadow:0 6px 18px #0f2d451f}.lot-card-reserved,.lot-card-sold,.lot-card-unavailable{opacity:.72;cursor:not-allowed}.lot-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.lot-card-header strong{color:#0f172a;font-size:18px}.lot-status{color:#1f5b3d;text-transform:uppercase;letter-spacing:.06em;background:#e0f0e9;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800;display:inline-block}.lot-status-reserved{color:#8a5b1d;background:#fdecd2}.lot-status-sold{color:#8a2a26;background:#f5d6d4}.lot-status-unavailable{color:#4a5664;background:#e3e6ea}.lot-card dl{grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;display:grid}.lot-card dl>div{flex-direction:column;display:flex}.lot-card dt{color:#657386;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.lot-card dd{color:#17202c;margin:0;font-size:14px;font-weight:700}.lot-notes{color:#4a5664;margin:0;font-size:13px}.lot-card-cta{color:#173b57;margin-top:auto;font-size:14px;font-weight:700}.lot-card-cta-disabled{color:#657386}.configurator-lot-context{color:#4a5664;margin:8px 0 0;font-size:13px}.configurator-lot-context a{color:#173b57;font-weight:700}.configurator-lot-error{color:#b1322a}.model-empty{color:#b1322a;margin:8px 0 0;font-size:13px}.model-rejected{color:#4a5664;margin-top:10px;font-size:12px}.model-rejected summary{cursor:pointer;color:#173b57;font-weight:700}.model-rejected ul{margin:6px 0 0;padding-left:18px}.model-rejected li{margin-top:2px}.section-stack{flex-direction:column;gap:16px;display:flex}.editor-form .span-2{grid-column:span 2}.lot-import>summary{cursor:pointer;color:var(--admin-heading);grid-column:1/-1;font-size:15px}.lot-import>summary small{color:var(--admin-muted);margin-left:6px;font-weight:500}.lot-import-help{color:var(--admin-muted);grid-column:1/-1;margin:0;font-size:13px;line-height:1.5}.lot-import-error{color:var(--admin-danger,#b91c1c);font-size:13px;font-weight:600}.lot-import-preview{grid-column:1/-1;gap:8px;display:grid}.lot-import-preview details summary{cursor:pointer;color:var(--admin-subtle);font-size:13px}.lot-import-preview ul{color:var(--admin-muted);margin:4px 0 0;padding-left:18px;font-size:13px}.lot-view-toggle{background:#94a3b82e;border-radius:10px;gap:4px;margin:4px 0 12px;padding:4px;display:inline-flex}.lot-view-toggle button{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:7px;padding:6px 16px;font-weight:600}.lot-view-toggle button.active{background:#fff;box-shadow:0 1px 3px #0f172a33}.lot-map{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px;display:grid}.lot-map-canvas{touch-action:none;background:linear-gradient(#dbeafe 0%,#eef2ff 100%);border-radius:14px;width:100%;height:70vh;min-height:420px;overflow:hidden}.lot-map-label{color:#fff;white-space:nowrap;pointer-events:none;background:#0f172ad9;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.lot-map-panel{gap:12px;display:grid;position:sticky;top:16px}.lot-map-legend{flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.lot-legend{align-items:center;gap:6px;display:inline-flex}.lot-legend:before{content:"";border-radius:3px;width:12px;height:12px}.lot-legend-available:before{background:#2563eb}.lot-legend-reserved:before{background:#d97706}.lot-legend-sold:before{background:#6b7280}.lot-map-detail{background:#fff;border:1px solid #94a3b866;border-radius:12px;padding:14px}.lot-map-hint{color:#64748b;font-size:14px}@media (width<=760px){.lot-map{grid-template-columns:1fr}}.neighborhood-canvas{border-radius:inherit;touch-action:none;background:linear-gradient(#cfe0f3 0%,#eef2f7 100%);width:100%;height:100%;min-height:320px;overflow:hidden}.canvas-loading{color:#64748b;justify-content:center;align-items:center;width:100%;height:100%;min-height:320px;font-size:14px;display:flex}.editor-form h3{color:var(--admin-heading);grid-column:1/-1;margin:0 0 4px;font-size:16px}.editor-form h3 small{color:var(--admin-muted);margin-left:6px;font-weight:500}.editor-form label{color:var(--admin-subtle);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.editor-form label>span{text-transform:uppercase;letter-spacing:.04em;color:var(--admin-muted);font-size:11px}.editor-form label>small{color:var(--admin-muted);font-weight:400}.editor-form input,.editor-form textarea,.editor-form select{border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text);font:inherit;border-radius:6px;padding:8px 10px}.checkbox-fieldset{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:0;padding:10px 12px;display:grid}.checkbox-fieldset legend{color:var(--admin-subtle);text-transform:uppercase;letter-spacing:.04em;padding:0 5px;font-size:12px;font-weight:700}.checkbox-choice{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);color:var(--admin-text);cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr;align-items:center;gap:6px 8px;padding:6px 8px;font-size:13px;font-weight:600;display:grid}.checkbox-choice input{grid-row:span 2}.checkbox-choice small{color:var(--admin-muted);text-transform:uppercase;letter-spacing:.04em;grid-column:2;font-size:11px;font-weight:500}.lot-filters{flex-wrap:wrap;gap:16px;display:flex}.lot-filters label{color:var(--admin-subtle);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.lot-filters select{border:1px solid var(--admin-border);background:var(--admin-surface);min-width:240px;color:var(--admin-text);font:inherit;border-radius:6px;padding:8px 10px}.data-table{border-collapse:collapse;background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:8px;width:100%;font-size:13px;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--admin-border-soft);vertical-align:top;padding:10px 12px}.data-table th{background:var(--admin-surface-soft);color:var(--admin-subtle);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.data-table tr:last-child td{border-bottom:0}.data-table strong{color:var(--admin-heading);display:block}.data-table small{color:var(--admin-muted);margin-top:2px;font-size:11px;display:block}.data-table code{font-family:var(--mono);color:var(--admin-subtle);font-size:12px}.data-table .row-actions{white-space:nowrap;gap:6px;display:flex}.data-table .row-actions button{border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.data-table .row-actions button:hover{border-color:var(--admin-primary);color:var(--admin-primary)}.asset-gallery{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.asset-gallery legend{color:var(--admin-subtle);text-transform:uppercase;letter-spacing:.04em;padding:0 5px;font-size:12px;font-weight:700}.asset-gallery-helper{color:var(--admin-muted);font-size:12px}.asset-gallery-upload{align-items:center;gap:12px;display:flex}.asset-gallery-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.asset-gallery-upload-button{border:1px solid var(--admin-primary);background:var(--admin-primary);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:700;transition:background .12s,border-color .12s;display:inline-flex}.asset-gallery-upload-button:hover:not(:disabled){background:var(--admin-primary-hover);border-color:var(--admin-primary-hover)}.asset-gallery-upload-button:disabled{opacity:.55;cursor:not-allowed}.asset-gallery-upload-button span{font-size:14px;font-weight:900}.asset-gallery-upload small{color:var(--admin-muted);font-size:12px}.asset-gallery-empty{color:var(--admin-muted);margin:0;font-size:13px}.asset-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.asset-card{border:1px solid var(--admin-border-soft);background:var(--admin-surface-soft);border-radius:8px;flex-direction:column;gap:8px;padding:8px;display:flex}.asset-card-hero{border-color:var(--admin-primary);box-shadow:0 0 0 1px var(--admin-primary)}.asset-thumb{color:#e2e8f0;background:#0f172a;border-radius:6px;justify-content:center;align-items:center;height:110px;display:flex;position:relative;overflow:hidden}.asset-thumb img{object-fit:cover;width:100%;height:100%}.asset-hero-badge{color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#0f172ac7;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:6px;left:6px}.asset-meta{flex-direction:column;gap:2px;display:flex}.asset-meta strong{color:var(--admin-heading);word-break:break-word;font-size:13px}.asset-meta small{color:var(--admin-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.asset-actions{flex-wrap:wrap;gap:4px;display:flex}.asset-actions button{border:1px solid var(--admin-border);background:var(--admin-surface);color:var(--admin-text);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600}.asset-actions button:hover:not(:disabled){border-color:var(--admin-primary);color:var(--admin-primary)}.asset-actions button:disabled{opacity:.5;cursor:not-allowed}.asset-delete:hover:not(:disabled){color:#b1322a!important;border-color:#b1322a!important}.lot-card-image{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#173b57 0%,#3d6d7a 100%) 50%/cover;border-top-left-radius:12px;border-top-right-radius:12px;justify-content:flex-start;align-items:flex-end;height:140px;margin:-18px -18px 4px;padding:12px;font-weight:800;display:flex}
