#account-controls {display:flex;align-items:center;gap:12px;font:14px system-ui,sans-serif}
#account-controls[hidden] {display:none}
#account-name {max-width:140px;overflow:hidden;text-overflow:ellipsis}
#logout-button {background:transparent;color:inherit;border:1px solid currentColor;border-radius:8px;padding:7px 12px;cursor:pointer;font:inherit;white-space:nowrap}
#logout-button:hover {opacity:.8}
.login-page {margin:0;min-height:100vh;display:grid;place-items:center;background:#eef3f6;color:#152e42;font:16px/1.5 system-ui,sans-serif}
.login-card {box-sizing:border-box;width:min(440px,calc(100% - 32px));padding:36px;background:#fff;border:1px solid #dbe5ed;border-radius:20px;box-shadow:0 16px 60px #152e4210;margin:32px 0}
.login-symbol {font-size:40px;color:#168573;line-height:1}
.login-eyebrow {font-size:12px;letter-spacing:.18em;font-weight:750;margin-top:20px}
.login-card h1 {font-size:28px;line-height:1.2;margin:12px 0}
.login-card p {color:#566c7c}
.login-card form {display:grid;gap:8px;margin-top:24px}
.login-card label {font-weight:650;font-size:14px;margin-top:8px}
.login-card input {box-sizing:border-box;width:100%;border:1px solid #b7c8d4;border-radius:8px;padding:12px;font:inherit}
.login-card input:focus {outline:2px solid #168573;outline-offset:2px}
.login-card button {padding:13px;border:0;border-radius:8px;background:#152e42;color:white;font:650 16px system-ui;cursor:pointer;margin-top:16px}
.login-card button:disabled {opacity:.6;cursor:wait}
#login-message {min-height:24px;font-size:14px}
.login-card .login-hint {font-size:12px;border-top:1px solid #e5ecf0;padding-top:16px}
@media(max-width:640px) {body>header {flex-wrap:wrap;gap:12px;height:auto;min-height:64px} #account-controls {font-size:12px;gap:8px} #account-name {max-width:85px}}

.registration-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#pending-registration-notice{position:fixed;bottom:16px;left:16px;right:16px;max-width:480px;z-index:12000;display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #d69a20;border-radius:12px;background:#fff4ce;color:#352500;box-shadow:0 4px 20px #0003;font:16px/1.4 system-ui,sans-serif;box-sizing:border-box}
#pending-registration-notice a{color:inherit;font-weight:650;flex:1}#pending-registration-notice button{min-width:44px;min-height:44px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:26px}

#station-setup-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:85dvh;overflow:auto;padding:24px;border:1px solid #bbcdd8;border-radius:16px;background:#fff;color:#193047;font:16px/1.5 system-ui;box-shadow:0 12px 48px #0004}
#station-setup-dialog::backdrop{background:#142b3e99}
#station-setup-dialog h2{margin-top:0;font-size:22px}
#station-setup-dialog a,#station-setup-dialog button{box-sizing:border-box;display:block;width:100%;min-height:48px;padding:12px;margin:12px 0;border-radius:8px;border:1px solid #9ab2c3;font:600 16px/1.4 system-ui;text-align:center;text-decoration:none}
#station-setup-dialog a{background:#173e58;color:#fff}
#station-setup-dialog button{background:#edf4f7;color:#173e58;cursor:pointer}
#station-setup-dialog :focus-visible{outline:3px solid #187b69;outline-offset:3px}
.station-setup-preference{margin:24px 0;padding:16px;border:1px solid #9ab2c3;border-radius:8px;background:#edf4f7}.station-setup-preference label{display:flex;align-items:center;gap:12px;min-height:48px;font-weight:600}.station-setup-preference input{width:22px;height:22px;flex-shrink:0}

#feature-update-notice{position:fixed;z-index:1250;right:12px;top:calc(76px + env(safe-area-inset-top));max-width:calc(100vw - 24px);padding:12px 16px;min-height:44px;border:1px solid #187b69;border-radius:8px;background:#effff6;color:#164d37;box-shadow:0 3px 12px #0002;font:600 14px/1.4 system-ui;text-decoration:underline}
#feature-update-notice.feature-question-notice{background:#fff4d6;color:#654500;border:2px solid #aa7800;font-weight:700}#feature-update-notice:focus-visible{outline:3px solid #187b69;outline-offset:3px}

#feature-update-notice{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;text-decoration:none}#feature-update-notice a{color:inherit;text-decoration:underline;min-width:0;overflow-wrap:anywhere}#feature-update-notice button{flex:0 0 44px;width:44px;min-height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font:700 26px/1 system-ui;cursor:pointer}#feature-update-notice button:hover{background:#0001}#feature-update-notice button:focus-visible{outline:3px solid #187b69;outline-offset:-3px}

#meshcore-message-notice{position:fixed;right:12px;bottom:12px;z-index:1600;max-width:min(440px,calc(100vw - 24px));background:#123043;color:#fff;border:2px solid #5eead4;border-radius:12px;padding:10px;box-shadow:0 4px 18px #0006}#meshcore-message-notice>div{display:flex;align-items:center;gap:12px}#meshcore-message-notice a{color:#fff;padding:10px;flex:1}#meshcore-message-notice button{min-height:44px;min-width:64px}
