
:root{--bg:#050505;--panel:#0f0f11;--panel2:#151518;--gold:#c99c31;--gold2:#f0cf72;--text:#f5f2e9;--muted:#aaa59a;--line:rgba(255,255,255,.12);--green:#52d083;--yellow:#e8c34f;--red:#e86d6d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.btn{border:0;border-radius:999px;padding:14px 22px;cursor:pointer;font-weight:800}.primary{background:linear-gradient(135deg,#9a7115,#e5c35e);color:#090909}.secondary{background:#f3efe5;color:#111}.ghost{background:transparent;color:#ddd;border:1px solid var(--line)}.danger{background:#4b1c1c;color:#ffdada}.small{padding:9px 14px;font-size:12px}.eyebrow{letter-spacing:4px;font-size:11px;font-weight:900;color:var(--gold2)}
.gate{position:fixed;inset:0;z-index:99;display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px;background:radial-gradient(circle at 50% 15%,#241a09,#060606 48%,#010101)}.gate-card{width:min(650px,100%);margin:24px auto;min-height:min-content;padding:42px;border:1px solid rgba(218,178,61,.4);border-radius:24px;background:rgba(8,8,8,.94);text-align:center}.gate-brand{width:min(440px,85%);max-height:310px;object-fit:contain}.gate-card h1{font:48px Georgia,serif}.gate-card p,.section p{color:var(--muted);line-height:1.7}.check{display:flex;gap:12px;text-align:left;margin:22px 0}.check input{accent-color:var(--gold)}
.nav{position:sticky;top:0;z-index:40;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,70px);background:rgba(4,4,4,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;letter-spacing:3px;font-size:13px}.brand img{width:54px;height:54px;object-fit:contain}.brand b{color:var(--gold2)}.nav nav{display:flex;gap:28px}.nav-actions{display:flex;gap:8px}
.hero{position:relative;min-height:790px;display:flex;align-items:center;overflow:hidden;padding:110px clamp(24px,7vw,110px)}#particles{position:absolute;inset:0;width:100%;height:100%;opacity:.45}.hero-logo{position:absolute;right:2vw;top:70px;width:min(620px,47vw);opacity:.25;filter:drop-shadow(0 0 55px rgba(218,179,67,.25))}.hero-logo img{width:100%}.hero-content{position:relative;z-index:2;max-width:760px}.hero h1{font:500 clamp(54px,7vw,96px)/.98 Georgia,serif;margin:18px 0}.hero h1 em{font-style:normal;color:var(--gold2)}.lead{font-size:19px;max-width:680px}.actions{display:flex;gap:12px;margin:34px 0 48px}.hero-stats{display:flex;gap:42px;padding-top:26px;border-top:1px solid var(--line)}.hero-stats div{display:grid;gap:5px}.hero-stats b{font-size:22px}.hero-stats span{font-size:12px;color:#888}
.section{padding:105px clamp(24px,7vw,110px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-head h2,.standards h2,.contact h2{font:clamp(40px,5vw,66px) Georgia,serif;margin:10px 0}.section-head>p{max-width:480px}
.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.category-card{min-height:205px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#121214,#090909);cursor:pointer;transition:.25s}.category-card:hover{transform:translateY(-5px);border-color:rgba(222,180,66,.42)}.category-card .num{color:var(--gold2);font:26px Georgia,serif}.category-card h3{font:24px Georgia,serif;margin:42px 0 10px}.category-card p{font-size:13px}
.catalog-section{background:#09090a}.toolbar{display:grid;grid-template-columns:1fr 250px 210px;gap:12px;position:sticky;top:96px;z-index:10;padding:12px;border:1px solid var(--line);border-radius:18px;background:rgba(9,9,10,.93);backdrop-filter:blur(18px)}.search{display:flex;align-items:center;gap:10px;padding:0 14px;background:#111;border:1px solid var(--line);border-radius:12px}.search input,.toolbar select{width:100%;padding:14px;background:#111;color:#eee;border:1px solid var(--line);border-radius:12px}.search input{border:0;outline:0}.availability-legend{display:flex;gap:18px;flex-wrap:wrap;padding:18px 4px 0;color:#aaa;font-size:12px}.availability-legend span{display:flex;align-items:center;gap:8px}.light{width:11px;height:11px;border-radius:50%;box-shadow:0 0 12px currentColor}.green{background:var(--green);color:var(--green)}.yellow{background:var(--yellow);color:var(--yellow)}.red{background:var(--red);color:var(--red)}.catalog-summary{padding:22px 4px;color:#888;font-size:13px}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(150deg,#131315,#080808);transition:.25s}.product-card:hover{transform:translateY(-5px);border-color:rgba(222,180,66,.4)}.vial-stage{height:390px;position:relative;overflow:hidden;background:#050505}.vial-stage img{width:100%;height:100%;object-fit:cover}.availability-pill{position:absolute;top:14px;right:14px;z-index:2;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:1px;background:rgba(12,12,13,.86);border:1px solid var(--line)}.availability-available{color:#72df99}.availability-in-transit{color:#f0d66f}.availability-unavailable{color:#f28c8c}.product-body{padding:22px}.product-body .cat{font-size:10px;letter-spacing:2px;color:var(--gold2)}.product-body h3{font:28px Georgia,serif;margin:10px 0}.product-body p{font-size:13px;min-height:61px}.variant-row{display:flex;gap:10px;align-items:center;margin:16px 0}.variant-row select{flex:1;padding:11px;background:#0b0b0c;color:#eee;border:1px solid var(--line);border-radius:10px}.price{font-size:22px;font-weight:850}.card-actions{display:flex;gap:8px}.card-actions .btn{flex:1;padding:11px;font-size:12px}
.standards{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.standards-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.standards-grid article,.contact-card,.admin-panel,.account-sections article{padding:24px;border:1px solid var(--line);border-radius:16px;background:#101011}.standards-grid span{color:var(--gold2);font-weight:900}.standards-grid h3{font:24px Georgia,serif}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact-card{display:grid;gap:14px}.contact-card>a{padding:18px;border:1px solid var(--line);border-radius:12px;color:var(--gold2)}
footer{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:30px;padding:34px clamp(24px,7vw,110px);border-top:1px solid var(--line);font-size:12px;color:#777}footer p{text-align:center}footer>a{text-align:right}
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.86);backdrop-filter:blur(12px)}.modal-shell{position:relative;width:min(1120px,100%);max-height:93vh;overflow:auto;padding:38px;border:1px solid rgba(222,180,66,.38);border-radius:22px;background:#0d0d0e}.modal-shell.narrow{width:min(640px,100%)}.modal-close{position:absolute;right:18px;top:12px;background:transparent;border:0;color:#aaa;font-size:34px}.product-detail-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:42px}.detail-image{min-height:590px;border-radius:18px;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-copy h2{font:58px Georgia,serif;margin:12px 0}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.detail-meta div{padding:16px;border:1px solid var(--line);border-radius:12px}.detail-meta span{display:block;font-size:10px;letter-spacing:2px;color:#777;margin-bottom:6px}
.modal form,.admin-form{display:grid;gap:14px}.modal label,.admin-form label{display:grid;gap:7px;color:#aaa;font-size:13px}.modal input,.modal textarea,.admin-form input,.admin-form textarea,.admin-form select{width:100%;padding:13px;background:#090909;color:#eee;border:1px solid var(--line);border-radius:10px}.success{color:var(--green)}
.portal-body,.admin-page{min-height:100vh;background:radial-gradient(circle at 50% 0,#201709,#050505 42%)}.portal-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.portal-card{width:min(850px,100%);padding:40px;border:1px solid rgba(222,180,66,.38);border-radius:22px;background:rgba(13,13,14,.95)}.portal-brand{position:absolute;top:25px;left:30px}.portal-card h1{font:64px Georgia,serif}.account-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dash-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:#111}.dash-card b{display:block;font-size:30px}.dash-card span{color:#999}.admin-logo{width:180px;height:180px;object-fit:contain}.login-card{text-align:center;max-width:600px}.login-card small{color:#777}
#adminApp{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.admin-sidebar{position:sticky;top:0;height:100vh;padding:25px 18px;border-right:1px solid var(--line);background:#09090a}.admin-sidebar nav{display:grid;gap:7px;margin-top:45px}.admin-sidebar nav button{padding:13px;text-align:left;background:transparent;color:#aaa;border:0;border-radius:10px;cursor:pointer}.admin-sidebar nav button.active,.admin-sidebar nav button:hover{background:#171719;color:var(--gold2)}.admin-main{padding:38px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-top h1{font:52px Georgia,serif;margin:5px 0}.admin-list{display:grid;gap:10px;margin-top:15px}.admin-row{display:grid;grid-template-columns:68px 1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.admin-row img{width:68px;height:68px;object-fit:cover;border-radius:9px}.admin-row small{display:block;color:#888}.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.admin-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-form .three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.empty{padding:50px;text-align:center;color:#888}
@media(max-width:1100px){.category-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.standards{grid-template-columns:1fr}.nav nav{display:none}.hero-logo{opacity:.14}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.brand span{display:none}.hero{min-height:720px;padding-top:90px}.hero h1{font-size:52px}.hero-stats{gap:18px;flex-wrap:wrap}.section{padding:74px 20px}.section-head{display:block}.category-grid,.product-grid,.standards-grid,.contact,.product-detail-grid,.account-sections,.dashboard-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr;position:relative;top:auto}.vial-stage{height:430px}.detail-image{min-height:500px}.admin-form .two,.admin-form .three{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center}footer p,footer>a{text-align:center}#adminApp{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-sidebar nav{grid-template-columns:1fr 1fr;margin-top:20px}.admin-main{padding:20px}.admin-top{display:block}.admin-row{grid-template-columns:55px 1fr auto}.admin-row .delete{grid-column:2/4}.portal-brand{position:relative;top:auto;left:auto;margin-bottom:20px}}

@media (max-height: 760px){
  .gate{padding:12px}
  .gate-card{margin:8px auto;padding:24px}
  .gate-brand{width:min(320px,78%);max-height:190px}
  .gate-card h1{font-size:36px;margin:10px 0}
  .gate-card p{line-height:1.5}
  .gate-card .check{margin:16px 0}
}
@media (max-width: 700px){
  .gate{padding:10px}
  .gate-card{margin:8px auto;padding:22px}
  .gate-brand{width:min(300px,82%);max-height:190px}
  .gate-card h1{font-size:34px}
}

.member-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:25px}
.member-tabs button{background:transparent;border:0;color:#888;padding:13px 16px;cursor:pointer}
.member-tabs button.active{color:var(--gold2);border-bottom:2px solid var(--gold)}
.portal-note{font-size:12px;color:#777}
.portal-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px}
/* Dynamic master vial system */
.vial-stage{display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 35%,#201607 0,#080808 45%,#020202 100%)}
.vial-stage>img.custom-vial-image,.detail-image>img.custom-vial-image{width:100%;height:100%;object-fit:cover}
.jbl-vial{position:relative;width:min(245px,88%);height:345px;filter:drop-shadow(0 18px 22px #000);font-family:Arial Narrow,Arial,sans-serif;user-select:none}
.detail-image .jbl-vial{width:min(390px,88%);height:555px}.admin-vial-preview .jbl-vial{width:220px;height:310px}
.vial-glow{position:absolute;inset:15% -28% 0;background:radial-gradient(circle,rgba(208,149,28,.17),transparent 64%)}
.vial-cap{position:absolute;z-index:5;top:0;left:19%;width:62%;height:53px;border-radius:16px 16px 10px 10px;background:linear-gradient(90deg,#6d3d00,#e8b13d 18%,#fff0a0 46%,#b3700c 78%,#472600);box-shadow:inset 0 5px 7px #ffe7a0,inset 0 -8px 10px #5b3000,0 4px 4px #000}.vial-cap:after{content:"";position:absolute;left:4%;right:4%;bottom:5px;height:7px;border-radius:50%;background:#5b3200}.vial-cap i{position:absolute;inset:7px 13% 18px;border-radius:50%;background:linear-gradient(#ffe7a0,#b0700e);opacity:.45}
.vial-neck{position:absolute;z-index:3;top:45px;left:29%;width:42%;height:58px;border:4px solid #282828;border-radius:7px 7px 15px 15px;background:linear-gradient(90deg,#050505,#a5a5a5 17%,#161616 32%,#050505 66%,#777 85%,#080808);box-shadow:inset 0 0 11px #000}.vial-neck i{position:absolute;left:10%;right:10%;top:7px;height:8px;border-radius:50%;border-top:2px solid #eee;opacity:.55}
.vial-glass{position:absolute;z-index:2;left:12%;right:12%;top:83px;bottom:12px;border:3px solid #777;border-radius:28px 28px 22px 22px;background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(10,10,10,.55) 18%,rgba(0,0,0,.82) 52%,rgba(255,255,255,.18) 84%,rgba(0,0,0,.7));box-shadow:inset 10px 0 14px rgba(255,255,255,.18),inset -10px 0 15px #000,0 0 0 1px #111;overflow:hidden}.glass-shine{position:absolute;z-index:5;left:8%;top:4%;width:11%;height:66%;border-radius:50%;background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,0));filter:blur(2px);opacity:.55}
.vial-label{position:absolute;z-index:4;left:3%;right:3%;top:27%;height:64%;padding:10px 9px 5px;background:linear-gradient(90deg,#111,#050505 35%,#181818 74%,#050505);border-top:1px solid #333;border-bottom:1px solid #333;text-align:center;color:#eee;box-shadow:0 3px 10px #000}.vial-brand{height:42px;display:flex;align-items:center;justify-content:center;gap:6px;border-bottom:1px solid rgba(212,162,42,.22);margin-bottom:5px}.vial-brand img{width:34px;height:38px;object-fit:contain;filter:sepia(1) saturate(1.6)}.vial-brand div{display:grid;text-align:left;line-height:1}.vial-brand b{font-size:13px;letter-spacing:.7px}.vial-brand span{font-size:8px;color:#d7a32c;letter-spacing:2.2px;margin-top:5px}
.vial-product{font-size:25px;font-weight:900;line-height:1.03;letter-spacing:.5px;white-space:nowrap;margin-top:6px}.vial-product.medium-name{font-size:19px}.vial-product.long-name{font-size:14px;white-space:normal;min-height:29px;display:flex;align-items:center;justify-content:center}.vial-subtitle{min-height:19px;font-size:10px;line-height:1.05;color:#d6a32e;letter-spacing:.7px;margin:3px 0;text-transform:uppercase}.vial-strength{display:inline-block;border:1px solid #d6a32e;padding:3px 11px;color:#d6a32e;font-size:16px;font-weight:900;line-height:1;margin:2px 0 7px}.vial-form{font-size:8px;letter-spacing:.5px;margin-bottom:5px}.vial-warning{border:1px solid #ccc;font-size:8px;line-height:1.15}.vial-warning b,.vial-warning span{display:block;padding:2px}.vial-warning span{border-top:1px solid #888;font-size:6.5px}.vial-url{font-size:6.8px;color:#d6a32e;margin-top:6px;letter-spacing:.2px}
.powder{position:absolute;z-index:3;left:7%;right:7%;bottom:1%;height:10%;border-radius:50% 50% 16% 16%;background:radial-gradient(ellipse at 40% 30%,#fff,#ddd 38%,#aaa 72%,#777);filter:contrast(1.15);box-shadow:0 -2px 8px rgba(255,255,255,.45)}.powder.blue{background:radial-gradient(ellipse at 42% 28%,#bff5ff,#43c9ed 36%,#0879ae 70%,#03456d);box-shadow:0 -2px 11px rgba(50,190,255,.75)}.vial-shadow{position:absolute;left:13%;right:13%;bottom:0;height:17px;border-radius:50%;background:#000;filter:blur(7px)}
.detail-image{display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#241907,#050505 55%)}
.admin-vial-preview{display:grid;place-items:center;min-height:360px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 50% 35%,#241907,#050505 60%)}.vial-editor-grid{display:grid;grid-template-columns:minmax(260px,.8fr) 1.4fr;gap:20px}.admin-row .jbl-vial{transform:scale(.19);transform-origin:center;width:220px;height:310px}.admin-row .vial-thumb{width:68px;height:68px;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:#050505}
@media(max-width:800px){.vial-editor-grid{grid-template-columns:1fr}.jbl-vial{height:360px}.detail-image .jbl-vial{height:500px}}
/* Per-strength professional product image editor */
.field-note{margin:-4px 0 8px;color:#918b7c;font-size:13px;line-height:1.55}.variant-editor-head{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.variant-editor-head h3{margin:0;font:26px Georgia,serif}.variant-image-list{display:grid;gap:12px}.variant-image-row{display:grid;grid-template-columns:92px 1fr .55fr 1.4fr auto auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0b0b0c}.variant-image-preview{width:92px;height:92px;display:grid;place-items:center;overflow:hidden;border-radius:9px;border:1px solid var(--line);background:#050505;color:#68645c;font-size:10px;text-align:center}.variant-image-preview img{width:100%;height:100%;object-fit:cover}.upload-label input{max-width:150px;padding:9px}.vial-stage>img.custom-vial-image,.detail-image>img.custom-vial-image{object-fit:contain;background:#050505}.vial-stage>img.custom-vial-image{padding:0}.detail-image>img.custom-vial-image{padding:12px}
@media(max-width:1200px){.variant-image-row{grid-template-columns:78px 1fr 1fr}.variant-image-preview{width:78px;height:78px}.variant-image-row .remove-variant{grid-column:auto}.upload-label input{max-width:none}}
@media(max-width:700px){.variant-image-row{grid-template-columns:1fr}.variant-image-preview{width:100%;height:220px}}
