:root{color-scheme:dark;--bg:#090e0c;--surface:#101713;--surface2:#151e19;--line:#27332b;--muted:#91a197;--light:#f2faf5;--accent:#0be116;--accent-ink:#081710;--radius:17px;--width:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--light);background:var(--bg);font-size:15px;line-height:1.5;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{text-decoration:none;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}::selection{background:var(--accent);color:var(--accent-ink)}.hidden{display:none!important}.container{width:min(calc(100% - 52px),var(--width));margin:0 auto}.glow{pointer-events:none;position:absolute;z-index:-1;border-radius:100%;filter:blur(110px);opacity:.12}.glow-top{width:550px;height:550px;top:-290px;left:36%;background:var(--accent)}.glow-bottom{width:500px;height:500px;top:850px;right:-400px;background:#08a818}.header{position:sticky;top:0;z-index:20;background:rgba(9,14,12,.9);backdrop-filter:blur(18px);border-bottom:1px solid #202923}.nav{height:83px;display:flex;align-items:center;gap:42px;justify-content:space-between}.brand,.footer-brand{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-weight:780;letter-spacing:-.7px}.brand-icon{display:inline-grid;place-items:center;position:relative;width:40px;height:40px;border-radius:11px;background:var(--accent);color:#0a2016;font-size:22px;font-weight:900;letter-spacing:-2px;flex-shrink:0}.brand-icon span{color:#fff;font-size:23px;margin-left:-3px}.brand-name small,.footer-brand small{display:inline-block;vertical-align:2px;margin-left:5px;border:1px solid #3a5042;border-radius:4px;padding:1px 5px;letter-spacing:1.1px;color:#a9c7b5;font-size:8px;font-weight:800}.nav-links{display:flex;align-items:center;gap:34px;margin-left:auto}.nav-links a{color:#b6c3b9;font-size:13px;font-weight:620;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--accent)}.auth-area{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:160px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid transparent;border-radius:10px;min-height:46px;padding:0 18px;font-size:13px;line-height:1.2;font-weight:750;white-space:nowrap;transition:transform .15s,background .15s,border-color .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-main{background:var(--accent);color:#052117}.btn-main:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 86%,white)}.btn-quiet{background:#18221c;border-color:#324337;color:#dae8de}.btn-quiet:hover:not(:disabled){border-color:#698070}.btn-outline{border-color:var(--line);background:transparent;color:#d7e6dc}.btn-small{min-height:39px;padding:0 14px;font-size:12px}.btn-nav{min-height:40px}.btn-logout{min-height:38px;background:transparent;border-color:#2b3930;color:#aebfb2;padding:0 12px}.user-chip{display:flex;align-items:center;gap:8px;background:#16211a;border:1px solid #314036;border-radius:10px;padding:5px 10px 5px 6px;white-space:nowrap;font-size:12px;font-weight:700;max-width:180px}.user-chip img,.avatar-letter{width:28px;height:28px;border-radius:7px;object-fit:cover}.avatar-letter{display:grid;place-items:center;background:#365442}.user-chip span{overflow:hidden;text-overflow:ellipsis}.skeleton{display:block;background:linear-gradient(90deg,#15211a,#25372b,#15211a);background-size:200% 100%;animation:skeleton 1.3s infinite;border-radius:8px}.auth-loading{width:144px;height:37px}@keyframes skeleton{to{background-position:-200% 0}}.hero{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:70px;padding-top:100px;padding-bottom:125px;min-height:670px}.eyebrow,.section-kicker{display:flex;align-items:center;gap:12px;color:var(--accent);font-weight:800;font-size:10px;letter-spacing:2.2px}.live-dot,.signal-live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.eyebrow-sep{color:#57705f}.hero h1{margin:27px 0 19px;font-size:clamp(45px,5.55vw,76px);line-height:1.08;letter-spacing:-3.8px;font-weight:830;max-width:750px}.hero h1 span{color:var(--accent)}.hero-desc{font-size:16px;line-height:1.8;color:#afc0b4;max-width:530px;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.hero-actions .btn{height:51px}.hero-points{display:flex;flex-wrap:wrap;gap:23px;margin-top:34px;color:#93aa9b;font-size:11px}.hero-points>span{display:flex;align-items:center;gap:8px}.tick{display:inline-block;width:12px;height:12px;border:1px solid var(--accent);border-radius:50%;position:relative}.tick:after{content:"";position:absolute;width:5px;height:2px;border-bottom:1.5px solid var(--accent);border-left:1.5px solid var(--accent);transform:rotate(-45deg);top:3px;left:3px}.hero-side{position:relative;padding:0 16px}.signal-line,.signal-footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;color:#809486;letter-spacing:1.3px;margin:0 0 13px}.signal-live{display:flex;align-items:center;gap:8px;color:var(--accent)}.signal-footer{margin:13px 0 0;font-size:9px;letter-spacing:.7px}.hero-ticket{position:relative;overflow:hidden;min-height:340px;padding:29px;border-radius:20px;border:1px solid #42634d;background:radial-gradient(circle at 92% 12%,#27533f 0%,transparent 47%),linear-gradient(120deg,#172d21,#0e1d16 70%);box-shadow:0 18px 70px #0009,0 0 80px #18b17110;transform:perspective(1000px) rotateY(-4deg) rotateX(2deg)}.hero-ticket:before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(to right,#74deaa21 1px,transparent 1px),linear-gradient(to bottom,#74deaa21 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(140deg,transparent 5%,#000 100%)}.ticket-top,.ticket-middle,.ticket-bottom{position:relative;z-index:1}.ticket-top{display:flex;align-items:center;gap:13px}.ticket-mark{width:47px;height:47px;border-radius:13px;background:var(--accent);display:grid;place-items:center;color:#0c2419;font-size:24px;font-weight:850}.ticket-top>span{font-size:12px;font-weight:860;line-height:1.5;letter-spacing:1px}.ticket-top small{font-size:9px;font-weight:640;color:#abcbb6;letter-spacing:1.5px}.ticket-spark{margin-left:auto;font-size:38px;line-height:1;color:#7bdeaa}.ticket-middle{padding:66px 0 40px}.ticket-middle>span,.ticket-bottom>div>span{font-size:9px;letter-spacing:1.7px;color:#95bea3;font-weight:720}.ticket-middle strong{display:block;margin-top:6px;font-size:26px;letter-spacing:-1.2px;line-height:1.25}.ticket-middle p{margin:6px 0 0;font-size:12px;color:#9fbaaa}.cursor{color:var(--accent);animation:blink 1.2s step-end infinite}@keyframes blink{50%{opacity:0}}.ticket-bottom{display:flex;align-items:end;gap:35px;border-top:1px solid #45634c;padding-top:17px}.ticket-bottom>div{display:grid;gap:2px}.ticket-bottom b{font-size:12px;font-weight:750}.barcode{margin-left:auto;font-family:monospace;font-weight:1000;letter-spacing:2px;color:#6d9c7e}.section{padding-top:28px;padding-bottom:110px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:30px}.section-head h2,.bottom-cta h2{font-size:clamp(30px,3.3vw,44px);line-height:1.15;letter-spacing:-1.7px;margin:13px 0 12px;font-weight:800}.dot{color:var(--accent)}.section-head p,.bottom-cta p{font-size:14px;color:#a1b1a6;margin:0;max-width:640px}.small-tag{white-space:nowrap;font-size:10px;letter-spacing:1.2px;color:#a6beae;padding:8px 10px;border:1px solid #324437;border-radius:6px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.filter{border:1px solid #29392f;background:#111913;color:#b0bfb4;font-size:12px;font-weight:750;border-radius:8px;padding:11px 16px}.filter:hover{border-color:#5a8266}.filter.active{background:#244633;color:#9ff3c3;border-color:#47795a}.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{position:relative;display:flex;flex-direction:column;min-height:291px;border:1px solid #27382e;background:linear-gradient(145deg,#121d16,#0d1510);border-radius:var(--radius);padding:23px;transition:border-color .2s,transform .2s}.product-card:hover{transform:translateY(-3px);border-color:#558b66}.product-card.featured{border-color:#407854;background:linear-gradient(145deg,#182d1e,#101b14)}.card-label{display:flex;justify-content:space-between;align-items:center;gap:15px}.category-pill{font-size:10px;font-weight:800;letter-spacing:.6px;border:1px solid #324637;color:#a2c2ac;padding:5px 9px;border-radius:5px}.featured-pill{background:var(--accent);color:#082116;padding:5px 7px;border-radius:5px;font-size:9px;font-weight:850;letter-spacing:.7px}.product-title{font-size:21px;line-height:1.2;margin:23px 0 9px;letter-spacing:-.5px}.product-description{font-size:12px;line-height:1.75;color:#9aae9e;margin:0 0 26px;flex:1}.product-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px;border-top:1px solid #2a3b2e;padding-top:18px}.product-price{display:grid;gap:1px}.product-price strong{font-size:25px;line-height:1.1;letter-spacing:-1px}.product-price span{font-size:10px;color:#8fa193}.buy-button{white-space:nowrap}.loading-card{height:300px;border:1px solid #26352b;border-radius:var(--radius);background:linear-gradient(110deg,#101913,#1d2b21,#101913);background-size:220% 100%;animation:skeleton 1.6s infinite}.empty-block{grid-column:1/-1;border:1px dashed #304236;padding:50px 20px;text-align:center;border-radius:var(--radius);background:#101712}.empty-block h3{margin:0 0 8px}.empty-block p{color:#9caf9d;margin:0 0 18px}.steps-section{background:linear-gradient(180deg,#0e1610,#111a13);border-block:1px solid #1e2a21;padding-top:89px;padding-bottom:100px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{position:relative;border:1px solid #28362c;border-radius:var(--radius);padding:26px;background:#111a14;min-height:245px}.step-num{position:absolute;top:25px;right:25px;font-size:12px;font-weight:820;color:#628c6b}.step-visual{display:grid;place-items:center;width:47px;height:47px;border:1px solid #3c6949;background:#1c3826;border-radius:12px;color:var(--accent);font-size:20px;font-weight:850}.step h3{font-size:19px;letter-spacing:-.5px;margin:27px 0 8px}.step p{margin:0;font-size:12px;line-height:1.85;color:#9fb09f}.bottom-cta{margin-top:90px;margin-bottom:90px;padding:36px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(110deg,#173123,#101c16);border:1px solid #31563d;border-radius:var(--radius)}.bottom-cta h2{font-size:32px;margin:12px 0 8px}.footer{padding:42px 0;border-top:1px solid #213027;background:#0b110d}.footer-inside{display:flex;justify-content:space-between;align-items:start;gap:50px}.footer-brand{font-weight:800}.footer-inside>div{max-width:610px}.footer-inside p{margin:0 0 8px;font-size:12px;line-height:1.8;color:#9eb1a2}.footer-inside>div>span{font-size:10px;color:#657d6c}.dashboard{padding-top:72px;padding-bottom:130px;min-height:73vh}.dash-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:9px 0 36px}.dash-title h1{font-size:44px;letter-spacing:-1.5px;margin:0 0 6px}.dash-title p{margin:0;color:#a0b1a6;font-size:13px}.orders-list{display:grid;gap:12px}.order-card{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #2a3a30;border-radius:13px;background:#121a15;padding:18px 21px}.order-main h3{margin:0 0 7px;font-size:17px}.order-main p{font-size:11px;color:#92a497;margin:0 0 9px}.order-main .order-reason{color:#e3bd88;font-size:12px;margin:8px 0}.order-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:flex-end}.status{display:inline-block;border-radius:5px;padding:5px 9px;font-size:10px;font-weight:790;letter-spacing:.3px;background:#243228;color:#bfd3c2}.status.granted{background:#1b432d;color:#87e5a6}.status.waiting{background:#453820;color:#efc47b}.status.problem{background:#49332d;color:#f3b6a3}.order-price{font-size:16px;font-weight:770}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:25px}.stat-box{border:1px solid #2a3d30;border-radius:12px;padding:18px 19px;background:#131e16}.stat-box span{display:block;color:#9caea1;font-size:11px;margin-bottom:8px}.stat-box strong{font-size:29px;letter-spacing:-1px}.admin-tabs{display:flex;gap:5px;border-bottom:1px solid #2a3e30;overflow:auto;margin-bottom:24px}.admin-tabs button{border:0;background:transparent;color:#98aa9d;padding:14px 17px;font-weight:730;font-size:12px;border-bottom:2px solid transparent;white-space:nowrap}.admin-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.table-scroll{overflow-x:auto;border:1px solid #2a3c30;border-radius:12px;background:#111a14}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px;text-align:left}.data-table th{padding:17px;background:#1a271e;border-bottom:1px solid #334936;color:#9caf9f;font-size:10px;letter-spacing:1px;text-transform:uppercase}.data-table td{padding:13px 17px;border-bottom:1px solid #24332a;color:#d5e3d8}.data-table tr:last-child td{border-bottom:0}.table-title{font-weight:750}.table-desc{display:block;font-size:10px;color:#90a392;max-width:280px;overflow:hidden;text-overflow:ellipsis}.mini-button{border:1px solid #365342;color:#a8e4ba;border-radius:6px;background:#203327;padding:7px 11px;font-size:11px;font-weight:780}.mini-button:hover{background:#2a4a34}.settings-form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;background:#141d16;border:1px solid #2b3d30;padding:27px;border-radius:12px}.settings-form label,.product-form label{display:grid;gap:8px;font-size:12px;font-weight:700;color:#baccbd}.settings-form input,.settings-form textarea,.product-form input:not([type="checkbox"]),.product-form textarea,.product-form select{width:100%;outline:none;color:#f3fff4;border:1px solid #304638;background:#0c140f;border-radius:8px;padding:12px;font-size:13px;min-height:45px}.settings-form input:focus,.settings-form textarea:focus,.product-form input:focus,.product-form textarea:focus,.product-form select:focus{border-color:var(--accent)}.settings-form label:nth-child(3){grid-column:1/-1}.settings-form button{justify-self:start}.dialog{border:1px solid #3b5c43;background:#121e16;color:var(--light);border-radius:16px;padding:0;width:min(95vw,580px);max-height:88vh;box-shadow:0 35px 140px #000b}.dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.product-form{padding:27px;display:grid;gap:17px}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.modal-head h2{font-size:24px;margin:6px 0 0;letter-spacing:-.8px}.close-button{border:1px solid #38513c;border-radius:7px;background:#203027;color:#cce5d2;font-size:24px;width:35px;height:35px;line-height:1}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.toggles{display:flex;flex-direction:column;justify-content:center;gap:11px}.toggles label{display:flex;align-items:center;gap:9px}.toggles input{accent-color:var(--accent)}.modal-hint{font-size:11px;color:#97a99b;line-height:1.65;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:9px}.toast{position:fixed;z-index:60;bottom:24px;right:24px;max-width:min(460px,calc(100vw - 35px));padding:15px 18px;background:#203c2a;border:1px solid #428757;border-radius:10px;color:#d7f6df;box-shadow:0 12px 60px #000a;font-size:13px;font-weight:650;opacity:0;transform:translateY(13px);pointer-events:none;transition:opacity .22s,transform .22s}.toast.show{opacity:1;transform:none}.toast.bad{background:#3a2523;border-color:#88554a;color:#ffe3d7}.copy-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:#8b9e91}.inline-warning{border:1px solid #6f5b38;background:#332b1c;border-radius:9px;padding:12px 15px;color:#f4d8a9;font-size:12px;margin-bottom:17px}.small-helper{font-size:12px;color:#9cb19f;padding:10px 0}.mini-empty{border:1px dashed #3f5141;padding:28px;text-align:center;color:#a8bbab;border-radius:10px}.link-plain{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.btn:focus-visible,.filter:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:1100px){.nav-links{gap:19px}.hero{gap:30px}.hero-ticket{padding:24px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:57px}}@media(max-width:800px){.container{width:min(calc(100% - 32px),var(--width))}.nav{height:72px;gap:10px}.nav-links{display:none}.auth-area{min-width:0}.brand-name{font-size:14px}.hero{grid-template-columns:1fr;padding-top:68px;padding-bottom:85px;min-height:0}.hero h1{font-size:clamp(44px,9vw,64px);letter-spacing:-2.6px}.hero-side{max-width:530px;margin:0 auto;width:100%}.section{padding-bottom:80px}.steps{grid-template-columns:1fr}.step{min-height:185px}.step h3{margin-top:15px}.footer-inside{flex-direction:column;gap:20px}.settings-form{grid-template-columns:1fr}.settings-form label:nth-child(3){grid-column:auto}.admin-stats{grid-template-columns:repeat(2,1fr)}.dashboard{padding-top:50px}.dash-title h1{font-size:36px}.bottom-cta{margin-top:60px;margin-bottom:65px}}@media(max-width:580px){.container{width:calc(100% - 28px)}.brand-name small{display:none}.hero{padding-top:45px;gap:46px}.hero h1{font-size:45px;letter-spacing:-2px}.hero-desc{font-size:14px;line-height:1.7}.hero-points{gap:12px}.hero-points>span{font-size:10px}.hero-ticket{min-height:292px;padding:18px}.ticket-middle{padding:55px 0 34px}.ticket-middle strong{font-size:23px}.ticket-bottom{gap:23px}.barcode{font-size:10px;letter-spacing:0}.section-head{align-items:start}.section-head h2{font-size:32px}.section-head p{font-size:12px}.small-tag{font-size:8px;padding:6px}.products-grid{grid-template-columns:1fr}.product-card{min-height:265px}.filters{gap:6px}.filter{padding:9px 12px;font-size:11px}.bottom-cta{padding:25px;flex-direction:column;align-items:start}.bottom-cta h2{font-size:28px}.auth-area .btn-nav{font-size:11px;min-height:36px;padding:0 10px}.auth-area .user-chip{max-width:100px}.auth-area .user-chip span:not(.avatar-letter){display:none}.btn-logout{font-size:10px;min-height:35px}.order-card{align-items:start;flex-direction:column}.order-controls{justify-content:flex-start}.dash-title{align-items:start;flex-direction:column}.form-columns{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}.stat-box{padding:14px}.stat-box strong{font-size:23px}.product-form{padding:18px}.footer{padding:33px 0}}


html { overflow-x: clip; }
body { background: #080d08; overflow-x: clip; }
.glow-bottom { right: 0; width: 280px; opacity: .08; }
.header { background: rgba(8, 12, 8, .94); border-bottom-color: #213821; }
.brand-icon { overflow: hidden; border-radius: 11px; background: #041004; border: 1px solid #196a21; font-size: 0; letter-spacing: 0; }
.brand-icon img { width: 100%; height: 100%; display: block; object-fit: cover; }
.btn-main { color: #041204; }
.btn-main:hover:not(:disabled) { color: #041204; }
.glow-top { opacity: .16; }
.glow-bottom { opacity: .1; }
.hero-side { min-width: 0; }
.hero-graphic { position: relative; isolation: isolate; border: 1px solid #246e27; border-radius: 20px; overflow: hidden; background: #050c05; box-shadow: 0 16px 66px #0009, 0 0 75px #11d4111c; aspect-ratio: 1.13; }
.hero-graphic:after { position: absolute; inset: 38% 0 0; content: ''; background: linear-gradient(transparent 0%, rgba(2, 9, 2, .50) 54%, rgba(2, 8, 2, .97) 100%); pointer-events: none; }
.hero-graphic img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.hero-graphic-bottom { position: absolute; z-index: 2; bottom: 28px; left: 28px; right: 20px; display: grid; gap: 8px; }
.hero-graphic-bottom span { color: #55f25a; letter-spacing: 2.4px; font-size: 10px; font-weight: 850; }
.hero-graphic-bottom strong { font-size: clamp(15px, 1.8vw, 22px); letter-spacing: -.5px; }
.signal-live { color: #35ed40; }
.signal-line { gap: 12px; }
.filter.active { background: #15391a; color: #73fc79; border-color: #2c8036; }
.featured-pill { color: #051305; }
.product-card.featured { border-color: #28772c; }
.page-summary, .page-caption { color: #9cac9d; font-size: 12px; }
.pagination-wrap { margin: 26px 0 0; display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; min-height: 45px; }
.pagination-wrap:empty { display: none; }
.page-controls { display: flex; align-items: center; gap: 6px; justify-content: center; }
.page-controls button { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 9px; border: 1px solid #304833; background: #131f15; color: #bdcebe; font-size: 13px; font-weight: 750; }
.page-controls button:hover:not(:disabled) { border-color: #14bd27; color: #e7ffea; }
.page-controls button.active { background: var(--accent); color: #031303; border-color: var(--accent); }
.page-controls .page-arrow { font-size: 26px; line-height: 1; padding-bottom: 3px; }
.page-controls button:disabled { opacity: .32; cursor: default; }
.page-dots { color: #7a967e; padding: 0 4px; }
.page-caption { text-align: right; }
.footer { padding: 40px 0; background: #070c07; border-top: 1px solid #203421; }
.footer-inside { display: flex; align-items: flex-start; gap: 48px; justify-content: space-between; }
.footer-main { max-width: 420px; }
.footer-brand { font-size: 15px; }
.footer-main p { margin: 16px 0 0; font-size: 12px; line-height: 1.7; color: #9daa9c; }
.footer-right { display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: 9px; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 21px; }
.footer-links a { font-size: 12px; color: #a6baa6; font-weight: 600; }
.footer-links a:hover { color: var(--accent); }
.footer-credit, .footer-copyright { margin: 0 !important; color: #829585; font-size: 11px !important; line-height: 1.5 !important; }
.footer-credit { margin-top: 13px !important; }
.footer-credit a { color: #e0fbe0; font-weight: 800; border-bottom: 1px solid #22762c; padding-bottom: 2px; transition: color .18s, border-color .18s; }
.footer-credit a:hover, .footer-credit a:focus-visible { color: var(--accent); border-bottom-color: var(--accent); }
.mobile-nav { display: none; }
#shop, #how, #products { scroll-margin-top: 92px; }
@media (max-width: 800px) {
  .nav { height: 70px; }
  .hero { grid-template-columns: 1fr; }
  .hero-side { max-width: 530px; width: 100%; padding: 0; }
  .footer-inside { gap: 24px; }
  .footer-right { align-items: flex-start; text-align: left; }
  .footer-links { justify-content: flex-start; }
  .footer-credit { margin-top: 4px !important; }
}
@media (max-width: 700px) {
  body { padding-bottom: calc(67px + env(safe-area-inset-bottom)); }
  .header { z-index: 30; }
  .mobile-nav { position: fixed; z-index: 28; bottom: 0; left: 0; right: 0; padding: 8px 9px calc(8px + env(safe-area-inset-bottom)); background: rgba(8, 16, 8, .97); backdrop-filter: blur(16px); border-top: 1px solid #2c482e; display: flex; justify-content: center; gap: 4px; }
  .mobile-nav a { color: #a9bca9; min-height: 47px; min-width: 0; flex: 1; max-width: 135px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0; border: 1px solid transparent; border-radius: 9px; font-size: 10px; font-weight: 750; white-space: nowrap; }
  .mobile-nav a span { font-size: 20px; line-height: 22px; font-weight: 600; }
  .mobile-nav a.active { background: #14331a; color: #54f25c; border-color: #24552b; }
  .nav { gap: 8px; }
  .brand,.footer-brand { gap: 8px; }
  .brand-icon { width: 37px; height: 37px; }
  .brand-name { font-size: 13px; }
  .hero { padding-top: 42px; padding-bottom: 80px; }
  .hero-graphic-bottom { left: 20px; bottom: 20px; }
  .signal-line { font-size: 8px; }
  .filters { display: flex; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; padding: 2px 0 8px; margin-bottom: 18px; }
  .filters::-webkit-scrollbar { display: none; }
  .filters .filter { flex: 0 0 auto; scroll-snap-align: start; }
  .pagination-wrap { display: flex; flex-wrap: wrap; flex-direction: column; align-items: stretch; gap: 10px; }
  .page-controls { order: 1; gap: 5px; }
  .page-controls button { width: min(41px, 11vw); height: 41px; flex: 0 0 auto; }
  .page-summary { order: 0; text-align: center; }
  .page-caption { order: 2; text-align: center; }
  .admin-tabs { scrollbar-width: none; scroll-snap-type: x mandatory; }
  .admin-tabs::-webkit-scrollbar { display: none; }
  .admin-tabs button { scroll-snap-align: center; }
  .table-scroll { overflow: visible; border: none; background: transparent; }
  .data-table, .data-table tbody { display: block; width: 100%; white-space: normal; }
  .data-table thead { display: none; }
  .data-table tr { display: grid; gap: 12px; margin-bottom: 12px; background: #111c13; border: 1px solid #2b482f; border-radius: 13px; padding: 17px; }
  .data-table td { display: grid; grid-template-columns: 92px minmax(0,1fr); align-items: start; gap: 8px; border: none; padding: 0; overflow-wrap: anywhere; }
  .data-table td:before { content: attr(data-label); font-size: 11px; color: #94b197; font-weight: 650; }
  .data-table .product-cell { min-width: 0; display: grid; gap: 5px; }
  .data-table .table-desc { max-width: none; white-space: normal; }
  .data-table .copy-id { word-break: break-all; }
  .order-controls { width: 100%; gap: 10px; }
  .order-controls .btn { flex: 1; white-space: normal; text-align: center; }
  .dashboard { padding-bottom: 80px; }
  .toast { right: 12px; bottom: calc(78px + env(safe-area-inset-bottom)); }
}
@media (max-width: 420px) {
  .container { width: calc(100% - 30px); }
  .nav { height: 66px; }
  .brand-name small { display: none; }
  .brand-icon { width: 34px; height: 34px; }
  .brand-name { font-size: 12px; }
  .auth-area .btn-nav { font-size: 10px; padding: 0 9px; }
  .auth-area .btn-small { min-height: 34px; padding: 0 10px; }
  .auth-area .user-chip span.avatar-letter { display: grid; flex: 0 0 28px; }
  .hero h1 { font-size: clamp(37px,10vw,45px); letter-spacing: -1.9px; }
  .section-head { flex-direction: column; gap: 12px; }
  .product-bottom { flex-direction: column; align-items: stretch; }
  .buy-button { width: 100%; }
  .footer-links { gap: 12px; }
  .bottom-cta { padding: 24px 19px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
.hero-graphic { width: 100%; min-width: 0; }
.hero-graphic img { position: absolute; inset: 0; width: 100%; height: 100%; }
@media (max-width: 800px) { .hero { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 800px) { .glow-top { width: min(90vw, 380px); left: 5%; } }

.roles-fieldset { margin: 0; padding: 15px; border: 1px solid #2e5931; border-radius: 12px; min-width: 0; }
.roles-fieldset legend { padding: 0 7px; font-size: 13px; font-weight: 780; color: #d8f5dc; }
.roles-fieldset p { color: #aac2ac; font-size: 12px; margin: 0 0 12px; }
.roles-fieldset small { display: block; margin-top: 9px; color: #72e578; font-weight: 650; }
.roles-checklist { display: grid; gap: 7px; max-height: 220px; overflow-y: auto; padding-right: 5px; }
.role-choice-item { display: flex !important; flex-direction: row !important; align-items: center; gap: 11px; margin: 0 !important; padding: 10px 12px; border: 1px solid #2b4630; background: #101b12; border-radius: 9px; cursor: pointer; line-height: 1.35; }
.role-choice-item:hover { border-color: #19c927; }
.role-choice-item input { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; accent-color: #0be116; }
.role-choice-item span { overflow-wrap: anywhere; font-size: 12px; color: #e0f3e2; }
@media (max-width: 580px) { .roles-fieldset { padding: 12px; } .roles-checklist { max-height: 180px; } }

.btn-coming-soon { background: #152119; color: #b2c0b3; border: 1px solid #304535; opacity: 1 !important; white-space: normal; cursor: default; }
.btn-coming-soon:hover { transform: none; }


.dashboard { min-height: 0; }
html { min-height: 100%; scroll-padding-top: 100px; }
body { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
body > .header { flex: 0 0 auto; }
body > main:not(.hidden) { flex: 1 0 auto; width: 100%; }
body > .footer { flex: 0 0 auto; margin-top: auto; position: relative; z-index: 1; }
body > .glow { position: fixed; z-index: 0; }
body > .glow-bottom { top: auto; bottom: -250px; }
#support-cta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.bottom-cta h2 { max-width: 690px; }
.footer { background: #0b100c; border-top: 1px solid #263b2a; }
.footer-inside { align-items: center; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 20px; }
.footer-links a:hover, .footer-credit a:hover { color: var(--accent); }
@media(max-width:800px) { .footer-inside { align-items: flex-start; } .footer-links { justify-content: flex-start; } }
@media(max-width:580px) { #support-cta { width: 100%; } #support-cta .btn { flex: 1 1 100%; } .bottom-cta { margin-top: 46px; } }


body > main.container:not(.hidden) { width: min(calc(100% - 52px), var(--width)); }
.dashboard { padding-top: 62px; padding-bottom: 88px; }
#admin-view .section-kicker { margin-bottom: 8px; }
#admin-view .dash-title { margin: 6px 0 30px; }
#admin-view .dash-title h1 { font-size: clamp(32px, 3.8vw, 46px); }
#admin-view .dash-title p { line-height: 1.7; }
#new-product { box-shadow: 0 0 0 1px #36ce3924, 0 6px 26px #0be11615; }
.admin-stats { gap: 14px; margin-bottom: 34px; }
.stat-box { background: linear-gradient(135deg, #17251a, #101912); border: 1px solid #2c442f; min-height: 138px; padding: 19px 21px; border-radius: 14px; display: flex; flex-direction: column; justify-content: space-between; }
.stat-box .stat-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.stat-box .stat-top span:first-child { color: #a0b6a5; font-size: 12px; font-weight: 600; margin: 0; }
.stat-box .stat-code { color: #618266; font-size: 10px; font-weight: 800; letter-spacing: 1.2px; }
.stat-box strong { color: #f1fff0; font-size: clamp(25px, 2.8vw, 33px); font-weight: 790; line-height: 1.15; letter-spacing: -1.2px; }
.stat-box small { color: #7f9e83; font-size: 10px; }
.admin-tabs { border-bottom: 1px solid #2b4430; gap: 8px; margin-bottom: 25px; scrollbar-width: thin; scrollbar-color: #2b612e transparent; }
.admin-tabs button { padding: 14px 18px; font-size: 13px; color: #aabbb0; border-bottom-width: 2px; }
.admin-tabs button:not(.active):hover { color: #e5f6e8; background: #112317; }
.admin-tabs button.active { color: var(--accent); }
.admin-content-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 18px; }
.admin-content-head h2 { font-size: 20px; margin: 0 0 3px; letter-spacing: -.5px; }
.admin-content-head p { color: #91a894; font-size: 12px; margin: 0; }
.admin-list-count { border: 1px solid #345239; border-radius: 8px; padding: 7px 11px; color: #c1d7c2; font-size: 11px; white-space: nowrap; }
.table-scroll { border-color: #2e4531; background: #101a13; border-radius: 14px; scrollbar-width: thin; scrollbar-color: #386a3a #111d14; }
.data-table th { background: #17261a; color: #a5bba7; font-size: 10px; letter-spacing: 1.2px; padding: 17px 19px; }
.data-table td { padding: 17px 19px; border-bottom-color: #283a2a; vertical-align: middle; }
.data-table tbody tr:hover { background: #17251a; }
.data-table .table-title { display: block; color: #eef8ee; font-weight: 770; font-size: 13px; margin-bottom: 3px; }
.data-table .table-desc { color: #8ba48e; font-size: 11px; line-height: 1.5; max-width: 290px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.data-table .table-price { color: #e6f9e7; font-size: 13px; font-weight: 760; }
.table-role { display: inline-flex; gap: 6px; align-items: center; max-width: 245px; font-size: 11px; color: #a9c6ad; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.role-count-more { display: inline-flex; background: #1c3620; border: 1px solid #386241; color: #7bf17f; border-radius: 5px; padding: 2px 5px; font-size: 10px; }
#admin-content .mini-button { background: #203625; border: 1px solid #3e6544; border-radius: 8px; color: #e0fae2; padding: 9px 14px; transition: background .15s, border-color .15s; }
#admin-content .mini-button:hover { background: #294a30; border-color: var(--accent); }
#admin-content .small-helper { color: #78917e; font-size: 11px; margin-top: 12px; line-height: 1.65; }
.settings-form { max-width: 830px; grid-template-columns: 1fr; gap: 22px; background: linear-gradient(145deg, #152219, #101a12); border-color: #34503a; padding: 28px; border-radius: 16px; }
.settings-heading, .form-section-top { display: flex; align-items: flex-start; gap: 13px; }
.settings-heading h3, .form-section-top h3 { margin: 0 0 2px; color: #eef9ef; font-size: 15px; letter-spacing: -.2px; }
.settings-heading p, .form-section-top p { margin: 0; color: #91a997; font-size: 11px; line-height: 1.65; }
.section-index { display: grid; place-items: center; border: 1px solid #355b39; background: #1a3120; border-radius: 8px; color: var(--accent); width: 33px; height: 33px; flex-shrink: 0; font-size: 11px; font-weight: 800; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.settings-grid .field-wide { grid-column: 1 / -1; }
.color-input { position: relative; display: flex; align-items: center; }
.color-preview { position: absolute; width: 24px; height: 24px; border: 2px solid #b8d6bf; border-radius: 7px; left: 11px; pointer-events: none; }
.color-input input { padding-left: 44px !important; }
.settings-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 19px; border-top: 1px solid #304834; }
.settings-actions p { color: #92a693; font-size: 11px; margin: 0; }
.settings-actions .btn { flex: 0 0 auto; }
.dialog { width: min(720px, calc(100vw - 32px)); max-width: calc(100vw - 32px); height: min(830px, calc(100dvh - 58px)); max-height: calc(100dvh - 30px); padding: 0; border: 1px solid #3d6242; background: #101b13; color: #eef8ee; border-radius: 18px; box-shadow: 0 38px 125px #000d, 0 0 80px #0be1160c; overflow: hidden; }
.dialog::backdrop { background: rgba(0, 8, 1, .80); backdrop-filter: blur(9px); }
body.modal-open { overflow: hidden; }
.product-form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; min-height: 0; gap: 0; padding: 0; }
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; background: linear-gradient(120deg, #1a3120 0%, #121e16 72%); border-bottom: 1px solid #35563a; padding: 24px 29px 22px; }
.modal-head h2 { margin: 6px 0 2px; font-size: 26px; letter-spacing: -.8px; }
.modal-head p { margin: 0; color: #99b39f; font-size: 12px; }
.close-button { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 auto; border-radius: 10px; background: #1c3322; border: 1px solid #3b6040; color: #c2ddc7; font-size: 23px; line-height: 1; transition: background .15s, color .15s; }
.close-button:hover { background: #2c5131; color: white; }
.modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 26px 29px; display: grid; align-content: start; gap: 27px; scrollbar-width: thin; scrollbar-color: #37753b #122218; }
.form-section { display: grid; gap: 17px; min-width: 0; }
.form-section + .form-section { border-top: 1px solid #2b4630; padding-top: 24px; }
.form-section-top { margin-bottom: 2px; }
.product-form label.field, .settings-form label.field, .category-field { display: grid; gap: 8px; font-size: 12px; font-weight: 650; color: #c5daca; min-width: 0; }
.settings-form label.field { align-content: start; }
.field-label { font-size: 12px; font-weight: 650; }
.product-form input:not([type="checkbox"]), .settings-form input:not([type="checkbox"]), .product-form textarea, .settings-form textarea { width: 100%; min-width: 0; min-height: 46px; background: #0b150e; border: 1px solid #37513b; border-radius: 10px; color: #f2fff3; padding: 12px 14px; font-size: 13px; outline: none; transition: border-color .18s, box-shadow .18s; }
.product-form textarea, .settings-form textarea { resize: vertical; min-height: 85px; max-height: 260px; line-height: 1.6; }
.product-form input:focus, .settings-form input:focus, .product-form textarea:focus, .settings-form textarea:focus { border-color: #25dc32; box-shadow: 0 0 0 3px #0be11618; }
.product-form input::placeholder, .settings-form input::placeholder, .product-form textarea::placeholder { color: #59745f; }
.form-columns { grid-template-columns: 1fr 1fr; gap: 15px; }
.custom-select { position: relative; }
.custom-select > select { position: absolute; width: 1px !important; height: 1px !important; min-height: 0 !important; opacity: 0; pointer-events: none; }
.select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 46px; border: 1px solid #37513b; border-radius: 10px; padding: 0 14px; color: #eef8ef; background: #0b150e; font-size: 13px; font-weight: 650; text-align: left; }
.select-trigger:hover, .custom-select.opened .select-trigger { border-color: #4b9c50; }
.select-trigger:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.select-chevron { height: 9px; width: 9px; flex: 0 0 auto; border-right: 2px solid #97b89a; border-bottom: 2px solid #97b89a; transform: rotate(45deg); margin-right: 3px; margin-top: -4px; transition: transform .15s; }
.custom-select.opened .select-chevron { transform: rotate(225deg); margin-top: 5px; }
.select-menu { display: grid; margin-top: 7px; padding: 6px; border: 1px solid #3c6743; border-radius: 11px; background: #132319; max-height: 216px; overflow: auto; box-shadow: 0 14px 35px #0007; gap: 3px; scrollbar-width: thin; scrollbar-color: #39833e #14241a; }
.select-menu.hidden { display: none !important; }
.select-option { width: 100%; text-align: left; display: flex; align-items: center; justify-content: space-between; border: 1px solid transparent; border-radius: 7px; color: #d3e7d6; font-size: 12px; background: transparent; padding: 11px 12px; }
.select-option:hover, .select-option:focus-visible { color: #f8fff8; background: #244b2a; border-color: #3b7741; outline: none; }
.select-option.selected { color: #b9ffbb; background: #1c3b23; }
.select-option.selected span { color: var(--accent); font-size: 15px; }
.roles-fieldset { border: 1px solid #35563a; padding: 15px; background: #0d180f; border-radius: 12px; min-width: 0; }
.roles-fieldset legend { padding: 0 7px; color: #d9f2db; font-size: 12px; font-weight: 700; }
.roles-tools { display: flex; align-items: center; gap: 10px; justify-content: space-between; margin-bottom: 12px; }
.role-search-box { position: relative; flex: 1; display: block !important; min-width: 0; }
.role-search-box #role-search { padding-left: 38px; width: 100%; min-height: 41px; font-size: 12px; }
.search-icon { position: absolute; top: 50%; transform: translateY(-52%); left: 13px; font-size: 22px; font-weight: 400; color: #87aa8b; pointer-events: none; }
.selected-count { display: inline-flex; color: #b3ffb8; background: #193821; border: 1px solid #386f40; padding: 8px 11px; border-radius: 7px; font-size: 11px; white-space: nowrap; font-weight: 750; }
.roles-checklist { display: grid; gap: 7px; max-height: 215px; overflow-y: auto; overscroll-behavior: contain; padding-right: 5px; scrollbar-width: thin; scrollbar-color: #37753d #132116; }
.role-choice-item { position: relative; display: flex !important; flex-direction: row !important; align-items: center; gap: 11px; margin: 0 !important; padding: 12px 13px; border: 1px solid #29462f; background: #122016; border-radius: 9px; cursor: pointer; line-height: 1.4; transition: background .15s, border-color .15s; }
.role-choice-item:hover { border-color: #52a85a; background: #1b3120; }
.role-choice-item.is-selected { background: #1a3821; border-color: #439b4b; }
.role-choice-item input[type="checkbox"] { width: 18px; height: 18px; margin: 0; flex: 0 0 auto; accent-color: #0be116; }
.role-choice-item .role-choice-name { flex: 1; color: #daeedd; font-size: 12px; overflow-wrap: anywhere; }
.role-choice-check { margin-left: auto; color: var(--accent); font-weight: 850; opacity: 0; }
.role-choice-item.is-selected .role-choice-check { opacity: 1; }
.roles-empty, .role-none { color: #a0b7a3; font-size: 12px; padding: 13px; margin: 0; }
.form-columns-bottom { align-items: start; }
.toggles { display: grid; gap: 9px; }
.toggles .toggle-row { display: flex !important; flex-direction: row !important; align-items: center; gap: 12px; border: 1px solid #2f4b33; background: #101f14; border-radius: 10px; padding: 9px 13px; cursor: pointer; }
.toggle-row input[type="checkbox"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.toggle-switch { position: relative; display: block; width: 37px; height: 21px; background: #3b4e3c; border: 1px solid #506653; border-radius: 999px; flex: 0 0 auto; transition: background .18s; }
.toggle-switch::after { content: ''; position: absolute; width: 15px; height: 15px; border-radius: 50%; background: #c2d2c4; left: 2px; top: 2px; transition: transform .18s, background .18s; }
.toggle-row input:checked + .toggle-switch { background: #207c2c; border-color: #4fca54; }
.toggle-row input:checked + .toggle-switch::after { transform: translateX(16px); background: #baffbc; }
.toggle-row input:focus-visible + .toggle-switch { outline: 2px solid var(--accent); outline-offset: 3px; }
.toggle-row strong { display: block; color: #ebf5eb; font-size: 12px; }
.toggle-row small { display: block; color: #8ba58e; font-size: 10px; font-weight: 500; }
.modal-hint { color: #92a992; background: #17251a; border: 1px solid #2b4932; border-radius: 9px; padding: 12px 13px; line-height: 1.6; font-size: 11px; }
.modal-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; background: #142117; border-top: 1px solid #35543a; padding: 18px 29px; }
.modal-actions-note { margin-right: auto; font-size: 11px; color: #8fa792; }
.modal-actions .btn { min-height: 42px; }
.toast-region { position: fixed; z-index: 110; top: 106px; right: max(18px, env(safe-area-inset-right)); display: grid; align-items: start; gap: 11px; width: min(400px, calc(100vw - 30px)); pointer-events: none; }
.notice-card { --notice-duration: 5500ms; pointer-events: auto; position: relative; display: flex; align-items: flex-start; gap: 13px; width: 100%; min-height: 80px; padding: 16px 41px 19px 15px; overflow: hidden; border-radius: 12px; color: #e9f7ea; border: 1px solid #3f6b44; background: linear-gradient(125deg, #1b3522, #111e16); box-shadow: 0 20px 65px #0009; animation: notice-in .22s both; }
.notice-card.leaving { animation: notice-out .22s both; }
.notice-symbol { flex: 0 0 32px; width: 32px; height: 32px; display: grid; place-items: center; background: #2a6134; border: 1px solid #4b9e56; border-radius: 9px; color: #91ff9a; }
.notice-content { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.notice-content strong { display: block; font-size: 13px; line-height: 1.5; color: #f1fff2; margin: 0 0 3px; }
.notice-content p { font-size: 12px; line-height: 1.55; color: #b0cbb4; margin: 0; font-weight: 450; }
.notice-close { position: absolute; top: 12px; right: 12px; height: 24px; width: 24px; display: grid; place-items: center; border: 0; border-radius: 6px; color: #bcd6be; background: transparent; font-size: 21px; line-height: 1; }
.notice-close:hover { background: #ffffff17; color: white; }
.notice-timer { position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: #4bd558; transform-origin: left; animation: notice-progress var(--notice-duration) linear both; }
.notice-error { background: linear-gradient(120deg, #321c1e, #211617); border-color: #975052; }
.notice-error .notice-symbol { background: #542428; border-color: #a74e54; color: #ff9a9a; }
.notice-error .notice-content p { color: #e2b4b6; }
.notice-error .notice-timer { background: #f17b7b; }
.notice-warning { background: linear-gradient(120deg, #332b1a, #211e13); border-color: #93723a; }
.notice-warning .notice-symbol { background: #604b24; border-color: #a88640; color: #ffd68b; }
.notice-warning .notice-content p { color: #dac5a4; }
.notice-warning .notice-timer { background: #e5b963; }
.notice-info { border-color: #41766d; background: linear-gradient(120deg, #162f2b, #13201d); }
.notice-info .notice-symbol { background: #24584f; border-color: #38847a; color: #a0e8df; }
.notice-info .notice-timer { background: #5cc4b7; }
@keyframes notice-in { from { opacity: 0; transform: translateX(22px) scale(.97); } to { opacity: 1; transform: translateX(0) scale(1); } }
@keyframes notice-out { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(25px); } }
@keyframes notice-progress { to { transform: scaleX(0); } }
* { scrollbar-width: thin; scrollbar-color: #355d38 #101a13; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: #101a13; border-radius: 99px; }
::-webkit-scrollbar-thumb { background: #345c37; border: 2px solid #101a13; border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: #4c9551; }
::-webkit-scrollbar-corner { background: #101a13; }
@media(max-width:800px) {
 body > main.container:not(.hidden) { width: min(calc(100% - 32px), var(--width)); }
 .stat-box { min-height: 122px; padding: 16px; }
 .settings-form { padding: 23px; }
}
@media(max-width:700px) {
 .toast-region { top: auto; bottom: calc(77px + env(safe-area-inset-bottom)); right: 12px; width: min(400px, calc(100vw - 24px)); }
 .notice-card { min-height: 72px; padding: 12px 38px 16px 12px; }
 .dialog { height: min(860px, calc(100dvh - 28px)); max-height: calc(100dvh - 28px); width: calc(100vw - 18px); max-width: calc(100vw - 18px); }
 .modal-head { padding: 19px 18px 16px; }
 .modal-head h2 { font-size: 22px; }
 .modal-body { padding: 19px 17px; gap: 22px; }
 .modal-actions { padding: 14px 17px; }
 .modal-actions-note { display: none; }
 .roles-tools { flex-direction: column; align-items: stretch; }
 .selected-count { align-self: flex-start; }
 .settings-grid { grid-template-columns: 1fr; }
 .settings-grid .field-wide { grid-column: auto; }
 .settings-actions { align-items: flex-start; flex-direction: column; }
 .data-table tbody tr { background: linear-gradient(130deg, #17251b, #101c13); border-color: #2e4c33; }
 .data-table td { grid-template-columns: 82px minmax(0, 1fr); gap: 9px; }
 .data-table td::before { color: #8ead93; }
 .data-table .table-desc { white-space: normal; max-width: none; }
 .table-role { white-space: normal; max-width: 100%; }
 .admin-content-head { gap: 12px; }
}
@media(max-width:580px) {
 body > main.container:not(.hidden) { width: calc(100% - 28px); }
 .admin-stats { gap: 10px; }
 .stat-box { min-height: 123px; padding: 14px; }
 .stat-box .stat-top span:first-child { font-size: 10px; }
 .stat-box strong { font-size: clamp(21px, 6.3vw, 27px); }
 .stat-box small { font-size: 9px; }
 .admin-tabs button { padding: 13px 14px; }
 .form-columns { grid-template-columns: 1fr; }
 .modal-head .section-kicker { font-size: 9px; letter-spacing: 1px; }
 .modal-actions .btn { min-width: 0; flex: 1; padding: 0 10px; font-size: 12px; }
 .settings-form { padding: 18px; }
}
@media(prefers-reduced-motion:reduce) { .notice-card, .notice-card.leaving, .notice-timer { animation: none !important; } }

.settings-v107 { max-width: 880px; display: grid; gap: 0; padding: 0; overflow: hidden; background: #101a12; border-color: #2d4a31; }
.settings-v107 .settings-section { padding: 28px 29px; display: grid; gap: 23px; min-width: 0; }
.settings-v107 .settings-section + .settings-section { border-top: 1px solid #2d4531; }
.settings-v107 .settings-section:nth-child(2) { background: linear-gradient(145deg, #16241a, #101b13); }
.settings-v107 .settings-heading { gap: 12px; align-items: center; }
.settings-v107 .settings-heading h3 { font-size: 16px; }
.settings-v107 .settings-heading p { max-width: 620px; font-size: 12px; }
.catalog-options { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.catalog-choice { display: flex; gap: 10px; align-items: flex-start; position: relative; cursor: pointer; padding: 16px 14px; border: 1px solid #344b36; border-radius: 12px; background: #0b170e; min-width: 0; transition: background .15s, border-color .15s; }
.catalog-choice:hover { border-color: #599660; background: #1b3020; }
.catalog-choice:has(input:checked) { border-color: var(--accent); background: #19301c; box-shadow: inset 0 0 0 1px #1e6525; }
.catalog-choice:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.catalog-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.catalog-choice-indicator { flex: 0 0 18px; height: 18px; border: 1px solid #587660; border-radius: 50%; background: #0a130c; margin-top: 1px; display: grid; place-items: center; }
.catalog-choice:has(input:checked) .catalog-choice-indicator { border: 5px solid var(--accent); }
.catalog-choice strong { display: block; margin: 0 0 5px; color: #e1f7e4; font-size: 12px; }
.catalog-choice small { display: block; color: #8ba991; font-size: 11px; line-height: 1.6; font-weight: 450; }
.settings-hint { padding: 12px 14px; border: 1px solid #345a39; border-radius: 9px; background: #172a1b; color: #bfd8c3; font-size: 11px; line-height: 1.6; }
.settings-toggles { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; }
.settings-toggle { display: flex; gap: 12px; align-items: center; min-height: 76px; border: 1px solid #2a4831; background: #0c1910; padding: 14px; border-radius: 11px; cursor: pointer; }
.settings-toggle:hover { border-color: #528b59; background: #17251a; }
.settings-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.settings-toggle:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.settings-toggle .toggle-switch { flex: 0 0 40px; margin: 0; }
.settings-toggle input:checked + .toggle-switch { background: #21772b; border-color: var(--accent); }
.settings-toggle input:checked + .toggle-switch:after { transform: translateX(18px); }
.settings-toggle strong { display: block; margin-bottom: 4px; color: #e1f2e3; font-size: 12px; }
.settings-toggle small { display: block; color: #92a996; font-size: 11px; line-height: 1.5; font-weight: 450; }
.color-editor { background: #0b170e; border: 1px solid #35523a; border-radius: 13px; padding: 18px; }
.color-picker-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(200px,.8fr); gap: 22px; }
.color-spectrum-wrap { display: grid; align-content: start; gap: 11px; min-width: 0; }
.settings-mini-label { color: #b4cbb7; font-weight: 700; font-size: 11px; }
.color-spectrum { --picker-hue: 120deg; position: relative; width: 100%; height: 170px; border-radius: 10px; cursor: crosshair; touch-action: none; background: linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent), hsl(var(--picker-hue) 100% 50%); border: 1px solid #58705b; outline: none; }
.color-spectrum:focus-visible { outline: 2px solid #d7ffd8; outline-offset: 3px; }
.spectrum-pointer { position: absolute; width: 17px; height: 17px; border: 2px solid white; background: transparent; border-radius: 50%; pointer-events: none; box-shadow: 0 0 0 1px #0008, 0 2px 6px #0006; transform: translate(-50%, -50%); }
.settings-form input.color-hue { appearance: none; -webkit-appearance: none; width: 100%; height: 13px; min-height: 13px; padding: 0; border: none; border-radius: 99px; background: linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00); cursor: pointer; }
.settings-form input.color-hue::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 21px; height: 21px; border-radius: 50%; background: white; border: 3px solid #18331b; box-shadow: 0 0 0 1px #c1ffc1; }
.settings-form input.color-hue::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: white; border: 3px solid #18331b; }
.color-picker-side { display: grid; align-content: start; gap: 12px; min-width: 0; }
.color-picker-side .field { gap: 7px; }
.color-picker-side input[name="accent_color"] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; font-size: 13px; }
.color-presets { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 6px; }
.color-swatch { display: block; aspect-ratio: 1; min-width: 0; border: 2px solid #617567; border-radius: 7px; background: var(--swatch); cursor: pointer; }
.color-swatch:hover, .color-swatch.selected { border-color: white; box-shadow: 0 0 0 2px #3d8b47; }
.color-sample-caption { margin-top: 5px; font-size: 11px; color: #99af9e; font-weight: 700; }
.color-sample { border-radius: 9px; min-height: 42px; display: flex; justify-content: center; align-items: center; padding: 10px 14px; font-weight: 800; font-size: 12px; }
.settings-v107 .settings-grid { margin-top: 0; }
.settings-v107 .settings-actions { padding: 20px 29px; margin: 0; background: #0e1911; justify-content: space-between; }
.settings-payment-note { display: flex; align-items: center; gap: 11px; min-width: 0; }
.settings-payment-note .settings-lock { flex: 0 0 auto; background: #2d2817; border: 1px solid #6e592b; color: #e6c877; border-radius: 9px; width: 36px; height: 36px; display: grid; place-items: center; }
.settings-payment-note p { display: grid; gap: 2px; }
.settings-payment-note strong { font-size: 12px; color: #dbe7d8; }
.settings-payment-note p span { font-size: 11px; color: #9aab9b; }
.shop-announcement { border-bottom: 1px solid #32663a; background: linear-gradient(90deg, #193e20, #0b2111 70%, #122b16); }
.shop-announcement-inner { display: flex; align-items: center; gap: 10px; min-height: 44px; color: #d4f0d9; font-size: 12px; line-height: 1.5; padding-top: 8px; padding-bottom: 8px; }
.announcement-dot { flex: 0 0 7px; height: 7px; border-radius: 100%; background: var(--accent); box-shadow: 0 0 12px var(--accent); }
.preview-pill { color: #e5c58e; background: #332918; border: 1px solid #76603b; border-radius: 6px; padding: 4px 7px; font-size: 9px; font-weight: 800; white-space: nowrap; }
@media(max-width:800px) { .settings-v107 .settings-section { padding: 23px; } .catalog-options { grid-template-columns: 1fr; } .color-picker-layout { grid-template-columns: 1fr; } .color-spectrum { height: 190px; } .color-presets { grid-template-columns: repeat(8, minmax(0,1fr)); } }
@media(max-width:580px) { .settings-v107 .settings-section { padding: 20px 15px; gap: 18px; } .settings-toggles { grid-template-columns: 1fr; } .settings-v107 .settings-actions { padding: 18px 15px; } .catalog-choice { padding: 14px; } .color-editor { padding: 12px; } .color-spectrum { height: 170px; } .color-presets { gap: 5px; } .settings-v107 .settings-grid { gap: 13px; } .settings-v107 .settings-actions .btn { width: 100%; } }
.settings-v107 label.catalog-choice { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; }
.settings-v107 label.settings-toggle { display: flex; flex-direction: row; align-items: center; gap: 12px; }
.catalog-choice-indicator { width: 18px; min-width: 18px; align-self: flex-start; }
.settings-v107 .catalog-choice input[type="radio"], .settings-v107 .settings-toggle input[type="checkbox"] { min-height: 1px; padding: 0; }
.products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-card { min-width: 0; overflow-wrap: anywhere; }
.card-label { flex-wrap: wrap; justify-content: flex-start; gap: 7px; }
@media(max-width:1100px) { .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width:580px) { .products-grid { grid-template-columns: minmax(0, 1fr); } }

.settings-v107 .catalog-options > .catalog-choice:nth-child(3) { grid-column: auto; }
.settings-v107 .settings-toggles > .settings-toggle:nth-child(3) { grid-column: auto; }


.promo-card-action { border: 0; padding: 7px 0 0; color: #84c58d; background: transparent; font-size: 11px; font-weight: 680; text-align: left; cursor: pointer; width: 100%; }
.promo-card-action:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.promo-admin-info { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: -8px 0 18px; padding: 13px 16px; border: 1px solid #2c4c33; border-radius: 10px; background: #111f15; color: #9bb7a1; font-size: 11px; }
.promo-admin-info strong { color: #e0f8e2; }
.promo-admin-info span:last-child { margin-left: auto; }
.promo-code-table { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.promo-code-table strong,.promo-result-code { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: 1px; font-weight: 850; color: #e4ffe6; }
.promo-product-summary { display: block; max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.promo-percent,.promo-saved { color: var(--accent); }
.promo-small { display: block; margin-top: 5px; font-size: 10px; color: #7fa38a; }
.promo-dialog { width: min(640px,calc(100vw - 24px)); }
.promo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.promo-dialog .field small { color: #82a18b; font-size: 10px; line-height: 1.45; font-weight: 460; }
.promo-product-list { max-height: 210px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #45854e #0b1b10; border: 1px solid #31513a; background: #091710; border-radius: 11px; padding: 7px; display: grid; gap: 3px; }
.promo-product-option,.promo-all { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 9px; cursor: pointer; color: #e0f4e4; }
.promo-product-option:hover,.promo-all:hover { background: #18331e; }
.promo-product-option input,.promo-all input { appearance: none; -webkit-appearance: none; width: 19px; height: 19px; flex: 0 0 19px; border: 1px solid #518757; border-radius: 6px; background: #0c1a0f; margin: 0; display: grid; place-content: center; }
.promo-product-option input:checked,.promo-all input:checked { background: var(--accent); border-color: var(--accent); }
.promo-product-option input:checked:after,.promo-all input:checked:after { content: '✓'; color: #081b0c; font-size: 14px; font-weight: 900; }
.promo-product-option input:focus-visible,.promo-all input:focus-visible { outline: 2px solid white; outline-offset: 2px; }
.promo-product-option strong,.promo-all strong { display: block; font-size: 12px; font-weight: 750; }
.promo-product-option small,.promo-all small { display: block; color: #91b397; font-size: 10px; line-height: 1.45; margin-top: 2px; }
.promo-all { border: 1px solid #355b3d; background: #142a18; }
.promo-counter { color: #7fdd8c; font-size: 11px; font-weight: 700; }
.promo-result { padding: 32px 28px 29px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.promo-result-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: #194c24; color: #79fa8a; font-size: 30px; }
.promo-result p { font-size: 10px; letter-spacing: 2px; color: #9abfa2; font-weight: 800; margin: 4px 0 0; }
.promo-result-code { border: 1px solid #397c41; background: #102e17; padding: 18px 22px; border-radius: 12px; font-size: clamp(16px,4.3vw,25px); user-select: all; word-break: break-all; }
.promo-result-discount { color: var(--accent); font-weight: 900; font-size: 27px; }
.promo-result-details { display: grid; grid-template-columns: 90px minmax(0,1fr); text-align: left; width: 100%; border-top: 1px solid #34583b; margin: 10px 0; gap: 12px; padding: 19px 0 0; }
.promo-result-details span { color: #98ae9a; font-size: 11px; }
.promo-result-details strong { font-size: 12px; color: #d8f1dc; overflow-wrap: anywhere; }
.promo-result-buttons { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.promo-result-buttons button { flex: 1; }
.promo-checkout-dialog { width: min(540px,calc(100vw - 24px)); height: auto; max-height: calc(100dvh - 28px); }
.promo-checkout-dialog .product-form { min-height: 0; }
.promo-code-field { display: flex; gap: 8px; align-items: stretch; }
.promo-code-field input { min-width: 0; flex: 1; text-transform: uppercase; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .5px; }
.promo-quote { border: 1px solid #34563d; background: #09160e; border-radius: 10px; padding: 15px; display: grid; gap: 11px; }
.promo-quote > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; color: #a7bdaa; }
.promo-quote strong { color: #e0f4e4; white-space: nowrap; }
.promo-quote .promo-saved { color: var(--accent); }
.promo-quote .promo-total { border-top: 1px solid #31523a; padding-top: 12px; }
.promo-quote .promo-total strong { font-size: 19px; color: var(--accent); }
.promo-quote .promo-quote-error { font-size: 12px; color: #f2b5a7; margin: 0; }
.promo-quote .promo-quote-pending { font-size: 12px; color: #a5b9a8; margin: 0; }
@media(max-width:700px) { .promo-product-summary { max-width: unset; white-space: normal; } .promo-admin-info span:last-child { margin-left: 0; } .promo-dialog .modal-body { padding: 17px; } }
@media(max-width:480px) { .promo-grid { grid-template-columns: 1fr; } .promo-admin-info { gap: 7px 14px; } .promo-result-details { grid-template-columns: 74px minmax(0,1fr); } .promo-result { padding: 22px 15px; } .promo-code-field { flex-direction: column; } .promo-code-field .btn { width: 100%; } .promo-result-buttons { flex-direction: column; } .promo-result-buttons button { width: 100%; } }

.promo-dialog,.promo-checkout-dialog { height: auto; max-height: calc(100dvh - 24px); }
.promo-dialog .product-form,.promo-checkout-dialog .product-form { height: auto; grid-template-rows: auto auto auto; }
.promo-dialog .modal-body,.promo-checkout-dialog .modal-body { max-height: calc(100dvh - 190px); overflow-y: auto; }
.promo-dialog:has(.promo-result:not(.hidden)) .product-form { grid-template-rows: auto auto; }
.promo-result { grid-row: 2; }
.promo-dialog,.promo-checkout-dialog { height: fit-content; }
.product-bottom { flex-wrap: wrap; }
.promo-card-action { flex: 0 0 100%; }
@media(max-width:800px) { .product-bottom { flex-wrap: nowrap; } .promo-card-action { flex: 0 0 auto; width: 100%; align-self: stretch; } }
@media(min-width:581px) and (max-width:800px) { .product-bottom { flex-wrap: wrap; } .promo-card-action { flex: 0 0 100%; width: 100%; } }
.sale-pill { padding: 5px 8px; background: #184e22; border: 1px solid #277e34; border-radius: 5px; color: #75f686; font-size: 10px; font-weight: 850; letter-spacing: .2px; white-space: nowrap; }
.card-label { justify-content: flex-start; flex-wrap: wrap; gap: 7px; }
.product-price { align-content: end; }
.product-price .old-price { color: #91a294; font-size: 12px; font-weight: 600; text-decoration-color: #c46b6b; text-decoration-thickness: 1.5px; }
.product-price .sale-price { color: var(--accent); }
.admin-price-cell { display: grid; align-items: start; gap: 2px; }
.admin-price-cell del { color: #8c9f91; font-size: 11px; text-decoration-color: #b66d6d; }
.admin-price-cell small { color: var(--accent); font-size: 10px; font-weight: 750; }
.compare-price-field { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: end; gap: 14px; margin-top: 14px; }
.compare-price-field .field small { color: #8baa8e; font-size: 10px; line-height: 1.6; }
.price-live-preview { align-self: stretch; min-height: 96px; padding: 13px 16px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 3px; background: linear-gradient(110deg,#102a17,#0c1c11); border: 1px solid #2f5634; border-radius: 10px; }
.price-live-preview span { font-size: 10px; font-weight: 700; color: #93b99a; }
.price-live-preview del { color: #95a996; font-size: 11px; }
.price-live-preview strong { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; font-size: 19px; color: var(--accent); }
.price-live-preview strong small { color: #a5efaa; font-size: 11px; }
.price-live-preview .price-preview-error { color: #f0aa9e; font-size: 13px; }
.promo-quote del { color: #93aa98; text-decoration-color: #c86c6c; }
.coupon-load-error { display: grid; gap: 10px; justify-items: start; padding: 28px; border: 1px solid #745046; border-radius: 12px; background: #241813; }
.coupon-load-error strong { font-size: 15px; color: #ffe0d2; }
.coupon-load-error p { font-size: 12px; color: #e4b9a5; margin: 0 0 7px; }
@media(max-width:600px) { .compare-price-field { grid-template-columns: 1fr; } .price-live-preview { min-height: 83px; } .sale-pill { padding: 4px 7px; } .product-price .sale-price { font-size: 24px; } }


.dialog[open] { display: block; overflow: hidden; isolation: isolate; }
#product-dialog[open] { height: min(850px, calc(100dvh - 32px)); max-height: calc(100dvh - 32px); }
#product-dialog .product-form, #coupon-dialog .product-form { display: flex; flex-direction: column; grid-template-rows: none; min-height: 0; height: 100%; overflow: hidden; }
#product-dialog .product-form > .modal-head, #coupon-dialog .product-form > .modal-head { flex: 0 0 auto; min-height: 0; }
#product-dialog .product-form > .modal-body, #coupon-dialog .product-form > .modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
#product-dialog .product-form > .modal-actions, #coupon-dialog .product-form > .modal-actions { flex: 0 0 auto; position: relative; z-index: 3; }
#product-dialog .modal-head, #coupon-dialog .modal-head { position: relative; z-index: 3; }
#product-dialog .form-columns { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; align-items: start; }
#product-dialog .form-columns > *, #product-dialog .compare-price-field > * { min-width: 0; }
#product-dialog .form-columns .field, #product-dialog .compare-price-field .field { align-content: start; align-self: start; }
#product-dialog .form-columns .field > small { line-height: 1.45; font-weight: 500; color: #92ad97; margin-top: 1px; }
#product-dialog .compare-price-field { align-items: stretch; gap: 14px; }
#product-dialog .compare-price-field .price-live-preview { min-height: 100px; }
#product-dialog .select-menu { position: absolute; top: calc(100% + 7px); left: 0; right: 0; margin-top: 0; z-index: 8; max-height: min(238px, 40dvh); }
#product-dialog .custom-select.opened { z-index: 8; }
#product-dialog .toggles { display: grid; grid-template-columns: 1fr; gap: 9px; }
#product-dialog .toggle-row { min-height: 61px; width: 100%; }
#product-dialog .toggle-row.is-on { border-color: #357945; background: #153321; }
#product-dialog .toggle-row input { cursor: pointer; }
#product-dialog .form-columns-bottom { align-items: start; }
#product-dialog .modal-actions-note { flex: 1 1 auto; }
#coupon-dialog[open] { height: min(755px, calc(100dvh - 32px)); max-height: calc(100dvh - 32px); }
#coupon-dialog:has(.promo-result:not(.hidden)) .modal-actions { display: none !important; }
#coupon-dialog .promo-result:not(.hidden) { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #3b7b49 #0b1b10; }
#coupon-dialog .promo-grid { display: grid; align-items: start; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
#coupon-dialog .promo-grid > .field { min-width: 0; align-content: start; }
#coupon-dialog .promo-grid .field > small { line-height: 1.5; min-height: 16px; }
.settings-v107 .color-presets { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 9px; }
.settings-v107 .color-presets .color-swatch { justify-self: stretch; align-self: center; display: block; box-sizing: border-box; width: 100%; min-width: 25px; min-height: 29px; height: auto; aspect-ratio: 1; padding: 0; background: var(--swatch) !important; border: 2px solid #8da495; border-radius: 8px; box-shadow: inset 0 0 0 1px #ffffff25; cursor: pointer; }
.settings-v107 .color-presets .color-swatch.selected { border-color: #f5fff6; outline: 2px solid var(--accent); outline-offset: 2px; }
.settings-v107 .color-presets .color-swatch:hover { filter: brightness(1.1); transform: translateY(-1px); }
.settings-v107 .color-picker-layout { align-items: start; gap: 21px; }
.settings-v107 .color-picker-side { min-width: 0; }
.settings-v107 .settings-grid { align-items: start; }
.settings-v107 .settings-grid .field { min-width: 0; }
@media (max-width: 700px) {
  #product-dialog[open], #coupon-dialog[open] { height: calc(100dvh - 20px); max-height: calc(100dvh - 20px); }
  #product-dialog .form-columns, #product-dialog .compare-price-field, #coupon-dialog .promo-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  #product-dialog .modal-body, #coupon-dialog .modal-body { scrollbar-gutter: auto; }
  #product-dialog .select-menu { max-height: min(196px, 33dvh); }
  #product-dialog .modal-actions { gap: 8px; }
  .settings-v107 .color-presets { gap: 7px; }
  .settings-v107 .color-presets .color-swatch { min-width: 23px; min-height: 26px; }
}
@media (max-width: 370px) {
  .settings-v107 .color-presets { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
  #product-dialog .modal-actions { padding: 12px 14px; }
}

.dialog[open] { overflow: clip; }
#product-dialog .product-form, #coupon-dialog .product-form, #discount-dialog .product-form { overflow: clip; }
#product-dialog .toggle-row { position: relative; isolation: isolate; }
#product-dialog .toggle-row input[type="checkbox"] { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; opacity: 0; z-index: 2; cursor: pointer; }

.footer-main .footer-disclaimer { max-width: 425px; margin-top: 14px; color: #718a78; font-size: 10px; line-height: 1.65; }
.checkout-consent-dialog[open] { display: block; width: min(535px, calc(100vw - 24px)); height: auto; max-height: min(720px, calc(100dvh - 24px)); overflow: clip; }
.checkout-consent-dialog .product-form { display: flex; flex-direction: column; padding: 0; gap: 0; max-height: min(720px, calc(100dvh - 24px)); overflow: clip; }
.checkout-consent-dialog .modal-head { flex: 0 0 auto; padding: 23px 25px 19px; border-bottom: 1px solid #28452d; align-items: flex-start; }
.checkout-consent-dialog .modal-head h2 { margin-top: 5px; }
.checkout-consent-dialog .modal-head p { margin: 8px 0 0; font-size: 12px; font-weight: 500; line-height: 1.6; color: #94ae9b; }
.checkout-consent-dialog .modal-body { flex: 1 1 auto; min-height: 0; padding: 22px 25px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
.checkout-consent-summary { display: grid; gap: 12px; background: #09150e; border: 1px solid #2b4c33; border-radius: 11px; padding: 17px; margin-bottom: 17px; }
.checkout-consent-summary > div { display: flex; justify-content: space-between; gap: 15px; align-items: baseline; }
.checkout-consent-summary span { color: #95af9c; font-size: 12px; }
.checkout-consent-summary strong { color: #f2fff3; font-size: 13px; text-align: right; overflow-wrap: anywhere; }
.checkout-consent-summary > div:nth-child(2) strong { color: var(--accent); font-size: 19px; }
.checkout-consent-dialog .checkout-consent-label { display: flex; align-items: flex-start; gap: 13px; padding: 17px; border: 1px solid #35573b; background: #122319; border-radius: 11px; cursor: pointer; font-size: 12px; line-height: 1.65; }
.checkout-consent-label:has(input:checked) { border-color: var(--accent); background: #132b19; }
.checkout-consent-label input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--accent); cursor: pointer; }
.checkout-consent-label > span { display: flex; flex-direction: column; gap: 7px; min-width: 0; color: #bdd0c1; font-weight: 500; }
.checkout-consent-label strong { font-size: 13px; font-weight: 800; color: #f2fff4; }
.checkout-consent-hint { padding: 0 3px; margin: 12px 0 0; font-size: 11px; line-height: 1.6; color: #94a999; }
.checkout-consent-dialog .modal-actions { flex: 0 0 auto; padding: 17px 25px; border-top: 1px solid #28452d; background: #111e15; gap: 9px; }
.checkout-consent-dialog .modal-actions .btn-main { flex: 1 1 auto; }
@media(max-width:580px) { .footer-main .footer-disclaimer { max-width: 100%; } .checkout-consent-dialog .modal-head { padding: 18px; } .checkout-consent-dialog .modal-head h2 { font-size: 21px; } .checkout-consent-dialog .modal-body { padding: 16px; } .checkout-consent-dialog .modal-actions { padding: 13px 16px; flex-direction: column-reverse; } .checkout-consent-dialog .modal-actions .btn { width: 100%; } .checkout-consent-dialog .checkout-consent-label { padding: 14px; } }

#ltc-payment-dialog[open]{display:block;inset:0;margin:auto;width:min(646px,calc(100vw - 28px));max-width:calc(100vw - 28px);height:min(704px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:clip;overscroll-behavior:none;border-color:#386d42;box-shadow:0 28px 110px #000d,0 0 55px #0be1160d}
#ltc-payment-dialog .product-form{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;gap:0;padding:0}
#ltc-payment-dialog .modal-head{flex:0 0 auto;min-height:0;padding:20px 24px 16px;background:linear-gradient(115deg,#18311c 0%,#101b13 75%);position:relative;z-index:2}
#ltc-payment-dialog .modal-head h2{font-size:24px;margin:5px 0 3px}
#ltc-payment-dialog .modal-head p{font-size:12px;color:#a5bba6}
#ltc-payment-dialog .modal-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px 24px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#367440 #102015;scroll-padding-top:8px}
#ltc-payment-dialog .modal-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:9px;padding:13px 24px;border-top:1px solid #2c4932;background:#132218;position:relative;z-index:2}
#ltc-payment-dialog .modal-actions .btn{min-height:41px}
.ltc-session-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #31583a;background:#14291a;border-radius:11px;padding:10px 14px;min-width:0}
.ltc-session-label{display:flex;align-items:center;gap:9px;min-width:0;color:#d7ebd8;font-size:12px;font-weight:750}
.ltc-session-dot{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #0be1167a}
.ltc-session-time{display:flex;align-items:center;gap:9px;white-space:nowrap}
.ltc-session-time>span{font-size:11px;color:#90aa96}
.ltc-session-time strong{color:var(--accent);font-size:20px;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.ltc-session-time strong.is-expired{color:#f2c282}
.ltc-payment-card{border:1px solid #31543a;border-radius:13px;background:linear-gradient(135deg,#102619,#0b1911);padding:15px;display:flex;flex-direction:column;gap:14px;min-width:0}
.ltc-payment-top{display:grid;grid-template-columns:170px minmax(0,1fr);gap:19px;align-items:center}
.ltc-qr-frame{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0}
.ltc-qr-frame>span{color:#8fad96;font-size:10px;font-weight:650}
.ltc-qr{width:170px;height:170px;min-width:0;display:grid;place-items:center;background:#fff;border-radius:11px;padding:9px;overflow:hidden}
.ltc-qr svg{width:100%;height:100%;display:block}
.ltc-payment-details{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.ltc-detail-label,.ltc-payment-copy>span{color:#95b59c;font-size:10px;letter-spacing:1.1px;font-weight:800}
.ltc-amount{font-size:clamp(18px,3.6vw,23px);line-height:1.25;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;letter-spacing:-.4px}
#ltc-payment-dialog .ltc-amount-copy{min-height:35px;font-size:11px;padding:0 12px;border-radius:8px}
.ltc-pln-line{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid #2c4931;padding-top:9px;margin-top:2px}
.ltc-pln-line span{color:#9ab19e;font-size:11px}
.ltc-pln-line strong{font-size:15px;color:#f0f8f0;white-space:nowrap}
.ltc-network-label{display:inline-flex;font-size:10px;color:#9bc3a1;border:1px solid #315b3b;border-radius:6px;padding:4px 8px;background:#142d1c}
.ltc-payment-copy{display:grid;gap:7px;border-top:1px solid #2a4631;padding-top:12px;min-width:0}
.ltc-copy-row{display:flex;gap:8px;align-items:stretch;min-width:0}
.ltc-copy-row code{display:flex;align-items:center;flex:1 1 auto;min-width:0;min-height:42px;overflow-wrap:anywhere;word-break:break-all;background:#08160d;border:1px solid #37583e;border-radius:9px;padding:10px 12px;font-size:11.5px;line-height:1.5;color:#e5f3e7}
#ltc-payment-dialog .ltc-copy-row button{flex:0 0 auto;min-height:42px;font-size:11px;padding:0 12px}
.ltc-payment-status{display:flex;align-items:center;gap:11px;border:1px solid #31563a;background:#11241a;border-radius:11px;padding:12px 14px;min-width:0}
.ltc-status-icon{flex:0 0 11px;width:11px;height:11px;border:2px solid #8da894;border-top-color:var(--accent);border-radius:50%;animation:ltc-status-rotate 2s linear infinite}
.ltc-status-icon.is-good{background:var(--accent);border:0;animation:none}
@keyframes ltc-status-rotate{to{transform:rotate(360deg)}}
.ltc-payment-status>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ltc-payment-status strong{font-size:12.5px;color:#eaf5ed}
.ltc-payment-status small{font-size:11px;line-height:1.5;color:#91ab98}
.ltc-payment-notice{margin:0;padding:0 2px;color:#91a797;font-size:10.5px;line-height:1.5}
@media(max-width:570px){#ltc-payment-dialog[open]{height:min(720px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);width:calc(100vw - 16px);max-width:calc(100vw - 16px);border-radius:14px}#ltc-payment-dialog .modal-head{padding:17px 17px 14px}#ltc-payment-dialog .modal-head h2{font-size:21px}#ltc-payment-dialog .modal-body{padding:13px 16px;gap:11px}#ltc-payment-dialog .modal-actions{padding:12px 16px;gap:8px}#ltc-payment-dialog .modal-actions .btn{flex:1 1 0;min-width:0;padding:0 8px} .ltc-payment-card{padding:13px;gap:13px}.ltc-payment-top{grid-template-columns:137px minmax(0,1fr);gap:12px}.ltc-qr{width:137px;height:137px;padding:7px}.ltc-session-bar{padding:10px 11px}.ltc-session-label{font-size:11px}.ltc-session-time>span{display:none}.ltc-session-time strong{font-size:18px}.ltc-amount{font-size:17px}.ltc-pln-line{align-items:flex-start;flex-direction:column;gap:2px}.ltc-payment-status{padding:11px}}
@media(max-width:360px){.ltc-payment-top{grid-template-columns:116px minmax(0,1fr);gap:10px}.ltc-qr{width:116px;height:116px}.ltc-amount{font-size:15px}#ltc-payment-dialog .ltc-copy-row{flex-direction:column}#ltc-payment-dialog .ltc-copy-row button{min-height:37px}#ltc-payment-dialog .modal-head p{max-width:210px}}
@media(max-height:540px) and (min-width:571px){#ltc-payment-dialog[open]{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}#ltc-payment-dialog .modal-head{padding:11px 20px}#ltc-payment-dialog .modal-head h2{font-size:19px}#ltc-payment-dialog .modal-body{padding:10px 20px}#ltc-payment-dialog .modal-actions{padding:8px 20px}}
@media(prefers-reduced-motion:reduce){.ltc-status-icon{animation:none}}
