.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); }
.two-factor-panel { max-width:900px; margin-top:42px; padding:22px 24px; border:1px solid var(--line); border-radius:8px; background:var(--panel-2); }.two-factor-panel > div > span { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; }.two-factor-panel h2 { margin:5px 0 7px; font-size:18px; }.two-factor-panel p { color:var(--muted); font-size:13px; line-height:1.55; }.two-factor-state { margin:18px 0 14px; font-weight:650; color:var(--text)!important; }.two-factor-panel > button { padding:10px 14px; border:1px solid var(--nav-active); border-radius:6px; background:var(--nav-active); color:#fff; font:inherit; font-weight:700; }.two-factor-panel form { display:grid; gap:12px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }.two-factor-panel form > code { display:block; padding:10px 12px; border-radius:6px; background:var(--panel); color:var(--text); letter-spacing:.08em; overflow-wrap:anywhere; }.two-factor-panel label { display:grid; gap:7px; font-size:13px; font-weight:650; }.two-factor-panel input { height:42px; padding:0 12px; border:1px solid var(--line); border-radius:6px; background:var(--panel); color:var(--text); font:14px Arial,sans-serif; }.two-factor-panel form > div { display:flex; justify-content:flex-end; gap:10px; }.two-factor-panel form button { padding:9px 13px; border-radius:6px; font:inherit; font-weight:650; }.two-factor-panel form button[type="button"] { border:1px solid var(--line); background:var(--panel); color:var(--text); }.two-factor-panel form button[type="submit"] { border:1px solid var(--nav-active); background:var(--nav-active); color:#fff; }.two-factor-panel [role="status"] { min-height:18px; margin:0; }
.factory-reset-panel { max-width:900px; margin-top:44px; padding:22px 24px; border:1px solid #bf0000; border-radius:8px; background:color-mix(in srgb,#bf0000 8%,var(--panel)); }
.factory-reset-heading { display:flex; gap:20px; justify-content:space-between; align-items:start; }
.factory-reset-heading span { color:#bf0000; font-size:11px; font-weight:700; letter-spacing:.08em; }.factory-reset-heading h2 { margin:5px 0 7px; font-size:18px; }.factory-reset-heading p,.factory-reset-scope { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.factory-reset-summary { margin:20px 0 10px; padding:12px 14px; border:1px solid var(--line); border-radius:6px; background:var(--panel); font-size:13px; font-weight:650; }.factory-reset-scope { margin-bottom:14px; }
.factory-reset-list { margin:0 0 18px; padding-left:20px; color:var(--text); font-size:13px; line-height:1.55; }.factory-reset-list li+li { margin-top:6px; }
.factory-reset-open,.factory-reset-confirm { border:1px solid #bf0000; border-radius:6px; background:#bf0000; color:#fff; padding:10px 14px; font:inherit; font-weight:700; }.factory-reset-open:hover,.factory-reset-confirm:hover { background:#bf0000; }.factory-reset-form { display:grid; gap:14px; margin-top:18px; padding-top:20px; border-top:1px solid #e17f7f; }.factory-reset-form label { display:grid; gap:7px; font-size:13px; font-weight:650; }.factory-reset-form input[type="text"],.factory-reset-form input[type="password"] { height:42px; padding:0 12px; border:1px solid var(--line); border-radius:6px; background:var(--panel); color:var(--text); font:14px Arial,sans-serif; }.factory-reset-phrase { margin:-4px 0 0; color:var(--muted); font-size:12px; }.factory-reset-phrase code { color:#bf0000; font-weight:700; }.factory-reset-ack { grid-template-columns:18px 1fr; align-items:start; font-weight:400!important; line-height:1.45; }.factory-reset-ack input { margin-top:1px; width:18px; height:18px; }.factory-reset-actions { display:flex; justify-content:flex-end; gap:10px; }.factory-reset-actions button { padding:10px 14px; border-radius:6px; font:inherit; font-weight:650; }.factory-reset-actions button[type="button"] { border:1px solid var(--line); background:var(--panel); color:var(--text); }.factory-reset-form [role="status"] { min-height:18px; margin:0; color:var(--muted); font-size:13px; }.factory-reset-form [role="status"][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; } }
