:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4f1e8;--paper-2:#ebe7dc;--ink:#14202a;--ink-2:#24313b;--muted:#6f7d83;--line:#d7d1c2;--line-strong:#bdb5a5;--surface:#fffcf4d1;--surface-solid:#fffcf4;--surface-2:#f8f5ed;--dark:#0d151b;--dark-2:#111d25;--dark-3:#172630;--dark-line:#253843;--soft-dark-text:#a9bac2;--text-on-dark:#e9f4f5;--volt:#00b879;--cyan:#1fbfd6;--amber:#d78a18;--red:#d94b4b;--blue:#3866e8;--violet:#7662d9;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--shadow-panel:0 14px 34px #242a2e1a;--shadow-shell:0 22px 80px #242a2e1f;--mono:"Berkeley Mono", "SFMono-Regular", "Cascadia Mono", "IBM Plex Mono", Consolas, monospace;--sans:"Aptos", "Avenir Next", "Segoe UI", system-ui, sans-serif;--display:"Space Grotesk", "Aptos Display", "Avenir Next", "Segoe UI", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--status-good-bg:#00b8791a;--status-good-border:#00b8794d;--status-good-text:#075239;--status-warn-bg:#d78a181f;--status-warn-border:#d78a184d;--status-warn-text:#7b4a08;--status-info-bg:#3866e81a;--status-info-border:#3866e83d;--status-info-text:#143a92;--status-bad-bg:#d94b4b1a;--status-bad-border:#d94b4b4d;--status-bad-text:#8b1f24;--status-neutral-bg:#14202a0f;--status-neutral-border:#14202a21;--status-neutral-text:#56656d;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{background:radial-gradient(circle at 12% -2%, #1fbfd61f, transparent 32%), radial-gradient(circle at 80% 4%, #00b8791a, transparent 28%), linear-gradient(135deg, #ffffff8f, transparent 35%), var(--paper);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body:before{z-index:-2;content:"";pointer-events:none;background-image:linear-gradient(#14202a0b 1px,#0000 1px),linear-gradient(90deg,#14202a0b 1px,#0000 1px);background-size:34px 34px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#0000002e 70%,#0000);mask-image:linear-gradient(#000000e6,#0000002e 70%,#0000)}body:after{z-index:-1;color:#14202a09;content:"OCPP 1.6J";font-family:var(--mono);letter-spacing:0;pointer-events:none;font-size:clamp(54px,8vw,120px);font-weight:900;position:fixed;bottom:18px;right:-30px}button,input,textarea,select{min-width:0;font:inherit}button{background:linear-gradient(135deg, var(--ink), #1b3841);color:#fffaf0;cursor:pointer;letter-spacing:0;border:1px solid #0000;border-radius:12px;max-width:100%;min-height:40px;padding:0 13px;font-size:.82rem;font-weight:820;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;box-shadow:0 12px 28px #14202a29}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{box-shadow:none;color:#87928f;cursor:not-allowed;opacity:1;background:#14202a0f;border-color:#14202a1a}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #1fbfd657}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);letter-spacing:0}h1,h2{font-family:var(--display);font-weight:900}h1{font-size:clamp(1.55rem,3vw,2.55rem);line-height:.98}h2{font-size:1.35rem;line-height:1.08}h3{font-size:1rem;line-height:1.2}dl{gap:8px;margin:0;display:grid}dt{color:var(--muted);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:850}dd{color:var(--ink-2);overflow-wrap:anywhere;margin:3px 0 0;font-size:.88rem}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1180px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #d7d1c2b8;padding:11px 12px}th{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#f8f5edc7;font-size:.68rem;font-weight:900}td{color:var(--ink-2);font-size:.82rem}tbody tr:hover td{background:#ffffff57}pre{border:1px solid var(--dark-line);background:var(--dark);color:#d6e8e9;width:100%;max-width:100%;max-height:300px;font-family:var(--mono);tab-size:2;white-space:pre;border-radius:12px;margin:0;padding:13px;font-size:.76rem;line-height:1.55;overflow:auto}code{font-family:var(--mono)}img,svg,canvas{max-width:100%}.auth-layout{background:radial-gradient(circle at 50% 20%,#1fbfd621,#0000 34%),linear-gradient(#f4f1e8f0,#ebe7dcfa);place-items:center;min-height:100vh;padding:22px;display:grid;position:relative;overflow:hidden}.auth-layout:before{content:"";pointer-events:none;background-image:linear-gradient(#14202a0a 1px,#0000 1px),linear-gradient(90deg,#14202a0a 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000c,#0000);mask-image:linear-gradient(#000c,#0000)}.login-panel{z-index:1;border:1px solid var(--line);width:min(100%,480px);box-shadow:var(--shadow-shell);background:#fffcf4eb;border-radius:28px;padding:26px;position:relative;overflow:hidden}.login-panel:before{content:"";opacity:.22;pointer-events:none;background:linear-gradient(90deg,#00b879b3,#1fbfd68c),repeating-linear-gradient(45deg,#0000 0 8px,#ffffff29 8px 10px);border-radius:20px;width:130px;height:130px;position:absolute;top:14px;right:14px;transform:rotate(7deg)}.login-header,.sidebar-brand{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.login-header{justify-items:start;display:grid}.brand-mark{background:linear-gradient(135deg, #00b879e6, #1fbfd6d9), var(--surface-solid);width:42px;height:42px;color:var(--dark);font-family:var(--mono);border:1px solid #14202a1f;border-radius:12px;flex:none;place-items:center;font-size:.7rem;font-weight:900;display:grid;box-shadow:inset 0 1px #ffffff8c,0 10px 28px #1fbfd62e}.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 9px;font-size:.66rem;font-weight:860}.login-panel h1{max-width:360px;font-size:clamp(2rem,6vw,3.25rem)}.login-copy{z-index:1;max-width:380px;color:var(--muted);margin-top:20px;font-size:.92rem;line-height:1.55;position:relative}.login-form,.charger-form{z-index:1;gap:16px;margin-top:24px;display:grid;position:relative}.login-form label,.charger-form label,.filter-row label,.log-filters label,.connector-control-panel label,.transaction-control-panel label,.scenario-toolbar label,.parser-input-panel label,.file-upload-field{color:var(--ink-2);gap:7px;font-size:.8rem;font-weight:800;display:grid}.login-form input,.charger-form input,.charger-form select,.filter-row input,.filter-row select,.transaction-control-panel input,.connector-control-panel select,.log-filters input,.log-filters select,.scenario-toolbar select,.parser-input-panel textarea,.file-upload-field input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background-color:#ffffffa8;border-radius:12px;outline:none;padding:9px 11px}select{--select-chevron-color:#6f7d83;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--select-chevron-color) 50%), linear-gradient(135deg, var(--select-chevron-color) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px;padding-right:38px!important}.login-form button{margin-top:2px}.form-error{color:#8b1f24;background:#d94b4b14;border:1px solid #d94b4b4d;border-radius:10px;padding:10px 12px;font-size:.84rem;line-height:1.45}.inline-error{background:#d94b4b14;border:1px solid #d94b4b3d;border-radius:10px;margin:0;padding:9px 11px;font-size:.78rem;font-weight:750;color:#8b1f24!important}.runtime-error{margin-top:14px}.loading-bar{background:#14202a14;border-radius:999px;width:100%;height:6px;margin-top:24px;position:relative;overflow:hidden}.loading-bar:after{border-radius:inherit;background:linear-gradient(90deg, var(--volt), var(--cyan));content:"";width:45%;animation:1.1s ease-in-out infinite loading-slide;position:absolute;inset:0}.console-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcf4b3;flex-direction:column;gap:18px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.sidebar-brand{min-height:52px;padding:4px 6px 10px}.sidebar-brand>div:last-child{min-width:0}.sidebar-brand strong{color:var(--ink);font-family:var(--display);font-size:.98rem;font-weight:900;line-height:1.08;display:block}.sidebar-brand span,.sidebar-section-label,.sidebar-status-panel span{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800}.sidebar-brand span{margin-top:4px;display:block}.sidebar-section-label{margin:0 6px -8px}.sidebar nav{gap:6px;display:grid}.sidebar a,.sidebar .nav-disabled{min-height:48px;color:var(--ink-2);border:1px solid #0000;border-radius:12px;align-content:center;gap:3px;padding:8px 10px;text-decoration:none;display:grid}.sidebar a span,.sidebar .nav-disabled span{min-height:0;color:inherit;padding:0;font-size:.82rem;font-weight:800}.sidebar a small,.sidebar .nav-disabled small{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.61rem;font-weight:800}.sidebar a:hover,.sidebar a[aria-current=page]{color:var(--ink);background:#14202a0f}.sidebar a[aria-current=page]{box-shadow:inset 3px 0 0 var(--volt);border-color:#14202a14}.sidebar .nav-disabled{color:#929b9d;cursor:not-allowed}.sidebar-status-panel{border:1px solid var(--line);background:#fffcf49e;border-radius:16px;gap:7px;margin-top:auto;padding:12px;display:grid;box-shadow:0 14px 40px #242a2e0f}.sidebar-status-panel strong{color:var(--ink);font-size:.84rem;line-height:1.25}.sidebar-status-panel p{color:var(--muted);font-family:var(--mono);font-size:.68rem;line-height:1.45}.workspace{min-width:0;padding:18px}.workspace-header{border:1px solid var(--line);border-radius:var(--radius-lg);min-height:86px;box-shadow:var(--shadow-panel);background:#fffcf4c7;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px 16px;display:flex;position:relative;overflow:hidden}.workspace-header:after{background:linear-gradient(180deg, var(--volt), var(--cyan), var(--amber));content:"";width:5px;position:absolute;inset:0 auto 0 0}.workspace-header h1{font-size:clamp(1.65rem,3vw,2.55rem)}.header-actions,.form-actions,.row-actions{flex-wrap:wrap;gap:8px;display:flex}.backend-indicator{min-height:32px;color:var(--muted);font-family:var(--mono);text-transform:uppercase;align-items:center;gap:8px;font-size:.68rem;font-weight:850;display:inline-flex}.backend-indicator:before{background:var(--line-strong);content:"";border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #14202a0d}.backend-indicator.online:before{background:var(--volt);box-shadow:0 0 0 4px #00b87921}.backend-indicator.offline:before{background:var(--red);box-shadow:0 0 0 4px #d94b4b1f}.backend-indicator.checking:before{background:var(--amber);box-shadow:0 0 0 4px #d78a181f}.secondary-button{border-color:var(--line);box-shadow:none;color:var(--ink);background:#fffcf4d1}.secondary-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-solid)}.danger-button{box-shadow:none;color:#8b1f24;background:#fff0f0;border-color:#d94b4b4d}.danger-button:hover:not(:disabled){background:#ffe5e5}.compact-button{border-radius:10px;min-height:34px;padding:0 10px;font-size:.74rem}.text-button{min-height:0;box-shadow:none;color:var(--ink);text-align:left;background:0 0;padding:0}.text-button:hover:not(:disabled){color:#08734e;background:0 0;text-decoration:underline;transform:none}.primary-cell{gap:4px;min-width:0;display:grid}.primary-cell span,.action-note{color:var(--muted);font-size:.75rem;line-height:1.4}.mono-token{overflow-wrap:anywhere;border:1px solid var(--line);max-width:100%;color:var(--ink);font-family:var(--mono);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;background:#ffffff75;border-radius:8px;padding:4px 7px;font-size:.74rem;font-weight:760;display:inline-block;overflow:hidden}.badge-row{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.status-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:14px;display:grid}.status-strip>div{border:1px solid var(--line);background:#fffcf4b8;border-radius:16px;gap:6px;min-height:82px;padding:12px;display:grid;box-shadow:0 10px 32px #242a2e0d}.status-strip span,.read-only-field span{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;font-weight:850}.status-strip strong,.read-only-field strong{color:var(--ink);font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:900;overflow:hidden}.status-strip .status-badge{width:fit-content}.fleet-hero,.profiles-hero,.scenario-hero,.detail-header{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);background:#fffcf4c7;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-top:14px;padding:18px;display:grid;position:relative;overflow:hidden}.fleet-hero:after,.profiles-hero:after,.scenario-hero:after,.detail-header:after{background:linear-gradient(180deg, var(--volt), var(--cyan));content:"";width:4px;position:absolute;inset:0 auto 0 0}.fleet-hero h2,.profiles-hero h2,.scenario-hero h2,.workbench-hero h2{max-width:820px;font-size:clamp(1.8rem,4vw,2.9rem);line-height:.96}.fleet-hero p,.profiles-hero p,.scenario-hero p,.detail-header p{max-width:760px;color:var(--muted);margin-top:9px;font-size:.88rem;line-height:1.5}.fleet-hero>button,.scenario-run-card>.scenario-actions button{background:linear-gradient(135deg, var(--ink), #1b3841)}.fleet-panel,.fleet-table-panel,.content-panel,.toolbar,.profiles-panel,.scenario-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-panel);margin-top:14px;padding:16px}.fleet-panel,.fleet-table-panel,.profiles-panel,.scenario-panel{gap:16px;display:grid}.content-panel p,.toolbar p{color:var(--muted);line-height:1.5}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.fleet-panel .section-heading,.fleet-table-panel .section-heading,.profiles-panel .section-heading,.scenario-panel .section-heading{margin-bottom:0}.section-heading h2,.panel-heading h2{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900}.section-heading span{color:var(--muted);font-family:var(--mono);font-size:.68rem;font-weight:700}.fleet-state-matrix{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;display:grid}.fleet-state-cell{background:var(--line-strong);min-height:34px;box-shadow:none;border:1px solid #14202a14;border-radius:5px;padding:0;text-decoration:none;transition:filter .15s,transform .15s;display:block;position:relative;overflow:hidden}.fleet-state-cell:hover{filter:saturate(1.1);transform:translateY(-2px)}.fleet-state-cell span{color:#14202ab8;max-width:calc(100% - 10px);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;font-weight:850;position:absolute;inset:auto auto 5px 5px;overflow:hidden}.fleet-state-cell.available{background:#00b879bd}.fleet-state-cell.charging{background:#1fbfd6c2}.fleet-state-cell.preparing{background:#d78a18b3}.fleet-state-cell.faulted{background:#d94b4bc7}.fleet-state-cell.offline{opacity:.68;background:#adb4ad}.fleet-state-legend{flex-wrap:wrap;gap:9px 13px;display:flex}.fleet-state-legend span{color:var(--muted);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;font-size:.62rem;font-weight:760;display:inline-flex}.fleet-state-legend strong{color:var(--ink);font-size:inherit;font-variant-numeric:tabular-nums}.fleet-state-legend i{border-radius:3px;width:9px;height:9px}.fleet-state-legend .available{background:var(--volt)}.fleet-state-legend .charging{background:var(--cyan)}.fleet-state-legend .preparing{background:var(--amber)}.fleet-state-legend .faulted{background:var(--red)}.fleet-state-legend .offline{background:#adb4ad}.fleet-state-actions{border-top:1px solid #d7d1c2b8;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px;display:flex}.fleet-state-actions .fleet-note{margin-right:auto}.toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.filter-row{flex:1;grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) minmax(180px,1fr);gap:12px;display:grid}.fleet-note{font-family:var(--mono);font-size:.66rem;font-weight:700;color:var(--muted)!important}.fleet-table-panel{padding-bottom:0;overflow:hidden}.fleet-table-scroll{margin-left:-16px;margin-right:-16px}.fleet-table-scroll .charger-table{min-width:1440px}.charger-table th,.charger-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-scroll{scrollbar-color:var(--line-strong) transparent;-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.url-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.url-cell code{color:var(--muted);font-size:.72rem}.charger-table th:first-child,.charger-table td:first-child{width:180px}.charger-table th:nth-child(2),.charger-table td:nth-child(2){width:150px}.charger-table th:nth-child(3),.charger-table td:nth-child(3){width:140px}.charger-table th:nth-child(4),.charger-table td:nth-child(4){text-align:center;width:104px}.charger-table th:nth-child(5),.charger-table td:nth-child(5){width:230px}.charger-table th:nth-child(6),.charger-table td:nth-child(6){width:160px}.charger-table th:nth-child(7),.charger-table td:nth-child(7){width:112px}.charger-table th:nth-child(8),.charger-table td:nth-child(8){width:96px}.charger-table th:nth-child(9),.charger-table td:nth-child(9){width:160px}.charger-table th:nth-child(10),.charger-table td:nth-child(10){text-align:right;width:128px}.charger-table .fleet-charger-row{cursor:pointer}.charger-table .fleet-charger-row:hover td{background:#ffffff85}.charger-table .fleet-charger-row:focus-visible{outline-offset:-3px;outline:3px solid #1fbfd657}.charger-table .primary-cell{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.charger-table .charger-name{width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:800;text-decoration:none;display:block;overflow:hidden}.connection-cell{align-items:center;gap:7px;max-width:100%;display:inline-flex}.connection-retry-button{width:26px;min-width:26px;min-height:26px;box-shadow:none;color:#0a6849;background:#00b8791a;border:1px solid #00b8794d;border-radius:50%;place-items:center;padding:0;display:inline-grid}.connection-retry-button:hover:not(:disabled){background:#00b8792e;border-color:#00b87985;transform:rotate(24deg)}.connection-retry-button span{font-family:var(--mono);font-size:.92rem;font-weight:900;line-height:1}.connection-retry-button.connecting span{animation:.8s linear infinite connection-retry-spin}@keyframes connection-retry-spin{to{transform:rotate(360deg)}}.charger-table .heartbeat-cell,.charger-table .meter-cell{color:var(--ink-2);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.75rem}.charger-table .status-badge{white-space:nowrap}.fleet-pagination{background:#fffcf4bd;border-top:1px solid #d7d1c2b8;justify-content:flex-end;align-items:center;gap:12px;margin:0 -16px;padding:12px 16px;display:flex}.fleet-pagination p{color:var(--muted);font-family:var(--mono);margin:0 auto 0 0;font-size:.7rem;font-weight:800}.fleet-pagination label{color:var(--muted);font-family:var(--mono);text-transform:uppercase;align-items:center;gap:8px;font-size:.68rem;font-weight:900;display:inline-flex}.fleet-pagination select{width:92px;min-height:34px;font-family:var(--mono);text-align:center;text-align-last:center;border-radius:10px;padding:0 34px 0 16px;font-size:.72rem;padding-right:34px!important}.pagination-actions{gap:8px;display:inline-flex}.pagination-actions .compact-button{min-width:84px}.status-badge{min-height:24px;font-family:var(--mono);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:0 8px;font-size:.68rem;font-weight:850;display:inline-flex}.status-badge.good{border-color:var(--status-good-border);background:var(--status-good-bg);color:var(--status-good-text)}.status-badge.warn{border-color:var(--status-warn-border);background:var(--status-warn-bg);color:var(--status-warn-text)}.status-badge.charging{color:#075366;background:#1fbfd61c;border-color:#1fbfd64d}.status-badge.transition{color:#7b4a08;background:#d78a181c;border-color:#d78a184d}.status-badge.info{border-color:var(--status-info-border);background:var(--status-info-bg);color:var(--status-info-text)}.status-badge.bad{border-color:var(--status-bad-border);background:var(--status-bad-bg);color:var(--status-bad-text)}.status-badge.neutral{border-color:var(--status-neutral-border);background:var(--status-neutral-bg);color:var(--status-neutral-text)}.state-block,.empty-state{border:1px dashed var(--line-strong);min-height:170px;color:var(--muted);text-align:center;background:#ffffff42;border-radius:14px;place-items:center;gap:12px;padding:22px;display:grid}.state-block .loading-bar{width:min(100%,280px);margin-top:0}.state-block strong,.empty-state strong{color:var(--ink)}.error-state{color:#8b1f24;background:#d94b4b0f;border-color:#d94b4b57}.form-panel{max-width:920px}.form-panel:before{color:var(--muted);content:"CHARGER CONFIGURATION";font-family:var(--mono);letter-spacing:.08em;margin-bottom:18px;font-size:.68rem;font-weight:900;display:block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.wide-field{grid-column:1/-1}.checkbox-field{flex-direction:row;align-items:center;min-height:42px;gap:10px!important;display:flex!important}.checkbox-field input,.force-toggle input{width:18px;height:18px;min-height:18px;accent-color:var(--volt)}.form-actions{justify-content:end}.workbench-view,.profiles-view,.scenario-view{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.workbench-hero{align-items:end}.workbench-hero>.header-actions{justify-content:end}.workbench-summary,.profiles-summary-strip,.scenario-summary-strip,.workbench-panel{margin-top:0}.workbench-lifecycle-rail{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid;position:relative}.workbench-lifecycle-rail:before{content:"";background:linear-gradient(90deg,#14202a24,#1fbfd66b,#14202a24);height:1px;position:absolute;top:50%;left:36px;right:36px}.workbench-lifecycle-stage{z-index:1;border:1px solid var(--line);background:#fffcf4e6;border-radius:12px;align-content:space-between;gap:6px;min-height:82px;padding:10px 9px;display:grid;position:relative}.workbench-lifecycle-stage span{color:var(--muted);font-family:var(--mono);font-size:.6rem;font-weight:900}.workbench-lifecycle-stage strong{color:var(--ink);font-size:.78rem}.workbench-lifecycle-stage small{color:var(--muted);font-family:var(--mono);font-size:.64rem;line-height:1.35}.workbench-lifecycle-stage.active{background:#e7f9fcf0;border-color:#1fbfd680;box-shadow:0 0 0 3px #1fbfd614}.workbench-lifecycle-stage.completed{background:#eafbf3eb;border-color:#00b87959}.workbench-lifecycle-stage.error{background:#fff0f0eb;border-color:#d94b4b6b}.workbench-lifecycle-stage.blocked{background:#fff6e2f0;border-color:#d78a186b}.workbench-lifecycle-stage.idle{opacity:.62}.workbench-payload-preview{border-color:var(--dark-line);color:var(--text-on-dark);background:radial-gradient(circle at 18% 0,#1fbfd61f,#0000 38%),linear-gradient(#111d25f5,#0d151bfa);box-shadow:0 22px 70px #0003}.workbench-payload-preview h2{color:var(--text-on-dark)}.workbench-payload-preview .section-heading span{color:var(--soft-dark-text)}.workbench-payload-preview pre{max-height:220px}.detail-grid{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0;display:grid;overflow:hidden}.read-only-field{background:#fffcf4eb;align-content:center;gap:6px;min-width:0;min-height:78px;padding:14px;display:grid}.workbench-connectors .connector-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.connector-grid,.template-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.connector-card,.template-card,.active-transaction-card,.scenario-card{border:1px solid var(--line);background:#ffffff75;border-radius:16px;gap:14px;min-width:0;padding:14px;display:grid}.connector-card.is-active,.active-transaction-card{background:#e7f9fc8a;border-color:#1fbfd65c;box-shadow:0 0 0 2px #1fbfd612}.connector-card-header,.template-card-header,.scenario-card-header,.active-transaction-title{justify-content:space-between;align-items:start;gap:12px;display:flex}.connector-card-header h3{font-family:var(--display);font-size:1.2rem;font-weight:900}.connector-card dl,.template-card dl,.active-transaction-card dl,.operational-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.connector-control-panel,.transaction-control-panel,.connector-lifecycle-panel{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.danger-note{border-left:3px solid var(--amber);padding-left:8px;color:#7b4a08!important}.transaction-button-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.lifecycle-button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.lifecycle-button-row button:last-child{grid-column:1/-1}.force-toggle{flex-direction:row;align-items:center;min-height:28px;color:var(--ink-2)!important;gap:9px!important;display:flex!important}.connector-warning,.connector-success{border-radius:10px;padding:9px 10px;font-size:.8rem;line-height:1.4}.connector-warning{background:#d78a181a;border:1px solid #d78a1857;color:#7b4a08!important}.connector-success{background:#00b87914;border:1px solid #00b8794d;color:#075239!important}.connector-feedback{margin:0}.active-transaction-panel,.active-transaction-list{gap:14px;display:grid}.active-transaction-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.traffic-inspector-panel{border-color:var(--dark-line);color:var(--text-on-dark);background:radial-gradient(circle at 18% 0,#1fbfd61f,#0000 38%),linear-gradient(#111d25f5,#0d151bfa);gap:16px;box-shadow:0 22px 70px #0000003d}.traffic-inspector-panel h2,.traffic-inspector-panel h3,.traffic-inspector-panel .traffic-action-cell strong{color:var(--text-on-dark)}.traffic-inspector-panel .eyebrow,.traffic-inspector-panel .section-heading span,.traffic-inspector-panel .traffic-action-cell span,.traffic-inspector-panel .json-label,.traffic-inspector-panel .log-json-grid span{color:var(--soft-dark-text)}.traffic-inspector-heading{align-items:start}.traffic-inspector-actions,.json-preview-header,.traffic-detail-header{align-items:center;gap:8px;display:flex}.traffic-inspector-actions{justify-content:end}.traffic-inspector-panel .secondary-button{border-color:var(--dark-line);color:var(--text-on-dark);background:#ffffff0a}.traffic-inspector-panel .secondary-button:hover:not(:disabled){background:#ffffff14}.traffic-counter{color:#ff8d8d;min-height:30px;font-family:var(--mono);text-transform:uppercase;white-space:nowrap;background:#d94b4b17;border:1px solid #d94b4b57;border-radius:999px;align-items:center;padding:0 9px;font-size:.66rem;font-weight:900;display:inline-flex}.log-filters{border:1px solid var(--dark-line);background:#0d151b9e;border-radius:12px;grid-template-columns:minmax(190px,1fr) minmax(150px,.8fr) minmax(140px,.7fr) minmax(220px,1.2fr);gap:10px;padding:10px;display:grid}.traffic-inspector-panel .log-filters label{color:var(--soft-dark-text)}.traffic-inspector-panel .log-filters input,.traffic-inspector-panel .log-filters select{border-color:var(--dark-line);color:var(--text-on-dark);background-color:#ffffff0b}.traffic-inspector-panel .log-filters select{--select-chevron-color:#a9bac2}.traffic-inspector-panel option{background:var(--dark);color:var(--text-on-dark)}.traffic-inspector-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.44fr);align-items:start;gap:14px;display:grid}.traffic-log-stream{border:1px solid var(--dark-line);min-height:360px;max-height:min(680px,100vh - 220px);font-family:var(--mono);scrollbar-width:thin;scrollbar-color:#3a5260 transparent;background:#0a121859;border-radius:13px;display:grid;overflow:auto}.traffic-log-row{min-width:0;box-shadow:none;color:#c6d4d8;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #253843b8;border-radius:0;grid-template-columns:minmax(142px,.9fr) minmax(112px,.78fr) minmax(148px,1.2fr) minmax(78px,.55fr) minmax(84px,.7fr) minmax(60px,.45fr);align-items:start;gap:7px 9px;padding:10px 11px;transition:background .15s,box-shadow .15s;display:grid}.traffic-log-row:hover:not(:disabled){background:#ffffff09;transform:none}.traffic-log-row.selected{background:#1fbfd614;box-shadow:inset 3px 0 #1fbfd6b8,inset 0 1px #1fbfd629,inset 0 -1px #1fbfd629}.traffic-log-row:focus-visible{outline-offset:-3px;outline:3px solid #1fbfd68c}.traffic-log-row.log-row-error{background:#d94b4b13}.traffic-log-row.log-row-error:hover:not(:disabled){background:#d94b4b1c}.traffic-log-row.inbound-command-row{box-shadow:inset 3px 0 var(--cyan)}.traffic-log-row.inbound-command-row.selected{box-shadow:inset 3px 0 var(--cyan), inset 0 1px #1fbfd629, inset 0 -1px #1fbfd629}.traffic-time,.traffic-latency-cell{color:#708791;white-space:nowrap;font-size:.72rem}.traffic-status-cell{min-width:0}.traffic-direction,.traffic-action-cell,.traffic-context-cell{gap:5px;min-width:0;display:grid}.traffic-action-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.traffic-action-cell span{text-transform:uppercase;font-size:.72rem;font-weight:850}.traffic-message-token,.direction-pill,.log-context-list span,.log-detail-meta span{border:1px solid var(--dark-line);color:#c6d4d8;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0a;border-radius:7px;align-items:center;max-width:100%;min-height:24px;padding:3px 7px;font-size:.68rem;font-weight:800;display:inline-flex;overflow:hidden}.traffic-message-token{grid-column:3/span 3;max-width:100%}.traffic-latency-cell{justify-self:end}.log-kind-stack,.log-context-list{gap:5px;min-width:0;display:grid}.command-kind-badge{text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:7px;align-items:center;width:fit-content;min-height:24px;padding:0 8px;font-size:.66rem;font-weight:900;display:inline-flex}.command-kind-badge.inbound{color:#85f3e6;background:#1fbfd61f;border-color:#1fbfd65c}.command-kind-badge.outbound{color:#bcefa5;background:#00b8791a;border-color:#00b87957}.command-kind-badge.neutral{border-color:var(--dark-line);color:var(--soft-dark-text);background:#a9bac21a}.log-detail-meta{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.log-json-grid,.traffic-detail-json{gap:10px;min-width:0;margin-top:10px;display:grid}.json-label,.log-json-grid span{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:.66rem;font-weight:850;display:block}.json-empty{color:#708791}.traffic-detail-panel{border:1px solid var(--dark-line);background:#070b0f6b;border-radius:14px;gap:12px;min-width:0;max-width:100%;max-height:calc(100vh - 36px);padding:12px;display:grid;position:sticky;top:18px;overflow:auto}.traffic-detail-panel-empty{border-style:dashed;align-content:center;min-height:210px}.traffic-detail-panel-empty p{color:var(--soft-dark-text)}.traffic-detail-header{justify-content:space-between}.traffic-detail-header h3{font-family:var(--mono);margin-top:4px;font-size:.88rem}.traffic-detail-kicker{color:var(--soft-dark-text);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:900}.traffic-detail-meta,.traffic-detail-json{margin-top:0}.json-preview-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:6px}.json-preview-header .json-label{margin-bottom:0}.copy-json-button{white-space:nowrap;flex:none;min-width:max-content;min-height:28px;padding:0 8px;font-size:.64rem}.profiles-hero-badges,.scenario-card-badges{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.future-control{border:1px dashed var(--line-strong);min-height:28px;color:var(--muted);font-family:var(--mono);text-transform:uppercase;white-space:nowrap;background:#14202a0a;border-radius:999px;align-items:center;padding:0 9px;font-size:.64rem;font-weight:850;display:inline-flex}.profiles-panel .template-list{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.profile-card.dc{box-shadow:inset 4px 0 #1fbfd67a}.profile-card.ac{box-shadow:inset 4px 0 #00b8797a}.template-behavior{font-size:.84rem;color:var(--muted)!important}.template-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:18px;display:grid}.template-detail-main,.template-detail-side,.json-stack,.parser-result{gap:14px;min-width:0;display:grid}.measurand-list,.status-sequence{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.measurand-list span{border:1px solid var(--line);color:var(--ink-2);font-family:var(--mono);background:#ffffff75;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:800}.template-preview{border-top:1px solid var(--line);min-width:0;padding-top:10px}.template-preview:first-child{border-top:0;padding-top:0}.template-preview summary{color:var(--ink);cursor:pointer;font-size:.78rem;font-weight:800}.template-preview pre{margin-top:10px}.placeholder-value{color:#87928f}.scenario-toolbar{align-items:center}.scenario-toolbar>div{min-width:230px}.scenario-toolbar label{min-width:min(100%,360px)}.scenario-target-error{margin:0}.scenario-list{gap:14px;display:grid}.scenario-run-card{gap:16px}.scenario-actions{justify-content:end;display:flex}.scenario-step-list,.scenario-progress-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scenario-step-list li{border:1px solid var(--line);background:#fffcf4ad;border-radius:10px;grid-template-columns:30px minmax(130px,.45fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.scenario-step-list li span,.scenario-progress-index{background:var(--ink);color:#fffaf0;width:28px;height:28px;font-family:var(--mono);border-radius:8px;place-items:center;font-size:.7rem;font-weight:900;display:grid}.scenario-step-list strong,.scenario-progress-title strong{color:var(--ink);font-size:.82rem}.scenario-step-list small{color:var(--muted);font-size:.74rem}.scenario-progress-panel{padding:0}.scenario-progress-list{gap:0}.scenario-progress-step{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px;display:grid}.scenario-progress-step:last-child{border-bottom:0}.scenario-progress-step.succeeded{box-shadow:inset 4px 0 0 var(--volt)}.scenario-progress-step.running{box-shadow:inset 4px 0 0 var(--cyan)}.scenario-progress-step.failed{box-shadow:inset 4px 0 0 var(--red)}.scenario-progress-step.skipped,.scenario-progress-step.pending{box-shadow:inset 4px 0 0 var(--line-strong)}.scenario-progress-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.parser-warning-panel{background:#fff6e2db;border-color:#d78a1873;grid-template-columns:minmax(220px,.6fr) minmax(0,1fr);gap:18px;display:grid}.parser-warning-panel p{color:#654800}.parser-grid{grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:18px;display:grid}.parser-input-panel{align-content:start;gap:14px;display:grid}.parser-input-panel textarea{resize:vertical;min-height:360px;font-family:var(--mono);font-size:.78rem;line-height:1.5}.parser-output-panel{min-width:0}.parser-status-strip{margin-top:0}.parser-warning-list{gap:8px;display:grid}.parser-warning-list p{background:#d78a1814;border:1px solid #d78a185c;border-radius:10px;padding:9px 10px;font-size:.8rem;font-weight:700;color:#735300!important}.parser-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.parser-group{border:1px solid var(--line);background:#fffcf4ad;border-radius:14px;gap:8px;padding:12px;display:grid}.parser-group div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:7px;display:flex}.parser-group div:last-child{border-bottom:0;padding-bottom:0}.parser-group span{color:var(--ink-2);font-size:.82rem}.parser-group strong{color:#08734e}.parser-timeline-table{min-width:720px}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(230%)}}@media (width<=1280px){.traffic-inspector-grid{grid-template-columns:1fr}.traffic-detail-panel{order:-1;max-height:none;position:static}}@media (width<=980px){.traffic-log-row{grid-template-columns:minmax(112px,.8fr) minmax(118px,.9fr) minmax(150px,1.2fr) minmax(86px,.65fr)}.traffic-context-cell{grid-column:3/span 2}.traffic-message-token{grid-column:2/span 3;max-width:100%}.console-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:relative}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-status-panel{display:none}.detail-grid,.template-detail-grid,.parser-grid,.parser-warning-panel,.parser-columns{grid-template-columns:1fr}}@media (width<=760px){.auth-layout{align-items:start;padding:18px}.login-panel{margin-top:34px;padding:22px}.workspace{padding:12px}.workspace-header,.toolbar,.fleet-hero,.profiles-hero,.scenario-hero,.detail-header,.section-heading,.scenario-progress-title,.traffic-detail-header{flex-direction:column;align-items:start}.fleet-hero,.profiles-hero,.scenario-hero,.detail-header,.status-strip,.filter-row,.form-grid,.log-filters,.scenario-step-list li,.transaction-button-row,.lifecycle-button-row,.operational-summary,.connector-card dl,.template-card dl,.active-transaction-card dl{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-state-matrix{grid-template-columns:repeat(auto-fill,minmax(30px,1fr))}.workbench-lifecycle-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench-lifecycle-rail:before{display:none}.toolbar>button{width:100%}.header-actions,.traffic-inspector-actions,.profiles-hero-badges,.scenario-card-badges{justify-content:stretch;width:100%}.form-actions,.scenario-actions,.json-preview-header{justify-content:stretch}.form-actions button,.header-actions button,.scenario-actions button,.json-preview-header button{flex:1}.status-strip strong,.read-only-field strong,.future-control,.status-badge,.traffic-counter{white-space:normal}.fleet-pagination,.fleet-state-actions{flex-direction:column;align-items:stretch}.fleet-state-actions .compact-button{width:100%}.fleet-pagination p{margin-right:0}.fleet-pagination label{justify-content:space-between}.pagination-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.traffic-log-stream{min-height:320px;max-height:560px}.traffic-log-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:10px}.traffic-time{grid-column:1}.traffic-latency-cell{grid-column:2;justify-self:end}.traffic-direction,.traffic-action-cell,.traffic-context-cell,.traffic-message-token{grid-column:1/-1}.traffic-status-cell{grid-area:2/2;justify-self:end}.traffic-direction{grid-area:2/1}.traffic-action-cell strong{white-space:normal}}@media (width<=520px){.auth-layout{padding:12px}.login-panel{margin-top:18px;padding:18px}.login-header{flex-direction:column;align-items:start}.workspace-header,.fleet-hero,.fleet-panel,.fleet-table-panel,.content-panel,.toolbar,.profiles-panel,.scenario-panel{padding:14px}.sidebar{padding:14px 12px}.connector-grid,.template-list,.active-transaction-list{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-button,.copy-json-button{width:100%}.pagination-actions .compact-button{min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.loading-bar:after{opacity:.62;width:100%;animation:none;transform:none}.connection-retry-button.connecting span{animation:none}}
