:root{--ora-blue: #0093d0;--ora-blue-hover: #0080b4;--ora-blue-light: #33a9d9;--navy: #06283a;--navy-raised: #0f3d55;--navy-border: #14425c;--bg-app: #f4f7f9;--bg-page: #eef3f6;--surface: #ffffff;--surface-sunken: #f8fbfc;--ink: #06283a;--ink-2: #3d5c6a;--ink-3: #5b7480;--ink-4: #8ba2ad;--ink-on-navy: #a9c8d8;--ink-on-navy-dim: #7f9fb0;--ink-on-navy-accent: #7fc4e4;--border: #e2eaee;--border-strong: #cfdde4;--border-hover: #9dbccb;--border-subtle: #f2f6f8;--border-faint: #eef3f6;--ok: #157347;--ok-tint: #e8f6ee;--warn: #8a6410;--warn-tint: #fdf6e6;--warn-border: #e6cf94;--danger: #b3261e;--danger-ink: #8c2f26;--danger-tint: #fdf3f2;--danger-border: #f0cdc9;--neutral: #6b7c82;--neutral-tint: #eef1f2;--info-tint: #e2f2fa;--info-border: #a9d8ee;--disabled-bg: #f4f7f9;--disabled-ink: #9dafb8;--disabled-border: #dbe6ec;--font-sans: "Archivo", Helvetica, sans-serif;--font-mono: "IBM Plex Mono", monospace;--text-display: 38px;--text-h1: 30px;--text-h1-page: 26px;--text-h1-dash: 29px;--text-stat: 28px;--text-price-lg: 32px;--text-h2: 16px;--text-lg: 17px;--text-body: 15px;--text-ui: 14px;--text-sm: 13px;--text-xs: 12px;--text-2xs: 11px;--tracking-display: -.025em;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-eyebrow: .12em;--tracking-label: .06em;--leading-tight: 1.15;--leading-snug: 1.35;--leading-body: 1.55;--leading-relaxed: 1.6;--r-sm: 6px;--r-md: 8px;--r-lg: 9px;--r-xl: 10px;--r-2xl: 12px;--r-pill: 999px;--sp-1: 4px;--sp-2: 6px;--sp-3: 8px;--sp-4: 10px;--sp-5: 12px;--sp-6: 14px;--sp-7: 16px;--sp-8: 18px;--sp-9: 20px;--sp-10: 22px;--sp-12: 26px;--sp-14: 30px;--sp-16: 34px;--shadow-btn: 0 1px 2px rgba(6, 40, 58, .16);--shadow-card-hover: 0 6px 18px rgba(6, 40, 58, .09);--shadow-segment: 0 1px 2px rgba(6, 40, 58, .14);--focus-ring: 0 0 0 3px #d5ecf8;--rail-w: 236px;--aside-w: 320px;--media-w: 420px;--content-head-h: 63px;--sticky-aside-top: calc(var(--content-head-h) + var(--sp-6));--media-ground: #0c1418;--media-hairline: repeating-linear-gradient(120deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 8px)}*{box-sizing:border-box}body{margin:0;background:var(--bg-page);font-family:var(--font-sans);font-size:var(--text-ui);color:var(--ink);-webkit-font-smoothing:antialiased}input,select,button,textarea{font-family:inherit}a{color:var(--ora-blue);text-decoration:none}a:hover{color:#00648f}::selection{background:#cdeaf8}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--ora-blue);outline-offset:2px}.status-msg{color:var(--ink-3);font-size:var(--text-ui);line-height:var(--leading-body)}.route-loading{padding:var(--sp-14)}.auth-error{color:var(--danger);margin:0;font-size:var(--text-sm)}.auth-fine-print,.fine-print{color:var(--ink-4);font-size:var(--text-xs);line-height:var(--leading-body);margin:0}.auth-fine-print a{color:var(--ora-blue)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-3);font:inherit;font-size:var(--text-ui);font-weight:600;padding:11px 16px;border-radius:var(--r-xl);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.btn:hover{border-color:var(--border-hover);background:var(--surface-sunken)}.btn-primary{background:var(--ora-blue);border-color:var(--ora-blue);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover{background:var(--ora-blue-hover);border-color:var(--ora-blue-hover);color:#fff}.btn-sm{font-size:var(--text-sm);padding:8px 14px;border-radius:var(--r-md)}.btn-lg{font-size:var(--text-body);padding:13px 18px}.btn-block{width:100%}.btn:disabled,.btn-primary:disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-ink);box-shadow:none;cursor:not-allowed}.link-btn{background:none;border:none;padding:0;font:inherit;font-size:var(--text-sm);color:var(--ora-blue);cursor:pointer;text-decoration:underline}.link-btn:hover{color:var(--ora-blue-hover)}.remove-btn{background:none;border:none;padding:var(--sp-1);font:inherit;font-size:var(--text-sm);color:var(--ink-4);cursor:pointer;text-decoration:underline;justify-self:end;transition:color .12s ease}.remove-btn:hover{color:var(--danger)}.input,.form-field input,.form-field textarea,.field-row input,.auth-row input{width:100%;font:inherit;font-size:var(--text-ui);padding:11px 13px;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.input:focus,.form-field input:focus,.form-field textarea:focus,.field-row input:focus,.auth-row input:focus{outline:none;border-color:var(--ora-blue);box-shadow:var(--focus-ring)}.form-field{display:flex;flex-direction:column;gap:5px}.form-field label,.field-label{font-size:var(--text-sm);font-weight:500;color:var(--ink-2)}.field-row{display:grid;grid-template-columns:1fr 86px 116px;gap:var(--sp-4)}.checkbox-row{display:flex;gap:9px;align-items:center;font-size:var(--text-ui);color:var(--ink-2)}.checkbox-row input[type=checkbox],.checkbox-row input[type=radio]{width:16px;height:16px;accent-color:var(--ora-blue)}.radio-group{display:flex;flex-direction:column;gap:var(--sp-4)}.service-option{display:flex;flex-direction:column;gap:3px}.service-rate{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-2);white-space:nowrap}.service-note{margin-left:25px}.qty-input{width:54px;text-align:center;font:inherit;font-family:var(--font-mono);font-size:var(--text-ui);padding:8px 4px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.qty-input:focus{outline:none;border-color:var(--ora-blue);box-shadow:var(--focus-ring)}.price{font-family:var(--font-mono);font-weight:500}.sku{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-4)}.avail{display:inline-flex;align-items:center;font-size:var(--text-2xs);font-weight:600;padding:3px 8px;border-radius:var(--r-pill)}.avail-in_stock{background:var(--ok-tint);color:var(--ok)}.avail-low{background:var(--warn-tint);color:var(--warn)}.avail-out{background:var(--neutral-tint);color:var(--neutral)}.avail-text{font-size:var(--text-sm);font-weight:600}.avail-text.avail-in_stock{background:none;color:var(--ok);padding:0}.avail-text.avail-low{background:none;color:var(--warn);padding:0}.avail-text.avail-out{background:none;color:var(--neutral);padding:0}.app-shell{display:grid;grid-template-columns:var(--rail-w) 1fr;min-height:100vh;background:var(--bg-app)}.app-main{min-width:0;display:flex;flex-direction:column}.app-content{padding:var(--sp-14);min-width:0;display:flex;flex-direction:column;gap:var(--sp-12)}.content-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:var(--sp-7);padding:var(--sp-5) var(--sp-14);background:var(--surface);border-bottom:1px solid var(--border)}.search-form{flex:1;max-width:520px}.search-field{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-sunken);color:var(--ink-4);transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.search-field:focus-within{background:var(--surface);border-color:var(--ora-blue);box-shadow:var(--focus-ring);color:var(--ink-3)}.search-glyph{flex:none}.search-input{flex:1;min-width:0;font:inherit;font-size:var(--text-ui);padding:9px 0;border:none;background:none;color:var(--ink)}.search-input:focus{outline:none}.search-input::placeholder{color:var(--ink-4)}.search-input::-webkit-search-cancel-button{display:none}.search-kbd{flex:none;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-4);padding:2px 6px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface)}.rail{background:var(--navy);display:flex;flex-direction:column;gap:var(--sp-12);padding:var(--sp-10) var(--sp-7);position:sticky;top:0;height:100vh}.rail-nav{display:flex;flex-direction:column;gap:3px}.rail-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-lg);font-size:var(--text-ui);font-weight:500;color:var(--ink-on-navy);transition:background-color .12s ease,color .12s ease}.rail-link:hover{color:#fff;background:#ffffff0f}.rail-link.active{background:var(--navy-raised);color:#fff}.rail-count{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--ora-blue);color:#fff;border-radius:var(--r-pill);padding:1px 8px}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:var(--sp-4);border-top:1px solid var(--navy-border);padding-top:var(--sp-7)}.rail-who{display:flex;flex-direction:column;gap:2px;padding:0 var(--sp-2);min-width:0}.rail-store{font-size:var(--text-sm);font-weight:600;color:#fff}.rail-user{font-size:var(--text-2xs);color:var(--ink-on-navy-dim)}.rail-signout{text-align:left;font:inherit;font-size:var(--text-xs);padding:var(--sp-2);border:none;background:none;color:var(--ink-on-navy-dim);cursor:pointer;transition:color .12s ease}.rail-signout:hover{color:#fff}.brand-lockup{display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-2)}.brand-mark{width:32px;height:32px;flex:none;display:block}.brand-words{display:flex;flex-direction:column}.brand-name{font-size:var(--text-ui);font-weight:600;letter-spacing:var(--tracking-snug)}.brand-sub{font-size:var(--text-2xs);color:var(--ink-3)}.rail .brand-name{color:#fff}.rail .brand-sub{color:var(--ink-on-navy-dim)}.brand-home{display:block;color:inherit}.brand-home:hover{color:inherit}.brand-home:hover .brand-sub{color:var(--ink-on-navy)}.brand-lockup-lg{gap:var(--sp-5);padding:0}.brand-lockup-lg .brand-mark{width:38px;height:38px}.brand-lockup-lg .brand-name{font-size:var(--text-h2)}.brand-lockup-lg .brand-sub{font-size:var(--text-xs)}.auth-shell{min-height:100vh;background:var(--bg-page);display:flex;flex-direction:column}.auth-shell-head{padding:var(--sp-8) var(--sp-14);background:var(--surface);border-bottom:1px solid var(--border)}.auth-shell-main{padding:var(--sp-14);display:flex;justify-content:center}.auth-shell-main>*{width:100%;max-width:760px}.auth-panel{max-width:460px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-14);display:grid;gap:var(--sp-6)}.auth-panel h1{font-size:var(--text-h1-page);font-weight:600;letter-spacing:var(--tracking-tight)}.auth-panel h1+.status-msg{margin-top:-4px}.login-split{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--surface)}.login-body{padding:64px 72px;display:flex;flex-direction:column;gap:var(--sp-16);max-width:620px}.login-intro{display:flex;flex-direction:column;gap:var(--sp-3)}.login-intro h1{font-size:var(--text-display);line-height:1.08;font-weight:600;letter-spacing:var(--tracking-display);text-wrap:pretty}.login-sub{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-3);max-width:42ch}.login-stack{display:flex;flex-direction:column;gap:var(--sp-8);max-width:420px}.login-stack .btn-primary{padding:15px 18px;font-size:var(--text-body)}.passkey-glyph{width:18px;height:18px;flex:none;border:2px solid currentColor;border-radius:6px 6px 9px 9px}.auth-divider{display:flex;align-items:center;gap:var(--sp-5);color:var(--ink-4);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-faint)}.auth-form{display:flex;flex-direction:column;gap:var(--sp-3)}.auth-row{display:flex;gap:var(--sp-3)}.auth-row .input{flex:1;min-width:0;font-size:var(--text-body);padding:12px 14px;border-radius:var(--r-xl)}.auth-row .btn{padding:12px 18px;font-size:var(--text-body)}.login-foot{margin-top:auto;display:flex;gap:var(--sp-10);font-size:var(--text-sm);color:var(--ink-4);flex-wrap:wrap}.login-foot a{color:var(--ink-3)}.login-art{position:relative;background:var(--navy) center / cover no-repeat;overflow:hidden;display:flex;align-items:flex-end;padding:56px}.login-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(6,40,58,.94) 0%,rgba(6,40,58,.72) 28%,rgba(6,40,58,.18) 52%,transparent 70%)}.login-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 78% 12%,rgba(0,147,208,.42),transparent 62%)}.login-art-copy{position:relative;display:flex;flex-direction:column;gap:var(--sp-4);max-width:34ch}.login-art-copy .eyebrow{color:var(--ink-on-navy-accent);letter-spacing:.14em}.login-art-copy p{font-size:24px;line-height:var(--leading-snug);font-weight:500;color:#fff;text-wrap:pretty}.page-head{display:flex;align-items:flex-end;gap:var(--sp-7);flex-wrap:wrap}.page-head-text{display:flex;flex-direction:column;gap:5px;min-width:0}.page-title{font-size:var(--text-h1-page);font-weight:600;letter-spacing:var(--tracking-tight)}.page-sub{font-size:var(--text-ui);color:var(--ink-3)}.page-head-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-4)}.crumbs{display:flex;gap:var(--sp-3);font-size:var(--text-sm);color:var(--ink-4);flex-wrap:wrap}.crumbs a{color:var(--ink-3)}.crumbs a:hover{color:var(--ora-blue)}.crumbs .crumb-current{color:var(--ink)}.product-page,.order-page{display:flex;flex-direction:column;gap:var(--sp-9);min-width:0}.order-number-title{font-family:var(--font-mono)}.card-title{font-size:var(--text-ui);font-weight:600}.card-meta{color:var(--ink-4);font-size:var(--text-xs)}.section-title{font-size:var(--text-h2);font-weight:600}.catalog-layout{display:grid;grid-template-columns:minmax(180px,216px) 1fr;gap:var(--sp-12);align-items:start}.catalog-main{min-width:0;display:flex;flex-direction:column;gap:var(--sp-10)}.cat-nav{position:sticky;top:var(--sticky-aside-top);font-size:var(--text-sm)}.cat-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.cat-nav .cat-root>li{margin-bottom:var(--sp-3)}.cat-nav .cat-root>li>.cat-link{font-weight:600;color:var(--ink)}.cat-nav ul.cat-children{margin:2px 0 0 var(--sp-4);padding-left:var(--sp-4);border-left:1px solid var(--border)}.cat-link{display:flex;align-items:center;gap:var(--sp-2);padding:5px var(--sp-3);border-radius:var(--r-md);color:var(--ink-2);transition:background-color .12s ease,color .12s ease}.cat-link-name{flex:1;min-width:0}.cat-count{font-size:var(--text-xs);color:var(--ink-4);font-variant-numeric:tabular-nums}.cat-caret{flex:none;width:8px;height:12px;color:var(--ink-4);transition:transform .12s ease}.cat-caret.open{transform:rotate(90deg)}.cat-link:hover{background:var(--surface);color:var(--ink)}.cat-link.active{background:var(--info-tint);color:var(--ora-blue);font-weight:600}.cat-link:hover .cat-count,.cat-link:hover .cat-caret,.cat-link.active .cat-count,.cat-link.active .cat-caret{color:inherit}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:var(--sp-6)}.cat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);overflow:hidden;display:flex;flex-direction:column;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.cat-card:hover{border-color:var(--ora-blue);box-shadow:var(--shadow-card-hover);color:var(--ink)}.cat-band{height:88px;background:var(--band-bg)}.cat-band-img{height:88px;width:100%;object-fit:cover;display:block}.cat-card-body{padding:var(--sp-6) var(--sp-7) var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-3)}.cat-card-name{font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-snug)}.cat-card-children{font-size:var(--text-sm);line-height:1.45;color:var(--ink-3)}.cat-card-count{font-size:var(--text-xs);color:var(--ink-4)}.band-0{--band-bg: var(--navy)}.band-1{--band-bg: var(--ora-blue)}.band-2{--band-bg: #0f5c74}.band-3{--band-bg: #12414f}.band-4{--band-bg: #1c6b5f}.band-5{--band-bg: #3d5c6a}.band-6{--band-bg: #8a4a12}.band-7{--band-bg: #5b3d7a}.segmented{display:flex;padding:3px;background:#e7eef2;border-radius:var(--r-lg);gap:3px}.seg-btn{font:inherit;font-size:var(--text-sm);font-weight:600;padding:var(--sp-3) var(--sp-6);border-radius:7px;border:none;background:transparent;color:var(--ink-3);cursor:pointer;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease}.seg-btn.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-segment)}.sort-select{font:inherit;font-size:var(--text-ui);padding:10px var(--sp-5);border:1px solid var(--border-strong);border-radius:var(--r-xl);background:var(--surface);color:var(--ink)}.filter-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.filter-label{font-size:var(--text-sm);color:var(--ink-4);margin-right:2px}.chip{font:inherit;font-size:var(--text-sm);font-weight:500;padding:7px var(--sp-5);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.chip:hover{border-color:var(--ora-blue)}.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:var(--sp-7)}.pcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);overflow:hidden;display:flex;flex-direction:column;transition:border-color .12s ease,box-shadow .12s ease}.pcard:hover{border-color:var(--ora-blue);box-shadow:var(--shadow-card-hover)}.pcard-link{display:flex;flex-direction:column;color:var(--ink)}.pcard-link:hover{color:var(--ink)}.pcard-media{position:relative;aspect-ratio:4 / 3;background:var(--media-ground);background-image:var(--media-hairline);display:flex;align-items:center;justify-content:center}.pcard-img{width:100%;height:100%;object-fit:cover;display:block}.media-placeholder{font-size:32px;font-weight:500;color:#ffffff57}.avail-pill{position:absolute;top:9px;left:9px}.pcard-body{padding:var(--sp-5) var(--sp-6) var(--sp-6);display:flex;flex-direction:column;gap:3px}.pcard-name{font-size:var(--text-ui);font-weight:600;line-height:1.3;text-wrap:pretty}.pcard-foot{padding:0 var(--sp-6) var(--sp-6);display:flex;flex-direction:column;gap:9px;margin-top:auto}.pcard-price-row{display:flex;align-items:baseline;gap:7px}.pcard-price{font-size:var(--text-lg);font-weight:600;letter-spacing:var(--tracking-snug)}.qty-chip{font-size:var(--text-2xs);font-weight:600;color:var(--ora-blue);border:1px solid var(--info-border);border-radius:var(--r-pill);padding:1px 7px;white-space:nowrap}.pcard-buy{display:flex;gap:var(--sp-2)}.pcard-buy .qty-input{width:48px;font-size:var(--text-sm)}.pcard-buy .btn{flex:1;font-size:var(--text-sm);padding:8px 10px;border-radius:var(--r-md)}.express{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);overflow:hidden}.express-head,.express-row{display:grid;grid-template-columns:46px 1fr 120px 130px 96px;gap:var(--sp-6);align-items:center}.express-head{padding:11px var(--sp-8);background:var(--bg-app);border-bottom:1px solid var(--border);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.express-head .express-qty-col{text-align:right}.express-row{padding:var(--sp-4) var(--sp-8);border-bottom:1px solid var(--border-subtle);transition:background-color .12s ease}.express-row:hover{background:var(--surface-sunken)}.express-thumb{width:46px;height:34px;border-radius:var(--r-sm);object-fit:cover;background:var(--media-ground);background-image:var(--media-hairline);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:#ffffff57}.express-item{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--ink)}.express-item:hover{color:var(--ink)}.express-name{font-size:var(--text-ui);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.express-price{display:flex;flex-direction:column;gap:1px}.express-price .price{font-size:var(--text-ui);font-weight:400}.express-break{font-size:var(--text-2xs);color:var(--ora-blue)}.express-row .qty-input{width:100%}.express-foot{display:flex;align-items:center;gap:var(--sp-6);padding:var(--sp-6) var(--sp-8);background:var(--surface-sunken);flex-wrap:wrap}.express-foot .status-msg{font-size:var(--text-sm)}.express-foot .btn{margin-left:auto}.product-layout{display:grid;grid-template-columns:minmax(280px,var(--media-w)) minmax(320px,1fr);gap:var(--sp-16);align-items:start}.media-col{display:flex;flex-direction:column;gap:var(--sp-4)}.hero{aspect-ratio:4 / 3;border-radius:var(--r-2xl);background:var(--media-ground);background-image:var(--media-hairline);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover;display:block}.hero .media-placeholder{font-size:72px}.thumbs{display:flex;gap:var(--sp-3);flex-wrap:wrap}.thumb{width:72px;height:54px;padding:0;border-radius:7px;border:2px solid transparent;background:var(--media-ground);overflow:hidden;cursor:pointer;opacity:.75;transition:border-color .12s ease,opacity .12s ease}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.on{border-color:var(--ora-blue);opacity:1}.detail-col{display:flex;flex-direction:column;gap:var(--sp-9);min-width:0}.identity{display:flex;flex-direction:column;gap:var(--sp-3)}.identity .eyebrow{letter-spacing:var(--tracking-label);font-size:var(--text-xs);text-transform:none}.product-title{font-size:var(--text-h1);font-weight:600;letter-spacing:var(--tracking-display);line-height:var(--leading-tight);text-wrap:pretty}.fulfilment{display:flex;flex-direction:column;gap:var(--sp-2);max-width:460px}.fulfil-row{display:flex;align-items:baseline;gap:var(--sp-3)}.fulfil-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-4)}.fulfil-value{font-size:var(--text-sm);color:var(--ink-2)}.fulfil-note{font-size:var(--text-xs);color:var(--ink-4)}.buy-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-6);max-width:460px}.buy-price-row{display:flex;align-items:baseline;gap:9px}.buy-price{font-size:var(--text-price-lg);font-weight:600;letter-spacing:var(--tracking-display)}.buy-price-note{font-size:var(--text-sm);color:var(--ink-3)}.ladder{display:flex;flex-direction:column;gap:var(--sp-2)}.ladder-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-md);background:var(--surface-sunken);border:1px solid var(--border-faint)}.ladder-row.on{background:var(--info-tint);border-color:var(--info-border)}.ladder-qty{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-2)}.ladder-price{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-ui);font-weight:500;color:var(--ink)}.ladder-save{font-size:var(--text-xs);font-weight:600;color:var(--ora-blue);min-width:52px;text-align:right}.buy-row{display:flex;gap:var(--sp-3);align-items:center}.stepper{display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:var(--r-xl);overflow:hidden}.stepper-btn{width:38px;height:44px;border:none;background:var(--surface-sunken);font-size:var(--text-lg);color:var(--ink-2);cursor:pointer;transition:background-color .12s ease}.stepper-btn:hover{background:var(--border-faint)}.stepper-input{width:56px;height:44px;text-align:center;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);font:inherit;font-family:var(--font-mono);font-size:var(--text-body);color:var(--ink);background:var(--surface)}.stepper-input:focus{outline:none}.buy-row .btn{flex:1;height:44px;font-size:var(--text-body)}.buy-note{font-size:var(--text-sm);color:var(--ink-3)}.buy-note-break{color:var(--ora-blue);font-weight:500}.buy-sku{margin:0 0 calc(var(--sp-6) * -1)}.desc-section{display:flex;flex-direction:column;gap:var(--sp-4)}.desc-head{border-bottom:1px solid var(--border);padding-bottom:9px}.desc-head .section-title{display:inline-block;font-size:var(--text-ui);padding-bottom:9px;margin-bottom:-1px;border-bottom:2px solid var(--ora-blue)}.description{color:var(--ink-2);font-size:var(--text-body);line-height:var(--leading-relaxed);max-width:66ch;text-wrap:pretty}.description>*:last-child{margin-bottom:0}.description p{margin:0 0 .75em;text-align:left!important}.description font{font-family:inherit;font-size:inherit;color:inherit}.description a{color:var(--ora-blue)}.description img{max-width:100%;height:auto}.variants{display:flex;flex-direction:column;gap:var(--sp-3)}.variant-row{display:grid;grid-template-columns:1fr auto auto auto;gap:var(--sp-6);align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-5) var(--sp-7)}.variant-name{font-size:var(--text-ui);font-weight:600}.variant-ladder{display:flex;align-items:baseline;gap:var(--sp-2)}.variant-ladder .break{color:var(--ink-4);font-size:var(--text-xs);font-family:var(--font-mono)}.variant-picker{display:flex;flex-direction:column;gap:var(--sp-6);max-width:460px}.vp-dimension{display:flex;flex-direction:column;gap:var(--sp-3)}.vp-head{display:flex;align-items:baseline;gap:var(--sp-3)}.vp-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--ink-4)}.vp-prompt{font-size:var(--text-sm);color:var(--ora-blue);font-weight:500}.vp-chosen{font-size:var(--text-sm);color:var(--ink-2);font-weight:600}.vp-select{font:inherit;font-size:var(--text-ui);padding:10px var(--sp-5);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.vp-select:focus{outline:none;border-color:var(--ora-blue);box-shadow:var(--focus-ring)}.vp-strip{display:flex;gap:var(--sp-4);flex-wrap:wrap}.vp-tile{width:96px;padding:0 0 var(--sp-2);border-radius:var(--r-lg);border:2px solid transparent;background:none;text-align:left;cursor:pointer;opacity:.82;transition:border-color .12s ease,opacity .12s ease}.vp-tile:hover{opacity:1}.vp-tile.on{border-color:var(--ora-blue);opacity:1}.vp-tile:focus-visible{outline:none;box-shadow:var(--focus-ring)}.vp-tile.vp-muted .vp-tile-media,.vp-tile.vp-muted .vp-tile-caption{opacity:.55}.vp-tile-media{position:relative;display:block;aspect-ratio:4 / 3;border-radius:var(--r-sm);background:var(--media-ground);background-image:var(--media-hairline);overflow:hidden}.vp-tile-media img{width:100%;height:100%;object-fit:cover;display:block}.vp-tile-media .media-placeholder{font-size:26px}.vp-tile-badge{position:absolute;left:4px;bottom:4px}.vp-tile-caption{display:flex;flex-direction:column;gap:1px;padding:var(--sp-2) 3px 0}.vp-tile-name{font-size:var(--text-sm);font-weight:600;color:var(--ink)}.vp-tile-price{font-size:var(--text-xs);color:var(--ink-3)}.vp-hint{font-size:var(--text-sm);color:var(--ink-3);margin:0}.add-to-cart{display:inline-flex;gap:var(--sp-2);align-items:center}.add-to-cart .btn{font-size:var(--text-sm);padding:8px 12px;border-radius:var(--r-md)}.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--aside-w);gap:var(--sp-12);align-items:start}.cart-main{display:flex;flex-direction:column;gap:var(--sp-7);min-width:0}.checkout-main{max-width:620px;gap:var(--sp-9)}.summary{position:sticky;top:var(--sticky-aside-top);display:flex;flex-direction:column;gap:var(--sp-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-8)}.summary-rows{display:flex;flex-direction:column;gap:9px}.summary-line{display:flex;align-items:baseline;gap:var(--sp-4);font-size:var(--text-sm)}.summary-line>span:first-child{color:var(--ink-2);min-width:0}.summary-line>span:last-child{margin-left:auto;font-family:var(--font-mono);color:var(--ink);text-align:right}.summary-line span.card-meta{font-family:var(--font-sans);color:var(--ink-4)}.summary-line>span:only-child{margin-left:0;text-align:left;line-height:1.45}.sum-divider{height:1px;background:var(--border);margin:2px 0}.cart-total-row{display:flex;align-items:baseline;gap:var(--sp-3)}.cart-total-row>span:first-child{font-size:var(--text-ui);font-weight:600;color:var(--ink)}.cart-total-row>span:last-child{margin-left:auto;font-family:var(--font-mono);font-size:20px;font-weight:600}.sum-notice{padding:11px var(--sp-5);border-radius:var(--r-lg);background:var(--danger-tint);border:1px solid var(--danger-border);font-size:var(--text-sm);color:var(--danger-ink);line-height:1.45}.lines-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);overflow:hidden}.cart-line{display:grid;grid-template-columns:56px minmax(0,1fr) 108px 92px 72px;gap:var(--sp-6);align-items:center;padding:var(--sp-6) var(--sp-8);border-bottom:1px solid var(--border-subtle)}.cart-line.cart-line-unavailable{grid-template-columns:56px minmax(0,1fr) 200px 72px}.cart-line.cart-line-unavailable .cart-thumb,.cart-line.cart-line-unavailable .cart-line-name{opacity:.55}.cart-thumb{width:56px;height:42px;object-fit:cover;border-radius:var(--r-sm);background:var(--media-ground);background-image:var(--media-hairline);display:flex;align-items:center;justify-content:center;color:#ffffff57}.cart-line-main{display:flex;flex-direction:column;gap:3px;min-width:0}.cart-line-name{font-size:var(--text-ui);font-weight:600}.cart-line-meta{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--ink-4)}.cart-note{font-size:var(--text-xs);font-weight:500}.note-info{color:var(--ora-blue)}.note-warn{color:var(--warn)}.note-danger{color:var(--danger)}.cart-ext{font-family:var(--font-mono);font-size:var(--text-body);font-weight:500;text-align:right}.lines-foot{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-5) var(--sp-8);background:var(--surface-sunken);flex-wrap:wrap}.lines-foot .status-msg{font-size:var(--text-sm);color:var(--ink-4)}.lines-foot .btn{margin-left:auto}.steps{display:flex;align-items:center;gap:var(--sp-4)}.step-pill{font:inherit;font-size:var(--text-sm);font-weight:600;padding:var(--sp-3) var(--sp-6);border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-3);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.step-pill.on{border-color:var(--navy);background:var(--navy);color:#fff}.step-pill:disabled{cursor:default}.step-rule{flex:none;width:22px;height:1px;background:var(--border-strong)}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-9);display:flex;flex-direction:column;gap:var(--sp-6)}.form-card-head{display:flex;align-items:baseline;gap:var(--sp-4)}.form-card-head .link-btn{margin-left:auto;font-weight:600}.checkout-actions{display:flex;flex-direction:column;gap:var(--sp-10)}.checkout-actions>.btn{align-self:flex-start;padding:13px 22px}.form-card input:disabled,.form-card textarea:disabled{background:var(--surface-sunken);color:var(--ink-2);cursor:default}.pay-reassure{font-size:var(--text-sm);color:var(--ink-3)}.auth-explainer{display:flex;flex-direction:column;gap:7px;padding:var(--sp-5);border-radius:var(--r-lg);background:var(--bg-app)}.explain-row{display:flex;font-size:var(--text-sm);color:var(--ink-2);gap:var(--sp-4)}.explain-row>span:last-child{margin-left:auto;font-family:var(--font-mono)}.explain-note{font-size:var(--text-xs);line-height:var(--leading-body);color:var(--ink-3)}.orders-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);overflow:hidden}.orders-head,.orders-row{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr auto;gap:var(--sp-6);align-items:center;padding:var(--sp-5) var(--sp-8)}.orders-head{background:var(--bg-app);border-bottom:1px solid var(--border);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.orders-row{border-bottom:1px solid var(--border-subtle);color:var(--ink);transition:background-color .12s ease}.orders-row:hover{background:var(--surface-sunken);color:var(--ink)}.order-number{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500}.order-date,.order-po{font-size:var(--text-sm);color:var(--ink-3)}.order-total{font-family:var(--font-mono);font-size:var(--text-ui);font-weight:500;text-align:right}.pill{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:600;padding:2px 9px;border-radius:var(--r-pill);background:var(--neutral-tint);color:var(--ink-3)}.pill-info{background:var(--info-tint);color:var(--ora-blue)}.pill-ok{background:var(--ok-tint);color:var(--ok)}.pill-note{font-size:var(--text-xs);color:var(--ink-4);margin-left:var(--sp-2)}.order-placed{background:var(--ok-tint);border:1px solid var(--ok);color:var(--ok);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-7);font-size:var(--text-sm);line-height:var(--leading-body)}.order-note{background:var(--warn-tint);border:1px solid var(--warn-border);color:var(--warn);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-7);font-size:var(--text-sm);line-height:var(--leading-body)}.order-lines{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);overflow:hidden}.order-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--sp-6);align-items:center;padding:var(--sp-5) var(--sp-8);border-bottom:1px solid var(--border-subtle)}.order-line-qty{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-3)}.order-totals{display:flex;flex-direction:column;gap:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-8);max-width:460px}.account-section{display:grid;gap:var(--sp-5);justify-items:start}.account-section h2{font-size:var(--text-h2)}.account-section>p{max-width:60ch}.account-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3);width:100%}.account-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-5) var(--sp-7);display:grid;gap:var(--sp-4)}.account-row-line{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-7)}.account-row-main{display:grid;gap:2px;min-width:0}.account-row-actions{display:flex;gap:var(--sp-5);align-items:center}.account-rename{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.account-rename input{padding:9px var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-md);font:inherit;font-size:var(--text-ui);min-width:16rem}.account-rename input:focus{outline:none;border-color:var(--ora-blue);box-shadow:var(--focus-ring)}.account-confirm{background:var(--warn-tint);border:1px solid var(--warn-border);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-7);display:grid;gap:var(--sp-3);font-size:var(--text-sm);line-height:var(--leading-body);color:var(--ink-2)}.history-scroll{width:100%;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl)}.history-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.history-table th,.history-table td{text-align:left;padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.history-table tr:last-child td{border-bottom:none}.history-table th{background:var(--bg-app);border-bottom:1px solid var(--border);color:var(--ink-3);font-weight:600;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.history-row-current{background:var(--surface-sunken)}.history-badge{margin-left:var(--sp-3);padding:1px 8px;border-radius:var(--r-pill);background:var(--ok-tint);color:var(--ok);font-size:var(--text-2xs);font-weight:600}.pay-layout{display:grid;gap:var(--sp-12)}.pay-layout h1{font-size:var(--text-h1-page);font-weight:600;letter-spacing:var(--tracking-tight)}.pay-invoice,.pay-panel,.pay-result,.pay-others{display:grid;gap:var(--sp-5);justify-items:start}.pay-result,.pay-panel,.pay-invoice{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-9)}.pay-result h2,.pay-others h2{font-size:var(--text-h2);font-weight:600}.pay-facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-1) var(--sp-9);margin:0;width:100%;align-items:baseline}.pay-facts dt{color:var(--ink-3);font-size:var(--text-sm)}.pay-facts dd{margin:0;font-size:var(--text-ui)}.pay-facts .pay-balance{font-family:var(--font-mono);font-weight:600;font-size:24px}.pay-reference{font-family:var(--font-mono);font-size:var(--text-sm)}.pay-note{color:var(--ink-3);font-size:var(--text-sm);line-height:var(--leading-body)}.pay-actions{display:flex;gap:var(--sp-7);align-items:center}.pay-form{width:100%;gap:var(--sp-6)}.pay-lines td:not(:first-child),.pay-lines th:not(:first-child){text-align:right}.pay-lines td{font-family:var(--font-mono)}.pay-lines td:first-child{font-family:var(--font-sans);white-space:normal}.balance-card{display:grid;gap:var(--sp-2);justify-items:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-8) var(--sp-9)}.balance-label{color:var(--ink-3);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.balance-amount{font-family:var(--font-mono);font-weight:600;font-size:32px}.balance-note{color:var(--ink-3);font-size:var(--text-sm);line-height:var(--leading-body)}.dash{display:flex;flex-direction:column;gap:var(--sp-14)}.dash-greeting{font-size:var(--text-h1-dash);font-weight:600;letter-spacing:var(--tracking-tight)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-7)}.stat-tile{display:grid;gap:var(--sp-2);align-content:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);padding:var(--sp-8) var(--sp-9);color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.stat-tile:hover{border-color:var(--ora-blue);box-shadow:var(--shadow-card-hover);color:var(--ink)}.stat-label{color:var(--ink-3);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.stat-figure{font-family:var(--font-mono);font-weight:600;font-size:var(--text-stat);letter-spacing:var(--tracking-snug)}.stat-note{color:var(--ink-3);font-size:var(--text-sm);line-height:var(--leading-body)}.dash-section{display:flex;flex-direction:column;gap:var(--sp-6)}.dash-section-head{display:flex;align-items:baseline;gap:var(--sp-5);flex-wrap:wrap}.dash-section-head .card-meta{margin-left:auto}.dash-section-more{font-size:var(--text-sm);margin-left:auto}.reorder-row{display:grid;grid-template-columns:56px minmax(0,1fr) 92px 76px auto;gap:var(--sp-6);align-items:center;padding:var(--sp-6) var(--sp-8);border-bottom:1px solid var(--border-subtle)}.lines-card>.reorder-row:last-child{border-bottom:none}.reorder-row .cart-line-name{color:var(--ink)}.reorder-row .cart-line-name:hover{color:var(--ora-blue)}.reorder-price{font-size:var(--text-ui);text-align:right}.reorder-row-out .cart-thumb,.reorder-row-out .cart-line-name,.reorder-row-out .reorder-price{opacity:.55}.dash-order-row{grid-template-columns:1fr 1fr 1.4fr auto}.orders-card>.dash-order-row:last-child{border-bottom:none}@media(max-width:1100px){.product-layout{grid-template-columns:1fr;gap:var(--sp-12)}.cart-layout{grid-template-columns:1fr}.summary{position:static}.catalog-layout{grid-template-columns:1fr}.cat-nav{position:static}}@media(max-width:900px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.rail{position:static;height:auto;flex-direction:row;align-items:center;gap:var(--sp-6);padding:var(--sp-5) var(--sp-7);overflow-x:auto}.rail-nav{flex-direction:row;gap:var(--sp-2)}.rail-link{white-space:nowrap}.rail-foot{margin-top:0;margin-left:auto;border-top:none;padding-top:0}.rail-signout{display:none}.app-content{padding:var(--sp-9) var(--sp-7)}.content-head{padding:var(--sp-4) var(--sp-7)}.search-form{max-width:none}.login-split{grid-template-columns:1fr}.login-body{padding:36px 22px}.login-art{display:none}.express-head,.express-row{grid-template-columns:1fr 92px 76px}.express-thumb,.express-avail,.express-head .express-blank,.express-head .express-avail-col{display:none}.reorder-row{grid-template-columns:minmax(0,1fr) 84px auto;row-gap:var(--sp-4)}.reorder-row>.cart-thumb,.reorder-row>.avail{display:none}.cart-line{grid-template-columns:minmax(0,1fr) 72px 78px;row-gap:var(--sp-3)}.cart-line.cart-line-unavailable{grid-template-columns:minmax(0,1fr) 78px}.cart-line>.cart-thumb{display:none}.field-row{grid-template-columns:1fr 72px 96px}.auth-shell-head,.auth-shell-main{padding:var(--sp-9) var(--sp-7)}}@media print{.auth-shell-head,.no-print,.pay-actions{display:none!important}.auth-shell,.auth-shell-main{padding:0;background:none}.pay-result,.pay-invoice{border:none;background:none;padding:0}}
