/* Shared production visual system; channel colours remain distinct. */
:root{--ink:#172b3b;--muted:#667c89;--line:#e2eaf0}
body{background:#edf2f7;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
.phone{background:#f6f8fb;overflow-x:hidden}.body,.shop-shell{padding:24px 20px 100px!important}
#app{min-height:100dvh}#app h1{letter-spacing:-1px}#app h2{font-size:23px;line-height:1.4;margin:0 0 14px}#app h3{font-size:17px;line-height:1.5}
#app p{line-height:1.75;overflow-wrap:anywhere}.sub,.muted,.fine,.shop-description{color:var(--muted)}
.access-hero{padding:32px 24px 62px!important;border-radius:0 0 30px 30px;background:radial-gradient(ellipse at 95% 0%,#ffffff26,transparent 65%),linear-gradient(120deg,var(--access-dark,#2346ae),var(--access,#315eea))!important}
.access-hero h1{font-size:38px!important;line-height:1.28!important;margin:15px 0!important}.customer-home .access-hero h1{font-size:54px!important;font-variant-numeric:tabular-nums}
.access-hero .access-eyebrow{font-size:13px;letter-spacing:1px;opacity:.85}.access-card{margin:-30px 16px 18px!important;padding:24px!important;border:1px solid #ffffffb8;box-shadow:0 10px 34px #253e6010;border-radius:24px!important;position:relative}
.access-support{padding:8px 20px 24px!important}.access-card-heading{margin-bottom:22px}.access-card-heading h2{font-size:21px!important}
.card,.shop-panel{border:1px solid var(--line);border-radius:19px!important;padding:20px!important;box-shadow:0 4px 18px #253e6005;background:white}
.card.product{margin:14px 0}.card.product .row{align-items:center;gap:12px}.card.product h3{margin:0}.card.product p{font-size:13px}.tag{border-radius:7px;font-size:11px;white-space:nowrap}
.primary,.secondary,.shop-primary,.shop-secondary{min-height:50px;border-radius:13px!important;font-size:15px!important;font-weight:600;line-height:1.5!important;padding:14px 16px!important;margin-top:12px!important;transition:filter .15s}
button:active{filter:brightness(.96)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #7da5ff;outline-offset:3px}
.secondary,.shop-secondary{background:#edf2f8!important;color:#314e76!important;border:1px solid #e1e9f3!important}.journey-shortcuts{gap:10px}.journey-shortcuts button{margin:0!important;font-size:13px!important}
.field input,input:not([type=checkbox]),select,textarea{box-sizing:border-box;border:1px solid #dce5ed!important;border-radius:12px!important;min-height:48px;background:#f9fbfd!important;font-size:16px!important;color:var(--ink);max-width:100%}
.check{font-size:12px;line-height:1.8;align-items:flex-start}.check input{flex-shrink:0;margin-top:4px}.access-code{gap:8px}.access-code input{min-width:0}.access-code button{font-size:13px;white-space:nowrap}
.journey-checklist li{padding:15px 0}.journey-number{border-radius:10px}.application-journey .access-hero h1{font-size:30px!important}.application-journey .access-support>h2{font-size:18px!important}
.modal-wrap{padding:18px}.modal{border-radius:23px;max-height:85dvh;overflow:auto;padding:23px!important;box-sizing:border-box}.modal-head{font-size:19px}.modal p{line-height:1.75;font-size:14px}
.shop-wordmark{padding:0 0 18px}.shop-hero{border-radius:24px;padding:25px!important}.shop-hero h1{font-size:30px!important}.shop-search{border-radius:14px}.shop-vip{border-radius:22px;padding:24px!important;margin-bottom:20px}.shop-vip h1{font-size:31px!important}.shop-grid{gap:12px}.shop-product{border-radius:17px;overflow:hidden;border:1px solid var(--line)}
.shop-product-copy{padding:14px!important}.shop-product-copy h3{font-size:14px!important}.shop-categories{gap:8px;padding-bottom:12px;overflow-x:auto}.shop-categories button{white-space:nowrap;border-radius:10px;min-height:38px}.shop-order-card{width:100%;text-align:left}.shop-order-card .row{gap:12px;flex-wrap:wrap}.shop-order-card span{font-size:12px}
.shop-back{display:none}.shop-detail-art{border-radius:22px;max-height:230px}.shop-big-price{font-size:32px}.shop-terms{gap:8px}.shop-terms button{min-height:44px;border-radius:10px}.shop-panel .row{gap:12px;line-height:1.8}
.app-navigation{backdrop-filter:blur(16px);background:#fffffff5!important;box-sizing:border-box}.app-navigation button{font-size:11px}.error{font-size:13px}.access-note{font-size:12px!important}
@media(min-width:600px){.phone{box-shadow:0 15px 60px #29415b1f;margin:24px auto;border-radius:28px}.app-navigation{border-radius:20px 20px 0 0}}
@media(max-width:360px){.body,.shop-shell{padding:20px 15px 100px!important}.access-card{padding:19px!important}.access-hero h1{font-size:33px!important}.journey-shortcuts{grid-template-columns:1fr}.shop-grid{gap:8px}}
