:root{
  --bg:#070b18;--bg-2:#0c1230;--panel:rgba(13,20,49,.78);--panel-2:rgba(17,24,58,.92);--text:#f8f8fb;--muted:#b8c0d9;--line:rgba(142,168,255,.22);
  --pink:#ff4fb8;--pink-2:#ff8ed2;--blue:#4f87ff;--violet:#8b5cf6;--gold:#f2cc63;--danger:#ff6b81;--success:#70e1a1;
  --shadow:0 22px 60px rgba(0,0,0,.3);--radius:22px;--max:1220px;
  color-scheme:dark;
}
html[data-theme="light"]{--bg:#f7f8fc;--bg-2:#eef2ff;--panel:rgba(255,255,255,.84);--panel-2:#fff;--text:#11152b;--muted:#59627a;--line:rgba(30,54,120,.16);--shadow:0 18px 50px rgba(41,55,100,.13);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;isolation:isolate}
body:before{content:"";position:fixed;inset:0;z-index:-3;background-image:var(--page-bg,none),radial-gradient(circle at 12% 12%,rgba(62,111,255,.24),transparent 26%),radial-gradient(circle at 78% 16%,rgba(255,51,184,.18),transparent 22%),linear-gradient(150deg,var(--bg),var(--bg-2));background-size:cover,auto,auto,auto;background-position:center center;background-repeat:no-repeat;filter:saturate(.92) contrast(1.02);transform:scale(1.015);pointer-events:none}
body:after{content:"";position:fixed;inset:0;z-index:-2;background-image:linear-gradient(180deg,rgba(4,7,20,.78) 0%,rgba(7,11,28,.72) 44%,rgba(6,9,22,.88) 100%),radial-gradient(circle,#fff 1px,transparent 1.4px),radial-gradient(circle,#ff86d2 1px,transparent 1.5px);background-position:0 0,0 0,18px 22px;background-size:auto,52px 52px,71px 71px;pointer-events:none}
html[data-theme="light"] body:before{filter:saturate(.72) contrast(.92) brightness(1.12)}
html[data-theme="light"] body:after{background-image:linear-gradient(180deg,rgba(250,251,255,.84) 0%,rgba(247,248,253,.80) 46%,rgba(244,246,252,.92) 100%),radial-gradient(circle,rgba(37,53,102,.24) 1px,transparent 1.4px),radial-gradient(circle,rgba(226,73,163,.20) 1px,transparent 1.5px);background-position:0 0,0 0,18px 22px;background-size:auto,52px 52px,71px 71px}
body[data-bg-family="subdued"]:before{filter:saturate(.65) brightness(.72) blur(.3px)}
html[data-theme="light"] body[data-bg-family="subdued"]:before{filter:saturate(.45) brightness(1.18) contrast(.86)}
body[data-bg-family="subdued"]:after{background-image:linear-gradient(180deg,rgba(6,10,27,.90),rgba(8,13,34,.91)),radial-gradient(circle,#fff 1px,transparent 1.4px)}
html[data-theme="light"] body[data-bg-family="subdued"]:after{background-image:linear-gradient(180deg,rgba(249,250,255,.93),rgba(245,247,252,.95)),radial-gradient(circle,rgba(37,53,102,.16) 1px,transparent 1.4px)}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{color:inherit}.staging-bar{padding:7px 16px;text-align:center;font-size:.78rem;font-weight:800;letter-spacing:.12em;background:linear-gradient(90deg,#25113e,#57205d,#25113e);color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
.site-header{width:min(var(--max),calc(100% - 28px));margin:14px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 14px;background:rgba(5,9,23,.88);border:1px solid rgba(160,177,255,.22);border-radius:18px;backdrop-filter:blur(18px);position:sticky;top:8px;z-index:20;box-shadow:var(--shadow)}
.brand{width:255px;max-width:38vw;overflow:hidden;border-radius:10px}.brand img{width:100%;aspect-ratio:2.23/1;object-fit:cover;object-position:center 46%;filter:saturate(1.05) contrast(1.03)}.nav{display:flex;align-items:center;gap:18px;font-size:.91rem}.nav a{color:#f7f8ff;opacity:.88;padding:10px 0;white-space:nowrap}.nav a:hover{color:var(--pink-2);opacity:1}.nav-toggle{display:none;background:none;border:0;font-size:1.5rem}.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);cursor:pointer}.theme-toggle:hover{border-color:var(--pink)}
main{width:min(var(--max),calc(100% - 28px));margin:18px auto 80px}.hero,.page-hero,.section{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel),rgba(10,16,43,.56));box-shadow:var(--shadow);backdrop-filter:blur(12px)}html[data-theme="light"] .hero,html[data-theme="light"] .page-hero,html[data-theme="light"] .section{background:linear-gradient(145deg,var(--panel),rgba(245,247,255,.84))}
.hero{min-height:500px;padding:52px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;position:relative;overflow:hidden}.hero:after,.page-hero:after{content:"";position:absolute;inset:auto 0 0 auto;width:48%;height:55%;background:url('/static/img/hero-military.webp') right bottom/contain no-repeat;color:#050814;opacity:.62;pointer-events:none}.hero-copy,.page-hero>*{position:relative;z-index:2}.eyebrow{font-size:.77rem;letter-spacing:.22em;font-weight:900;color:var(--pink-2);margin:0 0 10px}.hero h1,.page-hero h1,.product-info h1,.centered h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,5vw,5rem);line-height:.98;margin:.1em 0 .3em}.hero h1 em{font-weight:500;color:var(--pink-2)}.hero p,.page-hero p,.lede{font-size:1.08rem;line-height:1.65;color:var(--muted);max-width:690px}.hero-brand-card{position:relative;z-index:3;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 30px 70px rgba(0,0,0,.35);transform:rotate(1deg)}.hero-brand-card img{width:100%;height:auto}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:11px 18px;font-weight:800;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--pink),#c84bff);color:#17081b;border-color:transparent;box-shadow:0 0 24px rgba(255,79,184,.25)}html[data-theme="dark"] .btn.primary{color:#140817}.btn.secondary{background:rgba(255,255,255,.04);color:var(--text)}.btn:hover{transform:translateY(-1px)}.btn.wide{width:100%;margin-top:8px}
.section{margin-top:18px;padding:30px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.section-heading h2,.panel h2,.faq-list h2{font-family:Georgia,serif;font-size:2rem;margin:0}.section-heading a{color:var(--pink-2);font-weight:800}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.category-card{min-height:180px;border-radius:16px;border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(0,0,0,.18))}.category-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,79,184,.27),transparent 32%),radial-gradient(circle at 20% 30%,rgba(79,135,255,.32),transparent 36%);opacity:.8}.category-card span,.category-card small{position:relative;z-index:2}.category-card span{font-weight:900;font-size:1.05rem}.category-card small{color:var(--muted);margin-top:5px;line-height:1.35}.category-card:hover{border-color:var(--pink);transform:translateY(-2px)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.process-grid article{border:1px solid var(--line);border-radius:16px;padding:18px;background:rgba(255,255,255,.035)}.process-grid b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff}.process-grid h3{margin:14px 0 8px}.process-grid p{margin:0;color:var(--muted);line-height:1.5}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid{grid-template-columns:repeat(4,1fr)}.product-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(6,10,28,.52);transition:.18s}.product-card:hover{transform:translateY(-3px);border-color:rgba(255,79,184,.7);box-shadow:0 12px 34px rgba(0,0,0,.25)}.product-media{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#17245d,#3a175c)}.product-media img{width:100%;height:100%;object-fit:cover}.product-media span{font-family:Georgia,serif;font-size:1.45rem;font-weight:800;padding:18px;text-align:center}.product-body{padding:16px}.product-body small{color:var(--pink-2);font-weight:800}.product-body h3{margin:6px 0;font-size:1.15rem}.product-body p{color:var(--muted);font-size:.92rem;line-height:1.45;min-height:2.7em}.product-body>span{font-weight:800;color:var(--pink-2)}.category-bg-cheer{background:radial-gradient(circle at 20% 20%,#ff6cbd,transparent 25%),linear-gradient(145deg,#211651,#51205a)}.category-bg-seasonal{background:radial-gradient(circle at 70% 20%,#ff9a47,transparent 27%),linear-gradient(145deg,#17243a,#4f214c)}.category-bg-military-inspired{background:linear-gradient(145deg,#071a38,#193c78)}.category-bg-functional{background:linear-gradient(145deg,#0e2539,#2f5364)}.category-bg-toys-and-trinkets{background:linear-gradient(145deg,#391c58,#1c3568)}.category-bg-trophies-and-awards{background:radial-gradient(circle at 70% 15%,#f0c95f,transparent 24%),linear-gradient(145deg,#281b4d,#573020)}.category-bg-personalized-gifts{background:linear-gradient(145deg,#4a1e55,#183b6b)}
.split-callout{display:grid;grid-template-columns:1fr .7fr;gap:30px;align-items:center}.viewer-teaser{min-height:250px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(88,96,255,.2),transparent 50%),rgba(255,255,255,.03);position:relative}.orbit{width:110px;height:110px;border:3px solid var(--pink);border-radius:28px;transform:rotate(45deg);box-shadow:0 0 28px rgba(255,79,184,.4);margin-bottom:26px}.viewer-teaser span{color:var(--muted);margin-top:6px}
.page-hero{padding:42px 46px;position:relative;overflow:hidden}.page-hero h1{font-size:clamp(2.4rem,4.5vw,4rem)}.gallery-hero:after,.custom-hero:after,.review-hero:after{background-image:url('/static/img/hero-cheer.webp');color:#07091b;opacity:.48}.filter-bar{display:grid;grid-template-columns:1fr 260px auto;gap:10px;margin-bottom:14px}.filter-bar input,.filter-bar select,.form-card input,.form-card textarea,.form-card select,.review-sidebar textarea,.admin-row input,.admin-row select{width:100%;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.055);color:var(--text);padding:12px 13px;outline:none}.filter-bar input:focus,.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,79,184,.13)}.chip-row{display:flex;gap:8px;overflow:auto;padding-bottom:12px}.chip{white-space:nowrap;padding:8px 13px;border:1px solid var(--line);border-radius:999px;font-size:.88rem}.chip.active{background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff;border-color:transparent}
.product-detail{display:grid;grid-template-columns:1.08fr .92fr;gap:30px}.product-main-image{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;border:1px solid var(--line)}.product-main-image.placeholder{display:grid;place-items:center;font-family:Georgia,serif;font-size:2rem;text-align:center;padding:30px}.thumb-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.thumb-row img{aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.product-info h1{font-size:clamp(2.3rem,4vw,4rem)}.rich-copy{white-space:pre-line;line-height:1.7;color:var(--muted);margin:18px 0}.creator-credit{border-left:3px solid var(--pink);padding:12px 14px;background:rgba(255,79,184,.08);border-radius:0 10px 10px 0;margin:20px 0}.product-info .btn{margin:6px 8px 6px 0}
.form-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-card label,.review-sidebar label{display:flex;flex-direction:column;gap:7px;font-weight:750;color:var(--text);font-size:.92rem}.form-card small{font-weight:400;color:var(--muted)}.span-2{grid-column:span 2}.guidance ol,.panel ol{color:var(--muted);line-height:1.75;padding-left:22px}.note{padding:12px 14px;border:1px solid rgba(242,204,99,.28);background:rgba(242,204,99,.08);border-radius:10px;color:var(--muted)}.hp{position:absolute!important;left:-9999px!important;opacity:0!important}.centered{display:grid;place-items:center;min-height:55vh}.success-card,.admin-login{max-width:650px;text-align:center;width:100%}
.two-col,.about-grid,.pay-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.about-grid{grid-template-columns:repeat(2,1fr)}.pay-layout{grid-template-columns:.9fr 1.1fr}.qr-panel{text-align:center}.qr{width:min(330px,90%);margin:20px auto;background:#fff;padding:16px;border-radius:16px}.summary{display:grid;grid-template-columns:140px 1fr;gap:8px 16px}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:800}.summary .amount{font-size:1.6rem;color:var(--pink-2)}
.review-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:18px}.viewer-panel model-viewer{width:100%;height:620px;border-radius:16px;background:radial-gradient(circle at center,rgba(106,98,255,.16),transparent 58%),rgba(0,0,0,.12)}.revision-meta{display:flex;justify-content:space-between;gap:16px;margin-top:14px;color:var(--muted)}.review-sidebar h3{margin-top:24px}.revision-list{padding:0;list-style:none}.revision-list li{padding:10px 0;border-bottom:1px solid var(--line)}.revision-list small{display:block;color:var(--muted)}.message{padding:14px 0;border-bottom:1px solid var(--line)}.message small{display:block;color:var(--muted);margin-top:3px}.message p{color:var(--muted)}
.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);padding:0 16px}.faq-list summary{cursor:pointer;font-weight:850;padding:17px 0}.faq-list p{color:var(--muted);line-height:1.65;margin-top:0;padding-bottom:14px}.flash-wrap{position:fixed;right:18px;top:95px;z-index:40;display:grid;gap:8px;max-width:480px}.flash{padding:12px 15px;border-radius:10px;background:#1f2b57;color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow)}.flash.error{background:#5c2431}.flash.success{background:#174d3a}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-row{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.admin-row small{display:block;color:var(--muted);margin:5px 0}.admin-row form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-row label{font-size:.78rem}.admin-row .btn{align-self:end}.admin-list{display:grid;gap:10px}.compact-list{display:flex;gap:10px;flex-wrap:wrap}.compact-list span{padding:9px 12px;border:1px solid var(--line);border-radius:999px}.compact-list small{color:var(--muted)}.checks{display:flex;gap:20px}.checks label{flex-direction:row;align-items:center}.checks input{width:auto}.admin-hero form{position:relative;z-index:2}
.site-footer{width:min(var(--max),calc(100% - 28px));margin:0 auto 28px;padding:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;color:var(--muted)}.footer-brand img{width:220px;border-radius:8px}.footer-brand p{font-size:.82rem}.site-footer nav{display:flex;gap:14px;flex-wrap:wrap}.site-footer nav a:hover{color:var(--pink-2)}.fine{grid-column:1/-1;font-size:.78rem;margin:0}
.empty-state{grid-column:1/-1;padding:40px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
html[data-theme="light"] .site-header{background:rgba(255,255,255,.92)}html[data-theme="light"] .nav a{color:#18213f}html[data-theme="light"] .theme-toggle{background:#f2f4fb;border-color:#d4d9ea}html[data-theme="light"] .product-card{background:rgba(255,255,255,.72)}html[data-theme="light"] .filter-bar input,html[data-theme="light"] .filter-bar select,html[data-theme="light"] .form-card input,html[data-theme="light"] .form-card textarea,html[data-theme="light"] .form-card select,html[data-theme="light"] .review-sidebar textarea,html[data-theme="light"] .admin-row input,html[data-theme="light"] .admin-row select{background:#fff}
@media(max-width:1050px){.nav{gap:11px;font-size:.82rem}.brand{width:210px}.category-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr;padding:38px}.hero-brand-card{max-width:720px}.review-layout{grid-template-columns:1fr}.viewer-panel model-viewer{height:540px}.admin-row{grid-template-columns:1fr}}
@media(max-width:780px){.site-header{position:sticky;top:6px;padding:8px 10px}.brand{width:190px;max-width:65vw}.nav-toggle{display:block;color:#fff}.nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);padding:14px;background:#090e24;border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:10px;color:#fff}.theme-toggle{align-self:flex-start}.hero{padding:30px 22px;min-height:auto}.page-hero{padding:30px 24px}.section{padding:22px}.hero h1{font-size:clamp(2.5rem,12vw,4rem)}.category-grid{grid-template-columns:repeat(2,1fr)}.category-card{min-height:145px}.process-grid{grid-template-columns:1fr 1fr}.product-grid,.gallery-grid{grid-template-columns:1fr 1fr}.split-callout,.product-detail,.form-layout,.two-col,.about-grid,.pay-layout,.admin-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.viewer-panel model-viewer{height:420px}.admin-row form{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}.staging-bar{font-size:.66rem}.hero:after,.page-hero:after{width:80%;opacity:.3}.revision-meta{flex-direction:column}.flash-wrap{left:14px;right:14px;top:85px}.summary{grid-template-columns:110px 1fr}}
@media(max-width:480px){main{width:min(100% - 18px,var(--max));margin-top:10px}.site-header{width:calc(100% - 18px)}.brand{width:165px}.section,.page-hero{border-radius:16px}.section{padding:17px}.hero{padding:24px 18px;border-radius:16px}.hero-brand-card{border-radius:12px}.category-grid,.product-grid,.gallery-grid,.process-grid{grid-template-columns:1fr}.category-card{min-height:125px}.product-body p{min-height:0}.actions .btn{width:100%}.viewer-panel model-viewer{height:340px}.qr{width:100%;padding:10px}.site-footer{width:calc(100% - 18px);padding:18px 8px}.footer-brand img{width:180px}}
body.category-cheer .page-hero:after{background-image:url('/static/img/hero-cheer.webp');opacity:.55}body.category-military-inspired .page-hero:after{background-image:url('/static/img/hero-military.webp');opacity:.55}
body.category-cheer .product-detail{position:relative;overflow:hidden}body.category-cheer .product-detail:after{content:"";position:absolute;right:-3%;bottom:-8%;width:45%;height:42%;background:url('/static/img/hero-cheer.webp') right bottom/contain no-repeat;color:#050814;opacity:.14;pointer-events:none}

/* V2.1 multi-format customer model viewer */
.sas-model-viewer{display:grid;gap:12px}.model-stage{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(118,132,200,.35);border-radius:18px;background:#070a12;box-shadow:inset 0 0 70px rgba(66,56,140,.14)}.model-canvas{position:absolute;inset:0;touch-action:none}.model-canvas canvas{display:block;width:100%;height:100%}.model-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#f4f5ff;background:rgba(7,10,18,.78);z-index:5}.model-loading[hidden]{display:none}.model-spinner{width:38px;height:38px;border:3px solid rgba(255,255,255,.18);border-top-color:var(--pink);border-radius:50%;animation:model-spin .8s linear infinite}@keyframes model-spin{to{transform:rotate(360deg)}}
.model-toolbar{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;gap:6px;z-index:4;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(8,11,22,.78);backdrop-filter:blur(10px)}.model-toolbar button{width:52px;min-height:48px;border:1px solid transparent;border-radius:9px;background:transparent;color:#e9ebff;font:inherit;font-weight:850;cursor:pointer;display:grid;place-items:center;line-height:1}.model-toolbar button span{font-size:.58rem;font-weight:700;color:#aeb6d7;margin-top:3px}.model-toolbar button:hover,.model-toolbar button.active{background:rgba(255,79,184,.18);border-color:rgba(255,79,184,.48);color:#fff}.model-toolbar button:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.model-info-card{position:absolute;left:14px;bottom:14px;z-index:4;width:min(260px,calc(100% - 96px));padding:14px 15px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(8,11,22,.78);backdrop-filter:blur(10px);color:#eff1ff}.model-info-card>strong{font-size:.72rem;letter-spacing:.14em;color:#bfc5df}.model-info-card dl{margin:10px 0 8px;display:grid;gap:7px}.model-info-card dl div{display:grid;grid-template-columns:78px 1fr;gap:8px}.model-info-card dt{color:#939cbc;font-size:.72rem}.model-info-card dd{margin:0;font-size:.77rem;font-weight:800;text-align:right}.model-colors{border-top:1px solid rgba(255,255,255,.1);padding-top:8px;display:grid;gap:6px}.model-colors>span{font-size:.7rem;color:#939cbc}.model-colors>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:.72rem;color:#bfc5df}.model-color-swatch{width:17px;height:17px;border-radius:50%;border:1px solid rgba(255,255,255,.42);box-shadow:0 0 0 1px rgba(0,0,0,.25)}.model-color-more{font-size:.68rem;color:#aeb6d7}.model-status{margin:0;padding:9px 12px;border-radius:10px;background:rgba(87,101,176,.09);color:var(--muted);font-size:.82rem}.model-status.error{border:1px solid rgba(255,104,124,.34);background:rgba(127,30,48,.16);color:#ffd7dd}
.revision-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.revision-button{text-align:left;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--text);padding:11px 12px;cursor:pointer}.revision-button strong,.revision-button small,.revision-button span{display:block}.revision-button small{color:var(--muted);margin-top:3px}.revision-button span{font-size:.76rem;color:var(--muted);margin-top:5px}.revision-button.active{border-color:var(--pink);box-shadow:0 0 0 2px rgba(255,79,184,.12);background:rgba(255,79,184,.07)}.format-guidance{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(87,101,176,.07)}.format-guidance>strong{display:block;margin-bottom:8px}.format-guidance p{font-size:.82rem;line-height:1.45;color:var(--muted);margin:7px 0}.format-guidance b{color:var(--text)}
html[data-theme="light"] .model-stage{border-color:#cad0e4}.model-stage:fullscreen{border-radius:0;width:100%;height:100%;min-height:100%;background:#070a12}.model-stage:fullscreen .model-canvas{inset:0}
@media(max-width:1050px){.model-stage{min-height:560px}}
@media(max-width:780px){.model-stage{min-height:480px}.model-toolbar{right:8px;top:8px;transform:none;grid-template-columns:repeat(3,1fr);max-width:180px}.model-toolbar button{width:52px;min-height:44px}.model-info-card{left:8px;bottom:8px;width:min(245px,calc(100% - 78px));padding:11px}.model-info-card dl div{grid-template-columns:70px 1fr}.revision-picker{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.model-stage{min-height:430px}.model-toolbar{grid-template-columns:repeat(3,44px);max-width:none}.model-toolbar button{width:44px;min-height:42px}.model-toolbar button span{display:none}.model-info-card{width:calc(100% - 16px);right:8px;bottom:8px}.model-info-card dl{grid-template-columns:1fr 1fr}.model-info-card dl div{display:block}.model-info-card dd{text-align:left;margin-top:2px}.model-colors{display:none}.revision-picker{grid-template-columns:1fr}}

/* V2.2 admin destructive actions and feedback */
.btn.danger{background:rgba(164,35,61,.14);border-color:rgba(255,91,120,.5);color:#ff9daf}.btn.danger:hover{background:rgba(164,35,61,.28);color:#fff}.btn.small{padding:7px 10px;font-size:.76rem}.admin-message-stack{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:12px}.admin-message{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}.admin-message:last-child{border-bottom:0}.admin-message small{display:block;color:var(--muted);margin-top:3px}@media(max-width:780px){.admin-message{flex-direction:column}}
.notification-status{padding-top:0}.status-good{color:#63d79d}.status-warn{color:#f2cc63}.notification-status code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.admin-hero-actions{display:flex;gap:10px;flex-wrap:wrap}

/* V2.3 privacy-first analytics dashboard */
.analytics-toolbar .panel{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.period-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.period-tabs a{padding:.55rem .85rem;border:1px solid var(--line);border-radius:999px;text-decoration:none}.period-tabs a.active{background:linear-gradient(90deg,var(--pink),var(--purple));color:#080b20;border-color:transparent;font-weight:800}.analytics-admin-actions{display:flex;gap:.5rem;flex-wrap:wrap}.analytics-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:1rem}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:var(--shadow)}.metric-card span{display:block;color:var(--muted);font-size:.82rem}.metric-card strong{display:block;font-family:Georgia,serif;font-size:2rem;margin-top:.25rem}.analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.analytics-grid .panel{min-width:0}.analytics-wide{grid-column:span 2}#traffic-chart{width:100%;display:block;min-height:260px}.funnel{display:grid;gap:.65rem}.funnel div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem;border-radius:12px;background:color-mix(in srgb,var(--panel) 80%,var(--pink) 20%);border:1px solid var(--line)}.funnel strong{font-size:1.25rem}.analytics-bars{display:grid;gap:.75rem}.analytics-bars div{display:grid;grid-template-columns:1fr auto;gap:.25rem .75rem;align-items:center}.analytics-bars i{grid-column:1/-1;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--pink));width:var(--pct);min-width:4px}.analytics-table{display:grid}.analytics-table>div{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.analytics-table.events>div{grid-template-columns:minmax(0,1fr) 90px}.analytics-table .thead{font-weight:800;color:var(--muted)}.analytics-table code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.privacy-panel{border-left:4px solid var(--blue)}
@media(max-width:1000px){.analytics-kpis{grid-template-columns:repeat(3,1fr)}.analytics-grid{grid-template-columns:1fr 1fr}.analytics-wide{grid-column:1/-1}}
@media(max-width:650px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.analytics-wide{grid-column:auto}.analytics-toolbar .panel{align-items:flex-start}.analytics-table>div{grid-template-columns:minmax(0,1fr) 54px 54px}}

/* V2.4 customer project portal */
.portal-hero{overflow:hidden}.portal-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:22px;align-items:start}.portal-login-card{padding:34px}.portal-login-card h2,.portal-info-card h2,.portal-help-card h2,.portal-status-card h2{margin-top:0}.portal-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:1.55rem;margin-bottom:18px;background:linear-gradient(135deg,rgba(255,79,184,.22),rgba(79,135,255,.24));border:1px solid var(--line);box-shadow:0 0 28px rgba(255,79,184,.12)}.portal-form{display:grid;gap:18px;margin-top:24px}.portal-form label{display:grid;gap:7px;font-weight:800}.portal-form input{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.045);color:var(--text);padding:13px 14px;outline:none}.portal-form input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,79,184,.12)}.portal-form small,.muted-copy{color:var(--muted);font-weight:500;line-height:1.5}.portal-privacy{font-size:.82rem;color:var(--muted);margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}.portal-side-stack{display:grid;gap:18px}.portal-paths{display:grid;gap:10px;margin-top:18px}.portal-paths>div{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.portal-paths span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--pink));font-weight:900;color:#fff}.portal-paths p{margin:0;line-height:1.4}.portal-feature-list{display:grid;gap:10px;padding-left:1.2rem;color:var(--muted)}.portal-feature-list li::marker{color:var(--pink)}.portal-status-card.status-found{border-color:rgba(112,225,161,.42);box-shadow:0 0 0 1px rgba(112,225,161,.08),var(--shadow)}.portal-status-line{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 14px;margin:18px 0;border-radius:12px;background:rgba(112,225,161,.08);border:1px solid rgba(112,225,161,.24)}.portal-status-line span{color:var(--muted)}.request-code{display:inline-block;padding:.2em .5em;border-radius:8px;background:rgba(79,135,255,.12);border:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.project-link-box{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.project-link-box label{display:grid;gap:6px;color:var(--muted);font-size:.8rem}.project-link-box input{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.12);color:var(--text);padding:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem}.project-link-actions,.order-admin-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:9px}.project-link-actions form,.order-admin-links form{margin:0}.order-admin-links>a{font-size:.88rem;text-decoration:underline;text-underline-offset:3px}
html[data-theme="light"] .portal-form input,html[data-theme="light"] .project-link-box input{background:rgba(255,255,255,.75)}
@media(max-width:850px){.portal-layout{grid-template-columns:1fr}.portal-login-card{padding:24px}}@media(max-width:480px){.portal-login-card{padding:18px}.portal-status-line{align-items:flex-start;flex-direction:column}.project-link-actions .btn{width:100%}.project-link-actions form{width:100%}}

/* V2.4.1 client portal recovery */
.portal-recovery { margin-top: 1.25rem; padding-top: 1.15rem; border-top: 1px solid var(--line, rgba(255,255,255,.12)); }
.portal-recovery h3 { margin: 0 0 .4rem; }
.portal-recovery form { display: grid; gap: .8rem; margin-top: .85rem; }
.portal-recovery label { display: grid; gap: .35rem; font-weight: 700; }

/* V2.5 customer project workspace */
.project-workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.project-status-card{min-width:210px;padding:15px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(7,10,30,.35);backdrop-filter:blur(10px)}.project-status-card span,.project-status-card strong{display:block}.project-status-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.project-status-card strong{margin-top:5px;font-size:1.08rem}.project-progress-wrap{padding-top:0}.project-progress{display:flex;align-items:center;padding:18px 22px;overflow:auto}.progress-step{display:flex;align-items:center;gap:9px;min-width:max-content;opacity:.48}.progress-step>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-weight:800}.progress-step div{display:grid}.progress-step small{color:var(--muted);font-size:.72rem}.progress-step.complete,.progress-step.active{opacity:1}.progress-step.complete>span{background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff;border-color:transparent}.progress-step.active>span{border-color:var(--pink);box-shadow:0 0 0 4px rgba(255,79,184,.12)}.progress-line{height:2px;min-width:34px;flex:1;background:var(--line);margin:0 10px}.progress-line.complete{background:linear-gradient(90deg,var(--pink),var(--violet))}.workspace-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);gap:20px;align-items:start}.workspace-main,.workspace-sidebar{display:grid;gap:18px}.workspace-viewer-panel{padding:20px}.workspace-section-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:10px}.workspace-section-heading h2{margin:.15rem 0 0}.workspace-badge{border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800;white-space:nowrap}.workspace-help{color:var(--muted);font-size:.9rem;line-height:1.55}.workspace-revisions-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:4px}.workspace-revisions-heading small{color:var(--muted)}.workspace-awaiting-preview{min-height:520px;display:grid;place-items:center;align-content:center;text-align:center;padding:40px;border:1px dashed var(--line);border-radius:16px;background:rgba(70,78,135,.05)}.workspace-awaiting-preview p{max-width:620px;color:var(--muted);line-height:1.6}.workspace-awaiting-icon{width:84px;height:84px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,rgba(255,79,184,.2),rgba(106,98,255,.24));border:1px solid rgba(180,130,255,.3);font-size:1.3rem;font-weight:900;margin-bottom:16px}.workspace-review-card .btn+.btn{margin-top:9px}.workspace-project-details .detail-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.workspace-project-details .detail-row span{color:var(--muted)}.workspace-project-details .detail-row strong{text-align:right}.project-notes{padding:14px 0}.project-notes p{color:var(--muted);line-height:1.55}.workspace-history-card .revision-list span{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}.workspace-messages{padding-top:20px}
html[data-theme="light"] .project-status-card{background:rgba(255,255,255,.66)}
@media(max-width:1050px){.workspace-layout{grid-template-columns:1fr}.workspace-sidebar{grid-template-columns:1fr 1fr}.workspace-history-card{grid-column:1/-1}}
@media(max-width:780px){.project-workspace-hero{display:block}.project-status-card{margin-top:18px;min-width:0}.project-progress{padding:14px}.progress-line{min-width:22px}.progress-step div{display:none}.workspace-sidebar{grid-template-columns:1fr}.workspace-history-card{grid-column:auto}.workspace-viewer-panel{padding:14px}.workspace-awaiting-preview{min-height:360px;padding:24px}}

/* V2.6 revision storage + adjustable 3D lighting */
.admin-project-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:22px;align-items:start}.admin-project-main{min-width:0}.admin-revision-upload{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(70,78,135,.05)}.admin-revision-upload h3{margin:0}.field-help{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.admin-revision-manager{margin:18px 0;border-top:1px solid var(--line)}.admin-revision-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:14px 0 8px}.admin-revision-heading small,.admin-empty-state{color:var(--muted)}.admin-revision-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.admin-revision-row>div:first-child{min-width:0}.admin-revision-row small,.admin-revision-row span{display:block;color:var(--muted);overflow-wrap:anywhere}.admin-revision-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.admin-revision-actions form{margin:0}.current-revision-tag{display:inline!important;padding:2px 6px;margin-left:5px;border-radius:999px;background:rgba(255,79,184,.12);color:var(--pink)!important;font-size:.62rem;letter-spacing:.08em}.model-lighting-panel{position:absolute;z-index:6;top:18px;right:96px;width:min(360px,calc(100% - 130px));max-height:calc(100% - 36px);overflow:auto;padding:14px;border:1px solid rgba(151,160,210,.28);border-radius:16px;background:rgba(12,16,31,.94);box-shadow:0 18px 50px rgba(0,0,0,.34);backdrop-filter:blur(16px);color:#eef1ff}.model-lighting-panel[hidden]{display:none}.model-lighting-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.model-lighting-head strong,.model-lighting-head small{display:block}.model-lighting-head small{margin-top:3px;color:#aeb6d4;font-size:.72rem;line-height:1.35}.model-lighting-head>button{width:34px;height:34px;border:1px solid rgba(151,160,210,.24);border-radius:10px;background:rgba(255,255,255,.04);color:#fff;font-size:1.25rem;cursor:pointer}.lighting-presets{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}.lighting-presets button{border:1px solid rgba(151,160,210,.25);border-radius:999px;background:rgba(255,255,255,.04);color:#dfe4fb;padding:7px 10px;font-size:.72rem;cursor:pointer}.lighting-presets button.active{border-color:#ff4fb8;background:rgba(255,79,184,.15);color:#fff}.lighting-controls{display:grid;gap:10px}.lighting-controls label{display:grid;gap:5px}.lighting-controls label>span{display:flex;justify-content:space-between;gap:12px;color:#cbd1e8;font-size:.76rem}.lighting-controls output{color:#fff;font-variant-numeric:tabular-nums}.lighting-controls input[type=range]{width:100%;accent-color:#ff4fb8}.model-toolbar button[data-action=lighting].active{border-color:#ff4fb8;background:rgba(255,79,184,.18)}
@media(max-width:900px){.admin-project-grid{grid-template-columns:1fr}.model-lighting-panel{right:12px;top:76px;width:min(360px,calc(100% - 24px));max-height:calc(100% - 90px)}}
@media(max-width:560px){.admin-revision-row{align-items:flex-start;flex-direction:column}.admin-revision-actions{width:100%;flex-wrap:wrap}.model-lighting-panel{left:8px;right:8px;top:66px;width:auto;max-height:calc(100% - 78px)}.lighting-presets{gap:5px}.lighting-presets button{padding:7px 9px}}

/* V2.6.1 viewer appearance controls */
.model-appearance-controls{margin:13px 0;padding:12px;border:1px solid rgba(151,160,210,.22);border-radius:12px;background:rgba(255,255,255,.025)}.appearance-heading strong,.appearance-heading small{display:block}.appearance-heading strong{font-size:.72rem;letter-spacing:.08em}.appearance-heading small{margin-top:3px;color:#aeb6d4;font-size:.68rem;line-height:1.35}.model-color-control{margin-top:10px;display:grid;gap:6px}.model-color-control>label{font-size:.74rem;color:#cbd1e8}.model-color-picker-row{display:grid;grid-template-columns:54px minmax(78px,1fr) auto;gap:8px;align-items:center}.model-color-picker-row input[type=color]{width:54px;height:44px;padding:2px;border:1px solid rgba(151,160,210,.3);border-radius:10px;background:transparent;cursor:pointer}.model-color-picker-row output{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff;font-size:.76rem}.model-color-picker-row button{min-height:38px;padding:6px 10px;border:1px solid rgba(151,160,210,.28);border-radius:9px;background:rgba(255,255,255,.04);color:#eef1ff;cursor:pointer}.appearance-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:flex-start!important;gap:8px!important;margin-top:9px;color:#cbd1e8;font-size:.72rem}.appearance-check input{accent-color:#ff4fb8}.model-toolbar button[data-action=edges].active{border-color:#62b7ff;background:rgba(98,183,255,.16)}
@media(max-width:480px){.model-color-picker-row{grid-template-columns:50px 1fr}.model-color-picker-row button{grid-column:1/-1}.model-color-picker-row input[type=color]{width:50px}}

/* V2.6.2 non-overlay viewer controls */
.model-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}.model-control-drawer{min-width:0;padding:16px;border:1px solid rgba(151,160,210,.28);border-radius:16px;background:rgba(12,16,31,.96);color:#eef1ff}.model-control-drawer[hidden]{display:none}.sas-model-viewer.drawer-open .model-workbench{grid-template-columns:minmax(0,1fr) minmax(280px,330px)}.model-drawer-section[hidden]{display:none}.model-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.model-drawer-head strong,.model-drawer-head small{display:block}.model-drawer-head small{margin-top:3px;color:#aeb6d4;font-size:.72rem;line-height:1.35}.model-drawer-head>button{width:36px;height:36px;border:1px solid rgba(151,160,210,.24);border-radius:10px;background:rgba(255,255,255,.04);color:#fff;font-size:1.25rem;cursor:pointer}.model-control-drawer .model-appearance-controls{margin:14px 0 0}.model-toolbar button[data-action=color].active{border-color:#8f8bff;background:rgba(143,139,255,.16)}.sas-model-viewer.viewer-expanded .model-stage{min-height:820px}.sas-model-viewer.viewer-expanded .model-workbench{grid-template-columns:minmax(0,1fr)}.sas-model-viewer.viewer-expanded.drawer-open .model-workbench{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}
@media(max-width:1100px){.sas-model-viewer.drawer-open .model-workbench,.sas-model-viewer.viewer-expanded.drawer-open .model-workbench{grid-template-columns:1fr}.model-control-drawer{order:2}.sas-model-viewer.viewer-expanded .model-stage{min-height:700px}}
@media(max-width:780px){.sas-model-viewer.viewer-expanded .model-stage{min-height:560px}.model-control-drawer{padding:13px}.model-color-picker-row{grid-template-columns:54px minmax(70px,1fr) auto}}

/* V2.6.3 wide project workspace + non-crushing viewer inspectors */
body[data-page="review_project"] main{
  width:min(1680px,calc(100% - 36px));
}
body[data-page="review_project"] .site-header{
  width:min(1680px,calc(100% - 36px));
}
body[data-page="review_project"] .workspace-layout{
  grid-template-columns:minmax(0,1fr) minmax(300px,340px);
  gap:24px;
}
body[data-page="review_project"] .workspace-main{min-width:0}
body[data-page="review_project"] .workspace-viewer-panel{padding:22px}
body[data-page="review_project"] .model-stage{min-height:720px}

/* Inspectors live below the canvas so opening controls never steals model width. */
.sas-model-viewer .model-workbench,
.sas-model-viewer.drawer-open .model-workbench,
.sas-model-viewer.viewer-expanded .model-workbench,
.sas-model-viewer.viewer-expanded.drawer-open .model-workbench{
  grid-template-columns:minmax(0,1fr);
}
.model-control-drawer{
  order:2;
  width:100%;
  max-width:none;
}
.model-drawer-section[data-drawer-panel="lighting"] .lighting-controls{
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:14px 18px;
}
.model-drawer-section[data-drawer-panel="color"] .model-appearance-controls{
  max-width:760px;
}

/* Expand means full project width, not browser fullscreen. */
body[data-page="review_project"].viewer-workspace-expanded .workspace-layout{
  grid-template-columns:minmax(0,1fr);
}
body[data-page="review_project"].viewer-workspace-expanded .workspace-sidebar{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
body[data-page="review_project"].viewer-workspace-expanded .workspace-history-card{
  grid-column:auto;
}
body[data-page="review_project"].viewer-workspace-expanded .sas-model-viewer.viewer-expanded .model-stage{
  min-height:860px;
}

@media(max-width:1350px){
  body[data-page="review_project"] main,
  body[data-page="review_project"] .site-header{width:min(100% - 28px,1420px)}
  body[data-page="review_project"] .workspace-layout{grid-template-columns:minmax(0,1fr) 300px}
  .model-drawer-section[data-drawer-panel="lighting"] .lighting-controls{grid-template-columns:repeat(2,minmax(170px,1fr))}
}
@media(max-width:1050px){
  body[data-page="review_project"] .workspace-layout{grid-template-columns:1fr}
  body[data-page="review_project"] .model-stage{min-height:620px}
  body[data-page="review_project"].viewer-workspace-expanded .workspace-sidebar{grid-template-columns:1fr 1fr}
  body[data-page="review_project"].viewer-workspace-expanded .workspace-history-card{grid-column:1/-1}
}
@media(max-width:780px){
  body[data-page="review_project"] main,
  body[data-page="review_project"] .site-header{width:calc(100% - 18px)}
  body[data-page="review_project"] .model-stage{min-height:500px}
  .model-drawer-section[data-drawer-panel="lighting"] .lighting-controls{grid-template-columns:1fr}
  body[data-page="review_project"].viewer-workspace-expanded .workspace-sidebar{grid-template-columns:1fr}
  body[data-page="review_project"].viewer-workspace-expanded .workspace-history-card{grid-column:auto}
}
@media(max-width:480px){
  body[data-page="review_project"] .model-stage{min-height:430px}
}


/* V2.7 catalog management */
.category-admin-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.8fr);gap:18px}.category-admin-list{display:grid;gap:10px}.category-admin-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.4fr) auto auto auto;gap:8px;align-items:center}.category-active{display:flex;align-items:center;gap:6px}.admin-product-list{display:grid;gap:10px}.admin-product-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-product-row small{display:block;color:var(--muted);margin-top:4px}.admin-product-actions,.admin-image-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-product-actions form,.admin-image-actions form{margin:0}.catalog-assets{display:grid;gap:18px}.admin-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.admin-image-card{border:1px solid var(--line);border-radius:14px;padding:10px;background:rgba(255,255,255,.025)}.admin-image-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;margin-bottom:10px}.danger-zone{border-color:rgba(255,90,120,.35)}.product-thumbs{align-items:stretch}.product-thumb{padding:0;border:2px solid transparent;border-radius:10px;background:transparent;cursor:pointer;overflow:hidden}.product-thumb.active{border-color:var(--pink)}.product-thumb img{display:block;width:86px;height:70px;object-fit:cover}.product-3d-section{overflow:visible}.product-3d-viewer{max-width:1500px;margin:0 auto}.product-3d-viewer.viewer-expanded{max-width:none}
@media(max-width:900px){.category-admin-grid{grid-template-columns:1fr}.category-admin-row{grid-template-columns:1fr}.admin-product-row{align-items:flex-start;flex-direction:column}}


/* V2.7.1 catalog taxonomy: subcategories, multi-category products, tags */
.taxonomy-fieldset{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0}.taxonomy-fieldset legend{padding:0 6px;font-weight:800}.taxonomy-fieldset legend small{font-weight:500;color:var(--muted)}.taxonomy-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:5px}.taxonomy-check{display:flex!important;align-items:center;gap:7px;font-weight:600!important}.taxonomy-check.is-child{padding-left:18px;color:var(--muted)}.category-admin-row{grid-template-columns:minmax(120px,.7fr) minmax(120px,.7fr) minmax(180px,1.3fr) auto auto auto}.category-depth-1{margin-left:24px;border-left:3px solid color-mix(in srgb,var(--pink) 55%,transparent);padding-left:10px}.category-browser{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}.chip.subchip{font-size:.85rem}.search-context{color:var(--muted);margin:-8px 0 20px}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.tag-chip,.product-tag-preview{font-size:.78rem;color:var(--muted)}.tag-chip{display:inline-flex;padding:5px 9px;border:1px solid var(--line);border-radius:999px;text-decoration:none}.tag-chip:hover{border-color:var(--pink);color:var(--text)}.product-tag-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:.35rem 0}
@media(max-width:900px){.category-admin-row{grid-template-columns:1fr}.category-depth-1{margin-left:12px}.taxonomy-check-grid{grid-template-columns:1fr}}

/* V2.7.2 native select readability in dark theme */
html[data-theme="dark"] select{
  background-color:#111831;
  color:#f8f8fb;
  color-scheme:dark;
}
html[data-theme="dark"] select option,
html[data-theme="dark"] select optgroup{
  background:#111831;
  color:#f8f8fb;
}
html[data-theme="dark"] select option:checked{
  background:#28345f;
  color:#fff;
}
html[data-theme="light"] select{
  color-scheme:light;
}
html[data-theme="light"] select option,
html[data-theme="light"] select optgroup{
  background:#fff;
  color:#11152b;
}

/* V2.8 admin workspace: section tabs + usable category descriptions */
.admin-tabs{position:sticky;top:72px;z-index:18;display:flex;gap:8px;max-width:1680px;margin:18px auto 0;padding:10px 12px;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(0,0,0,.14)}
.admin-tab{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:9px 14px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted);font:inherit;font-weight:800;white-space:nowrap;cursor:pointer}
.admin-tab:hover{color:var(--text);border-color:var(--line);background:rgba(255,255,255,.035)}
.admin-tab.active{color:var(--text);border-color:color-mix(in srgb,var(--pink) 55%,var(--line));background:linear-gradient(135deg,rgba(255,79,184,.13),rgba(79,135,255,.10))}
.admin-tab-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.72rem}
.admin-tab-panel[hidden]{display:none!important}.admin-tab-panel{min-width:0}.admin-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-stat-card{text-align:left;color:var(--text);cursor:pointer}.admin-stat-card span,.admin-stat-card small{display:block}.admin-stat-card span{font-weight:800;color:var(--muted)}.admin-stat-card strong{display:block;font-size:2rem;margin:.3rem 0}.admin-stat-card small{line-height:1.4;color:var(--muted)}.admin-stat-card:hover{border-color:var(--pink)}
.admin-quick-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-quick-actions h2{margin:.2rem 0 0}.admin-quick-buttons{display:flex;gap:10px;flex-wrap:wrap}.admin-single-form{max-width:760px}.admin-single-form>.form-card{width:100%}
.category-admin-row{align-items:start}.category-admin-row textarea,.category-admin-grid textarea{width:100%;min-width:0;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.category-admin-row textarea{min-height:72px}.category-admin-grid .form-card textarea{min-height:96px}
@media(max-width:1100px){.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-tabs{top:62px;margin-left:8px;margin-right:8px}.admin-overview-grid{grid-template-columns:1fr}.admin-quick-actions{align-items:flex-start;flex-direction:column}.admin-quick-buttons{width:100%}.admin-quick-buttons .btn{flex:1 1 180px}.category-admin-row textarea{min-height:92px}}
body[data-page="admin_dashboard"] main{width:min(1680px,calc(100% - 28px))}
@media(max-width:480px){body[data-page="admin_dashboard"] main{width:calc(100% - 18px)}}


/* V2.8.1 inspiration libraries + social links */
.inspiration-section{max-width:1500px}.inspiration-section .section-heading{margin-bottom:14px}.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inspiration-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,transparent);color:var(--text);text-decoration:none;min-width:0}.inspiration-card:hover{border-color:color-mix(in srgb,var(--pink) 62%,var(--line));transform:translateY(-1px)}.inspiration-card strong,.inspiration-card small{display:block}.inspiration-card small{margin-top:3px;color:var(--muted);line-height:1.3}.inspiration-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,79,184,.12),rgba(79,135,255,.13));font-weight:900;font-size:.88rem;letter-spacing:-.02em}.external-mark{font-size:1.15rem;color:var(--muted)}
.social-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--text);text-decoration:none;background:rgba(255,255,255,.025)}.social-link:hover{border-color:var(--pink);background:rgba(255,255,255,.055)}.social-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;font-weight:900;font-size:1.05rem;background:linear-gradient(145deg,rgba(255,79,184,.18),rgba(79,135,255,.18));border:1px solid rgba(255,255,255,.12)}.social-facebook{font-family:Arial,sans-serif;font-size:1.2rem}.social-instagram{font-size:1.35rem}.footer-social{justify-content:center;margin:8px 0 2px}.contact-social{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.contact-social h3{margin-top:0}.social-link-large{border-radius:14px;padding:11px 14px;min-width:210px}.social-link-large strong,.social-link-large small{display:block}.social-link-large small{margin-top:2px;color:var(--muted);font-size:.78rem}
@media(max-width:980px){.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.inspiration-grid{grid-template-columns:1fr}.inspiration-card{grid-template-columns:46px minmax(0,1fr) auto}.inspiration-icon{width:44px;height:44px}.footer-social{justify-content:flex-start}}

/* V2.8.2 dynamically managed supported artists */
.artist-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.artist-showcase-card{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 95%,transparent);color:var(--text);text-decoration:none;min-width:0}.artist-showcase-card:hover{border-color:color-mix(in srgb,var(--pink) 62%,var(--line));transform:translateY(-1px)}.artist-showcase-media{display:grid;place-items:center;width:66px;height:66px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.05)}.artist-showcase-media img{width:100%;height:100%;object-fit:contain;background:#fff}.artist-platform-fallback{padding:6px;text-align:center;font-size:.72rem;font-weight:900;color:var(--muted);overflow-wrap:anywhere}.artist-showcase-copy{min-width:0}.artist-showcase-copy strong,.artist-showcase-copy small{display:block}.artist-showcase-copy small{margin-top:4px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.more-libraries{margin-top:15px;border:1px solid var(--line);border-radius:14px;padding:11px 14px}.more-libraries summary{cursor:pointer;font-weight:800}.library-link-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.library-link-row a{padding:7px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted)}.library-link-row a:hover{color:var(--text);border-color:var(--pink)}
.artist-admin-layout{display:grid;grid-template-columns:minmax(280px,.6fr) minmax(0,1.4fr);gap:18px;align-items:start}.artist-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.artist-admin-card{min-width:0}.artist-admin-card>form{display:grid;gap:9px}.artist-admin-card label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:750}.artist-admin-card input,.artist-admin-card textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.055);color:var(--text);padding:10px 11px}.artist-admin-card textarea{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}.artist-admin-head{display:flex;gap:11px;align-items:center}.artist-admin-head small{display:block;color:var(--muted);margin-top:2px}.artist-admin-thumb{width:58px;height:58px;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.04);flex:0 0 auto}.artist-admin-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}.artist-admin-thumb span{font-size:.7rem;font-weight:900;text-align:center;padding:4px;color:var(--muted)}.artist-admin-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:8px}.artist-admin-actions form{margin:0;display:flex;gap:7px;flex-wrap:wrap}
html[data-theme="light"] .artist-admin-card input,html[data-theme="light"] .artist-admin-card textarea{background:#fff}
@media(max-width:1100px){.artist-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.artist-admin-layout{grid-template-columns:1fr}.artist-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.artist-showcase-grid,.artist-admin-list{grid-template-columns:1fr}.artist-showcase-card{grid-template-columns:58px minmax(0,1fr) auto}.artist-showcase-media{width:56px;height:56px}}

/* V2.8.3 verified creator/profile and brand artwork */
.social-icon img{width:18px;height:18px;display:block}.social-link-large .social-icon img{width:21px;height:21px}
.artist-showcase-media img,.artist-admin-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.branded-library-links a{display:inline-flex;align-items:center;gap:7px}.branded-library-links a img{width:22px;height:22px;border-radius:5px;object-fit:contain;background:#fff}.branded-library-links a b{font-weight:700;color:var(--muted)}

/* V2.8.7 product personalization */
.personalization-admin{border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:rgba(255,255,255,.025)}
.personalization-toggle{display:flex!important;flex-direction:row!important;gap:11px!important;align-items:flex-start}.personalization-toggle>input{width:auto!important;margin-top:4px}.personalization-toggle span{display:block}.personalization-toggle strong,.personalization-toggle small{display:block}.personalization-toggle small{margin-top:3px;color:var(--muted);font-weight:500;line-height:1.4}
.personalization-options{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.personalization-options[hidden]{display:none!important}.personalization-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.personalization-suggestions button{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:var(--text);padding:6px 9px;cursor:pointer}.personalization-suggestions button:hover{border-color:var(--pink)}
.product-personalization{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin:18px 0;padding:15px 16px;border:1px solid color-mix(in srgb,var(--pink) 45%,var(--line));border-radius:14px;background:linear-gradient(135deg,rgba(255,79,184,.10),rgba(79,135,255,.07))}.personalization-badge{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:var(--pink);color:#190918;font-size:.78rem;font-weight:900}.product-personalization p{margin:.4rem 0 .25rem;color:var(--muted);line-height:1.6}.product-personalization small{color:var(--muted)}.personalization-chip{display:inline-flex;margin:2px 4px 2px 0;padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:rgba(255,255,255,.04);font-size:.82rem}
@media(max-width:600px){.product-personalization{grid-template-columns:1fr}.personalization-badge{justify-self:start}}


/* V2.8.8 — Admin version history */
.version-history-section .section-heading{align-items:flex-start;gap:1rem}
.version-current-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:.55rem .85rem;border:1px solid var(--border);border-radius:999px;background:var(--panel);font-weight:800}
.version-history-list{display:grid;gap:.85rem}
.version-history-card{position:relative;padding:1rem 1.1rem}
.version-history-card.is-current{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));box-shadow:inset 4px 0 0 var(--accent)}
.version-history-card.is-superseded{opacity:.72}
.version-history-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.version-history-head>div{min-width:0}
.version-history-head h3{margin:.15rem 0 0}
.version-number{font-weight:900;letter-spacing:.04em;color:var(--accent)}
.version-status{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:800;white-space:nowrap}
.version-status.current{background:var(--accent);color:var(--button-text,#fff);border-color:var(--accent)}
.version-history-card p{margin:.55rem 0 0;color:var(--muted)}
@media(max-width:680px){.version-history-head,.version-history-section .section-heading{flex-direction:column}.version-current-badge{align-self:flex-start}}

/* Payment page: Venmo button and QR card, scoped to avoid sitewide changes. */
.venmo-payment-panel .venmo-payment-qr { max-height: 350px; width: auto; max-width: 90%; object-fit: contain; }
.venmo-payment-link { display: inline-flex; align-items: center; justify-content: center; padding: 11px 20px; border-radius: 12px; background: #1676d2; color: #fff; font-weight: 800; text-decoration: none; }
.venmo-payment-link:hover, .venmo-payment-link:focus-visible { background: #115ea8; color: #fff; }

/* v2.9.4: Keep the complete customer-supplied photograph visible inside cards and galleries. */
.product-media img,
.product-main-image:not(.placeholder),
.thumb-row img,
.product-thumb img,
.admin-image-card img {
  object-fit: contain;
  object-position: center;
  background: #20243a;
}
.product-media img { display: block; }
.product-main-image:not(.placeholder) { display: block; }

/* v2.9.5: Product summaries are quick takes; details are separated below. */
.product-info .product-summary{margin:20px 0 24px;padding:15px 18px;border-left:3px solid var(--pink);background:rgba(255,79,184,.065);border-radius:0 12px 12px 0}
.product-summary-label{display:block;color:var(--pink-2);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.11em;margin-bottom:7px}
.product-info .product-summary p{margin:0;font-size:1.04rem;line-height:1.55;color:var(--text)}
.product-description{border-top:1px solid var(--line);padding-top:22px;margin:0 0 20px}
.product-description h2{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.2;margin:0 0 14px}
.product-description .rich-copy{margin:0;line-height:1.7;white-space:pre-line}

/* v2.9.6: responsive catalog management */
.product-manager-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.product-manager-toolbar label{display:grid;gap:5px;flex:1 1 160px;font-size:.86rem;font-weight:700}.product-manager-toolbar input,.product-manager-toolbar select{width:100%;min-height:42px}.product-manager-view{display:flex;gap:5px;padding-bottom:2px}.product-manager-view [aria-pressed="true"]{border-color:var(--pink);color:var(--pink-2)}.product-manager-status{color:var(--muted);font-size:.92rem;margin-bottom:12px}.admin-product-overview{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.admin-product-thumb{width:78px;height:78px;flex:none;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.admin-product-no-image{display:grid;place-items:center;text-align:center;font-size:.75rem;color:var(--muted)}.admin-product-details{min-width:0;overflow-wrap:anywhere}.admin-product-list[data-view="grid"]{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.admin-product-list[data-view="grid"] .admin-product-row{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:14px;border:1px solid var(--line);border-radius:14px;gap:12px}.admin-product-list[data-view="grid"] .admin-product-overview{flex-direction:column;align-items:stretch}.admin-product-list[data-view="grid"] .admin-product-thumb{width:100%;height:160px}.admin-product-list[data-view="grid"] .admin-product-actions{margin-top:auto}.product-manager-pages{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.product-manager-pages button:disabled{opacity:.4;cursor:default}
@media(max-width:680px){.admin-product-row{align-items:stretch}.admin-product-thumb{width:65px;height:65px}.product-manager-toolbar label{flex-basis:42%}.product-manager-view{width:100%}}
.admin-product-list [data-pm-item][hidden], [data-pm-empty][hidden]{display:none!important}

/* v2.9.7 quote cart and customization builder */
.request-line{display:flex;justify-content:space-between;gap:22px;margin:16px 0;align-items:start}.request-line-image{float:left;width:100px;height:100px;object-fit:contain;margin-right:15px;border:1px solid var(--line);border-radius:12px}.request-line p{margin:6px 0;color:var(--muted)}.request-line form{display:grid;gap:8px}.request-line form input{max-width:120px}.request-summary{margin:12px 0;padding:16px}.custom-builder-row{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.custom-builder-row label{display:grid;gap:4px}@media(max-width:700px){.request-line{flex-direction:column}.custom-builder-row{grid-template-columns:1fr}}

.request-admin-items{border-left:3px solid var(--pink);padding:10px 14px;margin:12px 0;background:rgba(255,79,184,.06)}.request-admin-items>div{padding:8px 0;border-bottom:1px solid var(--line)}.request-admin-items p{margin:4px 0}

/* v2.9.8 - clear quote request flow and cart controls */
.request-review{padding:20px;margin:18px 0}.request-review-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.request-review-header h3{margin:0}.request-edit-cart{white-space:nowrap;border-color:var(--pink)!important}.request-review-item{display:flex;gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}.request-review-item:last-child{border-bottom:0;padding-bottom:0}.request-review-item img{width:68px;height:68px;object-fit:contain;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;flex-shrink:0}.request-review-options p{margin:5px 0;overflow-wrap:anywhere;color:var(--muted)}.request-form-section{margin:20px 0 24px}.request-form-section h3{margin:0 0 16px}.request-custom-choice{display:flex!important;align-items:start;gap:12px;cursor:pointer}.request-custom-choice input{width:auto!important;margin:6px 0 0}.request-custom-choice span{display:grid;gap:5px}.request-custom-choice small{font-weight:400;color:var(--muted)}[data-custom-project-fields][hidden]{display:none!important}[data-custom-project-fields]{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:14px}.request-no-payment{padding:14px;border-left:3px solid var(--pink);background:rgba(255,79,184,.08);border-radius:8px;line-height:1.5}.request-line-primary{display:flex;gap:14px;align-items:start;min-width:0;flex:1}.request-line-image{float:none;margin:0;flex:0 0 95px}.request-line-info{min-width:0;overflow-wrap:anywhere}.request-line-actions{display:flex;flex-direction:column;gap:8px;flex:0 0 190px}.request-line-actions form{display:grid;gap:8px}.request-line-actions .btn{text-align:center;justify-content:center}.request-line-actions form input{width:100%;max-width:none}.request-line-actions a.btn{display:inline-flex}.request-line-info p{overflow-wrap:anywhere}
@media(max-width:750px){.request-review-header{align-items:stretch;flex-direction:column}.request-edit-cart{align-self:start}.request-line{flex-direction:column}.request-line-actions{width:100%;flex-basis:auto}.request-line-primary{width:100%}}

/* v2.9.8 Gallery image fit hotfix: the media frame is a fixed viewport,
   not an intrinsic-sized grid track. Preserve every edge of portrait,
   landscape and square product photographs without stretching or cropping. */
.product-card .product-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.product-card .product-media > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
}
.product-card .product-media > span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* v2.9.8 Gallery Hotfix 2: match photo letterbox areas to the active theme. */
html[data-theme="light"] .product-card .product-media {
  background: #edf0f7;
}
html[data-theme="dark"] .product-card .product-media {
  background: #292f49;
}

/* v2.9.8 Gallery Hotfix 3: v2.9.4 assigns a dark background directly
   to image elements. That opaque layer covers the theme-aware parent
   letterbox, so explicitly clear it for Gallery cards only. */
.product-card .product-media > img { background: transparent; }
html[data-theme="light"] .product-card .product-media { background-color: #edf0f7; background-image: none; }
html[data-theme="dark"] .product-card .product-media { background-color: #292f49; background-image: none; }


/* V2.9.8 hero art refresh + theme-aware decorative panel artwork */
.hero:after,
.page-hero:after{
  width:var(--hero-art-width,48%);
  height:var(--hero-art-height,55%);
  right:var(--hero-art-right,0);
  bottom:var(--hero-art-bottom,0);
  left:auto;
  top:auto;
  background-image:var(--hero-art-image,url('/static/img/hero-military.webp'));
  background-position:var(--hero-art-position,right bottom);
  background-size:var(--hero-art-size,contain);
  background-repeat:no-repeat;
  opacity:var(--hero-art-opacity,.62);
  filter:var(--hero-art-filter,none);
}

/* Default page-hero treatment remains subtle and can be overridden per page. */
html[data-theme="light"] .page-hero{
  --hero-art-opacity:.28;
}

/* Gallery / Browse Our Work */
.gallery-hero{
  --hero-art-width:35%;
  --hero-art-height:58%;
  --hero-art-right:34px;
  --hero-art-bottom:10px;
  --hero-art-position:right bottom;
  --hero-art-size:contain;
}
html[data-theme="light"] .gallery-hero{
  --hero-art-image:url('/static/img/frosted-glass-3d-printing-trio.png');
  --hero-art-opacity:.46;
  --hero-art-filter:drop-shadow(0 8px 26px rgba(126,138,184,.12));
}
html[data-theme="dark"] .gallery-hero{
  --hero-art-image:url('/static/img/frosted-glass-3d-printing-trio.png');
  --hero-art-opacity:.32;
  --hero-art-filter:brightness(.9) saturate(.92) drop-shadow(0 10px 28px rgba(0,0,0,.22));
}

/* Custom Orders */
.custom-hero{
  --hero-art-width:33%;
  --hero-art-height:58%;
  --hero-art-right:34px;
  --hero-art-bottom:8px;
}
html[data-theme="light"] .custom-hero{
  --hero-art-image:url('/static/img/plan-create-celebrate-trio.png');
  --hero-art-opacity:.34;
  --hero-art-filter:drop-shadow(0 8px 22px rgba(136,108,174,.10));
}
html[data-theme="dark"] .custom-hero{
  --hero-art-image:url('/static/img/ghosted-cheerleader-trio.png');
  --hero-art-opacity:.24;
  --hero-art-filter:brightness(.94) saturate(.96) drop-shadow(0 10px 24px rgba(0,0,0,.24));
}

/* Client portal / project lookup */
.portal-hero,
.review-hero,
.project-workspace-hero{
  --hero-art-width:34%;
  --hero-art-height:60%;
  --hero-art-right:26px;
  --hero-art-bottom:6px;
}
html[data-theme="light"] .portal-hero,
html[data-theme="light"] .review-hero,
html[data-theme="light"] .project-workspace-hero{
  --hero-art-image:url('/static/img/misty-military-service-silhouettes.png');
  --hero-art-opacity:.22;
  --hero-art-filter:drop-shadow(0 8px 24px rgba(107,118,148,.10));
}
html[data-theme="dark"] .portal-hero,
html[data-theme="dark"] .review-hero,
html[data-theme="dark"] .project-workspace-hero{
  --hero-art-image:url('/static/img/misty-military-service-silhouettes.png');
  --hero-art-opacity:.18;
  --hero-art-filter:brightness(.88) saturate(.86) drop-shadow(0 12px 30px rgba(0,0,0,.28));
}

/* Cheer category accents */
body.category-cheer .page-hero,
body.category-cheer .product-detail{
  --hero-art-image:url('/static/img/ghosted-cheerleader-trio.png');
}
html[data-theme="light"] body.category-cheer .page-hero{
  --hero-art-opacity:.28;
}
html[data-theme="dark"] body.category-cheer .page-hero{
  --hero-art-opacity:.24;
}
body.category-cheer .product-detail:after{
  background-image:url('/static/img/ghosted-cheerleader-trio.png');
  opacity:.12;
}

@media(max-width:900px){
  .gallery-hero,
  .custom-hero,
  .portal-hero,
  .review-hero,
  .project-workspace-hero{
    --hero-art-width:42%;
    --hero-art-height:42%;
    --hero-art-right:18px;
    --hero-art-bottom:8px;
  }
}
@media(max-width:640px){
  .gallery-hero,
  .custom-hero,
  .portal-hero,
  .review-hero,
  .project-workspace-hero{
    --hero-art-width:48%;
    --hero-art-height:32%;
    --hero-art-right:10px;
    --hero-art-bottom:10px;
  }
}


/* v2.9.8 hero-art complete coverage hotfix 2 — no legacy SVG hero art */
.hero:after,.page-hero:after{
  background-image:url('/static/img/hero-printer.webp');
  background-position:right bottom;
  background-repeat:no-repeat;
  background-size:contain;
  width:36%;height:64%;right:26px;bottom:6px;left:auto;top:auto;
  opacity:.26;filter:none;
}
html[data-theme="light"] .hero:after,
html[data-theme="light"] .page-hero:after{opacity:.34;filter:contrast(1.08)}
html[data-theme="dark"] .hero:after,
html[data-theme="dark"] .page-hero:after{opacity:.23;filter:brightness(1.12) contrast(1.14)}

/* Brand-specific decorations assigned to every page type. */
.hero.hero-home:after,
.page-hero.gallery-hero:after,
.page-hero.pay-hero:after{
  background-image:url('/static/img/hero-printer.webp');
}
.page-hero.about-hero:after,
.page-hero.portal-hero:after,
.page-hero.review-hero:after,
.page-hero.project-workspace-hero:after{
  background-image:url('/static/img/hero-military.webp');
}
.page-hero.custom-hero:after,
.page-hero.contact-hero:after{
  background-image:url('/static/img/hero-craft.webp');
}
.page-hero.faq-hero:after,
body.category-cheer .page-hero:after{
  background-image:url('/static/img/hero-cheer.webp');
}
body.category-military-inspired .page-hero:after{
  background-image:url('/static/img/hero-military.webp');
}
body.category-cheer .product-detail:after{
  background-image:url('/static/img/hero-cheer.webp');
}
@media(max-width:780px){
  .hero:after,.page-hero:after{width:44%;height:40%;right:10px;bottom:8px;opacity:.16}
  html[data-theme="light"] .hero:after,
  html[data-theme="light"] .page-hero:after{opacity:.20}
  html[data-theme="dark"] .hero:after,
  html[data-theme="dark"] .page-hero:after{opacity:.15}
}
@media(max-width:540px){
  .hero:after,.page-hero:after{width:45%;height:25%;right:8px;bottom:6px;opacity:.10}
}

/* V2.9.8 footer alignment polish: logo, navigation and social together. */
.site-footer{
  grid-template-columns:minmax(205px,1fr) minmax(0,1.2fr) auto;
  column-gap:28px;
  row-gap:18px;
  align-items:center;
}
.site-footer .footer-brand{min-width:0}
.site-footer nav{justify-content:center;align-items:center;gap:12px 18px}
.site-footer .footer-social{
  justify-content:flex-end;
  align-self:center;
  margin:0;
  gap:8px;
}
.site-footer .footer-social .social-link{white-space:nowrap}
.site-footer .fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:14px;text-align:center}
@media(max-width:1050px){
  .site-footer{grid-template-columns:minmax(190px,.85fr) minmax(0,1.15fr)}
  .site-footer nav{justify-content:flex-end}
  .site-footer .footer-social{grid-column:2;justify-content:flex-end}
}
@media(max-width:780px){
  .site-footer{grid-template-columns:1fr;justify-items:start;gap:16px}
  .site-footer nav,.site-footer .footer-social{grid-column:1;justify-content:flex-start}
  .site-footer .fine{width:100%;text-align:left}
}

/* RC3 admin conversion form: constrain controls to their grid track. */
.admin-project-grid > * { min-width:0; }
.admin-revision-upload { min-width:0; max-width:100%; box-sizing:border-box; }
.admin-revision-upload label { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; min-width:0; max-width:100%; }
.admin-revision-upload :is(select,input[type="file"],input[type="text"],input:not([type]),textarea) { display:block; width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
.admin-revision-upload input[type="file"] { overflow:hidden; }
.admin-revision-upload .field-help { overflow-wrap:anywhere; }
.admin-revision-upload .btn { max-width:100%; }
