*{box-sizing:border-box}body{margin:0;background:#0b1220;color:#e8eef8;font:15px system-ui,-apple-system,Segoe UI,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:22px max(20px,calc((100% - 1100px)/2));background:#101827;border-bottom:1px solid #263348}h1{font-size:22px;margin:0}h2{margin:0 0 5px}p{color:#9eacc1;margin:5px 0}main{max-width:1100px;margin:28px auto;padding:0 18px}.card,.botCard,dialog{background:#121e30;border:1px solid #2a3a52;border-radius:14px;padding:20px;box-shadow:0 12px 35px #0002}.login{max-width:420px;margin:70px auto}label{display:flex;flex-direction:column;gap:7px;color:#cbd7e8;font-size:14px}input,textarea{width:100%;padding:11px 12px;border:1px solid #3b4c65;border-radius:8px;background:#0b1422;color:#fff;font:inherit}button{border:0;border-radius:8px;padding:10px 15px;background:#2878e5;color:white;font-weight:650;cursor:pointer}button:hover{filter:brightness(1.12)}button:disabled{opacity:.45;cursor:wait}.secondary{background:#34445b}.hidden{display:none!important}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.botCard h3{margin:0 0 8px}.meta{font-size:13px;color:#a9b8cc;line-height:1.7;overflow-wrap:anywhere}.badge{display:inline-block;padding:4px 9px;border-radius:30px;font-size:12px;font-weight:700;margin-bottom:10px}.running{background:#123d2d;color:#6ce0a5}.stopped{background:#4a2027;color:#ff9aa7}.unknown{background:#4a3a1c;color:#ffd27a}.buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.buttons button{flex:1;min-width:65px;padding:9px 7px}.buttons .settings{flex-basis:100%;background:#536782}#notice{margin:10px 0}.error{color:#ff9aa7}.success{color:#6ce0a5}.dialogHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}dialog{width:min(720px,calc(100% - 24px));max-height:90vh;overflow:auto;color:#e8eef8}dialog::backdrop{background:#02060dcc}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}.check{flex-direction:row;align-items:center}.check input{width:auto}.hint,small{color:#9eacc1;font-size:12px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}@media(max-width:560px){header{padding:16px}.formGrid{grid-template-columns:1fr}.wide{grid-column:auto}.toolbar{align-items:flex-start}}

.toolbarActions{display:flex;gap:8px;flex-wrap:wrap}.installPanel{margin:20px 0}.installNotice{padding:12px;border:1px solid #66552b;background:#302a1b;color:#f5d99a;border-radius:8px;font-size:13px;line-height:1.5}.terminalToolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0}.terminalToolbar>div{display:flex;gap:8px}.terminalOutput{display:block;min-height:300px;height:42vh;resize:vertical;background:#05090f;color:#c5f7ce;border:1px solid #30435a;border-radius:8px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;overflow:auto}.terminalInputRow{display:flex;gap:8px;margin-top:10px}.terminalInputRow input{min-width:0;flex:1}.installPanel .hint{margin-top:8px}@media(max-width:560px){.toolbarActions{width:100%}.toolbarActions button{flex:1}.terminalToolbar{align-items:flex-start;flex-direction:column}.terminalInputRow{flex-wrap:wrap}.terminalInputRow input{flex-basis:100%}.terminalOutput{height:38vh}}

/* V1.4.2: terminal input is a multiline paste-friendly field. */
.terminalInputRow textarea{flex:1;min-width:0;min-height:48px;resize:vertical;font:inherit;padding:10px;border-radius:8px;background:#0b1220;color:#e5edf8;border:1px solid #34445c}

.buttons .danger{background:#9e303d}.buttons [data-action=autostart]{background:#365d78}
