.adminbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--p-primary,#4a0e29);color:var(--p-onPrimary,#fff);padding:14px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid transparent;transition:box-shadow .15s ease,border-color .15s ease}.admin-root .adminbar{background:#4a0e29;color:#fff}.adminbar .logo{display:flex;align-items:center}.adminbar .logo img{max-height:32px;max-width:100px;width:auto;height:auto;object-fit:contain}.adminbar .ttl{font-weight:700;font-size:14px}.adminbar .ttl small{display:block;font-weight:500;font-size:11px;opacity:.7}.admin-spacer{flex:1 1}.adminbar .abk{background:transparent;border:0;color:#fff;cursor:pointer;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--m3-shape-full)}.adsec{padding:18px 16px 32px}.adsec h2{font-family:var(--display);font-size:24px;font-weight:600}.adsec .lead{color:var(--ink-2);font-size:14px;margin:4px 0 18px}.login{display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:0 26px;background:linear-gradient(180deg,var(--brand-tint),var(--bg))}.login .mark{display:flex;margin-bottom:22px}.login .mark img{max-height:56px;max-width:180px;width:auto;height:auto;object-fit:contain}.login h2{font-family:var(--display);font-size:27px;font-weight:600}.login p{color:var(--ink-2);font-size:14px;margin:6px 0 26px}.login .btn{flex:none;align-self:flex-start;width:auto;min-width:160px;padding:0 24px;height:48px}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:15px;padding:13px 14px;border:1.5px solid var(--line-strong);border-radius:var(--m3-shape-m);background:var(--surface);color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.field .err{color:var(--danger);font-size:12.5px;margin-top:7px;display:flex;align-items:center;gap:6px}.field.invalid input{border-color:var(--danger)}.field .hint{font-size:12px;color:var(--ink-2);margin-top:5px}.tiles{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.tile{display:block;text-align:left;border:1px solid var(--line);border-radius:var(--r-m);padding:16px;cursor:pointer;color:inherit}.tile,.tile.feature{background:var(--surface)}.tile.feature{grid-column-start:1;grid-column-end:-1;color:var(--ink);border-color:var(--p-primary,var(--brand))}.tile .ti{width:38px;height:38px;border-radius:10px;background:var(--p-primaryContainer,var(--brand-soft));display:grid;place-items:center;color:color-mix(in srgb,var(--p-onPrimaryContainer,var(--brand)) 85%,#000);margin-bottom:11px}.tile .tn{font-weight:700;font-size:15px}.tile .td{font-size:12px;color:var(--ink-2);margin-top:3px}.toggle{width:50px;height:30px;border-radius:var(--r-pill);background:var(--line-strong);position:relative;cursor:pointer;flex:none;transition:background .2s;border:0}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:left .2s}.toggle.on{background:var(--brand)}.toggle.on:after{left:23px}.toggle.danger.on{background:var(--p-error,var(--danger))}.seg{display:flex;background:var(--surface-2);border-radius:var(--r-pill);padding:3px}.seg button{flex:1 1;font:inherit;font-size:11.5px;font-weight:700;border:0;background:transparent;color:var(--ink-2);border-radius:var(--r-pill);padding:8px 12px;cursor:pointer}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.muted{color:var(--ink-3)}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--r-pill);font-size:13.5px;font-weight:600;box-shadow:var(--shadow-2);z-index:90}.row-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;margin-top:14px}.form-card{background:var(--p-primaryContainer,var(--surface-2));border-radius:var(--r-l);padding:16px;margin-bottom:16px}.user-row{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.user-row:last-child{border-bottom:0}.radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;cursor:pointer;background:var(--surface)}.radio.on{border-color:var(--brand)}.radio.on:after{content:"";width:11px;height:11px;border-radius:50%;background:var(--brand)}.radio.disabled{opacity:.4;cursor:not-allowed}.user-row .ui{flex:1 1;min-width:0}.user-row .ui .em{font-weight:600;font-size:14.5px}.user-row .ui .rl{font-size:12px;color:var(--ink-2)}.user-row .del{border:0;color:var(--p-error,var(--danger));background:transparent;border-radius:var(--r-s);padding:8px 12px;font:inherit;font-weight:700;font-size:13px;cursor:pointer}.swatches{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.sw-opt{position:relative;width:44px;height:44px;border-radius:var(--m3-shape-full);cursor:pointer;border:3px solid transparent;box-shadow:var(--shadow-1)}.sw-opt.sel{border-color:var(--ink)}.sw-opt.sel:before{content:"check";font-family:Material Symbols Rounded;font-size:20px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.preview-bar{gap:10px;margin-top:16px;padding:14px;border-radius:var(--r-m);background:var(--brand);color:var(--brand-ink);font-weight:700}.contrast-note,.preview-bar{display:flex;align-items:center}.contrast-note{font-size:12.5px;margin-top:8px;gap:6px}.contrast-note.ok{color:var(--ok)}.contrast-note.warn{color:var(--warn)}.save-bar{position:-webkit-sticky;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:14px 16px;display:flex;gap:10px}.logo-prev{width:64px;height:64px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}.logo-prev img{width:100%;height:100%;object-fit:cover}.day-meta{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px;margin-bottom:16px;font-size:13px}.day-meta b{font-family:var(--display)}.search{position:relative;margin-bottom:10px}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink-3)}.search input{width:100%;font:inherit;font-size:15px;padding:12px 14px 12px 40px;border:1.5px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface)}.search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.tfilters{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}.tfilters::-webkit-scrollbar{display:none}.tfilter{flex:none;font:inherit;font-size:12.5px;font-weight:600;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:var(--r-pill);padding:8px 13px;cursor:pointer}.tfilter.on{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.grouphead{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:700;margin:16px 0 8px}.grouphead .cnt{margin-left:auto;background:var(--surface-2);border-radius:var(--r-pill);padding:2px 8px;letter-spacing:0}.drow{display:flex;flex-direction:column;gap:10px;padding:12px 13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:9px}.drow.sold{opacity:.55}.drow .top{display:flex;align-items:center;gap:10px}.drow .nm{flex:1 1;min-width:0}.drow .nm .t{font-weight:600;font-size:14.5px}.drow .nm .s{font-size:11.5px;color:var(--ink-2)}.typetag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:5px;padding:2px 6px}.typetag.dish{background:#fbe9dc;color:#9a4b22}.typetag.wine{background:#f0e0e4;color:#7a2e3a}.typetag.other{background:var(--surface-2);color:var(--ink-2)}.drow .bot{gap:10px}.drow .bot,.sold-toggle{display:flex;align-items:center}.sold-toggle{gap:7px;font-size:11px;font-weight:700;color:var(--ink-2);flex:none}.sold-toggle .toggle{width:44px;height:26px}.sold-toggle .toggle:after{width:20px;height:20px}.sold-toggle .toggle.on:after{left:21px}.tree{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;margin-top:14px}.tnode{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.tnode:last-child{border-bottom:0}.tnode.l2{padding-left:34px;background:#fffdf9}.tnode.l3{padding-left:54px;background:#fffdf9;font-size:13.5px}.tnode .tt{flex:1 1;font-weight:600;font-size:14.5px;min-width:0}.tnode.l3 .tt{font-weight:500}.tnode.off .tt{color:var(--ink-3);text-decoration:line-through}.tnode .badge{font-size:11px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-pill);padding:3px 9px}.tnode .mini{width:32px;height:32px;border-radius:var(--m3-shape-full);border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}.tnode .mini .msr{font-size:17px}.tnode .cnt{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:var(--r-pill);margin-left:6px;background:var(--p-secondaryContainer,var(--surface-2));color:var(--p-onSecondaryContainer,var(--ink-2));font-size:10.5px;font-weight:700}.tnode .mini svg{width:16px;height:16px}.tnode .mini.danger{color:var(--danger);border-color:#f0c7cc}.mini:disabled{opacity:.4;cursor:not-allowed}.addrow{display:flex;gap:8px;margin-top:14px}.addrow input{flex:1 1;font:inherit;font-size:14px;padding:11px 13px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);background:var(--surface)}.copy-pt{font:inherit;font-size:12.5px;font-weight:600;color:var(--brand);background:none;border:0;cursor:pointer;display:inline-flex;gap:5px;align-items:center;margin:2px 0 10px}.divider{height:1px;background:var(--line);margin:20px 0}.srow{display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:10px}.srow .sn{flex:1 1}.srow .sn .t{font-weight:600;font-size:15px}.srow .sn .s{font-size:12px;color:var(--ink-2)}.photo-up{border:1.5px dashed var(--line-strong);border-radius:var(--r-m);padding:20px;text-align:center;color:var(--ink-2);font-size:13px;cursor:pointer;background:var(--surface);display:block}.photo-up b{color:var(--ink);display:block;font-size:14px;margin:6px 0 2px}.photo-up .prev{width:120px;height:90px;object-fit:cover;border-radius:10px;margin:0 auto 8px;display:block}.sched{display:flex;flex-direction:column;gap:10px}.days{display:flex;gap:6px}.day{flex:1 1;font:inherit;font-size:12px;font-weight:700;border:1.5px solid var(--line-strong);background:var(--surface);border-radius:10px;padding:10px 0;text-align:center;cursor:pointer;color:var(--ink-2)}.day.on{border-color:var(--p-secondary,var(--brand));background:var(--p-secondaryContainer,var(--brand-soft));color:var(--p-onSecondaryContainer,color-mix(in srgb,var(--brand) 85%,#000))}.window{display:flex;align-items:center;gap:8px}.window input{flex:1 1}.window .to{font-size:12px;color:var(--ink-2)}.alg-grid{display:flex;flex-wrap:wrap;gap:8px}.alg-pick{font:inherit;font-size:12.5px;font-weight:600;border:1.5px solid var(--line-strong);background:var(--surface);border-radius:var(--r-pill);padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:7px;color:var(--ink)}.alg-pick[data-state=contains]{border-color:var(--p-tertDark,var(--warn));background:var(--p-tertiaryContainer,var(--warn-soft));color:var(--p-onTertiaryContainer,#7a4a00)}.alg-pick[data-state=trace]{border-color:var(--p-onTertiaryContainer,#d8b6e0);background:transparent;color:var(--p-onTertiaryContainer,#6a3b75)}.alg-pick .st{font-size:9px;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.legend{font-size:11.5px;color:var(--ink-2);margin-top:9px;line-height:1.6}.legend .sw{display:inline-block;width:9px;height:9px;border-radius:3px;vertical-align:middle;margin-right:4px}.wine-pick{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}.wine-pick .wp{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line)}.wine-pick .wp:last-child{border:0}.wine-pick .wp .nm{flex:1 1;font-size:14px;font-weight:600}.cb{width:24px;height:24px;border-radius:7px;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;display:grid;place-items:center;color:#fff;flex:none}.cb.on{background:var(--brand);border-color:var(--brand)}.cb svg{width:14px;height:14px;opacity:0}.cb.on svg{opacity:1}.savebar{background:color-mix(in srgb,var(--bg) 90%,transparent)}.prod-list .pcard .price{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,#efe7da 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-m)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.state{display:grid;place-items:center;min-height:70vh;text-align:center;padding:28px}.state h2{font-family:var(--display);font-size:22px;margin-bottom:8px}.state p{color:var(--ink-2);margin-bottom:18px;max-width:300px}.rte{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--surface)}.rte-toolbar{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--line)}.rte-btn{min-width:34px;height:30px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;font-size:13px;color:var(--ink)}.rte-btn:hover{background:rgba(0,0,0,.04)}.rte-area{min-height:92px;padding:10px 12px;font-size:14px;line-height:1.5;outline:none}.rte-area:empty:before{content:attr(data-ph);color:var(--ink-3)}.rte-area-lg{min-height:420px}.rte-area-lg h2{font-size:22px;margin:20px 0 8px}.rte-area-lg h2,.rte-area-lg h3{font-family:var(--display);font-weight:600}.rte-area-lg h3{font-size:18px;margin:16px 0 6px}.rte-area-lg p{margin-bottom:10px}.rte-area-lg a{color:var(--brand);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.rte-area p{margin:0 0 8px}.rte-area ol,.rte-area ul{margin:0 0 8px 20px}.detail-desc p{margin:0 0 10px}.detail-desc ol,.detail-desc ul{margin:0 0 10px 20px}.detail-desc li{margin:2px 0}.detail-desc b,.detail-desc strong{font-weight:600}.detail-desc div,.rte-area div{margin:0 0 6px}.cat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:12px}.chip-mini{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--r-pill);background:rgba(110,74,142,.12);color:#6e4a8e;margin-left:6px}.wine-card{margin-top:8px;display:grid;grid-gap:16px;gap:16px}.wine-profile{font-family:var(--p-title-font,var(--display));font-size:18px;line-height:1.35;color:var(--ink);margin:0}.wine-h{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px}.wine-vars{border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px}.wine-var{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.wine-var:last-child{border-bottom:0}.wine-var.out{color:var(--ink-3)}.wine-var .wv-price{font-weight:700}.wine-var.out .wv-price{font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.wine-meta{display:grid;grid-gap:4px;gap:4px;font-size:14px}.wine-meta .wm-k{display:inline-block;min-width:72px;color:var(--ink-2);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.wine-scales{display:grid;grid-gap:6px;gap:6px}.wine-scale{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--r-s);background:color-mix(in srgb,var(--p-tertDark,#6e4a8e) 8%,transparent)}.wine-scale .ws-k{color:var(--p-tertDark,#6e4a8e);font-weight:700;font-size:13px}.wine-scale .ws-v{font-weight:600}.wine-struct-note{font-size:13px;font-style:italic;color:var(--ink-2);margin:2px 2px 0}.wine-footer{font-size:12px;color:var(--ink-3);margin-top:4px;border-top:1px solid var(--line);padding-top:10px}.subhead{font-size:11px;margin:18px 0 9px}.hubtile{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:14px;box-shadow:var(--shadow-1);cursor:pointer;margin-bottom:10px;width:100%;text-align:left;font:inherit;color:inherit;text-decoration:none}.hubtile.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.hubtile .ti{width:38px;height:38px;border-radius:10px;background:var(--p-primaryContainer,var(--brand-soft));color:color-mix(in srgb,var(--p-onPrimaryContainer,var(--brand)) 85%,#000);display:grid;place-items:center;flex:none}.hubtile.primary .ti{background:#ffffff2a;color:#fff}.hubtile .ti svg{width:19px;height:19px}.hubtile .tn{flex:1 1;min-width:0}.hubtile .tn .t{font-weight:700;font-size:14.5px}.hubtile .tn .d{font-size:12px;color:var(--ink-2)}.hubtile.primary .tn .d{color:#ffffffcc}.hubtile .cnt{font-size:12px;font-weight:600}.hubtile .arr,.hubtile .cnt{color:var(--ink-3)}.secband{font-family:var(--p-title-font,var(--display));font-size:17px;font-weight:400;letter-spacing:.05em;margin:4px 0 12px;display:flex;align-items:center;gap:8px}.secband .n{width:22px;height:22px;border-radius:6px;background:var(--p-tertiaryContainer,#f2ecf7);color:var(--p-tertDark,#6e4a8e);display:grid;place-items:center;font-size:12px;font-weight:700;font-family:var(--sans)}.fl{margin-bottom:13px}.fl label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px}.fl input,.fl select{width:100%;font:inherit;font-size:15px;min-height:48px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);background:var(--surface);color:var(--ink)}.fl input:focus,.fl select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.fl .hint{font-size:12px;color:var(--ink-2);margin-top:5px}.segbtns{display:flex;background:var(--surface-2);border-radius:var(--r-pill);padding:3px;flex-wrap:wrap}.segbtns button{flex:1 1;min-width:-moz-fit-content;min-width:fit-content;font:inherit;font-size:12px;font-weight:600;border:0;background:transparent;color:var(--ink-2);border-radius:var(--r-pill);padding:9px 8px;cursor:pointer}.segbtns button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.pvw{margin-top:6px;background:var(--p-tertiaryContainer,#f2ecf7);border:1px solid var(--p-tertLight,#dcc9ea);border-radius:var(--r-m);padding:12px 14px}.pvw .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--p-tertDark,#6e4a8e);font-weight:700}.pvw .v{font-family:var(--display);font-size:17px;font-weight:600;margin-top:3px;color:var(--ink)}.varedit{border:1px solid var(--line);border-radius:var(--r-m);padding:14px;margin-bottom:12px;background:var(--surface)}.varedit .vh2{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.varedit .vh2 .vt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}.varedit .rm{width:40px;height:40px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--surface);color:var(--danger);cursor:pointer;flex:none;display:grid;place-items:center;font-size:16px}.varedit .vfield{margin-bottom:11px}.varedit .vfield:last-child{margin-bottom:0}.varedit .vfield label{display:block;font-size:11.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.varedit input,.varedit select{width:100%;font:inherit;font-size:15px;min-height:48px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);background:var(--surface);color:var(--ink)}.varedit input:focus,.varedit select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.varedit .vrow{display:flex;gap:10px}.varedit .vrow .vfield{flex:1 1;margin-bottom:0}.varedit .av{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:0 4px;font-size:13px;color:var(--ink-2);font-weight:600}.inherit{font-size:11.5px;color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:9px 11px;margin-bottom:10px;line-height:1.45}.addvar{width:100%;border:1.5px dashed var(--line-strong);background:var(--surface);border-radius:var(--r-m);padding:12px;font:inherit;font-weight:600;font-size:13.5px;color:var(--brand);cursor:pointer}.minirow{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.minirow:last-child{border-bottom:0}.minirow .mn{flex:1 1;font-weight:600}.minirow .tag{font-size:11px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-pill);padding:3px 9px}.minirow .acopo{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:var(--ink-2)}.wine-catalogs input:not([type=checkbox]):not([type=radio]),.wine-catalogs select,.wine-catalogs textarea{min-height:48px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);font:inherit;font-size:15px;background:var(--surface);color:var(--ink);width:100%}.wine-catalogs input:focus,.wine-catalogs select:focus,.wine-catalogs textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.iconbtn{width:32px;height:32px;border-radius:var(--m3-shape-full);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink-2);font-size:15px;flex:none;padding:0}.iconbtn:disabled{opacity:.4;cursor:default}.iconbtn.danger{color:var(--danger);border-color:#f0c7cc}.restrow{display:flex;justify-content:space-between;padding:14px 16px 10px}.pub-btn,.restrow{align-items:center}.pub-btn{display:inline-flex;gap:8px;height:48px;padding:0 20px;border-radius:var(--m3-shape-full);border:1px solid var(--brand);background:var(--surface);font:inherit;font-weight:700;font-size:14px;cursor:pointer;color:var(--brand)}.pub-btn .msr{font-size:20px;color:currentColor}.pub-btn.on{border-color:var(--ok);color:var(--ok)}.restchip{display:inline-flex;align-items:center;gap:9px;background:transparent;border:none;border-radius:var(--r-pill);padding:4px 8px 4px 4px;cursor:pointer}.restchip .ravatar{width:30px;height:30px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:13px;flex:none;overflow:hidden}.restchip .rinfo{min-width:0}.restchip .rn{font-weight:700;font-size:13px;white-space:nowrap}.restchip .re{font-size:10px;color:var(--ink-2);display:flex;align-items:center;gap:3px}.restchip .re .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.restchip .re.draft .dot{background:var(--warn)}.restchip .msr{font-size:18px;color:var(--ink-3);flex:none}.adminbar.elevated{box-shadow:var(--m3-elevation-2);border-bottom-color:var(--line)}.transwrap{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:30px}.transwrap .ravatar-lg{width:56px;height:56px;border-radius:16px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:22px;flex:none;overflow:hidden}.transwrap .tmsg{font-size:13.5px;color:var(--ink-2);font-weight:600}.transwrap .skelcol{width:100%;max-width:280px;display:flex;flex-direction:column;gap:10px;margin-top:6px}.tabbar{position:-webkit-sticky;position:sticky;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:var(--surface);border-top:1px solid var(--line);display:flex;padding:8px 6px 10px;z-index:30}.tab{flex:1 1;flex-direction:column;gap:3px;font-size:10px;font-weight:600;color:var(--ink-3);cursor:pointer;background:transparent;border:0;font:inherit}.tab,.tab .tab-icon{display:flex;align-items:center}.tab .tab-icon{justify-content:center;width:52px;height:26px;border-radius:var(--r-pill,999px);transition:background .2s ease}.tab .tab-icon .msr{font-size:22px}.tab.on .tab-icon{background:var(--p-secondaryContainer,var(--brand-soft))}.tab.on .tab-icon svg{color:var(--p-onSecondaryContainer,var(--brand))}.tab svg{width:22px;height:22px}.tab.on{color:var(--brand)}.acct-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px;margin:0 16px 12px;box-shadow:var(--shadow-1)}.acct-card.pending{background:var(--p-tertiaryContainer,var(--warn-soft));border-color:var(--p-tertDark,var(--warn))}.menu-status-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px;margin:0 16px 12px;box-shadow:var(--shadow-1)}.acct-card h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-bottom:10px}.acct-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.acct-row:last-child{border-bottom:0}.acct-row .k{color:var(--ink-2);font-size:13px}.acct-row .v{font-weight:600;font-size:14px}.pill-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);font-size:11px;font-weight:700}.pill-status.publicado{background:var(--ok-soft);color:var(--ok)}.pill-status.rascunho{background:var(--warn-soft);color:var(--warn)}.tip-dismiss{background:transparent;border:0;color:var(--ink-3);cursor:pointer;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-s);flex-shrink:0}.tip-dismiss:hover{background:var(--surface-2);color:var(--ink-2)}.qr-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px}.qr-head .qh-t{flex:1 1}.qr-head h2{font-family:var(--display);font-size:24px;font-weight:600}.qr-head .cnt{font-size:12.5px;color:var(--ink-2);margin-top:2px}.qr-head .btn.primary{flex:none;height:44px;padding:0 16px}.qr-err{margin-bottom:12px}.qr-color-field{margin-top:16px}.qr-empty-cta{max-width:230px;margin:0 auto}.qr-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.qr-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:12px}.qr-card .qr-thumb{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:8px;display:grid;place-items:center;margin-bottom:10px}.qr-card .qr-thumb canvas,.qr-card .qr-thumb svg{display:block;width:100%;height:auto}.qr-card .qname{font-weight:700;font-size:14px;line-height:1.2}.qr-card .qdest{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-2);margin-top:4px;min-width:0}.qr-card .qdest svg{width:12px;height:12px;flex:none;color:var(--ink-3)}.qr-card .qdest span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-card .card-foot{padding-top:10px}.qr-card .acts{display:flex;gap:6px}.searchrow{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-m);padding:0 13px;height:46px;margin-bottom:12px}.searchrow svg{width:17px;height:17px;color:var(--ink-3);flex:none}.searchrow input{flex:1 1;border:0;outline:none;font:inherit;font-size:14.5px;background:transparent;color:var(--ink)}.destprev{display:flex;gap:9px;align-items:flex-start;background:var(--surface-2);border-radius:var(--r-m);padding:11px 12px;margin-top:2px}.destprev svg{width:15px;height:15px;color:var(--ink-3);flex:none;margin-top:1px}.destprev .dp{flex:1 1;min-width:0}.destprev .dpk{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}.destprev .dpv{font-size:12.5px;color:var(--ink);word-break:break-all;margin-top:2px;font-weight:600}.livewrap{display:flex;gap:14px;align-items:center;background:var(--brand-tint);border:1px solid var(--line);border-radius:var(--r-m);padding:14px;margin-bottom:16px}.livewrap .lp{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:7px;flex:none}.livewrap .lp canvas,.livewrap .lp svg{display:block}.livewrap .lt{flex:1 1;min-width:0}.livewrap .lt .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}.livewrap .lt .v{font-family:var(--display);font-size:16px;font-weight:600;margin-top:2px}.livewrap .lt .d{font-size:12px;color:var(--ink-2);margin-top:3px}.sw-opt.brandsw:after{content:"marca";position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);font-size:9px;font-weight:700;color:var(--ink-3);letter-spacing:.02em}.swatches.hasbrand{margin-bottom:18px}.savebar{position:-webkit-sticky;position:sticky;bottom:0;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:12px 16px;display:flex;gap:10px}.sheet-scr{position:fixed;inset:0;z-index:60;background:rgba(34,28,24,.42);display:flex;align-items:flex-end}.sheet{background:var(--surface);width:100%;border-radius:24px 24px 0 0;padding:8px 0 18px;max-height:88%;overflow:auto}.grab{width:38px;height:4px;border-radius:2px;background:var(--line-strong);margin:8px auto 10px}.sheet .sh-head{display:flex;align-items:center;gap:13px;padding:4px 18px 12px;border-bottom:1px solid var(--line)}.sheet .sh-head .sq{border:1px solid var(--line);border-radius:var(--r-s);padding:6px;background:#fff;flex:none}.sheet .sh-head .st{flex:1 1;min-width:0}.sheet .sh-head .st .n{font-family:var(--display);font-size:18px;font-weight:600}.sheet .sh-head .st .d{font-size:12px;color:var(--ink-2);margin-top:2px;word-break:break-all}.actrow{display:flex;align-items:center;gap:13px;padding:14px 18px;cursor:pointer;font-size:14.5px;font-weight:600;background:transparent;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left;color:var(--ink);font-family:inherit}.actrow:last-child{border-bottom:0}.actrow:disabled{opacity:.5;cursor:default}.actrow .ai{width:34px;height:34px;border-radius:9px;background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;flex:none}.actrow .ai svg{width:17px;height:17px}.actrow .sub{display:block;font-size:11.5px;font-weight:500;color:var(--ink-2);margin-top:1px}.actrow.danger,.actrow.danger .ai{color:var(--danger)}.actrow.danger .ai{background:var(--danger-soft)}.sheet-note{display:flex;gap:9px;align-items:flex-start;margin:12px 18px 4px;background:var(--surface-2);border-radius:var(--r-m);padding:11px 12px;font-size:12px;color:var(--ink-2);line-height:1.45}.sheet-note svg{width:14px;height:14px;flex:none;margin-top:1px;color:var(--ink-3)}.dialog-scr{position:fixed;inset:0;z-index:60;background:rgba(34,28,24,.42);display:grid;place-items:center;padding:24px}.dialog{background:var(--surface);border-radius:var(--r-l);padding:22px;box-shadow:var(--shadow-2);text-align:center;width:100%;max-width:420px}.dialog .di{width:48px;height:48px;border-radius:14px;background:var(--danger-soft);color:var(--danger);display:grid;place-items:center;margin:0 auto 13px}.dialog .di svg{width:23px;height:23px}.dialog h3{font-family:var(--display);font-size:19px;font-weight:600}.dialog p{font-size:13.5px;color:var(--ink-2);margin:8px 0 18px;line-height:1.5}.dialog .row{display:flex;gap:10px}.empty .ic{width:60px;height:60px;border-radius:18px;background:var(--surface-2);color:var(--ink-3);display:grid;place-items:center;margin:0 auto 15px}.empty .ic svg{width:28px;height:28px}.empty p{font-size:13px;color:var(--ink-2);margin:8px auto 18px;line-height:1.55;max-width:250px}:root{--bill:#c2591c;--bill-soft:#fceadd;--bill-border:#f0cbac;--bill-ink:#8a3d10}.bstat{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;border-radius:var(--r-pill);padding:3px 10px}.bstat .d{width:7px;height:7px;border-radius:50%}.bstat.ok{background:var(--p-secondaryContainer,var(--ok-soft));color:var(--p-onSecondaryContainer,var(--ok))}.bstat.ok .d{background:var(--p-onSecondaryContainer,var(--ok))}.bstat.pending{background:var(--p-tertiaryContainer,var(--bill-soft));color:var(--p-onTertiaryContainer,var(--bill-ink))}.bstat.pending .d{background:var(--p-onTertiaryContainer,var(--bill))}.bstat.grace{background:var(--p-tertDark,var(--bill));color:#fff}.bstat.grace .d{background:#fff}.bstat.due{background:var(--p-errorContainer,var(--danger-soft));color:var(--p-onErrorContainer,var(--danger))}.bstat.due .d{background:var(--p-onErrorContainer,var(--danger))}.bnotice{display:flex;gap:11px;align-items:flex-start;background:var(--bill-soft);border:1px solid var(--bill-border);border-radius:var(--r-m);padding:12px 13px;margin:2px 0 4px}.bnotice .bi{color:var(--bill);flex:none;margin-top:1px}.bnotice .bi svg{width:18px;height:18px;display:block}.bnotice .bt{flex:1 1;font-size:12.5px;color:var(--bill-ink);line-height:1.45}.bnotice .bt b{font-weight:700}.bnotice .ba{font:inherit;font-size:12.5px;font-weight:700;color:#fff;background:var(--bill);border:0;border-radius:var(--r-pill);padding:8px 13px;cursor:pointer;white-space:nowrap;flex:none;align-self:center}.blockbar{display:flex;gap:12px;align-items:flex-start;background:var(--bill-soft);border:1px solid var(--bill-border);border-left:4px solid var(--bill);border-radius:var(--r-m);padding:13px 14px;margin-bottom:16px}.blockbar .bi{color:var(--bill);flex:none;margin-top:1px}.blockbar .bi svg{width:20px;height:20px;display:block}.blockbar .bx{flex:1 1;min-width:0}.blockbar .bx .bh{font-weight:700;font-size:13.5px;color:var(--bill-ink)}.blockbar .bx .bd{font-size:12px;color:var(--bill-ink);opacity:.9;line-height:1.5;margin-top:3px}.blockbar .bx .bd b{font-weight:700}.blockbar .bx .btn{margin-top:11px}.btn.bill{background:var(--bill);color:#fff;border-color:var(--bill)}.lockwrap{position:relative;display:inline-flex}.tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:11.5px;font-weight:600;padding:7px 10px;border-radius:8px;white-space:nowrap;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:opacity .12s}.lockwrap:focus-within .tip,.lockwrap:hover .tip{opacity:1}.tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--ink)}.lockicon{font-size:13px;width:1em;height:1em;margin-left:2px;display:inline-flex;vertical-align:-2px}:root{--imp:#7c2d8c;--imp-ink:#fff}.imperbar{position:-webkit-sticky;position:sticky;top:0;z-index:80;background:var(--imp);color:#fff;padding:10px 22px;display:flex;align-items:center;gap:12px;flex:none}.imperbar .pulse{width:8px;height:8px;border-radius:50%;background:#fff;animation:imperbar-pulse 1.6s infinite;flex:none}@keyframes imperbar-pulse{0%,to{opacity:1}50%{opacity:.35}}.imperbar .it{font-size:13px;font-weight:700;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imperbar .it b{font-weight:800}.imperbar .isub{font-size:11.5px;opacity:.85;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.imperbar .sp{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none}.imperbar .mode{font-size:11px;font-weight:700;background:#ffffff26;border-radius:var(--r-pill);padding:4px 10px}.imperbar button{background:#fff;color:var(--imp-ink);border:0;border-radius:var(--r-pill);padding:8px 14px;font:inherit;font-weight:700;font-size:12.5px;cursor:pointer}.op-app{--op:#7c2d8c;--op-soft:#f3e7f6;--op-border:#e2c2ea;--op-ink:#5b1f66;min-height:100vh;display:flex;background:var(--bg)}.op-app .sidebar{width:216px;background:var(--ink);color:#fff;flex:none;display:flex;flex-direction:column;padding:18px 12px}.op-app .sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px;border-bottom:1px solid #ffffff1a;margin-bottom:14px}.op-app .sidebar .brand .bm{width:30px;height:30px;border-radius:8px;background:var(--op);display:grid;place-items:center;font-family:var(--display);font-weight:600;flex:none;color:#fff}.op-app .sidebar .brand .bt{font-weight:700;font-size:13px;line-height:1.2}.op-app .sidebar .brand .bt small{display:block;font-weight:500;font-size:10.5px;opacity:.6}.op-app .navi{display:flex;flex-direction:column;gap:2px}.op-app .navi a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#ffffffb0;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.op-app .navi a svg{width:16px;height:16px;flex:none}.op-app .navi a.on{background:#ffffff14;color:#fff}.op-app .sidebar .opid{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding:10px 8px;border-top:1px solid #ffffff1a}.op-app .sidebar .opid .av{width:28px;height:28px;border-radius:8px;background:#ffffff1a;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}.op-app .sidebar .opid .n{font-size:12px;font-weight:600}.op-app .sidebar .opid .r{font-size:10.5px;color:#ffffff70}.op-app .sidebar .opid-logout{width:100%;background:#ffffff14;border:1px solid #ffffff26;color:#fff;border-radius:8px;padding:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.op-app .sidebar .opid-logout:hover{background:#ffffff22}.op-app .main{flex:1 1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.op-app .op-topbar{height:56px;flex:none;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:14px;background:var(--surface)}.op-app .op-topbar h1{font-family:var(--display);font-size:18px;font-weight:600}.op-app .op-topbar .tsub{font-size:12px;color:var(--ink-2)}.op-app .op-topbar .sp{margin-left:auto;display:flex;align-items:center;gap:10px}.op-app .op-body{flex:1 1;overflow:auto;padding:22px}.op-app .authshell{flex:1 1;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1b1420,#241a2c 60%,var(--op) 220%)}.op-app .authcard{width:380px;background:var(--surface);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:32px}.op-app .authcard .am{width:44px;height:44px;border-radius:12px;background:var(--op);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:600;margin-bottom:16px}.op-app .authcard h2{font-family:var(--display);font-size:21px;font-weight:600}.op-app .authcard .as{font-size:12.5px;color:var(--ink-2);margin-top:6px;line-height:1.5}.op-app .fl{margin:16px 0 0}.op-app .fl label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:var(--ink)}.op-app .fl input,.op-app .fl select{width:100%;font:inherit;font-size:14px;padding:11px 13px;border:1.5px solid var(--line-strong);border-radius:var(--r-s);background:var(--surface);color:var(--ink)}.op-app .fl input:focus{outline:none;border-color:var(--op);box-shadow:0 0 0 4px var(--op-soft)}.op-app .mfabox{display:flex;gap:8px;margin-top:16px}.op-app .mfabox input{width:42px;height:48px;text-align:center;font-family:var(--mono);font-size:18px;border:1.5px solid var(--line-strong);border-radius:var(--r-s)}.op-app .abtn{width:100%;margin-top:18px;background:var(--op);color:#fff;border:0;border-radius:var(--r-s);padding:12px;font:inherit;font-weight:700;font-size:14px;cursor:pointer}.op-app .abtn:disabled{opacity:.5;cursor:default}.op-app .audom{font-size:11.5px;color:var(--ink-3);text-align:center;margin-top:14px;font-family:var(--mono)}.op-app .err{color:var(--danger);font-size:12px;margin-top:8px}.op-app .toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.op-app .searchbox{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-s);padding:0 12px;height:38px;min-width:240px}.op-app .searchbox svg{width:15px;height:15px;color:var(--ink-3);flex:none}.op-app .searchbox input{border:0;outline:none;font:inherit;font-size:13px;background:transparent;flex:1 1}.op-app .op-btn{font:inherit;font-weight:700;font-size:13px;border-radius:var(--r-s);padding:9px 14px;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;gap:7px;height:38px}.op-app .op-btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.op-app .op-btn.op{background:var(--op);color:#fff;border-color:var(--op)}.op-app .op-btn.danger{color:var(--danger);border-color:#f0c7cc}.op-app .op-btn:disabled{opacity:.5;cursor:default}.op-app .tbl{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--shadow-1)}.op-app .tbl table{width:100%;border-collapse:collapse;font-size:13px}.op-app .tbl th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:700;padding:10px 14px;background:var(--surface-2);white-space:nowrap}.op-app .tbl td,.op-app .tbl th{border-bottom:1px solid var(--line)}.op-app .tbl td{padding:11px 14px;vertical-align:middle}.op-app .tbl tr:last-child td{border-bottom:0}.op-app .tbl tr.rowlink{cursor:pointer}.op-app .tbl tr.rowlink:hover{background:var(--surface-2)}.op-app .tname{font-weight:700}.op-app .tsub{font-size:11.5px;color:var(--ink-2)}.op-app .op-mono{font-family:var(--mono);font-size:12px;color:var(--ink-2)}.op-app .op-badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;border-radius:var(--r-pill);padding:3px 9px}.op-app .op-badge .d{width:6px;height:6px;border-radius:50%}.op-app .op-badge.ok{background:var(--ok-soft);color:var(--ok)}.op-app .op-badge.ok .d{background:var(--ok)}.op-app .op-badge.warn{background:var(--warn-soft);color:var(--warn)}.op-app .op-badge.warn .d{background:var(--warn)}.op-app .op-badge.danger{background:var(--danger-soft);color:var(--danger)}.op-app .op-badge.danger .d{background:var(--danger)}.op-app .op-badge.mut{background:var(--surface-2);color:var(--ink-2)}.op-app .op-badge.mut .d{background:var(--ink-3)}.op-app .op-badge.plan{background:var(--brand-soft);color:var(--brand)}.op-app .op-iconbtn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}.op-app .op-iconbtn.danger{color:var(--danger);border-color:#f0c7cc}.op-app .op-iconbtn svg{width:14px;height:14px}.op-app .kpirow{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.op-app .kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:15px;box-shadow:var(--shadow-1)}.op-app .kpi.sel{border-color:var(--brand);border-width:2px;background:var(--brand-tint)}.op-app .kpi .k{font-size:11px;color:var(--ink-2);font-weight:600}.op-app .kpi .v{font-family:var(--display);font-size:26px;font-weight:600;margin-top:4px}.op-app .kpi .t{font-size:11px;color:var(--ok);margin-top:3px;font-weight:600}.op-app .kpi .t.neg{color:var(--danger)}.op-app .dcols{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:18px;gap:18px;align-items:start}.op-app .dcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-1);margin-bottom:14px}.op-app .dcard h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700;padding:13px 15px;border-bottom:1px solid var(--line)}.op-app .dcard .b{padding:14px 15px}.op-app .kv{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line)}.op-app .kv:last-child{border-bottom:0}.op-app .kv .k{color:var(--ink-2)}.op-app .kv .v{font-weight:600}.op-app .actlist{display:flex;flex-direction:column;gap:8px;padding:14px 15px}.op-app .actlist .op-btn{width:100%;justify-content:flex-start}.op-app .dhead{display:flex;align-items:center;gap:14px;margin-bottom:18px}.op-app .dhead .av{width:46px;height:46px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:20px;flex:none}.op-app .dhead .av,.op-app .dhead .dn{font-family:var(--display);font-weight:600}.op-app .dhead .dn{font-size:22px}.op-app .dhead .dm{font-size:12px;color:var(--ink-2);margin-top:2px;display:flex;gap:8px;align-items:center}.op-app .confirmbox{max-width:460px;margin:60px auto;background:var(--surface);border:1px solid var(--op-border);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:26px}.op-app .confirmbox .ic{width:46px;height:46px;border-radius:13px;background:var(--op-soft);color:var(--op);display:grid;place-items:center;margin-bottom:14px}.op-app .confirmbox h2{font-family:var(--display);font-size:19px;font-weight:600}.op-app .confirmbox p{font-size:13px;color:var(--ink-2);margin:8px 0 16px;line-height:1.55}.op-app .confirmbox .tgt{display:flex;align-items:center;gap:11px;background:var(--surface-2);border-radius:var(--r-m);padding:12px 14px;margin-bottom:16px}.op-app .confirmbox .tgt .av{width:36px;height:36px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:600;flex:none}.op-app .confirmbox .tgt .n{font-weight:700;font-size:14px}.op-app .confirmbox .tgt .i{font-size:11px;color:var(--ink-2);font-family:var(--mono)}.op-app .seg2{display:flex;background:var(--surface-2);border-radius:var(--r-s);padding:3px;margin-bottom:14px}.op-app .seg2 button{flex:1 1;font:inherit;font-size:12.5px;font-weight:700;border:0;background:transparent;color:var(--ink-2);border-radius:6px;padding:9px;cursor:pointer}.op-app .seg2 button.on{color:var(--op)}.op-app .plancard,.op-app .seg2 button.on{background:var(--surface);box-shadow:var(--shadow-1)}.op-app .plancard{border:1px solid var(--line);border-radius:var(--r-m);padding:16px;margin-bottom:12px}.op-app .plancard .ph{display:flex;align-items:center;gap:10px;margin-bottom:12px}.op-app .plancard .pn{font-family:var(--display);font-size:16px;font-weight:600;flex:1 1}.op-app .plgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.op-app .plgrid .fl{margin:0}.op-app .plgrid label{font-size:10.5px;color:var(--ink-2);font-weight:700;margin-bottom:4px;display:block}.op-app .plgrid input{width:100%;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:7px}.op-app .warnbox{display:flex;gap:9px;background:var(--warn-soft);border:1px solid #f0d8a8;border-radius:var(--r-s);padding:10px 12px;margin-top:12px;font-size:12px;color:#6b4a12;line-height:1.5}.op-app .warnbox svg{width:15px;height:15px;color:var(--warn);flex:none;margin-top:1px}.op-app .actionpill{font-family:var(--mono);font-size:11px;background:var(--surface-2);border-radius:6px;padding:2px 7px}.installhint{position:relative;display:flex;gap:12px;align-items:flex-start;background:var(--brand-tint);border:1px solid var(--line);border-radius:var(--r-m);padding:14px 40px 14px 14px;margin-bottom:16px;box-shadow:var(--shadow-1)}.installhint.ih-in{animation:ih-slidein .25s ease}@keyframes ih-slidein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.installhint .appicon{width:42px;height:42px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:19px;font-weight:600;flex:none;box-shadow:var(--shadow-1)}.installhint .ih-body{flex:1 1;min-width:0}.installhint .ih-t{font-weight:700;font-size:13.5px;line-height:1.3}.installhint .ih-d{font-size:12px;color:var(--ink-2);margin-top:3px;line-height:1.45}.installhint .ih-cta{margin-top:10px;display:inline-flex;align-items:center;gap:7px;background:var(--brand);color:#fff;border:0;border-radius:var(--r-pill);padding:10px 15px;font:inherit;font-weight:700;font-size:12.5px;cursor:pointer}.installhint .ih-cta .msr{font-size:14px}.installhint .ih-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3);background:transparent;border:0;cursor:pointer}.installhint .ih-close .msr{font-size:16px}.ih-steps{display:flex;flex-direction:column;gap:6px;margin-top:9px}.ih-step{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink)}.ih-step .num{width:18px;height:18px;border-radius:50%;border:1px solid var(--line-strong);place-items:center;font-size:10px;font-weight:700;color:var(--ink-2);flex:none;margin-top:1px}.ih-step .num,.ih-step .shareicon{background:var(--surface);display:grid}.ih-step .shareicon{width:20px;height:20px;border-radius:6px;border:1px solid var(--line-strong);place-items:center;flex:none}.ih-step .shareicon .msr{font-size:12px;color:var(--ink-2)}.ih-step .stx{flex:1 1;min-width:0;line-height:1.45;padding-top:1px}.safaribar{position:relative;margin-top:34px;background:#f1f1f3;border:1px solid var(--line);border-radius:14px;padding:10px 16px;display:flex;align-items:center;justify-content:space-around}.safaribar .sb-ic{width:22px;height:22px;color:var(--ink-3)}.safaribar .sb-ic.hl{color:var(--brand)}.safaribar .callout{top:-24px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:600;padding:5px 9px;border-radius:7px;white-space:nowrap}.safaribar .callout,.safaribar .callout:after{position:absolute;left:50%;transform:translateX(-50%)}.safaribar .callout:after{content:"";top:100%;border:5px solid transparent;border-top:5px solid var(--ink)}.tnode .swatch{width:30px;height:30px;border-radius:8px;flex:none;background-size:cover;background-position:50%;background-color:var(--surface-2)}.tnode .tt-sub{font-size:11.5px;color:var(--ink-2);font-weight:500;margin-top:2px}.toggle.sm{width:44px;height:26px}.toggle.sm:after{width:20px;height:20px}.toggle.sm.on:after{left:21px}.subhead{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:700;margin:22px 0 10px}.subhead:first-of-type{margin-top:0}@keyframes trspin{to{transform:rotate(1turn)}}.m3-spin{font-size:16px!important;line-height:1;color:currentColor;margin-right:8px}.m3-spin,.m3-spin-lg{display:inline-block;animation:trspin .8s linear infinite}.m3-spin-lg{font-size:32px!important;color:var(--p-primary,var(--brand))}.m3-loading-row{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 0;color:var(--ink-2)}.btn-content{display:inline-flex;align-items:center}.brand-gallery{margin-top:8px;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);background:var(--surface)}.brand-gallery .topbar-a{position:static;transform:none;max-width:none;padding:14px 12px}.brand-gallery .topbar-a+.brand-gallery-item,.brand-gallery>div{padding-top:0}.brand-gallery-item{margin-bottom:18px}.brand-gallery-item:last-child{margin-bottom:16px}.brand-gallery-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:8px}.colorrow{display:flex;align-items:center;gap:12px}.colorswatch{position:relative;width:52px;height:52px;border-radius:var(--m3-shape-m);flex:none;box-shadow:var(--shadow-1);border:1px solid var(--line);overflow:hidden}.colorswatch input[type=color]{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);border:0;padding:0;cursor:pointer}.colorinfo{flex:1 1;min-width:0}.colorhex{font-family:monospace;font-weight:600;font-size:13px}.colorname{font-size:11.5px;color:var(--ink-2);margin-top:2px}.presetrow{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.preset{position:relative;width:28px;height:28px;border-radius:var(--m3-shape-full);cursor:pointer;border:2px solid transparent;flex:none;padding:0}.preset.sel{border-color:var(--ink)}.preset.sel:before{content:"check";font-family:Material Symbols Rounded;font-size:15px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);position:absolute;inset:0;justify-content:center}.autoswitch,.preset.sel:before{display:flex;align-items:center}.autoswitch{gap:10px;background:var(--surface-2);border-radius:var(--r-m);padding:11px 12px;margin-bottom:12px}.autoswitch .as-t{flex:1 1;font-size:12.5px;font-weight:600}.autoswitch .as-d{font-size:11px;color:var(--ink-2);margin-top:2px;font-weight:500}.typecard.sel .ck{border-color:var(--brand);background:var(--brand)}.typecard.sel .ck svg{display:block}.typecard .ck svg{display:none;width:11px;height:11px;color:#fff}.msr{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;width:1em;height:1em;overflow:hidden;flex:none}.msr.fill{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.avatar-picker{position:relative;display:block;cursor:pointer;flex:none}.avatar-mask{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--surface-2);border:1px solid var(--line)}.avatar-mask img{width:100%;height:100%;object-fit:cover}.edit-badge{position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface);box-shadow:var(--shadow-1)}.warnbox{display:flex;gap:9px;background:var(--warn-soft);border:1px solid #f0d8a8;border-radius:var(--r-s);padding:12px 14px;margin-top:4px;margin-bottom:18px;font-size:13px;color:#6b4a12;line-height:1.55}.warnbox .msr,.warnbox svg{width:17px;height:17px;color:var(--warn);flex:none;margin-top:1px;font-size:17px}.warnbox.danger{background:var(--danger-soft);border-color:#eeb9bf;color:#7a2430}.warnbox.danger .msr{color:var(--danger)}.warnbox.ok{background:var(--ok-soft);border-color:#b9dcc9;color:#1f5c40}.warnbox.ok .msr{color:var(--ok)}.warnbox a{color:inherit;font-weight:700;text-decoration:underline}.admin-root .btn.primary{background:var(--brand);color:var(--brand-ink);border-color:transparent;box-shadow:var(--shadow-1)}.admin-root .btn.text{background:transparent;border:0;color:var(--brand);width:auto;padding:0 4px;height:auto;font-weight:600;font-size:14px;flex:none}.admin-root .btn-row{display:flex;gap:10px;margin-top:22px}.admin-root .btn-row .btn.back{width:auto;flex:none;padding:0 18px;background:transparent}.scr-title{font-family:var(--display);font-size:26px;font-weight:600;margin-bottom:6px}.scr-sub{color:var(--ink-2);font-size:14px;line-height:1.55;margin-bottom:24px;max-width:38ch}.stepper{margin-bottom:26px}.step,.stepper{display:flex;align-items:center}.step{gap:8px}.step .dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:600;font-size:12.5px;border:1.5px solid var(--line-strong);color:var(--ink-2);flex:none}.step.done .dot{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.step.current .dot{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.step .lbl{font-size:12px;color:var(--ink-2);font-weight:500}.step.current .lbl{color:var(--ink);font-weight:600}.step-line{flex:1 1;height:1.5px;background:var(--line-strong);margin:0 6px}.step-line.done{background:var(--brand)}.field .slug-preview{font-size:12.5px;color:var(--ink-2);margin-top:6px;font-family:monospace}.plan-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.plan-card{border:1.5px solid var(--line-strong);border-radius:var(--r-l);padding:18px;cursor:pointer;position:relative;background:var(--surface)}.plan-card.sel{border-color:var(--brand);border-width:2px;background:var(--brand-tint);box-shadow:var(--shadow-1)}.plan-card .top{display:flex;justify-content:space-between;align-items:baseline}.plan-card .name,.plan-card .price{font-family:var(--display);font-size:19px;font-weight:600}.plan-card .price span{font-size:12px;font-weight:500;color:var(--ink-2);font-family:var(--sans)}.plan-card .desc{font-size:12.5px;color:var(--ink-2);margin-top:4px}.plan-card .radio{position:absolute;top:16px;right:16px;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center}.plan-card.sel .radio{border-color:var(--brand);background:var(--brand);color:#fff}.plan-card.sel .radio .msr{font-size:14px}.plan-card.featured:before{content:attr(data-badge);position:absolute;top:-11px;left:16px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;padding:3px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}.center-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:20px}.center-wrap .mark{width:64px;height:64px;border-radius:18px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;margin-bottom:20px}.center-wrap .mark .msr{font-size:30px}.center-wrap .mark.ok{background:var(--ok)}.center-wrap .mark.err{background:var(--danger)}.center-wrap .btn{width:100%;flex:none}.verify-status{display:flex;align-items:center;gap:10px;background:var(--surface-2);border-radius:var(--r-m);padding:12px 14px;margin:18px 0;font-size:13px;text-align:left}.verify-status .msr{color:var(--brand);font-size:18px}.onb-tip{display:flex;gap:10px;background:var(--brand-tint);border:1px solid var(--brand-soft);border-radius:var(--r-m);padding:12px 14px;margin-top:16px;font-size:12.5px}.onb-tip .msr{color:var(--brand);font-size:16px;flex:none}.draft-pill{display:inline-flex;align-items:center;gap:5px;background:var(--warn-soft);color:#6b4a12;font-size:11px;font-weight:700;padding:4px 10px;border-radius:100px;margin-bottom:14px}