:root{--bg:#f6f4ef;--surface:#fff;--ink:#252322;--muted:#68615e;--rail:#01081E;--accent:#813c51;--select:#f3e7eb;--line:#ddd6d0;--success:#246347;--warning:#875300;--danger:#a32929;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.55;color-scheme:light}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid transparent;background:var(--accent);color:white;min-height:42px;padding:9px 18px;border-radius:7px;font-weight:600}button:hover{filter:brightness(.92)}button:disabled{cursor:default;opacity:.55}button.secondary{background:white;border-color:var(--line);color:var(--ink)}button.danger{background:var(--danger)}button.quiet{background:transparent;color:inherit;border-color:currentColor}input,select,textarea{width:100%;min-height:44px;border:1px solid #b8ada7;background:white;color:var(--ink);border-radius:6px;padding:9px 12px;caret-color:var(--accent)}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:var(--muted)}label{font-weight:600;display:block;margin-bottom:6px}label small{font-weight:400;color:var(--muted)}:focus-visible{outline:3px solid #b56883;outline-offset:3px}::selection{background:#e9c4d1;color:var(--ink)}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.2;letter-spacing:-.025em;margin-bottom:12px;text-wrap:balance}h2{font-size:22px;line-height:1.3;margin-bottom:16px}h3{font-size:17px;line-height:1.4;margin-bottom:8px}p{max-width:72ch}small,.muted{font-size:13px;color:var(--muted)}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100dvh}.rail{background:var(--rail);color:#fff7fa;display:flex;flex-direction:column;padding:32px 20px;position:sticky;top:0;height:100dvh}.wordmark{display:block;color:inherit;text-decoration:none;font-size:23px;font-weight:650;letter-spacing:-.03em;line-height:1.2}.wordmark span{font-size:12px;font-weight:500;letter-spacing:.05em;display:block;margin-top:6px;color:#e2cdd4}.rail nav{display:grid;gap:6px;margin-top:44px}.rail nav a{color:#eee0e5;text-decoration:none;padding:10px 12px;border-radius:6px;font-size:14px}.rail nav a:hover,.rail nav a[aria-current=page]{color:white;background:#65424f}.rail-footer{margin-top:auto;display:grid;gap:14px;font-size:13px;color:#e2cdd4;padding-top:48px}.rail-footer button{font-size:13px}.workspace{min-width:0}.toolbar{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:18px 32px;background:var(--surface);flex-wrap:wrap}.toolbar label{font-size:13px;margin:0;color:var(--muted)}.toolbar select{width:auto;max-width:280px}.runtime{margin-left:auto;font-size:13px;font-weight:600;color:var(--warning)}main{max-width:1400px;margin:auto;padding:40px 40px 64px;min-height:calc(100dvh - 160px)}main>p.lead{color:var(--muted);margin-bottom:32px}.page-head{display:flex;justify-content:space-between;align-items:start;gap:24px}.section{margin-top:36px}.surface{background:var(--surface);padding:24px;border:1px solid var(--line);border-radius:10px}.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px}.form-grid{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}.table-wrap{overflow-x:auto;scrollbar-color:#b8ada7 var(--bg)}table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}th{text-align:left;font-weight:600;color:var(--muted);font-size:12px}th,td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}td.long{min-width:200px;max-width:460px;overflow-wrap:anywhere}td button{font-size:13px;padding:6px 10px;min-height:36px}tbody tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:5px;background:#eeebe7;color:#514b47;font-size:12px;white-space:nowrap;font-weight:600}.badge.published,.badge.approved,.badge.connected,.badge.completed,.badge.delivered{background:#e5f1e9;color:var(--success)}.badge.pending_approval,.badge.pending,.badge.scheduled,.badge.queued,.badge.running{background:#fff0d9;color:var(--warning)}.badge.failed,.badge.uncertain,.badge.rejected,.badge.dead_letter{background:#fbe7e6;color:var(--danger)}.badge.simulated{background:var(--select);color:var(--accent)}.empty{padding:36px 12px;color:var(--muted);text-align:center}.empty h3{color:var(--ink)}.workflow{display:flex;flex-wrap:wrap;gap:0;margin:28px 0;border-bottom:1px solid var(--line);padding-bottom:16px}.workflow span{padding:6px 20px 6px 0;color:var(--muted);font-size:13px}.workflow span.current{color:var(--accent);font-weight:650}.workflow span+span::before{content:"/";padding-right:20px;color:#ac999e}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0 36px;padding:24px 0;gap:24px}.stat strong{font-size:30px;display:block;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:13px}.notice,.warning{background:#fff0d9;color:#654500;border:1px solid #e9d6b4;border-radius:7px;padding:14px 18px}.warning{margin-bottom:24px;font-size:14px}#notice{margin:20px 32px 0;padding:14px 18px;border:1px solid var(--line);background:var(--surface);border-radius:7px}#notice.error{color:var(--danger);border-color:#d7aaaa}.preview{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;max-width:65ch}.preview-meta{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.preview-image{max-width:100%;max-height:360px;object-fit:contain;margin-bottom:16px}.approval-item{border-top:1px solid var(--line);padding:24px 0}.approval-item:first-child{border-top:0}.approval-item p{white-space:pre-wrap;overflow-wrap:anywhere}.approval-item label{margin-top:20px;font-size:13px}details{margin-top:24px}summary{cursor:pointer;font-weight:600;padding:12px 0}footer{border-top:1px solid var(--line);padding:20px 40px;font-size:12px;color:var(--muted)}footer a{margin-left:16px}.login{max-width:540px;margin:9vh auto;padding:32px}.login .wordmark{color:var(--rail);margin-bottom:64px}.login .wordmark span{color:var(--muted)}.login h1{font-size:36px}.login form{display:grid;gap:12px;margin:32px 0}.login p{color:var(--muted)}#login-error{color:var(--danger)}.count{font-size:13px;font-weight:400;color:var(--muted)}.check{display:flex;align-items:center;gap:12px}.check input{width:20px;min-height:20px}.toolbar .secondary{font-size:13px}code{font-size:12px;overflow-wrap:anywhere}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tabs button[aria-pressed=true]{background:var(--rail);color:white}
@media(max-width:1000px){.shell{grid-template-columns:200px minmax(0,1fr)}main{padding:32px 24px}.split{grid-template-columns:1fr;gap:24px}.stats{gap:16px}.toolbar{padding:16px 24px}.runtime{margin-left:0}}
@media(max-width:680px){.shell{display:block}.rail{height:auto;position:static;padding:20px}.rail>.wordmark{font-size:21px}.rail nav{display:flex;overflow-x:auto;margin-top:20px;gap:4px;padding-bottom:4px;scrollbar-color:#a28490 var(--rail)}.rail nav a{white-space:nowrap}.rail-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px}.rail-footer button{min-height:36px;padding:5px 10px}.toolbar{padding:16px 20px;gap:8px}.toolbar select{max-width:calc(100% - 70px)}.runtime{width:calc(100% - 110px)}main{padding:28px 20px 48px}h1{font-size:28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.surface{padding:20px}.form-row{grid-template-columns:1fr}footer{padding:20px}#notice{margin:16px 20px 0}.page-head{display:block}.login{margin:3vh auto;padding:24px}.login .wordmark{margin-bottom:44px}.workflow span{padding-right:10px}.workflow span+span::before{padding-right:10px}}
@media(prefers-reduced-motion:no-preference){.badge.publishing{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{background:#d9c0ca}}}

.media-preview{display:block;width:auto;max-width:100%;max-height:480px;object-fit:contain;margin:16px 0;background:var(--bg)}
fieldset{min-width:0;margin:0;padding:20px;border:1px solid var(--line);border-radius:6px}legend{font-weight:600;padding:0 8px}
.split>*,.form-grid>*,.form-row>*{min-width:0}input,select,textarea{min-width:0}
.brand-logo{aspect-ratio:3/1;overflow:hidden;background:var(--rail)}.app-logo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 49%}.rail>.brand-logo{max-width:280px}
.library-picker{max-width:480px}.library-item{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px}.library-preview{display:block;max-width:100%;width:auto;max-height:180px;object-fit:contain;background:var(--bg)}.library-item h3{overflow-wrap:anywhere}.library-rules{white-space:pre-wrap;overflow-wrap:anywhere}.library-item details{max-width:720px}.library-item form{margin-top:20px}input[type=file]{height:auto;padding:12px;white-space:normal}input[type=file]::file-selector-button{font:inherit;margin-right:12px;padding:8px;border:1px solid var(--field-border);border-radius:6px;background:var(--bg);color:var(--ink)}
@media(max-width:680px){.library-item{grid-template-columns:minmax(0,1fr)}.library-preview{max-height:240px}.library-picker{max-width:100%}}
.network-list { border-top: 1px solid var(--line); }
.network-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.network-row h3, .network-row p { margin: 0 0 8px; }
.network-row button { flex-shrink: 0; }
#account-api-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
#account-api-fields legend { font-weight: 600; margin-bottom: 16px; }
@media (max-width: 680px) { .network-row { align-items: flex-start; flex-direction: column; gap: 8px; } }
