/* Presentation only. Profile, sign-in and map requests remain in the portal plugin. */
body.als-designed-portal {
  --als-design-gutter:clamp(18px,3.2vw,52px);
  --als-design-ink:var(--als-color-heading); --als-design-muted:var(--als-color-muted);
  background:var(--als-color-page); color:var(--als-color-heading); color-scheme:dark;
}
body.als-designed-portal :is(main,#content,.site-main,.page-content,.entry-content,.wp-block-post-content,.wp-block-group,.e-con,.e-con-inner,.elementor-widget-container):has(.als-op) { background:transparent!important; }
body.als-designed-portal .als-op { --ink:var(--als-color-heading); --muted:var(--als-color-muted); --line:var(--als-color-border); max-width:1240px!important; margin:32px auto 48px; font-size:16px; color:var(--als-color-heading); }
body.als-designed-portal .als-op :is(a,button,input,textarea):focus-visible { outline:3px solid var(--als-color-focus); outline-offset:3px; }
body.als-designed-portal .als-op :is(h1,h2,h3) { color:var(--als-color-heading); }
body.als-designed-portal .als-op .als-op-eyebrow { color:var(--als-color-link); font-size:12px; letter-spacing:.13em; }
body.als-designed-portal .als-op-hero { background:transparent; padding:10px 0 26px; border:0; }
body.als-designed-portal .als-op-hero h1 { font-size:clamp(32px,3.3vw,46px); }
body.als-designed-portal .als-op-hero p:not(.als-op-eyebrow) { color:var(--als-color-muted); font-size:16px; }
body.als-designed-portal .als-op-login { border-color:var(--als-color-border); border-radius:20px; background:var(--als-color-panel); box-shadow:none; }
body.als-designed-portal .als-op-welcome { background:linear-gradient(145deg,var(--als-color-raised),var(--als-color-hero)); padding:36px; gap:16px; }
body.als-designed-portal .als-op-welcome h2 { font-size:32px; }
body.als-designed-portal .als-op-welcome > p:not(.als-op-eyebrow),
body.als-designed-portal .als-op-tip { color:var(--als-color-text); font-size:15px; }
body.als-designed-portal .als-op-monogram { width:150px; margin-bottom:12px; }
body.als-designed-portal .als-op-login-form { padding:36px; gap:20px; }
body.als-designed-portal .als-op-login-form h2 { font-size:32px; }
body.als-designed-portal .als-op-login-form > p:not(.als-op-eyebrow) { color:var(--als-color-muted); font-size:15px; }
body.als-designed-portal .als-op-status { background:var(--als-color-notice); color:var(--als-color-notice-text); border:1px solid var(--als-color-notice-border); padding:12px 16px; font-size:14px; margin:0 0 20px; }
body.als-designed-portal .als-op-status.als-op-warning { background:var(--als-color-warning); color:var(--als-color-warning-text); border-color:var(--als-color-warning-border); }
body.als-designed-portal .als-op-account-bar { background:linear-gradient(115deg,var(--als-color-raised),var(--als-color-hero)); border:1px solid var(--als-color-border); border-radius:18px; padding:26px 28px; gap:24px; margin-bottom:20px; }
body.als-designed-portal .als-op-account-bar > div:first-child { min-width:0; }
body.als-designed-portal .als-op-account-bar h2 { font-size:clamp(26px,2.8vw,34px); overflow-wrap:anywhere; }
body.als-designed-portal .als-op-account-bar p:not(.als-op-eyebrow) { color:var(--als-color-muted); font-size:14px; overflow-wrap:anywhere; }
body.als-designed-portal .als-op-actions { flex-shrink:0; }
body.als-designed-portal .als-op-sections { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; }
body.als-designed-portal .als-op-sections a,
body.als-designed-portal .als-op-sections a:visited { display:inline-flex; min-height:44px; align-items:center; padding:9px 17px; color:var(--als-color-text); background:var(--als-color-panel); border:1px solid var(--als-color-border); border-radius:999px; font-size:14px; font-weight:600; text-decoration:none; }
body.als-designed-portal .als-op-sections a:hover { background:var(--als-color-hover); color:var(--als-color-heading); border-color:var(--als-color-focus); }
body.als-designed-portal .als-op-card { padding:28px; border:1px solid var(--als-color-border); border-radius:18px; margin-bottom:22px; background:var(--als-color-panel); box-shadow:none; scroll-margin-top:24px; }
body.als-designed-portal .als-op-section-title { margin-bottom:24px; gap:14px; padding-bottom:20px; border-bottom:1px solid var(--als-color-border); }
body.als-designed-portal .als-op-section-title > span { width:40px; height:40px; background:var(--als-color-raised); color:var(--als-color-text); border:1px solid var(--als-color-control); font-size:12px; }
body.als-designed-portal .als-op-section-title h3 { font-size:23px; }
body.als-designed-portal .als-op-section-title p { color:var(--als-color-muted); font-size:14px; line-height:1.6; }
body.als-designed-portal .als-op-grid { gap:20px 26px; }
body.als-designed-portal :is(.als-op-field > span,.als-op-readonly > span) { color:var(--als-color-heading); font-size:14px; }
body.als-designed-portal .als-op .als-op-field :is(input,textarea) { background:var(--als-color-inset); color:var(--als-color-heading); border:1px solid var(--als-color-control); border-radius:9px; min-height:48px; font-size:16px; line-height:1.5; padding:11px 14px; }
body.als-designed-portal .als-op .als-op-field input::placeholder { color:var(--als-color-muted); opacity:1; font-size:15px; font-style:normal; }
body.als-designed-portal .als-op .als-op-field :is(input,textarea):focus { background:var(--als-color-raised); color:var(--als-color-heading); border-color:var(--als-color-link); box-shadow:none; }
body.als-designed-portal .als-op .als-op-field input:user-invalid { border-color:var(--als-color-warning-border); }
body.als-designed-portal .als-op .als-op-field input:autofill { -webkit-text-fill-color:var(--als-color-heading); box-shadow:0 0 0 1000px var(--als-color-inset) inset; caret-color:var(--als-color-heading); }
body.als-designed-portal .als-op :is(.als-op-help,.als-op-check) { color:var(--als-color-muted); font-size:14px; }
body.als-designed-portal .als-op-check { min-height:44px; }
body.als-designed-portal .als-op-check input { width:18px; height:18px; }
body.als-designed-portal .als-op .als-op-primary { background:var(--als-color-primary); border-color:var(--als-color-primary); color:var(--als-color-heading); font-size:14px; min-height:46px; padding:11px 20px; border-radius:999px; }
body.als-designed-portal .als-op .als-op-primary:hover { background:var(--als-color-primary-hover); color:var(--als-color-heading); border-color:var(--als-color-focus); }
body.als-designed-portal .als-op .als-op-secondary,
body.als-designed-portal .als-op .als-op-secondary:visited { background:var(--als-color-raised); color:var(--als-color-heading); border:1px solid var(--als-color-control); font-size:14px; min-height:46px; padding:11px 16px; border-radius:999px; }
body.als-designed-portal .als-op .als-op-secondary:hover { background:var(--als-color-hover); color:var(--als-color-heading); border-color:var(--als-color-control-hover); }
body.als-designed-portal .als-op a:not(.als-op-secondary):not(.als-op-primary):not(.als-map-button),
body.als-designed-portal .als-op a:not(.als-op-secondary):not(.als-op-primary):not(.als-map-button):visited { color:var(--als-color-link); }
body.als-designed-portal .als-op-address-preview { background:var(--als-color-inset); border-color:var(--als-color-border); padding:20px; }
body.als-designed-portal .als-op-address-preview > [data-full-address] { color:var(--als-color-heading); font-size:16px; }
body.als-designed-portal .als-op-readonly p { color:var(--als-color-muted); font-size:15px; }
body.als-designed-portal .als-op .als-map-card { background:var(--als-color-inset); border-color:var(--als-color-border); margin:22px 0 0; padding:22px; border-radius:14px; }
body.als-designed-portal .als-op-save-bar { background:var(--als-color-raised); border:1px solid var(--als-color-control); color:var(--als-color-text); padding:14px 18px; border-radius:14px; bottom:12px; box-shadow:0 8px 30px #0005; }
body.als-designed-portal .als-op-save-bar p { color:var(--als-color-text); font-size:14px; }
@media(max-width:800px) {
  body.als-designed-portal .als-op-account-bar { align-items:flex-start; padding:24px; }
  body.als-designed-portal .als-op-login { grid-template-columns:1fr; }
  body.als-designed-portal .als-op-welcome,
  body.als-designed-portal .als-op-login-form { padding:28px; }
}
@media(max-width:600px) {
  body.als-designed-portal .als-op { margin-top:22px; }
  body.als-designed-portal .als-op-account-bar { padding:22px 18px; }
  body.als-designed-portal .als-op-card { padding:22px 18px; }
  body.als-designed-portal .als-op-grid { grid-template-columns:1fr; gap:18px; }
  body.als-designed-portal .als-op-section-title h3 { font-size:21px; }
  body.als-designed-portal .als-op-section-title p { font-size:14px; }
  body.als-designed-portal .als-op-sections { gap:7px; }
  body.als-designed-portal .als-op-sections a { font-size:13px; padding-inline:12px; }
  body.als-designed-portal .als-op-actions { flex-wrap:wrap; }
  body.als-designed-portal .als-op .als-op-actions > * { font-size:13px; padding-inline:12px; }
  body.als-designed-portal .als-op .als-map-card { padding:17px; }
  body.als-designed-portal .als-op-save-bar { bottom:8px; padding:12px 14px; }
  body.als-designed-portal .als-op-welcome h2 { font-size:28px; }
}
