:root {
  color-scheme: light; --bg:#f3f6fb; --panel:#fff; --ink:#172033; --muted:#6d7890;
  --line:#e2e8f2; --primary:#5367df; --primary-dark:#4053c9; --soft:#eef1ff;
  --danger:#c13a52; --success:#147d63;
  font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); }
button,input,select { font:inherit; }
a { color:inherit; }
.eyebrow { margin:0 0 8px; color:var(--primary); font-size:11px; font-weight:800; letter-spacing:.14em; }
.muted { color:var(--muted); line-height:1.7; }
input,select { width:100%; padding:13px 15px; border:1px solid #d8deea; border-radius:11px; outline:none; background:#fff; color:var(--ink); transition:.2s; }
input:focus,select:focus { border-color:var(--primary); box-shadow:0 0 0 4px rgba(83,103,223,.12); }
button { border:0; cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.5; }
.primary-button,.secondary-button,.clear-button { display:inline-flex; min-height:45px; align-items:center; justify-content:center; padding:0 19px; border-radius:11px; text-decoration:none; font-weight:750; }
.primary-button { background:var(--primary); color:#fff; box-shadow:0 8px 18px rgba(83,103,223,.18); }
.primary-button:hover { background:var(--primary-dark); }
.secondary-button { border:1px solid var(--line); background:#fff; color:var(--ink); }
.clear-button { color:var(--muted); }
.brand-mark { display:grid; width:52px; height:52px; margin-bottom:28px; place-items:center; border-radius:15px; background:var(--primary); color:#fff; font-size:24px; box-shadow:0 10px 24px rgba(83,103,223,.28); }
.login-shell,.install-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at top left,#e5eaff,transparent 42%),var(--bg); }
.login-card,.install-card { width:min(440px,100%); padding:44px; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.96); box-shadow:0 24px 70px rgba(45,56,92,.12); }
.install-card { width:min(690px,100%); }
.login-card h1,.install-card h1 { margin:0; font-size:30px; letter-spacing:-.03em; }
.stack-form,.settings-form { display:grid; gap:18px; margin-top:26px; }
.stack-form label,.settings-form label,.search-form label { display:grid; gap:8px; color:#46516a; font-size:13px; font-weight:700; }
.settings-form h2 { margin:10px 0 -5px; font-size:15px; }
.settings-form small { color:var(--muted); font-weight:400; }
.requirements { display:flex; flex-wrap:wrap; gap:7px; margin:20px 0; }
.requirements span { padding:6px 9px; border-radius:7px; background:#eef1f6; font-size:11px; }
.requirements .ok { background:#eaf8f3; color:var(--success); }
.requirements .bad { background:#fff0f2; color:var(--danger); }
.app-shell { display:grid; min-height:100vh; grid-template-columns:250px minmax(0,1fr); }
.sidebar { position:sticky; top:0; display:flex; height:100vh; flex-direction:column; padding:28px 22px; border-right:1px solid var(--line); background:#fff; }
.logo { display:flex; align-items:center; gap:11px; margin-bottom:40px; text-decoration:none; font-size:18px; }
.logo span { display:grid; width:37px; height:37px; place-items:center; border-radius:11px; background:var(--primary); color:#fff; }
.sidebar nav { display:grid; gap:7px; }
.nav-item { display:flex; gap:12px; padding:12px 14px; border-radius:10px; color:var(--muted); text-decoration:none; font-weight:700; }
.nav-item.active { background:var(--soft); color:var(--primary); }
.account-panel { display:grid; gap:7px; margin-top:auto; padding:16px; border-radius:14px; background:#f7f8fc; overflow-wrap:anywhere; }
.account-panel small,.account-panel span { color:var(--muted); font-size:11px; }
.account-panel strong { font-size:12px; }
.text-button { margin-top:12px; padding:8px 14px; background:transparent; color:var(--muted); }
.main-content { width:100%; max-width:1480px; margin:0 auto; padding:34px 44px 56px; }
.page-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:26px; }
.page-header h1 { margin:0; font-size:30px; letter-spacing:-.04em; }
.search-panel,.mail-panel,.settings-card,.cron-card { border:1px solid var(--line); border-radius:18px; background:var(--panel); box-shadow:0 8px 30px rgba(36,48,78,.04); }
.search-panel { padding:25px; }
.search-row { display:grid; grid-template-columns:minmax(220px,1fr) auto auto; gap:10px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:16px 0; }
.stats-grid article { display:grid; gap:10px; padding:19px 21px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.stats-grid span { color:var(--muted); font-size:12px; }
.stats-grid strong { font-size:24px; }
.status { font-size:15px!important; }.status-idle{color:var(--success)}.status-running{color:var(--primary)}.status-error{color:var(--danger)}
.alert,.toast { margin:14px 0; padding:13px 16px; border:1px solid #d9def6; border-radius:10px; background:#f1f3ff; color:#4455b9; font-size:13px; }
.alert-error { border-color:#f2ccd2; background:#fff1f3; color:var(--danger); }
.alert-success { border-color:#bde7da; background:#edfaf6; color:var(--success); }
.toast { position:fixed; z-index:20; top:14px; left:50%; width:min(560px,calc(100% - 30px)); margin:0; transform:translateX(-50%); box-shadow:0 12px 34px rgba(30,40,65,.15); }
.panel-heading { display:flex; align-items:end; justify-content:space-between; padding:23px 25px; border-bottom:1px solid var(--line); }
.panel-heading h2 { margin:0 0 4px; font-size:18px; }.panel-heading p,.panel-heading small{margin:0;color:var(--muted);font-size:12px}
.table-wrap { overflow-x:auto; } table{width:100%;border-collapse:collapse;font-size:13px} th{padding:12px 18px;background:#fafbfe;color:var(--muted);text-align:left;font-size:11px} td{max-width:390px;padding:16px 18px;border-top:1px solid #edf0f5;vertical-align:top} td small{display:block;max-width:390px;margin-top:5px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}
.subject-link { color:var(--ink); font-weight:750; text-decoration:none; }.subject-link:hover,.open-link:hover{color:var(--primary)}
.open-link { color:var(--primary); text-decoration:none; white-space:nowrap; font-weight:700; }.nowrap{white-space:nowrap;color:var(--muted)}
.code-button { padding:7px 10px; border-radius:8px; background:var(--soft); color:var(--primary); font:800 14px ui-monospace,Consolas,monospace; letter-spacing:.08em; white-space:nowrap; }
.pagination { display:flex; align-items:center; justify-content:center; gap:18px; padding:18px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }.pagination a{color:var(--primary);text-decoration:none}
.empty-state { display:grid; place-items:center; padding:65px 24px; text-align:center; }.empty-state>div{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:var(--soft);color:var(--primary);font-size:25px}.empty-state h3{margin:17px 0 5px}.empty-state p{margin:0;color:var(--muted)}
.settings-content { max-width:980px; margin-left:0; }.settings-card{overflow:hidden}.settings-intro{padding:25px 28px;border-bottom:1px solid var(--line)}.settings-intro h2{margin:0 0 7px;font-size:18px}.settings-intro p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.settings-form{padding:28px;margin:0}.form-grid.two{display:grid;grid-template-columns:1fr 180px;gap:16px}.checkbox-label{align-content:end;grid-template-columns:auto 1fr;align-items:center;min-height:45px}.checkbox-label input{width:18px;height:18px}.form-actions{display:flex;gap:11px}.form-note{margin:-4px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.cron-card { margin-top:16px; padding:24px 28px; }.cron-card h2{margin:0 0 7px;font-size:17px}.cron-card p{color:var(--muted);font-size:13px}.cron-card code{display:block;padding:13px 15px;border-radius:9px;background:#1c2435;color:#e9ecf3;overflow:auto}
.detail-shell { width:min(1080px,calc(100% - 40px)); margin:38px auto 70px; }.back-link{display:inline-block;margin-bottom:18px;color:var(--primary);text-decoration:none;font-weight:700;font-size:13px}.message-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(36,48,78,.08)}.message-header{padding:30px 34px 24px;border-bottom:1px solid var(--line)}.message-header h1{margin:0 0 24px;font-size:26px}.message-header dl{display:grid;gap:9px;margin:0}.message-header dl div{display:grid;grid-template-columns:110px 1fr;gap:15px;font-size:13px}.message-header dt{color:var(--muted)}.message-header dd{margin:0;overflow-wrap:anywhere}.code-highlight{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding:14px 16px;border-radius:12px;background:var(--soft)}.code-highlight span{color:var(--muted);font-size:12px;font-weight:700}.code-highlight button{padding:7px 12px;border-radius:8px;background:#fff;color:var(--primary);font-weight:800}.mail-frame{display:block;width:100%;min-height:600px;border:0;background:#fff}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:18px 22px;flex-direction:row;align-items:center;gap:16px}.logo{margin:0}.sidebar nav,.account-panel{display:none}.sidebar form{margin-left:auto}.main-content{padding:26px 18px 44px}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.login-card,.install-card{padding:30px 22px}.page-header{align-items:flex-start;gap:16px}.search-row,.form-grid.two{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.panel-heading{align-items:flex-start;gap:10px}.panel-heading small{display:none}.message-header{padding-left:20px;padding-right:20px}.message-header dl div{grid-template-columns:1fr;gap:3px}}

