:root{--red:#d83b1f;--orange:#f47a22;--cream:#fff8ee;--paper:#fffdf8;--ink:#2f1712;--muted:#806c65;--line:#eadfd6;--green:#26845c;--shadow:0 18px 45px rgba(80,32,17,.1)}*{box-sizing:border-box}body{margin:0;background:#f7f2eb;color:var(--ink);font-family:'DM Sans',sans-serif;display:grid;grid-template-columns:250px 1fr;min-height:100vh}button,input{font:inherit}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--ink);color:white;padding:28px 18px;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none;padding:0 8px 30px}.admin-logo{width:44px;height:44px;border-radius:14px 14px 14px 5px;background:linear-gradient(145deg,var(--red),var(--orange));display:grid;place-items:center;font:800 27px 'Fraunces',serif}.admin-brand strong{display:block;font:700 23px 'Fraunces',serif}.admin-brand small{font-size:8px;letter-spacing:3px;color:#ffad69}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button,.sidebar nav a{position:relative;border:0;background:transparent;color:#cdbdb7;border-radius:12px;padding:13px 14px;text-align:left;text-decoration:none;font-weight:700;cursor:pointer}.sidebar nav button span,.sidebar nav a span{display:inline-block;width:24px;color:#ffad69}.sidebar nav button.active,.sidebar nav button:hover,.sidebar nav a:hover{background:rgba(255,255,255,.09);color:white}.admin-nav-badge{position:absolute;right:10px;top:50%;transform:translateY(-50%);min-width:22px;height:22px;border-radius:999px;background:var(--red);color:white;display:inline-grid;place-items:center;padding:0 7px;font-size:10px;font-weight:900;box-shadow:0 0 0 2px var(--ink)}.admin-nav-badge[hidden]{display:none!important}.admin-note{margin-top:auto;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px}.admin-note span{font-size:9px;letter-spacing:1.5px;color:#ffad69;font-weight:800}.admin-note p{font-size:11px;line-height:1.5;color:#bca9a1;margin:8px 0 0}main{padding:46px 5vw 80px;min-width:0}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--red)}h1{font:800 44px 'Fraunces',serif;margin:5px 0}.admin-header button{border:0;background:var(--red);color:white;border-radius:99px;padding:13px 18px;font-weight:800}.panel{display:none}.panel.active{display:block}.info-banner{display:flex;gap:15px;background:#eaf6ef;border:1px solid #cbe9d8;border-radius:17px;padding:18px 20px;margin-bottom:25px}.info-banner>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white}.info-banner strong{font-size:14px}.info-banner p{font-size:12px;color:#52705f;margin:4px 0 0}.qr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.qr-card{background:white;border:1px solid var(--line);border-radius:20px;padding:18px;text-align:center;box-shadow:0 8px 24px rgba(80,32,17,.04)}.qr-card img{width:100%;max-width:180px;aspect-ratio:1}.qr-card h2{font:700 24px 'Fraunces',serif;margin:8px 0 3px}.qr-card p{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-actions{display:flex;gap:7px;margin-top:13px}.qr-actions a,.qr-actions button{flex:1;border:1px solid var(--line);border-radius:9px;background:var(--cream);color:var(--ink);padding:8px;text-decoration:none;font-size:10px;font-weight:800}.member-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:20px}.member-summary div{background:white;border:1px solid var(--line);border-radius:17px;padding:17px}.member-summary span{display:block;color:var(--muted);font-size:11px}.member-summary strong{display:block;font-size:25px;margin-top:5px}.member-search{width:min(420px,100%);height:45px;border:1px solid var(--line);background:white;border-radius:99px;display:flex;align-items:center;gap:8px;padding:0 15px;margin-bottom:18px}.member-search input{border:0;outline:0;width:100%;background:transparent}.member-card{background:white;border:1px solid var(--line);border-radius:18px;margin:10px 0;overflow:hidden}.member-main{display:grid;grid-template-columns:1.4fr .8fr .8fr auto;gap:20px;align-items:center;padding:18px}.member-identity{display:flex;align-items:center;gap:12px}.avatar{width:43px;height:43px;border-radius:50%;background:var(--cream);color:var(--red);display:grid;place-items:center;font-weight:800}.member-identity strong,.member-main small{display:block}.member-identity small,.member-stat span{font-size:10px;color:var(--muted)}.member-stat strong{font-size:14px}.expand-member{border:1px solid var(--line);background:white;border-radius:9px;padding:8px 10px}.member-details{display:none;background:#fcf8f2;border-top:1px solid var(--line);padding:17px}.member-card.open .member-details{display:block}.consent-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.consent-tag{font-size:9px;border-radius:99px;padding:5px 8px;background:#eee;color:var(--muted)}.consent-tag.on{background:#e4f4eb;color:var(--green)}.member-order{display:grid;grid-template-columns:100px 1fr auto;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:11px}.member-order p{margin:0;color:var(--muted)}.empty{padding:40px;text-align:center;color:var(--muted)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:white;border-radius:99px;padding:11px 17px;font-size:12px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.qr-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){body{display:block}.sidebar{height:auto;position:relative;padding:15px}.admin-brand{padding-bottom:14px}.sidebar nav{flex-direction:row;overflow:auto}.sidebar nav button,.sidebar nav a{white-space:nowrap}.admin-note{display:none}main{padding:30px 16px 70px}.admin-header{align-items:start}.admin-header h1{font-size:34px}.qr-grid{grid-template-columns:repeat(2,1fr)}.member-main{grid-template-columns:1fr auto}.member-stat{display:none}.member-summary{grid-template-columns:1fr}.qr-card{padding:11px}.qr-actions{display:block}.qr-actions>*{display:block;margin-top:5px;width:100%}}
@media print{body{display:block;background:white}.sidebar,.admin-header,.info-banner,.qr-actions,#membersPanel,#productsPanel,.toast{display:none!important}main{padding:0}.panel{display:block!important}.qr-grid{grid-template-columns:repeat(3,1fr);gap:10mm}.qr-card{box-shadow:none;break-inside:avoid;border:1px solid #bbb}.qr-card img{max-width:45mm}}
.product-admin-head{display:flex;align-items:center;justify-content:space-between;background:white;border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin-bottom:20px}.product-admin-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.primary-admin-button{border:0;background:var(--red);color:white;border-radius:99px;padding:12px 17px;font-weight:800}.primary-admin-button.full{width:100%;margin-top:18px}.admin-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-product-card{background:white;border:1px solid var(--line);border-radius:19px;overflow:hidden}.admin-product-card.inactive{opacity:.65}.admin-product-image{height:155px;display:grid;place-items:center;position:relative;overflow:hidden}.admin-product-image>span{font-size:62px}.admin-product-image img{width:100%;height:100%;object-fit:cover}.admin-product-image i{position:absolute;left:10px;top:10px;background:white;border-radius:99px;padding:5px 8px;color:var(--green);font-style:normal;font-size:8px;font-weight:800;letter-spacing:1px}.inactive .admin-product-image i{color:var(--muted)}.admin-product-body{padding:15px}.admin-product-body small{color:var(--red);font-weight:800;font-size:9px;text-transform:uppercase;letter-spacing:1px}.admin-product-body h3{margin:5px 0;font:700 20px 'Fraunces',serif}.admin-product-body p{height:32px;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.45}.admin-product-actions{display:flex;border-top:1px solid var(--line)}.admin-product-actions button{flex:1;border:0;background:white;padding:11px;font-size:10px;font-weight:800;color:var(--ink)}.admin-product-actions button+button{border-left:1px solid var(--line)}.admin-product-actions .archive{color:var(--red)}.admin-modal{position:fixed;inset:0;z-index:50;background:rgba(47,23,18,.5);backdrop-filter:blur(3px);display:grid;place-items:center;padding:15px;opacity:0;pointer-events:none;transition:.2s}.admin-modal.open{opacity:1;pointer-events:auto}.product-form{width:min(700px,100%);max-height:calc(100vh - 30px);overflow:auto;background:white;border-radius:24px;padding:30px;position:relative}.modal-close{position:absolute;right:17px;top:17px;width:38px;height:38px;border:1px solid var(--line);background:white;border-radius:50%;font-size:21px}.product-form h2{font:700 35px 'Fraunces',serif;margin:7px 45px 20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label>span{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.form-grid input,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;background:white;outline:none}.form-grid textarea{resize:vertical}.form-grid .wide{grid-column:1/-1}.upload-field small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.check-field{display:flex;align-items:center;gap:8px;background:var(--cream);padding:11px;border-radius:11px}.check-field input{width:auto}.check-field>span{margin:0!important}.member-card.blocked{border-color:#efc5bb}.blocked-tag{background:#fee7e1;color:var(--red)}.member-actions{display:flex;gap:8px;margin:5px 0 14px}.member-actions button{border:1px solid var(--line);background:white;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:800}.member-actions .delete{color:var(--red);border-color:#f2ccc3}
@media(max-width:1100px){.admin-product-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.admin-product-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.product-admin-head{align-items:flex-start;gap:12px}.product-admin-head button{white-space:nowrap}}@media(max-width:480px){.admin-product-grid{grid-template-columns:1fr}.product-form{padding:25px 18px}}
.admin-account{margin-top:auto;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px}.admin-account>span{display:block;font-size:8px;letter-spacing:1.5px;color:#ffad69;font-weight:800}.admin-account strong,.admin-account small{display:block;overflow:hidden;text-overflow:ellipsis}.admin-account strong{font-size:12px;margin-top:6px}.admin-account small{font-size:9px;color:#bca9a1;margin:3px 0 10px}.admin-account button{display:block;width:100%;border:0;border-radius:8px;background:rgba(255,255,255,.08);color:white;padding:8px;margin-top:5px;text-align:left;font-size:9px;font-weight:700}.admin-login-overlay{position:fixed;inset:0;z-index:100;background:linear-gradient(145deg,#2f1712,#6d2519);display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:.2s}.admin-login-overlay.open{opacity:1;pointer-events:auto}.admin-login-card{width:min(430px,100%);background:white;border-radius:26px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.admin-login-logo{width:58px;height:58px;border-radius:18px 18px 18px 6px;background:linear-gradient(145deg,var(--red),var(--orange));color:white;display:grid;place-items:center;font:800 34px 'Fraunces',serif;margin-bottom:24px}.admin-login-card h1{font-size:38px;margin:7px 0 9px}.admin-login-card>p{color:var(--muted);font-size:13px;line-height:1.5}.admin-login-card label,.password-form label{display:block;margin:14px 0}.admin-login-card label span,.password-form label span{display:block;font-size:11px;font-weight:700;margin-bottom:6px}.admin-login-card input,.password-form input{width:100%;height:46px;border:1px solid var(--line);border-radius:11px;padding:0 12px;outline:none}.admin-login-card>small{display:block;color:var(--muted);font-size:9px;line-height:1.5;margin-top:13px}.admin-login-card .login-error{color:var(--red);font-weight:700;margin:10px 0 0;min-height:18px}.password-form{width:min(480px,100%)}.password-form>p{color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:760px){.admin-account{display:none}}
.member-summary:has(#statsOrders){grid-template-columns:repeat(4,1fr)}.statistics-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.statistics-card{background:white;border:1px solid var(--line);border-radius:19px;padding:20px}.statistics-card.wide{grid-column:1/-1}.statistics-card h2{font:700 23px 'Fraunces',serif;margin:0 0 17px}.stat-row{padding:9px 0;border-bottom:1px solid var(--line)}.stat-row div{display:flex;justify-content:space-between;gap:10px}.stat-row strong{font-size:12px}.stat-row span{font-size:10px;color:var(--muted)}.stat-row i{display:block;height:5px;background:linear-gradient(90deg,var(--red),var(--orange));border-radius:8px;margin-top:7px}.daily-chart{height:210px;display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding-top:20px}.day-column{flex:1;min-width:48px;text-align:center}.day-column>div{width:75%;margin:auto;background:linear-gradient(var(--orange),var(--red));border-radius:8px 8px 2px 2px}.day-column strong,.day-column span{display:block}.day-column strong{font-size:10px;margin-top:5px}.day-column span{font-size:8px;color:var(--muted)}.admin-users-list{display:grid;gap:10px}.admin-user-card{background:white;border:1px solid var(--line);border-radius:16px;padding:15px;display:grid;grid-template-columns:auto 1fr auto auto auto auto;align-items:center;gap:12px}.admin-user-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.admin-user-card>span{border-radius:99px;padding:5px 9px;font-size:9px;font-weight:800}.active-admin{background:#e4f4eb;color:var(--green)}.inactive-admin{background:#fee7e1;color:var(--red)}.admin-user-card button{border:1px solid var(--line);background:white;border-radius:9px;padding:8px;font-size:9px;font-weight:800}.admin-user-card button.delete{color:var(--red);border-color:#f2ccc3}.admin-user-card button:disabled{opacity:.4}.password-form select{width:100%;height:46px;border:1px solid var(--line);border-radius:11px;padding:0 12px;background:white}
@media(max-width:760px){.member-summary:has(#statsOrders){grid-template-columns:1fr 1fr}.statistics-layout{grid-template-columns:1fr}.statistics-card.wide{grid-column:auto}.admin-user-card{grid-template-columns:auto 1fr}.admin-user-card>span,.admin-user-card>button{grid-column:2}}
@media(max-width:760px){.admin-account:not([hidden]){display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;margin-top:12px}.admin-account>span,.admin-account>small{display:none}.admin-account strong{grid-row:1}.admin-account button{width:auto;margin:0;white-space:nowrap}}
@media print{#statisticsPanel,#backupPanel,#adminsPanel,.admin-login-overlay,.admin-modal{display:none!important}}
.appearance-card{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;max-width:780px}.appearance-card h2{font:700 34px 'Fraunces',serif;margin:6px 0 8px}.appearance-card p{color:var(--muted);font-size:13px;line-height:1.55;max-width:620px}.appearance-card label{display:block;margin:15px 0}.appearance-card label>span{display:block;font-size:11px;font-weight:800;margin-bottom:6px}.appearance-card input,.appearance-card select,.appearance-card textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:white}.appearance-card input,.appearance-card select{height:46px}.appearance-card textarea{min-height:120px;padding:12px;resize:vertical}.appearance-preview{height:220px;border-radius:18px;background:linear-gradient(145deg,var(--red),var(--orange));background-size:cover;background-position:center;display:grid;place-items:center;margin:20px 0;color:white;overflow:hidden;box-shadow:var(--shadow)}.appearance-preview span{font:800 36px 'Fraunces',serif;text-shadow:0 4px 18px rgba(0,0,0,.35)}.appearance-preview.empty span{font-size:22px;color:rgba(255,255,255,.82)}.promotion-preview{background:linear-gradient(145deg,#2f1712,var(--red))}
.promo-offer-editors{display:grid;gap:14px;margin:18px 0}.promo-offer-editor{border:1px solid var(--line);border-radius:18px;background:#fffaf4;padding:16px}.promo-offer-editor h3{margin:0 0 10px;font:800 18px 'DM Sans',sans-serif}.promo-offer-editor .check-field{margin-top:0}
.form-divider{border:0;border-top:1px solid var(--line);margin:28px 0}
.backup-card{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;max-width:760px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.backup-card h2{font:700 34px 'Fraunces',serif;margin:6px 0 8px}.backup-card p{color:var(--muted);font-size:13px;line-height:1.55;max-width:560px}.backup-warning{grid-column:1/-1;margin:0!important;padding:12px 14px;border-radius:13px;background:#fff5e8;color:#8a4f14!important}
.member-main{grid-template-columns:1.4fr .65fr .65fr .65fr auto}.member-loyalty-controls{display:grid;grid-template-columns:minmax(170px,1.1fr) 160px 150px 1fr auto;gap:10px;align-items:end;background:white;border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0 14px}.member-loyalty-controls label>span{display:block;font-size:10px;font-weight:800;margin-bottom:5px}.member-loyalty-controls input[type="number"],.member-loyalty-controls input[type="tel"],.member-loyalty-controls input[type="date"]{width:100%;height:39px;border:1px solid var(--line);border-radius:9px;padding:0 10px}.member-loyalty-controls button{border:0;background:var(--red);color:white;border-radius:9px;padding:11px 13px;font-size:10px;font-weight:900}
@media(max-width:760px){.member-main{grid-template-columns:1fr auto}.member-loyalty-controls{grid-template-columns:1fr}.member-loyalty-controls button{width:100%}}
@media(max-width:760px){.backup-card{grid-template-columns:1fr}.backup-card .primary-admin-button{width:100%}}
.knz-sync-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:16px}.knz-sync-hero h2{font:800 36px 'Fraunces',serif;margin:5px 0 8px}.knz-sync-hero p{margin:0;color:var(--muted);line-height:1.55;max-width:760px}.knz-sync-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.knz-sync-actions button:not(.primary-admin-button){border:1px solid var(--line);background:#fff;border-radius:999px;padding:13px 17px;font-weight:900}.knz-sync-note{border:1px solid #f0d5ca;background:#fffaf4;border-radius:15px;padding:13px 15px;margin-bottom:14px;color:#6c4538;font-weight:800}.knz-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.knz-summary-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.knz-summary-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.knz-summary-grid strong{display:block;font-size:30px;line-height:1.1;margin-top:6px}.knz-sync-sections{display:grid;gap:16px}.knz-section-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;overflow:hidden}.knz-section-card h3{font:800 25px 'Fraunces',serif;margin:0 0 12px}.knz-table-wrap{overflow:auto;max-height:430px;border:1px solid var(--line);border-radius:14px}.knz-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.knz-table th,.knz-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f1e4dd;vertical-align:top}.knz-table th{position:sticky;top:0;background:#fff7ed;color:#7a2c1d;text-transform:uppercase;letter-spacing:.06em;font-size:10px;z-index:1}.knz-table tr:last-child td{border-bottom:0}.knz-table td{color:#2c1711}.knz-table td:nth-child(1){font-weight:900;color:var(--red);white-space:nowrap}
@media(max-width:920px){.knz-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.knz-sync-hero{grid-template-columns:1fr}.knz-sync-hero .primary-admin-button{width:100%}}
.billing-apply-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:16px}.billing-apply-card h3{font:800 24px 'Fraunces',serif;margin:4px 0 6px}.billing-apply-card p{margin:0;color:var(--muted);line-height:1.45}.billing-apply-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.billing-apply-actions button:not(.primary-admin-button){border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 16px;font-weight:900}.billing-apply-summary{grid-column:1/-1;border:1px solid #f0d5ca;background:#fffaf4;border-radius:15px;padding:13px 15px;color:#5a3128}.billing-apply-summary strong{display:block;margin-bottom:5px}.billing-check{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:10px;background:#fff7ed;cursor:pointer}.billing-check input{position:absolute;opacity:0;pointer-events:none}.billing-check span{width:16px;height:16px;border:2px solid #d6b7aa;border-radius:5px;background:#fff}.billing-check input:checked+span{border-color:var(--red);background:var(--red);box-shadow:inset 0 0 0 3px #fff}
.billing-review-list{display:grid;gap:12px;max-height:360px;overflow:auto;margin:12px 0;padding-right:4px}.billing-review-section{border:1px solid #ead3c8;background:#fff;border-radius:14px;padding:12px}.billing-review-section h4{margin:0 0 9px;font-size:13px;color:#7a2c1d;text-transform:uppercase;letter-spacing:.06em}.billing-review-section article{border-top:1px solid #f2e4dc;padding:9px 0}.billing-review-section article:first-of-type{border-top:0}.billing-review-section article strong{display:block;font-size:14px;color:#2f1712;margin-bottom:3px}.billing-review-section article span{display:block;font-size:12px;color:#806c65;line-height:1.35}
@media(max-width:760px){.billing-apply-card{grid-template-columns:1fr}.billing-apply-actions{justify-content:stretch}.billing-apply-actions button{width:100%}}
@media(max-width:560px){.knz-summary-grid{grid-template-columns:1fr}.knz-table{font-size:11px}.knz-table th,.knz-table td{padding:8px}.knz-sync-hero h2{font-size:30px}}
.sidebar nav button,.sidebar nav a{font-size:15px}.qr-card p{font-size:12px}.qr-actions a,.qr-actions button{font-size:12px;padding:10px}.member-identity small,.member-stat span{font-size:12px}.member-stat strong{font-size:17px}.expand-member{font-size:13px;padding:10px 13px}.consent-tag{font-size:11px;padding:7px 10px}.member-actions button{font-size:12px;padding:10px 13px}.member-order{font-size:13px}.admin-product-body small{font-size:11px}.admin-product-body p{font-size:13px}.admin-product-actions button{font-size:12px;padding:13px}.form-grid label>span,.admin-login-card label span,.password-form label span{font-size:13px}.primary-admin-button{font-size:15px}.toast{font-size:14px;padding:13px 20px}.admin-user-card small{font-size:12px}.admin-user-card>span,.admin-user-card button{font-size:11px}.member-loyalty-controls label>span,.member-loyalty-controls button{font-size:12px}
.form-grid select{width:100%;height:43px;border:1px solid var(--line);border-radius:11px;padding:0 11px;background:white;outline:none}
.table-settings-card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;margin:0 0 18px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.table-settings-card label span{display:block;font-size:11px;font-weight:900;margin-bottom:6px}.table-settings-card input{width:100%;height:42px;border:1px solid var(--line);border-radius:11px;padding:0 10px}.table-settings-card p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}
.category-checklist-wrap>span{display:block;font-size:13px;font-weight:800;margin-bottom:8px}.category-checklist{display:flex;flex-wrap:wrap;gap:8px;background:#fffaf4;border:1px solid var(--line);border-radius:14px;padding:12px}.category-checklist label{display:inline-flex!important;align-items:center;gap:7px;margin:0!important;border:1px solid var(--line);background:white;border-radius:99px;padding:8px 11px;font-size:12px;font-weight:800}.category-checklist input{width:auto!important;height:auto!important;accent-color:var(--red)}
.birthday-member{border-color:#f0b84d!important;box-shadow:0 0 0 2px rgba(240,184,77,.18)}.birthday-badge,.birthday-tag{display:inline-flex;align-items:center;border-radius:99px;background:#fff0c2;color:#8a4f14!important;border:1px solid #f0c05d;font-size:10px;font-weight:900;padding:5px 8px;margin-left:6px}.birthday-tag{margin-left:0}
.stats-filter{display:grid;grid-template-columns:1.2fr auto auto auto auto;gap:12px;align-items:end;background:white;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:18px}.stats-filter strong{display:block;font-size:20px}.stats-filter label span{display:block;font-size:11px;font-weight:800;margin-bottom:5px}.stats-filter input{height:42px;border:1px solid var(--line);border-radius:11px;padding:0 10px}.stats-quick{display:flex;gap:6px;flex-wrap:wrap}.stats-quick button{border:1px solid var(--line);background:var(--cream);border-radius:99px;padding:10px 12px;font-size:12px;font-weight:900;color:var(--ink)}
@media(max-width:900px){.stats-filter{grid-template-columns:1fr}.stats-quick{display:grid;grid-template-columns:1fr 1fr}}
.admin-product-image.has-photo{background:linear-gradient(180deg,#fff,#fff9f1)!important}.admin-product-image.has-photo:before{content:'';position:absolute;width:125px;height:125px;border-radius:50%;background:radial-gradient(circle,rgba(244,122,34,.12),rgba(244,122,34,0) 68%);box-shadow:inset 0 0 0 1px rgba(234,223,214,.45)}.admin-product-image img{width:auto!important;height:auto!important;max-width:82%!important;max-height:142px!important;object-fit:contain!important;object-position:center!important;position:relative;z-index:1;border-radius:0;filter:drop-shadow(0 12px 10px rgba(70,24,8,.14))}
.qr-scanner-card{display:grid;gap:14px}.qr-video{width:100%;max-height:52vh;border-radius:18px;background:#140c09;object-fit:cover}.manual-scan-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.manual-scan-form label{margin:0}.scan-result{border:1px solid var(--line);border-radius:16px;background:#fffaf4;padding:16px}.scan-result.empty{color:var(--muted);text-align:center}.scan-result.error{border-color:#f2ccc3;background:#fff0ed;color:var(--red)}.scan-result h3{font:700 26px 'Fraunces',serif;margin:0 0 8px}.scan-result p{font-size:13px;color:var(--muted);margin:0 0 12px}.scan-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.scan-tags span{border-radius:99px;background:white;border:1px solid var(--line);padding:7px 10px;font-size:12px;font-weight:900}.scan-tags .birthday{background:#fff0c2;color:#8a4f14;border-color:#f0c05d}.scan-order{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:9px 0;font-size:13px}.scan-result ul{margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.7}@media(max-width:760px){.manual-scan-form{grid-template-columns:1fr}.qr-actions{display:flex}.qr-actions button{width:auto}}
.scan-accept-button{width:100%;margin-top:14px}.scan-help{font-size:12px!important;line-height:1.45!important;margin-top:10px!important}.scan-result .primary-admin-button:disabled{opacity:.65;cursor:progress}
.scanned-cart-modal{width:min(520px,100%)}.scanned-cart-modal h2{font:800 36px 'Fraunces',serif;margin:6px 44px 8px 0}.scanned-cart-customer{color:var(--muted);font-size:14px;margin:0 0 12px}.scanned-cart-items{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--line)}.scanned-cart-items li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.scanned-cart-items strong{white-space:nowrap}.scanned-cart-deposit span{color:#9b4b2f;font-weight:800}.scanned-cart-drs{display:flex;justify-content:space-between;gap:12px;color:#9b4b2f;font-weight:900;margin:12px 0 0}.scanned-cart-drs strong{white-space:nowrap}.scanned-cart-total{display:flex;justify-content:space-between;align-items:center;margin:18px 0 0;padding:14px 0 0;border-top:2px solid var(--ink);font-size:17px}.scanned-cart-total span{color:var(--muted)}.scanned-cart-discount{color:var(--green);font-weight:800}.scanned-cart-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:18px}.scanned-cart-actions button{border:1px solid var(--line);border-radius:99px;background:var(--cream);color:var(--ink);padding:12px 17px;font-weight:900}.scanned-cart-actions .primary-admin-button{border:0;background:var(--red);color:white}.scanned-cart-actions .primary-admin-button:disabled{opacity:.65;cursor:progress}@media(max-width:560px){.scanned-cart-actions{grid-template-columns:1fr}.scanned-cart-modal h2{font-size:31px}}
.quick-scan-card{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#fff7e6,#fffdf8 55%,#ffe7dd);border:1px solid #efd6c7;border-radius:20px;padding:20px 22px;margin-bottom:20px;box-shadow:0 12px 30px rgba(80,32,17,.06)}.quick-scan-card h2{font:800 31px 'Fraunces',serif;margin:4px 0 6px}.quick-scan-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;max-width:610px}.quick-scan-card .primary-admin-button{white-space:nowrap;box-shadow:0 10px 22px rgba(216,59,31,.18)}@media(max-width:760px){.quick-scan-card{display:grid;padding:18px}.quick-scan-card h2{font-size:27px}.quick-scan-card .primary-admin-button{width:100%;white-space:normal}}
.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.setting-toggle{position:relative;margin:0!important}.setting-toggle input{position:absolute;opacity:0;pointer-events:none}.setting-toggle>span{display:block!important;min-height:128px;border:1px solid var(--line);border-radius:18px;background:#fffaf4;padding:18px 16px 16px 54px;margin:0!important;transition:.18s box-shadow,.18s border,.18s background}.setting-toggle>span:before{content:'';position:absolute;left:17px;top:20px;width:22px;height:22px;border-radius:8px;border:2px solid #d8c9bd;background:white}.setting-toggle>span:after{content:'✓';position:absolute;left:23px;top:20px;color:white;font-weight:900;opacity:0}.setting-toggle strong{display:block;font-size:16px;margin-bottom:7px}.setting-toggle small{display:block;color:var(--muted);font-size:12px;line-height:1.45;font-weight:600}.setting-toggle input:checked+span{border-color:var(--red);background:#fff1ea;box-shadow:0 0 0 3px rgba(216,59,31,.08)}.setting-toggle input:checked+span:before{background:var(--red);border-color:var(--red)}.setting-toggle input:checked+span:after{opacity:1}.setting-toggle.danger input:checked+span{border-color:#d7432f;background:#fff0ed}.settings-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.settings-fields label{margin:0!important}.qr-actions{display:flex;gap:8px;flex-wrap:wrap}.qr-actions button{border:1px solid var(--line);border-radius:99px;background:var(--cream);color:var(--ink);padding:12px 17px;font-weight:900}.qr-actions .primary-admin-button{border:0;color:white;background:var(--red)}@media(max-width:900px){.settings-grid,.settings-fields{grid-template-columns:1fr}.setting-toggle>span{min-height:auto}.qr-actions{display:grid;grid-template-columns:1fr}.qr-actions button{width:100%}}
.product-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.product-head-actions button{border:1px solid var(--line);border-radius:99px;background:var(--cream);color:var(--ink);padding:12px 17px;font-weight:900}.product-head-actions .primary-admin-button{border:0;background:var(--red);color:white}.admin-product-actions .restore{color:var(--green)}.admin-product-actions .delete{color:var(--red)}@media(max-width:760px){.product-head-actions{width:100%;display:grid;grid-template-columns:1fr}.product-head-actions button{width:100%}}
.promotion-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.promotion-admin-card .admin-product-body em{display:block;color:var(--muted);font-style:normal;font-size:12px;margin-top:4px}.promotion-admin-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.promotion-admin-meta span{border:1px solid var(--line);background:#fff8ee;border-radius:99px;padding:5px 8px;color:#7f4a35;font-size:10px;font-weight:900}@media(max-width:1100px){.promotion-admin-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.promotion-admin-grid{grid-template-columns:1fr}}
.promotion-stat-card{border:1px solid var(--line);border-radius:17px;background:#fffaf4;padding:17px;margin-bottom:14px}.promotion-stat-card header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.promotion-stat-card h3{font:800 23px 'Fraunces',serif;margin:5px 0 2px}.promotion-stat-card header small,.promotion-stat-card small{color:var(--muted);font-size:11px}.promotion-stat-card header>strong{background:#e4f4eb;color:var(--green);border-radius:999px;padding:7px 10px;font-size:11px;white-space:nowrap}.promo-label{display:inline-flex;border-radius:999px;background:#fff0e8;color:var(--red);padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:1px}.promotion-stat-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.promotion-stat-metrics div{border:1px solid var(--line);border-radius:13px;background:white;padding:12px}.promotion-stat-metrics span{display:block;color:var(--muted);font-size:10px}.promotion-stat-metrics strong{display:block;font-size:19px;margin:4px 0;line-height:1.2}.promotion-share-bars{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.promotion-share-bars label span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.promotion-share-bars i{display:block;height:9px;border-radius:99px;background:#f0e4da;overflow:hidden}.promotion-share-bars b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--red),var(--orange))}.promotion-stat-card details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.promotion-stat-card summary{cursor:pointer;font-weight:900;font-size:12px}.promotion-stat-card ul{list-style:none;margin:9px 0 0;padding:0}.promotion-stat-card li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #f1e4d9;padding:8px 0;font-size:12px}.promotion-stat-card li span{color:var(--muted)}@media(max-width:980px){.promotion-stat-metrics{grid-template-columns:1fr 1fr}.promotion-share-bars{grid-template-columns:1fr}}@media(max-width:640px){.promotion-stat-card header{display:block}.promotion-stat-card header>strong{display:inline-block;margin-top:10px}.promotion-stat-metrics{grid-template-columns:1fr}.promotion-stat-card li{display:block}}
.promotion-admin-card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;min-height:210px;display:flex;flex-direction:column;gap:8px;box-shadow:0 14px 38px rgba(47,23,18,.06)}.promotion-admin-card.is-hidden{opacity:.65}.promotion-admin-card h3{font:700 24px 'Fraunces',serif;margin:0}.promotion-admin-card p{color:var(--muted);font-size:13px;line-height:1.45;margin:0;flex:1}.promotion-admin-image{width:100%;height:115px;object-fit:cover;border-radius:14px;background:#fff6ed}.promotion-admin-actions{display:flex;gap:8px;margin-top:6px}.promotion-admin-actions button{flex:1;border:1px solid var(--line);background:white;border-radius:99px;padding:10px 12px;font-weight:900;color:var(--ink)}.promotion-admin-actions button:last-child{color:var(--red)}
.product-search{display:block;background:white;border:1px solid var(--line);border-radius:18px;padding:13px 16px;margin:-6px 0 18px}.product-search span{display:block;font-size:11px;font-weight:900;color:var(--red);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.product-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px}.product-search input::placeholder{color:#b19c94}.form-error{border:1px solid #efc5bb;background:#fff1ed;color:var(--red);border-radius:14px;padding:12px 14px;margin:-8px 0 16px;font-size:13px;font-weight:800;line-height:1.35}

.admin-menu-shell{grid-column:1/-1;display:grid;gap:14px}
.admin-menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fffaf4;border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.admin-menu-toolbar strong{display:block;font-size:18px;color:var(--ink)}
.admin-menu-toolbar span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.admin-menu-toolbar em{font-style:normal;color:var(--muted);font-size:13px;white-space:nowrap}
.admin-menu-back{border:1px solid var(--line);border-radius:999px;background:var(--cream);color:var(--ink);font-weight:900;padding:10px 14px;cursor:pointer}
.admin-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.admin-category-card{border:1px solid var(--line);border-radius:18px;background:#fffaf7;color:var(--ink);padding:12px;display:grid;grid-template-columns:58px 1fr;gap:13px;align-items:center;text-align:left;cursor:pointer;min-height:96px;transition:.16s border,.16s box-shadow,.16s transform}
.admin-category-card:hover{border-color:var(--red);box-shadow:0 12px 26px rgba(80,32,17,.08);transform:translateY(-1px)}
.admin-category-card strong{display:block;font-size:17px}
.admin-category-card small{display:block;color:var(--muted);font-size:12px;margin-top:6px}
.admin-category-visual{width:58px;height:58px;border-radius:16px;background:#fff;display:grid;place-items:center;overflow:hidden;font-size:24px}
.admin-category-visual img{width:100%;height:100%;object-fit:cover}
.admin-product-grid--menu{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.admin-product-card--menu{min-height:0}
.admin-product-card--menu .admin-product-image{height:168px;border-radius:18px 18px 0 0}
.admin-product-card--menu .admin-product-image img{width:100%;height:100%;object-fit:cover}
.admin-product-card--menu .admin-product-body p{min-height:42px}
.admin-product-card--menu .admin-product-deposit{display:block;color:#9b4b2f;font-weight:900;margin:4px 0 0}
@media(max-width:1100px){.admin-category-grid,.admin-product-grid--menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.admin-menu-toolbar{align-items:flex-start;flex-direction:column}.admin-category-grid,.admin-product-grid--menu{grid-template-columns:1fr}.admin-category-card{grid-template-columns:64px 1fr}.admin-product-card--menu .admin-product-image{height:150px}}

.admin-product-card--menu{cursor:pointer}
.admin-product-card--menu.selected{border-color:var(--red);box-shadow:0 0 0 3px rgba(216,59,31,.09),0 16px 36px rgba(80,32,17,.08)}
.admin-variant-section{grid-column:1/-1;display:grid;gap:14px;margin-top:4px}
.admin-menu-toolbar--sub{background:white}
.admin-variant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.admin-variant-card{border:1px solid var(--line);border-radius:18px;background:#fffaf7;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;min-height:300px}
.admin-variant-card.inactive{opacity:.64}
.admin-variant-visual{height:126px;display:grid;place-items:center;font-size:34px;overflow:hidden}
.admin-variant-visual img{width:100%;height:100%;object-fit:cover}
.admin-variant-body{padding:14px 14px 4px}
.admin-variant-body small{display:block;color:var(--red);font-weight:900;font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.admin-variant-body h3{font-size:18px;margin:0 0 8px}
.admin-variant-body p{color:var(--muted);font-size:13px;line-height:1.4;margin:0 0 10px;min-height:36px}
.admin-variant-body strong{display:block;color:var(--red);font-size:18px}
@media(max-width:1100px){.admin-variant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.admin-variant-grid{grid-template-columns:1fr}.admin-variant-visual{height:118px}}

.admin-group-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:12px;margin:4px 0 -4px}
.admin-group-heading strong{font-size:18px}
.admin-group-heading span{color:var(--muted);font-size:13px}
@media(max-width:680px){.admin-group-heading{align-items:flex-start;flex-direction:column}}

.admin-product-grid--menu .admin-variant-section{grid-column:1/-1;margin:0 0 6px}
.variant-image-action{display:grid;place-items:center;cursor:pointer;color:var(--ink);font-weight:900}.variant-image-action input{display:none}.admin-variant-card .admin-product-actions{grid-template-columns:repeat(2,minmax(110px,1fr))}
.admin-variant-visual{position:relative}
.variant-image-action--visual{position:absolute;left:12px;right:12px;bottom:10px;z-index:3;min-height:38px;border:0;border-radius:999px;background:rgba(255,250,244,.94);box-shadow:0 8px 20px rgba(80,32,17,.14);display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px}
.variant-image-action--visual b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--red);color:white;font-size:15px;line-height:1}
.variant-image-remove{position:absolute;top:10px;right:10px;z-index:4;border:0;border-radius:999px;background:rgba(48,16,11,.82);color:white;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer}
.admin-variant-visual.has-photo .variant-image-action--visual{background:rgba(255,255,255,.94)}
.admin-order-alert{display:flex;align-items:center;gap:12px;background:#fff0bd;border:1px solid #eeb044;border-radius:16px;padding:14px 16px;margin:-18px 0 24px;box-shadow:0 10px 28px rgba(128,78,10,.1)}.admin-order-alert[hidden]{display:none}.admin-order-alert strong{color:#7b4200}.admin-order-alert span{color:#6d5843;font-size:13px;margin-right:auto}.admin-order-alert button{border:0;border-radius:99px;background:white;color:var(--ink);padding:10px 13px;font-weight:900}.admin-order-alert button:first-of-type{background:var(--red);color:white}.admin-message-alert{background:#eaf6ef;border-color:#b9dfca;box-shadow:0 10px 28px rgba(38,132,92,.1)}.admin-message-alert strong{color:var(--green)}.admin-message-alert button:first-of-type{background:var(--green);color:white}@media(max-width:760px){.admin-order-alert{display:grid}.admin-order-alert button{width:100%}}

.promotion-stat-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.promotion-stat-actions button{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900;color:var(--ink)}.promotion-stat-actions button.delete{color:var(--red);border-color:#f2ccc3}.promotion-stat-card.is-hidden{opacity:.72}.promotion-stat-card.is-archived{background:#f4efe8}.promotion-stat-folder{border:1px dashed var(--line);border-radius:17px;padding:13px;margin-top:14px;background:#fffdf8}.promotion-stat-folder>summary{cursor:pointer;font-weight:900;color:var(--ink);padding:4px 2px 12px}.promotion-stat-folder .promotion-stat-card{margin-top:10px}
.promotion-raffle-stats{margin-top:13px;border:1px solid var(--line);border-radius:14px;background:white;padding:13px}.promotion-raffle-stats h4{margin:0 0 10px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--red)}.promotion-raffle-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.3fr);gap:12px;align-items:center;border-top:1px solid #f1e4d9;padding:10px 0}.promotion-raffle-row:first-of-type{border-top:0;padding-top:0}.promotion-raffle-row:last-child{padding-bottom:0}.promotion-raffle-row strong,.promotion-raffle-row span{display:block}.promotion-raffle-row span{color:var(--muted);font-size:11px;margin-top:3px}.promotion-raffle-row dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.promotion-raffle-row dl div{border:1px solid var(--line);border-radius:11px;background:#fffaf4;padding:9px}.promotion-raffle-row dt{font-size:9px;color:var(--muted);font-weight:900;text-transform:uppercase}.promotion-raffle-row dd{margin:3px 0 0;font-size:19px;font-weight:900;color:var(--ink)}.promotion-raffle-row dl div:last-child dd{color:var(--red)}@media(max-width:760px){.promotion-raffle-row{grid-template-columns:1fr}.promotion-raffle-row dl{grid-template-columns:1fr 1fr 1fr}}
.admin-user-card.stats-admin-card{grid-template-columns:auto 1fr auto auto auto auto}.admin-stats-permissions{grid-column:1/-1;background:#fff8ee;border:1px solid var(--line);border-radius:14px;padding:13px 14px;display:grid;gap:10px}.admin-stats-permissions>strong{font-size:12px}.admin-stats-permissions>div{display:flex;flex-wrap:wrap;gap:8px}.admin-stats-permissions label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;background:white;padding:8px 10px;font-size:11px;font-weight:800}.admin-stats-permissions button{justify-self:start}
.stats-export-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:white;border:1px solid var(--line);border-radius:16px;padding:13px 16px;margin:-4px 0 18px}.stats-export-bar strong{margin-right:auto}.stats-export-bar button{border:1px solid var(--line);background:var(--cream);border-radius:99px;padding:10px 13px;font-size:12px;font-weight:900;color:var(--ink);cursor:pointer}.stats-export-bar button:hover{border-color:var(--red);color:var(--red)}
.guestbook-list{display:grid;gap:12px}.guest-message-card-admin{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(80,32,17,.04)}.guest-message-card-admin header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.guest-message-card-admin h3{margin:0;font-size:18px}.guest-message-meta{color:var(--muted);font-size:12px;margin:4px 0 0}.guest-message-text{white-space:pre-wrap;line-height:1.5;margin:14px 0;color:var(--ink)}.guest-message-actions{display:flex;gap:8px;flex-wrap:wrap}.guest-message-actions button{border:1px solid var(--line);background:var(--cream);border-radius:99px;padding:9px 12px;font-size:12px;font-weight:900;color:var(--ink);cursor:pointer}.guest-message-actions button:hover{border-color:var(--red);color:var(--red)}.guest-status{border-radius:99px;padding:6px 9px;font-size:10px;font-weight:900;background:#eee;white-space:nowrap}.guest-status.new{background:#fff0bd;color:#7b4200}.guest-status.read{background:#eaf6ef;color:var(--green)}.guest-status.done{background:#e9f0ff;color:#1d4d8f}
.guest-message-card-admin.archived{opacity:.78;background:#fffaf4}.guest-status.archived{background:#f1e4d7;color:#6b4738}.guestbook-archive-folder{border:1px dashed var(--line);border-radius:17px;padding:13px;margin-top:14px;background:#fffdf8}.guestbook-archive-folder>summary{cursor:pointer;font-weight:900;color:var(--ink);padding:4px 2px 12px}.guestbook-archive-folder .guest-message-card-admin{margin-top:10px}
.guest-reply-field{display:block;margin:10px 0 12px}.guest-reply-field span{display:block;font-size:11px;font-weight:900;color:var(--red);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.guest-reply-field textarea{width:100%;min-height:92px;border:1px solid var(--line);border-radius:14px;background:#fffaf4;color:var(--ink);padding:12px;resize:vertical;outline:none}.guest-reply-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,122,34,.12)}
.raffle-prize-editor{margin-top:18px;border:1px solid var(--line);border-radius:18px;background:#fffaf4;padding:14px}.product-admin-head.compact{margin:0 0 12px;padding:0;border:0;background:transparent}.form-grid label small{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-top:6px}.raffle-prize-row{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(240px,1.4fr);gap:12px;border-top:1px solid var(--line);padding:14px 0}.raffle-prize-row:first-child{border-top:0}.raffle-prize-row label{margin:0!important}.raffle-prize-row label>span{display:block;font-size:10px;font-weight:900;margin-bottom:5px;color:var(--muted);text-transform:uppercase}.raffle-prize-row input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:white}.raffle-prize-row label small{display:block;color:var(--muted);font-size:10px;line-height:1.25;margin-top:5px}.prize-numbers{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.prize-row-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.prize-row-actions .check-field{min-width:150px}.danger-inline{border:1px solid #f2ccc3;background:white;color:var(--red);border-radius:99px;padding:10px 12px;font-weight:900;cursor:pointer}.raffle-prize-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.raffle-prize-list li{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fffaf4;padding:7px 9px;font-size:12px;font-weight:900}.raffle-prize-list small{color:var(--muted);font-weight:700}@media(max-width:760px){.raffle-prize-row{grid-template-columns:1fr}.prize-numbers{grid-template-columns:1fr}.prize-row-actions{display:grid;grid-template-columns:1fr}.danger-inline{width:100%}}
.raffle-winners-list{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.raffle-winners-list summary{cursor:pointer;font-weight:900;font-size:12px}.raffle-winners-list ul{list-style:none;margin:9px 0 0;padding:0;display:grid;gap:7px}.raffle-winners-list li{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;background:white;padding:9px;font-size:11px}.raffle-winners-list li strong,.raffle-winners-list li small{display:block}.raffle-winners-list li small{color:var(--muted);margin-top:3px}.raffle-winners-list li span{font-weight:900;color:var(--red);text-align:right}.member-wins-list{border-top:1px solid var(--line);padding:13px 0;margin-top:8px}.member-wins-list>strong{display:block;font-size:13px;margin-bottom:8px}.member-wins-list>p{color:var(--muted);font-size:12px;margin:0}.member-wins-list>div{border:1px solid var(--line);border-radius:12px;background:white;padding:10px;margin:7px 0}.member-wins-list span,.member-wins-list small{display:block;color:var(--muted);font-size:11px}.member-wins-list b{display:block;font-size:13px;margin:3px 0;color:var(--red)}
.raffle-winner-dashboard{grid-column:1/-1;border:1px solid var(--line);border-radius:18px;background:#fffaf4;padding:16px;display:grid;gap:12px}.raffle-winner-dashboard>div:first-child strong{font:700 24px 'Fraunces',serif}.raffle-winner-dashboard>div:first-child p{margin:4px 0 0;color:var(--muted)}.raffle-winner-table{display:grid;gap:8px}.raffle-winner-row{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;background:white;padding:10px}.raffle-winner-row strong,.raffle-winner-row b,.raffle-winner-row small{display:block}.raffle-winner-row small{color:var(--muted);font-size:11px;margin-top:3px}.raffle-winner-row>span{border-radius:99px;background:#fff0c2;color:#8a4f14;padding:7px 10px;font-size:11px;font-weight:900}.raffle-winner-row.claimed>span{background:#e4f6ea;color:#2f8d55}@media(max-width:760px){.raffle-winner-row{grid-template-columns:1fr}.raffle-winner-row>span{width:max-content}}
.raffle-winner-dashboard-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.raffle-winner-folder{border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden}.raffle-winner-folder summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:900}.raffle-winner-folder summary b{background:#fff3e8;color:var(--red);border-radius:999px;min-width:30px;text-align:center;padding:4px 8px}.raffle-winner-folder .raffle-winner-table{padding:0 12px 12px}.raffle-winner-row{grid-template-columns:1.3fr 1fr auto auto}.raffle-winner-row.archived{opacity:.72}.raffle-winner-actions{display:flex;justify-content:flex-end}.raffle-winner-actions button{border:1px solid var(--line);border-radius:999px;background:#fffaf4;color:var(--red);font-weight:900;padding:7px 10px;cursor:pointer}@media(max-width:760px){.raffle-winner-row{grid-template-columns:1fr}.raffle-winner-actions{justify-content:flex-start}}
.scan-tags .claimed{background:#eaf7ef;color:#17623a;border-color:#bfe3cc}
.admin-header{gap:16px}.admin-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.admin-header button{cursor:pointer}.admin-header #headerQrScan{background:var(--ink);box-shadow:0 10px 24px rgba(47,23,18,.16)}@media(max-width:760px){.admin-header{display:grid;grid-template-columns:1fr;gap:14px}.admin-header-actions{justify-content:flex-start}.admin-header-actions button{width:auto}}

/* Pultos beosztas modul */
.roster-subtabs{display:flex;gap:8px;margin:18px 0 20px;flex-wrap:wrap}
.roster-subtab{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 16px;font-weight:800;color:var(--muted);cursor:pointer}
.roster-subtab.active{background:var(--ink);border-color:var(--ink);color:white}
.roster-subpanel{display:none}
.roster-subpanel.active{display:block}
.roster-form{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.roster-form[hidden]{display:none}
.roster-form label{display:block;font-size:12px;font-weight:800;color:var(--muted)}
.roster-form label span{display:block;margin-bottom:6px}
.roster-form input,.roster-form select{width:100%;height:42px;border:1px solid var(--line);border-radius:11px;padding:0 12px;font-weight:600;color:var(--ink)}
.roster-checkbox{display:flex!important;align-items:center;gap:8px;grid-column:auto}
.roster-checkbox input{width:auto!important;height:auto!important}
.roster-form-actions{grid-column:1/-1;display:flex;gap:10px}
.info-tip{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--line);color:var(--muted);font-style:normal;font-size:11px;font-weight:800;cursor:help;vertical-align:middle}
.info-tip:hover,.info-tip:focus{background:var(--red);color:white;outline:none}
.roster-form-actions button{border:0;border-radius:999px;padding:12px 18px;font-weight:800;cursor:pointer}
.roster-form-actions button[type="submit"]{background:var(--red);color:white}
.roster-form-actions button[type="button"]{background:var(--cream);color:var(--ink)}
.roster-rank-tag{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:900;color:white;background:var(--group-color,#888)}
.roster-group-toggle{border:0;background:transparent;font-size:11px;font-weight:700;cursor:pointer;color:var(--muted);text-decoration:underline;padding:0}
.ai-overview-key{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:18px;display:grid;gap:10px}
.ai-overview-key p{margin:0;font-size:13px}
.ai-overview-key #aiOverviewKeyForm{display:flex;gap:10px}
.ai-overview-key #aiOverviewKeyInput{flex:1;height:42px;border:1px solid var(--line);border-radius:11px;padding:0 12px}
.ai-overview-key small{color:var(--muted)}
.ai-overview-ask{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:18px;display:grid;gap:12px}
.ai-overview-ask textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-family:inherit;font-size:13px;resize:vertical}
.ai-overview-answer{background:#fff8ee;border:1px solid var(--line);border-radius:18px;padding:20px;white-space:pre-wrap;line-height:1.6;font-size:14px;min-height:40px}
.ai-overview-answer.loading{color:var(--muted);font-style:italic}
.ai-overview-answer.error{background:#fff0ed;color:#b0301c;border-color:#f2ccc3}
.roster-group-members{grid-column:1/-1;display:grid;gap:10px;background:#faf6ef;border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:6px}
.roster-group-members .admin-user-card{background:white}
.roster-calendar-actions{display:flex;gap:10px}
.roster-calendar-actions .primary-admin-button{background:var(--cream);color:var(--ink);border:1px solid var(--line)}
.roster-calendar-actions #autoAssignRosterButton{background:var(--red);color:white;border:0}
.roster-auto-assign-toggle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin:0 0 8px;cursor:pointer}
.roster-auto-assign-status{font-size:12px;color:var(--muted);margin:0 0 14px}
.roster-incompat{margin-top:8px;font-size:12px}
.roster-incompat summary{cursor:pointer;color:var(--muted);font-weight:700;list-style:none}
.roster-incompat summary::-webkit-details-marker{display:none}
.roster-incompat summary::before{content:'▸ ';display:inline-block}
.roster-incompat[open] summary::before{content:'▾ '}
.roster-incompat-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;max-width:320px}
.roster-incompat-item{display:flex;align-items:center;gap:5px;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer}
.roster-availability-grid{display:flex;flex-direction:column;gap:4px;margin-top:8px;max-width:320px}
.roster-availability-day{display:flex;align-items:center;gap:10px;font-size:11px}
.roster-availability-day>span{width:70px;font-weight:700;color:var(--muted)}
.roster-availability-check{display:flex;align-items:center;gap:4px;background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:3px 9px;font-weight:600;cursor:pointer}
.roster-auto-assign-result{background:white;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:16px;display:grid;gap:10px}
.roster-auto-assign-result h4{margin:0;font-size:14px}
.roster-smtp-card{background:white;border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin-bottom:16px}
.roster-smtp-card summary{cursor:pointer;font-weight:800;list-style:none}
.roster-smtp-card summary::-webkit-details-marker{display:none}
.roster-smtp-card form{display:grid;gap:10px;margin-top:14px;max-width:420px}
.roster-bulletin-expiry{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);font-weight:700}
.roster-bulletin-expiry label{display:flex;align-items:center;gap:4px;cursor:pointer}
.roster-bulletin-item{border-top:1px solid var(--line);padding:10px 0;font-size:13px}
.roster-bulletin-item header{display:flex;align-items:center;gap:8px;font-weight:800;margin-bottom:4px}
.roster-bulletin-item header small{margin-left:auto;color:var(--muted);font-weight:600}
.roster-bulletin-item p{margin:0;white-space:pre-wrap}
.roster-bulletin-owner{background:#fff0e0;color:#9a4c13;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:800}
.roster-bulletin-delete{margin-top:6px;border:0;background:none;color:#b0301c;font-size:11px;font-weight:700;cursor:pointer;padding:0}
.roster-auto-assign-proposed,.roster-auto-assign-unresolved{display:grid;gap:5px;font-size:12px;max-height:200px;overflow-y:auto}
.roster-auto-assign-proposed span,.roster-auto-assign-unresolved span{display:block;padding:6px 9px;border-radius:8px;background:var(--cream)}
.roster-auto-assign-unresolved span{background:#fff0ed;color:#b0301c}
.roster-leave-request-card{background:white;border:1px solid var(--line);border-radius:16px;padding:15px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:10px}
.roster-leave-request-card small{display:block;color:var(--muted);margin-top:3px}
.roster-leave-request-card button{border:1px solid var(--line);background:white;border-radius:9px;padding:8px 12px;font-size:11px;font-weight:800}
.roster-leave-request-card button.approve{background:var(--green);color:white;border:0}
.roster-leave-request-card button.reject{color:var(--red);border-color:#f2ccc3}
.roster-leave-status-tag{border-radius:99px;padding:4px 9px;font-size:10px;font-weight:800}
.roster-leave-status-tag.pending{background:#fff4e0;color:#8a4f14}
.roster-leave-status-tag.approved{background:#e4f4eb;color:var(--green)}
.roster-leave-status-tag.rejected{background:#fee7e1;color:var(--red)}
.roster-slot-row{display:grid;grid-template-columns:100px 90px 1fr 110px 50px auto auto;gap:12px;align-items:center;background:white;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:8px;font-size:12px}
.roster-slot-row button{border:1px solid var(--line);background:var(--cream);border-radius:8px;padding:6px 10px;font-weight:800;cursor:pointer}
.roster-slot-row button.delete{background:#fff0ed;color:#b0301c}
@media(max-width:900px){.roster-slot-row{grid-template-columns:1fr 1fr}}
#rosterCalendarGrid{display:grid;gap:12px}
.roster-day{border:1px solid var(--line);border-radius:16px;background:white;padding:14px}
.roster-day.locked{background:#faf4ec;border-color:#ecdcc4}
.roster-day header{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px}
.roster-day header strong{font-size:15px}
.roster-day header span{color:var(--muted)}
.roster-day header em{margin-left:auto;font-style:normal;color:#a05a1a;font-size:11px;font-weight:800}
.roster-day-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.roster-slot{border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:6px;background:#fffaf4;position:relative;border-left:4px solid var(--group-color,var(--line))}
.roster-slot-time{font-weight:900;font-size:13px}
.roster-slot-rank{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:800}
.roster-slot-name{font-weight:800;color:var(--ink);background:#eaf6ef;border-radius:8px;padding:5px 8px;display:inline-block}
.roster-slot select{width:100%;height:36px;border:1px solid var(--line);border-radius:9px;padding:0 8px;font-size:11px}
.roster-unassign{position:absolute;right:8px;top:8px;border:0;background:#fff0ed;color:#b0301c;width:22px;height:22px;border-radius:50%;font-weight:900;cursor:pointer;line-height:1}
.roster-auto-badge{font-size:11px;opacity:.7;margin-left:4px}
.roster-holiday-tag{margin-left:8px;font-style:normal;font-size:11px;font-weight:800;color:#a05a1a}
.roster-qualification-bubbles{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.roster-qualification-bubble{display:inline-block;background:#fff4e0;color:#8a4f14;border:1px solid #f0d9ad;border-radius:999px;padding:2px 7px;font-size:9px;font-weight:800}
.roster-member-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
.roster-no-qualification{color:var(--muted);font-size:10px}
