*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--c-text-primary);background:var(--c-app-background);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}h1,h2,h3,h4,p,figure{margin:0}ul{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}a{color:var(--c-primary-bright)}:focus-visible{outline:2px solid var(--c-primary-bright);outline-offset:2px}:root{--sidebar-w:232px;--sidebar-w-collapsed:64px;--header-h:56px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px}.shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"sidebar header""sidebar main";height:100%;transition:grid-template-columns .14s;display:grid}.shell--collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.shell--env{grid-template-rows:26px var(--header-h) 1fr;grid-template-areas:"env env""sidebar header""sidebar main"}.shell--maint{grid-template-rows:26px auto var(--header-h) 1fr;grid-template-areas:"env env""maint maint""sidebar header""sidebar main"}.sidebar{background:var(--c-header-background);border-right:1px solid var(--c-header-border);flex-direction:column;grid-area:sidebar;min-width:0;display:flex}.sidebar__brand{height:var(--header-h);border-bottom:1px solid var(--c-header-border);color:var(--c-header-text);flex:none;align-items:center;gap:10px;padding:0 12px;display:flex}.sidebar__mark{border-radius:var(--radius-sm);background:var(--c-primary);width:30px;height:30px;color:var(--c-on-primary);flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.sidebar__title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:650;overflow:hidden}.sidebar__nav{flex-direction:column;flex:1;gap:2px;padding:10px 8px;display:flex;overflow-y:auto}.navitem{border-radius:var(--radius-sm);color:var(--c-header-text-muted);white-space:nowrap;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex;overflow:hidden}.navitem:hover{background:var(--c-header-active);color:var(--c-header-text)}.navitem--active{background:var(--c-primary-surface);color:var(--c-primary-bright);font-weight:600}.navitem__icon{text-align:center;flex:none;width:20px;font-size:15px}.navitem__label{text-overflow:ellipsis;overflow:hidden}.sidebar__footer{border-top:1px solid var(--c-header-border);flex-direction:column;flex:none;gap:8px;padding:10px 8px;display:flex}.sidebar__user{min-width:0;padding:0 2px}.sidebar__username{color:var(--c-header-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar__useremail{color:var(--c-header-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.shell--collapsed .sidebar__title,.shell--collapsed .navitem__label,.shell--collapsed .sidebar__user{display:none}.shell--collapsed .navitem{justify-content:center}.header{background:var(--c-header-background);border-bottom:1px solid var(--c-header-border);grid-area:header;align-items:center;gap:12px;min-width:0;padding:0 16px;display:flex}.header__title{color:var(--c-header-text);white-space:nowrap;font-size:15px;font-weight:650}.header__subtitle{color:var(--c-header-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.header__spacer{flex:1;min-width:8px}.header__tools{flex:none;align-items:center;gap:6px;display:flex}.iconbtn{border:1px solid var(--c-header-outline);border-radius:var(--radius-sm);background:var(--c-header-surface);color:var(--c-header-text);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.iconbtn:hover:not(:disabled){background:var(--c-header-active)}.iconbtn:disabled{opacity:.5;cursor:not-allowed}.iconbtn--primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.iconbtn--primary:hover:not(:disabled){background:var(--c-primary-strong)}.iconbtn__icon{font-size:14px;line-height:1}.main{background:var(--c-app-background);grid-area:main;min-width:0;padding:20px;overflow:auto}.page{flex-direction:column;gap:16px;max-width:1400px;display:flex}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:16px}.card__title{color:var(--c-text-heading);margin-bottom:12px;font-size:13px;font-weight:650}.statgrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.stat__label{color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat__value{color:var(--c-text-heading);font-variant-numeric:tabular-nums;font-size:26px;font-weight:680;line-height:1.25}.stat__hint{color:var(--c-text-muted);font-size:12px}.kv{grid-template-columns:minmax(120px,auto) 1fr;gap:6px 16px;display:grid}.kv__k{color:var(--c-text-secondary);font-size:13px}.kv__v{color:var(--c-text-body);word-break:break-word;font-size:13px}.tablewrap{border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{z-index:1;text-align:left;color:var(--c-text-secondary);background:var(--c-surface-subtle);border-bottom:1px solid var(--c-border);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:650;position:sticky;top:0}.table th button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.table th button:hover,.table__sort{color:var(--c-primary-bright)}.table td{border-bottom:1px solid var(--c-divider);color:var(--c-text-body);white-space:nowrap;padding:10px 12px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:var(--c-surface-subtle)}.table__num{text-align:right;font-variant-numeric:tabular-nums}.table__muted{color:var(--c-text-muted)}.tablebar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pager{align-items:center;gap:8px;display:flex}.pager__info{color:var(--c-text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge--success{background:var(--c-success-surface);color:var(--c-success);border-color:var(--c-success-border)}.badge--danger{background:var(--c-danger-surface);color:var(--c-danger);border-color:var(--c-danger-border)}.badge--warning{background:var(--c-warning-surface);color:var(--c-warning);border-color:var(--c-warning-border)}.badge--primary{background:var(--c-primary-surface);color:var(--c-primary-bright);border-color:var(--c-primary-border)}.badge--indigo{background:var(--c-accent-indigo-surface);color:var(--c-accent-indigo)}.badge--neutral{background:var(--c-surface-muted);color:var(--c-text-on-badge);border-color:var(--c-border)}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--c-text-body);font-size:13px;font-weight:600}.input{width:100%;font:inherit;color:var(--c-text-primary);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);padding:9px 11px}.input:focus{border-color:var(--c-primary-bright);outline:none}.input::placeholder{color:var(--c-text-disabled)}.input:disabled{background:var(--c-surface-muted);color:var(--c-text-disabled)}.input--search{max-width:320px}.btn{font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:var(--c-primary);color:var(--c-on-primary);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--c-primary-strong)}.btn:disabled{background:var(--c-disabled-fill);color:var(--c-on-primary);cursor:not-allowed}.btn--block{width:100%}.btn--ghost{color:var(--c-primary-bright);border-color:var(--c-border-strong);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--c-primary-surface-soft)}.notice{border-radius:var(--radius-sm);border:1px solid #0000;padding:10px 12px;font-size:13px}.notice--error{background:var(--c-danger-surface);color:var(--c-danger);border-color:var(--c-danger-border)}.notice--warning{background:var(--c-warning-surface);color:var(--c-warning);border-color:var(--c-warning-border)}.notice--success{background:var(--c-success-surface);color:var(--c-success);border-color:var(--c-success-border)}.notice--info{background:var(--c-primary-surface);color:var(--c-primary-bright);border-color:var(--c-primary-border)}.empty{text-align:center;color:var(--c-text-muted);padding:40px 20px;font-size:13px}.centered{background:var(--c-app-background);place-items:center;min-height:100%;padding:24px;display:grid}.authcard{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);flex-direction:column;gap:16px;width:100%;max-width:400px;padding:28px 26px;display:flex}.authcard__head{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.authcard__title{color:var(--c-text-heading);font-size:19px;font-weight:680}.authcard__sub{color:var(--c-text-secondary);font-size:13px}.authcard__form{flex-direction:column;gap:14px;display:flex}.authcard__links{flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;display:flex}.authcard__icon{font-size:44px;line-height:1}.authcard__foot{color:var(--c-text-muted);text-align:center;font-size:12px}.spinner{border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;width:34px;height:34px;margin:0 auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}.shell{transition:none}}.detailgrid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:16px;display:grid}.panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.panel__head{align-items:center;gap:10px;display:flex}.panel__title{color:var(--c-text-heading);align-items:center;gap:8px;font-size:14px;font-weight:680;display:flex}.panel__count{color:var(--c-text-secondary);background:var(--c-surface-muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.panel__actions{gap:6px;margin-left:auto;display:flex}.panel__hint{color:var(--c-text-muted);font-size:12px;line-height:1.5}.kv--wide{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.kv--wide .kv__k{grid-column:auto}.statgrid--dense{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.minstat{background:var(--c-surface-subtle);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:8px 10px}.minstat__value{color:var(--c-text-heading);font-variant-numeric:tabular-nums;font-size:17px;font-weight:680}.minstat__label{color:var(--c-text-muted);font-size:11px}.auditdetail{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface-subtle);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.auditdetail__head{color:var(--c-text-secondary);flex-wrap:wrap;gap:12px;font-size:12px;font-weight:600;display:flex}.jsonblock{max-height:320px;color:var(--c-text-body);background:var(--c-surface-muted);border-radius:var(--radius-sm);white-space:pre;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;overflow:auto}.mono{color:var(--c-text-secondary);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.linkbtn{font:inherit;color:var(--c-primary-bright);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.table__row--click{cursor:pointer}.table__row--click:focus-visible{outline:2px solid var(--c-primary-bright);outline-offset:-2px}.envbar{letter-spacing:.04em;text-transform:uppercase;color:var(--c-on-primary);background:var(--c-primary);grid-area:env;justify-content:center;align-items:center;gap:10px;padding:4px 12px;font-size:12px;font-weight:700;display:flex}.envbar--prod{background:var(--c-danger)}.maintbar{color:var(--c-on-primary);background:var(--c-danger);border-top:1px solid #0000002e;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:5px 12px;font-size:12px;display:flex}.maintbar__flag{letter-spacing:.04em;text-transform:uppercase;font-weight:700}.maintbar__detail{opacity:.92;text-overflow:ellipsis;min-width:0;overflow:hidden}.maintbar__link{color:var(--c-on-primary);white-space:nowrap;font-weight:650;text-decoration:underline}.maintbar--planned{color:var(--c-accent-indigo);background:var(--c-accent-indigo-surface);border-top:1px solid var(--c-accent-indigo)}.maintbar--planned .maintbar__link{color:var(--c-accent-indigo)}.plannedmaint{border-top:1px solid var(--c-border);flex-direction:column;gap:10px;margin-top:18px;padding-top:14px;display:flex}.plannedmaint__title{color:var(--c-text-heading);font-size:14px;font-weight:700}.plannedmaint__utc{color:var(--c-text-muted);font-size:11px}.plannedmaint__note{resize:vertical;min-height:64px}.plannedmaint__told{color:var(--c-text-secondary);font-size:12px;line-height:1.5}.envbar--dev{background:var(--c-warning);color:#1a1204}.envbar__detail{letter-spacing:0;text-transform:none;opacity:.9;font-weight:500}.input--select{max-width:200px;padding:8px 10px}.actionrow{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.actionrow--tight{flex-wrap:nowrap;align-items:center;gap:6px}.actionrow--sep{border-top:1px solid var(--c-border);margin-top:4px;padding-top:12px}.action{flex-direction:column;gap:8px;min-width:0;display:flex}.action__done{color:var(--c-success);font-size:12px;font-weight:600}.action__ask{background:var(--c-surface-subtle);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);flex-direction:column;gap:10px;max-width:460px;padding:12px 14px;display:flex}.action__asktitle{color:var(--c-text-heading);font-size:13px;font-weight:680}.action__askbody{color:var(--c-text-secondary);font-size:12px;line-height:1.55}.action__askrow{gap:8px;display:flex}.action__type{color:var(--c-text-secondary);flex-direction:column;gap:6px;font-size:12px;display:flex}.iconbtn--danger{color:var(--c-danger);border-color:var(--c-danger-border);background:var(--c-danger-surface)}.iconbtn--danger:hover:not(:disabled){background:var(--c-danger-surface);border-color:var(--c-danger)}.btn--danger{background:var(--c-danger);color:var(--c-on-primary)}.btn--danger:hover:not(:disabled){filter:brightness(1.08)}.input--num{max-width:90px}.queue{flex-direction:column;gap:2px;list-style:none;display:flex}.queue__item{border-radius:var(--radius-sm);grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;padding:8px 10px;display:grid}.queue__item:nth-child(odd){background:var(--c-surface-subtle)}.queue__body{min-width:0}.queue__title{color:var(--c-text-heading);font-size:13px;font-weight:600}.queue__detail{color:var(--c-text-secondary);font-size:12px;line-height:1.5}.queue__since{color:var(--c-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}@media (width<=640px){.queue__item{grid-template-columns:auto 1fr}.queue__since{grid-column:2}}.configlist{flex-direction:column;gap:10px;display:flex}.configrow{grid-template-columns:minmax(200px,1fr) minmax(140px,1fr) auto;align-items:start;gap:10px;display:grid}.configrow__key{flex-direction:column;gap:2px;min-width:0;display:flex}.configrow__when{color:var(--c-text-muted);font-size:11px}.configrow__input{max-width:260px}@media (width<=700px){.configrow{grid-template-columns:1fr}.configrow__input{max-width:none}}.editform{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:10px;display:grid}.editform .actionrow{grid-column:1/-1}.broadcast__text{resize:vertical;max-width:620px;font-family:inherit;line-height:1.5}.checkline{color:var(--c-text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.gsearch{flex:none;position:relative}.gsearch__input{width:260px;max-width:40vw;padding:7px 10px;font-size:13px}.gsearch__drop{z-index:40;background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);flex-direction:column;width:min(520px,80vw);max-height:60vh;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 10px 30px #00000038}.gsearch__empty{color:var(--c-text-muted);padding:14px;font-size:13px}.gsearch__hit{border-radius:var(--radius-sm);font:inherit;text-align:left;cursor:pointer;color:var(--c-text-body);background:0 0;border:0;grid-template-columns:68px 1fr auto;align-items:baseline;gap:10px;padding:8px 10px;display:grid}.gsearch__hit--active{background:var(--c-primary-surface)}.gsearch__kind{letter-spacing:.05em;text-transform:uppercase;color:var(--c-text-muted);font-size:10px;font-weight:700}.gsearch__body{flex-direction:column;gap:1px;min-width:0;display:flex}.gsearch__title{color:var(--c-text-heading);font-size:13px;font-weight:600}.gsearch__sub{color:var(--c-text-secondary);font-size:12px}.gsearch__note{color:var(--c-text-muted);white-space:nowrap;font-size:11px}@media (width<=760px){.gsearch{display:none}}.tablestack{flex-direction:column;gap:8px;min-width:0;display:flex}.tablestack__bar{justify-content:flex-end;display:flex}.refrow{border-bottom:1px solid var(--c-border);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px 0;display:flex}.refrow:last-child{border-bottom:0}.refrow .field{flex:160px;min-width:0}.refrow__usage{white-space:nowrap;flex:auto;padding-bottom:9px;font-size:12px}.refrow--wide .field{flex:120px}.issuelist{flex-direction:column;gap:6px;padding:6px 0;display:flex}.issuelist__head{align-items:center;gap:8px;display:flex}.issuelist__title{color:var(--c-text-body);font-size:13px;font-weight:600}.issuelist__body{background:var(--c-surface-subtle);border-radius:var(--radius-sm);max-height:260px;color:var(--c-text-secondary);margin:0;padding:8px 10px;font-size:12px;line-height:1.6;list-style:none;overflow:auto}@media (width<=760px){.shell,.shell--collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.shell--env{grid-template-rows:26px var(--header-h) 1fr;grid-template-areas:"env env""sidebar header""sidebar main"}.shell--env.shell--maint{grid-template-rows:26px auto var(--header-h) 1fr;grid-template-areas:"env env""maint maint""sidebar header""sidebar main"}.shell .sidebar__title,.shell .navitem__label,.shell .sidebar__user{display:none}.shell .navitem{justify-content:center}.main{padding:14px}.header{padding:0 12px}.header__subtitle{display:none}}.chartgrid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;display:grid}.chart{--chart-ink:#2f7ff7;--chart-fill:#2f7ff71f;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);min-width:0;padding:10px 12px 8px}[data-theme=dark] .chart{--chart-ink:#5a93f0;--chart-fill:#5a93f029}.chart__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.chart__title{color:var(--c-text);margin:0;font-size:13px;font-weight:650}.chart__meta{color:var(--c-text-secondary);align-items:baseline;gap:6px;font-size:11px;display:flex}.chart__hint{color:var(--c-text-muted);margin:2px 0 4px;font-size:11px}.chart__svg{touch-action:none;width:100%;height:auto;display:block}.chart__grid{stroke:var(--c-border);stroke-width:1px}.chart__tick{fill:var(--c-text-muted);font-size:9px}.chart__area{fill:var(--chart-fill);stroke:none}.chart__line{fill:none;stroke:var(--chart-ink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart__crosshair{stroke:var(--c-border-strong);stroke-width:1px;stroke-dasharray:3 3}.chart__dot{fill:var(--chart-ink);stroke:var(--c-surface);stroke-width:2px}.chart__readout{color:var(--c-text-secondary);min-height:18px;padding-top:2px;font-size:12px}.chart__table{max-height:220px;margin-top:6px;overflow:auto}.idlebar{z-index:50;border-radius:var(--radius-sm);background:var(--c-danger);color:var(--c-on-primary);align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 20px #00000040}.idlebar__text{font-weight:600}.idlebar__btn{border:1px solid var(--c-on-primary);color:var(--c-on-primary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 10px;font-weight:650}.idlebar__btn:hover{background:#ffffff26}@media (width<=760px){.table th:first-child,.table td:first-child{z-index:2;background:var(--c-surface);box-shadow:1px 0 0 var(--c-border);position:sticky;left:0}.table th:first-child{z-index:3;background:var(--c-surface-subtle)}.table tbody tr:hover td:first-child{background:var(--c-surface-subtle)}.table td{white-space:normal;word-break:break-word}.table td:first-child,.table td.table__num,.table th{white-space:nowrap}.tablebar{flex-wrap:wrap}.tablebar .input--select,.tablebar .input--search{flex:100%;max-width:none}}.savedfilters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.savedfilters__item{border:1px solid var(--c-border-strong);background:var(--c-surface);border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.savedfilters__item--active{border-color:var(--c-primary-bright);background:var(--c-primary-surface)}.savedfilters__apply{color:var(--c-text-body);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:12px}.savedfilters__item--active .savedfilters__apply{color:var(--c-primary-bright);font-weight:650}.savedfilters__del{color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;padding:4px 8px 5px 2px;font-size:14px;line-height:1}.savedfilters__del:hover{color:var(--c-danger)}.savedfilters__add{font-size:12px}.savedfilters__name{max-width:130px;padding:3px 8px;font-size:12px}.topbars{flex-direction:column;grid-area:maint;display:flex}.robar{text-align:center;color:var(--c-on-primary);background:var(--c-text-secondary);padding:4px 12px;font-size:12px;font-weight:600}.navitem--readonly{color:var(--c-warning);font-weight:650}
