/* Linked identities, personal connection and Happ installations. */
.account-page [hidden],.login-methods[hidden]{display:none!important}
.account-feedback{padding:12px 16px;margin:0 0 20px;border:1px solid #356278;border-radius:10px;background:#0c2738;color:#a8dcf0;font-size:12px;line-height:1.6}
.account-feedback:empty{display:none}
#subscription-empty>p,#subscription-demo>p{max-width:390px;color:#90abbd;font-size:13px;line-height:1.8}
.account-demo-switch{margin-top:23px;color:#7ea9bf;font-size:11px}
.profile-heading{display:flex;align-items:center;gap:15px}
.profile-heading .profile-avatar{margin:0;flex:none}
.profile-heading .profile-identifier{margin-top:4px;font-size:13px}
.profile-intro{color:#8ba6b8;font-size:12px;line-height:1.75;margin-top:20px}
.identity-list{margin:16px 0 19px}
.identity-row{display:flex;align-items:center;gap:11px;padding:15px 0;border-bottom:1px solid #2a4456}
.identity-row:last-child{border-bottom:0}
.identity-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid #30566b;border-radius:9px;background:#112c3d;color:#87c2df}
.identity-icon .icon{width:18px;height:18px}
.identity-copy{flex:1;min-width:0}
.identity-name{display:block;font-size:12px;font-weight:650;color:#c9e3ef}
.identity-value{display:block;font-size:11px;line-height:1.65;color:#83a1b4;margin-top:3px;overflow-wrap:anywhere}
.identity-status{flex:none;color:#76bcbe;font-size:9px}
.identity-link{flex:none;border:1px solid #467c98;border-radius:8px;padding:7px 10px;color:#b7e6f8;background:#16384d;font-size:11px;font-weight:600;transition:background .2s,border-color .2s}
.identity-link:hover{background:#21526d;border-color:#77c6e7}
.account-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid #385c73;border-radius:10px;background:#0c2333;color:#b6d6e7;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,border-color .2s}
.account-secondary:hover:enabled{border-color:#71bddf;background:#173c51}
.account-secondary .icon{width:16px;height:16px}
.account-secondary:disabled{cursor:default;color:#6d8799;border-color:#294050;background:#0b1c28}
.account-connection,.account-devices{padding:28px;margin-top:20px;scroll-margin-top:24px}
.account-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.account-section-heading .section-eyebrow{font-size:9px;margin-bottom:8px}
.connection-chip{flex:none;padding:6px 10px;border:1px solid #325b72;border-radius:30px;background:#122e41;color:#8dbed5;font-size:10px}
.connection-empty{display:flex;align-items:center;gap:18px;padding:24px;border:1px dashed #345469;border-radius:12px;background:#06131d55}
.connection-empty>.icon{width:32px;height:32px;flex:none;color:#649ebc}
.connection-empty h3{font-size:15px;font-weight:600;margin:0 0 8px}
.connection-empty p{max-width:690px;color:#82a0b3;font-size:12px;line-height:1.8}
.connection-ready{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:35px;align-items:center}
.connection-controls{min-width:0}
.connection-controls label{display:block;font-size:12px;color:#afcddd;margin-bottom:10px}
.connection-controls textarea{display:block;width:100%;resize:none;font:inherit;font-size:13px;line-height:1.6;color:#c4eafa;padding:14px 16px;border:1px solid #365b73;border-radius:10px;background:#06141f;overflow-wrap:anywhere;outline-offset:4px}
.connection-controls textarea:focus-visible{outline:2px solid #91dfff}
.connection-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.connection-actions .account-primary{gap:9px;font-size:12px;padding:11px 15px}
.connection-actions .account-primary .icon{width:16px;height:16px}
.connection-note{font-size:11px;line-height:1.8;color:#7695aa;max-width:500px;margin-top:18px}
.connection-feedback{font-size:11px;line-height:1.7;color:#9ddfec;margin-top:10px}
.connection-feedback:empty{display:none}
.connection-qr{margin:0;text-align:center}
.qr-image{background:#fff;max-width:210px;min-height:210px;border-radius:12px;padding:10px;display:grid;place-items:center;color:#183244;font-size:12px;line-height:1.6}
.qr-image svg{display:block;width:100%;height:auto;shape-rendering:crispEdges}
.qr-background{fill:#fff}.qr-modules{fill:#081a29}
.connection-qr figcaption{margin-top:10px;color:#87a9bd;font-size:10px;line-height:1.6}
.device-count{display:inline-block;color:#9addf3;border:1px solid #355d73;border-radius:7px;padding:2px 7px;font-size:12px;font-weight:600;margin-left:9px;vertical-align:middle}
.devices-intro{font-size:12px;line-height:1.8;color:#87a6b9;margin-bottom:20px}
.account-device-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:0}
.account-device-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:19px;border:1px solid #2f4f64;border-radius:12px;background:linear-gradient(135deg,#12314566,#071826aa)}
.device-emblem{display:grid;place-items:center;width:40px;height:40px;flex:none;background:#133348;border:1px solid #3a647e;border-radius:11px;color:#8eceea}
.device-emblem .icon{width:24px;height:24px}
.device-copy{flex:1;min-width:0}
.device-copy h3{font-size:13px;line-height:1.5;font-weight:650;margin:0;overflow-wrap:anywhere}
.device-copy span{display:block;font-size:10px;color:#7799b0;line-height:1.7;margin-top:2px}
.device-unlink{width:100%;border:1px solid #456172;border-radius:8px;background:#0c2131;color:#a6c5d9;font-size:11px;font-weight:600;padding:8px 12px;margin-top:6px;transition:border-color .2s,color .2s,background .2s}
.device-unlink:hover{color:#ffc9c1;border-color:#a77976;background:#38282d}
.devices-empty{padding:25px;border:1px dashed #315166;border-radius:12px;font-size:13px;color:#789bb0;text-align:center}
.device-limit-note{font-size:12px;line-height:1.8;color:#b2cfdf;margin-top:18px}
.account-devices>.account-small-note{margin-top:16px;line-height:1.8}
.account-action-dialog{width:450px;max-width:calc(100% - 32px);max-height:calc(100svh - 32px);overflow:auto;color:var(--text);border:1px solid #43718c;border-radius:18px;background:linear-gradient(135deg,#142f43,#0b1723);box-shadow:0 20px 75px #0009;padding:32px}
.account-action-dialog::backdrop{background:#020911cf;backdrop-filter:blur(5px)}
.action-close{position:absolute;right:12px;top:12px;border-radius:8px;background:transparent;color:#9dbed0;padding:7px}
.action-close:hover{background:#daf6ff0b}
.account-action-dialog .section-eyebrow{font-size:9px;margin:0 25px 12px 0}
.account-action-dialog h2{font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.5px;margin:0 20px 20px 0}
.action-device-name{font-size:16px;font-weight:600;color:#c5e5f4;overflow-wrap:anywhere;margin-bottom:10px}
#device-remove-description{font-size:12px;color:#8eacbf;line-height:1.85}
.action-dialog-buttons{display:flex;justify-content:end;gap:10px;margin-top:25px}
.account-danger{border:1px solid #c08785;border-radius:10px;background:#583840;color:#ffe5de;padding:11px 20px;font-size:12px;font-weight:600;line-height:1.5}
.account-danger:hover{background:#72454b}
.account-action-dialog .profile-local-note{max-width:none;margin-top:18px}
.login-form .device-platform-label{margin-top:16px}
.login-form select{display:block;width:100%;font:inherit;color:#d3eaf6;font-size:13px;border:1px solid #36566c;border-radius:10px;background:#07121d;padding:12px;outline-offset:4px}
.login-form select:focus-visible{outline:2px solid #91dfff}
@media(max-width:1024px){.account-device-list{gap:10px}.account-device-row{padding:15px;gap:9px}.device-emblem{width:34px;height:34px}.device-emblem .icon{width:21px;height:21px}.connection-ready{gap:25px}}
@media(max-width:768px){.account-connection,.account-devices{padding:25px}.profile-local-note{max-width:none}.account-device-list{grid-template-columns:1fr}.account-device-row{flex-wrap:nowrap;padding:16px;gap:14px}.device-unlink{width:auto;margin:0;flex:none}.device-emblem{width:40px;height:40px}.connection-ready{grid-template-columns:minmax(0,1fr) 180px;gap:20px}.qr-image{min-height:180px;max-width:180px}.account-section-heading .account-secondary{font-size:11px;padding:10px 12px}}
@media(max-width:640px){.account-connection,.account-devices{padding:22px}.identity-row{gap:9px}.identity-link{padding:7px 9px;font-size:10px}.identity-icon{width:29px;height:29px}.identity-status{font-size:8px}.identity-name{font-size:11px}.identity-value{font-size:10px}.account-section-heading{align-items:start;flex-wrap:wrap;gap:15px}.account-section-heading .section-eyebrow{letter-spacing:1px}.connection-empty{padding:18px;align-items:start;gap:12px}.connection-empty>.icon{width:25px;height:25px}.connection-ready{grid-template-columns:1fr;gap:24px}.connection-qr{justify-self:center;width:210px}.qr-image{min-height:210px;max-width:210px}.connection-controls textarea{font-size:12px;padding:12px}.connection-actions{flex-direction:column}.connection-actions>*{width:100%;text-align:center}.connection-note{font-size:10px}.device-copy h3{font-size:12px}.device-emblem{width:34px;height:34px}.account-device-row{gap:10px;padding:14px}.device-unlink{font-size:10px;padding:8px 10px}.account-action-dialog{padding:28px 23px}.account-action-dialog h2{font-size:22px}.action-dialog-buttons>*{flex:1}.account-feedback{font-size:11px;padding:12px}.account-demo-switch{font-size:10px}}

/* Production email login: hidden controls stay hidden despite button layout. */
.login-dialog [hidden]{display:none!important}
.login-dialog p{font-size:13px;line-height:1.65;color:#a8c2d4;margin:14px 0}
.login-dialog .account-secondary,.login-dialog > .account-primary{margin:5px 4px 0 0}
.login-dialog .login-form{margin-top:18px}
.connection-raw{margin-bottom:16px;min-width:0}
.connection-raw summary{color:#9dc5dc;font-size:12px;cursor:pointer;padding:8px 0}
.connection-raw label{margin-top:12px}
.connection-short{display:grid;gap:9px;min-width:0;padding:15px;border:1px solid #31576d;border-radius:12px;background:#0b2130;margin-bottom:15px}
.connection-short span{font-size:11px;color:#8caec2}
.connection-short a{font-size:13px;color:#a0e3fa;overflow-wrap:anywhere;line-height:1.6}
.connection-short small{font-size:10px;color:#8caec2;line-height:1.6}

.account-payments{padding:30px;margin-top:22px;min-width:0;overflow:hidden}
.account-payments .account-section-heading{margin-bottom:18px}
.payment-count{font-size:11px;color:#8eaabb;white-space:nowrap}
.payment-list{display:grid;gap:10px;max-height:520px;overflow:auto;overscroll-behavior:contain}
.payment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 18px;padding:18px;border:1px solid #284456;border-radius:12px;background:#07172270;min-width:0}
.payment-info{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere}
.payment-info strong{font-size:14px;color:#deeff8;font-weight:600}
.payment-info small,.payment-empty{font-size:11px;color:#8ba7b9;line-height:1.7}
.payment-status{justify-self:end;max-width:100%;font-size:11px;line-height:1.5;padding:6px 10px;border:1px solid #385267;border-radius:20px;color:#a2b7c6;background:#172733;overflow-wrap:anywhere}
.payment-status[data-status=succeeded]{color:#95e2c1;border-color:#2a6353;background:#123b30}
.payment-status[data-status=pending],.payment-status[data-status=creating]{color:#edd49b;border-color:#66542d;background:#382f1d}
.payment-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}
.payment-actions:empty{display:none}
.payment-actions a,.payment-actions button{max-width:100%;text-align:center;white-space:normal}
.payment-referral{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:22px;margin-top:24px;border-top:1px solid #294455}
.payment-referral h3{font-size:14px;color:#d3e9f5;margin:0 0 6px}
.payment-referral p{font-size:11px;line-height:1.7;color:#8ba7b9;margin:0}
.payment-referral a{flex-shrink:0}
@media(max-width:640px){.account-payments{padding:22px}.payment-row{padding:14px;grid-template-columns:minmax(0,1fr);gap:10px}.payment-status{justify-self:start}.payment-referral{align-items:stretch;flex-direction:column}.payment-actions>*{flex:1 1 130px}}
