:root{color-scheme:light;--p-lagoon-050:#E8F6F9;--p-lagoon-500:#0E7490;--p-lagoon-600:#0B5C73;--p-lagoon-800:#0E5E78;--p-lagoon-900:#0B3954;--p-ink-900:#10283F;--p-ink-600:#51637A;--p-ink-400:#7A8AA0;--p-paper-000:#FFFFFF;--p-paper-025:#FBFCFE;--p-paper-050:#F4F6F8;--p-paper-100:#EEF1F5;--p-paper-150:#E8EDF3;--p-paper-200:#DCE3EB;--p-sand:#F3E8D2;--p-sun-500:#F59E0B;--p-sun-700:#B45309;--p-coral:#E76F51;--p-ok-500:#15937E;--p-ok-050:#E7F6F2;--p-warn-500:#E9C46A;--p-err-500:#D62839;--p-err-050:#FDEDEE;--c-primary:var(--p-lagoon-500);--c-primary-600:var(--p-lagoon-600);--c-primary-050:var(--p-lagoon-050);--c-on-primary:#FFFFFF;--c-ink:var(--p-ink-900);--c-ink-soft:var(--p-ink-600);--c-ink-faint:var(--p-ink-400);--c-foam:var(--p-paper-050);--c-card:var(--p-paper-000);--c-surface-2:var(--p-paper-025);--c-surface-3:var(--p-paper-150);--c-hover:#F5F9FC;--c-border:var(--p-paper-200);--c-border-soft:var(--p-paper-100);--c-veil:rgba(255,255,255,var(--ui-alpha));--c-scrim:rgba(8,24,42,.52);--c-sand:var(--p-sand);--c-sun:var(--p-sun-500);--c-sun-deep:var(--p-sun-700);--c-coral:var(--p-coral);--c-ok:var(--p-ok-500);--c-ok-050:var(--p-ok-050);--c-warn:var(--p-warn-500);--c-err:var(--p-err-500);--c-err-050:var(--p-err-050);--c-chrome:linear-gradient(120deg,var(--p-lagoon-900) 0%,var(--p-lagoon-800) 55%,var(--c-primary) 100%);--focus-ring:2px;--shadow-1:0 1px 2px rgba(16,40,63,.05), 0 1px 6px rgba(16,40,63,.06);--shadow-2:0 4px 14px rgba(16,40,63,.1);--shadow-3:0 12px 34px rgba(16,40,63,.16);--shadow: var(--shadow-1);--r:12px;--r-sm:9px;--r-lg:18px;--ease:cubic-bezier(.2,.8,.3,1);--t-fast:.14s;--t-med:.26s;--ui-alpha:.92;--navbar-h:16.6667dvh;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-serif:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--font-brand:var(--font-sans);--fs-xs:clamp(.7rem,.68rem + .1vw,.78rem);--fs-sm:clamp(.82rem,.79rem + .13vw,.9rem);--fs-md:clamp(.94rem,.91rem + .15vw,1.02rem);--fs-lg:clamp(1.12rem,1.05rem + .32vw,1.35rem);--fs-xl:clamp(1.45rem,1.3rem + .7vw,2rem);font-family:var(--font-brand);font-size:var(--fs-md)}:root[data-theme=dark]{color-scheme:dark;--c-primary:#22A5C4;--c-primary-600:#41BBD8;--c-primary-050:#0C2E3A;--c-on-primary:#04222B;--c-ink:#E8EEF5;--c-ink-soft:#A7B6C7;--c-ink-faint:#7E8FA3;--c-foam:#0B1620;--c-card:#132330;--c-surface-2:#0F1C27;--c-surface-3:#1B2C3A;--c-hover:#1A2B39;--c-border:#25394A;--c-border-soft:#1C2C3A;--c-veil:rgba(19,35,48,var(--ui-alpha));--c-scrim:rgba(0,0,0,.62);--c-ok-050:#0D2C28;--c-err-050:#3A1518;--shadow-1:0 1px 2px rgba(0,0,0,.35), 0 1px 6px rgba(0,0,0,.28);--shadow-2:0 4px 14px rgba(0,0,0,.42);--shadow-3:0 12px 34px rgba(0,0,0,.55)}:root[data-theme=sun]{color-scheme:light;--c-primary:#005A73;--c-primary-600:#004356;--c-primary-050:#DCF0F6;--c-ink:#000000;--c-ink-soft:#2B3B4C;--c-ink-faint:#3D4E60;--c-foam:#FFFFFF;--c-card:#FFFFFF;--c-surface-2:#FFFFFF;--c-surface-3:#E3E9EF;--c-hover:#EDF3F8;--c-border:#5A6B7C;--c-border-soft:#8A99A8;--c-sun-deep:#7A3A00;--c-err:#B3001B;--focus-ring:3px;--shadow-1:none;--shadow-2:none;--shadow-3:0 4px 12px rgba(0,0,0,.25)}:root[data-theme=sunset]{color-scheme:light;--c-primary:#C2410C;--c-primary-600:#9A3412;--c-primary-050:#FFF1E7;--c-on-primary:#FFFFFF;--c-ink:#3B2416;--c-ink-soft:#7C5A45;--c-ink-faint:#A5836C;--c-foam:#FFF7F0;--c-card:#FFFFFF;--c-surface-2:#FFFBF7;--c-surface-3:#F6E3D5;--c-hover:#FDF0E6;--c-border:#EBD3C1;--c-border-soft:#F5E4D8;--c-veil:rgba(255,247,240,var(--ui-alpha));--c-scrim:rgba(59,36,22,.55);--c-sand:#F7E2CB;--c-sun:#F59E0B;--c-sun-deep:#B45309;--c-coral:#E25822;--c-chrome:linear-gradient(120deg,#7C2D12 0%,#B3400F 55%,#EA580C 100%)}:root[data-theme=forest]{color-scheme:light;--c-primary:#2F6F4E;--c-primary-600:#22543A;--c-primary-050:#E6F2EB;--c-on-primary:#FFFFFF;--c-ink:#16281F;--c-ink-soft:#4A6455;--c-ink-faint:#7A917F;--c-foam:#F3F8F4;--c-card:#FFFFFF;--c-surface-2:#FAFCFA;--c-surface-3:#E1EDE5;--c-hover:#EDF6F0;--c-border:#CFE0D5;--c-border-soft:#E4EFE8;--c-veil:rgba(243,248,244,var(--ui-alpha));--c-scrim:rgba(22,40,31,.55);--c-sand:#E7E4CE;--c-sun:#D9A404;--c-sun-deep:#8A6A00;--c-coral:#C4622D;--c-chrome:linear-gradient(120deg,#14351F 0%,#1F5537 55%,#2F6F4E 100%)}:root[data-theme=sand]{color-scheme:light;--c-primary:#8A6A45;--c-primary-600:#6B5133;--c-primary-050:#F6EEE2;--c-on-primary:#FFFFFF;--c-ink:#2E2419;--c-ink-soft:#6B5B48;--c-ink-faint:#9A8A75;--c-foam:#F7F1E6;--c-card:#FFFDF8;--c-surface-2:#FBF6EC;--c-surface-3:#EADCC6;--c-hover:#F2E9D9;--c-border:#DFCEB4;--c-border-soft:#EEE3D1;--c-veil:rgba(247,241,230,var(--ui-alpha));--c-scrim:rgba(46,36,25,.52);--c-sand:#EBD9BC;--c-sun:#E0A526;--c-sun-deep:#96650C;--c-coral:#C9714B;--c-chrome:linear-gradient(120deg,#4A3721 0%,#6B5133 55%,#8A6A45 100%)}:root[data-theme=midnight]{color-scheme:dark;--c-primary:#7C8CF8;--c-primary-600:#9AA7FB;--c-primary-050:#1B2050;--c-on-primary:#0A0E2A;--c-ink:#E7EAFB;--c-ink-soft:#A6ADD6;--c-ink-faint:#7A82AE;--c-foam:#080B1E;--c-card:#121737;--c-surface-2:#0D1128;--c-surface-3:#1C2350;--c-hover:#1A2049;--c-border:#272F63;--c-border-soft:#1B2148;--c-veil:rgba(18,23,55,var(--ui-alpha));--c-scrim:rgba(0,0,0,.66);--c-sand:#2A2F5E;--c-sun:#FFC857;--c-sun-deep:#C08A1E;--c-coral:#FF7B72;--c-ok-050:#102E2A;--c-err-050:#3A1520;--c-chrome:linear-gradient(120deg,#0A0E2A 0%,#1B2461 55%,#3B4CCA 100%);--shadow-1:0 1px 2px rgba(0,0,0,.38), 0 1px 6px rgba(0,0,0,.3);--shadow-2:0 4px 14px rgba(0,0,0,.46);--shadow-3:0 12px 34px rgba(0,0,0,.6)}.native-organization-setup{min-height:100dvh;display:grid;place-items:center;padding:max(2rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));background:linear-gradient(145deg,transparent 0 64%,color-mix(in srgb,var(--c-primary-050) 74%,transparent) 64%),var(--c-foam)}.native-organization-setup>div{width:min(100%,28rem)}.native-organization-setup .eyebrow{color:var(--c-primary);font-size:var(--fs-sm);font-weight:800;text-transform:uppercase}.environment-badge{display:inline-flex;margin-left:.65rem;padding:.2rem .4rem;border:1px solid var(--c-sun-deep);border-radius:4px;color:var(--c-sun-deep);font-size:var(--fs-xs);font-weight:800}.native-organization-setup h1{margin:.45rem 0 .6rem;font-size:var(--fs-xl)}.native-organization-setup p{margin:0 0 1.5rem;color:var(--c-ink-soft)}.native-organization-setup form{display:grid;gap:.75rem}.native-organization-setup input,.native-organization-setup button{min-height:3rem}.staff-invite-section{align-items:start}.staff-qr{display:grid;justify-items:center;gap:.45rem;width:min(100%,19rem);padding:.75rem;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-sm);color:#10283f}.staff-qr img{display:block;width:min(100%,18rem);aspect-ratio:1}:root[data-theme=coral]{color-scheme:light;--c-primary:#D6336C;--c-primary-600:#A61E4D;--c-primary-050:#FFE9F0;--c-on-primary:#FFFFFF;--c-ink:#3A1626;--c-ink-soft:#7B4A5E;--c-ink-faint:#A87C8D;--c-foam:#FFF5F8;--c-card:#FFFFFF;--c-surface-2:#FFFAFC;--c-surface-3:#FADCE6;--c-hover:#FFEDF3;--c-border:#F3CBD9;--c-border-soft:#FAE0E9;--c-veil:rgba(255,245,248,var(--ui-alpha));--c-scrim:rgba(58,22,38,.55);--c-sand:#FBE3D5;--c-sun:#F59E0B;--c-sun-deep:#B45309;--c-coral:#FF6B6B;--c-chrome:linear-gradient(120deg,#7A1035 0%,#A61E4D 55%,#D6336C 100%)}:root[data-theme=lavender]{color-scheme:light;--c-primary:#7C5CBF;--c-primary-600:#5F4499;--c-primary-050:#F0EAFB;--c-on-primary:#FFFFFF;--c-ink:#241B38;--c-ink-soft:#5B4E76;--c-ink-faint:#8C82A6;--c-foam:#F8F6FD;--c-card:#FFFFFF;--c-surface-2:#FCFBFE;--c-surface-3:#E7E0F6;--c-hover:#F2EDFC;--c-border:#DAD1EE;--c-border-soft:#EBE5F8;--c-veil:rgba(248,246,253,var(--ui-alpha));--c-scrim:rgba(36,27,56,.55);--c-sand:#EDE6F7;--c-sun:#E8A33D;--c-sun-deep:#9C6510;--c-coral:#D96BA0;--c-chrome:linear-gradient(120deg,#33245C 0%,#5F4499 55%,#7C5CBF 100%)}:root[data-theme=mono]{color-scheme:light;--c-primary:#3F3F46;--c-primary-600:#27272A;--c-primary-050:#ECECEE;--c-on-primary:#FFFFFF;--c-ink:#18181B;--c-ink-soft:#52525B;--c-ink-faint:#8A8A93;--c-foam:#F4F4F5;--c-card:#FFFFFF;--c-surface-2:#FAFAFA;--c-surface-3:#E4E4E7;--c-hover:#EFEFF1;--c-border:#D4D4D8;--c-border-soft:#E7E7EA;--c-veil:rgba(244,244,245,var(--ui-alpha));--c-scrim:rgba(24,24,27,.55);--c-sand:#E4E4E7;--c-sun:#A1A1AA;--c-sun-deep:#52525B;--c-coral:#71717A;--c-chrome:linear-gradient(120deg,#18181B 0%,#3F3F46 55%,#52525B 100%)}:root[data-theme=neon]{color-scheme:dark;--c-primary:#00E5A0;--c-primary-600:#4DF3C0;--c-primary-050:#06322A;--c-on-primary:#00241B;--c-ink:#E6FFF7;--c-ink-soft:#96C7BA;--c-ink-faint:#6A9B8F;--c-foam:#05100E;--c-card:#0C1D1A;--c-surface-2:#081613;--c-surface-3:#123029;--c-hover:#102A25;--c-border:#1B4038;--c-border-soft:#122E28;--c-veil:rgba(12,29,26,var(--ui-alpha));--c-scrim:rgba(0,0,0,.68);--c-sand:#14332C;--c-sun:#FFE066;--c-sun-deep:#C9A227;--c-coral:#FF4D9D;--c-ok-050:#06322A;--c-err-050:#3A1220;--c-chrome:linear-gradient(120deg,#04120F 0%,#06463A 55%,#00E5A0 100%);--shadow-1:0 1px 2px rgba(0,0,0,.4), 0 1px 6px rgba(0,0,0,.32);--shadow-2:0 4px 14px rgba(0,0,0,.48);--shadow-3:0 12px 34px rgba(0,0,0,.62)}@media (orientation:landscape){:root{--navbar-h:0px;--sidebar-w:clamp(76px,9vw,116px)}}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--c-primary:#22A5C4;--c-primary-600:#41BBD8;--c-primary-050:#0C2E3A;--c-on-primary:#04222B;--c-ink:#E8EEF5;--c-ink-soft:#A7B6C7;--c-ink-faint:#7E8FA3;--c-foam:#0B1620;--c-card:#132330;--c-surface-2:#0F1C27;--c-surface-3:#1B2C3A;--c-hover:#1A2B39;--c-border:#25394A;--c-border-soft:#1C2C3A;--c-veil:rgba(19,35,48,var(--ui-alpha));--c-scrim:rgba(0,0,0,.62);--c-ok-050:#0D2C28;--c-err-050:#3A1518}}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--c-foam);color:var(--c-ink)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button{font:inherit;cursor:pointer;border-radius:var(--r-sm);border:1px solid var(--c-border);background:var(--c-card);color:var(--c-ink);padding:.55rem .95rem;min-height:44px;font-weight:600;transition:filter var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}button:hover{filter:brightness(.985);box-shadow:var(--shadow-1)}button:active{transform:scale(.985)}button:focus-visible{outline:var(--focus-ring) solid var(--c-primary);outline-offset:2px}button.primary{background:linear-gradient(180deg,var(--c-primary) 0%,var(--c-primary-600) 100%);color:var(--c-on-primary);border-color:var(--c-primary-600);box-shadow:0 2px 8px #0e749047}button.primary:hover{filter:brightness(1.05)}button.danger{background:linear-gradient(180deg,#E04553 0%,var(--c-err) 100%);color:#fff;border-color:var(--c-err)}button.success{background:linear-gradient(180deg,#19A78F 0%,var(--c-ok) 100%);color:#fff;border-color:var(--c-ok)}button.warn{background:linear-gradient(180deg,#F6B23B 0%,var(--c-sun) 100%);color:#5a3a04;border-color:#dd9712}button.ghost{background:transparent;border-color:transparent;box-shadow:none}button.ghost:hover{background:#0e749014;box-shadow:none}button.primary:disabled,button.danger:disabled,button.success:disabled,button.warn:disabled,button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}button.btn-sm{min-height:36px;padding:.32rem .65rem;font-size:.88rem}button.btn-lg{min-height:54px;padding:.7rem 1.3rem;font-size:1.05rem;border-radius:var(--r)}input,select,textarea{font:inherit;border:1px solid var(--c-border);border-radius:var(--r-sm);padding:.5rem .65rem;min-height:44px;background:var(--c-card);color:inherit;transition:border-color var(--t-fast),box-shadow var(--t-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #0e74902e}label{font-size:var(--fs-sm)}.card{background:color-mix(in srgb,var(--c-card) calc(var(--ui-alpha) * 100%),transparent);border:1px solid var(--c-border);border-radius:var(--r);padding:1rem;box-shadow:var(--shadow-1)}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:.75rem;min-width:0}.muted{color:var(--c-ink-soft);font-size:.85rem}.error{color:var(--c-err)}.app{display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;min-width:0;max-width:100vw;overflow-x:clip}main{padding:1rem 1rem calc(1rem + var(--navbar-h));max-width:1180px;margin:0 auto;width:100%;min-width:0;animation:page-in var(--t-med) var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}header.topbar{background:var(--c-chrome);color:#fff;padding:.6rem 1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 14px #0b395447;position:sticky;top:0;z-index:30}header.topbar h1{margin:0;font-size:1.02rem;display:flex;align-items:center;gap:.55rem;font-weight:800;letter-spacing:-.01em}header.topbar .brand-glyph{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(140deg,var(--c-sun) 0%,var(--c-coral) 100%);font-size:1rem;box-shadow:0 2px 8px #00000040}header.topbar .chip{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;background:#ffffff29;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:.14rem .6rem;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}header.topbar .userbox{display:flex;align-items:center;gap:.6rem}header.topbar .userbox .uname{font-size:.85rem;opacity:.92}header.topbar button{min-height:34px;padding:.25rem .7rem;font-size:var(--fs-sm);background:#ffffff1f;border-color:#ffffff4d;color:#fff}header.topbar button:hover{background:#ffffff38}header.topbar img.brand-glyph{object-fit:contain;background:#ffffff24}.prefs-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.55rem 1rem;background:var(--c-card);border-bottom:1px solid var(--c-border);position:sticky;top:52px;z-index:29}nav.bottom{display:flex;justify-content:space-evenly;background:var(--c-veil);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--c-border);padding:.35rem .2rem calc(.45rem + env(safe-area-inset-bottom,.35rem));position:sticky;bottom:0;z-index:30;box-shadow:0 -4px 18px #10283f12;overflow-x:auto;scrollbar-width:none}nav.bottom::-webkit-scrollbar{display:none}nav.bottom:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,var(--c-veil));pointer-events:none;opacity:0;transition:opacity var(--t-fast) var(--ease)}nav.bottom:has(>:last-child:hover):after{opacity:1}nav.bottom a,nav.bottom .navitem{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;text-align:center;padding:.45rem .28rem .42rem;min-height:3rem;color:var(--c-ink-soft);text-decoration:none;border-radius:var(--r-sm);font-size:clamp(.68rem,.6rem + .3vw,.82rem);font-weight:700;line-height:1.15;position:relative;max-width:120px;transition:color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);-webkit-tap-highlight-color:transparent}nav.bottom a .navicon,nav.bottom .navitem .navicon{font-size:1.35em;line-height:1;transition:transform var(--t-med) var(--ease);flex-shrink:0}nav.bottom a:hover .navicon{transform:translateY(-2px)}nav.bottom a.active,nav.bottom .navitem.active{color:var(--c-primary-600);background:color-mix(in srgb,var(--c-primary-600) 8%,transparent)}nav.bottom a.active:after,nav.bottom .navitem.active:after{content:"";position:absolute;top:-1px;left:20%;right:20%;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--c-sun),var(--c-coral));animation:nav-pop var(--t-med) var(--ease) both}@keyframes nav-pop{0%{transform:scaleX(.3);opacity:0}to{transform:scaleX(1);opacity:1}}nav.bottom a.active .navicon{transform:translateY(-2px) scale(1.08)}@media (min-width:600px){nav.bottom a,nav.bottom .navitem{max-width:none;padding:.5rem .45rem}}@media (min-width:768px){nav.bottom{justify-content:center;gap:.25rem;padding:.35rem 1.5rem calc(.45rem + env(safe-area-inset-bottom,.35rem))}nav.bottom a,nav.bottom .navitem{max-width:140px;flex:none;padding:.55rem}}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.page-head h2{margin:0;font-size:1.35rem;letter-spacing:-.015em}.page-head .subtitle{color:var(--c-ink-soft);font-size:.9rem;margin-top:.18rem}.card.clickable{cursor:pointer;transition:box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.card.clickable:hover{box-shadow:var(--shadow-2);border-color:var(--c-primary);transform:translateY(-1px)}.card.clickable:active{transform:translateY(0)}.seg{display:inline-flex;background:var(--c-surface-3);border-radius:999px;padding:3px;gap:2px;border:1px solid var(--c-border)}.seg button{border:none;background:transparent;box-shadow:none;border-radius:999px;min-height:38px;padding:.3rem .85rem;font-size:var(--fs-sm);color:var(--c-ink-soft)}.seg button:hover{filter:none;background:var(--c-hover)}.seg button.on{background:var(--c-card);color:var(--c-ink);box-shadow:0 1px 4px #10283f24;font-weight:700}.chip-row{display:flex;gap:.45rem;overflow-x:auto;padding:.15rem .05rem .35rem;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip-row .chip-btn{white-space:nowrap;border-radius:999px;min-height:38px;padding:.3rem .9rem;font-size:var(--fs-sm);background:var(--c-card)}.chip-row .chip-btn.on{background:var(--c-ink);color:var(--c-foam);border-color:var(--c-ink)}.status{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .55rem;border-radius:999px;font-size:.74rem;font-weight:700;line-height:1.4;border:1px solid transparent;white-space:nowrap}.status:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor;opacity:.85}.status.OPEN{background:#e3f0fb;color:#0c5690;border-color:#bcdcf4}.status.CLOSED{background:#e6f6ef;color:#1d7a52;border-color:#b9e6cf}.status.CANCELLED,.status.VOID{background:#f1f1f3;color:#6b7280;border-color:#dcdfe5}.status.NEW{background:#fdf0d6;color:#8a5a05;border-color:#f3dca6}.status.IN_PREP{background:#ffe7d2;color:#9a4a14;border-color:#f7c79c;animation:pulse-soft 2.4s ease-in-out infinite}.status.READY{background:#d7f1ec;color:#0a6f64;border-color:#a9e2d8}.status.DELIVERED{background:#e6f6ef;color:#1d7a52;border-color:#b9e6cf}.status.PENDING{background:#fdecec;color:#b42323;border-color:#f5c4c4}@keyframes pulse-soft{0%,to{box-shadow:0 0 #9a4a1440}50%{box-shadow:0 0 0 4px #9a4a1400}}.stat-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat{display:flex;flex-direction:column;gap:.12rem;border:1px solid var(--c-border);border-radius:var(--r);padding:.68rem .85rem;background:var(--c-card);transition:transform var(--t-fast) var(--ease)}.stat .stat-label{font-size:var(--fs-xs);color:var(--c-ink-soft);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.stat .stat-value{font-size:var(--fs-lg);line-height:1.12;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .stat-hint{font-size:var(--fs-sm);color:var(--c-ink-faint)}.stat.due{background:linear-gradient(180deg,#fff7ef,#fdeede);border-color:#f3d3ad}.stat.due .stat-value{color:#a85a16}.stat.ok{background:linear-gradient(180deg,#f1faf5,#e6f6ef);border-color:#bce6d2}.stat.ok .stat-value{color:#1d7a52}.toast-host{position:fixed;right:1rem;bottom:5.2rem;display:flex;flex-direction:column;gap:.5rem;z-index:90;max-width:min(360px,90vw)}.toast{text-align:left;border:none;border-radius:11px;padding:.7rem .95rem;color:#fff;font-weight:600;font-size:.9rem;box-shadow:var(--shadow-3);cursor:pointer;animation:toast-in .22s var(--ease) both}.toast.success{background:linear-gradient(135deg,#19a78f,#0f7a66)}.toast.error{background:linear-gradient(135deg,#e76f51,#c5341f)}.toast.info{background:linear-gradient(135deg,var(--c-primary),#0B4B61)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--c-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:70;padding:1rem;animation:fade-in var(--t-fast) ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-panel{max-height:92vh;overflow:auto;animation:modal-in var(--t-med) var(--ease) both;border-radius:var(--r-lg)}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}table.table{width:100%;border-collapse:collapse}table.table thead th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--c-ink-soft);border-bottom:2px solid var(--c-border);padding:.5rem .55rem}table.table tbody td{padding:.5rem .55rem;border-bottom:1px solid var(--c-border-soft)}table.table tbody tr{transition:background var(--t-fast)}table.table tbody tr:hover{background:var(--c-hover)}table.table td.num,table.table th.num{text-align:right;font-variant-numeric:tabular-nums}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.kanban .kcol{border-radius:var(--r);padding:.6rem;border:1px solid var(--c-border);background:var(--c-surface-2);min-height:140px}.kanban .kcol.knew{background:linear-gradient(180deg,#fffbf1 0,#fdf6e4);border-color:#f0e1b8}.kanban .kcol.kprep{background:linear-gradient(180deg,#fff6ee 0,#fed);border-color:#f4cfa9}.kanban .kcol.kready{background:linear-gradient(180deg,#f0faf8 0,#e2f4f0);border-color:#b6e2d8}.kanban .col-title{font-weight:800;margin:0 0 .55rem;display:flex;align-items:center;gap:.4rem;font-size:.95rem}.kanban .col-title .count{margin-left:auto;background:var(--c-card);border:1px solid var(--c-border);border-radius:999px;min-width:1.6rem;text-align:center;padding:.05rem .4rem;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.kcard{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm);padding:.6rem .7rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:.4rem;margin-bottom:.55rem;animation:kcard-in var(--t-med) var(--ease) both}@keyframes kcard-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.kcard .ktitle{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.kcard .kqty{font-weight:800;font-size:1.05rem}.kcard .kmeta{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--c-ink-soft)}.kcard .kage{margin-left:auto;font-variant-numeric:tabular-nums}.kcard .kage.hot{color:var(--c-err);font-weight:700}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--c-sand);color:var(--p-ink-900);font-size:var(--fs-xs);font-weight:700}.badge.kitchen{background:#fde3cf;color:#7f3d12}.badge.bar{background:#cde7f0;color:#0a5f73}@media (max-width:760px){.kanban{grid-template-columns:1fr}}.spot-grid{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.spot-card{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:.85rem;background:var(--c-card);box-shadow:var(--shadow-1);transition:box-shadow var(--t-fast) var(--ease)}.spot-card:hover{box-shadow:var(--shadow-2)}.spot-card .spot-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.spot-card .spot-title{font-weight:800;font-size:1.08rem;display:flex;align-items:center;gap:.4rem;letter-spacing:-.01em}.spot-card .spot-due{font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums;color:#a85a16;white-space:nowrap}.order-line{border:1px solid var(--c-border-soft);border-radius:var(--r-sm);padding:.55rem .65rem;display:flex;flex-direction:column;gap:.45rem;background:var(--c-surface-2)}.order-line .order-line-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.order-line .order-code{font-weight:800;font-variant-numeric:tabular-nums}.order-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem;font-size:.86rem}.order-items li{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.order-items .qty{color:var(--c-ink-soft);font-variant-numeric:tabular-nums}.order-items .note{font-style:italic;color:var(--c-ink-faint)}.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.pay-grid button{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.9rem .4rem;min-height:84px;border-radius:var(--r);font-size:.92rem}.pay-grid button .pay-ico{font-size:1.6rem}.pay-grid button.on{border-color:var(--c-primary);background:var(--c-primary-050);box-shadow:inset 0 0 0 2px var(--c-primary)}.discount-box{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;background:#fff9ee;color:var(--p-ink-900);border:1px solid #F0DFC0;border-radius:var(--r-sm);padding:.6rem}.discount-box input[type=number]{width:7rem}.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.55rem}.prod-card{text-align:left;padding:.62rem .7rem;border-radius:var(--r);display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--c-border);background:var(--c-card);min-height:88px;position:relative;overflow:hidden}.prod-card:hover{border-color:var(--c-primary);box-shadow:var(--shadow-2)}.prod-card:active{transform:scale(.97)}.prod-card .pname{font-weight:700;font-size:.92rem;line-height:1.25}.prod-card .pprice{font-weight:800;color:var(--c-primary-600);font-variant-numeric:tabular-nums}.prod-card .pqty{position:absolute;top:.4rem;right:.4rem;background:var(--c-sun);color:#5a3a04;font-weight:800;border-radius:999px;min-width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.8rem;animation:pop-in var(--t-fast) var(--ease) both}@keyframes pop-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.cartbar{position:sticky;bottom:calc(var(--navbar-h) + env(safe-area-inset-bottom));z-index:25;margin-top:.4rem;background:var(--c-chrome);color:#fff;border-radius:var(--r-lg);padding:.7rem .95rem;display:flex;justify-content:space-between;align-items:center;gap:.7rem;box-shadow:var(--shadow-3);animation:toast-in var(--t-med) var(--ease) both}.cartbar .cb-info{display:flex;flex-direction:column;line-height:1.2}.cartbar .cb-total{font-size:1.2rem;font-weight:800;font-variant-numeric:tabular-nums}.cartbar .cb-count{font-size:.78rem;opacity:.85}.cartbar button.primary{background:linear-gradient(180deg,var(--c-sun) 0%,#E08D07 100%);border-color:#c77e06;color:#3d2702;min-height:48px}.qty-stepper{display:inline-flex;align-items:center;gap:.1rem;border:1px solid var(--c-border);border-radius:999px;background:var(--c-card)}.qty-stepper button{border:none;box-shadow:none;min-height:36px;min-width:38px;padding:0;border-radius:999px;font-size:1.05rem}.qty-stepper .qv{min-width:1.8rem;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.skeleton{position:relative;overflow:hidden;background:var(--c-surface-3);border-radius:var(--r-sm);min-height:1rem}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1.8rem 1rem;color:var(--c-ink-soft);text-align:center}.empty .empty-emoji{font-size:2rem;animation:float-y 3.2s ease-in-out infinite}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.chart-card h3{margin:0 0 .5rem;font-size:1rem}.chart-wrap{width:100%;overflow:hidden}.chart-wrap svg{display:block;width:100%;height:auto}.chart-legend{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.8rem;color:var(--c-ink-soft);margin-top:.4rem}.chart-legend .lg{display:inline-flex;align-items:center;gap:.32rem}.chart-legend .dot{width:.7rem;height:.7rem;border-radius:3px;display:inline-block}.qr-page{min-height:100%;display:flex;flex-direction:column;color:var(--p-ink-900);background:radial-gradient(1200px 500px at 85% -10%,#FDEFD3 0%,transparent 60%),radial-gradient(900px 420px at -10% 0%,#DDF2F5 0%,transparent 55%),#f4f6f8}.qr-head{position:sticky;top:0;z-index:20;background:var(--c-chrome);color:#fff;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;box-shadow:0 2px 14px #0b39544d}.qr-head .qr-spot{font-size:1.05rem;font-weight:800;display:flex;align-items:center;gap:.45rem}.qr-body{flex:1;max-width:760px;margin:0 auto;width:100%;padding:1rem 1rem 7.5rem}.qr-prod{display:flex;justify-content:space-between;gap:.7rem;background:#fff;border:1px solid #DCE3EB;border-radius:var(--r);padding:.7rem .8rem;margin-bottom:.5rem;animation:kcard-in var(--t-med) var(--ease) both}.qr-prod .qp-main{display:flex;flex-direction:column;gap:.18rem;min-width:0}.qr-prod .qp-name{font-weight:700}.qr-prod .qp-desc{font-size:.82rem;color:#51637a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qr-prod .qp-price{font-weight:800;color:#0b5c73;white-space:nowrap;font-variant-numeric:tabular-nums}.qr-prod .qp-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.4rem}.qr-checkout{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid #DCE3EB;box-shadow:0 -6px 24px #10283f1f}.qr-checkout .inner{max-width:760px;margin:0 auto;display:flex;gap:.7rem;align-items:center;justify-content:space-between}.qr-track-step{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem 0}.qr-track-step .tdot{width:.95rem;height:.95rem;border-radius:50%;margin-top:.15rem;background:#d8e0e9;flex:none}.qr-track-step.done .tdot{background:var(--c-ok)}.qr-track-step.now .tdot{background:var(--c-sun);animation:pulse-soft 2s infinite}.price-tag{display:inline-flex;align-items:center;gap:.25rem;background:#fff7e6;border:1px solid #F0DCAE;color:#8a5a05;border-radius:999px;padding:.1rem .5rem;font-size:.74rem;font-weight:800;font-variant-numeric:tabular-nums}.tier-badge{display:inline-flex;align-items:center;border-radius:6px;padding:.06rem .4rem;font-size:.68rem;font-weight:800;letter-spacing:.04em}.tier-badge.premium{background:linear-gradient(120deg,#fce7b6,#f7c873);color:#7a4d08;border:1px solid #E8B45A}.tier-badge.xl{background:#e3f0fb;color:#0c5690;border:1px solid #BCDCF4}.qr-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.7rem}.qr-tile{border:1.5px dashed #B9C4D1;border-radius:var(--r);padding:.8rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;background:#fff;color:var(--p-ink-900)}.qr-tile .qr-ref{font-size:1.25rem;font-weight:800}.qr-tile img,.qr-tile svg,.qr-tile canvas{width:140px;height:140px}@media print{header.topbar,nav.bottom,.toast-host,.no-print{display:none!important}body,#root{background:#fff;color:#000}main{padding:0;max-width:none;animation:none}.print-only{display:block!important}.card{border:none;box-shadow:none;background:#fff;color:#000}.qr-sheet{grid-template-columns:repeat(3,1fr)}}.print-only{display:none}.receipt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;max-width:380px;margin:0 auto;color:#000}.receipt h4{text-align:center;margin:.2rem 0;font-size:1.05rem}.receipt .r-meta{text-align:center;font-size:.8rem;margin-bottom:.5rem}.receipt table{width:100%;border-collapse:collapse;font-size:.85rem}.receipt td{padding:.12rem 0;vertical-align:top}.receipt td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.receipt .r-sep{border-top:1px dashed #000;margin:.4rem 0}.receipt .r-tot{font-size:1.05rem;font-weight:800}.public-menu-page{position:relative;min-height:100%;padding:1.25rem;margin:0 auto;max-width:1100px;color:#1a2230}.public-menu-aura{position:fixed;pointer-events:none;width:min(46vw,540px);height:min(46vw,540px);border-radius:50%;filter:blur(70px);opacity:.42;z-index:0;animation:public-menu-float 10s ease-in-out infinite alternate}.public-menu-aura-left{top:-140px;left:-120px;background:radial-gradient(circle at 30% 30%,#ffe29f,#f6c573 35%,#f08b5d)}.public-menu-aura-right{top:20%;right:-150px;background:radial-gradient(circle at 60% 40%,#9be8d8,#57c5b6 45%,#2d8d8f);animation-delay:1.8s}.public-menu-hero,.public-menu-stats,.public-menu-grid,.owner-menu-manager{position:relative;z-index:1}.public-menu-hero{background:linear-gradient(140deg,#fdf3cf,#f4ddb2 42%,#f5c99a);border:1px solid #e5be8d;border-radius:20px;padding:1.2rem;box-shadow:0 12px 30px #82461429}.public-menu-eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:#874d22;background:#fbe8c5;border:1px solid #e8c693;border-radius:999px;padding:.2rem .65rem}.public-menu-hero-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.public-menu-staff-link{font-size:.8rem;font-weight:600;letter-spacing:.04em;color:#874d22;background:#fbe8c5;border:1px solid #e8c693;border-radius:999px;padding:.28rem .8rem;text-decoration:none;white-space:nowrap;transition:background .15s ease,box-shadow .15s ease}.public-menu-staff-link:hover,.public-menu-staff-link:focus-visible{background:#f6d9a6;box-shadow:0 4px 12px #8246142e}.public-menu-hero h1{margin:.45rem 0 .35rem;font-size:clamp(1.8rem,4.2vw,3rem);line-height:1.06;font-family:Palatino Linotype,Book Antiqua,Palatino,serif}.public-menu-hero p{margin:0;max-width:62ch;color:#5f3f28}.public-menu-toolbar{margin-top:1rem;display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap}.public-menu-toolbar label{display:flex;flex-direction:column;font-size:.85rem;gap:.25rem;color:#54341f}.public-menu-date-pill{background:#ffffffc4;border:1px solid #ddb486;border-radius:999px;padding:.5rem .85rem;font-weight:600}.public-menu-owner-link{text-decoration:none;background:#1f6e6b;color:#fff;border-radius:999px;padding:.6rem .95rem;border:1px solid #155957}.public-menu-stats{margin-top:.95rem;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.public-menu-stat{border:1px solid #e4d7bf;background:#fffef6e0;border-radius:14px;padding:.65rem .85rem;display:flex;flex-direction:column;gap:.15rem}.public-menu-stat strong{font-size:1.35rem}.public-menu-stat span{color:#675243;font-size:.86rem}.public-menu-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:.8rem}.public-menu-category{background:#ffffffde;border:1px solid #ead8bc;border-radius:18px;padding:.85rem;box-shadow:0 10px 22px #785a3214;animation:public-menu-rise .42s ease both}.public-menu-category-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed #e0c9a8;padding-bottom:.4rem;margin-bottom:.45rem}.public-menu-category-head h2{margin:0;font-size:1.12rem;font-family:Palatino Linotype,Book Antiqua,Palatino,serif}.public-menu-category-head span{font-size:.8rem;color:#6b5440}.public-menu-items{display:flex;flex-direction:column;gap:.48rem}.public-menu-item{background:#fff;border:1px solid #f0dfc5;border-radius:12px;padding:.62rem;position:relative;overflow:hidden}.public-menu-item-img{position:absolute;top:0;right:0;width:84px;height:84px;object-fit:cover;border-bottom-left-radius:12px;opacity:.22;pointer-events:none;filter:saturate(1.05)}.public-menu-item>*:not(.public-menu-item-img){position:relative}.public-menu-item-top{display:flex;justify-content:space-between;gap:.45rem;align-items:flex-start}.public-menu-item-top h3{margin:0;font-size:1rem}.public-menu-item-top strong{color:#8d4d26;white-space:nowrap}.public-menu-item p{margin:.34rem 0;font-size:.9rem;color:#5d4f41}.public-menu-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.public-menu-badge{display:inline-block;border-radius:999px;padding:.17rem .56rem;font-size:.75rem;font-weight:700}.public-menu-badge.kitchen{background:#ffe8c8;color:#7f3d12}.public-menu-badge.bar{background:#d4f3ef;color:#0a5f59}.public-menu-allergens{font-size:.78rem;color:#695745}.owner-menu-manager{border:1px solid var(--c-border);border-radius:14px;padding:.8rem;background:var(--c-surface-2)}.owner-menu-hint{background:#eef7ff;border:1px solid #c7dff7;color:#1e4a71;border-radius:10px;padding:.6rem;font-size:.88rem}.owner-menu-ok{background:#eaf7ec;border:1px solid #9fd8a6;color:#1e5f26;border-radius:10px;padding:.45rem .6rem}.owner-menu-forms,.owner-menu-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.7rem}.owner-menu-form-card,.owner-menu-list-card{background:var(--c-card);border:1px solid var(--c-border);border-radius:12px;padding:.65rem;display:flex;flex-direction:column;gap:.45rem}.owner-menu-form-card h4,.owner-menu-list-card h4{margin:0}.owner-menu-form-card label,.owner-menu-product-side label{display:flex;flex-direction:column;gap:.18rem;font-size:.84rem}.owner-menu-check,.owner-menu-check-inline{display:flex;align-items:center;gap:.35rem;font-size:.84rem}.owner-menu-row{display:grid;grid-template-columns:1.4fr .4fr auto auto auto;gap:.32rem;align-items:center}.owner-menu-product-group h5{margin:.5rem 0 .3rem}.owner-menu-product-row{border:1px solid var(--c-border-soft);border-radius:10px;padding:.48rem;display:grid;grid-template-columns:1fr 220px;gap:.55rem;margin-bottom:.45rem}.owner-menu-product-main,.owner-menu-product-side{display:flex;flex-direction:column;gap:.3rem}.owner-menu-image{display:flex;gap:.5rem;align-items:flex-start;margin-top:.2rem}.owner-menu-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--c-border-soft);flex:0 0 auto}.owner-menu-thumb-empty{display:flex;align-items:center;justify-content:center;text-align:center;font-size:.66rem;color:var(--c-ink-faint);background:var(--c-surface-3)}.owner-menu-image-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.owner-menu-upload{display:inline-block;cursor:pointer;background:#eef3f9;border:1px solid #d4def0;border-radius:8px;padding:.28rem .6rem;font-size:.82rem}.owner-menu-templates{margin-top:.8rem}.owner-menu-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.55rem;margin-top:.5rem}.owner-menu-template-card{border:1px solid #e3ecf6;border-radius:10px;padding:.45rem;display:flex;flex-direction:column;gap:.35rem}.owner-menu-template-card .owner-menu-thumb{width:100%;height:90px}.owner-menu-template-meta{display:flex;flex-direction:column;gap:.1rem}.owner-menu-template-kind{font-size:.66rem;font-weight:700;color:#6b7785;letter-spacing:.04em}.camera-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:120;padding:1rem}.camera-modal{background:#fff;border-radius:14px;padding:.8rem;width:min(560px,96vw);display:flex;flex-direction:column;gap:.6rem}.camera-head{display:flex;justify-content:space-between;align-items:center}.camera-video{width:100%;max-height:60vh;background:#000;border-radius:10px;object-fit:contain}.camera-actions{display:flex;justify-content:flex-end;gap:.5rem}@keyframes public-menu-float{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,24px,0) scale(1.05)}}@keyframes public-menu-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:760px){.public-menu-page{padding:.85rem}.public-menu-hero{padding:.95rem}.owner-menu-row,.owner-menu-product-row{grid-template-columns:1fr}}@media (max-width:560px){.spot-card .spot-due{font-size:1.05rem}.toast-host{left:1rem;right:1rem;max-width:none}.pay-grid{grid-template-columns:1fr 1fr 1fr;gap:.45rem}.pay-grid button{min-height:74px}}.nav-domains{overflow:visible!important;display:grid!important;grid-template-columns:repeat(var(--nav-count,6),minmax(0,1fr));width:100%;max-width:100vw}.nav-domain{position:relative;display:flex;justify-content:center;min-width:0}.nav-domain>.navitem{width:100%;max-width:150px;background:transparent;border:0;color:var(--c-ink-soft)}.nav-popover{position:absolute;bottom:calc(100% + .65rem);left:50%;transform:translate(-50%);width:min(260px,calc(100vw - 1rem));padding:.55rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r);box-shadow:var(--shadow-3);display:grid;gap:.25rem;animation:nav-pop-in var(--t-med) var(--ease) both;z-index:60}.nav-popover:after{content:"";position:absolute;top:100%;left:50%;border:8px solid transparent;border-top-color:var(--c-card);transform:translate(-50%)}.nav-popover>strong{padding:.35rem .55rem;color:var(--c-ink-soft);font-size:var(--fs-xs);text-transform:uppercase}.nav-popover a{display:grid;grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.4rem;padding:.65rem;border-radius:var(--r-sm);color:var(--c-ink);text-decoration:none;font-weight:700}.nav-popover a:hover,.nav-popover a.active{background:var(--c-primary-050);color:var(--c-primary-700)}.nav-popover small,.plan-chip{font-size:.65rem;font-weight:800;padding:.18rem .35rem;border-radius:4px;background:var(--c-warn-100,#fff1c2);color:var(--c-warn-800,#704b00)}@keyframes nav-pop-in{0%{opacity:0;transform:translate(-50%,10px) scale(.97)}to{opacity:1;transform:translate(-50%) scale(1)}}.camp-map-shell{width:100%;max-width:100%;min-width:0;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-1)}.camp-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--c-border)}.camp-map-toolbar>div:first-child{display:flex;flex-direction:column;gap:.15rem}.camp-map-legend{display:flex;gap:.8rem;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--c-ink-soft)}.camp-map-legend span{display:flex;align-items:center;gap:.3rem}.camp-map-legend i{width:.65rem;height:.65rem;border-radius:50%;background:#dff5e6;border:2px solid #2f7d4a}.camp-map-legend i.reserved{background:#fff1c2;border-color:#b46b20}.camp-map-legend i.occupied{background:#ffe0db;border-color:#b83b2d}.camp-map-zoom{display:flex;align-items:center;gap:.25rem}.camp-map-zoom span{min-width:3rem;text-align:center;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.camp-map-zoom button{padding:.2rem .45rem;min-width:36px}.camp-map-viewport{width:100%;max-width:100%;min-width:0;aspect-ratio:16/7;min-height:390px;overflow:auto;background:#dce8d7;color:#315640;touch-action:none}.camp-map-viewport svg{display:block;min-width:100%;min-height:100%}.camp-map-ground{fill:#dce8d7}.camp-map-road{fill:none;stroke:#faf8f0;stroke-width:72;stroke-linecap:round;stroke-linejoin:round}.camp-pitch rect{fill:color-mix(in srgb,var(--pitch-color) 18%,white);stroke:var(--pitch-color);stroke-width:5;filter:drop-shadow(0 4px 4px rgba(30,55,40,.16))}.camp-pitch.reserved rect{fill:#fff1c2}.camp-pitch.occupied rect{fill:#ffe0db;stroke:#b83b2d}.camp-pitch.editable{cursor:grab}.camp-pitch.editable:active{cursor:grabbing}.camp-pitch text{pointer-events:none;fill:#193126}.camp-pitch-icon{font-size:23px}.camp-pitch-code{font-size:17px;font-weight:800}.camp-pitch-meta{font-size:11px;font-weight:700}.camp-service-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.camp-service-summary>div{padding:.9rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm);display:flex;flex-direction:column;gap:.35rem}.camp-service-summary span{color:var(--c-ink-soft);font-size:var(--fs-xs)}.camp-service-summary strong{font-size:var(--fs-lg)}.camp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.camp-service-card{position:relative;min-height:132px;padding:.9rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm);display:grid;grid-template-columns:2.4rem 1fr;gap:.65rem}.camp-service-icon{font-size:1.7rem}.camp-service-card p{margin:.3rem 0 1.5rem;color:var(--c-ink-soft);font-size:var(--fs-sm)}.service-state{position:absolute;left:3.95rem;bottom:.75rem;font-size:var(--fs-xs);font-weight:800;color:var(--c-ok)}.service-state.planned{color:var(--c-ink-soft)}.camp-service-card .plan-chip{position:absolute;right:.7rem;top:.7rem}.cashier-note{display:grid;grid-template-columns:minmax(9rem,.25fr) 1fr;gap:1rem;border-left:4px solid var(--c-primary)}.unit-service-editor{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.7rem;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-sm)}.unit-service-editor>strong{grid-column:1/-1}.unit-service-editor input{width:auto;min-height:auto}.checkout-steps{display:flex;align-items:center;justify-content:center;margin-bottom:.35rem}.checkout-steps span{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:var(--c-border);font-weight:800}.checkout-steps span.done{background:var(--c-primary);color:#fff}.checkout-steps i{width:5rem;height:2px;background:var(--c-border)}.payment-review{display:grid;gap:.55rem;padding:.8rem;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-bg)}.payment-review>div{display:flex;justify-content:space-between;gap:1rem}.payment-review>div span{color:var(--c-ink-soft)}.payment-review-total{border-top:2px solid var(--c-border);padding-top:.65rem;font-size:var(--fs-lg)}.double-confirm{display:flex!important;align-items:flex-start;gap:.6rem;padding:.8rem;border:1px solid var(--c-primary);border-radius:var(--r-sm);font-weight:700}.double-confirm input{width:auto;min-height:auto;margin-top:.2rem}.cashier-only{padding:.65rem .8rem;border-radius:var(--r-sm);background:var(--c-primary-050);color:var(--c-primary-700);font-size:var(--fs-sm)}@media (max-width:900px){.camp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-map-viewport{aspect-ratio:4/3}.nav-popover{position:fixed;left:.5rem;right:.5rem;bottom:calc(var(--navbar-h) + .4rem + env(safe-area-inset-bottom));width:auto;transform:none}.nav-popover:after{display:none}@keyframes nav-pop-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}@media (max-width:600px){.nav-domains{grid-template-columns:repeat(var(--nav-count,6),minmax(0,1fr))!important}.nav-domain>.navitem{padding:.25rem .15rem!important;min-width:0}.camp-map-toolbar{align-items:flex-start;flex-direction:column}.camp-map-viewport{min-height:390px}.camp-map-zoom{align-self:stretch;justify-content:flex-end}.camp-service-grid,.camp-service-summary,.cashier-note,.unit-service-editor{grid-template-columns:1fr}.camp-service-card{min-height:112px}}header.topbar .top-new-order{display:inline-flex;align-items:center;gap:.4rem;background:var(--c-sun);border-color:color-mix(in srgb,var(--c-sun) 72%,#000);color:#320;font-weight:850;padding:.35rem .75rem}header.topbar .top-new-order span{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#ffffff8c;font-size:1rem}.nav-domains{height:var(--navbar-h);min-height:0;padding:.15rem .35rem calc(.2rem + env(safe-area-inset-bottom,.15rem))!important}.nav-domain>.navitem{height:100%!important;min-height:0!important;padding:.2rem .1rem!important;gap:.1rem!important;overflow:hidden;font-size:clamp(.55rem,1.5dvh,.8rem)!important}.nav-domain>.navitem .navicon{font-size:clamp(.95rem,3.1dvh,1.5rem)!important}.nav-domain>.navitem .navlabel{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:center;line-height:1.08;overflow-wrap:anywhere;font-size:clamp(.48rem,calc(94vw / var(--nav-count,6) / 6.6),.8rem)}.nav-popover{bottom:calc(100% + .35rem);padding:.4rem;gap:.15rem}.nav-popover a{padding:.55rem .6rem;min-height:42px}.order-page-head{align-items:center}.accountability-chip{padding:.4rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--c-ok) 13%,var(--c-card));color:var(--c-ok);font-size:var(--fs-xs);font-weight:850}.order-customer-step,.order-target-step{display:grid;gap:.7rem}.order-step-title{display:flex;align-items:center;gap:.65rem}.order-step-title>span{display:grid;place-items:center;width:1.8rem;height:1.8rem;flex:none;border-radius:50%;background:var(--c-primary);color:#fff;font-weight:900}.order-step-title>div{display:flex;flex-direction:column}.order-step-title small{color:var(--c-ink-soft)}.customer-picker-grid{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(14rem,1.25fr) auto;gap:.5rem}.selected-customer{padding:.55rem .7rem;border-left:3px solid var(--c-ok);background:color-mix(in srgb,var(--c-ok) 8%,var(--c-card));font-size:var(--fs-sm)}.inline-customer-form{display:grid;grid-template-columns:1.2fr 1fr 1.2fr auto;gap:.5rem;padding:.7rem;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r-sm)}.order-target-step>.seg{justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}.order-target-step>.seg button{flex:0 0 auto}.order-target-step>.row select{min-width:min(100%,24rem);max-width:100%}.home-overview{gap:.8rem}.home-head{align-items:center}.home-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.home-domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.home-domain-panel{display:flex;flex-direction:column;gap:.7rem;padding:.85rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r);box-shadow:var(--shadow-1)}.home-domain-title{display:flex;align-items:center;gap:.55rem}.home-domain-title>span{font-size:1.45rem}.home-domain-title>div{display:flex;flex-direction:column}.home-domain-title small,.section-heading small{color:var(--c-ink-soft)}.home-domain-panel dl{display:grid;gap:.35rem;margin:0}.home-domain-panel dl div{display:flex;justify-content:space-between;gap:.5rem;padding:.28rem 0;border-bottom:1px solid var(--c-border)}.home-domain-panel dt{color:var(--c-ink-soft)}.home-domain-panel dd{margin:0;font-weight:850}.home-domain-panel .row{margin-top:auto}.attention-strip{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--c-sun) 60%,var(--c-border));background:color-mix(in srgb,var(--c-sun) 9%,var(--c-card));border-radius:var(--r-sm)}.attention-strip button{min-height:34px;padding:.25rem .55rem;background:var(--c-card)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-heading>div{display:flex;flex-direction:column}.home-recent{overflow-x:auto}.service-kpi-row,.security-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.service-kpi-row>div,.security-summary>div{display:flex;flex-direction:column;gap:.25rem;padding:.8rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm)}.service-kpi-row span,.security-summary span{color:var(--c-ink-soft);font-size:var(--fs-xs)}.service-kpi-row strong,.security-summary strong{font-size:var(--fs-md)}.service-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.service-action-card{display:grid;grid-template-columns:2.2rem 1fr auto;align-items:center;gap:.65rem;padding:.85rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm)}.service-action-card>span{font-size:1.55rem}.service-action-card p{margin:.2rem 0 0;color:var(--c-ink-soft);font-size:var(--fs-sm)}.presence-unassigned{padding:.55rem .65rem;border-radius:var(--r-sm);background:var(--c-bg);color:var(--c-ink-soft);font-size:var(--fs-xs)}.settings-tabs{width:auto}.settings-section{display:grid;grid-template-columns:minmax(12rem,.4fr) 1fr;align-items:center;gap:1rem;padding:1rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r)}.settings-section>div:first-child{display:flex;flex-direction:column;gap:.2rem}.settings-section small{color:var(--c-ink-soft)}.settings-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.settings-options button{display:flex;align-items:center;justify-content:center;gap:.35rem}.settings-options button.selected{border-color:var(--c-primary);background:var(--c-primary-050);color:var(--c-primary-600);font-weight:800}.security-actions>button{justify-self:end}@media (max-width:900px){.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-domain-grid{grid-template-columns:1fr}.customer-picker-grid{grid-template-columns:1fr 1fr}.customer-picker-grid button{grid-column:1/-1}.inline-customer-form{grid-template-columns:1fr 1fr}.inline-customer-form button{grid-column:1/-1}.service-action-card{grid-template-columns:2rem 1fr}.service-action-card button{grid-column:2}.settings-section{grid-template-columns:1fr}.security-actions>button{justify-self:start}}@media (max-width:600px){main{padding:.7rem .7rem calc(.7rem + var(--navbar-h))}header.topbar{padding:.45rem .6rem}header.topbar .chip,header.topbar .uname{display:none}header.topbar button.brand-name{max-width:none}header.topbar .userbox{gap:.35rem}header.topbar .top-new-order{padding:.3rem .5rem;font-size:.75rem}.nav-domain>.navitem .navicon{font-size:clamp(.9rem,2.9dvh,1.25rem)!important}.customer-picker-grid,.inline-customer-form,.service-kpi-row,.security-summary,.settings-options,.service-action-grid{grid-template-columns:1fr}.home-stats{grid-template-columns:1fr 1fr}.home-actions{width:100%}.home-actions button{flex:1}.order-page-head{align-items:flex-start}.settings-tabs{width:100%}.settings-tabs button{flex:1}.cartbar{bottom:calc(var(--navbar-h) + env(safe-area-inset-bottom))}}.app{display:flex;flex-direction:column}main{flex:1}header.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem}header.topbar .top-brand{display:flex;align-items:center;gap:.5rem;min-width:0}header.topbar .top-brand h1{flex:1 1 9rem;min-width:0}header.topbar .top-brand .uname{font-size:.85rem;opacity:.92;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}header.topbar .top-actions{display:flex;align-items:center;justify-content:center;gap:.45rem;min-width:0}header.topbar .top-actions button{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header.topbar .userbox{justify-content:flex-end}header.topbar button.brand-name{flex:1;min-width:0;border:0;padding:0;min-height:30px;background:transparent;box-shadow:none;font-size:1rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:17rem}header.topbar .brand-name-input{min-height:34px;width:min(17rem,30vw);padding:.2rem .45rem;background:#fffffff5;color:var(--p-ink-900)}.secondary-nav{position:sticky;top:52px;z-index:29;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.35rem 1rem;background:var(--c-veil);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border);overflow-x:auto;scrollbar-width:none}.secondary-nav::-webkit-scrollbar{display:none}.secondary-nav strong{font-size:var(--fs-xs);text-transform:uppercase;color:var(--c-ink-soft);margin-right:.3rem;white-space:nowrap}.secondary-nav a{display:flex;align-items:center;gap:.35rem;color:var(--c-ink-soft);text-decoration:none;font-size:var(--fs-sm);font-weight:700;padding:.38rem .7rem;border-radius:var(--r-sm);white-space:nowrap}.secondary-nav a:hover,.secondary-nav a.active{color:var(--c-primary-600);background:var(--c-primary-050)}.reservation-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem;align-items:start}.reservation-form{padding:1rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r);box-shadow:var(--shadow-1)}.reservation-step{display:flex;align-items:center;gap:.65rem;margin-top:.35rem}.reservation-step>span{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 2rem;border-radius:50%;background:var(--c-primary);color:var(--c-on-primary);font-weight:800}.reservation-step>div{display:flex;flex-direction:column}.reservation-step small{color:var(--c-ink-soft)}.form-grid{display:grid;gap:.7rem}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label,.reservation-form>label,.reservation-extras label{display:flex;flex-direction:column;gap:.3rem;font-weight:700}.reservation-extras{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(160px,.6fr);gap:.7rem;align-items:end;padding:.75rem;background:var(--c-surface-2);border:1px solid var(--c-border-soft);border-radius:var(--r-sm)}.reservation-extras label.check-row{flex-direction:row;align-items:center;min-height:44px}.reservation-extras input[type=checkbox]{width:1.15rem;min-height:auto;height:1.15rem}.reservation-error{padding:.65rem .75rem;border:1px solid color-mix(in srgb,var(--c-err) 30%,var(--c-border));border-radius:var(--r-sm);background:var(--c-err-050);color:var(--c-err);font-weight:700}.reservation-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.reservation-summary{position:sticky;top:112px;display:flex;flex-direction:column;gap:.7rem;padding:1rem;background:var(--c-ink);color:var(--c-foam);border-radius:var(--r);box-shadow:var(--shadow-2)}.reservation-summary .eyebrow{text-transform:uppercase;font-size:var(--fs-xs);font-weight:800;color:var(--c-sun);letter-spacing:.05em}.reservation-summary>strong{font-size:1.65rem}.reservation-summary dl{display:flex;flex-direction:column;gap:.5rem;margin:0}.reservation-summary dl div{display:flex;justify-content:space-between;gap:.6rem;padding-bottom:.45rem;border-bottom:1px solid rgba(255,255,255,.14)}.reservation-summary dt{opacity:.72}.reservation-summary dd{margin:0;text-align:right;font-weight:700}.reservation-summary p{margin:0;font-size:var(--fs-sm);line-height:1.45;opacity:.76}.maps-tabs{display:flex;justify-content:center;gap:.25rem;padding:.25rem;background:var(--c-surface-3);border:1px solid var(--c-border);border-radius:var(--r-sm);align-self:center}.maps-tabs a{padding:.55rem 1rem;color:var(--c-ink-soft);font-weight:800;text-decoration:none;border-radius:calc(var(--r-sm) - 2px)}.maps-tabs a.active{background:var(--c-card);color:var(--c-primary-600);box-shadow:var(--shadow-1)}.maps-stage{min-width:0}.maps-stage .camp-map-viewport{overscroll-behavior:contain;touch-action:none;-webkit-overflow-scrolling:touch}.beach-map-viewport{max-width:100%;max-height:calc(100dvh - 220px);min-height:320px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media (max-width:1100px){header.topbar{grid-template-columns:minmax(0,1fr) auto}header.topbar .top-actions{grid-row:2;grid-column:1/-1}.secondary-nav{top:100px}.reservation-grid{grid-template-columns:1fr}.reservation-summary{position:static;order:-1}.reservation-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-summary dl div{display:block}.reservation-summary dd{text-align:left;margin-top:.15rem}}@media (max-width:680px){header.topbar{padding:.45rem .6rem}header.topbar .top-brand .chip{display:none}header.topbar .top-brand .uname{display:none}header.topbar .top-actions{justify-content:stretch}header.topbar .top-actions button{flex:1;min-height:42px;line-height:1.15}.secondary-nav{top:108px;justify-content:flex-start}.form-grid.two,.form-grid.three,.reservation-extras{grid-template-columns:1fr}.reservation-summary dl{grid-template-columns:1fr 1fr}.reservation-actions button{flex:1}.manual-reservation .seg{width:100%}.manual-reservation .seg button{flex:1}}.readonly-price{display:flex;align-items:center;min-height:44px;padding:.5rem .65rem;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-3);font-weight:800}.price-editor{display:flex;flex-direction:column;border:1px solid var(--c-border);background:var(--c-card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-1)}.price-editor-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--c-border);background:var(--c-surface-2)}.price-editor-head>div{display:flex;flex-direction:column}.price-editor-head small,.price-row small{color:var(--c-ink-soft)}.price-list{display:flex;flex-direction:column}.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--c-border-soft)}.price-row:last-child{border-bottom:0}.price-row>span:first-child{display:flex;flex-direction:column}.price-input{display:flex;align-items:center;gap:.35rem}.price-input i{font-style:normal;color:var(--c-ink-soft);font-weight:800}.price-input input{width:8rem;text-align:right;font-variant-numeric:tabular-nums}.price-input em{font-style:normal;color:var(--c-ink-soft);white-space:nowrap}.beach-price-row{grid-template-columns:7rem minmax(0,1fr) auto 2.5rem}.beach-price-row>input{text-transform:uppercase;font-weight:800}.price-add-row{align-self:flex-start;margin:.65rem 1rem}@media (max-width:680px){.pricing-view>.page-head .seg{width:100%;overflow-x:auto}.pricing-view>.page-head .seg button{flex:1;white-space:nowrap}.price-editor-head{align-items:flex-start;flex-direction:column}.price-editor-head button{width:100%}.price-row{grid-template-columns:minmax(0,1fr) auto;padding:.65rem}.beach-price-row{grid-template-columns:5rem minmax(0,1fr) 2.5rem}.beach-price-row>span:nth-child(2){display:none}.beach-price-row .price-input{justify-self:end}.price-input input{width:6.5rem}}.camping-billing{display:flex;flex-direction:column;gap:.65rem;padding:.85rem;border:1px solid var(--c-border);border-radius:var(--r);background:var(--c-surface-2)}.camping-bill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.6rem}.camping-bill{display:flex;flex-direction:column;gap:.65rem;padding:.8rem;border:1px solid var(--c-border);border-left:4px solid var(--c-ink-faint);border-radius:var(--r-sm);background:var(--c-card)}.camping-bill.pending{border-left-color:var(--c-sun)}.camping-bill.required{border-left-color:var(--c-err)}.camping-bill.paid{border-left-color:var(--c-ok)}.camping-bill-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.camping-bill-head>div{display:flex;flex-direction:column}.camping-bill-head>div>strong{font-size:1.1rem}.camping-bill-head>div>span{color:var(--c-ink-soft);font-size:var(--fs-sm)}.camping-bill-state{padding:.18rem .45rem;border-radius:4px;background:var(--c-surface-3);font-size:var(--fs-xs);font-weight:800;text-align:right}.camping-bill.required .camping-bill-state{background:var(--c-err-050);color:var(--c-err)}.camping-bill.paid .camping-bill-state{background:var(--c-ok-050);color:var(--c-ok)}.camping-bill dl{display:flex;flex-direction:column;gap:.28rem;margin:0}.camping-bill dl div{display:flex;justify-content:space-between;gap:.5rem;font-size:var(--fs-sm)}.camping-bill dt{color:var(--c-ink-soft)}.camping-bill dd{margin:0;text-align:right;font-weight:700}.camping-bill-actions{display:flex;align-items:center;justify-content:flex-end;min-height:40px}.camping-bill-warning{color:var(--c-err);font-size:var(--fs-xs);font-weight:700}.camping-bill-paid{color:var(--c-ok);font-size:var(--fs-sm);font-weight:800}@media (max-width:520px){.camping-bill-grid{grid-template-columns:1fr}.camping-bill-head{align-items:flex-start}.camping-bill-actions button{width:100%}}.camp-map-viewport,.beach-map-viewport{touch-action:none;overscroll-behavior:contain;cursor:grab}.camp-map-viewport.panning,.beach-map-viewport.panning{cursor:grabbing}.camp-map-viewport.panning svg,.beach-map-viewport.panning svg{pointer-events:none}.macro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;align-items:start}.macro-tile{position:relative;display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r);box-shadow:var(--shadow-1);overflow:hidden;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.macro-tile:hover{border-color:var(--c-primary);box-shadow:var(--shadow-2)}.macro-tile.open{border-color:var(--c-primary)}.macro-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;min-height:5.5rem;width:100%;padding:.9rem .6rem;background:transparent;border:0;box-shadow:none;color:var(--c-ink);font-weight:800;text-align:center}.macro-main:hover{background:var(--c-hover)}.macro-icon{font-size:1.9rem;line-height:1}.macro-toggle{position:absolute;top:.3rem;right:.3rem;min-height:32px;min-width:32px;padding:0;border-radius:var(--r-sm);background:transparent;border:0;box-shadow:none;color:var(--c-ink-soft);font-size:.9rem}.macro-toggle:hover{background:var(--c-surface-3)}.macro-children{display:flex;flex-direction:column;gap:.25rem;padding:.4rem;border-top:1px solid var(--c-border-soft);background:var(--c-surface-2);animation:macro-unfold var(--t-med) var(--ease) both}.macro-children button{display:flex;align-items:center;gap:.5rem;justify-content:flex-start;min-height:42px;padding:.35rem .55rem;font-size:var(--fs-sm);font-weight:700;background:var(--c-card)}@keyframes macro-unfold{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width:420px){.macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.macro-main{min-height:4.6rem;padding:.7rem .4rem}.macro-icon{font-size:1.6rem}}@media (orientation:landscape){.app{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);height:100dvh;overflow:hidden}header.topbar{grid-column:1/-1;grid-row:1}.secondary-nav{grid-column:2;grid-row:2}main{grid-column:2;grid-row:3;min-height:0;overflow-y:auto;padding-bottom:1rem}nav.bottom.nav-domains{grid-column:1;grid-row:2/-1;position:static;width:var(--sidebar-w);height:100%;min-height:0;grid-template-columns:1fr!important;grid-auto-rows:min-content;gap:.15rem;border-top:0;border-right:1px solid var(--c-border);box-shadow:4px 0 18px #10283f0f;overflow-y:auto;overflow-x:visible;padding:.4rem .3rem calc(.4rem + env(safe-area-inset-bottom,.2rem))!important}nav.bottom:after{display:none}.nav-domain>.navitem{height:auto!important;min-height:44px!important;padding:.45rem .3rem!important;font-size:.72rem!important}.nav-domain>.navitem .navicon{font-size:1.25rem!important}.nav-domain>.navitem .navlabel{font-size:.68rem;-webkit-line-clamp:2}.nav-popover{bottom:auto;top:0;left:calc(100% + .5rem);transform:none;width:min(240px,40vw)}.nav-popover:after{display:none}.cartbar{bottom:env(safe-area-inset-bottom,0)}}.top-quick{display:flex;align-items:center;gap:.3rem;flex:none}header.topbar .quick-btn{display:inline-flex;align-items:center;justify-content:center;gap:.12rem;min-width:40px;min-height:40px;padding:.2rem .5rem;border-radius:var(--r-sm);font-weight:800;line-height:1}header.topbar .quick-home span{font-size:1.35rem}header.topbar .quick-lang{font-size:.72rem;letter-spacing:.02em}header.topbar .quick-lang span{opacity:.55}header.topbar .quick-lang span.on{opacity:1;text-decoration:underline;text-underline-offset:3px}header.topbar .quick-lang i{font-style:normal;opacity:.45}.quick-theme{position:relative;display:flex}.theme-menu{position:absolute;top:calc(100% + .45rem);left:0;z-index:70;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;width:min(23rem,calc(100vw - 1.5rem));padding:.4rem;background:var(--c-card);color:var(--c-ink);border:1px solid var(--c-border);border-radius:var(--r);box-shadow:var(--shadow-3);animation:nav-pop-in var(--t-med) var(--ease) both}.theme-menu button{display:flex;align-items:center;justify-content:flex-start;gap:.45rem;min-height:40px;padding:.3rem .5rem;font-size:var(--fs-sm);font-weight:700;background:transparent;border:1px solid transparent;color:var(--c-ink)}.theme-menu button:hover{background:var(--c-hover)}.theme-menu button.on{border-color:var(--c-primary);background:var(--c-primary-050);color:var(--c-primary-600)}.theme-menu i{width:1.1rem;height:1.1rem;flex:none;border-radius:5px;border:1px solid var(--c-border)}@media (max-width:600px){.theme-menu{grid-template-columns:1fr;max-height:60dvh;overflow-y:auto}header.topbar .quick-btn{min-width:36px;min-height:36px;padding:.15rem .35rem}header.topbar .quick-home span{font-size:1.2rem}}.wide-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:100%}.wide-scroll>table{min-width:max-content;width:100%}.wide-scroll th,.wide-scroll td{white-space:nowrap}.wide-scroll th:first-child,.wide-scroll td:first-child{position:sticky;left:0;z-index:2;background:var(--c-card);box-shadow:1px 0 0 var(--c-border)}.wide-scroll thead th:first-child,.wide-scroll tfoot td:first-child{background:var(--c-surface-3);z-index:3}.wide-scroll .row-action{display:flex;gap:.3rem}.home-today-row{gap:.5rem}.home-today{display:flex;flex-direction:column;gap:.1rem;padding:.4rem .7rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm);min-width:6.5rem}.home-today span{color:var(--c-ink-soft);font-size:var(--fs-xs)}.home-today strong{font-size:var(--fs-lg);line-height:1.1;font-variant-numeric:tabular-nums}@media (max-width:600px){.home-today-row{width:100%}.home-today{flex:1;min-width:0}}.appearance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.45rem}.appearance-grid button{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;min-height:44px;padding:.35rem .55rem;font-weight:700}.appearance-grid button.selected{border-color:var(--c-primary);background:var(--c-primary-050);color:var(--c-primary-600)}.appearance-grid i{width:1.25rem;height:1.25rem;flex:none;border-radius:6px;border:1px solid var(--c-border)}.tuning-row{display:grid;grid-template-columns:minmax(7rem,auto) 1fr auto;align-items:center;gap:.75rem}.tuning-row input[type=range]{width:100%;min-height:auto;padding:0;border:0;background:transparent}.tuning-row output{font-variant-numeric:tabular-nums;color:var(--c-ink-soft);font-size:var(--fs-sm);min-width:3.5rem;text-align:right}.palette-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.palette-row label{display:flex;align-items:center;gap:.4rem;font-weight:700}.palette-row input[type=color]{width:3rem;height:2.5rem;padding:.15rem;min-height:auto;cursor:pointer}@media (max-width:600px){.tuning-row{grid-template-columns:1fr auto}.tuning-row input[type=range]{grid-column:1/-1}}
