:root{color-scheme:dark;--bg:#101211;--panel:#181c19;--border:#2b322d;--muted:#98a59d;--text:#edf4ef;--green:#a5ee77;--danger:#ffadad;font-family:Inter,"Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:.16s}button:disabled{opacity:.4;cursor:not-allowed}button,input,select,textarea{border:1px solid var(--border);border-radius:8px;background:#202621;color:var(--text)}button{padding:10px 15px}button:hover{background:#2e3830}button.primary{background:var(--green);color:#14230e;font-weight:650;border-color:var(--green)}button.primary:hover{background:#b5f78d}button.danger{color:var(--danger)}input,select,textarea{width:100%;padding:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green)}textarea{resize:vertical;min-height:100px}a{color:var(--green)}.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:#151a16;border-right:1px solid var(--border);padding:28px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;font-size:21px;font-weight:700;letter-spacing:-.7px}.logo{background:var(--green);color:#203017;border-radius:12px;width:39px;height:39px;display:grid;place-items:center;font-weight:900;font-size:24px}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);display:block;margin-top:3px}.nav-label{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:38px 12px 14px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{text-align:left;background:transparent;border:0;padding:13px 15px;color:var(--muted)}.nav button.active{background:#253622;color:var(--green)}.nav button span{width:26px;display:inline-block;font-size:18px}.server-info{margin-top:auto;background:#1b231d;border:1px solid var(--border);padding:14px;border-radius:10px}.server-info strong{font-size:12px;word-break:break-all}.server-info p{font-size:11px;color:var(--muted);margin:8px 0 0}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px}.dot.off{background:#e5ad67}.workspace{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.topbar span{font-size:12px;color:var(--muted)}.user{display:flex;align-items:center;gap:18px}.avatar{background:#29332a;color:var(--green);height:32px;width:32px;display:grid;place-items:center;border-radius:50%;font-size:12px}.content{max-width:1350px;margin:auto;padding:37px 38px 50px}.headline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}h1{font-size:29px;letter-spacing:-.9px;font-weight:650;margin:0 0 10px}h2{font-size:17px;margin:0}p{color:var(--muted);line-height:1.6;margin:0}.eyebrow{font-size:10px;color:var(--green);letter-spacing:2px;margin-bottom:13px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:30px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px}.metric-label{font-size:12px;color:var(--muted)}.metric{font-size:30px;font-weight:600;margin-top:15px;letter-spacing:-1px}.metric small{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}.section{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:24px}.section-head{padding:23px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.section-head span{color:var(--muted);font-size:12px}.empty{padding:50px 24px;text-align:center}.empty .empty-icon{font-size:35px;color:var(--green);margin-bottom:18px}.empty h2{margin-bottom:9px}.empty p{max-width:440px;margin:0 auto 20px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.project{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:23px}.project-top{display:flex;align-items:center;gap:14px;margin-bottom:22px}.project-icon{height:43px;width:43px;background:#283822;color:var(--green);display:grid;place-items:center;border-radius:10px;font-size:19px}.project p{font-size:12px}.project-bottom{border-top:1px solid var(--border);padding-top:17px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-weight:400;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:15px 24px}td{padding:18px 24px;border-top:1px solid var(--border);font-size:13px}td strong{font-size:13px}td small{display:block;color:var(--muted);margin-top:5px;max-width:280px;overflow:hidden;text-overflow:ellipsis}td button{font-size:11px;padding:6px 9px;margin:2px}.pill{font-size:11px;border-radius:20px;background:#28302a;padding:5px 9px;white-space:nowrap;color:var(--muted)}.pill.running,.pill.success{background:#223b28;color:#adedae}.pill.failed{background:#45272a;color:#ffc1c1}.pill.running-job{background:#433d20;color:#f2dd8a}.notice{border:1px solid #51462c;background:#29251a;color:#dcc69b;padding:14px 18px;border-radius:9px;margin-bottom:23px;font-size:12px;line-height:1.6}.settings{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:23px}.settings strong{display:block;margin:7px 0;font-size:15px}.settings small{font-size:11px;color:var(--muted)}.auth{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-art{padding:65px;display:flex;flex-direction:column;background:radial-gradient(ellipse at bottom left,#314c28 0,transparent 65%),#151b16}.auth-art .slogan{margin:auto 0}.slogan h1{font-size:52px;line-height:1.15;max-width:560px;letter-spacing:-2px}.slogan p{max-width:430px;margin:25px 0;font-size:16px}.auth-foot{font-size:12px;color:var(--muted)}.auth-form{padding:45px;display:flex;align-items:center;justify-content:center}.auth-box{width:100%;max-width:380px}.auth-box h1{font-size:28px}.auth-box p{margin-bottom:28px}.auth-box form{display:grid;gap:17px}label{display:grid;gap:8px;color:var(--muted);font-size:12px}.form-error{color:var(--danger);min-height:20px;font-size:12px}.loading{text-align:center;padding:100px;color:var(--muted)}dialog{border:1px solid var(--border);border-radius:16px;background:#191f1a;color:var(--text);width:min(570px,calc(100vw - 30px));padding:28px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin-bottom:8px}dialog p{margin-bottom:23px;font-size:12px}dialog form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}pre{font:12px/1.6 ui-monospace,Consolas,monospace;white-space:pre-wrap;max-height:55vh;overflow:auto;padding:18px;border-radius:8px;background:#101411}.checklist{padding:24px;display:grid;gap:16px}.checklist p{font-size:13px}#toast{position:fixed;bottom:25px;right:25px;max-width:430px;background:#273d25;border:1px solid #5e8d52;border-radius:10px;padding:15px 20px;z-index:10;display:none}#toast.error{background:#452728;border-color:#854e50}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative;padding:18px}.nav-label,.server-info{display:none}.nav{flex-direction:row;flex-wrap:wrap;margin-top:15px}.nav button{padding:9px}.content{padding:25px 18px}.topbar{padding:0 18px;height:60px}.auth{grid-template-columns:1fr}.auth-art{display:none}.auth-form{padding:30px 22px}.headline{align-items:flex-start}.grid{grid-template-columns:1fr}.settings{grid-template-columns:1fr}}
