/* Account-page presentation is independent of GWT's shared dialog styles. */
body.profile-body {background:#fff;}
#profile-page {--profile-ink:#203747; --profile-muted:#526570; --profile-border:#dce5e9; --profile-accent:var(--rrblue_darker); box-sizing:border-box; max-width:1180px; margin:0 auto; padding:0 36px 40px; color:var(--profile-ink); font:15px/1.7 "Helvetica Neue",Helvetica,Arial,sans-serif;}
#profile-page *, #profile-page *::before, #profile-page *::after {box-sizing:border-box;}
#profile-page article {margin:0; color:inherit; font-family:inherit;}
#profile-page article p {font-size:15px !important;}
#profile-page [hidden] {display:none !important;}
#profile-page [id] {scroll-margin-top:90px;}
#profile-page h1, #profile-page h2, #profile-page h3 {color:var(--profile-ink); text-shadow:none; font-family:inherit; font-weight:600 !important; letter-spacing:normal;}
#profile-page h1 {margin:12px 0 16px; font-size:clamp(36px,4.6vw,56px) !important; line-height:1.1; font-weight:700 !important; overflow-wrap:anywhere;}
#profile-page h2 {margin:0; font-size:28px !important; line-height:1.25;}
#profile-page h2::before {content:none;}
#profile-page h3 {margin:8px 0 14px; font-size:22px !important; line-height:1.35;}
#profile-page p {margin:0 0 16px; font-size:15px; line-height:1.7;}
#profile-page a {color:var(--profile-accent); text-decoration:none !important;}
#profile-page a:hover {text-decoration:underline !important;}
#profile-page a:focus-visible, #profile-page button:focus-visible, #profile-page input:focus-visible, #profile-page select:focus-visible {outline:2px solid var(--profile-accent); outline-offset:4px;}
#profile-page .profile-eyebrow {margin:0 0 10px; color:var(--profile-accent); font:600 11px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif; font-size:11px !important; letter-spacing:.14em; text-transform:uppercase;}
#profile-page .profile-hero {display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:36px; padding:64px 0 38px;}
#profile-page .profile-intro {max-width:650px; color:var(--profile-muted); font-size:17px; overflow-wrap:anywhere;}
#profile-page .profile-account {display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-width:200px; padding-left:30px; border-left:1px solid var(--profile-border);}
#profile-page .profile-account a {font-size:13px;}
#profile-page .profile-nav {display:flex; flex-wrap:wrap; gap:14px 32px; height:auto; padding:20px 0; border-top:1px solid var(--profile-border); border-bottom:1px solid var(--profile-border); background:transparent; box-shadow:none; font-size:13px; line-height:1.6;}
#profile-page .profile-nav a {color:var(--profile-muted);}
#profile-page .profile-feedback {display:flex; flex-wrap:wrap; gap:12px; color:#82482f; font-size:14px;}
#profile-page .profile-feedback:has(span:not(:empty)) {margin-top:20px;}
#profile-page .profile-flow {display:flex; justify-content:space-between; align-items:center; gap:28px; margin-top:24px; padding:24px; border:1px solid var(--rrblue); border-radius:9px; background:#f1f6f9;}
#profile-page .profile-flow h2 {font-size:26px !important;}
#profile-page .profile-flow p {max-width:680px; margin:10px 0 0; color:var(--profile-muted); font-size:14px;}
#profile-page .profile-flow-actions {display:flex; flex-direction:column; align-items:center; flex-shrink:0; gap:4px;}
#profile-page .profile-section {padding:44px 0; border-bottom:1px solid var(--profile-border);}
#profile-page .profile-section-heading {display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:20px;}
#profile-page .profile-section-intro {max-width:740px; margin-bottom:26px; color:var(--profile-muted);}
#profile-page .profile-text-link {flex-shrink:0; font-size:13px; font-weight:600;}
#profile-page .profile-grid {display:grid; gap:20px;}
#profile-page .profile-grid-two {grid-template-columns:repeat(2,minmax(0,1fr));}
#profile-page .profile-grid-three {grid-template-columns:repeat(3,minmax(0,1fr));}
#profile-page .profile-card {display:flex; flex-direction:column; min-width:0; padding:30px; border:1px solid var(--profile-border); border-radius:9px; background:#fff;}
#profile-page .profile-card > p {color:var(--profile-muted);}
#profile-page .profile-card-premium {background:#f1f6f9; border-color:var(--rrblue);}
#profile-page .profile-card-top {display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:8px 16px; margin-bottom:14px;}
#profile-page .profile-card-top .profile-eyebrow {margin:4px 0 0;}
#profile-page .profile-badge {padding:4px 10px; border:1px solid var(--profile-border); border-radius:30px; color:var(--profile-accent); font-size:11px; line-height:1.5;}
#profile-page .profile-card .profile-price {margin:2px 0 16px; color:var(--profile-ink); font-size:16px;}
#profile-page .profile-card .profile-status {padding-top:16px; border-top:1px solid var(--profile-border); font-size:13px !important;}
#profile-page .profile-card-actions {display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin-top:auto; padding-top:18px; font-size:13px;}
#profile-page .profile-button {display:inline-flex; justify-content:center; align-items:center; min-height:44px; max-width:100%; margin:0; padding:10px 18px; border:1px solid var(--rrblue); border-radius:5px; background:transparent; color:var(--profile-accent); font:600 13px/22px "Helvetica Neue",Helvetica,Arial,sans-serif; text-transform:none; text-align:center; text-decoration:none; white-space:normal; cursor:pointer;}
#profile-page .profile-button:hover {background:#f1f6f9; text-decoration:none;}
#profile-page .profile-button-primary {border-color:var(--profile-accent); background:var(--profile-accent); color:#fff;}
#profile-page a.profile-button-primary {color:#fff !important;}
#profile-page .profile-button-primary:focus {background:var(--profile-accent) !important;}
#profile-page .profile-button-primary:hover {background:var(--rrblue_darker); filter:brightness(.92);}
#profile-page button:disabled {opacity:.5; cursor:default;}
#profile-page .profile-link-button {min-height:44px; padding:6px 0; border:0; background:transparent; color:var(--profile-accent); font:600 13px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif; cursor:pointer;}
#profile-page .profile-offers {margin-top:20px;}
#profile-page .profile-sponsored-settings {margin-bottom:24px;}
#profile-page .profile-sponsored-settings .profile-key {margin-top:18px;}
#profile-page .profile-sponsored-settings .profile-card-actions {margin-top:0;margin-bottom:18px;}
#profile-page .profile-card-compact {padding:25px;}
#profile-page .profile-card-compact h3 {font-size:23px !important;}
#profile-page .profile-card-compact p:not(.profile-eyebrow) {font-size:14px !important;}
#profile-page .profile-card-compact .profile-price {font-size:14px;}
#profile-page .profile-card-compact .profile-card-actions {padding-top:8px;}
#profile-page .profile-teacher-next {margin:8px 0 20px; padding:18px; border-left:3px solid #bda6c3; border-radius:5px; background:#faf6fb; scroll-margin-top:90px;}
#profile-page .profile-teacher-next p {margin:0 0 12px;}
#profile-page .profile-small {color:var(--profile-muted); font-size:13px !important; line-height:1.6;}
#profile-page .profile-footnote {margin:20px 0 0;}
#profile-page .profile-feature-title {display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:18px;}
#profile-page .profile-feature-title h3 {margin:0; font:600 20px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif !important; letter-spacing:.04em;}
#profile-page .profile-feature-title img {flex-shrink:0; object-fit:contain; opacity:.8;}
#profile-page .profile-feature-grid {margin-bottom:24px;}
#profile-page #profile-guide-card {grid-column:1 / -1;}
#profile-page #profile-guide-controls {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;}
#profile-page .profile-feature-controls {min-width:0;margin:0;padding:0;border:0;}
#profile-page .profile-feature-audience {margin:0 0 14px;padding-top:14px;border-top:1px solid var(--profile-border);}
#profile-page h4 {margin:0 0 8px;color:var(--profile-muted);font:600 13px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;}
#profile-page .profile-share-card {margin-top:24px;}
#profile-page .profile-legacy-sync {margin-top:24px;padding-top:18px;border-top:1px solid var(--profile-border);}
#profile-page .profile-legacy-sync summary {margin-bottom:18px;color:var(--profile-accent);cursor:pointer;}
#profile-page .profile-check {display:flex; align-items:flex-start; gap:12px; min-height:44px; padding:10px 0; color:var(--profile-ink); font-size:14px; cursor:pointer;}
#profile-page input[type="checkbox"] {position:static; left:auto; visibility:visible; appearance:auto; width:18px; height:18px; margin:3px 0 0; flex-shrink:0; opacity:1; pointer-events:auto; accent-color:var(--profile-accent);}
#profile-page input[type="checkbox"]:disabled {appearance:none;opacity:1;border:2px solid #758895;border-radius:3px;background:#f1f5f8;cursor:not-allowed;}
#profile-page input[type="checkbox"]:disabled:checked {background-color:#758895;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m4 9 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-size:100% 100%;background-repeat:no-repeat;}
#profile-page .profile-check:has(input:disabled) {cursor:not-allowed;}
@media (forced-colors:active) {
    #profile-page input[type="checkbox"]:disabled {appearance:auto;}
}
#profile-page .profile-settings-footer {display:flex; justify-content:space-between; align-items:center; gap:24px; padding:20px 0 30px;}
#profile-page .profile-settings-footer p {margin:0;}
#profile-page .profile-settings-footer button {flex-shrink:0;}
#profile-page .profile-sync-card {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:48px;}
#profile-page .profile-sync-intro p {color:var(--profile-muted);}
#profile-page .profile-sync-intro a {font-size:13px;}
#profile-page .profile-sync-controls > label, #profile-page .profile-key > label {display:block; margin:0 0 7px; color:var(--profile-ink); font-size:12px; font-weight:600;}
#profile-page select {display:block; width:100%; min-height:44px; margin:0 0 18px; padding:10px 30px 10px 12px; border:1px solid var(--profile-border); border-radius:4px; background:#fff; color:var(--profile-ink); font:13px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;}
#profile-page .profile-key {margin-bottom:18px;}
#profile-page .profile-key > div {display:flex; align-items:center; gap:16px;}
#profile-page .profile-key input {box-sizing:border-box; width:100%; min-width:0; height:44px; margin:0; padding:10px 12px; border:1px solid var(--profile-border); border-radius:4px; background:#f5f8fa; box-shadow:none; color:var(--profile-ink); font:14px/1.5 monospace;}
#profile-page .profile-key button {flex-shrink:0;}
#profile-page .profile-sync-controls .profile-card-actions {padding-top:4px;}
#profile-page .profile-addon {overflow:hidden;}
#profile-page .profile-addon-image {display:block; width:calc(100% + 60px); max-width:none; height:170px; margin:-30px -30px 26px; object-fit:cover;}
#profile-page .profile-roles-card {flex-direction:row; justify-content:space-between; align-items:center; gap:30px;}
#profile-page .profile-account-details {margin:0;}
#profile-page .profile-account-details dt {margin-top:14px; color:var(--profile-muted); font-size:12px; font-weight:600;}
#profile-page .profile-account-details dd {margin:2px 0 0; overflow-wrap:anywhere;}
#profile-page .profile-password-form {margin-top:20px; padding-top:20px; border-top:1px solid var(--profile-border);}
#profile-page .profile-password-form label {display:block; margin-bottom:6px; color:var(--profile-ink); font-size:13px;}
#profile-page .profile-password-form input[type="password"] {box-sizing:border-box; width:100%; height:44px; margin:0 0 16px; padding:10px 12px; border:1px solid var(--profile-border); border-radius:5px; background:#fff; box-shadow:none; color:var(--profile-ink); font:16px/22px "Helvetica Neue",Helvetica,Arial,sans-serif;}
#profile-page .profile-password-form input[type="password"]:focus {border-color:var(--profile-accent); box-shadow:none;}
#profile-page .profile-account-message:empty {display:none;}
#profile-page .profile-card .profile-account-message {margin:16px 0 0; color:var(--profile-accent);}
#profile-page .profile-newsletter h3 {margin:0;}
#profile-page .profile-newsletter iframe {display:block; max-width:100%;}
#profile-page .profile-roles-card h2 {margin:0 0 12px;}
#profile-page .profile-role-list {display:flex; flex-wrap:wrap; gap:8px;}
#profile-page .profile-section-last {border-bottom:0; padding-bottom:32px;}
#profile-page .profile-footer {display:flex; justify-content:space-between; gap:24px; padding:16px 0; color:var(--profile-muted); font-size:13px;}
#profile-page .profile-footer > span {font-size:19px;}
#profile-page .profile-notice {margin:20px 0; padding:16px; border:1px solid var(--profile-border);}
@media (max-width:850px) {
    #profile-page #profile-guide-controls {grid-template-columns:minmax(0,1fr);}
    #profile-page .profile-hero {grid-template-columns:minmax(0,1fr); gap:20px; padding-top:40px;}
    #profile-page .profile-account {align-items:center; flex-direction:row; flex-wrap:wrap; min-width:0; padding-left:0; border-left:0;}
    #profile-page .profile-grid-three {grid-template-columns:minmax(0,1fr);}
    #profile-page .profile-sync-card {grid-template-columns:minmax(0,1fr); gap:24px;}
    #profile-page .profile-roles-card {align-items:flex-start; flex-direction:column;}
}
@media (max-width:600px) {
    #profile-page .profile-flow {align-items:flex-start; flex-direction:column; gap:16px;}
    #profile-page .profile-flow-actions {align-items:flex-start;}
    #profile-page {padding:0 20px 24px;}
    #profile-page .profile-hero {padding:32px 0;}
    #profile-page .profile-account > span {width:100%;}
    #profile-page .profile-nav {gap:12px 24px;}
    #profile-page .profile-section {padding:32px 0;}
    #profile-page .profile-section-heading {align-items:flex-start; flex-direction:column; gap:14px;}
    #profile-page .profile-grid-two {grid-template-columns:minmax(0,1fr);}
    #profile-page .profile-card {padding:24px;}
    #profile-page .profile-settings-footer {align-items:flex-start; flex-direction:column; gap:14px;}
    #profile-page .profile-addon-image {width:calc(100% + 48px); margin:-24px -24px 24px;}
}
