.app{max-width:1180px;margin:0 auto;padding:1.25rem}.app-wide{max-width:none;padding-inline:clamp(.75rem,1.5vw,2rem)}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:.9rem;display:flex}.brand{width:auto;height:2.75rem;display:block}.tabs{flex-wrap:wrap;gap:.35rem;margin-left:auto;display:flex}.tabs a{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.4rem .8rem;text-decoration:none}.tabs a:hover{border-color:var(--accent)}.tabs a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tabs a[aria-current=page]{background:var(--accent-soft);border-color:var(--accent)}.identity{color:var(--text-dim);text-align:right;font-size:.8rem}.identity strong{color:var(--text);display:block}.theme-toggle{display:flex}.theme-toggle button{border-radius:0;place-items:center;padding:.35rem .5rem;display:grid}.theme-toggle button+button{margin-left:-1px}.theme-toggle button:first-child{border-radius:6px 0 0 6px}.theme-toggle button:last-child{border-radius:0 6px 6px 0}.theme-toggle button[aria-pressed=true]{z-index:1;background:var(--accent-soft);border-color:var(--accent);color:var(--text);position:relative}.theme-toggle svg{width:15px;height:15px;display:block}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;margin-bottom:1rem;padding:1rem}.card>h2{align-items:baseline;gap:.6rem;display:flex}.card .hint{color:var(--text-dim);margin:0 0 .85rem;font-size:.8rem;font-weight:400}.grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;display:grid}.filters{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:.6rem;margin-bottom:.9rem;display:grid}.table-scroll{overflow-x:auto}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.chip.on{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.status{border:1px solid var(--border);border-radius:4px;padding:.1rem .45rem;font-size:.75rem}.status.Confirmed{color:var(--positive);border-color:var(--positive)}.status.Pending{color:var(--warn);border-color:var(--warn)}.status.Cancelled{color:var(--negative);border-color:var(--negative)}.pos{color:var(--positive)}.neg{color:var(--negative)}.banner{border:1px solid var(--warn);background:var(--warn-soft);border-radius:8px;margin-bottom:1rem;padding:.6rem .8rem;font-size:.85rem}.banner.error{border-color:var(--negative);background:var(--negative-soft)}.banner.ok{border-color:var(--positive);background:var(--positive-soft)}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.muted{color:var(--text-dim);font-size:.85rem}.perm-group{border:1px solid var(--border);border-radius:8px;margin-bottom:.6rem;padding:.6rem .75rem}.perm-group h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.perm-item{align-items:flex-start;gap:.5rem;padding:.2rem 0;display:flex}.perm-item input{width:auto;margin-top:.25rem}.perm-item label{color:var(--text);cursor:pointer;margin:0;font-size:.875rem}.perm-item .desc{color:var(--text-dim);font-size:.78rem}.launcher{padding-bottom:2rem}.launcher-head{text-align:center;margin:1.5rem 0 2rem}.launcher-head h1{font-size:1.9rem}.tile-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);border-radius:10px;flex-direction:column;gap:.35rem;padding:1rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.tile:hover{border-color:var(--accent);transform:translateY(-2px)}.tile:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.tile{transition:border-color .15s}.tile:hover{transform:none}}.tile h2{margin:0;font-size:1rem}.tile p{color:var(--text-dim);margin:0;font-size:.85rem}.tile-icon{color:var(--accent);margin-bottom:.25rem}.tile-icon svg{width:24px;height:24px;display:block}.tile-external{color:var(--text-dim);margin-left:.3rem;font-weight:400}.dashboard{flex-direction:column;gap:.75rem;min-width:0;padding:.75rem 1rem 1.5rem;display:flex}.dashboard-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.dashboard-bar h2{margin:0;font-size:1rem}.region-tabs{flex-wrap:wrap;gap:.25rem;display:flex}.refresh-picker{color:var(--text-dim);align-items:center;gap:.25rem;margin-left:auto;display:inline-flex}.pill{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:.1rem .45rem;font-size:.7rem}.pill.live{color:var(--positive);border-color:var(--positive)}.pill.stale,.pill.polling{color:var(--warn);border-color:var(--warn)}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.75rem;display:grid}@media (width>=1100px){.chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:.5rem .6rem .3rem}.chart-card header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.chart-card.is-expanded{z-index:50;position:fixed;inset:.75rem;overflow:auto;box-shadow:0 24px 64px #00000073}.chart-expand{color:var(--text-dim);flex:none;margin-left:auto;padding:.1rem .35rem;font-size:.8rem;line-height:1.2}.chart-expand:hover:not(:disabled){color:var(--text)}.chart-card h3{margin:0;font-size:.85rem;font-weight:600}.chart-placeholder{background:linear-gradient(90deg, transparent, var(--chart-grid), transparent);background-size:200% 100%;border-radius:4px;animation:1.4s ease-in-out infinite chart-shimmer}@keyframes chart-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.uplot-host{height:auto}.uplot-host .u-select{background:var(--lightningcss-light,#1f6f9c29)var(--lightningcss-dark,#4ea8de38);border-inline:1px solid var(--lightningcss-light,#1f6f9c8c)var(--lightningcss-dark,#4ea8dea6)}.uplot-host .uplot{flex-direction:column;display:flex}.uplot-host .u-legend{order:-1;margin-top:0;font-size:.72rem}.uplot-host .u-legend tbody{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));column-gap:.75rem;display:grid}.uplot-host .u-legend tr.u-series,.uplot-host .u-legend tr.u-series th{align-items:baseline;gap:.3rem;min-width:0;display:flex}.uplot-host .u-legend .u-marker{flex:none}.uplot-host .u-legend .u-label{text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:normal;overflow:hidden}.uplot-host .u-legend .u-value{font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.uplot-host.is-stale{opacity:.55}@media (prefers-reduced-motion:reduce){.chart-placeholder{animation:none}}.balance-panes{flex-direction:column;gap:.5rem;min-width:0;height:calc(100vh - 15rem);min-height:30rem;display:flex}.pane{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex:1 1 0;min-height:0;overflow:auto}.balance-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;table-layout:fixed;font-size:.72rem}.balance-table thead th{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);text-align:center;padding:.2rem .4rem;font-weight:600;position:sticky;top:0}.balance-table thead th>span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.balance-table td{text-align:right;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid color-mix(in srgb, var(--border) 40%, transparent);padding:.1rem .4rem;line-height:1.2;overflow:hidden}.balance-table tbody tr.spacer td{border:0;padding:0}.balance-table .sticky-key{z-index:3;background:var(--surface);text-align:left;border-right:1px solid var(--border);font-weight:600;position:sticky;left:0}.balance-table thead .sticky-key{z-index:4}.balance-table tbody tr.is-hovered td{background:var(--accent-soft)!important}.balance-table tbody tr.is-current td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.balance-table td.tint-light-blue{color:#1a1d23;background-color:#9cdaee}.balance-table td.tint-light-red{color:#1a1d23;background-color:#eaa06e}.balance-table td.tint-light-green{color:#1a1d23;background-color:#9be49b}.balance-table td.tint-light-yellow{color:#1a1d23;background-color:#fbfb9e}.balance-table td.tint-light-purple{color:#1a1d23;background-color:#b3a3d0}.balance-table td.tint-light-grey{color:#1a1d23;background-color:#e3e2e2}.balance-table td.tint-light-pink{color:#1a1d23;background-color:#fcadb9}.balance-table td.tint-dark-green{color:#1a1d23;background-color:#7ba87b}.balance-table td.tint-dark-blue{color:#1a1d23;background-color:#76a6dd}.balance-table td.tint-dark-purple{color:#1a1d23;background-color:#bea3fb}.balance-table td.tint-dark-orange{color:#1a1d23;background-color:#e08753}.balance-table td.tint-grey{color:#1a1d23;background-color:#adadad}.balance-table td.tint-black-white{color:#1a1d23;background-color:#fff}.balance-table td.tint-magenta{color:#1a1d23;background-color:#ea497e}.balance-table td.tint-black{color:#fff;background-color:#000}.balance-table td[class*=tint-]{--number-good:#0a810a;--number-bad:#c2192b}.balance-table td.tint-black{--number-good:#4cc38a;--number-bad:#f16d78}.balance-table thead th[class*=tint-]{color:var(--text)}.balance-table thead th.tint-light-blue{background-color:color-mix(in srgb, #9cdaee 30%, var(--surface))}.balance-table thead th.tint-light-red{background-color:color-mix(in srgb, #eaa06e 30%, var(--surface))}.balance-table thead th.tint-light-green{background-color:color-mix(in srgb, #9be49b 30%, var(--surface))}.balance-table thead th.tint-light-yellow{background-color:color-mix(in srgb, #fbfb9e 30%, var(--surface))}.balance-table thead th.tint-light-purple{background-color:color-mix(in srgb, #b3a3d0 30%, var(--surface))}.balance-table thead th.tint-light-grey{background-color:color-mix(in srgb, #e3e2e2 30%, var(--surface))}.balance-table thead th.tint-light-pink{background-color:color-mix(in srgb, #fcadb9 30%, var(--surface))}.balance-table thead th.tint-dark-green{background-color:color-mix(in srgb, #7ba87b 30%, var(--surface))}.balance-table thead th.tint-dark-blue{background-color:color-mix(in srgb, #76a6dd 30%, var(--surface))}.balance-table thead th.tint-dark-purple{background-color:color-mix(in srgb, #bea3fb 30%, var(--surface))}.balance-table thead th.tint-dark-orange{background-color:color-mix(in srgb, #e08753 30%, var(--surface))}.balance-table thead th.tint-grey{background-color:color-mix(in srgb, #adadad 30%, var(--surface))}.balance-table thead th.tint-magenta{background-color:color-mix(in srgb, #ea497e 30%, var(--surface))}.atcs-stars{letter-spacing:.08em;font-size:.92em;font-weight:800;line-height:1}.atcs-star{display:inline-block}.atcs-star.outbound{color:var(--number-good)}.atcs-star.inbound{color:var(--number-bad)}.atcs-star.unknown{color:inherit}.atcs-empty{color:var(--text-dim)}[data-tooltip]{cursor:help;--tooltip-top:0px;--tooltip-left:0px}[data-tooltip]:after{content:attr(data-tooltip);top:var(--tooltip-top);left:clamp(.5rem, var(--tooltip-left), calc(100vw - 26.5rem));z-index:60;border:1px solid var(--border);background:var(--surface);width:max-content;max-width:26rem;color:var(--text);text-align:left;text-transform:none;letter-spacing:normal;white-space:pre-line;pointer-events:none;border-radius:6px;padding:.35rem .5rem;font:400 .72rem/1.35 inherit;display:none;position:fixed;box-shadow:0 8px 24px #0000002e}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{display:block}.region-tabs button{--tab-scrim:var(--lightningcss-light,#ffffff9e)var(--lightningcss-dark,#171a219e);background-image:linear-gradient(var(--tab-scrim), var(--tab-scrim)), var(--flag);border:2px solid var(--border);width:7.5rem;height:2.25rem;color:var(--text);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:8px;padding:0 .35rem;font-weight:600;transition:background-image .15s,border-color .15s;position:relative}.region-tabs button:hover:not(:disabled){--tab-scrim:var(--lightningcss-light,#ffffff73)var(--lightningcss-dark,#171a2173);border-color:var(--accent)}.region-tabs button[aria-current=page]{--tab-scrim:var(--lightningcss-light,#fff3)var(--lightningcss-dark,#171a2147);border-color:var(--accent);border-width:3px;font-weight:700}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f6f7f9)var(--lightningcss-dark,#0f1115);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171a21);--surface-2:var(--lightningcss-light,#f0f2f5)var(--lightningcss-dark,#1e222b);--border:var(--lightningcss-light,#d8dce3)var(--lightningcss-dark,#2a2f3a);--text:var(--lightningcss-light,#1a1d23)var(--lightningcss-dark,#e6e8ee);--text-dim:var(--lightningcss-light,#5b6472)var(--lightningcss-dark,#9aa2b1);--accent:var(--lightningcss-light,#1f6f9c)var(--lightningcss-dark,#4ea8de);--accent-soft:var(--lightningcss-light,#cfe4f0)var(--lightningcss-dark,#2d6f96);--accent-fg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#08131b);--positive:var(--lightningcss-light,#1a7f4f)var(--lightningcss-dark,#4cc38a);--negative:var(--lightningcss-light,#b3323c)var(--lightningcss-dark,#e5646d);--warn:var(--lightningcss-light,#8a5c14)var(--lightningcss-dark,#e0a458);--positive-soft:var(--lightningcss-light,#e6f4ec)var(--lightningcss-dark,#14301f);--negative-soft:var(--lightningcss-light,#fbeaec)var(--lightningcss-dark,#33161a);--warn-soft:var(--lightningcss-light,#fdf2e0)var(--lightningcss-dark,#2e2415);--shadow:var(--lightningcss-light,0 1px 2px #1018280f)var(--lightningcss-dark,none);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.35rem}h2{font-size:1.1rem}h3{font-size:.95rem}code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-family:Cascadia Code,ui-monospace,monospace;font-size:.85em}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:.15em}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}button{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.4rem .8rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;width:100%;padding:.35rem .5rem}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{color:var(--text-dim);margin-bottom:.2rem;font-size:.8rem;display:block}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.45rem .6rem}th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:.75rem;font-weight:600}td.num{text-align:right}:root{--chart-grid:var(--lightningcss-light,#d5d9e0)var(--lightningcss-dark,#2b313d);--chart-axis:var(--lightningcss-light,#4a5462)var(--lightningcss-dark,#b6bdc9);--number-good:var(--lightningcss-light,#0a810a)var(--lightningcss-dark,#4cc38a);--number-bad:var(--lightningcss-light,#c2192b)var(--lightningcss-dark,#f16d78)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
