:root{--op-bg:#f5f6f8;--op-surface:#fff;--op-surface-2:#eef0f4;--op-fg:#1b2130;--op-muted:#687083;--op-line:#dfe3ea;--op-accent:#2f63e0;--op-accent-fg:#fff;--op-accent-soft:#e6edfc;--op-ok:#1d8a4e;--op-ok-soft:#e3f4ea;--op-warn:#a86f00;--op-warn-soft:#fbf1dc;--op-danger:#c7372f;--op-danger-soft:#fbe7e5;--op-off:#8f97a6;--op-focus:#2f63e0;--op-overlay:#0f141e73;--op-shadow:0 1px 2px #0f141e0f, 0 4px 16px #0f141e14;--op-font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--op-mono:ui-monospace, Menlo, Monaco, "Cascadia Mono", monospace;--op-text-xs:.75rem;--op-text-sm:.875rem;--op-text-md:1rem;--op-text-lg:1.25rem;--op-text-xl:1.6rem;--op-space-1:.25rem;--op-space-2:.5rem;--op-space-3:.75rem;--op-space-4:1rem;--op-space-5:1.5rem;--op-space-6:2rem;--op-radius-sm:6px;--op-radius:8px;--op-radius-lg:12px;--op-radius-pill:999px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--op-bg:#111419;--op-surface:#1a1e26;--op-surface-2:#222733;--op-fg:#e4e8ef;--op-muted:#98a1b2;--op-line:#2c3240;--op-accent:#6d97ff;--op-accent-fg:#0d1220;--op-accent-soft:#1e2a47;--op-ok:#4cc584;--op-ok-soft:#173826;--op-warn:#e3ac3d;--op-warn-soft:#3a2e14;--op-danger:#f07167;--op-danger-soft:#45201d;--op-off:#737b8c;--op-focus:#8aabff;--op-overlay:#0009;--op-shadow:0 1px 2px #0006, 0 6px 20px #00000059;color-scheme:dark}}:root[data-theme=dark]{--op-bg:#111419;--op-surface:#1a1e26;--op-surface-2:#222733;--op-fg:#e4e8ef;--op-muted:#98a1b2;--op-line:#2c3240;--op-accent:#6d97ff;--op-accent-fg:#0d1220;--op-accent-soft:#1e2a47;--op-ok:#4cc584;--op-ok-soft:#173826;--op-warn:#e3ac3d;--op-warn-soft:#3a2e14;--op-danger:#f07167;--op-danger-soft:#45201d;--op-off:#737b8c;--op-focus:#8aabff;--op-overlay:#0009;--op-shadow:0 1px 2px #0006, 0 6px 20px #00000059;color-scheme:dark}.op-root{font-family:var(--op-font);font-size:var(--op-text-md);color:var(--op-fg);background:var(--op-bg);min-height:100vh;line-height:1.5}.op-root *,.op-root :before,.op-root :after{box-sizing:border-box}.op-root :where(a:not(.op-button)){color:var(--op-accent)}.op-root h1,.op-root h2,.op-root h3{text-wrap:balance;margin:0;line-height:1.25}.op-root h1{font-size:var(--op-text-xl)}.op-root h2{font-size:var(--op-text-lg)}.op-root h3{font-size:var(--op-text-md)}.op-root p{margin:0}.op-root :focus-visible{outline:2px solid var(--op-focus);outline-offset:2px}.op-root code,.op-root kbd{font-family:var(--op-mono);font-size:.9em}@media (prefers-reduced-motion:reduce){.op-root *,.op-root :before,.op-root :after{transition:none!important;animation:none!important}}.op-page{max-width:1100px;padding-block:var(--op-space-5);padding-left:max(var(--op-space-4), env(safe-area-inset-left,0px));padding-right:max(var(--op-space-4), env(safe-area-inset-right,0px));gap:var(--op-space-5);margin:0 auto;display:grid}.op-center{place-content:center;gap:var(--op-space-4);text-align:center;min-height:100vh;padding:var(--op-space-4);display:grid}.op-row{align-items:center;gap:var(--op-space-3);flex-wrap:wrap;display:flex}.op-stack{gap:var(--op-space-3);display:grid}.op-grow{flex:1;min-width:0}.op-actions{gap:var(--op-space-2);flex-wrap:wrap;align-items:center;display:flex}.op-list{gap:var(--op-space-2);display:grid}.op-grid{gap:var(--op-space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.op-topbar{align-items:center;gap:var(--op-space-3);min-height:52px;padding-block:var(--op-space-2);padding-left:max(var(--op-space-4), env(safe-area-inset-left,0px));padding-right:max(var(--op-space-4), env(safe-area-inset-right,0px));background:var(--op-surface);border-bottom:1px solid var(--op-line);flex-wrap:wrap;display:flex}.op-topbar__brand{color:var(--op-fg);font-weight:650;text-decoration:none}.op-topbar__nav{gap:var(--op-space-1);flex-wrap:wrap;display:flex}.op-topbar__nav a{color:var(--op-fg);padding:var(--op-space-1) var(--op-space-3);border-radius:var(--op-radius-sm);text-decoration:none}.op-topbar__nav a:hover{background:var(--op-surface-2)}.op-topbar__nav a.active,.op-topbar__nav a[aria-current=page]{background:var(--op-accent-soft);color:var(--op-accent)}.op-topbar__end{align-items:center;gap:var(--op-space-3);flex-wrap:wrap;margin-left:auto;display:flex}.op-page-header{justify-content:space-between;align-items:flex-end;gap:var(--op-space-3);flex-wrap:wrap;display:flex}.op-page-header__sub{color:var(--op-muted);font-size:var(--op-text-sm);margin-top:var(--op-space-1)}.op-muted{color:var(--op-muted)}.op-small{font-size:var(--op-text-sm)}.op-xs{font-size:var(--op-text-xs)}.op-mono{font-family:var(--op-mono)}.op-error{color:var(--op-danger)}.op-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.op-label{font-size:var(--op-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--op-muted);font-weight:600}.op-num{font-variant-numeric:tabular-nums}.op-button{justify-content:center;align-items:center;gap:var(--op-space-2);min-height:36px;padding:0 var(--op-space-4);border-radius:var(--op-radius);background:var(--op-accent);color:var(--op-accent-fg);font:inherit;font-size:var(--op-text-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;font-weight:550;line-height:1;text-decoration:none;transition:filter .15s,background-color .15s;display:inline-flex}.op-button:hover:not(:disabled){filter:brightness(1.08)}.op-button:active:not(:disabled){filter:brightness(.95)}.op-button:disabled{opacity:.45;cursor:not-allowed}.op-button--secondary{background:var(--op-surface-2);color:var(--op-fg);border-color:var(--op-line)}.op-button--ghost{color:var(--op-fg);border-color:var(--op-line);background:0 0}.op-button--ghost:hover:not(:disabled){background:var(--op-surface-2);filter:none}.op-button--danger{background:var(--op-danger);color:#fff}.op-button--sm{min-height:28px;padding:0 var(--op-space-3);font-size:var(--op-text-xs)}.op-button--icon{width:36px;padding:0}.op-button--icon.op-button--sm{width:28px}.op-card{background:var(--op-surface);border:1px solid var(--op-line);border-radius:var(--op-radius-lg);padding:var(--op-space-4);min-width:0}.op-card__header{align-items:center;gap:var(--op-space-3);margin-bottom:var(--op-space-3);display:flex}.op-card__title{font-weight:650}.op-divider{border:0;border-top:1px solid var(--op-line);margin:var(--op-space-3) 0}.op-pill{align-items:center;gap:var(--op-space-1);font-size:var(--op-text-xs);border-radius:var(--op-radius-pill);border:1px solid var(--op-line);color:var(--op-muted);white-space:nowrap;padding:.1rem .55rem;font-weight:550;display:inline-flex}.op-pill--ok{color:var(--op-ok);background:var(--op-ok-soft);border-color:#0000}.op-pill--warn{color:var(--op-warn);background:var(--op-warn-soft);border-color:#0000}.op-pill--danger{color:var(--op-danger);background:var(--op-danger-soft);border-color:#0000}.op-pill--accent{color:var(--op-accent);background:var(--op-accent-soft);border-color:#0000}.op-pill--off{color:var(--op-off)}.op-dot{background:var(--op-off);border-radius:50%;flex-shrink:0;width:.6rem;height:.6rem;display:inline-block}.op-dot--ok{background:var(--op-ok)}.op-dot--warn{background:var(--op-warn)}.op-dot--danger{background:var(--op-danger)}.op-dot--pulse{animation:1.6s ease-in-out infinite op-pulse}@keyframes op-pulse{50%{opacity:.35}}.op-bar{background:var(--op-surface-2);border-radius:3px;height:6px;overflow:hidden}.op-bar>div{background:var(--op-accent);border-radius:3px;height:100%}.op-bar--warn>div{background:var(--op-warn)}.op-bar--danger>div{background:var(--op-danger)}.op-spinner{vertical-align:-.15em;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.7s linear infinite op-spin;display:inline-block}@keyframes op-spin{to{transform:rotate(360deg)}}.op-meters{gap:var(--op-space-3);min-width:0;display:grid}.op-meter{gap:var(--op-space-1);min-width:0;display:grid}.op-meter__head{align-items:baseline;column-gap:var(--op-space-2);min-width:0;font-size:var(--op-text-sm);flex-wrap:wrap;display:flex}.op-meter__label{font-weight:600}.op-meter__detail{min-width:4ch;color:var(--op-muted);text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;overflow:hidden}.op-meter__value{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.op-alert{gap:var(--op-space-1);padding:var(--op-space-3) var(--op-space-4);border-radius:var(--op-radius);border:1px solid var(--op-line);background:var(--op-surface-2);display:grid}.op-alert__title{font-weight:650}.op-alert--info{background:var(--op-accent-soft);border-color:#0000}.op-alert--ok{background:var(--op-ok-soft);border-color:#0000}.op-alert--warn{background:var(--op-warn-soft);border-color:#0000}.op-alert--danger{background:var(--op-danger-soft);border-color:#0000}.op-alert--info .op-alert__title{color:var(--op-accent)}.op-alert--ok .op-alert__title{color:var(--op-ok)}.op-alert--warn .op-alert__title{color:var(--op-warn)}.op-alert--danger .op-alert__title{color:var(--op-danger)}.op-form{gap:var(--op-space-3);display:grid}.op-field{gap:var(--op-space-1);align-content:start;min-width:0;display:grid}.op-field__label{font-size:var(--op-text-sm);font-weight:550}.op-field__hint{font-size:var(--op-text-xs);color:var(--op-muted)}.op-field__error{font-size:var(--op-text-xs);color:var(--op-danger)}.op-input,.op-select,.op-textarea{width:100%;min-height:36px;padding:var(--op-space-2) var(--op-space-3);font:inherit;font-size:var(--op-text-sm);color:var(--op-fg);background:var(--op-surface);border:1px solid var(--op-line);border-radius:var(--op-radius-sm)}.op-textarea{resize:vertical;min-height:80px}.op-input:focus-visible,.op-select:focus-visible,.op-textarea:focus-visible{outline:2px solid var(--op-focus);outline-offset:0;border-color:var(--op-focus)}.op-input[aria-invalid=true],.op-select[aria-invalid=true],.op-textarea[aria-invalid=true]{border-color:var(--op-danger)}.op-input:disabled,.op-select:disabled,.op-textarea:disabled{opacity:.55;cursor:not-allowed}.op-check{align-items:center;gap:var(--op-space-2);font-size:var(--op-text-sm);cursor:pointer;display:inline-flex}.op-check input{width:16px;height:16px;accent-color:var(--op-accent);margin:0}.op-switch{align-items:center;gap:var(--op-space-2);font-size:var(--op-text-sm);cursor:pointer;display:inline-flex}.op-switch input{appearance:none;background:var(--op-line);cursor:pointer;border-radius:10px;flex-shrink:0;width:34px;height:20px;margin:0;transition:background-color .15s;position:relative}.op-switch input:after{content:"";background:var(--op-surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.op-switch input:checked{background:var(--op-accent)}.op-switch input:checked:after{transform:translate(14px)}.op-switch input:disabled{opacity:.5;cursor:not-allowed}.op-tabs{gap:var(--op-space-1);border-bottom:1px solid var(--op-line);display:flex;overflow-x:auto}.op-tabs__tab{font:inherit;font-size:var(--op-text-sm);padding:var(--op-space-2) var(--op-space-3);color:var(--op-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px}.op-tabs__tab[aria-selected=true]{color:var(--op-fg);border-bottom-color:var(--op-accent);font-weight:600}.op-tabs__panel{padding-top:var(--op-space-4)}.op-segmented{background:var(--op-surface-2);border:1px solid var(--op-line);border-radius:var(--op-radius);gap:2px;padding:2px;display:inline-flex}.op-segmented button{font:inherit;font-size:var(--op-text-xs);color:var(--op-muted);border-radius:var(--op-radius-sm);cursor:pointer;background:0 0;border:0;padding:.3rem .7rem}.op-segmented button[aria-pressed=true]{background:var(--op-surface);color:var(--op-fg);font-weight:600;box-shadow:0 1px 2px #0000001f}.op-table-wrap{border:1px solid var(--op-line);border-radius:var(--op-radius-lg);background:var(--op-surface);overflow-x:auto}.op-table{border-collapse:collapse;width:100%;font-size:var(--op-text-sm)}.op-table th{text-align:left;font-size:var(--op-text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--op-muted);background:var(--op-surface-2);font-weight:600}.op-table th,.op-table td{padding:var(--op-space-2) var(--op-space-3);border-bottom:1px solid var(--op-line);white-space:nowrap}.op-table tr:last-child td{border-bottom:0}.op-table td.op-num,.op-table th.op-num{text-align:right}.op-empty{justify-items:center;gap:var(--op-space-2);text-align:center;padding:var(--op-space-6) var(--op-space-4);border:1px dashed var(--op-line);border-radius:var(--op-radius-lg);color:var(--op-muted);display:grid}.op-empty__title{color:var(--op-fg);font-weight:600}.op-dialog{border:1px solid var(--op-line);border-radius:var(--op-radius-lg);background:var(--op-surface);width:min(480px,100vw - 2rem);color:var(--op-fg);box-shadow:var(--op-shadow);padding:0}.op-dialog::backdrop{background:var(--op-overlay)}.op-dialog__body{gap:var(--op-space-3);padding:var(--op-space-5);display:grid}.op-dialog__footer{justify-content:flex-end;gap:var(--op-space-2);padding:var(--op-space-3) var(--op-space-5);border-top:1px solid var(--op-line);background:var(--op-surface-2);border-radius:0 0 var(--op-radius-lg) var(--op-radius-lg);flex-wrap:wrap;display:flex}.op-toaster{z-index:50;gap:var(--op-space-2);width:min(360px,100vw - 2rem);bottom:calc(var(--op-space-4) + env(safe-area-inset-bottom,0px));right:max(var(--op-space-4), env(safe-area-inset-right,0px));display:grid;position:fixed}.op-toast{gap:var(--op-space-3);padding:var(--op-space-3) var(--op-space-4);background:var(--op-surface);color:var(--op-fg);border:1px solid var(--op-line);border-left:3px solid var(--op-accent);border-radius:var(--op-radius);box-shadow:var(--op-shadow);font-size:var(--op-text-sm);align-items:flex-start;animation:.18s ease-out op-toast-in;display:flex}.op-toast--ok{border-left-color:var(--op-ok)}.op-toast--warn{border-left-color:var(--op-warn)}.op-toast--danger{border-left-color:var(--op-danger)}.op-toast__close{color:var(--op-muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:1rem;line-height:1}@keyframes op-toast-in{0%{opacity:0;transform:translateY(6px)}}.op-shell{background:var(--op-bg);flex-direction:column;min-height:100vh;display:flex;container:op-shell/inline-size}.op-shell__main{flex:1;min-width:0}.op-shell__topnav{gap:var(--op-space-1);min-width:0;display:flex;overflow-x:auto}.op-shell__tabbar{display:none}.op-shell a.op-shell__link{color:var(--op-fg);white-space:nowrap;padding:var(--op-space-1) var(--op-space-3);border-radius:var(--op-radius-sm);text-decoration:none}.op-shell a.op-shell__link:hover{background:var(--op-surface-2)}.op-shell a.op-shell__link[aria-current=page],.op-shell a.op-shell__link.active{background:var(--op-accent-soft);color:var(--op-accent)}.op-shell__icon{font-size:1.15rem;line-height:1;display:block}.op-shell__topnav .op-shell__icon{display:none}@container op-shell (width<=599px){.op-shell__topnav,.op-shell .op-hide-phone{display:none}.op-shell__tabbar{z-index:10;background:var(--op-surface);border-top:1px solid var(--op-line);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;position:sticky;bottom:0}.op-shell__tabbar a.op-shell__link{padding:var(--op-space-2) var(--op-space-1);font-size:var(--op-text-xs);border-radius:0;flex:1;justify-items:center;gap:2px;min-height:52px;display:grid}.op-shell__tabbar a.op-shell__link[aria-current=page],.op-shell__tabbar a.op-shell__link.active{color:var(--op-accent);background:0 0;font-weight:600}.op-shell .op-page{padding-block:var(--op-space-4);gap:var(--op-space-4)}.op-shell .op-page-header h1{font-size:var(--op-text-lg)}}@container op-shell (width>=600px){.op-shell .op-hide-wide{display:none}}.op-table-wrap{container:op-table/inline-size}@container op-table (width<=559px){.op-table--stack thead{display:none}.op-table--stack,.op-table--stack tbody,.op-table--stack tr{width:100%;display:block}.op-table--stack tr{padding:var(--op-space-2) var(--op-space-3);border-bottom:1px solid var(--op-line)}.op-table--stack tr:last-child{border-bottom:0}.op-table--stack td{justify-content:space-between;align-items:center;gap:var(--op-space-3);padding:var(--op-space-1) 0;white-space:normal;text-align:right;border:0;display:flex}.op-table--stack td:before{content:attr(data-label);color:var(--op-muted);font-size:var(--op-text-xs);letter-spacing:.04em;text-transform:uppercase;text-align:left;font-weight:600}}@media (width<=599px){.op-dialog{border-radius:var(--op-radius-lg) var(--op-radius-lg) 0 0;width:100vw;max-width:100vw;margin:auto 0 0}.op-dialog__footer{padding-bottom:calc(var(--op-space-3) + env(safe-area-inset-bottom,0px));border-radius:0}.op-dialog__footer .op-button{flex:1}.op-toaster{left:max(var(--op-space-3), env(safe-area-inset-left,0px));right:max(var(--op-space-3), env(safe-area-inset-right,0px));width:auto;bottom:calc(68px + env(safe-area-inset-bottom,0px))}}@media (pointer:coarse){.op-button{min-height:44px}.op-button--sm{min-height:36px}.op-button--icon{width:44px}.op-button--icon.op-button--sm{width:36px}.op-input,.op-select,.op-textarea{min-height:44px;font-size:var(--op-text-md)}.op-check input{width:20px;height:20px}}.sh-portal-link{color:inherit;border-radius:var(--op-radius-lg);text-decoration:none;display:block}.sh-portal-link .op-card{height:100%;transition:border-color .15s}.sh-portal-link:hover .op-card{border-color:var(--op-accent)}
