/* Account-only refinement. Storefront, authentication and payment rules stay intact. */
.account-open { color-scheme:dark; }
.account-open .preview-strip,.account-open .header-inner>.login-trigger,.account-open .desktop-nav,.account-open .brand small { display:none; }
.account-open .header-inner { min-height:76px; padding-block:10px; flex-wrap:nowrap; gap:16px; }
.account-open .header-channel-link { order:initial; flex:0 0 auto; padding:8px 0; border:0; background:transparent; }
.account-open .header-channel-link:hover { color:#c7eaff; background:transparent; }
.account-open .account-section { width:min(900px,calc(100% - 48px)); min-height:0; padding-block:28px 16px; }
.account-open .account-head { margin-bottom:20px; }
.account-open .account-head h1 { font-size:1.75rem; line-height:1.5; margin:0; }
.account-primary-nav { display:flex; align-items:stretch; border:1px solid #4c365f; border-radius:12px; margin-bottom:16px; }
.account-primary-nav>button,.account-more>summary { min-height:48px; padding:12px 18px; display:flex; align-items:center; justify-content:center; gap:8px; border:0; background:transparent; color:#d4c1e6; font-size:15px; font-weight:700; cursor:pointer; }
.account-primary-nav>button { flex:1 1 0; border-radius:11px; }
.account-primary-nav [aria-current=page] { background:#57327f; color:#fff; }
.account-primary-nav>button:hover,.account-more>summary:hover { background:#3b2850; color:#fff; }
.account-more { position:relative; flex:1 1 0; min-width:0; }
.account-more>summary { list-style:none; height:100%; border-radius:11px; box-sizing:border-box; }
.account-more>summary::-webkit-details-marker { display:none; }
.account-more-menu { position:absolute; z-index:7; inset-inline-end:0; top:calc(100% + 8px); width:230px; max-width:calc(100vw - 40px); padding:8px; background:#21172f; border:1px solid #6d5085; border-radius:12px; box-shadow:0 14px 34px #06030c66; }
.account-more-menu button,.account-more-menu a { display:flex; align-items:center; gap:12px; width:100%; min-height:48px; padding:10px 12px; border:0; border-radius:8px; background:transparent; color:#e7d9f4; font-size:14px; text-align:start; }
.account-more-menu button:hover,.account-more-menu a:hover { background:#3a284c; }
.account-more-menu .logout-button { border-top:1px solid #574263; border-radius:0 0 8px 8px; margin-top:6px; color:#ffd0e3; }
.account-support-link { width:100%; display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 14px; margin-bottom:24px; border:1px solid #483455; border-radius:10px; background:transparent; color:#ded0ee; font-size:14px; }
.account-support-link>.icon:last-child { margin-inline-start:auto; }
.account-support-link:hover,.account-support-link[aria-current=page] { background:#241b30; border-color:#806394; }
.account-support-link .support-nav-badge { margin:0; color:#c4f8db; background:#173c32; font-size:12px; }
.account-service-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.account-service-toolbar h2 { margin:0; font-size:1.25rem; line-height:1.5; }
.account-service-tools { display:flex; align-items:center; gap:8px; }
.account-service-tools .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.account-service-tools select { min-height:44px; max-width:165px; padding:8px 10px; border:1px solid #74598b; border-radius:10px; background:#21172f; color:#eee3f9; font:inherit; font-size:14px; cursor:pointer; }
.account-refresh { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #74598b; border-radius:10px; background:transparent; color:#d4b5ff; }
.account-refresh:hover:not(:disabled) { background:#352445; }
.account-refresh:disabled { opacity:.6; cursor:wait; }
.account-open .account-tabs { margin:0 0 20px; gap:24px; }
.account-open .account-tabs button { padding:10px 8px; min-height:44px; font-size:14px; }
.account-payment-link { display:flex; align-items:center; gap:8px; min-height:48px; width:100%; margin-top:16px; padding:10px 0; border:0; border-bottom:1px solid #483455; background:transparent; color:#d3b7ea; text-align:start; font-size:14px; }
.account-payment-link>.icon:last-child { margin-inline-start:auto; }
.account-open .owned-list { display:grid; gap:20px; }
.account-open .owned-card { padding:22px; background:#191222; color:#f6effc; border:1px solid #574263; color-scheme:dark; }
.account-open .owned-header h3 { font-size:1.125rem; overflow-wrap:anywhere; }
.account-open .owned-header p,.account-open .quota-label,.account-open .owned-meta dt,.account-open .owned-quota span { color:#c1aed1; }
.account-open .owned-meta { border-color:#554066; }
.account-open .owned-meta dd { color:#efe3f9; }
.account-open .owned-quota { margin-top:18px; }
.account-open .owned-quota b { font-size:1.75rem; }
.account-open .owned-expiry { font-size:13px; color:#ccbbdd; }
.account-open .usage-bar { height:7px; margin:10px 0 18px; background:#392448; }
.account-open .usage-bar::-webkit-progress-bar { background:#392448; }
.account-open .usage-bar::-webkit-progress-value { background:#c296ee; }
.account-open .usage-bar::-moz-progress-bar { background:#c296ee; }
.account-open .owned-card .status { color:#c4f8db; background:#173c32; }
.account-open .owned-card .status.ended { color:#e1cde9; background:#49354e; }
.account-open .owned-card .service-note { color:#ccbbdd; }
.account-open .owned-card .button.outline { color:#dfc9f4; border-color:#86639d; background:transparent; }
.account-open .owned-card .button.soft { color:#f0e3fb; background:#3c2950; border-color:#694980; }
.account-open .owned-card .button:hover { filter:brightness(1.1); }
.account-open .owned-card .text-button,.account-open .owned-card .app-downloads a { color:#d4b5ff; }
.account-open .owned-card .button.compact { min-height:44px; }
.account-open .owned-card .service-credentials dt,.account-open .owned-card .connection-qr-panel figcaption { color:#ccbbdd; }
.account-open .owned-card .config-list li,.account-open .owned-card .browsing-connections { border-color:#594266; }
.account-open .owned-card .legacy-openvpn { border-color:#594266; }
.account-open .owned-card .legacy-openvpn>summary { color:#d4b5ff; }
.owned-files { margin-top:20px; }
.owned-files>summary { display:flex; justify-content:center; align-items:center; gap:10px; list-style:none; padding:12px 16px; min-height:48px; box-sizing:border-box; border-radius:10px; background:#d6ff80; color:#25320b; font-size:15px; font-weight:800; cursor:pointer; }
.owned-files>summary::-webkit-details-marker { display:none; }
.owned-files>summary:hover { background:#e0f995; }
.owned-files>summary:after { content:''; width:8px; height:8px; border:solid currentColor; border-width:0 2px 2px 0; transform:rotate(45deg); margin-top:-5px; }
.owned-files[open]>summary:after { transform:rotate(225deg); margin-top:4px; }
.account-open .owned-files .awg-delivery { border-color:#594266; background:transparent; padding-inline:0; border-inline:0; border-radius:0; }
.account-open .owned-files .awg-heading h4 { color:#ecdef6; font-size:16px; }
.account-open .owned-files .awg-heading p { color:#ccbbdd; }
.account-open .owned-files .device-files { background:transparent; border-color:#665174; color:#ecdef6; }
.account-open .owned-files .device-files summary { color:#ecdef6; }
.account-open .owned-files .device-files li { background:#21172f; border-color:#665174; }
.device-files .awg-route { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.device-files .awg-route .button { min-height:44px; font-size:14px; }
.awg-qr-panel { grid-column:1 / -1; width:100%; margin-inline:0; }
.awg-qr-panel figcaption { font-size:14px; }
@media(max-width:760px) { .device-files .awg-route { grid-template-columns:minmax(0,1fr); } }
.account-open .owned-files .app-downloads a { min-height:44px; display:inline-flex; align-items:center; }
.owned-secondary-actions { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:8px 20px; margin-top:16px; border-top:1px solid #554066; padding-top:8px; }
.owned-secondary-actions>a,.owned-details>summary { min-height:44px; display:flex; align-items:center; gap:8px; padding:8px 0; color:#d4b5ff; font-size:14px; cursor:pointer; }
.owned-details { flex:1 1 190px; }
.owned-details>summary { list-style:none; }
.owned-details>summary::-webkit-details-marker { display:none; }
.owned-details>summary:after { content:''; width:6px; height:6px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
.owned-details[open]>summary:after { transform:rotate(225deg); }
.owned-details p { color:#c1aed1; font-size:12px; margin-bottom:12px; }
.owned-details .owned-order-id { display:block; overflow-wrap:anywhere; user-select:all; }
.account-open .owned-details .owned-meta { grid-template-columns:repeat(2,minmax(0,1fr)); border:0; padding-bottom:8px; }
.account-open .empty-account { padding:28px 20px; }
.account-open .empty-account h3 { color:#eee3f9; font-size:18px; }
.account-open .empty-account .button { margin-top:12px; color:#dfc9f4; border-color:#806295; }
.account-open .account-copy { font-size:14px; line-height:1.9; }
.account-primary-nav :focus-visible,.account-support-link:focus-visible,.account-service-tools :focus-visible,.owned-files>summary:focus-visible,.owned-details>summary:focus-visible { outline:2px solid #d9b8ff; outline-offset:3px; }
.account-open ::selection { color:#fff; background:#66408b; }
.account-open .mobile-nav [aria-current=page] { color:#dab6ff; }
#account-companion-dock { width:min(900px,calc(100% - 48px)); min-height:88px; margin:0 auto 16px; position:relative; }
#account-companion-dock .pet-float[data-minimized=true] { position:absolute; left:0; bottom:0; width:auto; }
#account-companion-dock .pet-restore { width:58px; height:78px; }
@media(max-width:760px) {
 .account-open .account-section,#account-companion-dock { width:calc(100% - 36px); }
 .account-open .account-section { padding-top:22px; }
 .account-open .header-inner { min-height:64px; gap:10px; padding-block:8px; }
 .account-open .header-channel-link { font-size:12px; gap:6px; }
 .account-open .header-channel-link svg { width:18px; height:18px; }
 .account-open .account-head { margin-bottom:16px; }
 .account-open .account-head h1 { font-size:1.5rem; }
 .account-primary-nav>button,.account-more>summary { padding:10px 8px; font-size:13px; gap:6px; }
 .account-primary-nav .icon { width:18px; height:18px; }
 .account-support-link { margin-bottom:20px; padding-inline:12px; }
 .account-service-toolbar { gap:8px; flex-wrap:wrap; }
 .account-service-toolbar h2 { font-size:1.125rem; }
 .account-service-tools select { max-width:145px; font-size:13px; }
 .account-open .owned-card { padding:18px; }
 .account-open .owned-header { gap:12px; }
 .account-open .owned-header h3 { font-size:1rem; }
 .account-open .owned-meta { gap:12px; }
 .account-open .owned-meta dd { font-size:13px; }
 .owned-secondary-actions>a,.owned-details>summary { font-size:13px; }
 .owned-details { flex-basis:150px; }
 #account-companion-dock { min-height:80px; margin-bottom:12px; }
 .account-open .site-footer { padding-top:20px; }
}
@media(max-width:359px) {
 .account-open .account-section,#account-companion-dock { width:calc(100% - 28px); }
 .account-open .brand b { font-size:15px; }
 .account-service-toolbar h2 { font-size:1rem; }
 .account-service-tools select { max-width:125px; }
 .account-primary-nav>button,.account-more>summary { font-size:12px; }
}
