/* Account pages only. No fonts, icons or other runtime CDN dependencies. */
.cycrevo-account-login,
.cycrevo-account-admin {
    --ca-ink: #173a2d;
    --ca-muted: #667a70;
    --ca-green: #157753;
    --ca-green-hover: #0f6042;
    --ca-line: #dbe7df;
    --ca-soft: #eef7f1;
    --ca-white: #fff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "PingFang TC", "Microsoft YaHei", system-ui, sans-serif;
    color: var(--ca-ink);
}
body.cycrevo-account-login {
    min-height: 100vh;
    min-height: 100svh;
    box-sizing: border-box;
    padding: clamp(28px, 5vh, 52px) 22px 28px;
    background: radial-gradient(ellipse at 50% 0%, #e8f3eb 0%, transparent 65%), #f5f8f5;
    font-size: 15px;
}
.cycrevo-account-heading {
    width: min(100%, 420px);
    margin: 0 auto 20px;
    text-align: center;
}
.cycrevo-account-wordmark {
    display: inline-flex;
    text-decoration: none;
    font-size: 21px;
    letter-spacing: -.6px;
    font-weight: 750;
    color: var(--ca-ink);
}
.cycrevo-account-heading .cycrevo-account-wordmark {
    display: inline-block;
    font-size: 36px;
    line-height: 1.35;
    letter-spacing: -.8px;
}
.cycrevo-account-heading h1 {
    margin: 13px 0 0;
    color: var(--ca-ink);
    font-size: 21px;
    letter-spacing: -.35px;
    font-weight: 600;
    line-height: 1.45;
}
.cycrevo-account-language {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 3px;
    padding: 4px;
    background: rgba(255, 255, 255, .85);
    border: 1px solid var(--ca-line);
    border-radius: 11px;
}
.cycrevo-account-language a {
    display: inline-flex;
    min-width: 33px;
    min-height: 30px;
    box-sizing: border-box;
    padding: 5px 8px;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: var(--ca-muted);
    text-decoration: none;
    line-height: 1.2;
    font-size: 12px;
    font-weight: 650;
}
.cycrevo-account-language a[aria-current="true"] {
    color: #fff;
    background: var(--ca-green);
}
.cycrevo-account-language a:hover { color: var(--ca-green-hover); background: var(--ca-soft); }
.cycrevo-account-language a[aria-current="true"]:hover { color: #fff; background: var(--ca-green-hover); }
.cycrevo-account-login-footer {
    display: flex;
    justify-content: center;
    width: min(100%, 420px);
    margin: 23px auto 0;
}
.cycrevo-account-login-footer .cycrevo-account-language {
    display: inline-flex;
    gap: 2px;
    padding: 3px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .75);
}
.cycrevo-account-login-footer .cycrevo-account-language a {
    min-height: 32px;
    padding: 7px 12px;
    font-weight: 500;
}
.cycrevo-account-login #login {
    width: min(100%, 420px);
    padding: 0;
    margin: 0 auto;
}
.cycrevo-account-login #login > h1,
.cycrevo-account-login #login .wp-login-logo { display: none; }
.cycrevo-account-login #login form {
    overflow: visible;
    margin: 0;
    padding: 26px;
    border: 1px solid var(--ca-line);
    border-radius: 15px;
    background: var(--ca-white);
    box-shadow: 0 8px 24px rgba(27, 71, 45, .045);
}
.cycrevo-account-login #loginform { display: flex; flex-direction: column; }
.cycrevo-account-login #login label {
    color: #355045;
    display: block;
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}
.cycrevo-account-login #login input[type="text"],
.cycrevo-account-login #login input[type="email"],
.cycrevo-account-login #login input[type="password"] {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    margin: 0 0 18px;
    border: 1px solid #c8d8cd;
    border-radius: 9px;
    box-shadow: none;
    background: #fcfdfc;
    color: var(--ca-ink);
    font-size: 16px;
    line-height: 1.5;
}
.cycrevo-account-login #login .wp-pwd input { padding-right: 48px; }
.cycrevo-account-login #login input:focus,
.cycrevo-account-profile #your-profile input:focus,
.cycrevo-account-profile #your-profile select:focus {
    border-color: var(--ca-green);
    outline: 2px solid rgba(21, 119, 83, .16);
    outline-offset: 1px;
    box-shadow: none;
}
.cycrevo-account-login #login .button.wp-hide-pw {
    top: 3px;
    right: 4px;
    min-height: 40px;
    height: 40px;
    width: 43px;
    color: var(--ca-green);
    border: 0;
    border-radius: 7px;
}
.cycrevo-account-login #login .button.wp-hide-pw .dashicons { top: 0; }
.cycrevo-account-login #loginform .forgetmenot { order: 2; margin: -1px 0 16px; }
.cycrevo-account-login #loginform .forgetmenot label { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--ca-muted); font-size: 13px; font-weight: 400; }
.cycrevo-account-login #login input[type="checkbox"] { width: 17px; height: 17px; margin: 0; border-color: #bdcfc3; border-radius: 4px; box-shadow: none; }
.cycrevo-account-login #login input[type="checkbox"]:checked::before { filter: hue-rotate(285deg); }
.cycrevo-account-login #loginform .submit { order: 3; }
.cycrevo-account-login #login .button-primary {
    float: none;
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 10px 16px;
    margin: 0;
    border: 1px solid var(--ca-green);
    border-radius: 9px;
    background: var(--ca-green);
    box-shadow: none;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    text-shadow: none;
}
.cycrevo-account-login #login .button-primary:hover { background: var(--ca-green-hover); border-color: var(--ca-green-hover); }
.cycrevo-account-login #login .cycrevo-wechat-login-wrap { order: 4; margin: 19px 0 0; padding-top: 18px; border-top: 1px solid #e8efe9; }
.cycrevo-account-login #login .cycrevo-wechat-login-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #b8d8c6;
    border-radius: 9px;
    box-sizing: border-box;
    background: #eff8f2;
    color: var(--ca-green-hover);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    white-space: normal;
    text-align: center;
    text-decoration: none;
}
.cycrevo-account-login #login .cycrevo-wechat-login-button:hover { background: #e2f2e8; border-color: #92bfa6; }
.cycrevo-account-login #login .cycrevo-wechat-login-button.is-disabled { opacity: .65; cursor: not-allowed; }
.cycrevo-account-login #login .cycrevo-wechat-login-note { margin: 9px 0 0; text-align: center; font-size: 12px; line-height: 1.65; color: var(--ca-muted); }
.cycrevo-account-login #login #reg_passmail { margin: -2px 0 20px; line-height: 1.6; font-size: 13px; color: var(--ca-muted); }
.cycrevo-account-login #login .notice,
.cycrevo-account-login #login .message,
.cycrevo-account-login #login #login_error {
    padding: 14px 17px;
    margin: 0 0 18px;
    border: 1px solid #d4e8db;
    border-left: 3px solid var(--ca-green);
    border-radius: 10px;
    box-shadow: none;
    background: #fff;
    font-size: 13px;
    line-height: 1.7;
}
.cycrevo-account-login #login #login_error { border-color: #f0d6ce; border-left-color: #b7543b; }
.cycrevo-account-login #login #nav,
.cycrevo-account-login #login #backtoblog { margin: 18px 0 0; padding: 0 4px; text-align: center; font-size: 13px; line-height: 1.7; }
.cycrevo-account-login #login #backtoblog { margin-top: 10px; }
.cycrevo-account-login #login #nav a,
.cycrevo-account-login #login #backtoblog a { color: var(--ca-green-hover); text-decoration: none; }
.cycrevo-account-login #login #nav a:hover,
.cycrevo-account-login #login #backtoblog a:hover { text-decoration: underline; }
.cycrevo-account-login .privacy-policy-page-link { margin-top: 22px; }
.cycrevo-account-login #pass-strength-result { border-radius: 6px; font-size: 13px; }
.cycrevo-account-login .pw-weak { margin-bottom: 18px; }
.cycrevo-account-login .description { color: var(--ca-muted); font-size: 13px; line-height: 1.7; }
.cycrevo-account-login .reset-pass .button-secondary { min-height: 39px; margin-bottom: 16px; border: 1px solid var(--ca-line); border-radius: 7px; color: var(--ca-green); }
.cycrevo-account-login a:focus-visible,
.cycrevo-account-admin a:focus-visible,
.cycrevo-account-admin button:focus-visible { outline: 2px solid var(--ca-green); outline-offset: 3px; box-shadow: none; }

/* Member area: native WordPress profile controls and validation are retained. */
body.cycrevo-account-admin { background: #f4f8f5; }
/* This stylesheet is enqueued in wp-admin only for ordinary members. */
html.wp-toolbar { padding-top: 0; }
.cycrevo-account-admin #wpadminbar { display: none; }
.cycrevo-account-admin #wpbody { padding-top: 0; }
.cycrevo-account-admin #adminmenuback,
.cycrevo-account-admin #adminmenuwrap,
.cycrevo-account-admin #adminmenu { background: #18392e; }
.cycrevo-account-admin #adminmenu li.menu-top:hover,
.cycrevo-account-admin #adminmenu li.opensub > a.menu-top,
.cycrevo-account-admin #adminmenu li > a.menu-top:focus { background: #214c3c; color: #fff; }
.cycrevo-account-admin #adminmenu a { color: #d6e6dc; }
.cycrevo-account-admin #adminmenu div.wp-menu-image::before { color: #a8cbb7; }
.cycrevo-account-admin #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,
.cycrevo-account-admin #adminmenu .current a.menu-top,
.cycrevo-account-admin #adminmenu li.current a.menu-top { background: #28764f; color: #fff; }
.cycrevo-account-admin #adminmenu .current .wp-menu-image::before { color: #fff; }
.cycrevo-account-admin #collapse-button { color: #b2c9ba; }
.cycrevo-account-mobile { display: none; }
.cycrevo-account-profile #wpbody-content > .wrap { width: auto; max-width: 920px; margin: 0 auto 36px; padding: 0 28px; }
.cycrevo-account-profile-heading { display: flex; max-width: 920px; box-sizing: content-box; margin: 30px auto 24px; padding: 0 28px; align-items: center; justify-content: space-between; gap: 24px; }
.cycrevo-account-profile-heading h1 { display: block; margin: 0 0 8px; padding: 0; color: var(--ca-ink); font-size: 27px; font-weight: 700; line-height: 1.35; }
.cycrevo-account-profile-heading p { margin: 0; color: var(--ca-muted); font-size: 14px; line-height: 1.6; }
.cycrevo-account-profile-heading .cycrevo-account-eyebrow { margin-bottom: 7px; color: #769083; font-size: 11px; line-height: 1.4; letter-spacing: 1px; }
.cycrevo-account-profile .wrap > h1 { display: none; }
.cycrevo-account-profile #screen-meta-links,
.cycrevo-account-profile #screen-meta,
.cycrevo-account-profile #wpfooter { display: none; }
.cycrevo-account-profile #wpbody-content { padding-bottom: 32px; }
.cycrevo-account-profile .notice { margin: 0 0 20px; border-radius: 9px; box-shadow: none; }
.cycrevo-account-card { margin: 0 0 20px; padding: 25px 28px; border: 1px solid var(--ca-line); border-radius: 15px; background: #fff; box-shadow: 0 4px 16px rgba(22, 64, 39, .025); }
.cycrevo-account-profile #your-profile .cycrevo-account-card h2 { display: block; margin: 0 0 6px; padding: 0; color: var(--ca-ink); font-size: 17px; font-weight: 650; line-height: 1.5; }
.cycrevo-account-card > p,
.cycrevo-account-muted { margin: 0 0 18px; color: var(--ca-muted); font-size: 13px; line-height: 1.7; }
.cycrevo-account-profile #your-profile .cycrevo-account-card .form-table { width: 100%; margin: 13px 0 0; border-collapse: collapse; background: none; }
.cycrevo-account-profile #your-profile .cycrevo-account-card .form-table th { width: 135px; padding: 16px 14px 16px 0; color: #355045; font-size: 14px; font-weight: 600; line-height: 1.7; vertical-align: top; }
.cycrevo-account-profile #your-profile .cycrevo-account-card .form-table td { padding: 12px 0; font-size: 14px; line-height: 1.7; vertical-align: top; }
.cycrevo-account-profile #your-profile .cycrevo-account-card .form-table tr:last-child th,
.cycrevo-account-profile #your-profile .cycrevo-account-card .form-table tr:last-child td { padding-bottom: 0; }
.cycrevo-account-profile #your-profile input.regular-text,
.cycrevo-account-profile #your-profile input[type="email"],
.cycrevo-account-profile #your-profile input[type="password"],
.cycrevo-account-profile #your-profile input[type="text"],
.cycrevo-account-profile #your-profile select {
    max-width: 100%;
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #c9d9ce;
    border-radius: 8px;
    box-shadow: none;
    background: #fcfdfc;
    color: var(--ca-ink);
    font-size: 15px;
    line-height: 1.5;
}
.cycrevo-account-profile #your-profile p.description { margin-top: 9px; font-size: 12px; line-height: 1.75; color: var(--ca-muted); }
.cycrevo-account-profile #your-profile .button,
.cycrevo-account-profile #your-profile .button-secondary { min-height: 40px; padding: 8px 14px; border: 1px solid #bdd7c7; border-radius: 8px; box-shadow: none; background: #f7fbf8; color: #236c49; font-size: 13px; font-weight: 500; line-height: 1.7; white-space: normal; }
.cycrevo-account-profile #your-profile .button:hover { background: #ebf5ee; border-color: #94baa3; }
.cycrevo-account-profile #your-profile .button-primary { min-height: 45px; padding: 10px 28px; border-color: var(--ca-green); background: var(--ca-green); color: #fff; font-weight: 600; }
.cycrevo-account-profile #your-profile .button-primary:hover { background: var(--ca-green-hover); }
.cycrevo-account-profile #your-profile .submit { margin: 0; padding: 3px 0 0; }
.cycrevo-account-profile #your-profile .password-input-wrapper { width: min(100%, 360px); }
.cycrevo-account-profile #your-profile .wp-pwd { margin: 10px 0 0; }
.cycrevo-account-profile #your-profile .wp-pwd .button { min-height: 39px; margin-top: 8px; }
.cycrevo-account-profile #your-profile #pass-strength-result { margin: 6px 0 0; width: min(100%, 360px); min-height: 32px; box-sizing: border-box; border-radius: 6px; line-height: 1.6; }
.cycrevo-account-profile #your-profile .pw-weak { margin-top: 8px; }
.cycrevo-account-profile #your-profile .cycrevo-account-unbind { border-color: #ead8d2; background: #fff; color: #a14734; }
.cycrevo-account-profile #your-profile .cycrevo-account-unbind:hover { background: #fdf4f0; border-color: #d6b8ac; }
.cycrevo-account-wechat-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 17px 0 12px; }
.cycrevo-account-status { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 11px; box-sizing: border-box; border-radius: 7px; background: #f2f4f2; color: #6d7b73; font-size: 12px; font-weight: 600; }
.cycrevo-account-status.is-linked { background: #eaf5ed; color: #286b47; }
.cycrevo-account-status::before { content: ""; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: currentColor; }
.cycrevo-account-wechat-name { color: #536d5e; font-size: 14px; overflow-wrap: anywhere; }
.cycrevo-account-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cycrevo-account-actions + .cycrevo-account-muted { margin-top: 15px; margin-bottom: 0; }
.cycrevo-account-profile.cycrevo-account-enhanced #your-profile > .form-table,
.cycrevo-account-profile.cycrevo-account-enhanced #your-profile > h2,
.cycrevo-account-profile.cycrevo-account-enhanced #your-profile > h3,
.cycrevo-account-profile.cycrevo-account-enhanced #your-profile > p,
.cycrevo-account-profile.cycrevo-account-enhanced #your-profile > #application-passwords-section { display: none; }
.cycrevo-account-profile.cycrevo-account-enhanced #your-profile > .submit { display: block; }
.cycrevo-account-profile #your-profile .cycrevo-account-technical { display: none; }
.cycrevo-account-profile #wpfooter { color: #8a9b91; }

@media (max-width: 782px) {
    .cycrevo-account-admin #wpcontent { padding-left: 0; }
    .cycrevo-account-mobile { display: flex; position: relative; z-index: 1000; margin: 0 0 24px; padding: 13px max(18px, env(safe-area-inset-right)) 13px max(18px, env(safe-area-inset-left)); justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--ca-line); background: #fff; }
    .cycrevo-account-mobile .cycrevo-account-wordmark { font-size: 21px; }
    .cycrevo-account-mobile-menu > summary { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--ca-line); border-radius: 8px; color: var(--ca-ink); font-size: 13px; font-weight: 600; cursor: pointer; list-style: none; }
    .cycrevo-account-mobile-menu > summary::-webkit-details-marker { display: none; }
    .cycrevo-account-mobile-menu > summary > span { width: 14px; height: 9px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
    .cycrevo-account-mobile-menu[open] > summary { background: var(--ca-soft); }
    .cycrevo-account-mobile-menu > nav { position: absolute; top: calc(100% - 1px); left: 0; right: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 15px 18px; border-bottom: 1px solid var(--ca-line); background: #fff; box-shadow: 0 10px 16px rgba(30, 64, 42, .08); }
    .cycrevo-account-mobile-menu > nav > a { padding: 13px 12px; border: 1px solid #e1ebe4; border-radius: 9px; color: #24543b; font-size: 13px; line-height: 1.5; text-decoration: none; }
    .cycrevo-account-mobile-menu > nav > a:hover { background: var(--ca-soft); }
    .cycrevo-account-profile-heading { align-items: flex-start; gap: 12px; margin: 0 0 22px; padding: 0 19px; }
    .cycrevo-account-profile-heading h1 { font-size: 25px; }
    .cycrevo-account-profile-heading > div { min-width: 0; }
    .cycrevo-account-profile-heading > .cycrevo-account-language { margin-top: 3px; }
    .cycrevo-account-profile-heading p { font-size: 12px; }
    .cycrevo-account-profile #wpbody-content > .wrap { padding: 0 18px; margin: 0 0 30px; }
    .cycrevo-account-card { padding: 21px 19px; margin-bottom: 16px; border-radius: 13px; }
    .cycrevo-account-profile #your-profile .cycrevo-account-card .form-table { margin-top: 18px; }
    .cycrevo-account-profile #your-profile .cycrevo-account-card .form-table th { display: block; width: auto; padding: 0 0 8px; margin: 0; }
    .cycrevo-account-profile #your-profile .cycrevo-account-card .form-table td { display: block; padding: 0 0 21px; margin: 0; }
    .cycrevo-account-profile #your-profile .cycrevo-account-card .form-table tr:last-child td { padding-bottom: 0; }
    .cycrevo-account-profile #your-profile .cycrevo-account-card .form-table tr:last-child th { padding-bottom: 8px; }
    .cycrevo-account-profile #your-profile input.regular-text,
    .cycrevo-account-profile #your-profile input[type="email"],
    .cycrevo-account-profile #your-profile input[type="password"],
    .cycrevo-account-profile #your-profile input[type="text"],
    .cycrevo-account-profile #your-profile select { font-size: 16px; min-height: 46px; }
    .cycrevo-account-profile #your-profile .button-primary { width: 100%; min-height: 47px; }
    .cycrevo-account-profile #your-profile .password-input-wrapper,
    .cycrevo-account-profile #your-profile #pass-strength-result { width: 100%; }
    .cycrevo-account-profile #wpfooter { position: relative; margin-left: 0; padding: 0 18px 20px; }
}
@media (max-width: 430px) {
    body.cycrevo-account-login { padding: 25px 18px 25px; }
    .cycrevo-account-heading { margin-bottom: 18px; }
    .cycrevo-account-heading .cycrevo-account-wordmark { font-size: 32px; }
    .cycrevo-account-heading h1 { margin-top: 11px; font-size: 20px; }
    .cycrevo-account-login #login form { padding: 23px 21px; border-radius: 14px; }
    .cycrevo-account-profile-heading { flex-wrap: wrap; }
    .cycrevo-account-profile-heading .cycrevo-account-language { margin-top: 2px; }
}
@media (prefers-reduced-motion: reduce) {
    .cycrevo-account-login *, .cycrevo-account-admin * { scroll-behavior: auto; transition: none; }
}
