:root{--navy:#0b2d54;--navy2:#08213e;--ink:#11233b;--muted:#66798f;--line:#dfe7ef;--soft:#f5f8fb;--soft2:#edf3f8;--green:#08a95a;--green-dark:#078a4b;--shadow:0 14px 38px rgba(8,33,62,.075)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#f7f9fc;font-size:14px}a{text-decoration:none;color:inherit}button,input{font:inherit}.customer-wrap{width:min(1180px,calc(100% - 34px));margin:auto}.customer-top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}.top-row{min-height:76px;display:grid;grid-template-columns:260px 1fr auto auto;gap:22px;align-items:center}.customer-brand{display:flex;align-items:center;gap:11px}.customer-brand-logo{width:46px;height:46px;border-radius:13px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:0 0 46px}.customer-brand-logo img{width:100%;height:100%;object-fit:contain}.customer-brand span strong,.customer-brand span small{display:block}.customer-brand span strong{font-size:16px}.customer-brand span small{font-size:12px;color:var(--muted);margin-top:3px}.customer-top nav{display:flex;gap:8px;align-items:center}.customer-top nav a{padding:10px 12px;border-radius:10px;font-size:14px;font-weight:700;color:#52657d;display:flex;align-items:center;gap:7px}.customer-top nav a svg{display:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.customer-top nav a.active{background:#edf4fa;color:var(--navy)}.customer-account{display:flex;align-items:center;gap:9px;text-align:right}.customer-account>div strong,.customer-account>div a{display:block}.customer-account strong{font-size:13px}.customer-account a{font-size:12px;color:#55708d;margin-top:4px}.customer-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf4fa;color:var(--navy);font-weight:800}.customer-menu{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);align-items:center;justify-content:center}.customer-menu svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.customer-main{padding:36px 0 70px}.customer-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.customer-page-head.compact,.order-detail-head{align-items:center}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#21609e}.customer-page-head h1{font-size:38px;line-height:1.04;margin:8px 0 8px;letter-spacing:-.04em}.customer-page-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.back-link{display:block;font-size:13px;color:#2d669d;margin-bottom:10px;font-weight:700}.customer-alert{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-size:14px}.customer-alert.success{background:#eaf8f0;color:#087a42;border:1px solid #caebd8}.customer-alert.error{background:#fff1f1;color:#a22f2f;border:1px solid #efcccc}.customer-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.customer-kpis article,.customer-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.customer-kpis article{padding:20px}.customer-kpis span,.customer-kpis small{display:block;color:var(--muted);font-size:12px}.customer-kpis strong{display:block;font-size:30px;margin:8px 0 4px}.customer-card{padding:22px;margin-bottom:18px}.card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.card-head h2{margin:0;font-size:21px;letter-spacing:-.02em}.card-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.card-head>a{color:#266aa7;font-size:13px;font-weight:700}.status-pill{display:inline-flex;align-items:center;border-radius:999px;background:#eaf7f0;color:#087c43;font-weight:800;font-size:12px;padding:8px 11px;white-space:nowrap}.status-pill.large{font-size:13px;padding:10px 14px}.status-pill.small{font-size:10px;padding:6px 9px}.customer-progress{display:flex;align-items:flex-start;gap:8px;margin:18px 0 22px}.progress-step{display:flex;flex-direction:column;align-items:center;gap:6px;width:105px;text-align:center;color:#8b9aaa;font-size:10px}.progress-step span{width:30px;height:30px;border-radius:50%;background:#e8edf3;display:grid;place-items:center;font-weight:800}.progress-step.done{color:#0b8350}.progress-step.done span{background:#e6f6ed;color:#087c43}.progress-step.current b{color:var(--navy)}.progress-line{flex:1;height:2px;background:#e5ebf1;margin-top:14px}.progress-line.done{background:#72c79d}.customer-btn{min-height:46px;border-radius:11px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;border:0;font-weight:800;font-size:13px;cursor:pointer}.customer-btn.primary{background:var(--green);color:#fff}.customer-btn.primary:hover{background:var(--green-dark)}.customer-btn.secondary{background:#fff;border:1px solid #d6e0e9;color:var(--navy)}.button-row{display:flex;gap:8px;flex-wrap:wrap}.current-order{padding:24px}.current-order-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.customer-current-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:center;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;padding:18px 0}.current-visuals{display:flex;gap:10px;overflow:hidden}.current-preview-tile{width:78px;height:96px;padding:0;border:1px solid #dfe7ef;border-radius:13px;background:#f5f8fb;overflow:hidden;cursor:zoom-in;flex:0 0 78px}.current-preview-tile:first-child{width:92px;height:112px;flex-basis:92px}.current-status{min-width:0}.next-step{background:#f1f7fc;border:1px solid #dbe9f4;border-radius:12px;padding:13px 14px}.next-step span,.order-next-banner>div>span,.window-context span{display:block;font-size:9px;letter-spacing:.12em;color:#47749d;font-weight:800;margin-bottom:4px}.next-step strong,.order-next-banner strong{font-size:14px}.next-step p,.order-next-banner p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.order-summary-line{display:flex;justify-content:space-between;align-items:center;padding-top:16px;margin:0 0 16px}.order-summary-line span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.recent-card .card-head{margin-bottom:5px}.customer-order-list>a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #edf1f5}.customer-order-list>a:last-child{border-bottom:0}.visual-list>a{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:13px}.order-list-thumb{width:56px;height:64px;border-radius:10px;border:1px solid #e2e8ee;background:#f3f6f9;overflow:hidden;display:grid;place-items:center}.order-list-thumb.fallback{font-weight:800;color:var(--navy)}.order-list-main{min-width:0}.order-list-main>strong{font-size:13px}.order-list-main>span,.order-list-main>small{display:block;color:var(--muted);font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-list-end{text-align:right;display:flex;align-items:flex-end;gap:6px;flex-direction:column}.order-list-end>strong{font-size:13px}.order-list-end>small{font-size:10px;color:#2b669f}.empty-state{text-align:center;padding:44px}.empty-state p{color:var(--muted)}.customer-two-col{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.order-side{display:grid;gap:0}.order-status-card{padding-bottom:18px}.order-next-banner{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:#f1f7fc;border:1px solid #d9e7f3;border-radius:13px;padding:14px}.order-next-banner>div:first-child{max-width:690px}.window-context{text-align:right;min-width:190px;border-left:1px solid #d9e7f3;padding-left:18px}.window-context strong,.window-context small{display:block}.window-context small{font-size:10px;color:var(--muted);margin-top:4px}.customer-items{border-top:1px solid #edf1f5}.customer-item{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:17px;align-items:center;padding:18px 0;border-bottom:1px solid #edf1f5}.customer-item-thumb{width:112px;height:126px;padding:0;border-radius:13px;background:#f3f6f9;border:1px solid #dfe6ed;overflow:hidden;position:relative;cursor:zoom-in}.preview-zoom-icon{position:absolute;right:7px;top:7px;width:25px;height:25px;border-radius:8px;background:rgba(255,255,255,.92);display:grid;place-items:center;color:#245c91;opacity:0;transition:.15s}.customer-item-thumb:hover .preview-zoom-icon{opacity:1}.preview-zoom-icon svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}.customer-item-copy>strong{font-size:15px}.item-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.item-chips span{height:27px;display:flex;align-items:center;gap:4px;padding:0 8px;border:1px solid #e1e7ed;background:#f8fafc;border-radius:7px;color:#708196;font-size:10px}.item-chips b{color:#20364f}.item-personalisation{display:grid;grid-template-columns:auto auto;justify-content:start;gap:2px 8px;margin-top:10px}.item-personalisation span{font-size:10px;color:#687b91}.item-personalisation strong{font-size:12px}.item-personalisation small{grid-column:1/-1;color:#8290a2;font-size:9px}.customer-item-price{text-align:right}.customer-item-price strong{font-size:16px}.customer-item-price small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.customer-totals{margin:18px 0 20px;margin-left:auto;max-width:330px}.customer-totals>div{display:flex;justify-content:space-between;padding:7px 0;color:#52657b}.customer-totals .total{border-top:1px solid #dfe6ed;margin-top:6px;padding-top:12px;font-size:19px;color:var(--ink)}.reorder-note{font-size:10px;color:var(--muted);line-height:1.5;margin:12px 0 0}.detail-list{margin:0}.detail-list>div{padding:10px 0;border-bottom:1px solid #edf1f5}.detail-list dt{color:var(--muted);font-size:11px}.detail-list dd{margin:4px 0 0;font-weight:600;line-height:1.5;font-size:12px;word-break:break-word}.activity-list>div{display:flex;gap:10px;position:relative;padding-bottom:14px}.activity-list i{width:10px;height:10px;border-radius:50%;background:#0c9f59;margin-top:5px;flex:0 0 10px}.activity-list p{margin:0}.activity-list strong,.activity-list span{display:block}.activity-list strong{font-size:12px}.activity-list span{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.45}.activity-list .email-event i{background:#3577b5}.order-tabs{display:flex;gap:8px;margin:-4px 0 14px}.order-tabs a{height:38px;padding:0 13px;border:1px solid #dfe7ef;background:#fff;border-radius:10px;display:flex;align-items:center;gap:7px;font-weight:700;font-size:12px;color:#5d7188}.order-tabs a span{background:#eef3f8;border-radius:999px;padding:3px 7px;font-size:9px}.order-tabs a.active{background:var(--navy);border-color:var(--navy);color:#fff}.order-tabs a.active span{background:rgba(255,255,255,.16)}.orders-directory{padding:8px 20px}.order-directory-list>a{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:16px;padding:16px 0}.order-preview-stack{width:104px;height:66px;display:flex;align-items:center}.order-preview-stack .order-list-thumb{width:58px;height:66px;flex:0 0 58px}.order-preview-stack .order-list-thumb+ .order-list-thumb{margin-left:-14px;box-shadow:-4px 0 10px rgba(8,33,62,.08)}.profile-card{max-width:900px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:13px;font-weight:700}.form-grid label.full{grid-column:1/-1}.form-grid input{display:block;width:100%;height:46px;border:1px solid #d7e0e9;border-radius:10px;margin-top:6px;padding:0 12px}.form-grid small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.profile-card .customer-btn{margin-top:18px}.customer-footer{border-top:1px solid var(--line);background:#fff;padding:20px 0;color:var(--muted);font-size:11px}.customer-footer .customer-wrap{display:flex;gap:18px;align-items:center}.customer-footer a{margin-left:auto;color:#28659e;font-weight:700}
/* Shared customer product preview. Uses the same server renderer and placement data as the storefront. */
.customer-product-preview{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;container-type:inline-size}.customer-product-preview .preview-coordinate-space{position:absolute;inset:0}.customer-product-preview .product-photo,.customer-product-preview .product-render-canvas{position:absolute;left:var(--photo-left,4%);top:var(--photo-top,4%);width:var(--photo-width,92%);height:var(--photo-height,92%);object-fit:contain;z-index:1}.customer-product-preview .product-render-canvas{z-index:2;pointer-events:none}.customer-product-preview .preview-artwork,.customer-product-preview .preview-personalisation{position:absolute;z-index:4;left:var(--art-x,62%);top:var(--art-y,31%);width:var(--art-w,9%);height:var(--art-h,11%);transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none}.customer-product-preview .preview-artwork-img{width:var(--art-fit,70%);height:var(--art-fit,70%);max-width:100%;max-height:100%;object-fit:contain}.customer-product-preview .preview-artwork-fallback{width:var(--art-fit,70%);height:var(--art-fit,70%);background:#0d3159;color:#fff;display:grid;place-items:center;clip-path:polygon(50% 0,92% 10%,92% 64%,78% 84%,50% 100%,22% 84%,8% 64%,8% 10%)}.customer-product-preview .preview-artwork-fallback b{font-size:clamp(3px,2.2cqw,8px)}.customer-product-preview .preview-personalisation{left:var(--text-x,38%);top:var(--text-y,31%);width:var(--text-w,10%);height:var(--text-h,11%);color:var(--thread,#fff);font-size:clamp(4px,3.2cqw,18px);font-weight:800;white-space:nowrap;width:auto;height:auto;text-shadow:0 1px 2px rgba(0,0,0,.45);letter-spacing:-.02em}.customer-product-preview.decoration-embroidery .preview-personalisation{text-shadow:-.35px 0 var(--thread),.35px 0 var(--thread),0 .35px var(--thread),0 1px 2px rgba(0,0,0,.42)}.customer-product-preview.decoration-embroidery .preview-artwork-img{filter:drop-shadow(0 .4px .35px rgba(0,0,0,.36)) saturate(1.04)}.customer-preview-fallback{position:absolute;inset:12%;border-radius:14px;background:#edf2f7;color:var(--navy);display:grid;place-items:center;font-weight:900}.customer-preview-modal{position:fixed;inset:0;background:rgba(3,18,34,.68);z-index:100;display:none;align-items:center;justify-content:center;padding:24px}.customer-preview-modal.open{display:flex}.customer-preview-dialog{width:min(520px,100%);background:#fff;border-radius:20px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.customer-preview-large{height:min(62vh,520px);background:#f3f6f9;border-radius:15px;border:1px solid #e1e7ed;overflow:hidden}.customer-preview-large .customer-product-preview{width:100%;height:100%}.customer-preview-caption{padding:14px 3px 2px}.customer-preview-caption strong,.customer-preview-caption span{display:block}.customer-preview-caption strong{font-size:16px}.customer-preview-caption span{font-size:12px;color:var(--muted);margin-top:4px}.customer-preview-close{position:fixed;right:22px;top:22px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:25px;z-index:101;cursor:pointer}.customer-nav-overlay{display:none}
/* Authentication */
.auth-page{min-height:100vh;background:linear-gradient(135deg,#edf3f9,#fbfcfd);display:flex;align-items:center;justify-content:center;padding:26px}.auth-shell{width:min(470px,100%)}.auth-brand{display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:18px}.auth-brand span strong,.auth-brand span small{display:block}.auth-brand span small{font-size:11px;color:var(--muted);margin-top:3px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.auth-card h1{font-size:32px;margin:8px 0 9px;letter-spacing:-.04em}.auth-card>p{color:var(--muted);line-height:1.55}.auth-card form label{display:block;font-size:13px;font-weight:700;margin:12px 0}.auth-card input{display:block;width:100%;height:47px;border:1px solid #d5dfe8;border-radius:10px;margin-top:6px;padding:0 12px}.auth-card .customer-btn{width:100%;margin-top:7px}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#8795a4;font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e3e8ee;flex:1}.auth-links{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:12px;color:#2a669f}.link-button{border:0;background:none;color:#2a669f;padding:0;cursor:pointer}.magic-form{padding:12px 14px 14px;border-radius:13px;background:#f7f9fc;border:1px solid #e3e9ef}.magic-form label{margin-top:0!important}.reset-panel{display:block;margin-top:16px;padding:14px;border-radius:13px;background:#f1f7fc;border:1px solid #d8e7f2}.reset-panel[hidden]{display:none!important}.reset-panel strong{font-size:13px}.reset-panel p{font-size:11px;color:var(--muted);margin:4px 0 10px}.reset-fields{display:grid;grid-template-columns:1fr 120px;gap:8px}.reset-fields input{margin:0!important}.reset-fields .customer-btn{margin:0!important;min-height:47px}.auth-card small{color:var(--muted);font-weight:400}.auth-help{text-align:center;color:var(--muted);font-size:10px;line-height:1.5;margin:14px 20px 0}
@media(max-width:900px){.top-row{grid-template-columns:1fr auto auto;gap:11px;padding:11px 0}.customer-top nav{position:fixed;top:0;right:-310px;width:290px;height:100dvh;background:#fff;z-index:80;display:flex;flex-direction:column;align-items:stretch;padding:82px 18px 20px;box-shadow:-18px 0 50px rgba(5,28,52,.16);transition:right .22s}.customer-top nav a{min-height:48px}.customer-top nav a svg{display:block}.customer-menu{display:flex;grid-column:2}.customer-account{grid-column:3}.customer-nav-open .customer-top nav{right:0}.customer-nav-open .customer-nav-overlay{display:block;position:fixed;inset:0;background:rgba(5,25,46,.42);z-index:60}.customer-current-grid{grid-template-columns:190px minmax(0,1fr);gap:18px}.current-preview-tile{width:58px;height:74px;flex-basis:58px}.current-preview-tile:first-child{width:72px;height:90px;flex-basis:72px}.customer-kpis{grid-template-columns:repeat(3,1fr)}.customer-two-col{grid-template-columns:1fr}.order-side{grid-template-columns:1fr 1fr;gap:18px}.customer-progress{overflow-x:auto;padding-bottom:5px}.progress-step{min-width:86px}.order-directory-list>a{grid-template-columns:90px minmax(0,1fr) auto}.order-preview-stack{width:90px}.customer-item{grid-template-columns:100px minmax(0,1fr) auto}.customer-item-thumb{width:100px;height:114px}}
@media(max-width:650px){.customer-wrap{width:calc(100% - 22px)}.customer-main{padding:24px 0 48px}.customer-brand-logo{width:40px;height:40px;flex-basis:40px}.customer-brand span strong{font-size:14px}.customer-brand span small{display:none}.customer-account>div{display:none}.customer-avatar{width:38px;height:38px}.customer-page-head{display:block;margin-bottom:17px}.customer-page-head .customer-btn{margin-top:13px}.customer-page-head h1{font-size:31px}.order-detail-head .status-pill{margin-top:14px}.customer-kpis{grid-template-columns:repeat(3,1fr);gap:8px}.customer-kpis article{padding:13px 12px;border-radius:14px}.customer-kpis strong{font-size:22px;margin:6px 0 3px}.customer-kpis span,.customer-kpis small{font-size:9px}.customer-card{padding:15px;border-radius:15px}.current-order{padding:15px}.current-order-head{align-items:center}.current-order-head h2{font-size:17px}.current-order-head p{font-size:10px}.customer-current-grid{grid-template-columns:1fr;gap:12px;padding:12px 0}.current-visuals{overflow-x:auto;padding-bottom:3px}.current-preview-tile{width:68px;height:84px;flex-basis:68px}.current-preview-tile:first-child{width:76px;height:94px;flex-basis:76px}.customer-progress{margin:10px 0 14px;gap:5px}.progress-step{min-width:70px;font-size:8px}.progress-step span{width:25px;height:25px}.progress-line{min-width:24px;margin-top:12px}.order-summary-line{padding-top:13px}.button-row .customer-btn{flex:1}.visual-list>a{grid-template-columns:50px minmax(0,1fr) auto;gap:9px}.order-list-thumb{width:50px;height:58px}.order-list-end .status-pill{display:none}.order-status-card{padding:13px}.order-next-banner{display:block;padding:12px}.window-context{text-align:left;min-width:0;border-left:0;border-top:1px solid #d9e7f3;padding:10px 0 0;margin-top:10px}.order-side{grid-template-columns:1fr;gap:0}.customer-item{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:14px 0;align-items:start}.customer-item-thumb{width:82px;height:96px}.customer-item-price{grid-column:2;text-align:left;display:flex;align-items:baseline;gap:7px}.customer-item-price small{display:inline}.item-chips{margin-top:7px}.order-items-card .card-head p{display:none}.customer-totals{max-width:none;margin-left:0}.order-tabs{overflow-x:auto}.orders-directory{padding:4px 14px}.order-directory-list>a{grid-template-columns:76px minmax(0,1fr);gap:11px;align-items:center}.order-preview-stack{width:76px;height:58px}.order-preview-stack .order-list-thumb{width:49px;height:58px;flex-basis:49px}.order-list-end{grid-column:2;flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-top:-4px}.order-list-end .status-pill{display:inline-flex}.order-list-main>span,.order-list-main>small{font-size:9px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.customer-footer .customer-wrap{flex-wrap:wrap;gap:6px 12px}.customer-footer a{margin-left:0;width:100%}.customer-preview-modal{padding:12px}.customer-preview-close{right:14px;top:14px}.customer-preview-dialog{padding:11px;border-radius:16px}.customer-preview-large{height:min(65vh,460px)}.auth-page{padding:16px}.auth-card{padding:22px 18px}.auth-card h1{font-size:29px}.reset-fields{grid-template-columns:1fr}.reset-fields .customer-btn{width:100%}}
@media(max-width:390px){.customer-kpis{grid-template-columns:1fr 1fr}.customer-kpis article:last-child{grid-column:1/-1}.top-row{gap:7px}.customer-menu{width:38px;height:38px}.customer-avatar{width:36px;height:36px}.customer-page-head h1{font-size:29px}.button-row .customer-btn{width:100%;flex:auto}.visual-list>a{grid-template-columns:48px minmax(0,1fr)}.visual-list .order-list-end{grid-column:2;flex-direction:row;align-items:center}.visual-list .order-list-end .status-pill{display:none}}


/* v3.3.1 — Customer Portal Brand Header Polish */
.customer-brand-lockup{min-width:0}
.customer-brand-logo{width:52px;height:52px;flex:0 0 52px;border-radius:16px;background:#fff;border:1px solid #dce5ee;box-shadow:0 7px 18px rgba(8,33,62,.09);overflow:hidden;isolation:isolate}
.customer-brand-logo.custom-brand-logo img{width:100%;height:100%;object-fit:contain;transform:scale(1.12);transform-origin:center;display:block}
.customer-brand-copy{min-width:0;line-height:1.08}
.customer-brand-copy strong{font-size:17px!important;font-weight:800;letter-spacing:-.025em;color:var(--ink);white-space:nowrap}
.customer-brand-copy small{font-size:11.5px!important;line-height:1.25;color:var(--muted)!important;margin-top:5px!important;white-space:nowrap}
.customer-brand{gap:13px;padding:5px 7px 5px 5px;border-radius:16px;transition:background .16s ease,box-shadow .16s ease}
.customer-brand:hover{background:#f6f9fc}
.top-row{grid-template-columns:290px 1fr auto auto}
.auth-brand{width:max-content;max-width:100%;justify-content:flex-start;gap:14px;margin:0 auto 20px;padding:10px 14px 10px 10px;background:rgba(255,255,255,.86);border:1px solid rgba(215,225,235,.95);border-radius:20px;box-shadow:0 10px 28px rgba(8,33,62,.07);backdrop-filter:blur(8px)}
.auth-brand .customer-brand-logo{width:62px;height:62px;flex-basis:62px;border-radius:18px;box-shadow:0 8px 22px rgba(8,33,62,.12)}
.auth-brand .customer-brand-copy strong{font-size:18px!important;letter-spacing:-.03em}
.auth-brand .customer-brand-copy small{font-size:11.5px!important;margin-top:6px!important}
.auth-shell{width:min(470px,100%)}
@media(max-width:900px){.top-row{grid-template-columns:1fr auto auto}.customer-brand-logo{width:48px;height:48px;flex-basis:48px;border-radius:15px}}
@media(max-width:650px){.customer-brand{gap:10px;padding:3px}.customer-brand-logo{width:44px;height:44px;flex-basis:44px;border-radius:14px}.customer-brand-copy strong{font-size:14.5px!important}.customer-brand-copy small{display:block!important;font-size:9.5px!important;margin-top:3px!important}.auth-brand{padding:9px 12px 9px 9px;gap:12px;margin-bottom:17px;border-radius:18px}.auth-brand .customer-brand-logo{width:56px;height:56px;flex-basis:56px;border-radius:17px}.auth-brand .customer-brand-copy strong{font-size:16.5px!important}.auth-brand .customer-brand-copy small{font-size:10.5px!important}.auth-page{align-items:flex-start;padding-top:28px}}
@media(max-width:390px){.customer-brand-copy small{display:none!important}.auth-brand .customer-brand-copy small{display:block!important}.auth-brand{max-width:calc(100vw - 32px)}}

/* v3.19.6 — Customer Portal UX & Order Preview Consistency */
.customer-hero{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin:24px 0 18px;padding:24px;border:1px solid #dce7f2;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f3f8fd 100%);box-shadow:0 14px 40px rgba(8,33,62,.055)}
.customer-hero h1{margin:6px 0 8px;font-size:34px;line-height:1.08;letter-spacing:-.04em}.customer-hero p{margin:0;color:var(--muted);max-width:680px;line-height:1.55}.latest-order-card{padding:0;overflow:hidden}.latest-order-card.needs-action{border-color:#f0c77c;box-shadow:0 16px 42px rgba(190,126,19,.12)}.latest-order-main{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;padding:22px 22px 12px}.latest-copy h2{font-size:30px;letter-spacing:-.035em;margin:4px 0}.latest-copy p{color:var(--muted);margin:0 0 12px}.latest-previews{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-width:0}.latest-status-panel{padding:0 22px 18px}.customer-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}.customer-action-card{display:block;padding:18px;border:1px solid #deebf5;background:#fff;border-radius:20px;box-shadow:0 10px 26px rgba(8,33,62,.045)}.customer-action-card.warn{border-color:#f0c77c;background:#fff9ef}.customer-action-card span{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.customer-action-card strong{display:block;font-size:32px;letter-spacing:-.04em;margin:6px 0;color:var(--ink)}.customer-action-card small{color:var(--muted)}
.orders-toolbar{display:flex;gap:10px;margin:0 0 14px}.orders-toolbar input{flex:1;border:1px solid #d8e5ef;border-radius:15px;padding:13px 15px;background:#fff;color:var(--ink);box-shadow:0 8px 22px rgba(8,33,62,.035)}.order-list-main em{display:block;font-style:normal;margin-top:5px;color:#335b84;font-size:12px}.order-next-banner.action{background:#fff8ea;border-color:#f0c77c}.order-next-banner.success{background:#f0fff7;border-color:#bfead4}.order-next-banner.muted{background:#f5f7fa}.order-next-banner .customer-btn{margin-top:10px}.item-decoration-list{display:grid;gap:8px;margin-top:10px}.item-decoration-list>div{padding:9px 10px;border-radius:12px;background:#f5f9fd;border:1px solid #dfeaf4}.item-decoration-list span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.item-decoration-list strong{display:block;margin-top:2px}.item-decoration-list small{display:block;margin-top:2px;color:var(--muted)}.profile-layout{align-items:start}.profile-actions{display:flex;align-items:center;gap:12px;margin-top:18px}.profile-actions span{color:var(--muted);font-size:12px}.account-help p{color:var(--muted);line-height:1.55}.customer-product-preview[data-renderer-context="storefront"] .preview-artwork,.customer-product-preview[data-renderer-context="storefront"] .preview-personalisation,.customer-product-preview [data-renderer-source-only]{display:none!important;visibility:hidden!important}.customer-product-preview .ff-live-decoration-layer{visibility:visible!important}.customer-product-preview .product-photo{max-width:100%;max-height:100%;object-fit:contain;display:block;margin:auto}.customer-product-preview .preview-coordinate-space{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden}
@media(max-width:900px){.customer-hero{padding:20px;display:block}.customer-hero .customer-btn{margin-top:14px}.latest-order-main{grid-template-columns:1fr}.latest-previews{justify-content:flex-start;overflow-x:auto}.customer-action-grid{grid-template-columns:1fr 1fr}.customer-action-grid a:last-child{grid-column:1/-1}}
@media(max-width:650px){.customer-hero{margin:18px 0 14px;padding:18px;border-radius:18px}.customer-hero h1{font-size:29px}.latest-order-main{padding:16px 16px 8px}.latest-copy h2{font-size:24px}.latest-status-panel{padding:0 16px 15px}.customer-action-grid{grid-template-columns:1fr;gap:10px}.orders-toolbar{display:grid;grid-template-columns:1fr}.profile-actions{display:block}.profile-actions span{display:block;margin-top:9px}.item-decoration-list>div{padding:8px}.customer-item-copy{min-width:0}}
/* v3.19.7 — Customer Portal visual system. Presentation only. */
body.customer-portal{
  --ink:#142b46;--muted:#52677f;--line:#dce5ee;--soft:#f5f8fc;
  --green:#087f46;--green-dark:#066b3a;--shadow:0 5px 22px rgba(13,39,68,.035);
  background:#f7f9fc;color:var(--ink);font-size:15px;line-height:1.5;
}
.customer-portal button,.customer-portal input,.customer-portal select,.customer-portal textarea{font:inherit}
.customer-portal :focus-visible{outline:3px solid #357cc2;outline-offset:3px}
.customer-portal .customer-wrap{width:min(1180px,calc(100% - 48px))}
.customer-portal .customer-skip-link{position:absolute;top:-100px;left:16px;z-index:120;background:#fff;color:var(--navy);padding:10px 16px;border-radius:8px;font-weight:700}
.customer-portal .customer-skip-link:focus{top:10px}
/* Keep the configured brand image intact. Never magnify or crop its contents. */
.customer-portal .customer-top{z-index:50;box-shadow:none}
.customer-portal .customer-top .customer-wrap{width:min(1280px,calc(100% - 48px))}
.customer-portal .top-row{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.customer-portal .customer-brand{display:flex;align-items:center;gap:13px;padding:0;min-width:0;flex:0 1 auto;border-radius:0}
.customer-portal .customer-brand:hover{background:transparent}
.customer-portal .customer-brand-logo{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border:0;border-radius:0;background:transparent;color:var(--navy);box-shadow:none;overflow:visible;isolation:auto}
.customer-portal .customer-brand-logo.custom-brand-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-width:100%;max-height:100%;transform:none!important;filter:none}
.customer-portal .customer-brand-copy{display:block;min-width:0;line-height:1.2}
.customer-portal .customer-brand-copy strong{display:block;font-size:18px!important;font-weight:800;letter-spacing:-.025em;line-height:1.2;color:var(--ink);white-space:normal}
.customer-portal .customer-brand-copy small{display:block;font-size:12px!important;font-weight:500;line-height:1.35;margin-top:3px!important;color:var(--muted)!important;white-space:normal}
.customer-portal .customer-top nav{display:flex;align-items:center;gap:4px;margin-left:auto;min-width:0}
.customer-portal .customer-top nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 13px;border-radius:10px;font-size:14px;font-weight:600;white-space:nowrap;color:#41556e}
.customer-portal .customer-top nav a:hover{background:#f1f5fa;color:var(--navy)}
.customer-portal .customer-top nav a.active{background:#eaf2fb;color:var(--navy);font-weight:700}
.customer-portal .customer-top nav a svg{display:block;width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.customer-portal .customer-nav-close,.customer-portal .customer-mobile-signout{display:none!important}
.customer-portal .customer-account{display:flex;align-items:center;gap:10px;text-align:left;min-width:0;flex:0 1 auto}
.customer-portal .customer-avatar{width:40px;height:40px;flex:0 0 40px;font-size:14px}
.customer-portal .customer-account>div{min-width:0}
.customer-portal .customer-account-name{display:block;color:var(--ink);font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap}
.customer-portal .customer-signout{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.3}
.customer-portal .customer-account a:hover{text-decoration:underline}
.customer-portal .customer-main{padding:36px 0 64px;min-height:calc(100vh - 160px)}
/* Page hierarchy: one clear heading, restrained surfaces, readable supporting text. */
.customer-portal .customer-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.customer-portal .customer-hero h1,.customer-portal .customer-page-head h1{font-size:clamp(28px,3vw,36px);line-height:1.16;letter-spacing:-.035em;margin:7px 0 9px}
.customer-portal .customer-hero p,.customer-portal .customer-page-head p{font-size:15px;line-height:1.6;max-width:660px;color:var(--muted)}
.customer-portal .eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:#426c99}
.customer-portal .customer-card,.customer-portal .customer-kpis article{border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);background:#fff}
.customer-portal .customer-card{padding:24px;margin-bottom:18px}
.customer-portal .customer-card h2{letter-spacing:-.025em}
.customer-portal .card-head{align-items:center;margin-bottom:20px}
.customer-portal .card-head h2{font-size:21px;line-height:1.3}
.customer-portal .card-head p{font-size:13px;line-height:1.55;margin-top:5px}
.customer-portal .card-head>a,.customer-portal .back-link{font-size:14px;font-weight:700;color:#285e93}
.customer-portal .customer-btn{min-height:44px;border-radius:10px;padding:11px 17px;font-size:14px;line-height:1.4;font-weight:700;gap:8px;text-align:center}
.customer-portal .customer-btn.primary{background:var(--green);color:#fff}
.customer-portal .customer-btn.primary:hover{background:var(--green-dark)}
.customer-portal .customer-btn.secondary{border:1px solid #d4e0ec;background:#fff;color:var(--navy)}
.customer-portal .customer-btn.secondary:hover{background:#f4f8fc;border-color:#b9cee2}
.customer-portal .status-pill{font-size:12px;font-weight:700;line-height:1.35;padding:7px 10px;white-space:normal;text-align:center}
.customer-portal .status-pill.large{font-size:13px;padding:8px 12px}
.customer-portal .status-pill.small{font-size:12px;padding:6px 10px}
.customer-portal .needs-action .status-pill{background:#fff0d6;color:#805014}
/* Dashboard: current order first; progress and next action remain easy to scan. */
.customer-portal .latest-order-card{padding:0;overflow:hidden}
.customer-portal .latest-order-card.needs-action{border-color:#e7cf9d;box-shadow:var(--shadow)}
.customer-portal .latest-order-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding:26px 28px 24px}
.customer-portal .latest-copy{min-width:0}
.customer-portal .latest-copy h2{font-size:28px;line-height:1.2;margin:5px 0 7px;letter-spacing:-.03em}
.customer-portal .latest-copy p{font-size:14px;line-height:1.55;margin:0 0 13px;color:var(--muted)}
.customer-portal .latest-previews{display:flex;gap:10px;align-items:center;justify-content:flex-end;overflow:visible;min-width:0}
.customer-portal .current-preview-tile,.customer-portal .current-preview-tile:first-child{width:92px;height:108px;flex:0 0 92px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f7f9fc;overflow:hidden}
.customer-portal .current-preview-tile:first-child{width:104px;height:120px;flex-basis:104px}
.customer-portal .latest-status-panel{padding:22px 28px 24px;border-top:1px solid #edf1f5}
.customer-portal .customer-progress{display:flex;align-items:flex-start;gap:8px;margin:0 0 22px;overflow:visible;padding:0}
.customer-portal .progress-step{flex:1 1 0;width:auto;min-width:0;gap:8px;font-size:12px;line-height:1.3;color:#64768b}
.customer-portal .progress-step span{width:32px;height:32px;flex:0 0 32px;font-size:13px}
.customer-portal .progress-step b{font-weight:600;overflow-wrap:break-word}
.customer-portal .progress-step.current b{font-weight:800;color:var(--navy)}
.customer-portal .progress-line{flex:0 1 34px;min-width:0;height:2px;margin-top:15px}
.customer-portal .next-step,.customer-portal .order-next-banner{padding:18px 20px;border:1px solid #dce7f2;border-radius:12px;background:#f3f7fb}
.customer-portal .next-step.action,.customer-portal .order-next-banner.action{background:#fff8ec;border-color:#eed8ae}
.customer-portal .next-step span,.customer-portal .order-next-banner>div>span,.customer-portal .window-context span{font-size:11px;letter-spacing:.1em;margin-bottom:5px;color:#426c99}
.customer-portal .next-step strong,.customer-portal .order-next-banner strong{display:block;font-size:16px;line-height:1.35;color:var(--ink)}
.customer-portal .next-step p,.customer-portal .order-next-banner p{font-size:14px;line-height:1.55;margin:5px 0 0;color:var(--muted)}
.customer-portal .next-step .customer-btn,.customer-portal .order-next-banner .customer-btn{margin-top:14px}
.customer-portal .order-summary-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;margin:0;border-top:1px solid #edf1f5}
.customer-portal .order-summary-line>div{min-width:0}
.customer-portal .order-summary-line strong{font-size:15px;line-height:1.4}
.customer-portal .order-summary-line>strong{font-size:18px;white-space:nowrap}
.customer-portal .order-summary-line span{font-size:13px;line-height:1.4;margin-top:3px}
.customer-portal .latest-order-card>.button-row{padding:0 28px 26px;margin:0}
.customer-portal .customer-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.customer-portal .customer-action-card{padding:18px 20px;border-radius:16px;border:1px solid var(--line);box-shadow:none;background:#fff;transition:border-color .15s,background .15s}
.customer-portal .customer-action-card:hover{border-color:#b8cde2;background:#fbfdff}
.customer-portal .customer-action-card.warn{background:#fffaf2;border-color:#edd8b4}
.customer-portal .customer-action-card span{font-size:12px;letter-spacing:.055em;line-height:1.4}
.customer-portal .customer-action-card strong{font-size:28px;line-height:1.2;margin:7px 0 4px}
.customer-portal .customer-action-card small{display:block;font-size:13px;line-height:1.45;color:var(--muted)}
/* Order directories and details use the same visual hierarchy. */
.customer-portal .recent-card,.customer-portal .orders-directory{padding:0;overflow:hidden}
.customer-portal .recent-card .card-head{margin:0;padding:22px 24px 16px}
.customer-portal .customer-order-list>a{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 24px;border-top:1px solid #edf1f5;min-width:0}
.customer-portal .customer-order-list>a:hover{background:#f8fbfe}
.customer-portal .order-list-thumb{width:76px;height:84px;border-radius:11px;border:1px solid #e1e8f0;background:#f7f9fc;flex:0 0 76px;overflow:hidden}
.customer-portal .order-list-main{min-width:0}
.customer-portal .order-list-main>strong{display:block;font-size:16px;line-height:1.35;color:var(--ink)}
.customer-portal .order-list-main>span,.customer-portal .order-list-main>small{display:block;font-size:13px;line-height:1.45;margin-top:4px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.customer-portal .order-list-main em{font-size:13px;line-height:1.45;margin-top:6px}
.customer-portal .order-list-end{display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right;min-width:0}
.customer-portal .order-list-end>strong{font-size:16px;line-height:1.35}
.customer-portal .order-list-end>small{font-size:12px;line-height:1.4}
.customer-portal .visual-list .order-list-end .status-pill,.customer-portal .order-list-end .status-pill{display:inline-flex}
.customer-portal .order-preview-stack{display:flex;align-items:center;min-width:0}
.customer-portal .order-preview-stack .order-list-thumb{width:64px;height:72px;flex-basis:64px}
.customer-portal .order-preview-stack .order-list-thumb+.order-list-thumb{margin-left:-12px}
.customer-portal .order-directory-list>a{grid-template-columns:122px minmax(0,1fr) auto}
.customer-portal .orders-toolbar{display:flex;gap:10px;margin:0 0 18px}
.customer-portal .orders-toolbar input{min-width:0;min-height:46px;font-size:15px;padding:12px 14px;border-radius:10px;box-shadow:none}
.customer-portal .order-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;overflow:visible}
.customer-portal .order-tabs a{min-height:44px;height:auto;font-size:14px;padding:10px 15px;line-height:1.4}
.customer-portal .order-tabs a span{font-size:12px;padding:2px 7px}
.customer-portal .customer-two-col{grid-template-columns:minmax(0,1fr) 320px;gap:20px}
.customer-portal .order-items-card,.customer-portal .order-side{min-width:0}
.customer-portal .customer-item{gap:16px}
.customer-portal .customer-item-copy>strong{font-size:16px;line-height:1.4}
.customer-portal .customer-item-price strong{font-size:16px}
.customer-portal .customer-item-copy,.customer-portal .item-decoration-list,.customer-portal .detail-list{font-size:14px}
.customer-portal .detail-list>div{padding:13px 0}
.customer-portal .detail-list dt{font-size:13px;line-height:1.4}
.customer-portal .detail-list dd{font-size:14px;line-height:1.55;margin-top:5px}
.customer-portal .item-decoration-list small,.customer-portal .reorder-note,.customer-portal .activity-list p span,.customer-portal .profile-actions span{font-size:13px;line-height:1.5}
.customer-portal .customer-totals{font-size:14px}
.customer-portal .order-side .customer-card h2{font-size:19px}
/* Account forms: readable labels and touch-friendly controls. */
.customer-portal .form-grid{gap:18px}
.customer-portal .form-grid label{font-size:14px;line-height:1.4;font-weight:700;min-width:0}
.customer-portal .form-grid input{height:48px;font-size:15px;border-radius:10px;margin-top:7px;padding:11px 13px;min-width:0}
.customer-portal .form-grid small{font-size:12px;line-height:1.5}
.customer-portal .profile-actions{gap:14px}
.customer-portal .customer-footer{padding:24px 0;font-size:13px;line-height:1.5}
.customer-portal .customer-footer .customer-wrap{gap:12px 22px}
.customer-portal .customer-footer a{font-size:13px}
/* Authentication pages share the same uncropped configured logo. */
.auth-brand .customer-brand-logo{background:transparent;border:0;box-shadow:none;overflow:visible;isolation:auto;border-radius:0}
.auth-brand .customer-brand-logo.custom-brand-logo img{transform:none!important;object-fit:contain;object-position:center;filter:none}
/* Tablet and mobile: no tiny desktop layout squeezed into a phone. */
@media(max-width:960px){
  .customer-portal .top-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;min-height:72px}
  .customer-portal .customer-brand{grid-column:1;grid-row:1;min-width:0;gap:10px}
  .customer-portal .customer-brand-logo{width:48px;height:48px;flex-basis:48px}
  .customer-portal .customer-brand-copy strong{font-size:16px!important}
  .customer-portal .customer-brand-copy small{font-size:11.5px!important;display:block!important}
  .customer-portal .customer-account{grid-column:2;grid-row:1}
  .customer-portal .customer-account>div{display:none}
  .customer-portal .customer-avatar{width:40px;height:40px;flex-basis:40px}
  .customer-portal .customer-menu{display:flex;grid-column:3;grid-row:1;width:44px;height:44px}
  .customer-portal .customer-top nav{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(340px,calc(100% - 32px));height:auto;max-height:none;transform:translateX(105%);transition:transform .2s ease;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:76px 18px 24px;z-index:90;box-shadow:-18px 0 40px rgba(7,29,53,.14);margin:0}
  .customer-portal.customer-nav-open .customer-top nav{transform:translateX(0);right:0}
  .customer-portal .customer-top nav a{display:flex;min-height:48px;font-size:15px;padding:12px 14px;white-space:normal}
  .customer-portal .customer-top nav a svg{width:20px;height:20px;flex-basis:20px}
  .customer-portal .customer-top nav .customer-mobile-signout{display:flex!important;margin-top:12px;border-top:1px solid var(--line);border-radius:0;padding-top:20px;color:var(--muted)}
  .customer-portal .customer-nav-close{display:flex!important;position:absolute;top:17px;right:18px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:13px;font-weight:700;cursor:pointer}
  .customer-portal .customer-nav-close span{font-size:22px;line-height:1}
  .customer-portal.customer-nav-open{overflow:hidden}
  .customer-portal.customer-nav-open .customer-nav-overlay{display:block;z-index:80}
  .customer-portal .customer-two-col{grid-template-columns:1fr}
  .customer-portal .latest-order-main{grid-template-columns:minmax(0,1fr) auto}
  .customer-portal .latest-previews{overflow:visible}
}
@media(max-width:650px){
  .customer-portal .customer-wrap,.customer-portal .customer-top .customer-wrap{width:calc(100% - 32px)}
  .customer-portal .customer-main{padding:26px 0 48px}
  .customer-portal .top-row{gap:9px;min-height:68px}
  .customer-portal .customer-brand-logo{width:44px;height:44px;flex-basis:44px}
  .customer-portal .customer-brand-copy strong{font-size:15px!important;line-height:1.2;white-space:normal;overflow-wrap:normal}
  .customer-portal .customer-brand-copy small{font-size:11px!important;line-height:1.3;margin-top:2px!important}
  .customer-portal .customer-avatar{width:36px;height:36px;flex-basis:36px}
  .customer-portal .customer-menu{width:42px;height:42px}
  .customer-portal .customer-hero{display:block;margin:0 0 22px;padding:0;border-radius:0}
  .customer-portal .customer-hero h1{font-size:29px;line-height:1.2}
  .customer-portal .customer-hero p{font-size:14px;line-height:1.6}
  .customer-portal .customer-hero .customer-btn{margin-top:16px}
  .customer-portal .customer-card{padding:18px;border-radius:16px;margin-bottom:14px}
  .customer-portal .card-head{align-items:flex-start;gap:12px;margin-bottom:16px}
  .customer-portal .card-head h2{font-size:19px}
  .customer-portal .latest-order-card,.customer-portal .recent-card,.customer-portal .orders-directory{padding:0}
  .customer-portal .latest-order-main{display:flex;flex-direction:column;gap:18px;padding:20px 18px}
  .customer-portal .latest-copy h2{font-size:25px}
  .customer-portal .latest-previews{justify-content:flex-start;gap:8px;width:100%;overflow-x:auto;padding-bottom:3px}
  .customer-portal .current-preview-tile,.customer-portal .current-preview-tile:first-child{width:78px;height:94px;flex-basis:78px}
  .customer-portal .latest-status-panel{padding:19px 18px 20px}
  .customer-portal .customer-progress{gap:4px;margin-bottom:18px}
  .customer-portal .progress-step{font-size:11px;gap:6px;line-height:1.25}
  .customer-portal .progress-step span{width:28px;height:28px;flex-basis:28px;font-size:12px}
  .customer-portal .progress-line{flex:0 1 12px;margin-top:13px}
  .customer-portal .next-step,.customer-portal .order-next-banner{padding:16px}
  .customer-portal .next-step strong,.customer-portal .order-next-banner strong{font-size:15px}
  .customer-portal .next-step p,.customer-portal .order-next-banner p{font-size:13px}
  .customer-portal .order-summary-line{padding:17px 18px;gap:12px}
  .customer-portal .order-summary-line span{font-size:12px}
  .customer-portal .latest-order-card>.button-row{padding:0 18px 20px;display:flex;gap:8px}
  .customer-portal .latest-order-card>.button-row .customer-btn{flex:1 1 auto;width:auto;min-width:0}
  .customer-portal .customer-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
  .customer-portal .customer-action-grid a:last-child{grid-column:1/-1}
  .customer-portal .customer-action-card{padding:15px;border-radius:14px}
  .customer-portal .customer-action-card strong{font-size:26px}
  .customer-portal .customer-action-card span{font-size:12px}
  .customer-portal .customer-action-card small{font-size:12px}
  .customer-portal .recent-card .card-head{padding:20px 18px 14px}
  .customer-portal .customer-order-list>a,.customer-portal .visual-list>a{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:15px 18px;align-items:start}
  .customer-portal .order-list-thumb{width:64px;height:72px;flex-basis:64px;grid-column:1;grid-row:1}
  .customer-portal .order-list-main{grid-column:2;grid-row:1}
  .customer-portal .order-list-main>strong{font-size:15px}
  .customer-portal .order-list-main>span,.customer-portal .order-list-main>small{font-size:12px;line-height:1.45}
  .customer-portal .order-list-end,.customer-portal .visual-list .order-list-end{grid-column:2;grid-row:2;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%;margin:0;text-align:left}
  .customer-portal .order-list-end .status-pill,.customer-portal .visual-list .order-list-end .status-pill{display:inline-flex;font-size:11px}
  .customer-portal .order-list-end>strong{font-size:15px;margin-left:auto}
  .customer-portal .order-directory-list>a{grid-template-columns:96px minmax(0,1fr)}
  .customer-portal .order-preview-stack{grid-column:1;grid-row:1;max-width:96px}
  .customer-portal .order-preview-stack .order-list-thumb{width:54px;height:64px;flex-basis:54px}
  .customer-portal .orders-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .customer-portal .orders-toolbar input{font-size:14px}
  .customer-portal .order-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .customer-portal .order-tabs a{justify-content:space-between;padding:10px 12px;min-width:0;font-size:13px}
  .customer-portal .customer-two-col{grid-template-columns:1fr;gap:0}
  .customer-portal .form-grid{grid-template-columns:1fr;gap:15px}
  .customer-portal .form-grid label.full{grid-column:auto}
  .customer-portal .form-grid input{font-size:16px}
  .customer-portal .customer-footer .customer-wrap{display:flex;flex-wrap:wrap;gap:8px 16px}
  .customer-portal .customer-footer a{margin:0;width:100%}
}
@media(max-width:390px){
  .customer-portal .customer-wrap,.customer-portal .customer-top .customer-wrap{width:calc(100% - 24px)}
  .customer-portal .customer-brand{gap:8px}
  .customer-portal .customer-brand-logo{width:40px;height:40px;flex-basis:40px}
  .customer-portal .customer-brand-copy strong{font-size:14px!important}
  .customer-portal .customer-brand-copy small{font-size:10.5px!important;display:block!important}
  .customer-portal .top-row{gap:7px}
  .customer-portal .customer-action-card{padding:13px}
  .customer-portal .latest-order-card>.button-row{flex-direction:column}
  .customer-portal .latest-order-card>.button-row .customer-btn{width:100%}
  .customer-portal .order-summary-line>strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.customer-portal .customer-top nav,.customer-portal .customer-action-card{transition:none}}
/* Keep the mobile drawer above its page-wide backdrop. */
@media(max-width:960px){
  body.customer-portal.customer-nav-open .customer-top{z-index:90}
}
/* Final mobile readability and status-tone refinements. */
body.customer-portal .status-pill.tone-action{background:#fff0d6;color:#805014}
.customer-portal .card-head>div{min-width:0;flex:1 1 auto}
.customer-portal .card-head>a{flex:0 0 auto;white-space:nowrap}
@media(max-width:480px){
  .customer-portal .customer-progress{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-bottom:18px}
  .customer-portal .progress-step{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;width:100%;min-height:32px;flex:0 0 auto;text-align:left;gap:12px;font-size:13px;line-height:1.4}
  .customer-portal .progress-step span{width:30px;height:30px;flex:0 0 30px}
  .customer-portal .progress-step b{min-width:0;overflow-wrap:normal}
  .customer-portal .progress-line{width:2px;height:14px;flex:0 0 14px;min-width:0;margin:2px 0 2px 14px}
}
