:root{--bg:#f8fafc;--surface:#fff;--text:#1e293b;--muted:#64748b;--line:#e2e8f0;--accent:#0f172a;--accent-hover:#2563eb;--accent-soft:#eff6ff;--accent-text:#fff;--danger:#e11d48;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,Hiragino Sans,Noto Sans JP,sans-serif}.page{place-items:center;min-height:100dvh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:380px;min-height:320px;padding:24px}h1{color:var(--accent);margin:0 0 20px;font-size:1.25rem}form{gap:14px;display:grid}label{color:var(--muted);gap:6px;font-size:.875rem;display:grid}input{width:100%;font:inherit;color:var(--text);border:1px solid var(--line);background:0 0;border-radius:10px;padding:10px 12px}button{font:inherit;color:var(--accent-text);background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:10px;padding:10px 12px}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.secondary{color:var(--text);background:var(--surface);border-color:var(--line)}button.secondary:hover:not(:disabled){color:var(--text);background:var(--bg);border-color:#cbd5e1}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent-hover);outline-offset:1px}button:disabled{opacity:.6;cursor:default}p{margin:14px 0 0;font-size:.875rem;line-height:1.6}.error{color:var(--danger)}.icon{flex:none;width:1.1em;height:1.1em}h1,.brand,h3{align-items:center;gap:8px;display:flex}.console{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.console-main{min-width:0}.console-body{grid-template-columns:minmax(0,1fr);gap:16px;max-width:1120px;margin:0 auto;padding:24px;display:grid}.mobile-bar,.sidebar-head .sidebar-close,.sidebar-backdrop{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:16px;display:flex}.brand{color:var(--accent);font-weight:600}.nav{flex:1;align-content:start;gap:16px;padding:12px;display:grid}.nav-group{gap:2px;display:grid}.nav-title{color:var(--muted);padding:4px 10px;font-size:.75rem;font-weight:600}.nav-item{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:.9rem;display:flex}.nav-item .icon{color:var(--muted)}.nav-item:hover:not(:disabled){color:var(--text);background:var(--bg)}.nav-item.active,.nav-item.active:hover:not(:disabled){color:var(--accent-hover);background:var(--accent-soft);font-weight:600}.nav-item.active .icon{color:var(--accent-hover)}.sidebar-foot{border-top:1px solid var(--line);gap:2px;padding:12px;display:grid}.icon-button{width:40px;height:40px;color:var(--text);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0;font-size:1.1rem;display:inline-grid}.icon-button:hover:not(:disabled){color:var(--text);background:var(--bg)}.page-head h1{margin:0;font-size:1.375rem;display:block}.page-head p{color:var(--muted);margin:4px 0 0}.panel,.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:16px}.panel.narrow{max-width:420px}.panel h2,.dialog h2{margin:0 0 12px;font-size:1rem}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.panel-head h2{margin:0}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar input{flex:240px;width:auto;min-width:0}.with-icon{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.empty{color:var(--muted);text-align:center;margin:0;padding:24px 8px}.hint,td small,th small,label small,.stat span{color:var(--muted);font-size:.8rem;font-weight:400}td small,th small,.check-list small{display:block}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge.ok{color:#047857;background:#ecfdf5}.badge.warn{color:#b45309;background:#fffbeb}.badge.danger{color:#be123c;background:#fff1f2}.badge.info{color:var(--accent-hover);background:var(--accent-soft)}.badge.muted{color:var(--muted);background:var(--bg)}.status-ok{color:#047857;border-radius:var(--radius);background:#ecfdf5;border:1px solid #a7f3d0;align-items:center;gap:8px;margin:0;padding:12px 16px;font-size:.875rem;font-weight:600;display:flex}.attention{background:#fffbeb;border-color:#fde68a}.attention h2{color:#b45309;align-items:center;gap:8px;display:flex}.task-list{gap:6px;display:grid}.task{width:100%;color:var(--text);text-align:left;background:var(--surface);border:1px solid #fde68a;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:.875rem;display:flex}button.task:hover:not(:disabled){color:var(--text);background:var(--surface);border-color:#f59e0b}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px;display:grid}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat{background:var(--bg);border:0;gap:4px;padding:12px;display:grid}.stat strong{font-size:1.5rem}.usage-list{gap:12px;display:grid}.usage{gap:6px;display:grid}.usage-text{justify-content:space-between;align-items:baseline;gap:8px;font-size:.875rem;display:flex}.usage-text span{color:var(--muted)}.meter{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.meter-fill{background:var(--accent-hover);border-radius:999px;height:100%}.meter-fill.high{background:#f59e0b}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 8px}tbody tr:last-child td{border-bottom:0}th{color:var(--muted);white-space:nowrap;font-size:.8rem;font-weight:600}td.primary{font-weight:600}td.primary small{margin-top:2px}td.check,th.role-head{text-align:center}td.check.changed{background:var(--accent-soft)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-hover);padding:0}.matrix td.primary,.matrix th:first-child{z-index:1;background:var(--surface);position:sticky;left:0}.actions,.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.actions button{padding:6px 10px;font-size:.8125rem}td.actions{display:table-cell}td.actions button{margin:2px 6px 2px 0}button.secondary.danger{color:#be123c;border-color:#fecdd3}button.secondary.danger:hover:not(:disabled){color:#be123c;background:#fff1f2;border-color:#fda4af}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:12px;display:flex}.inline-form label{flex:200px}.stack-form{max-width:560px}textarea,select{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}textarea{min-height:72px}label.inline{align-items:center;gap:8px;display:inline-flex}label.inline input:not([type=checkbox]){width:auto}.save-bar{z-index:2;background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px -16px -16px;padding:12px 16px;display:flex;position:sticky;bottom:0}.save-bar.dirty{background:var(--accent-soft);border-top-color:#bfdbfe}.save-count{font-size:.875rem;font-weight:600}.save-actions{gap:8px;margin-left:auto;display:flex}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill{color:var(--text);background:var(--surface);border-color:var(--line);border-radius:999px;padding:6px 14px}.pill:hover:not(:disabled){color:var(--text);background:var(--bg);border-color:#cbd5e1}.pill.active,.pill.active:hover:not(:disabled){color:var(--accent-text);background:var(--accent-hover);border-color:var(--accent-hover)}.segments{background:var(--line);border-radius:10px;gap:2px;width:fit-content;max-width:100%;padding:3px;display:flex}.segment{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:.875rem;display:inline-flex}.segment:hover:not(:disabled){color:var(--text);background:0 0}.segment.active,.segment.active:hover:not(:disabled){color:var(--text);background:var(--surface);font-weight:600}.count{min-width:18px;color:var(--accent-text);text-align:center;background:var(--danger);border-radius:999px;padding:0 5px;font-size:.75rem;line-height:18px}.app-grid{grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));gap:16px;display:grid}.app-card{align-content:start;gap:12px;display:grid}.app-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.app-card-head h3{margin:0 0 2px;font-size:1rem}.app-card-head code{color:var(--muted);font-size:.8rem}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.facts .full{grid-column:1/-1}.facts dt{color:var(--muted);font-size:.8rem}.facts dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:.875rem}.link{color:var(--muted);background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.link:hover:not(:disabled){color:var(--text);background:0 0;border-color:#0000}.link[aria-expanded=true] .icon{transform:rotate(90deg)}.maintenance{gap:8px;display:grid}code{font-family:ui-monospace,Consolas,monospace}.dialog-backdrop{z-index:30;background:#0f172a80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);gap:14px;width:100%;max-width:420px;max-height:calc(100dvh - 32px);padding:20px;display:grid;overflow-y:auto}.dialog.wide{max-width:560px}.dialog h2{margin:0;font-size:1.05rem}.dialog p{margin:0}.dialog-head{justify-content:space-between;align-items:center;gap:8px;margin:-8px -8px 0 0;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;gap:8px;padding:10px 12px;display:flex}.warning .icon{margin-top:.2em}.secrets{gap:12px;margin:0;display:grid}.secrets dt{color:var(--muted);margin-bottom:4px;font-size:.8rem}.secrets dd{align-items:center;gap:8px;margin:0;display:flex}.secrets code{overflow-wrap:anywhere;background:var(--bg);border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:.8125rem}.secrets button{flex:none;padding:6px 10px;font-size:.8125rem}.check-list{gap:4px;max-height:240px;display:grid;overflow-y:auto}.check-list label{color:var(--text);border-radius:8px;padding:6px;display:flex}.section-action{margin-top:12px}.expiry-cell{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.expiry-cell input{width:auto;padding:5px 8px}.expiry-cell small{color:var(--muted);font-size:.8rem}.expiry-cell .link{white-space:nowrap;font-size:.8125rem}td.changed{background:var(--accent-soft)}.spinner{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.busy{justify-content:center;align-items:center;gap:8px;display:inline-flex}.loading{color:var(--muted);align-items:center;gap:8px;display:flex}.empty .loading{justify-content:center;margin:0}@media (width<=1023px){.console{display:block}.console-body{padding:16px}.mobile-bar{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:4px 8px;display:flex;position:sticky;top:0}.mobile-title{font-weight:600}.page-head h1{display:none}.page-head p{margin:0}.sidebar{z-index:21;visibility:hidden;width:min(280px,85vw);transition:transform .2s,visibility .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{visibility:visible;transform:none}.sidebar-head .sidebar-close{display:inline-grid}.sidebar-backdrop{z-index:20;background:#0f172a80;border:0;border-radius:0;width:100%;padding:0;display:block;position:fixed;inset:0}.sidebar-backdrop:hover:not(:disabled){background:#0f172a80}}@media (width<=767px){.toolbar button{flex:auto}.toolbar input{flex-basis:100%}.segments{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.stat{padding:10px}.stat strong{font-size:1.25rem}.table-wrap{overflow-x:visible}.table-cards thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.table-cards,.table-cards tbody,.table-cards tr{display:block}.table-cards tr{border:1px solid var(--line);border-radius:10px;padding:12px}.table-cards tr+tr{margin-top:8px}.table-cards td{text-align:right;overflow-wrap:anywhere;border-bottom:0;justify-content:space-between;align-items:center;gap:16px;padding:6px 0;display:flex}.table-cards td[data-label]:before{max-width:55%;color:var(--muted);text-align:left;content:attr(data-label);flex:none;font-size:.8rem}.table-cards td.primary{text-align:left;background:0 0;padding:0 0 6px;display:block;position:static}.table-cards td.check{border-radius:6px;margin:0 -6px;padding:8px 6px}.table-cards td.check input{width:22px;height:22px}.table-cards td select{width:auto;min-width:0;max-width:60%;padding:6px 8px}.table-cards td.actions{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin-top:6px;padding-top:10px;display:grid}.actions button{padding:9px 10px}.table-cards td.actions button{margin:0}.app-card .actions{grid-template-columns:minmax(0,1fr);display:grid}.save-bar label.inline{flex:100%;gap:4px;display:grid}.save-bar label.inline input{width:100%}.save-actions{flex:100%;margin-left:0}.save-actions button,.dialog-actions button{flex:1}.secrets dd{flex-wrap:wrap}.secrets code{flex-basis:100%}.secrets button{margin-left:auto}}
