:root{--ink:#172033;--muted:#697386;--line:#e4e8f0;--bg:#f4f6fa;--brand:#4d5fd3;--nav:#172033;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;padding:26px 18px;background:var(--nav);color:#fff;display:flex;flex-direction:column}.logo{color:#fff;text-decoration:none;font-weight:800;font-size:18px;margin:0 10px 34px}.logo span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:8px;border-radius:11px;background:#6476ee}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:10px 13px;border-radius:9px;color:#bdc5d4;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{background:#273249;color:#fff}.sidebar form{margin-top:auto}.text-btn{background:none;color:#aeb8c9;padding:10px 13px}.admin{margin-left:230px;padding:48px;width:min(1180px,calc(100% - 230px))}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.page-head h1{font-size:36px;line-height:1.15;margin:4px 0}.page-head p{margin:0;color:var(--muted)}.kicker{font-size:12px!important;letter-spacing:.14em;font-weight:800;color:var(--brand)!important}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;margin-bottom:24px}.panel h2{margin-top:0}.stack{display:grid;gap:18px}.narrow{max-width:760px}.cols{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:15px}label{display:grid;gap:7px;font-weight:650}input,textarea,select{width:100%;border:1px solid #cfd5e1;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}input:focus,textarea:focus,select:focus{outline:3px solid #4d5fd322;border-color:var(--brand)}textarea{resize:vertical}.body-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.75}.check{display:flex;align-items:center}.check input{width:auto}button,.button{border:0;border-radius:9px;padding:11px 17px;background:var(--brand);color:#fff;text-decoration:none;font:inherit;font-weight:750;cursor:pointer}.secondary{background:#eef0f8;color:#344054;padding:7px 11px}.quiet{color:var(--muted)}.notice{padding:14px 18px;border-radius:11px;background:#e8f7ed;color:#18713c;margin-bottom:22px}.notice.error{background:#ffebe9;color:var(--danger)}.warning{color:#9a6700;background:#fff8c5;padding:12px;border-radius:9px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat{padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--muted)}.stat span{display:block;color:var(--ink);font-size:34px;font-weight:800}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{font-size:12px;color:var(--muted)}td small{display:block;color:var(--muted)}td a{color:var(--ink);font-weight:700}.badge{display:inline-block;padding:3px 9px;border-radius:99px;background:#eef0f3;font-size:12px}.badge.published,.badge.done{background:#dcfce7;color:#166534}.badge.review{background:#fff2c8;color:#8a5a00}.badge.failed{background:#fee2e2;color:#991b1b}.badge.running{background:#dbeafe;color:#1e40af}.task-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.revision{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.steps{display:grid;gap:18px;padding-left:24px}.steps span{display:block;color:var(--muted)}.auth{display:grid;min-height:100vh;place-items:center;background:radial-gradient(circle at top left,#dfe6ff,transparent 35%),var(--bg)}.auth .admin{margin:0;padding:24px;width:100%;display:grid;place-items:center}.auth-card{width:min(460px,100%);padding:42px;background:#fff;border:1px solid var(--line);border-radius:22px}.auth-card h1{font-size:34px;margin:5px 0}.auth-card>p{color:var(--muted)}@media(max-width:760px){.sidebar{position:static;width:100%;height:auto}.sidebar nav{grid-template-columns:repeat(5,auto);overflow:auto}.sidebar form{display:none}.admin{margin:0;width:100%;padding:26px 18px}.page-head{align-items:flex-start;flex-direction:column}.cols,.task-grid,.stats{grid-template-columns:1fr}.panel{padding:20px}}

