/* Shared desktop shell. Original phone rules remain in h5-v49/production. */
.ace-desktop-nav,.ace-desktop-footer,.ace-header-search,.ace-header-account{display:none}
@media screen and (min-width:768px) and (max-width:1023px){
 #app{width:100%;max-width:none;box-shadow:none}.tabbar,.product-buybar{width:100%}#main>.page>.pad,#main>.pad{padding:22px}.production-products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media screen and (min-width:1024px){
 :root{--desktop-gutter:32px}
 body{background:var(--bg,#f6f7f9);font-size:15px;line-height:1.65}
 #app,.app-shell{width:100%;max-width:none;min-height:100vh;margin:0;padding-bottom:0;box-shadow:none;display:flex;flex-direction:column}
 #main,#main-content{flex:1;width:100%;min-width:0}
 #main>.page>.pad,#main>.pad,.app-shell .page-pad{padding:28px var(--desktop-gutter) 40px}
 #main .page>.pad>*{min-width:0}
 .top{padding:20px var(--desktop-gutter) 0;background:#fff;backdrop-filter:none;position:sticky;top:0;border-bottom:1px solid #e2e6eb}
 .headrow{gap:18px;min-height:52px}.logo{width:48px;height:48px;border-radius:13px;font-size:17px}.brand{font-size:23px}.sub{font-size:12px}.quick-request{font-size:13px;padding:13px 18px;box-shadow:none}.quick-request small{font-size:10px}
 .ace-header-search{display:flex;gap:0;flex:0 1 470px;min-width:200px;max-width:34%;background:#f5f6f8;border:1px solid #dce0e5;border-radius:10px;overflow:hidden}
 .ace-header-search input{flex:1;min-width:0;border:0;background:transparent;padding:11px 15px;font:inherit;font-size:13px;color:#20242a}.ace-header-search button{border:0;background:transparent;color:#a51e2d;padding:10px 15px;font-size:13px;cursor:pointer;font-weight:750}
 .ace-header-account{display:flex;align-items:center;gap:16px;font-size:13px;white-space:nowrap}.ace-header-account a:hover{color:var(--red)}
 .ace-desktop-nav{display:flex;align-items:center;gap:36px;padding:14px 0 0;min-height:55px}
 .ace-desktop-nav a{display:block;padding:12px 0 15px;color:#526072;font-size:14px;font-weight:650;border-bottom:3px solid transparent;text-decoration:none}.ace-desktop-nav a:hover,.ace-desktop-nav a[aria-current]{color:var(--red);border-bottom-color:var(--red)}
 .tabbar,.bottom-nav{display:none}
 .ace-desktop-footer{display:grid;grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:32px;background:#192331;color:#ccd4df;padding:40px var(--desktop-gutter) 26px;margin-top:26px;font-size:13px}
 .ace-desktop-footer a{display:block;color:#dce3ec;margin:9px 0}.ace-desktop-footer a:hover{text-decoration:underline}.ace-desktop-footer .ace-footer-brand{font-size:28px;font-weight:850;letter-spacing:1px;color:white;margin:0}.ace-desktop-footer b{display:block;color:white;font-size:14px;margin-bottom:16px}.ace-desktop-footer small{font-size:12px}.ace-desktop-footer p{margin:8px 0}.ace-footer-note{grid-column:1/-1;border-top:1px solid #ffffff24;padding-top:20px;color:#aab7c8;font-size:12px}
 .banner{padding:24px 28px;border-radius:18px}.banner h2{font-size:28px;line-height:1.35}.banner p{font-size:14px;line-height:1.8;max-width:100ch}
 .sec{margin:26px 0 14px;align-items:center;gap:15px}.sec b{font-size:22px}.sec a,.sec span{font-size:13px}.sec a{margin-left:auto}
 .notice,.warn,.safe,.reward-note,.production-note,.terms-box{font-size:13px;line-height:1.8}.notice{padding:16px 20px}.btn{font-size:14px;padding:12px 20px;min-height:44px}.back-btn{min-width:40px;min-height:40px;font-size:22px}
 .production-row{padding:20px;font-size:15px;margin:14px 0}.production-row small,.production-row span{font-size:13px}.production-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.production-links a{font-size:15px;padding:20px}.production-empty{font-size:15px;padding:28px}
 .subpage-head{margin-bottom:22px;gap:16px}.subpage-head h2{font-size:27px}.h5-pagination{font-size:14px;justify-content:flex-end;margin:22px 0}.h5-pagination a{padding:8px 14px}
 .h5-form .lab,.form .lab,.lab{font-size:14px}.h5-form,.form,.japan-checkout-form{font-size:14px}.h5-form input:not([type=checkbox]):not([type=hidden]),.h5-form select,.h5-form textarea,.jp-input{font-size:15px;min-height:44px}.errorlist{font-size:13px}.japan-checkout-form{padding:26px;margin:0;border-radius:18px}
 .h5-bubble{font-size:15px;max-width:82%;padding:16px 20px}.h5-bubble small{font-size:12px}.h5-chat{padding:22px;min-height:280px;background:#edf1f5;border:1px solid #e0e5eb;border-radius:18px;margin:0 0 20px}.h5-chat .h5-bubble{margin:10px 0}.h5-chat .staff{margin-left:auto}
 .support-account-tools{display:flex;gap:16px;align-items:center;padding-bottom:0!important}.support-account-tools>.btn{width:auto}.support-account-tools .h5-block-link{font-size:14px}
 #service .production-links{margin:22px 0}#service .production-row{display:inline-block;vertical-align:top;width:calc(50% - 12px);margin:10px 18px 10px 0}#service .production-row:nth-of-type(2n){margin-right:0}
 .page-support-open>.pad{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(0,1.5fr);gap:20px 36px;align-items:start}.page-support-open .subpage-head{grid-column:1/-1}.page-support-open .japan-checkout-form{grid-column:2;grid-row:2/span 5;margin:0}.page-support-open .production-note,.page-support-open .notice{grid-column:1;margin:0}
 #supportConversation>.pad{display:grid;grid-template-columns:minmax(270px,1fr) minmax(0,2.2fr);gap:24px 30px;align-items:start}#supportConversation .subpage-head{grid-column:1/-1;margin:0}#supportConversation .conversation-context{grid-column:1}#supportConversation .conversation-body{grid-column:2;grid-row:2}#supportConversation .conversation-context .banner{padding:22px}#supportConversation .conversation-context .banner h2{font-size:22px}#supportConversation .conversation-context>.production-note{margin:16px 0}#supportConversation .conversation-body>.h5-form{background:#fff;padding:24px;border:1px solid #e1e6ec;border-radius:18px}
 #request .request-intro{margin-bottom:22px}.request-desktop-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.8fr);gap:30px;align-items:start}.request-desktop-layout>.request-legal{margin:0;padding:34px 24px}.request-desktop-layout>.request-form{margin:0;padding:28px 34px;max-width:none}.request-form .request-compliance{font-size:13px}.request-form .request-compliance h3{font-size:18px}.request-form .request-compliance ol{line-height:1.8}.request-form .lab{margin-top:20px;font-size:14px}.request-form .production-note,.request-form .autosave-note{font-size:12px}.request-form .legal-note{font-size:13px}
 #login>.pad,#register>.pad{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);gap:40px;align-items:start;min-height:620px}#login>.pad>.form,#register>.pad>.form{margin:0;padding:30px}#login>.pad>.banner,#register>.pad>.banner{padding:45px;min-height:350px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#fff4ef,#f6f4f9)}#login .banner h2,#register .banner h2{font-size:36px}#login .banner p,#register .banner p{font-size:16px;line-height:1.9}.login-switch a{font-size:14px;padding:12px}.login-note,.login-register-link,.join-agree{font-size:13px;line-height:1.8}
 .policy-card,.benefit-card,.terms-card{font-size:14px;line-height:1.85}.policy-card p,.benefit-card p{font-size:14px}.member-tools .activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-tools .tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sheet{width:min(100%,660px)}
 /* Preserved legacy member pages use the same desktop shell and top navigation. */
 .app-shell .topbar{width:100%;max-width:none;padding:22px var(--desktop-gutter);height:auto;gap:25px;background:white;position:static}.app-shell>.ace-desktop-nav{padding:0 var(--desktop-gutter);background:#fff;border-bottom:1px solid var(--line)}.app-shell .page-pad.narrow,.app-shell .member-feature-page{width:100%;max-width:none;margin:0}.app-shell .feature-list,.app-shell .coupon-list,.app-shell .record-list,.app-shell .agreement-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-shell .record-list .empty-card{grid-column:1/-1}.app-shell .digital-card{max-width:800px;margin:24px 0}.app-shell .site-footer{padding:30px var(--desktop-gutter);font-size:14px}.app-shell .balance-card,.app-shell .referral-card{padding:32px}.app-shell .form-card{max-width:800px}.app-shell .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media screen and (min-width:1600px){:root{--desktop-gutter:48px}.ace-header-search{flex-basis:620px}.ace-desktop-nav{gap:46px}#login>.pad,#register>.pad{grid-template-columns:1.25fr 1fr;gap:64px}}
@media print{.ace-desktop-nav,.ace-desktop-footer,.ace-header-search,.ace-header-account{display:none!important}}
