/* Focused account forms; the original black opening and company logo stay intact. */
.account-dialog-connected { width:min(480px,calc(100vw - 28px)); max-height:calc(100vh - 28px); max-height:calc(100svh - 28px); padding:68px 24px 24px; }
.account-dialog-connected [hidden] { display:none !important; }
.account-dialog-connected h2 { font-size:28px; line-height:1.15; margin-bottom:12px; }
.account-dialog-connected #accountDialogMessage { font-size:14px; line-height:1.6; margin-bottom:22px; overflow-wrap:anywhere; }
.account-dialog-connected form { display:grid; gap:16px; min-width:0; }
.account-field { display:grid; gap:7px; min-width:0; font-size:14px; font-weight:550; color:#e9e9e6; }
.account-field input,.account-field select { display:block; width:100%; min-width:0; min-height:50px; max-width:100%; padding:12px 14px; border:1px solid #626262; border-radius:10px; background:#242424; color:#fff; font:400 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-sizing:border-box; }
.account-field input[readonly] { color:#c2c2bd; background:#1c1c1c; }
.account-field input::placeholder { color:#b5b5b0; opacity:1; }
.account-field select { appearance:auto; color-scheme:dark; color:#fff; }
.account-field-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.account-dialog-connected :is(input,select,button,a):focus-visible { outline:3px solid #ff944a; outline-offset:3px; }
.account-password-toggle { display:flex; align-items:center; gap:10px; min-height:44px; margin-top:-8px; color:#d3d3ce; font-size:13px; font-weight:400; cursor:pointer; }
.account-password-toggle input { width:18px; height:18px; margin:0; accent-color:#fc6f13; }
.account-submit { display:flex; align-items:center; justify-content:center; width:100%; min-height:52px; padding:14px 16px; border:0; border-radius:11px; background:#fc6f13; color:#17100a; font:650 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:center; cursor:pointer; }
.account-submit:disabled { opacity:.65; cursor:wait; }
/* Apple and marketing remain optional, and setup-pending controls stay inert. */
.account-submit[data-account-ui-action="apple"] { background:#fff; color:#111; border:1px solid #fff; }
.account-submit.account-google { background:transparent; padding:0; border-radius:4px; }
.account-google img { display:block; width:100%; max-width:300px; height:auto; object-fit:contain; }
.account-submit[data-setup-pending] { background:#272727; color:#d4d4cf; border:1px solid #626262; opacity:1; cursor:not-allowed; }
.account-marketing { display:grid; gap:12px; min-width:0; margin:0; padding:16px; border:1px solid #626262; border-radius:10px; }
.account-marketing legend { padding:0 6px; color:#e9e9e6; font-size:14px; font-weight:550; }
.account-marketing label { display:flex; align-items:center; gap:10px; min-height:44px; color:#c4c4bd; font-size:14px; line-height:1.5; }
.account-marketing input { width:18px; height:18px; margin:0; flex-shrink:0; }
.account-dialog-connected .account-marketing .account-help { margin:0; }
.account-other-actions { display:grid; gap:2px; margin-top:14px; }
.account-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; width:100%; border:0; padding:10px 8px; background:transparent; color:#d1d1cb; font:400 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:center; cursor:pointer; }
.account-link[data-account-ui-action="delete"] { color:#ffb4a3; }
.account-delete-submit { background:#b5331b; color:#fff; }
.account-dialog-connected .account-help { margin:-6px 0 0; color:#c4c4bd; font-size:12px; line-height:1.6; }
.account-dialog-connected .account-policy { margin:0; text-align:center; font-size:12px; line-height:1.6; color:#bcbcb5; }
.account-policy a { display:inline-flex; align-items:center; min-height:44px; color:#ededeb; text-decoration:underline; text-underline-offset:3px; }
.account-dialog-connected .account-error { margin:0; padding:13px 14px; border:1px solid #c78165; border-radius:10px; background:#351d14; color:#ffdccb; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.account-dialog-connected .account-progress { margin:0; color:#c7c7c0; font-size:13px; line-height:1.5; text-align:center; }
.account-progress:empty { display:none; }
.account-role-choice { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; min-width:0; margin:0; padding:0; border:0; }
.account-role-choice legend { padding:0 0 10px; font-size:14px; color:#e9e9e6; font-weight:550; }
.account-role-choice label { display:flex; align-items:center; gap:9px; min-height:54px; padding:12px; border:1px solid #666; border-radius:10px; color:#eee; font-size:14px; cursor:pointer; }
.account-role-choice input { width:18px; height:18px; flex-shrink:0; margin:0; accent-color:#fc6f13; }
.account-role-choice label:has(input:checked) { border-color:#fc6f13; background:#2b2017; }
.account-dialog-connected .account-identity { margin:0; padding:0 0 16px; border-bottom:1px solid #3f3f3a; font-size:14px; color:#eee; line-height:1.7; overflow-wrap:anywhere; }
.account-identity span { color:#bcbcb5; }
.heater-cloud-status { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:14px 16px; margin-bottom:16px; border:1px solid #d6d7d0; border-radius:12px; background:#f8f8f4; color:#494e41; font-size:14px; line-height:1.5; }
.heater-cloud-status p { flex:1; min-width:150px; margin:0; }
.heater-cloud-status button { min-height:44px; padding:10px 14px; border:1px solid #b7bbae; border-radius:9px; background:#fff; color:#3a402f; font-size:14px; font-weight:600; }
#contractorHomeownerDialog .contractor-company { margin-top:28px; min-width:0; overflow-wrap:anywhere; }
#contractorHomeownerDialog .contractor-company h4 { margin:24px 0 12px; }
#contractorHomeownerDialog .contractor-record { display:grid; gap:12px; margin:12px 0; padding:16px; border:1px solid #65655d; border-radius:12px; }
#contractorHomeownerDialog .contractor-record :is(h5,h6,p) { margin:0; }
#contractorHomeownerDialog .contractor-record :is(h5,h6) { font-size:16px; line-height:1.4; }
#contractorHomeownerDialog .contractor-message { white-space:pre-wrap; overflow-wrap:anywhere; }
#contractorHomeownerDialog .contractor-action-form { margin:16px 0; }
#contractorHomeownerDialog .contractor-action-form fieldset { display:grid; gap:14px; min-width:0; margin:0; padding:0; border:0; }
#contractorHomeownerDialog .contractor-action-form legend { padding:0 0 12px; font-size:15px; line-height:1.5; }
#contractorHomeownerDialog textarea { width:100%; min-width:0; box-sizing:border-box; resize:vertical; padding:12px 14px; border:1px solid #626262; border-radius:10px; background:#242424; color:#fff; font:400 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
#contractorHomeownerDialog textarea:focus-visible { outline:3px solid #ff944a; outline-offset:3px; }
@media(max-width:359px) {
  .account-dialog-connected { padding:64px 18px 20px; }
  .account-dialog-connected h2 { font-size:25px; }
  .account-field-pair { gap:10px; }
  .account-role-choice label { padding:12px 9px; gap:7px; }
}
@media(prefers-reduced-motion:reduce) { .account-dialog-connected * { transition:none !important; animation:none !important; } }
