/* Gridinsoft Member theme. Load once, after page layout styles.
   Cards: 12px / one border / no shadow. Controls: 8px. See docs/MEMBER_THEME.md. */
@font-face { font-family: MemberAvenir; src: url('/fonts/protection/avenir-book.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: MemberAvenir; src: url('/fonts/protection/avenir-medium.woff2') format('woff2'); font-weight: 500 600; font-display: swap; }
@font-face { font-family: MemberAvenir; src: url('/fonts/protection/avenir-heavy.woff2') format('woff2'); font-weight: 700 900; font-display: swap; }
:root {
    --theme-font: MemberAvenir, Arial, sans-serif;
    --theme-ink: #162747;
    --theme-text: #34465f;
    --theme-muted: #65768d;
    --theme-blue: #2465de;
    --theme-blue-hover: #174fb9;
    --theme-soft: #eef3fa;
    --theme-canvas: #f5f7fa;
    --theme-surface: #fff;
    --theme-line: #e1e7ed;
    --theme-line-strong: #c5d1df;
    --theme-radius-card: 12px;
    --theme-radius-control: 8px;
    --theme-radius-small: 6px;
    --theme-radius-pill: 999px;
    --theme-card-shadow: none;
    --theme-overlay-shadow: 0 16px 48px #16274726;
    --theme-focus: #087da7;
    --theme-focus-ring: #2465de26;
    --theme-success: #247767;
    --theme-success-bg: #eaf6f0;
    --theme-warning: #80602e;
    --theme-warning-bg: #fff8e9;
    --theme-danger: #b42318;
    --theme-danger-bg: #fff0ef;
    /* Existing components consume aliases; page files do not own a palette. */
    --gs-ink: var(--theme-ink); --gs-text: var(--theme-text); --gs-muted: var(--theme-muted);
    --gs-blue-600: var(--theme-blue); --gs-blue-700: var(--theme-blue); --gs-blue-100: var(--theme-soft); --gs-blue-050: var(--theme-soft);
    --gs-line: var(--theme-line); --gs-line-strong: var(--theme-line-strong); --gs-surface: var(--theme-surface); --gs-canvas: var(--theme-canvas); --gs-shadow: var(--theme-card-shadow);
    --gs-focus: var(--theme-focus-ring); --gs-success: var(--theme-success); --gs-success-bg: var(--theme-success-bg); --gs-danger: var(--theme-danger); --gs-danger-bg: var(--theme-danger-bg); --gs-warning: var(--theme-warning); --gs-warning-bg: var(--theme-warning-bg);
    --auth-ink: var(--theme-ink); --auth-text: var(--theme-text); --auth-muted: var(--theme-muted);
    --auth-blue-600: var(--theme-blue); --auth-blue-700: var(--theme-blue); --auth-blue-100: var(--theme-soft); --auth-blue-050: var(--theme-soft);
    --auth-action: var(--theme-blue); --auth-action-hover: var(--theme-blue-hover); --auth-action-focus: var(--theme-focus-ring);
    --auth-line: var(--theme-line); --auth-line-strong: var(--theme-line-strong); --auth-canvas: var(--theme-canvas); --auth-focus: var(--theme-focus-ring);
    --auth-success: var(--theme-success); --auth-success-bg: var(--theme-success-bg); --auth-danger: var(--theme-danger); --auth-danger-bg: var(--theme-danger-bg);
    --wp-ink: var(--theme-ink); --wp-muted: var(--theme-muted); --wp-line: var(--theme-line); --wp-blue: var(--theme-blue);
    --dns-ink: var(--theme-ink); --dns-muted: var(--theme-muted); --dns-blue: var(--theme-blue);
    --ink: var(--theme-ink); --muted: var(--theme-muted); --blue: var(--theme-blue); --paper: var(--theme-canvas); --line: var(--theme-line);
}
body.member-theme { margin: 0; font-family: var(--theme-font); color: var(--theme-text); background: var(--theme-canvas); font-size: 14px; line-height: 1.6; }
.member-theme h1, .member-theme h2, .member-theme h3, .member-theme h4 { font-family: var(--theme-font); color: var(--theme-ink); font-weight: 700; letter-spacing: -.035em; }
.member-theme button, .member-theme input, .member-theme select, .member-theme textarea { font-family: var(--theme-font); }
.member-theme :focus-visible { outline: 3px solid var(--theme-focus); outline-offset: 3px; }
.member-theme a { color: var(--theme-blue); }
.member-theme a:hover { color: var(--theme-blue-hover); }

/* Shared account shell, extracted from the approved protection design. */
.member-theme .member-topbar{background:var(--theme-surface);border-bottom:1px solid var(--wp-line);height:auto;min-height:80px}
.member-theme .member-topbar__inner{min-height:80px;max-width:1600px;padding:0 34px}
.member-theme .member-brand__section{color:#7c899b;border-color:var(--wp-line)}
.member-theme .member-brand__logo{filter:none}
.member-theme .member-logout{color:#627691}
.member-theme .member-shell{max-width:1600px;grid-template-columns:223px minmax(0,1fr);gap:0;padding:0;margin:auto;align-items:stretch}
.member-theme .member-sidebar{background:#fbfcfd;border:0;border-right:1px solid var(--wp-line);border-radius:0;padding:29px 19px;box-shadow:none;position:static;width:auto}
.member-theme .member-main{padding:34px 42px 28px;min-width:0}
.member-theme .member-profile{border-color:var(--wp-line);padding:0 8px 22px}
.member-theme .member-profile__avatar{width:36px;height:36px;flex:0 0 36px}
.member-theme .member-profile__identity strong{font-size:12px}
.member-theme .member-profile__identity span{font-size:10px}
.member-theme .member-nav__link{border:0;border-radius:var(--theme-radius-control);font-size:12px;padding:13px 12px;color:#6c7b90;gap:12px;min-height:0}
.member-theme .member-nav__link.is-active{color:#2456a9;background:#e8effb}
.member-theme .member-nav__label{margin:0 0 9px 12px;font-size:9px;letter-spacing:.1em}
.member-theme .member-nav__label--group{margin-top:25px}
.member-theme .member-sidebar__support{font-size:11px}
.member-theme .page-heading h1{font-size:31px;font-weight:700;line-height:1.2;letter-spacing:-.035em}
.member-theme .page-heading{border:0;margin:0 0 25px;padding:0;display:flex;align-items:center;justify-content:space-between;gap:18px}
.member-theme .page-heading__eyebrow{font-size:9px;letter-spacing:.13em;color:#7e8ca1;margin:0 0 8px}
.member-theme .page-heading__description{font-size:13px;margin-top:12px}
.member-theme .page-heading__description:empty{display:none}
.member-theme .member-button{font-family:inherit;border-radius:var(--theme-radius-control);font-size:12px;line-height:1.4;min-height:42px;padding:11px 18px;font-weight:700;box-shadow:none;text-transform:none;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto}
.member-theme .member-button--primary{background:var(--wp-blue);border:1px solid var(--wp-blue);color:white}
.member-theme .member-button--secondary{border:1px solid #d4dfec;background:var(--theme-surface);color:#355278}
.member-theme .member-button:hover{filter:brightness(.97)}
.member-theme .member-alert{border:1px solid #dbe4ef;background:var(--theme-soft);border-radius:var(--theme-radius-control);color:#4e6380;padding:17px 20px;font-size:13px;margin-bottom:22px}
.member-theme .member-alert--warning{border-color:#ecd7ae;background:var(--theme-warning-bg);color:#80602e}
.member-theme .support-strip{border:0;border-top:1px solid var(--wp-line);border-radius:0;background:transparent;box-shadow:none;margin-top:30px;padding:22px 0}
.member-theme .support-strip h2{font-size:14px}
.member-theme .support-strip p,.member-theme .support-link{font-size:11px}
.member-theme .support-strip__icon{background:none}
.member-theme .support-link strong{font-size:12px}
@media(max-width:1190px){.member-theme .member-shell{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:1190px){.member-theme .member-main{padding:29px 27px}}
@media(max-width:1190px){.member-theme .member-sidebar{padding:25px 11px}}
@media(max-width:950px){.member-theme .member-shell{display:block}}
@media(max-width:950px){.member-theme .member-sidebar{border:0;border-bottom:1px solid var(--wp-line);padding:12px 25px}}
@media(max-width:950px){.member-theme .member-profile,.member-theme .member-nav__label,.member-theme .member-sidebar__support{display:none}}
@media(max-width:950px){.member-theme .member-nav{display:flex;gap:6px;overflow:auto;margin:0}}
@media(max-width:950px){.member-theme .member-nav__link{white-space:nowrap;flex-shrink:0;padding:10px;font-size:11px}}
@media(max-width:950px){.member-theme .member-main{max-width:950px;margin:auto}}
@media(max-width:950px){.member-theme .member-topbar__inner{min-height:70px;padding:0 25px}}
@media(max-width:650px){.member-theme .member-topbar__inner{min-height:66px;padding:0 20px}}
@media(max-width:650px){.member-theme .member-brand__logo{width:125px}}
@media(max-width:650px){.member-theme .member-brand__section{font-size:9px;padding-left:13px;margin-left:13px}}
@media(max-width:650px){.member-theme .member-logout span{display:none}}
@media(max-width:650px){.member-theme .member-sidebar{padding:8px 14px}}
@media(max-width:650px){.member-theme .member-nav__link{font-size:10px;padding:8px}}
@media(max-width:650px){.member-theme .member-nav__link i{display:none}}
@media(max-width:650px){.member-theme .member-main{padding:25px 19px}}
@media(max-width:650px){.member-theme .page-heading{gap:10px;align-items:center;margin-bottom:22px}}
@media(max-width:650px){.member-theme .page-heading h1{font-size:25px}}
@media(max-width:650px){.member-theme .page-heading__eyebrow{font-size:7px}}
@media(max-width:650px){.member-theme .page-heading__description{font-size:11px;margin-top:10px}}
@media(max-width:650px){.member-theme .page-heading>.member-button{font-size:10px;min-height:39px;padding:9px 11px;flex-shrink:0;max-width:130px}}
@media(max-width:650px){.member-theme .support-strip{display:block}}
@media(max-width:650px){.member-theme .support-strip__links{margin-top:15px}}
@media(max-width:360px){.member-theme .member-main{padding:23px 14px}}
@media(max-width:360px){.member-theme .page-heading h1{font-size:23px}}
@media(max-width:360px){.member-theme .page-heading>.member-button{font-size:9px;max-width:115px}}
@media(max-width:360px){.member-theme .member-brand__section{display:none}}
.member-theme #logout,.member-theme #logout span{color:#627691}
.member-theme .member-footer{background:transparent;border-top:1px solid var(--wp-line);color:#7b8ba0}
.member-theme .member-footer p,.member-theme .member-footer a{color:#65768d;font-size:10px}
/* Shared surfaces. Product layouts determine spacing, never surface geometry. */
.member-theme :is(.member-section-placeholder, .dashboard-section, .overview-card, .profile-avatar-panel, .profile-details, .license-card, .auth-card, .signup-card, .flow-card, .wp-card, .dns-panel, .dns-device-card, .wp-current-plan, .wp-annual, .member-device) {
    border: 1px solid var(--theme-line);
    border-radius: var(--theme-radius-card);
    background: var(--theme-surface);
    box-shadow: var(--theme-card-shadow);
}
.member-theme :is(.dashboard-section, .profile-avatar-panel, .profile-details, .license-card, .auth-card) { overflow: hidden; }
.member-theme :is(.auth-card__header, .section-heading, .profile-form-actions) { background: var(--theme-surface); border-color: var(--theme-line); }
.member-theme :is(.license-key, .license-facts, .product-value, .phone-handoff, .download-option, .dns-add-device, .dns-device-next, .dns-state-note, .wp-device-summary, .wp-trial, .notice-box, .connection-note) { border-radius: var(--theme-radius-control); box-shadow: none; }
.member-theme :is(.member-alert, .auth-message, .signup-error, .signup-notice, .signup-trial, .flow-alert) { border-radius: var(--theme-radius-control); box-shadow: none; }
.member-theme :is(.license-status, .section-heading__count, .wp-tag, .dns-device-badge) { border-radius: var(--theme-radius-small); }
.member-theme :is(.member-button, .auth-submit, .signup-submit, .copy-key-btn, .button, .google-button, .auth-nav-toggle) {
    border-radius: var(--theme-radius-control);
    box-shadow: none;
    font-family: var(--theme-font);
    font-weight: 700;
}
.member-theme :is(.member-button, .auth-submit) { min-height: 42px; }
.member-theme :is(.member-button--primary, .auth-submit, .signup-submit, .button.primary) { background: var(--theme-blue); border-color: var(--theme-blue); color: #fff; }
.member-theme :is(.member-button--primary, .auth-submit, .signup-submit, .button.primary):hover { background: var(--theme-blue-hover); border-color: var(--theme-blue-hover); color: #fff; filter: none; transform: none; }
.member-theme :is(.member-button--secondary, .button.secondary, .copy-key-btn) { background: var(--theme-surface); border-color: var(--theme-line-strong); color: var(--theme-text); }
.member-theme :is(.member-button--secondary, .button.secondary, .copy-key-btn):hover { background: var(--theme-soft); border-color: var(--theme-blue); }
.member-theme :is(.member-field input, .auth-field__control input, .signup-field input, .form-field input, .flow-card input:where(:not([type=checkbox]):not([type=radio])), .dns-device-form input, .dns-device-form select, .dns-filters select, .wp-pair select, textarea) {
    border: 1px solid var(--theme-line-strong);
    border-radius: var(--theme-radius-control);
    background: var(--theme-surface);
    box-shadow: none;
    color: var(--theme-ink);
}
.member-theme :is(.member-field input, .auth-field__control input, .signup-field input, select, textarea):focus { border-color: var(--theme-blue); outline: 3px solid var(--theme-focus-ring); outline-offset: 1px; box-shadow: none; }
.member-theme :is(input, button):disabled { cursor: not-allowed; }
.member-theme :is(.member-field input, .auth-field__control input, .signup-field input, input):disabled { background: var(--theme-soft); color: var(--theme-muted); }
.member-theme :is(input[type=checkbox], input[type=radio]) { accent-color: var(--theme-blue); }
.member-theme :is(.modal-content, .protection-sheet, .flow-message-dialog) { border-radius: var(--theme-radius-card); box-shadow: var(--theme-overlay-shadow); }
.member-theme .member-navigation-status { border-radius: var(--theme-radius-control); box-shadow: var(--theme-overlay-shadow); }
.member-theme .member-profile__identity strong, .member-theme .license-facts dd { font-family: var(--theme-font); }
.member-theme .member-sidebar__support { border-radius: var(--theme-radius-control); background: var(--theme-soft); }
.member-theme .member-token-panel { margin: 24px 0; padding: 24px; border: 1px solid var(--theme-blue); border-radius: var(--theme-radius-card); background: var(--theme-soft); }
.member-theme .member-topbar, .member-theme .auth-topbar { background: var(--theme-surface); border-bottom: 1px solid var(--theme-line); }
.member-theme .auth-topbar { min-height: 80px; }
.member-theme .auth-brand__section { color: var(--theme-muted); border-color: var(--theme-line); }
.member-theme .auth-navigation a, .member-theme .member-logout { color: var(--theme-muted) !important; }
.member-theme .auth-navigation a:hover, .member-theme .member-logout:hover { color: var(--theme-blue) !important; }
.member-theme .auth-visual { font-family: var(--theme-font); }
.member-theme .auth-visual h1 { font-weight: 700; }
.member-theme .auth-visual h1 span { color: var(--theme-blue); }
.member-theme .member-footer { background: var(--theme-canvas); border-top: 1px solid var(--theme-line); color: var(--theme-muted); }
.member-theme .member-footer p, .member-theme .member-footer a { color: var(--theme-muted); font-size: 11px; }
.member-theme .scanner-panel { max-width: 600px; margin: 24px auto; padding: 0; }
.member-theme .auth-brand img[src*="web-protection-logo"] { width: 43px; height: 43px; flex-basis: 43px; object-fit: contain; }
.member-theme .signup-card--landing { border: 0; border-radius: 0; background: transparent; }
.member-theme.member-auth--signup .auth-main { background: var(--theme-canvas); }
.member-theme .protection-topbar { background: var(--theme-surface); border-bottom: 1px solid var(--theme-line); }
.member-theme .protection-topbar > a:last-child { color: var(--theme-text); }
.member-theme .wp-intelligence { border-radius: var(--theme-radius-card); }
.member-theme .wp-plan-option { border-radius: var(--theme-radius-control); }
.member-theme .wp-app-choices > a { border-radius: var(--theme-radius-control); border-color: var(--theme-line); }
@media (max-width: 820px) {
    .member-theme .member-profile__avatar { flex: 0 0 36px; width: 36px; height: 36px; }
}
@media (max-width: 767px) {
    .member-theme .auth-topbar { min-height: 66px; height: 66px; }
    .member-theme .auth-navigation { top: 66px; background: var(--theme-surface); border-color: var(--theme-line); }
    .member-theme .auth-navigation li + li { border-color: var(--theme-line); }
    .member-theme .auth-nav-toggle { border-color: var(--theme-line-strong); }
    .member-theme .auth-nav-toggle .icon-bar { background: var(--theme-text); }
    .member-theme .auth-brand img { flex-basis: 116px; }
    .member-theme .protection-sheet { border-radius: var(--theme-radius-card) var(--theme-radius-card) 0 0; }
}

.member-theme .member-section-skeleton span { background: var(--theme-soft); border-radius: var(--theme-radius-small); }
.member-theme .support-strip__icon { border-radius: var(--theme-radius-control); }
.member-theme .legal-page { max-width: 760px; margin: auto; padding: 40px 24px; font-size: 16px; line-height: 1.7; }
.member-theme .legal-page h1 { font-size: 32px; line-height: 1.2; }
.member-theme .legal-page h2 { font-size: 21px; margin-top: 32px; }
.member-theme .legal-page .intro { color: var(--theme-muted); }
.member-theme .legal-page footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--theme-line); }

.member-theme .dns-experience { --dns-ink: var(--theme-ink); --dns-muted: var(--theme-muted); --dns-blue: var(--theme-blue); }
