.login-screen { min-height:100svh; display:grid; grid-template-rows:auto 1fr auto; padding:24px 40px; background:#f5f6f8; color:#18212b; letter-spacing:0; }
body.theme-dark .login-screen { background:#181a1e; color:#edf0f4; --panel:#22252a; --panel-2:#292d33; --text:#edf0f4; --muted:#a7b0bb; --line:#41464e; }
.login-topbar, .login-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--muted); font-size:12px; }
.login-topbar { font-weight:700; padding-bottom:24px; }
.login-topbar button, .login-password button { display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid var(--line); border-radius:6px; background:transparent; }
.login-content { width:min(380px,100%); margin:32px auto 48px; align-self:center; min-width:0; }
.login-identity { text-align:center; margin-bottom:32px; }
.login-identity img { display:block; margin:0 auto 20px; }
.login-identity h1 { font-size:26px; line-height:1.25; margin:0 0 8px; color:inherit; }
.login-identity p { font-size:14px; margin:0; color:var(--muted); }
.login-box { display:block; width:100%; min-height:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.login-box h2 { margin:0 0 22px; font-size:17px; font-weight:600; color:inherit; }
.login-field { display:grid; gap:8px; margin-top:18px; }
.login-field label { font-size:13px; font-weight:600; color:inherit; }
.login-field input { width:100%; min-width:0; height:46px; border:1px solid var(--line); border-radius:6px; padding:0 12px; color:var(--text); background:var(--panel); font-size:15px; }
.login-password { position:relative; }
.login-password input { padding-right:48px; }
.login-password button { position:absolute; right:4px; top:3px; border:0; }
.login-error { min-height:40px; padding:10px 0; color:var(--down); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.login-submit { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; height:46px; background:#155fbe; color:#fff; border:1px solid #155fbe; border-radius:6px; font-size:14px; font-weight:600; }
.login-submit:hover { background:#104e9e; }
.login-submit:disabled { opacity:.65; cursor:wait; }
.login-notice { margin:20px 0 0; color:var(--muted); font-size:12px; text-align:center; }
.login-footer { border-top:1px solid var(--line); padding-top:18px; flex-wrap:wrap; overflow-wrap:anywhere; }
.login-screen button:focus-visible, .login-screen input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
body.theme-dark .login-topbar img, body.theme-dark .login-password img { filter:invert(1); }
.settings-panel { grid-column:1/-1; min-width:0; color:var(--text); }
.settings-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.settings-heading h2 { margin:0 0 6px; font-size:22px; }
.settings-heading p { margin:0; color:var(--muted); font-size:13px; }
.settings-panel form { max-width:900px; }
.settings-panel fieldset { border:0; border-bottom:1px solid var(--line); padding:24px 0; margin:0; min-width:0; }
.settings-panel legend { float:left; width:100%; margin:0 0 20px; font-size:15px; font-weight:700; }
.settings-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px; clear:both; }
.settings-fields label { display:grid; align-content:start; gap:9px; font-size:13px; color:var(--muted); min-width:0; }
.settings-fields select, .settings-fields textarea { width:100%; min-width:0; padding:12px; background:var(--panel); color:var(--text); border:1px solid var(--line); border-radius:6px; font:14px Arial,sans-serif; }
.settings-fields textarea { resize:vertical; min-height:96px; }
.settings-fields select { height:44px; padding:0 12px; }
.settings-current { display:grid; grid-template-columns:145px 1fr; gap:10px; font-size:13px; margin:24px 0 0; }
.settings-current dt { color:var(--muted); }.settings-current dd { margin:0; overflow-wrap:anywhere; }
.settings-toggle { display:flex; align-items:center; gap:10px; clear:both; font-size:14px; }
.settings-toggle input { width:18px; min-width:18px; height:18px; padding:0; margin:0; flex:none; accent-color:var(--accent); }
.settings-menu-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); gap:18px 24px; clear:both; }
.settings-menu-grid .settings-toggle { min-height:28px; min-width:0; }
.settings-menu-grid span { overflow-wrap:anywhere; }
.settings-actions { margin-top:16px; }.settings-actions button { background:#155fbe; border:1px solid #155fbe; border-radius:6px; color:white; }
#settingsMessage { min-height:24px; margin-top:18px; font-size:13px; overflow-wrap:anywhere; }#settingsMessage[data-error="true"] { color:var(--down); }
@media(max-width:600px) { .login-screen { padding:20px; }.login-content { margin:24px auto 36px; }.settings-fields { grid-template-columns:1fr; gap:18px; }.settings-current { grid-template-columns:1fr; gap:7px; }.settings-current dd { margin-bottom:8px; } }
