/*
 * Shop Manager: Freemius Account page.
 * Loaded only on this page. Every rule is scoped to .wpkin-sm-account (the
 * wrapper added by includes/Admin/Account.php), and the Freemius parts go
 * through .wpkin-sm-account #fs_account so they outrank Freemius' own
 * #fs_account rules and never reach its dialogs. Same layout as the Image
 * Hover Account page, in the green of the Shop Manager settings page.
 */

.wpkin-sm-account {
    --sm-brand: #2fb44b;
    --sm-brand-strong: #248c3a;
    --sm-brand-soft: #eaf7ed;
    --sm-brand-line: #b5e3bf;
    --sm-brand-ring: rgba(47, 180, 75, 0.28);
    --sm-ink: #101828;
    --sm-ink-2: #475467;
    --sm-ink-3: #667085;
    --sm-line: #eaecf0;
    --sm-line-2: #d0d5dd;
    --sm-surface: #ffffff;
    --sm-success: #067647;
    --sm-success-soft: #ecfdf3;
    --sm-danger: #b42318;
    --sm-danger-soft: #fef3f2;
    --sm-radius: 14px;
    --sm-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);

    max-width: 1260px;
    margin: 24px auto 48px;
    padding: 0 20px 0 0;
    color: var(--sm-ink);
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.wpkin-sm-account *,
.wpkin-sm-account *::before,
.wpkin-sm-account *::after {
    box-sizing: border-box;
}

.wpkin-sm-account .wrap.fs-section {
    margin: 0;
}

/* Hero */

.wpkin-sm-account .wpkin-sm-account-hero {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px 28px;
    margin-bottom: 24px;
    overflow: hidden;
    background:
        radial-gradient(520px 180px at 100% 0%, rgba(47, 180, 75, 0.14), transparent 70%),
        linear-gradient(135deg, #ffffff 0%, #f5fbf6 100%);
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    box-shadow: var(--sm-shadow);
}

.wpkin-sm-account .wpkin-sm-account-hero::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--sm-brand), #7dd391);
}

/* The Shop Manager bag on a white tile, in its own logo colors. */
.wpkin-sm-account .wpkin-sm-account-hero-logo {
    flex: none;
    width: 52px;
    height: 52px;
    padding: 10px;
    background: var(--sm-surface);
    border: 1px solid #e0f5ff;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(0, 179, 255, 0.22);
}

.wpkin-sm-account .wpkin-sm-account-hero-text {
    flex: 1;
    min-width: 0;
}

.wpkin-sm-account .wpkin-sm-account-title {
    margin: 0;
    padding: 0;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--sm-ink);
}

.wpkin-sm-account .wpkin-sm-account-subtitle {
    margin: 4px 0 0;
    padding: 0;
    color: var(--sm-ink-2);
    font-size: 14px;
}

.wpkin-sm-account .wpkin-sm-account-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--sm-ink);
    text-decoration: none;
    background: var(--sm-surface);
    border: 1px solid var(--sm-line-2);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

.wpkin-sm-account .wpkin-sm-account-btn:hover {
    color: var(--sm-brand-strong);
    border-color: var(--sm-brand);
}

.wpkin-sm-account .wpkin-sm-account-btn:focus {
    outline: none;
    box-shadow: 0 0 0 4px var(--sm-brand-ring);
}

.wpkin-sm-account .wpkin-sm-account-btn .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
}

/* No notices on this page (Richard, 2026-10-22). Admin\Account removes other
   plugins' and WordPress' notices on the server; these catch any that are added
   later or by script, wherever WordPress moves them. Freemius' own messages
   about what was just done here (license synced, changed, an error) stay. Gone:
   the "Is this your client's site?" banner, Freemius promotions and other
   plugins' Freemius notices. */

#wpbody-content > .notice:not(.fs-notice),
#wpbody-content > .updated:not(.fs-notice),
#wpbody-content > .error:not(.fs-notice),
#wpbody-content > .update-nag,
.wpkin-sm-account > .notice:not(.fs-notice),
.wpkin-sm-account > .updated:not(.fs-notice),
.wpkin-sm-account > .error:not(.fs-notice),
.wpkin-sm-account > .update-nag,
#wpbody-content div.fs-notice:not(.fs-slug-shop-manager),
#wpbody-content div.fs-notice.promotion,
#wpbody-content div.fs-notice[data-id="license_not_whitelabeled"],
/* Sticky ones stay until dismissed (such as "Premium plugin version was
   successfully activated"); the result of an action here is not sticky. */
#wpbody-content div.fs-notice.fs-sticky:not(.error) {
    /* The id outranks Freemius' "div.fs-notice.success { display: block !important }". */
    display: none !important;
}

/* Freemius' message after an action on this page */

.wpkin-sm-account .fs-notice.fs-slug-shop-manager {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 20px;
    padding: 12px 16px;
    font-size: 13px;
    color: var(--sm-ink-2);
    background: var(--sm-surface);
    border: 1px solid var(--sm-line);
    border-left: 4px solid #2e90fa;
    border-radius: 10px;
    box-shadow: var(--sm-shadow);
}

.wpkin-sm-account .fs-notice.fs-slug-shop-manager .fs-plugin-title {
    display: none;
}

.wpkin-sm-account .fs-notice.fs-slug-shop-manager .fs-notice-body {
    margin: 0;
    padding: 0;
}

.wpkin-sm-account .fs-notice.fs-slug-shop-manager a {
    font-weight: 600;
    color: var(--sm-brand-strong);
}

/* Layout: details on the left, billing and payments on the right */

.wpkin-sm-account #poststuff {
    padding-top: 0;
    min-width: 0;
}

.wpkin-sm-account #fs_account .has-sidebar,
.wpkin-sm-account #fs_account .has-sidebar-content {
    float: none;
    margin: 0;
    width: auto;
}

.wpkin-sm-account #fs_account .has-sidebar-content {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    /* Billing keeps its own height; the tall details card only stretches the second row. */
    grid-template-rows: auto 1fr;
    gap: 24px;
    align-items: start;
}

.wpkin-sm-account #fs_account .has-sidebar-content > .postbox:first-child {
    grid-row: span 2;
}

/* Cards */

.wpkin-sm-account #fs_account .postbox {
    position: relative;
    max-width: none;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: var(--sm-surface);
    border: 1px solid var(--sm-line);
    border-radius: var(--sm-radius);
    box-shadow: var(--sm-shadow);
}

.wpkin-sm-account #fs_account .postbox .inside {
    margin: 0;
    padding: 0;
}

.wpkin-sm-account #fs_account h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 18px 24px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--sm-ink);
    border-bottom: 1px solid var(--sm-line);
}

.wpkin-sm-account #fs_account h3 .dashicons {
    flex: none;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--sm-brand);
    background: var(--sm-brand-soft);
    border-radius: 10px;
}

.wpkin-sm-account #fs_account h3 .dashicons::before {
    width: 18px;
    height: 18px;
    font-size: 18px;
    line-height: 18px;
}

/* Header actions: Billing & Invoices, Deactivate License, Sync */

.wpkin-sm-account #fs_account .fs-header-actions {
    top: 22px;
    right: 20px;
    font-size: 12px;
}

.wpkin-sm-account #fs_account .fs-header-actions ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.wpkin-sm-account #fs_account .fs-header-actions li {
    float: none;
    margin: 0;
}

/* The bullet separators between the links. */
.wpkin-sm-account #fs_account .fs-header-actions li:nth-child(even) {
    display: none;
}

.wpkin-sm-account #fs_account .fs-header-actions li a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-weight: 600;
    color: var(--sm-ink-2);
    background: #f9fafb;
    border: 1px solid var(--sm-line);
    border-radius: 999px;
    transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.wpkin-sm-account #fs_account .fs-header-actions li a:hover {
    color: var(--sm-brand-strong);
    background: var(--sm-brand-soft);
    border-color: #b5e3bf;
}

.wpkin-sm-account #fs_account .fs-header-actions li a.fs-deactivate-license:hover {
    color: var(--sm-danger);
    background: var(--sm-danger-soft);
    border-color: #fecdca;
}

.wpkin-sm-account #fs_account .fs-header-actions i.dashicons {
    width: 14px;
    height: 14px;
    font-size: 14px;
}

/* Account details */

.wpkin-sm-account #fs_account .fs-key-value-table {
    border-collapse: collapse;
}

.wpkin-sm-account #fs_account .fs-key-value-table tr,
.wpkin-sm-account #fs_account .fs-key-value-table tr.alternate {
    background: none;
}

.wpkin-sm-account #fs_account .fs-key-value-table tr + tr {
    border-top: 1px solid var(--sm-line);
}

.wpkin-sm-account #fs_account .fs-key-value-table td {
    padding: 13px 24px;
    vertical-align: middle;
}

.wpkin-sm-account #fs_account .fs-key-value-table td:first-child {
    width: 120px;
    padding-right: 8px;
    text-align: left;
}

.wpkin-sm-account #fs_account .fs-key-value-table td:first-child nobr {
    font-size: 13px;
    font-weight: 500;
    color: var(--sm-ink-3);
}

.wpkin-sm-account #fs_account .fs-key-value-table code,
.wpkin-sm-account #fs_account .fs-key-value-table input[type="text"] {
    padding: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--sm-ink);
    background: none;
    word-break: break-word;
}

/* Long technical values read better in monospace. */
.wpkin-sm-account #fs_account .fs-field-site_public_key code,
.wpkin-sm-account #fs_account .fs-field-site_secret_key code,
.wpkin-sm-account #fs_account .fs-field-site_secret_key input[type="text"],
.wpkin-sm-account #fs_account .fs-field-license_key code,
.wpkin-sm-account #fs_account .fs-field-license_key input[type="text"] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    font-weight: 500;
    color: var(--sm-ink-2);
    white-space: nowrap;
    word-break: normal;
}

.wpkin-sm-account #fs_account .fs-field-plan code {
    display: inline-flex;
    align-items: center;
    padding: 3px 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--sm-success);
    background: var(--sm-success-soft);
    border-radius: 999px;
}

/* Freemius' own "Premium version" tag after the version number. */
.wpkin-sm-account #fs_account .fs-field-version .fs-tag {
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    text-transform: none;
    color: var(--sm-success);
    background: var(--sm-success-soft);
    border-radius: 999px;
    vertical-align: 1px;
}

/* "Join the Beta program": its own row, shown as part of the version row. */
.wpkin-sm-account #fs_account .fs-key-value-table tr.fs-field-beta_program {
    border-top: 0;
}

.wpkin-sm-account #fs_account .fs-key-value-table tr.fs-field-version td {
    padding-bottom: 6px;
}

.wpkin-sm-account #fs_account .fs-key-value-table tr.fs-field-beta_program td {
    padding-top: 0;
}

.wpkin-sm-account #fs_account .fs-field-beta_program label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--sm-ink-2);
}

.wpkin-sm-account #fs_account .fs-field-beta_program input[type="checkbox"] {
    margin: 0;
    border-color: var(--sm-line-2);
    border-radius: 4px;
}

.wpkin-sm-account #fs_account .fs-field-beta_program input[type="checkbox"]:checked {
    background: var(--sm-brand);
    border-color: var(--sm-brand);
}

.wpkin-sm-account #fs_account .fs-field-beta_program input[type="checkbox"]:checked::before {
    filter: brightness(0) invert(1);
}

.wpkin-sm-account #fs_account .fs-field-plan .button-group {
    margin-left: 10px;
    vertical-align: middle;
}

.wpkin-sm-account #fs_account .fs-key-value-table td.fs-right {
    padding-left: 8px;
    white-space: nowrap;
}

/* Buttons inside Freemius sections */

.wpkin-sm-account #fs_account .button {
    min-height: 30px;
    margin: 0 0 0 6px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 20px;
    color: var(--sm-ink);
    background: var(--sm-surface);
    border: 1px solid var(--sm-line-2);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
    transition: color 0.15s ease, border-color 0.15s ease;
}

.wpkin-sm-account #fs_account .fs-field-plan .button {
    margin-left: 0;
}

.wpkin-sm-account #fs_account .button:hover {
    color: var(--sm-brand-strong);
    border-color: var(--sm-brand);
}

.wpkin-sm-account #fs_account .button:focus {
    outline: none;
    box-shadow: 0 0 0 4px var(--sm-brand-ring);
}

/* Billing */

.wpkin-sm-account #fs_account #fs_billing_address {
    margin: 0;
    padding: 18px 20px 20px;
    border-collapse: separate;
    border-spacing: 0;
}

.wpkin-sm-account #fs_account #fs_billing_address tr td {
    padding: 4px;
}

.wpkin-sm-account #fs_account #fs_billing_address span {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--sm-ink-3);
}

.wpkin-sm-account #fs_account #fs_billing_address input,
.wpkin-sm-account #fs_account #fs_billing_address select {
    box-sizing: border-box;
    height: 40px;
    min-height: 40px;
    margin-top: 4px;
    padding: 0 12px;
    line-height: 38px;
    font-size: 14px;
    color: var(--sm-ink);
    background-color: var(--sm-surface);
    border: 1px solid var(--sm-line-2);
    border-radius: 8px;
    box-shadow: none;
}

.wpkin-sm-account #fs_account #fs_billing_address input:focus,
.wpkin-sm-account #fs_account #fs_billing_address select:focus {
    border-color: var(--sm-brand);
    outline: none;
    box-shadow: 0 0 0 4px var(--sm-brand-ring);
}

/* Read mode: label above, value in a quiet tile, empty tiles stay blank. */
.wpkin-sm-account #fs_account #fs_billing_address.fs-read-mode input,
.wpkin-sm-account #fs_account #fs_billing_address.fs-read-mode select {
    font-weight: 500;
    color: var(--sm-ink);
    background: #f9fafb;
    border: 1px solid var(--sm-line);
    border-radius: 8px;
    pointer-events: none;
}

.wpkin-sm-account #fs_account #fs_billing_address.fs-read-mode input::placeholder {
    color: transparent;
}

.wpkin-sm-account #fs_account #fs_billing_address.fs-read-mode select {
    -webkit-appearance: none;
    appearance: none;
    background-image: none;
}

.wpkin-sm-account #fs_account #fs_billing_address button {
    display: inline-flex;
    width: auto;
    margin: 12px 0 0;
    padding: 6px 18px;
    font-size: 13px;
}

/* Payments */

.wpkin-sm-account #fs_account #fs_payments .widefat {
    max-width: none;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    box-shadow: none;
}

.wpkin-sm-account #fs_account #fs_payments .widefat thead th {
    padding: 10px 24px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sm-ink-3);
    background: #f9fafb;
    border-bottom: 1px solid var(--sm-line);
}

.wpkin-sm-account #fs_account #fs_payments .widefat tbody tr,
.wpkin-sm-account #fs_account #fs_payments .widefat tbody tr.alternate {
    background: none;
}

.wpkin-sm-account #fs_account #fs_payments .widefat tbody tr + tr {
    border-top: 1px solid var(--sm-line);
}

.wpkin-sm-account #fs_account #fs_payments .widefat tbody tr:hover {
    background: #fcfcfd;
}

.wpkin-sm-account #fs_account #fs_payments .widefat td {
    padding: 12px 24px;
    font-size: 13px;
    color: var(--sm-ink-2);
    vertical-align: middle;
}

.wpkin-sm-account #fs_account #fs_payments .widefat td:nth-child(3) {
    font-weight: 600;
    color: var(--sm-ink);
    font-variant-numeric: tabular-nums;
}

.wpkin-sm-account #fs_account #fs_payments .widefat td .button {
    margin: 0;
}

/* Responsive */

@media (max-width: 1100px) {
    .wpkin-sm-account #fs_account .has-sidebar-content {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
    }

    .wpkin-sm-account #fs_account .has-sidebar-content > .postbox:first-child {
        grid-row: auto;
    }
}

@media (max-width: 782px) {
    .wpkin-sm-account {
        margin: 16px auto 32px;
        padding: 0 12px 0 0;
    }

    .wpkin-sm-account .wpkin-sm-account-hero {
        flex-wrap: wrap;
        padding: 20px;
    }

    .wpkin-sm-account .wpkin-sm-account-hero-text {
        flex: 1 1 calc(100% - 70px);
    }

    .wpkin-sm-account .wpkin-sm-account-btn {
        order: 3;
    }

    .wpkin-sm-account #fs_account .fs-header-actions {
        position: static;
        margin: 0;
        padding: 12px 16px 0;
    }

    .wpkin-sm-account #fs_account h3,
    .wpkin-sm-account #fs_account .fs-key-value-table td,
    .wpkin-sm-account #fs_account #fs_payments .widefat td,
    .wpkin-sm-account #fs_account #fs_payments .widefat thead th {
        padding-left: 16px;
        padding-right: 16px;
    }

    .wpkin-sm-account #fs_account .fs-key-value-table td:first-child {
        width: auto;
        padding-bottom: 0;
    }

    .wpkin-sm-account #fs_account .fs-key-value-table td.fs-right {
        padding-top: 0;
        text-align: left;
        white-space: normal;
    }

    .wpkin-sm-account #fs_account .fs-key-value-table td.fs-right:empty {
        display: none;
    }

    /* Freemius' phone rules use two IDs; match them to keep the row indent and the plan badge. */
    .wpkin-sm-account #fs_account #fs_account_details tr td:nth-child(2) {
        padding: 2px 16px 12px;
    }

    .wpkin-sm-account #fs_account #fs_account_details tr.fs-field-plan td:nth-child(2) code {
        padding: 3px 12px;
    }

    .wpkin-sm-account #fs_account #fs_account_details tr.fs-field-plan td:nth-child(2) .button-group {
        margin: 0 0 0 10px;
    }

    .wpkin-sm-account #fs_account #fs_payments {
        overflow-x: auto;
    }
}
