:root{--color-bg-canvas:#f3f5fa;--color-bg-surface:#ffffff;--color-bg-subtle:#f4f6fb;--color-bg-brand:#2b54e0;--color-bg-brand-strong:#1e3fb0;--color-bg-brand-tint:#eaf0fe;--color-bg-sidebar:#141c34;--color-bg-sidebar-active:#243357;--color-bg-sidebar-team:#1c2744;--color-bg-sidebar-ops:#2a2140;--color-bg-success-tint:#e7f2ee;--color-text-primary:#141b2e;--color-text-secondary:#667085;--color-text-muted:#98a2b3;--color-text-on-brand:#ffffff;--color-text-brand:#2b54e0;--color-text-success:#0a5a48;--color-border-default:#e6e9f0;--color-border-brand:#2b54e0;--color-rank-s-bg:#2a2140;--color-rank-s-fg:#e8c772;--color-rank-bg:#243357;--color-rank-fg:#ffffff;--color-fresh-unvisited:#8a5cb8;--color-fresh-d7:#2e9e6b;--color-fresh-d30:#2f7dbf;--color-fresh-d60:#d79a2a;--color-fresh-d180:#c64b3a;--color-fresh-cold:#8893a0;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-full:999px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--color-bg-canvas);color:var(--color-text-primary);font-family:var(--font-noto),"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--color-text-brand)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-border-brand);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.btn,.sr-only{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-weight:700;font-size:14px;border:1px solid transparent;cursor:pointer;text-decoration:none}.btn--s{padding:var(--space-sm) var(--space-md);font-size:12px}.btn--primary{background:var(--color-bg-brand);color:var(--color-text-on-brand)}.btn--primary:hover{background:var(--color-bg-brand-strong)}.btn--ghost{background:var(--color-bg-surface);border-color:var(--color-border-default);color:var(--color-text-primary)}.page-title{font-size:22px;font-weight:700;margin:0}.muted{color:var(--color-text-secondary);font-size:12px;margin:0}.ops-badge{display:inline-block;background:var(--color-rank-s-fg);color:var(--color-text-primary);border-radius:var(--radius-sm);padding:0 6px;font-size:11px;font-weight:700;vertical-align:middle}.ops-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.ops-side{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--color-bg-sidebar-ops);color:var(--color-text-on-brand);padding:var(--space-xl) var(--space-md);display:flex;flex-direction:column;gap:var(--space-lg)}.ops-brand{font-weight:700;font-size:17px;padding-left:var(--space-sm)}.ops-nav{display:flex;flex-direction:column;gap:2px}.ops-nav__item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-on-brand);text-decoration:none;font-weight:500;opacity:.6}.ops-nav__item.is-active{background:rgba(255,255,255,.12);opacity:1}.ops-side__foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-sm);font-size:12px;padding-left:var(--space-sm)}.ops-side__foot .btn{background:transparent;color:var(--color-text-on-brand);border-color:rgba(255,255,255,.25);align-self:flex-start}.ops-main{padding:var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.ops-filter{display:flex;flex-wrap:wrap}.ops-filter,.select-pill{gap:var(--space-sm);align-items:center}.select-pill{position:relative;display:inline-flex;padding:0 var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.select-pill--selected{background:var(--color-bg-brand-tint);border-color:var(--color-border-brand)}.select-pill__label{font-size:12px;color:var(--color-text-muted)}.select-pill select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:var(--space-sm) 4px;font-weight:500}.catalog{display:flex;flex-direction:column;gap:var(--space-md)}.catalog__table{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden}.catalog__row{display:grid;grid-template-columns:56px minmax(160px,1.2fr) minmax(140px,1fr) minmax(110px,.8fr) 72px minmax(120px,1.2fr);grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:8px var(--space-lg);border-bottom:1px solid var(--color-border-default);font-size:13px}.catalog__row--head{background:var(--color-bg-subtle);font-size:12px;font-weight:700}.catalog__row--head,.catalog__row:not(.is-visible){color:var(--color-text-secondary)}.catalog__row input[name=group],.catalog__row input[name=label],.catalog__row input[name=order]{width:100%;padding:6px 8px;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font:inherit;background:var(--color-bg-surface)}.catalog__check input{width:18px;height:18px;accent-color:var(--color-bg-brand)}.catalog__key{font-size:11px;color:var(--color-text-muted);overflow-wrap:anywhere;display:flex;flex-direction:column;gap:2px}.catalog__inherited{font-family:inherit;font-size:10px;color:var(--color-text-secondary)}.catalog__sample{font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog__foot{display:flex;align-items:center;gap:var(--space-md);position:-webkit-sticky;position:sticky;bottom:0;padding:var(--space-md) 0;background:var(--color-bg-canvas)}.catalog__msg{font-size:13px;color:var(--color-text-success)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:40px 20px}.auth-card{width:100%;max-width:400px;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-3xl);display:flex;flex-direction:column;gap:var(--space-lg)}.auth-logo{display:flex;align-items:center;gap:var(--space-sm);justify-content:center}.auth-logo .mark{width:34px;height:34px;border-radius:var(--radius-md);background:var(--color-bg-sidebar-ops);color:var(--color-text-on-brand);display:grid;place-items:center;font-weight:700}.auth-logo strong{font-size:22px}.auth-card h1{font-size:17px;margin:0;text-align:center}.auth-sub{color:var(--color-text-secondary);font-size:12px;text-align:center;margin:-12px 0 0}.field{display:flex;flex-direction:column;gap:var(--space-xs)}.field label{font-size:12px;font-weight:500}.field input{padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.btn-primary{padding:var(--space-md);border:none;border-radius:var(--radius-md);background:var(--color-bg-brand);color:var(--color-text-on-brand);font-weight:700;cursor:pointer}.auth-error{border:1.5px solid var(--color-fresh-d180);color:var(--color-fresh-d180);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:12px}.ops-card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);flex-direction:column}.ops-card,.ops-card__head{display:flex;gap:var(--space-md)}.ops-card__head{justify-content:space-between;align-items:center}.ops-card__title{font-size:15px;font-weight:700;margin:0}.ops-kv{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;margin:0;font-size:13px}.ops-kv span{color:var(--color-text-secondary)}.ops-start{align-self:flex-start}.ops-bar{height:10px;border-radius:5px;background:var(--color-bg-subtle);overflow:hidden}.ops-bar span{display:block;height:100%;background:var(--color-bg-brand)}.ops-stats{display:flex;flex-wrap:wrap;gap:var(--space-xl);margin:0}.ops-stats dt{font-size:12px;color:var(--color-text-secondary)}.ops-stats dd{margin:0;font-size:16px;font-weight:700}.is-warn{color:var(--color-fresh-d60)}.is-error{color:var(--color-fresh-d180)}.ops-history,.ops-issues{list-style:none;margin:0;padding:0}.ops-issues li{display:flex;align-items:center;gap:var(--space-md);padding:10px 0;border-top:1px solid var(--color-border-default)}.ops-issues li:first-child{border-top:0}.ops-issues__main{flex:1 1;display:flex;flex-direction:column;gap:2px;font-size:13px}.ops-issues__acts{display:flex;gap:6px;align-items:center}.ops-history li{font-size:13px;color:var(--color-text-secondary);padding:4px 0}.ops-ok{color:var(--color-text-success);font-weight:700}.form-error,.ops-ok{margin:0;font-size:13px}.form-error{color:var(--color-fresh-d180)}