:root{--hub-bg:#0c0f14;--hub-surface:#121720;--hub-surface-2:#171d27;--hub-border:#29313e;--hub-text:#eef2f8;--hub-muted:#98a4b5;--hub-blue:#5e8ef7;--hub-green:#45bd89;--hub-yellow:#e4ad52;--hub-red:#e56b73}
html{font-size:14px;min-height:100%}body{margin:0;min-height:100%;background:var(--hub-bg);color:var(--hub-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#8bb0ff;text-decoration:none}.app-shell{max-width:1540px;padding-inline:22px}.app-header{position:sticky;top:0;z-index:1030;background:rgba(12,15,20,.96);border-bottom:1px solid var(--hub-border);backdrop-filter:blur(12px)}.app-header .app-shell{min-height:54px;display:flex;align-items:center;gap:22px}.brand{color:var(--hub-text);display:flex;align-items:center;gap:9px;font-weight:680;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:var(--hub-blue);color:#081022;font-size:.72rem;font-weight:850}.app-nav{display:flex;align-items:center;gap:3px;flex:1}.app-nav a,.user-menu a,.btn-linkish{color:var(--hub-muted);padding:7px 9px;border-radius:7px;font-size:.88rem}.app-nav a:hover,.user-menu a:hover,.btn-linkish:hover{color:var(--hub-text);background:var(--hub-surface-2)}.user-menu{display:flex;align-items:center;gap:2px;white-space:nowrap}.user-menu form{display:inline}.btn-linkish{border:0;background:transparent}.page-main{padding-block:23px 44px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:17px}.page-head h1{font-size:1.43rem;margin:0 0 4px;letter-spacing:-.02em}.page-head p{color:var(--hub-muted);margin:0;max-width:760px;font-size:.9rem}.section-title{font-size:.96rem;font-weight:670;margin:0}.panel{background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:11px}.panel-head{padding:13px 15px;border-bottom:1px solid var(--hub-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-body{padding:15px}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:17px}.metric{padding:13px 14px}.metric-label{color:var(--hub-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.055em}.metric-value{font-size:1.55rem;font-weight:720;line-height:1.25;margin-top:5px}.metric-detail{color:var(--hub-muted);font-size:.76rem;margin-top:2px}.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:9px}.form-label{color:#bdc6d3;font-size:.76rem;margin-bottom:4px}.form-control,.form-select{min-height:34px;padding:6px 9px;border-color:var(--hub-border);background-color:#0e131b;color:var(--hub-text);font-size:.84rem}.form-control:focus,.form-select:focus{border-color:var(--hub-blue);box-shadow:0 0 0 2px rgba(94,142,247,.17);background-color:#0e131b;color:var(--hub-text)}.btn{min-height:34px;padding:6px 11px;border-radius:7px;font-size:.82rem}.btn-primary{background:var(--hub-blue);border-color:var(--hub-blue);color:#071020;font-weight:650}.btn-outline-secondary{border-color:#3b4554;color:#c5ceda}.table{--bs-table-bg:transparent;--bs-table-color:var(--hub-text);--bs-table-border-color:var(--hub-border);margin:0;font-size:.81rem}.table>:not(caption)>*>*{padding:9px 11px;vertical-align:middle}.table thead th{color:var(--hub-muted);font-size:.71rem;text-transform:uppercase;letter-spacing:.045em;font-weight:650;white-space:nowrap}.badge-status{display:inline-flex;align-items:center;gap:5px;border:1px solid;border-radius:999px;padding:3px 7px;font-size:.7rem;font-weight:650}.badge-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-ok,.status-delivered,.status-online{color:var(--hub-green);background:rgba(69,189,137,.08)}.status-pending,.status-processing,.status-retry{color:var(--hub-yellow);background:rgba(228,173,82,.08)}.status-dead,.status-error,.status-offline{color:var(--hub-red);background:rgba(229,107,115,.08)}.status-disabled,.status-acknowledged,.status-resolved{color:var(--hub-muted);background:rgba(152,164,181,.08)}.compact-alert{padding:9px 12px;margin-bottom:14px;font-size:.84rem;border-radius:8px}.empty{color:var(--hub-muted);text-align:center;padding:32px 15px!important}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.text-muted{color:var(--hub-muted)!important}.modal-content{background:var(--hub-surface);border:1px solid var(--hub-border)}.modal-header,.modal-footer{border-color:var(--hub-border)}.login-shell{min-height:calc(100vh - 70px);display:grid;place-items:center}.login-card{width:min(410px,100%);padding:25px}.login-brand{margin-bottom:21px}.login-brand h1{font-size:1.38rem;margin:12px 0 5px}.login-brand p{color:var(--hub-muted);margin:0;font-size:.87rem}.split-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px}.detail-list{display:grid;grid-template-columns:150px 1fr;margin:0;font-size:.82rem}.detail-list dt,.detail-list dd{padding:7px 0;margin:0;border-bottom:1px solid var(--hub-border)}.detail-list dt{color:var(--hub-muted);font-weight:500}.payload{max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#090d12;border:1px solid var(--hub-border);border-radius:8px;padding:12px;font-size:.77rem}.pagination{margin:13px 0 0}.page-link{background:var(--hub-surface);border-color:var(--hub-border);color:var(--hub-muted);font-size:.78rem}.page-link:hover{background:var(--hub-surface-2);color:var(--hub-text);border-color:var(--hub-border)}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:992px){.app-nav.collapse{display:flex!important}}
@media(max-width:991.98px){.app-nav{position:absolute;top:54px;left:0;right:0;padding:10px 20px;background:var(--hub-bg);border-bottom:1px solid var(--hub-border)}.app-nav.show{display:grid}.user-menu{margin-left:auto}}
@media(max-width:760px){.app-shell{padding-inline:13px}.metric-grid{grid-template-columns:repeat(2,1fr)}.page-head{display:block}.page-head>:last-child{margin-top:11px}.split-grid{grid-template-columns:1fr}.user-menu a{display:none}}
.status-completed{color:var(--hub-green);background:rgba(69,189,137,.08)}.status-accepted{color:var(--hub-yellow);background:rgba(228,173,82,.08)}.status-completed_with_errors{color:var(--hub-red);background:rgba(229,107,115,.08)}
.section-note{color:var(--hub-muted);font-size:.78rem;margin:3px 0 0}.routing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.routing-step{display:flex;align-items:flex-start;gap:10px;padding:14px 15px;color:var(--hub-text);border-right:1px solid var(--hub-border)}.routing-step:last-child{border-right:0}.routing-step:hover{background:var(--hub-surface-2);color:var(--hub-text)}.routing-step strong,.routing-step small{display:block}.routing-step strong{font-size:.84rem;margin-bottom:2px}.routing-step small{color:var(--hub-muted);font-size:.76rem;line-height:1.4}.step-number{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:7px;background:rgba(94,142,247,.14);color:#8bb0ff;font-size:.73rem;font-weight:750}.dashboard-lower{grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr)}.worker-summary-list{padding-block:8px}.worker-summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--hub-border)}.worker-summary-row:first-child{padding-top:2px}.worker-summary-row:last-child{border-bottom:0;padding-bottom:2px}.worker-summary-row strong,.worker-summary-row small{display:block}.worker-summary-row strong{font-size:.82rem}.worker-summary-row small{color:var(--hub-muted);font-size:.73rem;margin-top:2px}
@media(max-width:760px){.routing-steps{grid-template-columns:1fr}.routing-step{border-right:0;border-bottom:1px solid var(--hub-border)}.routing-step:last-child{border-bottom:0}.dashboard-lower{grid-template-columns:1fr}}
