/* Dialog title and close control */
#dialog[open]{max-height:calc(100dvh - 48px);overflow:auto}
#dialog .modal-top{position:sticky;top:-28px;z-index:2;gap:16px;background:#fff;border:0;padding:8px 0 16px;margin:0 0 12px}
#dialog .modal-top h2{font-size:21px;line-height:1.4}
#dialog .modal-top .icon-btn{display:grid;place-items:center;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;flex:0 0 36px;padding:0;margin:0;border:0;border-radius:6px;background:transparent;color:#000;font-size:27px;font-weight:400;line-height:1;box-shadow:none;transform:none;transition:background .15s}
#dialog .modal-top .icon-btn:hover{background:#f1f1f3;color:#000;transform:none}
#dialog .btn.light{background:#fff;color:#000;border:1px solid #d6d6da;font-weight:400}
#dialog .btn.light:hover{background:#f4f4f5;color:#000}
#dialog:has(.order-detail-body)[open]{display:flex;flex-direction:column;width:min(600px,calc(100vw - 32px));padding:28px 30px;overflow:hidden;border:0;border-radius:18px;box-shadow:0 24px 80px rgb(0 0 0 / 20%)}
#dialog:has(.order-detail-body) .modal-top{position:static;flex-shrink:0;padding:0;margin:0 0 24px}
#dialog .order-detail-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-width:thin}
#dialog .order-detail-list{display:grid;gap:18px;margin:0;padding:0 0 8px}
#dialog .order-detail-list>div{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:baseline;gap:20px;padding:0;border:0;font-size:13px;color:#000;line-height:1.6}
#dialog .order-detail-list dt{font-weight:600;color:#000}
#dialog .order-detail-list dd{margin:0;font-weight:400;color:#000;overflow-wrap:anywhere}
#dialog .repurchase-copy{color:#000;line-height:1.9;font-size:15px}
#dialog .repurchase-copy strong{font-weight:500}
#dialog .repurchase-actions{display:flex;gap:10px;margin-top:26px}
#dialog .repurchase-actions button{min-width:100px;min-height:42px;border-radius:8px;font-weight:400}
#dialog .repurchase-actions [data-schedule-yes]{background:#222;border-color:#222;color:#fff}
#dialog .repurchase-actions [data-schedule-yes]:hover{background:#2d4189;border-color:#2d4189;color:#fff}
#dialog .repurchase-actions [data-schedule-no]{background:#fff;border:1px solid #d6d6da;color:#000}
/* Customer account: dedicated page structure, independent of legacy table layout. */
body.storefront main:has(.account-workspace){background:#fff}
.account-workspace{color:#000;padding:40px 24px 80px;font-size:14px;line-height:1.6}
.account-frame{max-width:1240px;margin:0 auto}
.account-page-heading{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:32px;font-size:12px;color:#000}
.account-page-heading h1{width:100%;margin:12px 0 0;font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1.4;text-align:left}
.account-page-heading a{color:#000}
.account-shell{display:grid;grid-template-columns:188px minmax(0,1fr);gap:40px;align-items:start}
.account-menu{display:grid;gap:30px;position:sticky;top:100px;padding:0 8px 0 0;max-height:calc(100dvh - 120px);overflow-y:auto;scrollbar-width:thin}
.account-menu-group{display:grid;gap:4px}
.account-menu-group>p{padding:0 12px;margin:0 0 7px;font-size:11px;color:#000;letter-spacing:.3px}
.account-menu-group>a{display:flex;align-items:center;gap:11px;min-height:43px;padding:10px 12px;border-radius:7px;color:#000;font-size:13px;font-weight:400;transition:background .16s,color .16s}
.account-menu-group>a>.icon{width:17px;height:17px;color:inherit;flex:none}
.account-menu-group>a:hover{background:#e9eaed;color:#000}
.account-menu-group>a.active{background:#000;color:#fff}
.account-main{min-width:0}
.member-overview{margin-bottom:32px}
.member-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}
.member-welcome>div>p{font-size:12px;color:#000;margin:0 0 7px}
.member-welcome h2{font-size:24px;line-height:1.4;font-weight:500;letter-spacing:-.8px;color:#000}
.member-welcome>a{display:inline-flex;align-items:center;gap:4px;color:#000;font-size:12px;white-space:nowrap}
.member-welcome>a>.icon{width:14px;height:14px}
.member-welcome>a:hover{text-decoration:underline;text-underline-offset:4px}
.member-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.member-benefit{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:10px 14px;align-items:center;padding:22px 24px;border:1px solid #e7e8eb;background:#fff;border-radius:12px;color:#000;min-width:0;transition:border-color .16s}
.member-benefit[href]:hover{border-color:#999}
.benefit-icon{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#f5f5f7;color:#000;font-size:20px}
.benefit-icon .icon{width:20px;height:20px}
.benefit-label{grid-column:1;grid-row:1;font-size:12px}
.benefit-value{grid-column:1;grid-row:2;display:flex;align-items:baseline;gap:6px;font-size:26px;font-weight:400;letter-spacing:-.7px;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap}
.benefit-value small{font-size:13px;letter-spacing:0}
.account-workspace .account-content{min-width:0}
.account-section-heading{margin:0 0 22px}
.account-section-heading h2{font-size:21px;font-weight:500;color:#000;letter-spacing:-.5px}
/* Order discovery and grouped purchase cards */
.purchase-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}
.purchase-download-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;color:#000}
.purchase-download-link>.icon{width:17px;height:17px;transition:transform .16s}
.purchase-download-link:hover>.icon{transform:translateX(3px)}
.purchase-list{display:grid;gap:20px}
.purchase-card{border:1px solid #e4e5e8;border-radius:12px;background:#fff;overflow:hidden}
.purchase-card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px;background:#fcfcfd;border-bottom:1px solid #ededf0;color:#000}
.purchase-card-heading>div{display:flex;gap:16px;align-items:center;min-width:0;flex-wrap:wrap}
.purchase-card-heading time{font-size:14px;font-weight:400;font-variant-numeric:tabular-nums}
.purchase-card-heading>div>span{font-size:11px;overflow-wrap:anywhere}
.purchase-card-heading>p{display:flex;gap:10px;align-items:baseline;font-size:11px;white-space:nowrap;margin:0}
.purchase-card-heading>p>span{font-size:14px}
.purchase-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.45fr) 110px 130px;gap:24px;align-items:center;padding:26px 24px}
.purchase-item+.purchase-item{border-top:1px solid #ededf0}
.purchase-product{display:flex;gap:20px;align-items:center;min-width:0;color:#000}
.purchase-thumbnail{width:88px;height:88px;flex:0 0 88px;background:#f1f2f5;border:1px solid #eeeef0;border-radius:9px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#000}
.purchase-thumbnail img{width:100%;height:100%;object-fit:cover}
.purchase-thumbnail>.icon{width:28px;height:28px;stroke-width:1.1}
.purchase-thumbnail>span{font-size:8px;letter-spacing:1px}
.purchase-description{min-width:0}
.purchase-description h3{font-size:15px;font-weight:400;line-height:1.55;letter-spacing:-.3px;word-break:keep-all;color:#000;margin:0 0 7px}
.purchase-product:hover h3{text-decoration:underline;text-underline-offset:4px}
.purchase-description p{font-size:12px;margin:0 0 9px;line-height:1.5;color:#000}
.purchase-price{font-size:14px;color:#000;font-variant-numeric:tabular-nums}
.purchase-state{display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:#000;font-size:12px;font-weight:400}
.purchase-state-label{display:inline-flex;background:#f2f2f4;border-radius:5px;padding:3px 8px;margin-bottom:3px;font-size:12px;color:#000}
.purchase-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch}
.account-workspace .purchase-button{display:flex;align-items:center;justify-content:center;min-height:36px;padding:8px 10px;border:1px solid #000;border-radius:6px;background:#fff;color:#000;font-size:12px;font-weight:400;line-height:1.4;text-align:center;transition:background .16s,color .16s;white-space:nowrap}
.account-workspace .purchase-button:hover:not(:disabled){background:#000;color:#fff}
.account-workspace .purchase-button:disabled{background:#f5f5f5;border-color:#ddd;color:#666;opacity:1}
.purchase-empty{display:flex;flex-direction:column;align-items:center;gap:18px;padding:70px 20px;border:1px solid #e4e5e8;background:#fff;border-radius:12px;color:#000}
.purchase-empty>.icon{width:32px;height:32px}
.purchase-empty>a{text-decoration:underline;text-underline-offset:4px;font-size:13px}
/* Secondary account pages share the new shell; existing control styles stay intact. */
.account-workspace .account-content:not(.account-orders){background:#fff;border:1px solid #e7e8eb;border-radius:12px;padding:28px;overflow:hidden}
.account-workspace .account-content .table-wrap{max-width:100%;overflow:auto}
.account-workspace .profile-grid{gap:24px}
.account-workspace .profile-column{background:#f8f8f9;border-radius:10px;padding:24px}
.account-workspace .profile-column h3{color:#000}
.account-workspace .download-intro{gap:16px}
.account-workspace .account-content:not(.account-orders) .btn.light{color:#000}
@media(max-width:1150px){
 .account-shell{grid-template-columns:164px minmax(0,1fr);gap:26px}
 .member-benefit{padding:19px 18px}.benefit-icon{display:none}.benefit-value{font-size:24px}
 .purchase-item{grid-template-columns:minmax(0,1fr) 100px 95px 116px;gap:16px;padding:22px 20px}
 .purchase-thumbnail{width:72px;height:72px;flex-basis:72px}.purchase-product{gap:14px}
 .purchase-card-heading{padding:16px 20px}.purchase-card-heading>div{gap:4px;flex-direction:column;align-items:flex-start}
}
@media(max-width:900px){
 .account-workspace{padding:28px 20px 60px}.account-page-heading{margin-bottom:22px}
 .account-shell{display:flex;flex-direction:column;gap:26px}
 .account-menu{display:flex;position:static;gap:4px;width:100%;max-height:none;overflow-x:auto;padding:0 0 8px;scrollbar-width:thin}
 .account-menu-group{display:flex;gap:4px}.account-menu-group>p{display:none}
 .account-menu-group>a{flex-shrink:0;white-space:nowrap;min-height:40px;padding:9px 12px;background:#fff;border:1px solid #e5e5e8}
 .account-menu-group>a.active{border-color:#000}.account-main{width:100%}
 .member-benefit{padding:20px}.benefit-icon{display:grid}.benefit-value{font-size:25px}
}
@media(max-width:600px){
 .account-workspace{padding:24px 16px 48px}.account-page-heading h1{font-size:26px}.account-page-heading{margin-bottom:20px}
 .account-menu-group>a{font-size:12px}.account-menu-group>a>.icon{width:15px;height:15px}
 .member-welcome{gap:12px;margin-bottom:18px}.member-welcome h2{font-size:21px}.member-welcome>div>p{font-size:11px}.member-welcome>a{font-size:11px}
 .member-benefits{gap:8px}.member-benefit{padding:16px 12px;gap:9px 0;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start}.benefit-icon{display:none}.benefit-label{font-size:11px}.benefit-value{font-size:18px;gap:4px;letter-spacing:-.6px}.benefit-value small{font-size:11px}
 .member-overview{margin-bottom:25px}
 .purchase-toolbar{align-items:flex-start;gap:12px;flex-direction:column;margin-bottom:16px}.purchase-download-link{align-self:flex-end;font-size:11px}
 .purchase-card-heading{padding:14px 16px;align-items:flex-start;gap:12px}.purchase-card-heading time{font-size:13px}.purchase-card-heading>div>span{font-size:10px}.purchase-card-heading>p{flex-direction:column;align-items:flex-end;gap:1px;font-size:10px}.purchase-card-heading>p>span{font-size:13px}
 .purchase-item{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px 16px}.purchase-thumbnail{width:72px;height:72px;flex-basis:72px}.purchase-description h3{font-size:14px}.purchase-description p{font-size:11px}.purchase-price{font-size:13px}
 .purchase-state{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:11px}.purchase-state-label{margin:0;font-size:11px}
 .purchase-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.account-workspace .purchase-button{flex:1 0 auto;min-height:38px;font-size:11px}
 .account-workspace .account-content:not(.account-orders){padding:20px 14px;border-radius:10px}.account-section-heading h2{font-size:19px}
 #dialog:has(.order-detail-body)[open]{padding:22px 20px;max-height:calc(100dvh - 32px);border-radius:14px}
 #dialog .order-detail-list>div{grid-template-columns:104px minmax(0,1fr);gap:12px;font-size:12px}
 #dialog .modal-top{top:-24px}
}
@media(max-width:360px){.benefit-value{font-size:16px}.member-benefit{padding:14px 9px}}
.account-workspace .profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:none;width:100%;align-items:start}
.account-workspace .profile-column{min-width:0;display:grid;gap:20px}
.account-workspace .profile-column .field{margin:0;font-weight:400}
.account-workspace .profile-actions{grid-column:1/-1;margin-top:8px}
.account-workspace .account-content:not(.account-orders) table thead th{background:#f7f7f8!important;color:#000!important;font-weight:400!important;font-size:12px!important;border-bottom:1px solid #e8e8eb;padding:17px 14px!important}
.account-workspace .account-content:not(.account-orders) table :is(td,small,time,strong){color:#000;font-weight:400}
.account-workspace .account-content:not(.account-orders) .download-intro{color:#000}
@media(max-width:700px){.account-workspace .profile-grid{grid-template-columns:1fr}.account-workspace .profile-column{padding:18px}.account-workspace .profile-actions{grid-column:1}}

/* White surfaces with subtle depth. */
.account-workspace{background:#fff}
.account-workspace .member-benefit{background:#fff;border-color:#ededf0;box-shadow:0 4px 18px rgb(25 32 50 / 5%);border-radius:14px}
.account-workspace .member-benefit[href]:hover{border-color:#d8d9df;box-shadow:0 6px 22px rgb(25 32 50 / 8%)}
.account-workspace .purchase-card{background:#fff;border-color:#ededf0;box-shadow:0 5px 22px rgb(25 32 50 / 5%);border-radius:14px}
.account-workspace .purchase-card-heading{background:#fff;border-bottom-color:#f0f0f2;padding-top:19px;padding-bottom:19px}
.account-workspace .purchase-item+.purchase-item{border-top-color:#f0f0f2}
.account-workspace .account-content:not(.account-orders){background:#fff;border-color:#ededf0;box-shadow:0 5px 22px rgb(25 32 50 / 5%);border-radius:14px}
.account-workspace .profile-column{background:#fff;border:1px solid #ececf0;box-shadow:0 3px 14px rgb(25 32 50 / 3%);border-radius:12px}
.account-workspace .member-welcome{margin-bottom:24px;min-height:40px}
.account-workspace .member-welcome h2{font-size:25px;letter-spacing:-.8px}
.account-workspace .member-benefits{gap:18px}
.account-workspace .member-overview{margin-bottom:36px}
.account-workspace .purchase-list{gap:24px}
@media(max-width:600px){.account-workspace .member-benefits{gap:9px}.account-workspace .member-welcome h2{font-size:22px}.account-workspace .member-overview{margin-bottom:28px}.account-workspace .purchase-list{gap:18px}}

/* Consistent square, borderless account lists. */
.account-workspace .purchase-toolbar{justify-content:flex-end;margin-bottom:14px}
.account-workspace .purchase-card,.account-workspace .account-content:not(.account-orders){border:0;border-radius:0}
.account-workspace .purchase-card-heading,.account-workspace .purchase-item+.purchase-item{border:0}
.account-workspace .account-content .table-wrap,.account-workspace .account-content table,.account-workspace .account-content table :is(thead,tbody,tr,th,td){border:0!important;border-radius:0!important}
.account-workspace .account-content .table-wrap{box-shadow:none!important}
/* Same field geometry and focus treatment as the storefront header search. */
.account-workspace :is(.purchase-search,.download-search){display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0 0 22px;width:100%}
.account-workspace .download-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}
.account-workspace .download-toolbar .download-intro,.account-workspace .download-toolbar .download-search{margin:0}
.account-workspace .download-toolbar .download-search{width:auto;flex:0 1 auto;justify-content:flex-end}
@media(max-width:600px){.account-workspace .download-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.account-workspace .download-toolbar .download-search{width:100%;justify-content:flex-start}}
.account-workspace :is(.account-search-field,.download-search-field){display:flex;align-items:center;gap:0;width:220px;max-width:100%;height:44px;padding:0 12px 0 0;border:1px solid transparent!important;border-radius:8px;background:#f5f6f7;outline:none!important;box-shadow:none!important}
.account-workspace :is(.account-search-field,.download-search-field):is(:hover,:focus-within){background:#f5f6f7;border-color:transparent!important;outline:none!important;box-shadow:none!important}
.account-workspace :is(.account-search-field,.download-search-field) input,.account-workspace :is(.account-search-field,.download-search-field) input:focus{display:block;flex:1;width:100%;min-width:0;min-height:40px!important;height:40px;padding:10px 12px;margin:0;border:0!important;border-radius:0;background:transparent;color:#000;font-size:12px;font-weight:400;outline:none!important;box-shadow:none!important}
.account-workspace :is(.account-search-field,.download-search-field) input::placeholder{color:#000;opacity:1}
.account-workspace :is(.account-search-field,.download-search-field) button{display:grid;place-items:center;flex:0 0 18px;width:18px;min-width:18px;height:24px;min-height:24px;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:#000;box-shadow:none;transform:none}
.account-workspace :is(.account-search-field,.download-search-field) button:hover{background:transparent;color:#000}
.account-workspace :is(.account-search-field,.download-search-field) button .icon{width:18px;height:22px}
@media(max-width:600px){.account-workspace .purchase-toolbar{flex-direction:row;justify-content:flex-end}.account-workspace :is(.account-search-field,.download-search-field){width:220px;max-width:100%}}

/* Rounded account surfaces; keep existing search and board controls. */
.account-workspace .purchase-card,.account-workspace .account-content:not(.account-orders){border-radius:14px}
.account-workspace .account-content .table-wrap{border-radius:12px!important;overflow:auto}

.account-workspace .purchase-item .purchase-payment-method{display:block;text-align:center;font-size:12px;color:#000;white-space:nowrap;transform:translateX(-16px)}
@media(max-width:900px){.account-workspace .purchase-item .purchase-payment-method{text-align:left;transform:none}}

.account-workspace .account-downloads .account-section-heading{margin-bottom:6px}
