:root{--bg:#0b0e14;--panel:#141925;--panel-2:#1b2230;--border:#263042;--text:#e6e9ef;--muted:#8b93a7;--accent:#4f8cff;--accent-2:#6aa6ff;--ok:#3fb950;--warn:#d29922;--err:#f85149;--pending:#d29922;--processing:#4f8cff;--completed:#3fb950;--failed:#f85149;--cancelled:#8b93a7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Hiragino Sans,Noto Sans JP,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-2);text-decoration:underline}.page{max-width:1100px;margin:0 auto;padding:24px 20px 64px}.page h1{margin:0 0 16px;font-size:20px}.page h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 10px;font-size:15px}.muted{color:var(--muted)}.app-header{border-bottom:1px solid var(--border);background:var(--panel);z-index:10;position:sticky;top:0}.app-header-inner{align-items:center;gap:20px;max-width:1100px;height:52px;margin:0 auto;padding:0 20px;display:flex}.brand{letter-spacing:.02em;font-weight:700}.nav{flex:1;gap:4px;display:flex}.nav a{color:var(--muted);border-radius:6px;padding:6px 10px}.nav a:hover{background:var(--panel-2);color:var(--text);text-decoration:none}.user-box{align-items:center;gap:10px;font-size:13px;display:flex}.user-name{color:var(--text)}.role-badge{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 6px;font-size:11px}.role-badge.admin,.role-badge.owner{color:var(--accent);border-color:var(--accent)}.grid{gap:12px;display:grid}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:800px){.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.stat{flex-direction:column;gap:4px;display:flex}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat .value{font-size:26px;font-weight:700}.table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:9px 12px}th{color:var(--muted);background:var(--panel-2);font-weight:600}tr:last-child td{border-bottom:none}tr.row-clickable:hover{background:var(--panel-2);cursor:pointer}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.pending{color:var(--pending);background:#d2992226}.badge.processing{color:var(--processing);background:#4f8cff26}.badge.completed{color:var(--completed);background:#3fb95026}.badge.failed{color:var(--failed);background:#f8514926}.badge.cancelled{color:var(--cancelled);background:#8b93a726}.badge.enabled{color:var(--ok);background:#3fb9501f}.badge.draining{color:var(--warn);background:#d299221f}.badge.disabled{color:var(--muted);background:#8b93a71f}.badge.offline{color:var(--err);background:#f851491f}.form{flex-direction:column;gap:12px;max-width:360px;display:flex}label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input[type=text],input[type=password],select{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 10px;font-size:14px}input:focus,select:focus{border-color:var(--accent);outline:none}.btn{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}.btn:hover{background:var(--accent-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--panel-2);border-color:var(--border);color:var(--text)}.btn.secondary:hover{background:var(--panel)}.btn.danger{background:var(--err)}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.filters{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;display:flex}.filters label{gap:4px}.pager{color:var(--muted);justify-content:space-between;align-items:center;margin-top:14px;display:flex}.pager .btn{padding:6px 12px}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:380px;padding:28px}.login-card h1{margin:0 0 6px;font-size:20px}.login-card p.sub{color:var(--muted);margin:0 0 20px;font-size:13px}.error{color:var(--err);font-size:13px}.kv{grid-template-columns:160px 1fr;gap:6px 12px;font-size:13px;display:grid}.kv .k{color:var(--muted)}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--border);margin-left:4px;padding:6px 0 6px 12px;font-size:13px}.timeline .when{color:var(--muted);font-size:12px}.preview{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px}.preview img{border-radius:4px;max-width:100%;height:auto;display:block}.prompt{white-space:pre-wrap;word-break:break-word;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px}
