:root{color-scheme:light;--bg:#f6f7f9;--panel:#ffffff;--text:#17202a;--muted:#65717f;--line:#dfe4ea;--accent:#176b87;--accent-dark:#0f4c61;--ok:#257a4f;--warn:#a05a00;--bad:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.topbar{background:#ffffff;border-bottom:1px solid var(--line);gap:20px;height:60px;justify-content:space-between;padding:0 28px}.brand,.topbar{align-items:center;display:flex}.brand{gap:10px;font-weight:700}.brand-mark{background:var(--accent);border-radius:5px;height:22px;width:22px}.nav{color:var(--muted);display:flex;font-size:14px;gap:18px}.auth-shell{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 150px)}.auth-panel{max-width:430px;width:100%}.auth-panel form{margin-top:22px}.form-error{color:var(--bad);font-size:14px;margin:0 0 14px}.main{margin:0 auto;max-width:1180px;padding:28px}.page-head{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:22px}.page-title{font-size:28px;line-height:1.2;margin:0 0 6px}.page-subtitle{color:var(--muted);margin:0}.grid{display:grid;grid-gap:18px;gap:18px}.grid.two{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}.page-section{margin-top:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.panel h2{font-size:16px;margin:0 0 14px}.section-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.section-head h2{margin:0}.field{display:grid;grid-gap:7px;gap:7px;margin-bottom:14px}.field label{color:#334155;font-size:13px;font-weight:650}.check-list{border:1px solid #cfd8e3;border-radius:6px;display:grid;max-height:160px;overflow:auto}.check-row{align-items:center;border-bottom:1px solid var(--line);cursor:pointer;display:flex;gap:10px;padding:9px 11px}.check-row:last-child{border-bottom:0}.check-row span{display:grid;grid-gap:2px;gap:2px}.check-row small{color:var(--muted)}.input,.select,.textarea{background:#ffffff;border:1px solid #cfd8e3;border-radius:6px;color:var(--text);min-height:40px;padding:9px 11px;width:100%}.select.compact{min-height:34px;padding:6px 9px}.inline-form{align-items:center;display:flex;gap:8px;margin-top:6px}.admin-inline-form{border-bottom:1px solid var(--line);display:grid;grid-gap:10px 14px;gap:10px 14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px;padding-bottom:16px}.admin-inline-form .field{margin-bottom:0}.admin-inline-form .button{align-self:end}.textarea{min-height:130px;resize:vertical}.textarea.wiki-editor{min-height:260px}.button{align-items:center;background:var(--accent);border:0;border-radius:6px;color:#ffffff;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;min-height:40px;padding:9px 14px}.button:hover{background:var(--accent-dark)}.button.danger{background:var(--bad)}.button.danger:hover{background:#8f1c14}.button.secondary{background:#eef4f7;color:#245365}.button.secondary:hover{background:#dceaf0}.task-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.task-list{display:grid;grid-gap:10px;gap:10px}.task-row{background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:14px}.task-row:hover{border-color:#a9bbc8}.task-title{font-weight:750}.task-meta{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.pill{background:#eef4f7;border:1px solid #d2e1e8;border-radius:999px;color:#245365;display:inline-flex;font-size:12px;font-weight:700;line-height:1;padding:5px 8px;text-transform:capitalize}.pill.succeeded{background:#eef8f2;border-color:#cce8d8;color:var(--ok)}.pill.failed{background:#fff1f0;border-color:#ffd0cc;color:var(--bad)}.pill.ok{background:#eef8f2;border-color:#cce8d8;color:var(--ok)}.pill.warn{background:#fff7e8;border-color:#ffe0ad;color:var(--warn)}.pill.fail{background:#fff1f0;border-color:#ffd0cc;color:var(--bad)}.pill.preparing,.pill.running{background:#fff7e8;border-color:#ffe0ad;color:var(--warn)}.detail-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 320px}.log{background:#101820;border-radius:8px;color:#dce8ef;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;min-height:420px;overflow:auto;padding:14px}.log-line{border-bottom:1px solid rgba(255,255,255,.08);padding:7px 0;white-space:pre-wrap}.browser-frame{aspect-ratio:16/9;display:block;min-height:360px;width:100%}.browser-frame,.file-list{border:1px solid var(--line);border-radius:6px}.file-list{display:grid;max-height:360px;overflow:auto}.file-row{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-template-columns:44px minmax(0,1fr) auto auto;min-height:38px;padding:8px 10px}.file-row:last-child{border-bottom:0}.file-row span:first-child{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.file-row strong{font-family:SFMono-Regular,Consolas,monospace;font-size:13px;overflow-wrap:anywhere}.file-row small{color:var(--muted);white-space:nowrap}.file-actions{display:flex;gap:10px;justify-content:flex-end}.file-actions a{color:var(--accent);font-size:13px;font-weight:700}.muted{color:var(--muted)}.stat-list{display:grid;grid-gap:10px;gap:10px}.stat{border-bottom:1px solid var(--line);display:grid;grid-gap:3px;gap:3px;padding-bottom:10px}.stat:last-child{border-bottom:0;padding-bottom:0}.stat span{color:var(--muted);font-size:12px}.stat strong{font-size:14px}.stat small,.stat strong{overflow-wrap:anywhere}.ops-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.readiness-list{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.readiness-row{align-items:flex-start;border-bottom:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:58px minmax(0,1fr);padding:11px 12px}.readiness-row:last-child{border-bottom:0}.readiness-row strong{display:block;font-size:14px;margin-bottom:3px}.readiness-row small{color:var(--muted);display:block;line-height:1.45;overflow-wrap:anywhere}.readiness-row.fail{background:#fffafa}.readiness-row.warn{background:#fffdf8}.compact-heading{font-size:14px;margin:0 0 10px}.audit-snippet{background:#f3f5f7;border:1px solid var(--line);border-radius:6px;color:#243447;display:block;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45;max-height:160px;overflow:auto;padding:8px;white-space:pre-wrap}.audit-snippet.error{background:#fff7f6;border-color:#ffd0cc;color:var(--bad)}.wiki-list{display:grid;grid-gap:14px;gap:14px}.wiki-page{border-bottom:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;padding-bottom:14px}.wiki-page:last-child{border-bottom:0;padding-bottom:0}.wiki-page h3{font-size:18px;margin:0 0 4px}.wiki-page pre{background:#f8fafc;border:1px solid var(--line);border-radius:6px;margin:0;overflow:auto;padding:12px;white-space:pre-wrap}@media (max-width:860px){.detail-layout,.grid.two,.ops-grid{grid-template-columns:1fr}.page-head,.topbar{align-items:stretch;flex-direction:column;height:auto;padding:18px}.main{padding:18px}}