@font-face{font-family:"Material Symbols Rounded";font-style:normal;font-weight:100 700;font-display:block;src:url("../material-symbols-rounded.woff2") format("woff2")}
:root{color-scheme:light;--md-primary:#0b57d0;--md-on-primary:#fff;--md-primary-container:#d3e3fd;--md-on-primary-container:#041e49;--md-secondary:#565e71;--md-secondary-container:#dae2f9;--md-on-secondary-container:#131c2b;--md-tertiary:#00639b;--md-tertiary-container:#cfe4ff;--md-on-tertiary-container:#001d35;--md-error:#ba1a1a;--md-error-container:#ffdad6;--md-on-error-container:#410002;--md-success:#146c2e;--md-success-container:#a8f0b0;--md-warning:#7a5900;--md-warning-container:#ffdf9e;--md-background:#f8f9ff;--md-on-background:#1a1b20;--md-surface:#f8f9ff;--md-on-surface:#1a1b20;--md-surface-lowest:#fff;--md-surface-low:#f2f3fb;--md-surface-container:#eceef6;--md-surface-high:#e6e8f0;--md-on-surface-variant:#44474f;--md-outline:#74777f;--md-outline-variant:#c4c6d0;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-full:9999px;--e1:0 1px 2px rgba(0,0,0,.14),0 1px 3px 1px rgba(0,0,0,.06);--e2:0 1px 2px rgba(0,0,0,.14),0 2px 6px 2px rgba(0,0,0,.06);--e3:0 4px 8px 3px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.14);--shadow-sm:var(--e1);--shadow-xl:var(--e3);--content-max:1200px;--page-gutter:24px;--touch-min:48px;--t-fast:150ms cubic-bezier(.2,0,0,1);--t-med:250ms cubic-bezier(.2,0,0,1);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
*,::before,::after{box-sizing:border-box}html{min-width:320px;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;min-height:100dvh;margin:0;overflow-wrap:anywhere;background:var(--md-background);color:var(--md-on-background);font:400 16px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.material-symbols-rounded{display:inline-block;font-family:"Material Symbols Rounded";font-size:22px;font-style:normal;font-weight:500;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;user-select:none;vertical-align:middle}
:focus-visible{outline:3px solid var(--md-primary);outline-offset:2px}
.edro-topbar{position:sticky;top:0;z-index:40;border-bottom:1px solid transparent;background:rgba(248,249,255,.84);backdrop-filter:saturate(1.8) blur(16px);-webkit-backdrop-filter:saturate(1.8) blur(16px);transition:border-color var(--t-med),box-shadow var(--t-med),background var(--t-med)}.edro-topbar.is-scrolled{border-bottom-color:var(--md-outline-variant);background:rgba(248,249,255,.96);box-shadow:var(--e1)}.edro-topbar__inner{display:grid;grid-template-columns:minmax(var(--touch-min),1fr) minmax(0,min(52vw,560px)) minmax(44px,1fr);align-items:center;gap:12px;width:min(100%,var(--content-max));min-height:68px;margin:auto;padding:10px var(--page-gutter)}.edro-topbar__inner>:first-child{justify-self:start}.edro-topbar__title{display:flex;min-width:0;flex-direction:column;align-items:center;gap:1px;text-align:center}.edro-topbar__name,.edro-topbar__role{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edro-topbar__name{color:var(--md-on-surface);font:500 16px/24px var(--font)}.edro-topbar__role{color:var(--md-on-surface-variant);font:400 12px/16px var(--font)}.edro-topbar__actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;justify-self:end;gap:6px}.edro-iconbtn,.icon-button,.systems-icon-button{position:relative;display:grid;width:var(--touch-min);height:var(--touch-min);flex:0 0 var(--touch-min);place-items:center;padding:0;border-radius:50%;color:var(--md-on-surface-variant);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.edro-iconbtn:hover,.icon-button:hover,.systems-icon-button:hover{background:var(--md-surface-container)}.edro-iconbtn:active,.icon-button:active,.systems-icon-button:active{transform:scale(.94)}.edro-iconbtn[aria-hidden=true]{visibility:hidden;pointer-events:none}.edro-iconbtn--accent{background:var(--md-primary-container);color:var(--md-on-primary-container)}.edro-topbar__avatar{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;overflow:hidden;border:2px solid var(--md-surface-lowest);border-radius:50%;background:var(--md-primary-container);box-shadow:0 0 0 1px var(--md-outline-variant);color:var(--md-on-primary-container);font:500 16px/24px var(--font)}.edro-topbar__avatar img{width:100%;height:100%;object-fit:cover}.edro-topbar__avatar img[hidden],.edro-topbar__avatar span[hidden]{display:none!important}
.nav-wrap{position:sticky;top:68px;z-index:30;display:flex;justify-content:center;padding:10px var(--page-gutter) 18px;background:linear-gradient(to bottom,rgba(248,249,255,.96) 0 70%,rgba(248,249,255,0));pointer-events:none}.segmented,.tabs{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;pointer-events:auto}.segment,.tabs>button,.page-item{display:inline-flex;min-height:var(--touch-min);align-items:center;justify-content:center;gap:8px;padding:8px 18px;border:1px solid var(--md-outline-variant);border-radius:var(--r-full);background:var(--md-surface-lowest);color:var(--md-on-surface);font:500 14px/20px var(--font);white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.segment:hover,.tabs>button:hover,.page-item:hover{border-color:var(--md-outline);background:var(--md-surface-low)}.segment.active,.tabs>button.active,.page-item.selected{border-color:transparent;background:var(--md-secondary-container);box-shadow:var(--e1);color:var(--md-on-secondary-container)}.segment .material-symbols-rounded,.tabs .material-symbols-rounded,.page-item .material-symbols-rounded{font-size:18px}.segment .count{padding:1px 8px;border-radius:var(--r-full);background:var(--md-surface-high);color:var(--md-on-surface-variant);font:500 12px/16px var(--font)}
.button,.primary,.secondary,.danger,.btn{display:inline-flex;min-height:var(--touch-min);align-items:center;justify-content:center;gap:8px;padding:8px 18px;border:1px solid transparent;border-radius:var(--r-full);font:500 14px/20px var(--font);text-align:center;transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.button:active,.primary:active,.secondary:active,.danger:active,.btn:active{transform:scale(.98)}.button.primary,.primary,.btn.primary{background:var(--md-primary);color:var(--md-on-primary)}.button.primary:hover,.primary:hover{box-shadow:var(--e1)}.button.secondary,.secondary,.btn.secondary{border-color:var(--md-outline);background:transparent;color:var(--md-primary)}.button.secondary:hover,.secondary:hover{background:var(--md-primary-container)}.danger{background:var(--md-error);color:#fff}.small{min-height:36px;padding:7px 14px}.with-icon{display:inline-flex;align-items:center;gap:7px}
label{color:var(--md-on-surface);font:500 14px/20px var(--font)}input,select,textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--md-outline);border-radius:var(--r-sm);outline:0;background:var(--md-surface-lowest);font:400 16px/24px var(--font);transition:border-color var(--t-fast),box-shadow var(--t-fast)}textarea{min-height:112px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--md-primary);box-shadow:0 0 0 1px var(--md-primary)}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}label>small{display:block;margin-top:4px;color:var(--md-on-surface-variant);font:400 12px/16px var(--font)}
.panel,.settings-card{border:1px solid var(--md-outline-variant);border-radius:var(--r-lg);background:var(--md-surface-lowest);box-shadow:none}.overline,.systems-kicker,.settings-card-kicker,.state-kicker{margin:0;color:var(--md-primary);font:500 12px/16px var(--font);letter-spacing:.1em;text-transform:uppercase}.empty-state,.state,.systems-empty,.settings-empty{display:grid;place-items:center;gap:8px;padding:48px 24px;color:var(--md-on-surface-variant);text-align:center}.empty-state h3,.state h2,.systems-empty strong,.settings-empty strong{margin:0;color:var(--md-on-surface)}
.edro-skeleton{display:grid;width:min(100%,var(--content-max));margin:auto;padding:32px var(--page-gutter) 64px;gap:16px}.edro-skeleton__line,.edro-skeleton__card{position:relative;overflow:hidden;background:var(--md-surface-container)}.edro-skeleton__line::after,.edro-skeleton__card::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent);transform:translateX(-100%);animation:edro-skeleton-wave 1.25s ease-in-out infinite}.edro-skeleton__line{width:44%;height:14px;border-radius:var(--r-full)}.edro-skeleton__line--title{width:min(66%,360px);height:30px}.edro-skeleton__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.edro-skeleton__card{min-height:112px;border-radius:var(--r-lg)}@keyframes edro-skeleton-wave{to{transform:translateX(100%)}}
.status-pill{display:inline-flex;min-height:28px;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);font:500 12px/18px var(--font);white-space:normal}.status-pill.ok{background:var(--md-success-container);color:#002106}.status-pill.error{background:var(--md-error-container);color:#410002}.status-pill.wait{background:var(--md-warning-container);color:#261900}
.toast{position:fixed;right:20px;bottom:20px;z-index:100;max-width:min(420px,calc(100vw - 32px));padding:12px 18px;border-radius:var(--r-sm);background:#2e3038;box-shadow:var(--e3);color:#fff;font:400 14px/20px var(--font)}
@media(max-width:720px){:root{--page-gutter:12px}.edro-topbar__inner{grid-template-columns:var(--touch-min) minmax(0,1fr) var(--touch-min);min-height:60px;padding:8px var(--page-gutter)}.edro-topbar__actions{gap:0}.edro-topbar__actions .edro-topbar__avatar:has(+.edro-iconbtn:not([hidden])){display:none}.nav-wrap{top:60px;padding:8px var(--page-gutter) 14px}.segmented,.tabs{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.segment,.tabs>button,.page-item{min-width:0;padding:7px 10px;font-size:12px}.segment .material-symbols-rounded,.tabs .material-symbols-rounded,.page-item .material-symbols-rounded{font-size:17px}.toast{right:16px;bottom:16px;left:16px;max-width:none}}
@media(max-width:720px){.edro-skeleton{padding:24px var(--page-gutter) 40px}.edro-skeleton__grid{grid-template-columns:1fr}.edro-skeleton__card{min-height:96px}}
@media(max-width:400px){.edro-topbar__inner{gap:8px}.edro-topbar__name{font-size:14px;line-height:20px}.edro-topbar__role{font-size:11px;line-height:15px}.segment,.tabs>button,.page-item{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){*,::before,::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(prefers-reduced-transparency:reduce){.edro-topbar{background:var(--md-background);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Shared page-heading component; feature styles retain only their layout. */
.edro-page-heading>div{min-width:0}.edro-page-heading .edro-page-title{margin:0;color:var(--md-on-surface);font:400 28px/36px var(--font);letter-spacing:-.01em;overflow-wrap:anywhere}.edro-page-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:720px){.edro-page-heading .edro-page-title{font-size:22px;line-height:28px}}

/* Shared primary heading action; labels never rely on font-size hiding. */
.edro-primary-action{position:relative;display:inline-flex;flex:0 0 auto;min-width:48px;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:0;border-radius:var(--r-full);background:var(--md-primary);color:var(--md-on-primary);font:500 14px/20px var(--font);white-space:nowrap;cursor:pointer;isolation:isolate}
.edro-primary-action::before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--t-fast)}
.edro-primary-action:hover::before{opacity:.08}.edro-primary-action:active::before,.edro-primary-action:focus-visible::before{opacity:.12}
.edro-primary-action>.material-symbols-rounded{flex:0 0 auto;font-size:20px;line-height:1}.edro-action-label{min-width:0}
@media(max-width:600px){.edro-page-heading .edro-primary-action{width:48px;height:48px;padding:0}.edro-page-heading .edro-primary-action>.material-symbols-rounded{font-size:24px}.edro-page-heading .edro-primary-action>.edro-action-label{display:none}}
