:root{--bg: #1a1410;--bg-elevated: #241c16;--bg-soft: #2e241c;--surface: #f4ebe0;--surface-2: #ebe0d2;--ink: #1c1410;--ink-muted: #6b5748;--accent: #c45c26;--accent-hover: #a84b1c;--line: rgba(28, 20, 16, .12);--danger: #b42318;--radius: 16px;--shadow: 0 24px 60px rgba(0, 0, 0, .35);--font-display: "Fraunces", Georgia, serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--surface);background:radial-gradient(1200px 600px at 10% -10%,rgba(196,92,38,.22),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(244,235,224,.08),transparent 50%),var(--bg)}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(244,235,224,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20;background:#1a1410b8}.brand{font-family:var(--font-display);font-size:1.45rem;letter-spacing:.02em}.brand span{color:var(--accent)}.topbar-actions{display:flex;align-items:center;gap:.75rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:.65rem 1.1rem;cursor:pointer;transition:transform .15s ease,background .15s ease,opacity .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff8f2}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--surface);border:1px solid rgba(244,235,224,.18)}.btn-ghost:not(:disabled):hover{background:#f4ebe00f}.page{width:100%;margin:0 auto;padding:2.5rem 1.25rem 4rem;box-sizing:border-box}.hero{display:grid;gap:1rem;max-width:36rem;padding:2rem 0 1rem}.hero h1{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05;font-weight:550}.hero p{margin:0;color:#f4ebe0b8;font-size:1.05rem;line-height:1.55}.user-chip{display:flex;align-items:center;gap:.65rem;padding:.35rem .35rem .35rem .85rem;border-radius:999px;background:#f4ebe014;border:1px solid rgba(244,235,224,.12)}.user-chip strong{font-size:.92rem;font-weight:600}.avatar{width:2rem;height:2rem;border-radius:50%;object-fit:cover;background:var(--bg-soft);display:grid;place-items:center;font-size:.8rem;font-weight:700;color:var(--surface)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a07059e;display:grid;place-items:center;padding:1rem;z-index:50;animation:fade-in .18s ease}.modal-card{width:min(420px,100%);background:var(--surface);color:var(--ink);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:1.5rem;animation:rise-in .22s ease}.modal-card h2{margin:0;font-family:var(--font-display);font-size:1.7rem;font-weight:550}.modal-card .subtitle{margin:.35rem 0 1.25rem;color:var(--ink-muted)}.form-stack{display:grid;gap:.85rem}.field label{display:block;margin-bottom:.35rem;font-size:.88rem;font-weight:600;color:var(--ink-muted)}.field input{width:100%;border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;background:#fff;color:var(--ink);outline:none}.field input:focus{border-color:#c45c268c;box-shadow:0 0 0 3px #c45c2626}.form-error{background:#b4231814;color:var(--danger);border-radius:10px;padding:.7rem .85rem;font-size:.9rem}.divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;color:var(--ink-muted);font-size:.85rem}.divider:before,.divider:after{content:"";height:1px;background:var(--line)}.btn-block{width:100%}.btn-google{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.7rem 1rem;cursor:pointer}.btn-google:hover:not(:disabled){background:var(--surface-2)}.modal-close{float:right;border:none;background:transparent;color:var(--ink-muted);font-size:1.4rem;line-height:1;cursor:pointer;padding:.1rem .35rem}.admin-header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-header h1{margin:0;font-family:var(--font-display);font-size:2.2rem}.admin-header p{margin:.35rem 0 0;color:#f4ebe0b3}.panel{background:#f4ebe00f;border:1px solid rgba(244,235,224,.1);border-radius:var(--radius);overflow:hidden}.panel-title{padding:1rem 1.15rem;border-bottom:1px solid rgba(244,235,224,.08);font-weight:650}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.85rem 1.15rem;border-bottom:1px solid rgba(244,235,224,.06);font-size:.95rem}.table th{color:#f4ebe08c;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700;background:#c45c262e;color:#ffd7bf}.empty-state,.locked-state{padding:2.5rem 1.25rem;text-align:center;color:#f4ebe0b3}.perm-grid{display:grid;gap:.75rem;padding:1rem 1.15rem 1.25rem}.perm-group{background:#0000002e;border-radius:12px;padding:.85rem 1rem}.perm-group h3{margin:0 0 .55rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#f4ebe08c}.perm-keys{display:flex;flex-wrap:wrap;gap:.4rem}.perm-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;padding:.25rem .5rem;border-radius:8px;background:#f4ebe014}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-layout{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.admin-sidebar{position:sticky;top:0;align-self:start;height:100vh;padding:1.25rem .85rem;border-right:1px solid rgba(244,235,224,.08);background:linear-gradient(180deg,rgba(196,92,38,.12),transparent 40%),#140f0ceb;display:flex;flex-direction:column;gap:1.25rem}.admin-sidebar .brand{padding:.35rem .75rem;font-size:1.3rem}.admin-nav{display:flex;flex-direction:column;gap:.25rem;flex:1;min-height:0;overflow-y:auto}.admin-nav a{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem;border-radius:12px;color:#f4ebe0b8;font-weight:550;transition:background .15s ease,color .15s ease}.admin-nav a:hover{background:#f4ebe00f;color:var(--surface)}.admin-nav a.active{background:#c45c2638;color:#ffd7bf}.admin-sidebar-footer{margin-top:auto;padding-top:.85rem;border-top:1px solid rgba(244,235,224,.08);display:grid;gap:.65rem}.sidebar-user{width:100%;box-sizing:border-box;padding:.55rem .65rem}.sidebar-user-meta{min-width:0;flex:1}.sidebar-user-meta strong{display:block;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-meta span{display:block;font-size:.75rem;color:#f4ebe080;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.admin-content{width:100%;margin:0;padding:1.75rem 1.5rem 3rem;box-sizing:border-box;flex:1}.thumb{width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;border-radius:10px;object-fit:cover;object-position:center;background:#f4ebe014;display:block;flex-shrink:0}.thumb-placeholder{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:10px;background:#f4ebe014;display:grid;place-items:center;font-size:.7rem;color:#f4ebe073;flex-shrink:0}.gallery-grid{display:flex;flex-wrap:wrap;gap:.55rem}.gallery-item{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.gallery-item .remove{position:absolute;top:2px;right:2px;width:1.35rem;height:1.35rem;border:none;border-radius:999px;background:#0000008c;color:#fff;cursor:pointer;line-height:1;font-size:.85rem;padding:0}.image-upload-preview{width:96px!important;height:96px!important;min-width:96px;min-height:96px;object-fit:cover!important;object-position:center}.price-stack{display:grid;gap:.15rem}.price-stack .old{font-size:.8rem;color:#f4ebe073;text-decoration:line-through}.menu-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.menu-card{border-radius:var(--radius);overflow:hidden;background:#f4ebe00f;border:1px solid rgba(244,235,224,.1)}.menu-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;background:#0003}.menu-card .body{padding:.9rem 1rem 1.1rem;display:grid;gap:.35rem}.menu-card .body h3{margin:0;font-size:1.05rem}.menu-card .tagline{margin:0;color:#f4ebe099;font-size:.88rem}.badge-row{display:flex;flex-wrap:wrap;gap:.35rem}.modal-card.xl{width:min(860px,100%);max-height:min(92vh,900px);overflow:auto}.image-upload{display:grid;gap:.65rem}.image-upload-preview{width:8rem;height:8rem;border-radius:14px;object-fit:cover;background:var(--surface-2);border:1px solid var(--line)}.option-group-block{border:1px solid rgba(244,235,224,.1);border-radius:12px;padding:.85rem;background:#00000024;display:grid;gap:.65rem}.option-value-row{display:grid;grid-template-columns:1.4fr .8fr auto auto;gap:.5rem;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1.5rem}.stat-card{padding:1.1rem 1.2rem;border-radius:var(--radius);background:#f4ebe00f;border:1px solid rgba(244,235,224,.1)}.stat-card .label{margin:0;color:#f4ebe08c;font-size:.85rem}.stat-card .value{margin:.35rem 0 0;font-family:var(--font-display);font-size:1.9rem}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}.toolbar .field{min-width:10rem;flex:1}.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;background:#fff;color:var(--ink);outline:none;font:inherit}.inline-form{display:grid;gap:.85rem;padding:1rem 1.15rem 1.25rem}.inline-form.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700;background:#f4ebe01a;color:#f4ebe0d9}.status-pill.pending_payment{background:#c45c262e;color:#f0c2a4}.status-pill.open,.status-pill.available{background:#2ea0432e;color:#b6f0c0}.status-pill.preparing,.status-pill.reserved{background:#d2992233;color:#ffe2a0}.status-pill.ready,.status-pill.occupied{background:#c45c2638;color:#ffd7bf}.status-pill.paid,.status-pill.served{background:#588cc833;color:#c6dcff}.status-pill.cancelled,.status-pill.cleaning{background:#b423182e;color:#ffb4ae}.stack-gap{display:grid;gap:1.25rem}.rbac-layout{display:grid;grid-template-columns:280px 1fr;gap:1rem;min-height:28rem;align-items:stretch}.rbac-sidebar,.rbac-detail{background:#f4ebe00f;border:1px solid rgba(244,235,224,.1);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-height:0}.rbac-sidebar-head,.rbac-detail-head{padding:.9rem 1rem;border-bottom:1px solid rgba(244,235,224,.08);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.rbac-role-list{list-style:none;margin:0;padding:.4rem;overflow-y:auto;flex:1}.rbac-role-item{width:100%;text-align:left;border:none;background:transparent;color:inherit;border-radius:12px;padding:.75rem .85rem;cursor:pointer;display:grid;gap:.2rem}.rbac-role-item:hover{background:#f4ebe00f}.rbac-role-item.active{background:#c45c2638;color:#ffd7bf}.rbac-role-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.78rem;color:#f4ebe08c}.rbac-tabs{display:flex;border-bottom:1px solid rgba(244,235,224,.08)}.rbac-tabs button{flex:1;border:none;background:transparent;color:#f4ebe08c;padding:.85rem 1rem;cursor:pointer;font-weight:600;border-bottom:2px solid transparent}.rbac-tabs button.active{color:#ffd7bf;border-bottom-color:var(--accent)}.rbac-panel-body{padding:1rem;overflow-y:auto;flex:1;display:grid;gap:.85rem}.member-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:12px;background:#00000029}.member-row .meta{flex:1;min-width:0}.member-row .meta strong{display:block}.member-row .meta span{display:block;font-size:.85rem;color:#f4ebe08c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-check-grid{display:grid;gap:1rem}.perm-check-group h3{margin:0 0 .55rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#f4ebe08c}.perm-check-items{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.perm-check{display:flex;gap:.65rem;align-items:flex-start;padding:.7rem .8rem;border-radius:12px;border:1px solid rgba(244,235,224,.1);background:#00000024;cursor:pointer}.perm-check.checked{border-color:#c45c2673;background:#c45c2624}.perm-check input{margin-top:.2rem}.perm-check .key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;font-weight:650}.perm-check .desc{display:block;margin-top:.2rem;font-size:.8rem;color:#f4ebe08c}.user-pick-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto;border:1px solid rgba(28,20,16,.12);border-radius:12px}.user-pick-list li{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem;border-bottom:1px solid rgba(28,20,16,.08);cursor:pointer;color:var(--ink)}.user-pick-list li:last-child{border-bottom:none}.user-pick-list li.disabled{opacity:.55;cursor:not-allowed}.user-pick-list li.selected{background:#c45c261a}.user-pick-list .meta{flex:1;min-width:0}.user-pick-list .meta strong,.user-pick-list .meta span{display:block}.user-pick-list .meta span{font-size:.85rem;color:var(--ink-muted)}.user-pick-list .avatar{background:var(--surface-2);color:var(--ink)}.modal-card.wide{width:min(640px,100%);max-height:min(90vh,800px);overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static;border-right:none;border-bottom:1px solid rgba(244,235,224,.08)}.admin-nav{flex-direction:row;flex-wrap:wrap}.stats-grid,.inline-form.two-col,.rbac-layout,.perm-check-items{grid-template-columns:1fr}}@media(max-width:640px){.topbar{padding:.85rem 1rem}.user-chip strong{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.menu-page{padding-top:1.5rem}.menu-cat-nav{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0 1.25rem;position:sticky;top:4.25rem;z-index:15;background:linear-gradient(to bottom,#1a1410f5,#1a1410e0);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-cat-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(244,235,224,.16);background:#f4ebe00d;color:var(--surface);border-radius:999px;padding:.55rem .95rem;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease}.menu-cat-chip.active,.menu-cat-chip:hover{background:#c45c2638;border-color:#c45c268c}.menu-category-section{scroll-margin-top:8rem}.menu-card-placeholder,.add-cart-placeholder,.cart-line-thumb{aspect-ratio:4 / 3;display:grid;place-items:center;color:#f4ebe066;background:#0003}.menu-add-btn{margin-top:.35rem;width:100%}.cart-btn{position:relative}.cart-count{margin-left:.4rem;display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:var(--accent);color:#fff8f2;font-size:.75rem;font-weight:700}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a07058c;z-index:40;animation:fade-in .18s ease}.cart-drawer{position:fixed;top:0;right:0;width:min(420px,100%);height:100vh;z-index:45;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);display:flex;flex-direction:column;animation:rise-in .22s ease}.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border-bottom:1px solid var(--line)}.cart-drawer-header h2{margin:0;font-family:var(--font-display)}.cart-drawer-body{flex:1;overflow:auto;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.25rem}.cart-line-list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.cart-line{display:grid;grid-template-columns:72px 1fr;gap:.75rem}.cart-line img,.cart-line-thumb{width:72px;height:72px;aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--surface-2)}.cart-line-main{display:grid;gap:.2rem}.cart-line-main p{margin:0;font-size:.85rem;color:var(--ink-muted)}.cart-line-meta{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:.25rem}.cart-checkout-fields{display:grid;gap:.75rem}.cart-drawer-footer{margin-top:auto;display:grid;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--line)}.cart-total{display:flex;justify-content:space-between;align-items:baseline}.qty-row{display:inline-flex;align-items:center;gap:.65rem}.qty-row.compact button{width:1.75rem;height:1.75rem;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer}.btn.dark,.btn-ghost.dark{color:var(--ink);border-color:var(--line)}.linkish{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;font-size:.85rem}.add-cart-layout{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:1.25rem}.add-cart-media img,.add-cart-placeholder{width:100%;border-radius:14px;object-fit:cover;aspect-ratio:1}.option-group-block.light{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.option-group-block legend{padding:0 .35rem;font-weight:700}.option-pick-list{display:grid;gap:.45rem}.option-pick{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:center;padding:.45rem .55rem;border-radius:10px;background:#ffffffa6;cursor:pointer}.option-pick em{font-style:normal;color:var(--ink-muted);font-size:.85rem}.payment-layout{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:1.25rem;margin:1rem 0}.payment-qr{background:#fff;border-radius:14px;padding:.75rem;display:grid;place-items:center}.payment-qr img{width:100%;max-width:220px;display:block}.payment-meta{display:grid;gap:.65rem;align-content:start}.payment-meta p{margin:0;display:grid;gap:.15rem}.payment-meta span{color:var(--ink-muted);font-size:.85rem}.transfer-content-box{display:grid;gap:.45rem;padding:.75rem;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.transfer-content-box code{word-break:break-all;font-weight:700}.payment-status{padding:.7rem .9rem;border-radius:10px;background:#c45c261f;color:var(--accent-hover);font-weight:600}.payment-status.ok{background:#2e7d321f;color:#1b5e20}.order-list{display:grid;gap:1rem}.order-card-head,.order-card-foot{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.order-item-list{list-style:none;margin:.85rem 0;padding:0;display:grid;gap:.4rem}.order-item-list li{display:flex;justify-content:space-between;gap:.75rem;font-size:.95rem}@media(max-width:720px){.add-cart-layout,.payment-layout{grid-template-columns:1fr}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}}.wallet-balance-card{display:grid;gap:.35rem;margin-bottom:1.5rem;padding:1.35rem 1.4rem}.wallet-balance-card span{opacity:.7;font-size:.92rem}.wallet-balance-card strong{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:550}.wallet-tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.wallet-tier-card{display:grid;gap:.35rem;align-content:start}.wallet-tier-deposit{margin:.35rem 0 0;font-size:1.35rem;font-weight:700}.wallet-tier-bonus{margin:0;color:#7dcea0;font-weight:600}.wallet-tier-bonus.muted{color:#f4ebe073;font-weight:500}.wallet-tier-credit{margin:0 0 .65rem;opacity:.75;font-size:.9rem}.status-pill.pending{background:#c45c262e;color:#f0c2a4}.status-pill.completed{background:#2e7d322e;color:#a5d6a7}.topbar-nav{display:flex;align-items:center;gap:.35rem 1rem;flex:1;margin:0 1rem}.topbar-nav a{opacity:.78;font-size:.95rem}.topbar-nav a.active,.topbar-nav a:hover{opacity:1;color:#f0c2a4}.site-footer{margin-top:auto;border-top:1px solid rgba(244,235,224,.08);padding:2.5rem 1.25rem 1.5rem;background:#0000002e}.site-footer-inner{width:min(1100px,100%);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.site-footer p{margin:.65rem 0 0;opacity:.65;max-width:28rem;line-height:1.5}.site-footer h3{margin:0 0 .75rem;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;opacity:.55}.site-footer-inner>div{display:grid;gap:1rem;align-content:start}.site-footer a{opacity:.8}.site-footer a:hover{opacity:1}.site-footer-copy{width:min(1100px,100%);margin:2rem auto 0;padding-top:1rem;border-top:1px solid rgba(244,235,224,.06);opacity:.45;font-size:.85rem}.home-page{display:grid}.home-hero{min-height:min(78vh,720px);display:grid;align-items:end;padding:4rem 1.25rem 3.5rem;background:linear-gradient(180deg,#1a141026,#1a1410e0),radial-gradient(900px 500px at 80% 10%,rgba(196,92,38,.35),transparent 60%),radial-gradient(700px 400px at 10% 80%,rgba(244,235,224,.08),transparent 55%),var(--bg)}.home-hero-copy{width:min(40rem,100%);display:grid;gap:1rem}.home-kicker{margin:0;font-family:var(--font-display);font-size:1.25rem;color:#f0c2a4}.home-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4rem);line-height:1.05;font-weight:550}.home-hero-copy>p{margin:0;color:#f4ebe0b8;font-size:1.08rem;line-height:1.55;max-width:34rem}.home-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.home-section{padding-top:3rem;padding-bottom:1rem}.home-section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem}.home-section-head h2,.home-cta h2{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.1rem)}.home-section-head p{margin:.35rem 0 0;opacity:.65}.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.home-feature-grid article{padding:1.25rem;border-radius:var(--radius);background:#f4ebe00d;border:1px solid rgba(244,235,224,.1)}.home-feature-grid h3{margin:0 0 .45rem;font-size:1.1rem}.home-feature-grid p{margin:0;opacity:.68;line-height:1.5}.home-cta{text-align:center;padding:3.5rem 1.25rem 4.5rem;display:grid;gap:.75rem;justify-items:center}.home-cta p{margin:0;opacity:.68}.content-page{max-width:760px}.content-hero{margin-bottom:1.25rem}.content-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem)}.content-hero p,.content-hero time{margin:.65rem 0 0;opacity:.7;line-height:1.5}.content-body{color:var(--ink);line-height:1.65}.content-body h2{margin:1.5rem 0 .55rem;font-family:var(--font-display);font-size:1.35rem}.content-body p,.content-body ul{margin:.55rem 0}.content-body a{color:var(--accent)}.content-back{display:inline-block;margin-bottom:1rem;opacity:.75}.news-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.news-card{border-radius:var(--radius);overflow:hidden;background:#f4ebe00f;border:1px solid rgba(244,235,224,.1);display:grid;transition:transform .15s ease,border-color .15s ease}.news-card:hover{transform:translateY(-2px);border-color:#c45c2673}.news-card img,.news-card-placeholder{width:100%;aspect-ratio:16 / 10;object-fit:cover;background:#0003;overflow:hidden}.news-card-placeholder{display:grid;place-items:center;color:#f4ebe066}.news-card .body{padding:.9rem 1rem 1.1rem;display:grid;gap:.35rem}.news-card h3{margin:0;font-size:1.05rem}.news-card p,.news-card time{margin:0;opacity:.65;font-size:.9rem}.news-detail-cover{width:100%;max-height:360px;object-fit:cover;border-radius:var(--radius);margin-bottom:1rem}.news-detail-body p:first-child{margin-top:0}@media(max-width:900px){.site-footer-inner,.home-feature-grid{grid-template-columns:1fr}.topbar-nav{display:none}}body:has(.admin-layout){background:#f7f7f5;color:#1c1c1a}.admin-layout{--bg: #ffffff;--bg-elevated: #ffffff;--bg-soft: #f7f7f5;--surface: #ffffff;--surface-2: #fcfcfb;--ink: #1c1c1a;--ink-muted: #696964;--ink-tertiary: #90908a;--accent: #2e7d5b;--accent-hover: #23684a;--accent-light: #e6f5ec;--accent-50: #f2faf5;--line: #eeeeeb;--divider: #f3f3f1;--danger: #d84a4a;--radius: 22px;--radius-btn: 8px;--radius-sm: 8px;--shadow: 0 4px 12px rgba(0, 0, 0, .04);--shadow-md: 0 6px 20px rgba(0, 0, 0, .05);--font-display: Inter, "SF Pro Display", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: Inter, "SF Pro Display", -apple-system, BlinkMacSystemFont, sans-serif;min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:var(--bg-soft);color:var(--ink);font-family:var(--font-body)}.admin-layout,.admin-layout *{font-family:inherit}.admin-sidebar{position:sticky;top:0;align-self:start;height:100vh;padding:1.5rem 1rem;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:1.5rem}.admin-sidebar .brand{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .65rem;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--ink);letter-spacing:-.01em}.admin-sidebar .brand .brand-mark{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:8px;background:var(--accent-light);color:var(--accent);flex-shrink:0}.admin-sidebar .brand span{color:var(--accent)}.admin-nav{display:flex;flex-direction:column;gap:.2rem;flex:1;min-height:0;overflow-y:auto}.admin-nav a{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border-radius:var(--radius-sm);color:var(--ink-muted);font-weight:500;font-size:.95rem;transition:background .15s ease,color .15s ease}.admin-nav a svg{width:1.25rem;height:1.25rem;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.admin-nav a:hover{background:var(--bg-soft);color:var(--ink)}.admin-nav a.active{background:var(--accent-light);color:var(--accent);font-weight:600}.admin-sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--divider);display:grid;gap:.75rem}.admin-layout .sidebar-user{width:100%;box-sizing:border-box;padding:.65rem .75rem;border-radius:16px;background:var(--bg-soft);border:1px solid var(--line);gap:.75rem}.admin-layout .sidebar-user .avatar{width:2.25rem;height:2.25rem;background:var(--accent);color:#fff;font-weight:700}.admin-layout .sidebar-user-meta strong{display:block;font-size:.92rem;color:var(--ink);font-weight:600}.admin-layout .sidebar-user-meta span{display:block;font-size:.78rem;color:var(--ink-tertiary)}.admin-layout .btn-logout{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;background:transparent;color:var(--danger);border:none;border-radius:var(--radius-sm);padding:.65rem .85rem;font-weight:600;cursor:pointer;transition:background .15s ease}.admin-layout .btn-logout:hover:not(:disabled){background:#d84a4a14;transform:none}.admin-layout .btn-logout svg{width:1.1rem;height:1.1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.admin-main{min-width:0;display:flex;flex-direction:column;min-height:100vh;background:var(--bg-soft)}.admin-content{width:100%;margin:0;padding:1.75rem 1.75rem 3rem;box-sizing:border-box;flex:1}.admin-layout .admin-header{margin-bottom:.25rem}.admin-layout .admin-header h1{margin:0;font-family:var(--font-display);font-size:1.85rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}.admin-layout .admin-header p{margin:.4rem 0 0;color:var(--ink-muted);font-size:.95rem}.admin-layout .panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.admin-layout .panel-title{padding:1.1rem 1.25rem;border-bottom:1px solid var(--divider);font-weight:700;font-size:1.05rem;color:var(--ink)}.admin-layout .table th,.admin-layout .table td{text-align:left;padding:1rem 1.25rem;border-bottom:1px solid var(--divider);font-size:.95rem;color:var(--ink);vertical-align:middle}.admin-layout .table tbody tr:last-child td{border-bottom:none}.admin-layout .table th{color:var(--ink-tertiary);font-weight:600;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;background:transparent}.admin-layout .table td strong{font-weight:700;color:var(--ink)}.admin-layout .table .row-desc{margin-top:.15rem;color:var(--ink-tertiary);font-size:.85rem}.admin-layout .status-pill{background:var(--bg-soft);color:var(--ink-muted);font-weight:600}.admin-layout .status-pill.available,.admin-layout .status-pill.open{background:var(--accent-light);color:var(--accent)}.admin-layout .status-pill.pending_payment{background:#fff8e6;color:#a77518}.admin-layout .status-pill.preparing,.admin-layout .status-pill.reserved{background:#fcf7ef;color:#a77518}.admin-layout .status-pill.ready{background:#e6f5ec;color:#23684a}.admin-layout .status-pill.paid,.admin-layout .status-pill.served{background:#f2faf5;color:#1d553e}.admin-layout .status-pill.cancelled,.admin-layout .status-pill.ended{background:#d84a4a1a;color:var(--danger)}.admin-layout .status-pill.active,.admin-layout .status-pill.completed{background:var(--accent-light);color:var(--accent)}.admin-layout .status-pill.draft,.admin-layout .status-pill.pending,.admin-layout .status-pill.paused{background:#fff8e6;color:#a77518}.admin-table-wrap{overflow-x:auto}.admin-layout .table-price{font-weight:700;color:var(--accent);white-space:nowrap}.admin-layout .table-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;color:var(--ink-muted)}.table-actions{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-items:center}a.btn-action{text-decoration:none;box-sizing:border-box}.admin-layout .table.table-defs th{width:30%;color:var(--ink-muted);font-weight:600;font-size:.88rem;letter-spacing:0;text-transform:none;background:transparent;white-space:nowrap}.admin-layout .panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-layout .panel-title-row a{font-weight:600;font-size:.9rem;color:var(--accent);text-decoration:none}.admin-layout .panel-title-row a:hover{text-decoration:underline}.admin-header-filters{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem}.admin-header-filters .field{margin:0;min-width:12rem}.admin-header-filters .inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;padding:0;margin:0}.admin-layout .btn{border-radius:var(--radius-btn);border:none;font-weight:700;padding:.65rem 1.35rem;min-height:44px}.admin-layout .btn-primary{background:var(--accent);color:#fff;border:none}.admin-layout .btn-primary:not(:disabled):hover{background:var(--accent-hover)}.admin-layout .btn-outline{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:#fff;color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-btn);padding:.65rem 1.25rem;min-height:44px;font-weight:700;cursor:pointer;transition:background .15s ease}.admin-layout .btn-outline:hover{background:var(--accent-50)}.admin-layout .btn-ghost{background:transparent;color:var(--ink-muted);border:1px solid var(--line);border-radius:var(--radius-btn)}.admin-layout .field label{color:var(--ink-muted);font-weight:600;font-size:.88rem}.admin-layout .field input,.admin-layout .field select,.admin-layout .field textarea{border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}.admin-layout .field select{height:44px}.admin-layout .field input:focus,.admin-layout .field select:focus,.admin-layout .field textarea:focus{border-color:#2e7d5b8c;box-shadow:0 0 0 3px #2e7d5b1f}.admin-layout .form-error{background:#d84a4a14;color:var(--danger)}.admin-layout .empty-state,.admin-layout .locked-state{color:var(--ink-muted)}.admin-layout .stat-card,.admin-layout .menu-card,.admin-layout .rbac-sidebar,.admin-layout .rbac-detail{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.admin-layout .stat-card .label,.admin-layout .stat-card .value{color:var(--ink)}.admin-layout .stat-card .label{color:var(--ink-muted)}.admin-layout .user-chip{background:var(--bg-soft);border:1px solid var(--line);color:var(--ink)}.toggle{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#cfcfca;border-radius:999px;cursor:pointer;transition:background .2s ease}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.toggle input:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.cat-empty{display:grid;place-items:center;gap:.65rem;padding:3.5rem 1.5rem;text-align:center}.cat-empty-icon{width:3.5rem;height:3.5rem;border-radius:999px;background:var(--accent-light);color:var(--accent);display:grid;place-items:center;margin-bottom:.35rem}.cat-empty-icon svg{width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.cat-empty h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--ink)}.cat-empty p{margin:0;color:var(--ink-muted);font-size:.92rem;max-width:22rem}.cat-add-form{display:grid;grid-template-columns:1fr auto;gap:.85rem;padding:1.15rem 1.25rem 1.35rem;align-items:end}.menu-panel{overflow:hidden}.menu-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;border-bottom:1px solid var(--divider)}.menu-tabs{display:flex;gap:.25rem}.menu-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:1rem .15rem;margin-right:1.25rem;font-weight:700;font-size:.95rem;color:var(--ink-muted);cursor:pointer;border-bottom:2px solid transparent}.menu-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.menu-filters{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;padding:.85rem 0}.menu-filter-input,.menu-filter-select{border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:.55rem .85rem;font:inherit;font-size:.9rem;outline:none;min-height:40px}.menu-filter-input{min-width:12rem}.menu-filter-select{min-width:8.5rem;color:var(--ink-muted)}.menu-filter-input:focus,.menu-filter-select:focus{border-color:#2e7d5b8c;box-shadow:0 0 0 3px #2e7d5b1f;color:var(--ink)}.admin-layout .menu-table th,.admin-layout .menu-table td{white-space:nowrap;vertical-align:middle}.admin-layout .menu-thumb,.admin-layout .thumb.menu-thumb,.admin-layout .thumb-placeholder.menu-thumb{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:12px;background:var(--bg-soft);color:var(--ink-tertiary);border:1px solid var(--line)}.admin-layout .menu-price,.admin-layout .order-price{color:var(--accent);font-weight:700}.admin-layout .price-stack .old{color:var(--ink-tertiary)}.admin-layout .status-pill.outline{background:transparent;border:1px solid var(--accent-300, #a9d9b8);color:var(--accent)}.admin-layout .status-pill.outline.reserved{border-color:#f4d97e;color:#a77518;background:transparent}.admin-layout .badge{background:var(--accent-light);color:var(--accent)}.btn-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;min-height:34px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;background:#fff;transition:background .15s ease,opacity .15s ease}.btn-action:disabled{opacity:.55;cursor:not-allowed}.btn-action svg{width:.95rem;height:.95rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.btn-action-edit{color:var(--accent);border:1px solid var(--accent)}.btn-action-edit:hover:not(:disabled){background:var(--accent-50)}.btn-action-mute{color:var(--ink-muted);border:1px solid var(--line)}.btn-action-mute:hover:not(:disabled){background:var(--bg-soft)}.btn-action-danger{color:var(--danger);border:1px solid rgba(216,74,74,.45)}.btn-action-danger:hover:not(:disabled){background:#d84a4a0f}.menu-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;padding:1rem 1.25rem;border-top:1px solid var(--divider)}.menu-pagination-info{color:var(--ink-muted);font-size:.9rem}.menu-pagination-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.page-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2rem;height:2rem;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink-muted);font-weight:600;cursor:pointer;display:grid;place-items:center}.page-btn:hover:not(:disabled){background:var(--bg-soft);color:var(--ink)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn.active{background:var(--accent-light);border-color:var(--accent-light);color:var(--accent)}.menu-page-size{margin-left:.35rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink-muted);padding:.35rem .55rem;font:inherit;font-size:.85rem;min-height:2rem}.admin-layout .admin-header{align-items:center}.product-modal-backdrop{background:#1c1c1a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-layout .product-modal,.product-modal{width:max(760px,80%);max-height:min(92vh,920px);overflow:auto;background:#fff;color:var(--ink);border-radius:22px;border:1px solid var(--line);box-shadow:0 16px 48px #0000001f;padding:1.5rem 1.5rem 1.25rem}.product-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.product-modal h2{margin:0;font-family:var(--font-display);font-size:1.55rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}.product-modal .subtitle{margin:.3rem 0 0;color:var(--ink-muted);font-size:.92rem}.product-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-muted);display:grid;place-items:center;cursor:pointer;flex-shrink:0;padding:0}.product-modal-close:hover{background:var(--bg-soft);color:var(--ink)}.product-modal-close svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.product-form{display:grid;gap:1.1rem}.product-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.product-modal .field label,.product-modal .field-label{display:block;margin-bottom:.4rem;font-size:.88rem;font-weight:600;color:var(--ink)}.product-modal .field input,.product-modal .field select,.product-modal .field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;background:#fff;color:var(--ink);outline:none;font:inherit;box-sizing:border-box}.product-modal .field input::placeholder,.product-modal .field textarea::placeholder{color:var(--ink-tertiary)}.product-modal .field input:focus,.product-modal .field select:focus,.product-modal .field textarea:focus{border-color:#2e7d5b8c;box-shadow:0 0 0 3px #2e7d5b1f}.product-modal .field textarea{resize:vertical;min-height:96px}.product-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem}.product-thumb-preview{width:96px;height:96px;border-radius:14px;object-fit:cover;border:1px solid var(--line);background:var(--bg-soft);display:block;flex-shrink:0}.product-thumb-preview.empty{display:grid;place-items:center;gap:.25rem;color:var(--ink-tertiary);font-size:.75rem;text-align:center;padding:.5rem}.product-thumb-preview.empty svg{width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.product-file-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.product-file-picker input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.btn-file{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);background:#fff;color:var(--accent);border-radius:12px;padding:.55rem .95rem;min-height:40px;font-weight:700;font-size:.9rem;cursor:pointer}.btn-file:hover:not(:disabled){background:var(--accent-50)}.btn-file:disabled{opacity:.55;cursor:not-allowed}.product-file-picker .file-name{color:var(--ink-tertiary);font-size:.88rem}.product-gallery{margin-bottom:.75rem}.product-checks{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;align-items:center}.product-checks.wrap{gap:.75rem 1.15rem}.store-modal.modal-card.xl{width:min(1040px,100%)}.store-editor{display:flex;flex-direction:column;gap:1.25rem}.store-editor-grid{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:1.5rem;align-items:start}.store-editor-media{display:flex;flex-direction:column;gap:.75rem;position:sticky;top:0}.store-editor-fields{min-width:0}.store-media-add{width:100%;justify-content:center}.store-media-hint{margin:0;text-align:center;color:var(--ink-tertiary);font-size:.82rem}.visually-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.image-slider{display:flex;flex-direction:column;gap:.6rem}.image-slider-stage{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#0000000a,#00000014);border:1px solid var(--line);box-shadow:inset 0 1px 3px #0000000f}.image-slider-stage .slide{position:absolute;top:0;right:0;bottom:0;left:0;display:block;opacity:0;transition:opacity .28s ease;pointer-events:none;cursor:zoom-in}.image-slider-stage .slide.is-active{opacity:1;pointer-events:auto}.image-slider-stage .slide img{width:100%;height:100%;object-fit:cover;display:block}.image-slider.empty .image-slider-placeholder,.image-slider-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:100%;aspect-ratio:4 / 3;border-radius:16px;border:1.5px dashed var(--line);color:var(--ink-tertiary);background:var(--bg-soft);font-size:.9rem}.image-slider-placeholder-icon{font-size:2rem;opacity:.7}.image-slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.1rem;height:2.1rem;display:grid;place-items:center;border:none;border-radius:50%;background:#ffffffeb;color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px #0000002e;transition:background .15s ease,transform .15s ease}.image-slider-nav:hover{background:#fff;transform:translateY(-50%) scale(1.06)}.image-slider-nav.prev{left:.55rem}.image-slider-nav.next{right:.55rem}.image-slider-counter{position:absolute;bottom:.6rem;left:50%;transform:translate(-50%);padding:.15rem .6rem;border-radius:999px;background:#0000008c;color:#fff;font-size:.78rem;font-weight:600}.image-slider-remove{position:absolute;top:.55rem;right:.55rem;z-index:2;width:1.9rem;height:1.9rem;display:grid;place-items:center;border:none;border-radius:50%;background:#dc2626eb;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;box-shadow:0 2px 6px #00000040;transition:background .15s ease,transform .15s ease}.image-slider-remove:hover{background:#dc2626;transform:scale(1.08)}.image-slider-thumbs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.25rem}.image-slider-thumbs .thumb{flex:0 0 auto;width:3.6rem;height:3.6rem;padding:0;border-radius:10px;overflow:hidden;border:2px solid transparent;background:var(--bg-soft);cursor:pointer;transition:border-color .15s ease,transform .15s ease}.image-slider-thumbs .thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-slider-thumbs .thumb:hover{transform:translateY(-1px)}.image-slider-thumbs .thumb.is-active{border-color:var(--accent)}@media(max-width:820px){.store-editor-grid{grid-template-columns:1fr}.store-editor-media{position:static}}.check-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.check-item input[type=checkbox],.check-item input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.15rem;height:1.15rem;margin:0;border:1.5px solid #cfcfca;border-radius:5px;background:#fff;display:inline-grid;place-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.check-item input[type=radio]{border-radius:999px}.check-item input[type=checkbox]:hover,.check-item input[type=radio]:hover{border-color:var(--accent)}.check-item input[type=checkbox]:checked,.check-item input[type=radio]:checked{background:var(--accent);border-color:var(--accent)}.check-item input[type=checkbox]:after{content:"";width:.28rem;height:.5rem;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .12s ease;margin-top:-1px}.check-item input[type=checkbox]:checked:after{transform:rotate(45deg) scale(1)}.check-item input[type=radio]:after{content:"";width:.45rem;height:.45rem;border-radius:999px;background:#fff;transform:scale(0);transition:transform .12s ease}.check-item input[type=radio]:checked:after{transform:scale(1)}.check-item input[type=checkbox]:focus-visible,.check-item input[type=radio]:focus-visible{outline:2px solid rgba(46,125,91,.35);outline-offset:2px}.product-option-groups .section-label{margin:0 0 .75rem;font-weight:700;color:var(--ink)}.option-split{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:260px;background:#fff}.option-list{display:flex;flex-direction:column;gap:.25rem;padding:.55rem;background:var(--bg-soft);border-right:1px solid var(--line);overflow-y:auto}.option-list-item{display:flex;align-items:center;gap:.45rem;padding:.35rem .4rem;border-radius:12px;transition:background .15s ease}.option-list-item:hover{background:#ffffffb3}.option-list-item.active{background:#fff;box-shadow:0 1px 3px #0000000f}.option-list-item.enabled .option-list-btn strong{color:var(--accent)}.option-list-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;text-align:left;padding:.35rem .25rem;cursor:pointer;display:grid;gap:.1rem;flex:1;min-width:0;color:inherit;font:inherit}.option-list-btn strong{font-size:.92rem;font-weight:700;color:var(--ink)}.option-list-btn span{font-size:.75rem;color:var(--ink-tertiary)}.option-detail{padding:1rem 1.1rem;min-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem}.option-detail-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.65rem;border-bottom:1px solid var(--divider)}.option-detail-head strong{display:block;font-size:1rem;color:var(--ink)}.option-detail-head span{display:block;margin-top:.15rem;font-size:.8rem;color:var(--ink-tertiary)}.option-empty,.option-empty-card{margin:auto;text-align:center;color:var(--ink-muted);font-size:.92rem}.option-empty-card{display:grid;gap:.85rem;justify-items:center}.option-value-list{border:1px solid var(--line);border-radius:14px;background:var(--bg-soft);display:grid;gap:.75rem;padding:.85rem}.option-value-card{display:grid;grid-template-columns:1fr auto;gap:.75rem}.option-value-fields{display:grid;grid-template-columns:1.4fr .8fr;gap:.65rem}.option-value-flags{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;padding-top:.15rem}.product-modal .option-value-card .field label{font-size:.8rem;color:var(--ink-muted);margin-bottom:.3rem}.product-modal .option-value-card .field input{border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;background:#fff;color:var(--ink);font:inherit}.product-modal-actions{margin-top:.35rem;padding-top:.25rem}.product-modal-actions .btn{min-height:44px;border-radius:12px}.product-modal-actions .btn-outline{color:var(--accent);border-color:var(--accent)}.product-modal .linkish{color:var(--accent);font-size:.85rem}.voucher-modal{width:min(720px,96vw)}.product-modal .req{color:var(--danger);font-weight:700}.product-form-grid.single{grid-template-columns:1fr}.field-textarea{position:relative}.field-textarea textarea{padding-bottom:1.75rem}.field-textarea .char-count{position:absolute;right:.85rem;bottom:.55rem;font-size:.78rem;color:var(--ink-tertiary);pointer-events:none}.select-with-icon{position:relative;display:flex;align-items:center}.select-with-icon>svg{position:absolute;left:.85rem;width:1.1rem;height:1.1rem;stroke:var(--accent);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;z-index:1}.product-modal .field .select-with-icon select,.admin-layout .field .select-with-icon select{padding-left:2.55rem}.input-with-suffix{position:relative;display:flex;align-items:center}.product-modal .field .input-with-suffix input,.admin-layout .field .input-with-suffix input{padding-right:2.25rem}.input-with-suffix .suffix{position:absolute;right:.9rem;color:var(--ink-tertiary);font-weight:600;font-size:.9rem;pointer-events:none}.check-block{display:grid;gap:.35rem}.check-block .check-hint{margin:0 0 0 1.65rem;font-size:.85rem;color:var(--ink-tertiary);line-height:1.4}.voucher-modal .product-modal-actions .btn-ghost{color:var(--ink-muted);border:1px solid var(--line);background:#fff}.voucher-modal .product-modal-actions .btn-ghost:hover:not(:disabled){background:var(--bg-soft);color:var(--ink)}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static;border-right:none;border-bottom:1px solid var(--line)}.admin-nav{flex-direction:row;flex-wrap:wrap}.cat-add-form{grid-template-columns:1fr}.menu-toolbar{flex-direction:column;align-items:stretch}.menu-filters{width:100%}.menu-filter-input,.menu-filter-select{flex:1;min-width:0}.menu-pagination{flex-direction:column;align-items:stretch}.product-form-grid,.option-split{grid-template-columns:1fr}.option-list{border-right:none;border-bottom:1px solid var(--line);max-height:200px}.option-value-fields,.orders-filters{grid-template-columns:1fr}.orders-filter-search{grid-column:auto}.orders-create-form{grid-template-columns:1fr}.orders-create-notes{grid-column:auto}}.orders-filters{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:.85rem 1rem;padding:1.15rem 1.25rem 1.35rem;align-items:end}.orders-filter-search{grid-column:1 / -1}.orders-filters .field{margin:0}.orders-filter-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.55rem;padding-top:.15rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:.85rem;width:1.1rem;height:1.1rem;stroke:var(--ink-tertiary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.input-with-icon input{width:100%;padding-left:2.5rem}.orders-create-form{display:grid;grid-template-columns:1.4fr .7fr 1.4fr;gap:.85rem 1rem;padding:1.15rem 1.25rem 1.35rem;align-items:end}.orders-create-form .field{margin:0}.orders-create-notes{grid-column:auto}.orders-create-actions{grid-column:1 / -1}.admin-layout .orders-table td{vertical-align:top}.admin-layout .orders-table .order-code{font-weight:700;color:var(--ink);white-space:nowrap}.order-items-cell{min-width:11rem;max-width:18rem}.order-item-line{margin-bottom:.45rem}.order-item-line:last-child{margin-bottom:0}.order-item-line strong{font-weight:700;color:var(--ink)}.order-item-opt{margin-top:.1rem;font-size:.8rem;color:var(--ink-tertiary);line-height:1.35}.order-guest-meta{margin-top:.15rem;font-size:.8rem;color:var(--ink-tertiary)}.orders-table .table-actions{min-width:12rem}.btn-action-primary{color:#fff;background:var(--accent);border:1px solid var(--accent)}.btn-action-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.admin-layout .panel>.empty-state{padding:2.5rem 1.25rem;text-align:center}.admin-layout .modal-backdrop{background:#1c1c1a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-layout .modal-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:2px;box-shadow:0 16px 48px #0000001f}.admin-layout .modal-card h2{font-weight:800;letter-spacing:-.02em}.admin-layout .modal-card .panel-title{padding-left:0;padding-right:0}@media(min-width:1100px){.orders-filters{grid-template-columns:1.8fr 1fr 1fr 1fr 1fr}.orders-filter-search{grid-column:span 1}.orders-filter-actions{grid-column:1 / -1}}.roles-page-title{display:inline-flex;align-items:center;gap:.55rem}.roles-page-title-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:var(--accent-light);color:var(--accent);flex-shrink:0}.roles-page-title-icon svg{width:1.15rem;height:1.15rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.admin-layout .rbac-layout{grid-template-columns:minmax(260px,300px) 1fr;gap:1rem;min-height:32rem}.admin-layout .rbac-sidebar,.admin-layout .rbac-detail{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.admin-layout .rbac-sidebar-head,.admin-layout .rbac-detail-head{padding:1rem 1.15rem;border-bottom:1px solid var(--divider)}.admin-layout .rbac-sidebar-head strong{font-size:1.05rem;color:var(--ink)}.admin-layout .rbac-sidebar-search{padding:.85rem 1rem .35rem}.admin-layout .rbac-sidebar-search .input-with-icon input,.admin-layout .rbac-members-toolbar .input-with-icon input{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:.65rem .9rem .65rem 2.5rem;font:inherit;outline:none;box-sizing:border-box}.admin-layout .rbac-sidebar-search .input-with-icon input:focus,.admin-layout .rbac-members-toolbar .input-with-icon input:focus{border-color:#2e7d5b8c;box-shadow:0 0 0 3px #2e7d5b1f}.admin-layout .rbac-role-list{padding:.5rem .65rem .85rem}.admin-layout .rbac-role-li{position:relative;margin-bottom:.35rem}.admin-layout .rbac-role-item{display:flex;align-items:flex-start;gap:.7rem;width:100%;text-align:left;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:14px;padding:.75rem .8rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.admin-layout .rbac-role-item:hover{background:var(--bg-soft)}.admin-layout .rbac-role-item.active{background:var(--accent-light);border-color:#2e7d5b59;color:var(--ink)}.admin-layout .rbac-role-icon{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:10px;background:var(--bg-soft);color:var(--ink-muted);flex-shrink:0}.admin-layout .rbac-role-icon.crown,.admin-layout .rbac-role-item.active .rbac-role-icon{background:#fff;color:var(--accent)}.admin-layout .rbac-role-icon.lg{width:2.5rem;height:2.5rem;border-radius:12px}.admin-layout .rbac-role-icon svg{width:1.15rem;height:1.15rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.admin-layout .rbac-role-text{display:grid;gap:.15rem;min-width:0}.admin-layout .rbac-role-text strong{display:inline-flex;align-items:center;gap:.35rem;font-size:.95rem;color:var(--ink)}.admin-layout .rbac-lock{display:inline-grid;place-items:center;color:var(--ink-tertiary)}.admin-layout .rbac-lock svg{width:.9rem;height:.9rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.admin-layout .rbac-role-meta{font-size:.8rem;color:var(--ink-tertiary)}.admin-layout .rbac-role-delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:.45rem;right:.45rem;width:1.5rem;height:1.5rem;border:none;border-radius:8px;background:transparent;color:var(--ink-tertiary);cursor:pointer;font-size:1.1rem;line-height:1;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.admin-layout .rbac-role-li:hover .rbac-role-delete{opacity:1}.admin-layout .rbac-role-delete:hover:not(:disabled){background:#d84a4a1a;color:var(--danger)}.admin-layout .rbac-detail-title{display:flex;align-items:flex-start;gap:.85rem}.admin-layout .rbac-detail-name{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-layout .rbac-detail-name strong{font-size:1.2rem;font-weight:800;color:var(--ink)}.admin-layout .rbac-detail-desc{margin:.3rem 0 0;color:var(--ink-muted);font-size:.9rem;line-height:1.4}.admin-layout .rbac-tabs{display:flex;gap:.25rem;padding:0 1.15rem;border-bottom:1px solid var(--divider)}.admin-layout .rbac-tabs button{flex:0 0 auto;border:none;background:transparent;color:var(--ink-muted);padding:.95rem .15rem;margin-right:1.25rem;cursor:pointer;font-weight:700;font-size:.95rem;border-bottom:2px solid transparent}.admin-layout .rbac-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-layout .rbac-panel-body{padding:1.1rem 1.15rem 1.25rem;gap:1rem}.admin-layout .rbac-members-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.85rem}.admin-layout .rbac-members-toolbar .field{flex:1;min-width:14rem;margin:0}.admin-layout .rbac-perm-hint{margin:0;color:var(--ink-muted);font-size:.9rem}.admin-layout .rbac-panel-body.permissions{gap:1.15rem}.admin-layout .rbac-perm-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.75rem 1rem;border-radius:14px;background:var(--bg-soft);border:1px solid var(--line)}.admin-layout .rbac-perm-banner.dirty{background:var(--accent-light);border-color:#2e7d5b47}.admin-layout .rbac-perm-banner-text{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink-muted);font-size:.9rem;font-weight:600}.admin-layout .rbac-perm-banner.dirty .rbac-perm-banner-text{color:var(--accent-hover)}.admin-layout .rbac-perm-banner-icon{display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:8px;background:#fff;color:var(--accent);flex-shrink:0}.admin-layout .rbac-perm-banner-icon svg{width:.95rem;height:.95rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.admin-layout .rbac-perm-banner .btn-primary{min-height:40px;padding:.55rem 1.1rem}.admin-layout .member-list{display:grid;gap:.45rem}.admin-layout .member-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:14px;background:var(--bg-soft);border:1px solid transparent}.admin-layout .member-row:hover{border-color:var(--line);background:#fff}.admin-layout .member-row .avatar{width:2.35rem;height:2.35rem;border-radius:999px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.9rem;flex-shrink:0;object-fit:cover}.admin-layout .member-row .meta strong{color:var(--ink);font-size:.95rem}.admin-layout .member-row .meta span{color:var(--ink-tertiary)}.admin-layout .member-row .badge.muted{background:#eef4ff;color:#3b6bb8}.admin-layout .member-menu{position:relative;margin-left:auto}.admin-layout .member-more{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2rem;height:2rem;border:none;border-radius:8px;background:transparent;color:var(--ink-tertiary);cursor:pointer;font-size:1.25rem;line-height:1}.admin-layout .member-more:hover:not(:disabled){background:var(--bg-soft);color:var(--ink)}.admin-layout .member-menu-pop{position:absolute;right:0;top:calc(100% + .25rem);min-width:10rem;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:.35rem;z-index:5}.admin-layout .member-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;border:none;background:transparent;border-radius:8px;padding:.55rem .7rem;font:inherit;font-size:.88rem;font-weight:600;color:var(--ink);cursor:pointer}.admin-layout .member-menu-item.danger{color:var(--danger)}.admin-layout .member-menu-item:hover:not(:disabled){background:var(--bg-soft)}.admin-layout .rbac-pagination{margin-top:.25rem;padding:.85rem 0 0;border-top:1px solid var(--divider)}.admin-layout .perm-check-grid{display:grid;gap:1.35rem}.admin-layout .perm-check-group h3{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .7rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:800}.admin-layout .perm-module-icon{display:grid;place-items:center;width:1.35rem;height:1.35rem;color:var(--accent)}.admin-layout .perm-module-icon svg{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.admin-layout .perm-check-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.admin-layout .perm-check{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem .9rem;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:background .15s ease,border-color .15s ease}.admin-layout .perm-check.wide{grid-column:1 / -1}.admin-layout .perm-check:hover{border-color:#2e7d5b59}.admin-layout .perm-check.checked{border-color:#2e7d5b66;background:var(--accent-light)}.admin-layout .perm-check input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.15rem;height:1.15rem;margin:.1rem 0 0;border:1.5px solid #cfcfca;border-radius:5px;background:#fff;display:inline-grid;place-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.admin-layout .perm-check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.admin-layout .perm-check input[type=checkbox]:after{content:"";width:.28rem;height:.5rem;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .12s ease;margin-top:-1px}.admin-layout .perm-check input[type=checkbox]:checked:after{transform:rotate(45deg) scale(1)}.admin-layout .perm-check-body{display:grid;gap:.2rem;min-width:0}.admin-layout .perm-check .key{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;font-weight:700;color:var(--ink)}.admin-layout .perm-check .desc{color:var(--ink-muted);font-size:.85rem;line-height:1.35}.admin-layout .perm-check .perm-key-foot{margin-top:.15rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;color:var(--ink-tertiary)}@media(max-width:900px){.admin-layout .perm-check-items{grid-template-columns:1fr}.admin-layout .perm-check.wide{grid-column:auto}}.admin-layout .user-pick-list{border-color:var(--line)}.admin-layout .user-pick-list li.selected{background:var(--accent-50)}.admin-layout .user-pick-list .avatar{background:var(--accent);color:#fff;width:2.1rem;height:2.1rem;border-radius:999px;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex-shrink:0}@media(max-width:900px){.admin-layout .rbac-layout{grid-template-columns:1fr}}.admin-layout *{scrollbar-width:thin;scrollbar-color:rgba(120,120,128,.45) transparent}.admin-layout *::-webkit-scrollbar{width:10px;height:10px}.admin-layout *::-webkit-scrollbar-track{background:transparent}.admin-layout *::-webkit-scrollbar-thumb{background-color:#78788066;border-radius:999px;border:2px solid transparent;background-clip:content-box}.admin-layout *::-webkit-scrollbar-thumb:hover{background-color:#787880a6}.admin-layout *::-webkit-scrollbar-corner{background:transparent}.modal-card.xl::-webkit-scrollbar-thumb,.admin-table-wrap::-webkit-scrollbar-thumb{background-color:#78788080}.btn.btn-sm{padding:.35rem .7rem;font-size:.85rem}.btn.btn-ghost.danger{color:var(--danger, #dc2626)}.feedback-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem}.feedback-stat-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.feedback-stat-label{color:var(--ink-tertiary);font-size:.85rem}.feedback-stat-value{font-size:1.5rem;font-weight:800;display:inline-flex;align-items:center;gap:.5rem}.feedback-stars{color:#f5a623;letter-spacing:1px;white-space:nowrap;font-size:.95rem}.feedback-stars-empty{color:var(--line)}.feedback-content-cell{max-width:340px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-secondary, inherit)}.feedback-detail-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.feedback-detail-topics{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.feedback-detail-content{margin:0 0 .75rem;padding:.85rem 1rem;background:var(--bg-soft);border-radius:12px;white-space:pre-wrap;line-height:1.5}.rte{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--bg-soft)}.rte-sep{width:1px;align-self:stretch;margin:4px;background:var(--line)}.rte-btn{min-width:30px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font-size:.9rem;cursor:pointer}.rte-btn:hover{background:var(--accent-50)}.rte-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-hover)}.rte-content .ProseMirror{min-height:220px;padding:14px 16px;outline:none;line-height:1.6;color:var(--ink)}.rte-content .ProseMirror>*:first-child{margin-top:0}.rte-content .ProseMirror h2{font-size:1.3rem;margin:1.1rem 0 .5rem;font-family:var(--font-display)}.rte-content .ProseMirror h3{font-size:1.1rem;margin:1rem 0 .4rem;font-family:var(--font-display)}.rte-content .ProseMirror p{margin:0 0 .7rem}.rte-content .ProseMirror ul,.rte-content .ProseMirror ol{margin:0 0 .7rem;padding-left:1.4rem}.rte-content .ProseMirror blockquote{margin:0 0 .7rem;padding-left:.9rem;border-left:3px solid var(--accent);color:var(--ink-muted)}.rte-content .ProseMirror a{color:var(--accent-hover);text-decoration:underline}.rte-content .ProseMirror img{max-width:100%;height:auto;border-radius:10px;margin:.4rem 0}.rte-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--accent)}
