:root{--client-border:#dbe6f0;--client-muted:#61738a;--client-navy:#102f55;--client-blue:#176ec2;--client-blue-soft:#eaf4ff;--client-green:#4f8f19;--client-green-soft:#edf7df;--client-danger:#b33d49;--client-danger-soft:#fff0f1;--client-surface:#fff;--client-shadow:0 18px 52px rgba(25,57,91,.09)}
*{box-sizing:border-box}.client-portal-body{margin:0;background:linear-gradient(180deg,#f5f8fc,#eef4f9);color:#18314e}.client-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--client-border)}.client-header .site-shell{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.client-header .brand{width:220px}.client-header nav{display:flex;align-items:center;gap:18px;font-weight:750}.client-header form{margin:0}.client-header button{border:0;background:var(--client-navy);color:#fff;border-radius:10px;padding:10px 15px;cursor:pointer}.client-main{padding-block:42px 80px}.client-footer{padding:28px 0;background:var(--client-navy);color:#cbd8e7;font-size:.85rem}.client-eyebrow{margin:0;color:var(--client-blue);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.client-account-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:34px 38px;border:1px solid var(--client-border);border-radius:24px;background:radial-gradient(circle at 90% 10%,rgba(23,110,194,.13),transparent 38%),#fff;box-shadow:var(--client-shadow)}.client-account-hero h1{margin:.4rem 0 .55rem;font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.045em}.client-account-hero p:not(.client-eyebrow){max-width:720px;margin:0;color:var(--client-muted)}.client-buy-button,.client-save-button,.client-download-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 18px;border:0;border-radius:999px;background:var(--client-blue);color:#fff;font-weight:850;text-decoration:none;cursor:pointer}.client-account-tabs{position:sticky;z-index:12;top:0;display:flex;gap:7px;margin:22px 0 0;padding:9px;overflow-x:auto;border:1px solid var(--client-border);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 10px 32px rgba(25,57,91,.08);backdrop-filter:blur(14px);scrollbar-width:thin}.client-account-tab{min-height:42px;flex:0 0 auto;padding:0 14px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--client-muted);font-weight:800;cursor:pointer;white-space:nowrap}.client-account-tab:hover{background:#f2f6fa;color:var(--client-navy)}.client-account-tab[aria-selected=true]{background:var(--client-blue);color:#fff;box-shadow:0 7px 20px rgba(23,110,194,.22)}.client-account-tab.is-download{color:var(--client-green)}.client-account-tab.is-download[aria-selected=true]{background:var(--client-green);color:#fff}.client-account-panels{margin-top:14px}.client-account-panel{padding:28px;border:1px solid var(--client-border);border-radius:22px;background:var(--client-surface);box-shadow:var(--client-shadow)}.client-account-panel[hidden]{display:none!important}.client-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.client-summary-grid article{display:grid;gap:6px;min-height:142px;padding:21px;border:1px solid var(--client-border);border-radius:17px;background:linear-gradient(145deg,#fff,#f5f9fd)}.client-summary-grid p{margin:0;color:var(--client-muted);font-size:.8rem}.client-summary-grid strong{color:var(--client-navy);font-size:2.15rem}.client-summary-grid span{color:var(--client-muted);font-size:.72rem;line-height:1.5}.client-account-overview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:16px}.client-account-card{padding:23px;border:1px solid var(--client-border);border-radius:18px;background:#fff}.client-card-heading,.client-section-heading,.client-license-card>header,.client-subscription-list article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.client-card-heading h2,.client-card-heading h3,.client-section-heading h2{margin:.35rem 0 0}.client-card-heading>span{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:var(--client-blue-soft);color:var(--client-blue);font-weight:900}.client-compact-list{display:grid;gap:0;margin:18px 0 0;padding:0;list-style:none}.client-compact-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--client-border)}.client-compact-list li>span{display:grid;gap:2px}.client-compact-list li>span:last-child{text-align:right}.client-compact-list small,.client-profile-summary dt{color:var(--client-muted);font-size:.72rem}.client-profile-summary{display:grid;margin:18px 0}.client-profile-summary>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid var(--client-border)}.client-profile-summary dd{margin:0;overflow-wrap:anywhere}.client-text-button{padding:0;border:0;background:transparent;color:var(--client-blue);font-weight:850;cursor:pointer}.client-section-heading{align-items:end;margin-bottom:22px}.client-section-heading h2{font-size:1.65rem}.client-section-heading p:not(.client-eyebrow){max-width:780px;margin:.45rem 0 0;color:var(--client-muted)}.client-section-heading>a{color:var(--client-blue);font-weight:850;text-decoration:none}.client-license-list,.client-subscription-list{display:grid;gap:14px}.client-license-card,.client-subscription-list>article{padding:22px;border:1px solid var(--client-border);border-radius:18px;background:linear-gradient(145deg,#fff,#f9fbfd)}.client-license-card header p,.client-subscription-list header p{margin:0;color:var(--client-muted);font-size:.78rem}.client-license-card header h3,.client-subscription-list header h3{margin:.3rem 0 0}.client-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#eef2f6;color:#5a6c80;font-size:.7rem;font-weight:850}.client-status.is-active,.client-status.is-approved,.client-status.is-completed,.client-status.is-fulfilled,.client-status.is-paid,.client-status.is-trial{background:#e5f7ed;color:#17603e}.client-status.is-pending,.client-status.is-approval_pending,.client-status.is-created{background:#fff4d8;color:#9b6800}.client-status.is-past_due,.client-status.is-failed,.client-status.is-cancelled,.client-status.is-canceled,.client-status.is-expired{background:var(--client-danger-soft);color:var(--client-danger)}.client-license-meta{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:10px;margin:18px 0}.client-license-meta>div,.client-subscription-list dl>div{display:grid;gap:4px;padding:12px;border-radius:12px;background:#f1f6fa}.client-license-meta small,.client-subscription-list dt{color:var(--client-muted);font-size:.67rem}.client-license-meta code{overflow-wrap:anywhere;color:var(--client-blue);font-weight:800}.client-license-domains{padding-top:15px;border-top:1px solid var(--client-border)}.client-license-domains h4{margin:0 0 10px}.client-license-domains ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.client-license-domains li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--client-border);border-radius:12px;background:#fff}.client-license-domains li>span{display:grid;gap:2px}.client-license-domains small{color:var(--client-muted)}.client-license-domains form,.client-subscription-list form,.client-download-grid form{margin:0}.client-ghost-button{min-height:36px;padding:0 12px;border:1px solid var(--client-border);border-radius:999px;background:#fff;color:var(--client-navy);font-weight:800;cursor:pointer}.client-ghost-button.is-danger{border-color:#efc7cb;color:var(--client-danger)}.client-empty{margin:0;color:var(--client-muted)}.client-empty-large{display:grid;min-height:220px;place-content:center;justify-items:center;gap:6px;padding:26px;border:1px dashed #b8cadd;border-radius:17px;background:#f7fafd;text-align:center}.client-empty-large strong{color:var(--client-navy);font-size:1.05rem}.client-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.client-download-grid>article{position:relative;display:grid;align-content:start;gap:10px;min-height:430px;padding:24px;border:1px solid var(--client-border);border-radius:19px;background:linear-gradient(150deg,#fff,#f6fbf0)}.client-download-icon{display:grid;width:50px;height:50px;place-items:center;border-radius:15px;background:var(--client-green-soft);color:var(--client-green);font-weight:950}.client-download-grid h3{margin:0;font-size:1.25rem}.client-download-version{width:max-content;padding:5px 9px;border-radius:999px;background:var(--client-green-soft);color:var(--client-green);font-size:.72rem;font-weight:900}.client-download-grid dl{display:grid;margin:4px 0}.client-download-grid dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--client-border)}.client-download-grid dt{color:var(--client-muted)}.client-download-grid dd{margin:0;font-weight:800}.client-download-grid>article>p:not(.client-eyebrow){color:var(--client-muted);font-size:.8rem;line-height:1.55}.client-download-grid form{margin-top:auto}.client-download-button{width:100%;background:var(--client-green)}.client-instruction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client-instruction-grid>article{padding:22px;border:1px solid var(--client-border);border-radius:18px;background:#fff}.client-instruction-grid ol{display:grid;gap:12px;margin:20px 0 0;padding:0;counter-reset:steps;list-style:none}.client-instruction-grid li{position:relative;min-height:34px;padding:8px 0 8px 45px;color:var(--client-muted);line-height:1.5}.client-instruction-grid li:before{position:absolute;left:0;top:2px;display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:var(--client-blue-soft);color:var(--client-blue);font-weight:900;counter-increment:steps;content:counter(steps)}.client-profile-form{display:grid;gap:20px}.client-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client-field-grid label{display:grid;gap:7px}.client-field-grid label.is-wide{grid-column:1/-1}.client-field-grid label>span{font-size:.78rem;font-weight:850}.client-field-grid input,.client-field-grid textarea{width:100%;padding:12px 13px;border:1px solid var(--client-border);border-radius:11px;background:#fff;color:var(--client-navy);font:inherit}.client-field-grid input:focus,.client-field-grid textarea:focus{outline:3px solid var(--client-blue-soft);border-color:var(--client-blue)}.client-profile-form fieldset{margin:0;padding:20px;border:1px solid var(--client-border);border-radius:16px;background:#f7fafd}.client-profile-form legend{padding:0 8px;font-weight:900}.client-profile-form fieldset>p{margin:0 0 16px;color:var(--client-muted);font-size:.78rem}.client-profile-form>.client-save-button{width:max-content}.client-security-note{display:grid;gap:4px;margin-bottom:16px;padding:15px 17px;border:1px solid #cde6b7;border-radius:14px;background:var(--client-green-soft)}.client-security-note span{color:var(--client-muted);font-size:.78rem}.client-subscription-list dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.client-subscription-list dd{margin:0;font-weight:800}.client-table-wrap{overflow:auto;border:1px solid var(--client-border);border-radius:15px}.client-history-table{width:100%;min-width:900px;border-collapse:collapse}.client-history-table th,.client-history-table td{padding:13px;text-align:left;border-bottom:1px solid var(--client-border)}.client-history-table th{background:#f3f7fb;color:var(--client-muted);font-size:.72rem;text-transform:uppercase}.client-history-table a{color:var(--client-blue);font-weight:800}.client-confirm-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,21,39,.62);backdrop-filter:blur(7px)}.client-confirm-modal[hidden]{display:none}.client-confirm-modal>div{width:min(100%,520px);padding:28px;border-radius:21px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.3)}.client-confirm-modal h2{margin:.5rem 0}.client-confirm-modal p:not(.client-eyebrow){color:var(--client-muted);line-height:1.55}.client-confirm-modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.client-save-button.is-danger{background:var(--client-danger)}body.has-client-modal{overflow:hidden}.public-notice{margin-bottom:15px;padding:13px 16px;border:1px solid var(--client-border);border-radius:13px;background:#fff}.public-notice.success{border-color:#b9dec9;background:#ecf8f1;color:#17603e}.public-notice.error{border-color:#efc7cb;background:var(--client-danger-soft);color:var(--client-danger)}
.client-receipt{max-width:900px;margin:auto;padding:48px;background:#fff;box-shadow:0 20px 60px rgba(7,26,53,.1)}.client-receipt header,.client-receipt section{display:flex;justify-content:space-between;gap:50px}.client-receipt header{align-items:start;border-bottom:2px solid var(--client-navy);padding-bottom:28px}.client-receipt header img{width:250px}.client-receipt header div{text-align:right}.client-receipt section{margin:35px 0}.client-receipt section>div{width:50%}.client-receipt table{width:100%;border-collapse:collapse}.client-receipt th,.client-receipt td{padding:14px;border:1px solid var(--client-border);text-align:left}.client-print{margin-top:24px}
@media(max-width:1050px){.client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-license-meta,.client-subscription-list dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.client-account-overview-grid,.client-instruction-grid{grid-template-columns:1fr}.client-header nav>a{display:none}.client-account-hero{align-items:flex-start;flex-direction:column}.client-account-tabs{top:0}.client-section-heading{align-items:flex-start;flex-direction:column}.client-license-domains li{align-items:flex-start;flex-direction:column}.client-license-domains form,.client-license-domains button{width:100%}}
@media(max-width:620px){.client-main{padding-block:22px 50px}.client-account-hero,.client-account-panel{padding:20px;border-radius:18px}.client-summary-grid,.client-download-grid,.client-field-grid,.client-license-meta,.client-subscription-list dl{grid-template-columns:1fr}.client-summary-grid article{min-height:116px}.client-account-tabs{margin-inline:-4px;border-radius:12px}.client-account-tab{padding-inline:11px}.client-field-grid label.is-wide{grid-column:auto}.client-card-heading,.client-license-card>header,.client-subscription-list article>header{align-items:flex-start;flex-direction:column}.client-confirm-modal footer{display:grid}.client-confirm-modal footer button{width:100%}.client-receipt{padding:22px}.client-receipt header,.client-receipt section{display:grid;gap:20px}.client-receipt header div{text-align:left}.client-receipt section>div{width:auto}}
@media print{.client-header,.client-footer,.client-print,.client-account-tabs{display:none!important}.client-main{padding:0}.client-receipt{box-shadow:none;max-width:none}.client-portal-body{background:#fff}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Client-only visual system, adapted from estateofficecem theme and its
   licensing portal. No administrator styles or public marketing resets. */
:root {
    --client-border: rgba(18,22,27,.1);
    --client-muted: #5d6470;
    --client-navy: #12161b;
    --client-blue: #0c5ec8;
    --client-blue-deep: #0e347c;
    --client-blue-soft: #edf4fd;
    --client-green: #4f8a10;
    --client-green-soft: #f0f7e6;
    --client-shadow: 0 20px 45px rgba(14,30,54,.08);
}
.client-portal-body {
    min-width: 320px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: "Aptos", "Segoe UI Variable Text", "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: var(--client-navy);
    background: radial-gradient(circle at top left,rgba(12,94,200,.12),transparent 36%),radial-gradient(circle at 92% 18%,rgba(199,232,74,.2),transparent 24%),linear-gradient(180deg,#faf6ef,#f6f2ea 45%,#f9f5ed);
}
.client-portal-body img { display: block; max-width: 100%; height: auto; }
.client-portal-body a { color: inherit; text-decoration: none; }
.client-portal-body a:hover { color: var(--client-blue-deep); }
.client-portal-body button,.client-portal-body input,.client-portal-body textarea { font-family: inherit; }
.client-portal-body button { touch-action: manipulation; }
.client-portal-body h1,.client-portal-body h2,.client-portal-body h3,.client-portal-body h4 { line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; }
.client-portal-body :focus-visible { outline: 3px solid var(--client-blue); outline-offset: 4px; }
.client-portal-body [hidden] { display: none!important; }
.client-portal-body .site-shell { width: min(1760px,calc(100% - clamp(1rem,4vw,4rem))); margin-inline: auto; min-width: 0; }
.client-skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 12px 18px; background: #fff; border-radius: 12px; transform: translateY(-180%); box-shadow: var(--client-shadow); }
.client-skip-link:focus { transform: none; }
.client-header { background: rgba(255,255,255,.72); border-bottom: 1px solid var(--client-border); backdrop-filter: blur(16px); }
.client-header .client-header-inner { min-height: 92px; gap: 24px; }
.client-header .brand { flex: 0 0 auto; width: min(250px,40vw); }
.client-header .brand img { width: 100%; }
.client-header .client-navigation { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 10px; }
.client-navigation>a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 13px; font-size: .92rem; font-weight: 700; border-radius: 999px; }
.client-navigation>a:hover { background: rgba(12,94,200,.06); }
.client-navigation>a.is-current { color: var(--client-blue-deep); background: rgba(12,94,200,.09); }
.client-header .client-ghost-button { background: rgba(255,255,255,.8); color: var(--client-navy); border: 1px solid var(--client-border); border-radius: 999px; min-height: 44px; }
.client-menu-toggle { display: none; }
.client-main { flex: 1; padding-block: clamp(2rem,4vw,4rem) clamp(3rem,6vw,5rem); }
.client-account-portal { min-width: 0; padding: clamp(1rem,2.2vw,2rem); border: 1px solid var(--client-border); border-radius: 32px; background: linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.82)); box-shadow: var(--client-shadow); }
.client-account-hero { align-items: center; padding: 0 0 24px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.client-account-hero h1 { margin: 9px 0 7px; font-size: clamp(1.7rem,2.8vw,2.4rem); }
.client-account-hero .client-eyebrow,.client-auth-heading .client-eyebrow { display: inline-flex; padding: 5px 12px; border: 1px solid rgba(12,94,200,.14); border-radius: 999px; color: var(--client-blue-deep); background: rgba(255,255,255,.7); font-size: .77rem; letter-spacing: .04em; }
.client-buy-button,.client-save-button { flex-shrink: 0; background: linear-gradient(135deg,var(--client-blue),var(--client-blue-deep)); box-shadow: 0 10px 24px rgba(12,94,200,.16); }
.client-portal-body .client-buy-button { color: #fff; }
.client-portal-body .client-buy-button:hover { color: #fff; background: var(--client-blue-deep); }
.client-account-tabs { position: static; flex-wrap: wrap; gap: 9px; margin: 0 0 22px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; backdrop-filter: none; }
.client-account-tab { min-height: 44px; padding: 9px 16px; border: 1px solid var(--client-border); border-radius: 999px; background: rgba(255,255,255,.7); color: var(--client-navy); font-size: .9rem; line-height: 1.3; white-space: normal; }
.client-account-tab:hover { background: #fff; border-color: rgba(12,94,200,.28); }
.client-account-tab[aria-selected=true] { background: linear-gradient(135deg,var(--client-blue),var(--client-blue-deep)); box-shadow: 0 12px 24px rgba(12,94,200,.2); }
.client-account-tab.is-download { border-color: rgba(127,181,26,.38); color: #31580b; background: linear-gradient(135deg,rgba(199,232,74,.22),rgba(127,181,26,.12)); }
.client-account-tab.is-download[aria-selected=true] { color: #fff; background: linear-gradient(135deg,#7fb51a,#4f8a10); box-shadow: 0 12px 24px rgba(79,138,16,.2); }
.client-account-panels { margin: 0; }
.client-account-panel { padding: 0; min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.client-summary-grid { gap: 14px; }
.client-summary-grid article { min-height: 136px; padding: 18px; gap: 7px; background: linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.75)); border-radius: 16px; }
.client-summary-grid p { font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; font-weight: 700; }
.client-summary-grid strong { font-size: clamp(1.35rem,2vw,1.8rem); line-height: 1.1; }
.client-summary-grid span { font-size: .86rem; }
.client-account-card { padding: 22px; border-radius: 16px; }
.client-card-heading h2 { font-size: 1.4rem; }
.client-card-heading h3 { font-size: 1.25rem; }
.client-compact-list small,.client-profile-summary dt { font-size: .83rem; }
.client-section-heading { align-items: center; }
.client-section-heading h2 { font-size: 1.55rem; }
.client-section-heading p { font-size: .94rem; }
.client-license-card,.client-subscription-list>article { border-radius: 16px; background: linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.8)); }
.client-license-card header p,.client-subscription-list header p { font-size: .88rem; }
.client-license-meta>div,.client-subscription-list dl>div { background: #f7f8fa; }
.client-license-meta small,.client-subscription-list dt { font-size: .8rem; }
.client-license-meta strong,.client-subscription-list dd,.client-license-domains strong { overflow-wrap: anywhere; }
.client-license-meta code { font-size: .85rem; }
.client-license-domains small { font-size: .8rem; }
.client-status { flex-shrink: 0; font-size: .8rem; line-height: 1.45; }
.client-ghost-button { min-height: 44px; }
.client-empty-large { min-height: 190px; background: rgba(255,255,255,.65); }
.client-download-grid { grid-template-columns: minmax(0,1fr); }
.client-download-grid>article { min-height: 0; padding: clamp(18px,2vw,25px); gap: 9px; border: 1px solid rgba(127,181,26,.26); border-radius: 16px; background: radial-gradient(circle at top right,rgba(199,232,74,.2),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.82)); }
.client-download-grid h3 { font-size: 1.4rem; }
.client-download-icon { display: none; }
.client-download-grid .client-eyebrow { color: #4f7a14; }
.client-download-version { font-size: .83rem; padding: 5px 12px; }
.client-download-grid dl { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.client-download-grid dl>div { display: grid; justify-content: start; gap: 3px; min-width: 0; }
.client-download-grid dt { font-size: .83rem; }
.client-download-grid dd { overflow-wrap: anywhere; }
.client-download-button { width: auto; min-width: 220px; background: linear-gradient(135deg,#6d9e16,#4f8a10); box-shadow: 0 12px 24px rgba(79,138,16,.16); }
.client-download-notes { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--client-border); }
.client-download-notes summary { cursor: pointer; color: var(--client-blue-deep); font-weight: 750; }
.client-download-notes p { color: var(--client-muted); white-space: pre-wrap; overflow-wrap: anywhere; }
.client-instruction-grid { grid-template-columns: minmax(0,1fr); }
.client-instruction-grid>article { border-radius: 16px; background: linear-gradient(180deg,#fff,#fcfcfa); }
.client-instruction-grid ol { max-width: 1050px; }
.client-profile-form { max-width: 1180px; }
.client-field-grid label>span { font-size: .9rem; }
.client-profile-form fieldset { background: #f9f9f7; }
.client-profile-form fieldset>p,.client-security-note span { font-size: .88rem; }
.client-history-table th { font-size: .79rem; background: #f6f7f8; }
.client-history-table td { font-size: .91rem; vertical-align: top; }
.client-history-table tr:hover td { background: rgba(12,94,200,.025); }
.client-table-wrap { max-width: 100%; }
.client-confirm-modal { overflow-y: auto; z-index: 200; }
.client-confirm-modal>div { max-height: calc(100dvh - 40px); overflow-y: auto; }
.client-confirm-modal h2 { font-size: 1.6rem; }
.client-footer { margin-top: auto; padding: 28px 0 32px; background: rgba(255,255,255,.4); border-top: 1px solid var(--client-border); color: var(--client-muted); }
.client-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.client-footer strong { color: var(--client-navy); font-size: 1rem; }
.client-footer p { margin: 3px 0 0; }
.client-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 20px; }
.client-footer a { overflow-wrap: anywhere; }
.client-main>.public-notice { width: 100%; margin: 0 0 18px; }
.client-no-script { padding: 12px; background: #fff7dc; border: 1px solid #ead79b; border-radius: 12px; }
.client-no-script a { display: inline-block; padding: 5px 9px; color: var(--client-blue-deep); text-decoration: underline; }

/* Existing auth view forms rendered inside a separate customer shell. */
.client-auth-shell { max-width: 1060px; margin: 0 auto; padding: clamp(20px,3vw,40px); border: 1px solid var(--client-border); border-radius: 32px; background: linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.82)); box-shadow: var(--client-shadow); }
.client-auth-heading { max-width: 800px; margin: 0 auto 28px; }
.client-auth-heading h1 { margin: 12px 0; font-size: clamp(1.9rem,3vw,2.6rem); }
.client-auth-heading>p:last-child { color: var(--client-muted); margin: 0; }
.client-auth-content { max-width: 800px; margin: auto; padding: clamp(18px,2vw,28px); border: 1px solid var(--client-border); border-radius: 24px; background: rgba(255,255,255,.8); }
.client-auth-body .auth-card { min-width: 0; }
.client-auth-body .auth-card-heading { margin-bottom: 22px; }
.client-auth-body .auth-card-heading h2 { margin: 0 0 8px; font-size: 1.45rem; }
.client-auth-body .auth-card-heading p { margin: 0; color: var(--client-muted); }
.client-auth-body .eyebrow-chip { display: none; }
.client-auth-body .auth-office-brand { max-width: 240px; margin-bottom: 20px; }
.client-auth-body .auth-form { display: grid; gap: 18px; }
.client-auth-body .field { display: grid; min-width: 0; gap: 7px; font-weight: 650; }
.client-auth-body .field em { font-weight: 400; font-style: normal; color: var(--client-muted); }
.client-auth-body input:not([type=checkbox]):not([type=hidden]),.client-auth-body textarea { width: 100%; min-width: 0; padding: 12px 14px; min-height: 48px; border: 1px solid rgba(18,22,27,.18); border-radius: 12px; background: #fff; color: var(--client-navy); }
.client-auth-body textarea { resize: vertical; }
.client-auth-body input[type=checkbox] { width: 18px; height: 18px; margin: 0 7px 0 0; vertical-align: middle; accent-color: var(--client-blue); }
.client-auth-body .field a,.client-auth-body .auth-card-footer a { color: var(--client-blue-deep); text-decoration: underline; text-underline-offset: 3px; }
.client-auth-body .password-field { position: relative; display: block; }
.client-auth-body .password-field input { padding-right: 92px!important; }
.client-auth-body .password-toggle { position: absolute; right: 5px; top: 5px; bottom: 5px; min-width: 74px; border: 0; border-radius: 9px; background: var(--client-blue-soft); color: var(--client-blue-deep); cursor: pointer; font-size: .86rem; }
.client-auth-body .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 11px 20px; border: 1px solid var(--client-border); border-radius: 999px; background: #fff; font-weight: 750; color: var(--client-navy); cursor: pointer; }
.client-auth-body .button-primary { border: 0; color: #fff; background: linear-gradient(135deg,var(--client-blue),var(--client-blue-deep)); box-shadow: 0 12px 24px rgba(12,94,200,.16); }
.client-auth-body .button-block { width: 100%; }
.client-auth-body .auth-card-footer { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--client-border); font-size: .88rem; }
.client-auth-body .auth-card-footer>span { display: flex; align-items: center; gap: 7px; flex-basis: 100%; color: var(--client-muted); }
.client-auth-body svg { width: 20px; height: 20px; flex-shrink: 0; }
.client-auth-body .notice { display: grid; gap: 5px; margin-bottom: 20px; padding: 15px 18px; border: 1px solid var(--client-border); border-radius: 12px; overflow-wrap: anywhere; }
.client-auth-body .notice-error { color: #972a35; border-color: #edc2c7; background: #fff0f1; }
.client-auth-body .notice-success { color: #17603e; border-color: #b9dec9; background: #ecf8f1; }
.client-auth-body .auth-card>form+form { margin-top: 16px; }
.client-receipt { border: 1px solid var(--client-border); border-radius: 24px; }
.client-receipt h1 { font-size: 1.7rem; }
.client-receipt h2 { font-size: 1.2rem; }
.client-receipt td,.client-receipt th { overflow-wrap: anywhere; }
.client-receipt header img { max-width: 45%; }
.client-receipt .client-print { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 999px; color: #fff; background: var(--client-blue); font-weight: 750; cursor: pointer; }
.client-receipt-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 24px; }
.client-receipt-actions .client-print { margin: 0; }
.client-receipt-actions a { color: var(--client-blue-deep); text-decoration: underline; }

@media(max-width:1050px) {
    .client-header .client-navigation { gap: 4px; }
    .client-navigation>a { padding-inline: 9px; font-size: .86rem; }
    .client-header .brand { width: 215px; }
}
@media(max-width:800px) {
    .client-header .client-header-inner { min-height: 78px; position: relative; flex-wrap: wrap; gap: 0; padding-block: 12px; }
    .client-header .brand { width: min(220px,65vw); }
    .client-header .client-navigation { display: flex; flex-basis: 100%; justify-content: flex-start; padding-top: 12px; gap: 7px; }
    .client-header .client-navigation>a { display: inline-flex; }
    .client-header.client-menu-ready .client-navigation { display: none; }
    .client-header.client-menu-ready .client-navigation.is-open { display: flex; }
    .client-header.client-menu-ready .client-menu-toggle { display: inline-flex; align-items: center; min-height: 44px; margin-left: auto; padding: 8px 14px; border: 1px solid var(--client-border); border-radius: 999px; background: #fff; color: var(--client-navy); }
    .client-footer-inner { align-items: flex-start; flex-direction: column; }
    .client-footer nav { justify-content: flex-start; }
    .client-download-grid dl { grid-template-columns: 1fr; gap: 3px; }
    .client-download-grid dl>div { display: flex; justify-content: space-between; }
    .client-account-hero { align-items: flex-start; gap: 18px; }
    .client-confirm-modal footer { flex-wrap: wrap; }
}
@media(max-width:620px) {
    .client-account-portal { padding: 16px; border-radius: 22px; }
    .client-account-hero,.client-account-panel { padding: 0; }
    .client-account-hero { padding-bottom: 22px; }
    .client-account-tabs { margin: 0 0 22px; gap: 7px; }
    .client-account-tab { max-width: 100%; padding: 9px 12px; font-size: .84rem; }
    .client-buy-button { width: 100%; }
    .client-summary-grid article { min-height: 114px; }
    .client-account-card,.client-license-card,.client-subscription-list>article { padding: 17px; }
    .client-account-hero h1 { font-size: 1.8rem; }
    .client-license-domains li { padding: 10px; }
    .client-download-button { width: 100%; min-width: 0; }
    .client-auth-shell { padding: 18px; border-radius: 22px; }
    .client-auth-content { padding: 17px; border-radius: 16px; }
    .client-auth-heading h1 { font-size: 1.85rem; }
    .client-auth-body .auth-card-footer { flex-direction: column; }
    .client-receipt { padding: 18px; }
    .client-receipt header img { max-width: 230px; }
    .client-receipt td,.client-receipt th { padding: 9px; font-size: .85rem; }
}
.client-license-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:24px; padding-top:20px; border-top:1px solid var(--client-border); }
.client-license-pagination p { margin:0; color:var(--client-muted); line-height:1.6; }
.client-license-pagination>div { display:flex; flex-wrap:wrap; gap:10px; }
.client-license-access-note { padding:12px 15px; border-radius:10px; background:var(--client-blue-soft); color:var(--client-navy); line-height:1.6; }
@media print {
    .client-portal-body { display: block; color: #000; background: #fff; }
    .client-portal-body .site-shell { width: 100%; }
    .client-skip-link,.client-receipt-actions { display: none!important; }
    .client-receipt { border: 0; border-radius: 0; padding: 0; box-shadow: none; }
}
.client-order-pricing{margin:0 0 28px}.client-order-pricing-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}.client-order-pricing-list>article{padding:24px;border:1px solid #ccd8d2;border-radius:14px;background:#fff;display:grid;align-content:start;gap:18px;min-width:0}.client-order-pricing-list header{display:grid;gap:7px}.client-order-pricing-list header h3,.client-order-pricing-list header p{margin:0;overflow-wrap:anywhere;line-height:1.6}.client-order-pricing-list .client-ghost-button{display:inline-flex;justify-content:center;padding:12px 16px;min-height:44px;white-space:normal;text-align:center}.client-receipt address{display:grid;gap:6px;font-style:normal;overflow-wrap:anywhere}.client-receipt>.commerce-price-breakdown{grid-template-columns:minmax(0,1fr);display:grid;max-width:560px;margin:24px 0 24px auto}.client-receipt-actions{flex-wrap:wrap;gap:14px}.client-receipt-actions a{padding:12px 16px;min-height:44px;display:inline-flex;align-items:center}.client-order-pricing .commerce-price-breakdown,.client-receipt .commerce-price-breakdown{line-height:1.6;min-width:0}.client-order-pricing .commerce-price-breakdown h3,.client-receipt .commerce-price-breakdown h3{font-size:1rem;margin:0 0 12px}.client-order-pricing .commerce-price-breakdown dl,.client-receipt .commerce-price-breakdown dl{display:grid;gap:10px;margin:0}.client-order-pricing .commerce-price-breakdown dl>div,.client-receipt .commerce-price-breakdown dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px}.client-order-pricing .commerce-price-breakdown dd,.client-receipt .commerce-price-breakdown dd{margin:0;font-weight:700;white-space:nowrap}.client-order-pricing .commerce-price-total,.client-receipt .commerce-price-total{border-top:1px solid #ccd8d2;padding-top:12px}.client-order-pricing .commerce-applied-code,.client-receipt .commerce-applied-code{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.client-order-pricing code,.client-receipt code{overflow-wrap:anywhere;white-space:normal}.client-order-pricing .commerce-pricing-note,.client-receipt .commerce-pricing-note{font-size:.875rem;line-height:1.6}.client-order-pricing .commerce-pricing-error{padding:16px;border:1px solid #d4a43e;border-radius:8px;background:#fff8e5;line-height:1.6}.client-receipt .client-table-wrap{overflow-x:auto}.client-receipt .client-table-wrap table{min-width:440px}
@media(max-width:600px){.client-order-pricing-list>article{padding:18px}.client-receipt-actions>*{width:100%;justify-content:center;white-space:normal}}
@media print{.client-receipt .client-table-wrap{overflow:visible}.client-receipt .client-table-wrap table{min-width:0}.client-receipt>.commerce-price-breakdown{grid-template-columns:minmax(0,1fr);break-inside:avoid}}
