:root{--primary:#1c4a89;--primary-dark:#173e73;--on-primary:#fff;--background:#f2f5f9;--surface:#fff;--surface-muted:#eef2f7;--outline:#dde4ed;--outline-strong:#ccd6e3;--ink:#14212f;--ink-muted:#5a6c81;--ink-faint:#93a1b3;--accent:#0ea5a5;--ok:#16a34a;--warn:#d97706;--error:#dc2626;--ok-container:#dcfce7;--on-ok-container:#15803d;--warn-container:#ffedd5;--on-warn-container:#9a3412;--idle-container:#eef2f7;--on-idle-container:#55677d;--info-container:#dbeafe;--on-info-container:#1d4ed8;--error-container:#fee2e2;--on-error-container:#b91c1c;--radius:12px;--gap:12px;--control-height:36px;--control-radius:8px;--focus-ring:0 0 0 3px #1c4a8933;--hover-outline:#aebdd0;--ease:.15s cubic-bezier(.4, 0, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--background);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font:400 14px/1.45 Inter,Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif}a{color:var(--primary)}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:default}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:10;background:linear-gradient(180deg, var(--primary), var(--primary-dark));min-height:60px;color:var(--on-primary);flex-wrap:wrap;align-items:center;gap:6px 20px;padding:10px 20px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0f172a26}.topbar .brand{white-space:nowrap;flex:none}.topbar .brand b{letter-spacing:.01em;font-size:15px;font-weight:650;display:block}.topbar .brand span{color:#c3d6ef;font-size:11.5px;display:block}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav a{height:34px;transition:background-color var(--ease), color var(--ease);color:#d6e4f7;white-space:nowrap;border-radius:8px;align-items:center;padding:0 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{color:#fff;background:#ffffff1f}.nav a.current{color:#fff;background:#ffffff26;font-weight:650}.topbar .right{flex:none;align-items:center;margin-left:auto;padding-left:8px;display:flex}.account{position:relative}.account summary{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;height:36px;transition:background-color var(--ease), border-color var(--ease);border:1px solid #ffffff4d;border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 4px;font-size:13px;font-weight:600;list-style:none;display:flex}.account summary::-webkit-details-marker{display:none}.account summary:hover,.account[open] summary{background:#ffffff26;border-color:#ffffff80}.account .avatar{width:28px;height:28px;color:var(--primary);background:#fff;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.account .who{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.account .chevron{width:10px;height:10px;transition:transform var(--ease)}.account[open] .chevron{transform:rotate(180deg)}@media (width<=1100px){.account .who{display:none}}.account .menu{z-index:20;border:1px solid var(--outline);background:var(--surface);min-width:240px;color:var(--ink);border-radius:10px;padding:6px;animation:.12s ease-out menu-in;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0f172a26,0 2px 6px #0f172a14}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.account .menu .menu-head{border-bottom:1px solid var(--outline);margin-bottom:4px;padding:8px 10px 10px}.account .menu .menu-head b{font-size:13.5px;display:block}.account .menu .menu-head span{color:var(--ink-muted);font-size:12px}.account .menu a,.account .menu button{width:100%;min-height:36px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--ease);background:0 0;border:0;border-radius:6px;align-items:center;padding:0 10px;font-size:13.5px;text-decoration:none;display:flex}.account .menu a:hover,.account .menu button:hover,.account .menu a:focus-visible,.account .menu button:focus-visible{background:var(--surface-muted);outline:none}.account .menu button.leave{color:var(--on-error-container)}.canvas{flex:1;width:100%;max-width:1560px;margin:0 auto;padding:18px 20px 48px}.card{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.card>header{border-bottom:1px solid var(--outline);align-items:baseline;gap:10px;padding:12px 16px;display:flex}.card>header h2{margin:0;font-size:14px;font-weight:650}.card>header .hint,.hint{color:var(--ink-muted);font-size:12px}.body{padding:14px 16px}.body>p:first-child{margin-top:0}.body.muted{color:var(--ink-muted)}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:22px 0 10px;font-size:11px;font-weight:700}h1{letter-spacing:-.01em;margin:0 0 2px;font-size:20px;font-weight:700}.subtitle{color:var(--ink-muted);font-size:13px}.canvas>*+*{margin-top:var(--gap)}.canvas>h1+.subtitle{margin-top:2px}.canvas>h1+:not(.subtitle),.canvas>.subtitle+*{margin-top:16px}.subtitle{max-width:980px}.metrics{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.metric{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);padding:12px 14px}.metric .value{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.15}.metric .label{color:var(--ink-muted);margin-top:2px;font-size:12px}.metric .note{color:var(--ink-faint);margin-top:6px;font-size:11.5px}.metric.attention .value{color:var(--warn)}.scroll{overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:13px}table.grid th{background:var(--surface-muted);color:var(--ink-muted);text-align:left;border-bottom:1px solid var(--outline);white-space:nowrap;padding:9px 12px;font-size:12px;font-weight:600}table.grid td{border-bottom:1px solid var(--outline);vertical-align:middle;padding:9px 12px}table.grid td.actions{white-space:nowrap}table.grid td.actions .btn+.btn{margin-left:6px}table.grid tr:last-child td{border-bottom:0}table.grid tbody tr{transition:background-color var(--ease)}table.grid tbody tr:hover{background:#f7fafd}table.grid td.when{white-space:nowrap}table.grid td.num,table.grid th.num{text-align:right;white-space:nowrap}table.grid td.muted{color:var(--ink-muted)}table.grid td.strong{font-weight:600}table.grid a{font-weight:600;text-decoration:none}table.grid a:hover{text-decoration:underline}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-container);color:var(--on-ok-container)}.badge.warn{background:var(--warn-container);color:var(--on-warn-container)}.badge.error{background:var(--error-container);color:var(--on-error-container)}.badge.info{background:var(--info-container);color:var(--on-info-container)}.badge.idle{background:var(--idle-container);color:var(--on-idle-container)}.callout{background:var(--info-container);color:#17335e;border:1px solid #bfd7f7;border-radius:10px;gap:10px;padding:11px 14px;font-size:12.5px;line-height:1.5;display:flex}.callout.failure{background:var(--error-container);color:var(--on-error-container);border-color:#f7c5c5}.empty{text-align:center;color:var(--ink-muted);padding:28px 16px;font-size:13px}.waiting{text-align:center;color:var(--ink-faint);padding:28px 16px;font-size:13px}.btn{min-height:var(--control-height);border-radius:var(--control-radius);border:1px solid var(--primary);background:var(--primary);color:#fff;font:inherit;white-space:nowrap;cursor:pointer;transition:background-color var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn:active:not(:disabled){box-shadow:inset 0 1px 2px #0f172a33}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:default;pointer-events:none}.btn.secondary{border-color:var(--outline-strong);background:var(--surface);color:var(--primary)}.btn.secondary:hover{border-color:var(--primary);background:#f5f8fc}.btn.danger{border-color:var(--error);background:var(--error)}.btn.danger:hover{background:#b91c1c;border-color:#b91c1c}.btn.ghost{color:#d6e4f7;background:0 0;border-color:#0000}.btn.ghost:hover{background:#ffffff1f}input.field,select.field,textarea.field{width:100%;min-height:var(--control-height);border:1px solid var(--outline-strong);border-radius:var(--control-radius);background:var(--surface);color:var(--ink);font:inherit;transition:border-color var(--ease), box-shadow var(--ease), background-color var(--ease);padding:0 11px;font-size:13.5px;box-shadow:inset 0 1px 1px #0f172a08}textarea.field{resize:vertical;padding:8px 11px;line-height:1.45}input.field:hover:not(:disabled):not(:focus),select.field:hover:not(:disabled):not(:focus),textarea.field:hover:not(:disabled):not(:focus){border-color:var(--hover-outline)}input.field:focus,select.field:focus,textarea.field:focus{border-color:var(--primary);box-shadow:var(--focus-ring);outline:none}input.field:disabled,select.field:disabled,textarea.field:disabled{background:var(--surface-muted);color:var(--ink-muted);cursor:default}input.field[aria-invalid=true],select.field[aria-invalid=true]{border-color:var(--error)}input.field[aria-invalid=true]:focus{box-shadow:0 0 0 3px #dc262626}input.field::placeholder,textarea.field::placeholder{color:var(--ink-faint)}select.field{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%235a6c81' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}input.field[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}.btn:focus-visible,.nav a:focus-visible,.account summary:focus-visible{box-shadow:var(--focus-ring);outline:none}.topbar .btn:focus-visible,.nav a:focus-visible,.account summary:focus-visible{box-shadow:0 0 0 3px #fff6}.form{flex-wrap:wrap;align-items:flex-end;gap:12px 14px;display:flex}.form+.form,.callout+.form,.form+.callout{margin-top:12px}.fld{max-width:420px;color:var(--ink-muted);flex-direction:column;flex:220px;gap:5px;font-size:12px;font-weight:500;display:flex}.fld.narrow{flex:0 0 140px}.fld.wide{max-width:none}.form.stack{flex-direction:column;align-items:stretch;max-width:440px}.form.stack .fld{flex:none;max-width:none}.form.stack>.btn{align-self:flex-start;margin-top:4px}.form>.callout,.form>.hint,.form>fieldset,.form>.form-actions{flex-basis:100%}.form-actions{flex-wrap:wrap;gap:8px;display:flex}.legend{color:var(--ink-muted);font-size:12px;font-weight:500}.file-field{min-height:var(--control-height);align-items:center;gap:10px;display:flex;position:relative}.file-field input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-field input[type=file]:focus-visible+.btn{box-shadow:var(--focus-ring)}.file-field input[type=file]:disabled+.btn{opacity:.5;cursor:default}.file-field .file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:13px;font-weight:400;overflow:hidden}.file-field .file-name.none{color:var(--ink-faint)}.role-checks{flex-wrap:wrap;gap:2px 16px;display:inline-flex}.role-check{white-space:nowrap;cursor:pointer;align-items:center;gap:7px;min-height:28px;font-size:13px;display:inline-flex}.role-check input:disabled+*{cursor:default}table.grid .role-checks{flex-wrap:nowrap}fieldset.roles{border:0;margin:10px 0;padding:0}fieldset.roles legend{margin-bottom:4px;padding:0}.field-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.field-row .field{width:auto}.field-row label{color:var(--ink-muted);font-size:12px}.grid-cols{gap:var(--gap);display:grid}.grid-cols.two{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}@media (width<=1100px){.grid-cols.two{grid-template-columns:minmax(0,1fr)}}.column{gap:var(--gap);flex-direction:column;display:flex}.gate{justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.gate .card{width:min(460px,100%)}.gate p{color:var(--ink-muted);margin:0 0 14px;font-size:13px;line-height:1.55}.gate .form.stack{max-width:none}.gate{--control-height:40px}.gate .form.stack>.btn{align-self:stretch}.gate .brand-mark{align-items:center;gap:12px;padding:20px 20px 4px;display:flex}.gate .brand-mark b{font-size:17px;font-weight:700;display:block}.gate .brand-mark span{color:var(--ink-muted);font-size:12.5px}.gate .body{padding:14px 20px 20px}.gate .gate-note{border-top:1px solid var(--outline);margin:16px 0 0;padding-top:14px;font-size:12px}.card.narrow-card{max-width:480px}dl.facts{grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0;font-size:13px;display:grid}dl.facts dt{color:var(--ink-muted);white-space:nowrap}dl.facts dd{margin:0}@media (width<=720px){dl.facts{grid-template-columns:minmax(0,1fr);gap:2px}dl.facts dd{margin-bottom:8px}}ul.warnings{flex-direction:column;gap:7px;margin:0;padding:0;font-size:13px;line-height:1.5;list-style:none;display:flex}@media (width<=640px){.card>header{flex-wrap:wrap}.card>header .hint{flex-basis:100%;order:3}.canvas{padding:14px 12px 32px}}
