:root{color-scheme:light dark;--safe-bottom: env(safe-area-inset-bottom, 0px);--color-bg: #FAFAF8;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-surface-overlay: rgba(28, 28, 26, .4);--color-text: #1c1c1a;--color-text-muted: #6B7280;--color-border: #C4BCAD;--color-primary: #1a5c38;--color-primary-hover: #144a2d;--color-status-bg: #eef6f1;--color-primary-foreground: #ffffff;--color-accent: #c8a96e;--color-accent-bg: #f8f3eb;--color-error: #b42318;--color-error-bg: #fef3f2;--color-success: #067647;--color-warning: #b54708;--color-warning-bg: #fffbeb;--color-warning-text: #92400e;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "DM Sans", "Inter", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.45;--line-height-relaxed: 1.5;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--shadow-sm: 0 1px 2px rgba(28, 28, 26, .05);--shadow-bar: 0 -4px 24px rgba(28, 28, 26, .08);--shadow-card: 0 1px 3px rgba(28, 28, 26, .06);--shadow-md: 0 4px 12px rgba(28, 28, 26, .08);--shadow-lg: 0 8px 24px rgba(28, 28, 26, .1);--touch-min: 44px;--motion-duration-short: .15s;--motion-duration-medium: .2s;--motion-duration-page: .38s;--motion-ease-out: cubic-bezier(0, 0, .2, 1);--motion-ease-emphasized: cubic-bezier(.16, 1, .3, 1);--motion-distance-page: 14px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-bg: #1C1A17;--color-surface: #26231F;--color-surface-raised: #312E29;--color-surface-overlay: rgba(28, 26, 22, .72);--color-text: #F5F2EB;--color-text-muted: #A39E93;--color-border: #4A453C;--color-primary: #5CB88A;--color-primary-hover: #6BC994;--color-status-bg: #1A3326;--color-primary-foreground: #0D1F14;--color-accent: #D4B87A;--color-accent-bg: rgba(212, 184, 122, .16);--color-error: #F97066;--color-error-bg: #3B1A18;--color-success: #6BC994;--color-warning: #E8A23A;--color-warning-bg: #3A2A12;--color-warning-text: #F0C674;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-bar: 0 -2px 16px rgba(0, 0, 0, .28);--shadow-card: 0 0 0 1px rgba(74, 69, 60, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .28);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .32)}}[data-theme=light]{--color-bg: #FAFAF8;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-surface-overlay: rgba(28, 28, 26, .4);--color-text: #1c1c1a;--color-text-muted: #6B7280;--color-border: #C4BCAD;--color-primary: #1a5c38;--color-primary-hover: #144a2d;--color-status-bg: #eef6f1;--color-primary-foreground: #ffffff;--color-accent: #c8a96e;--color-accent-bg: #f8f3eb;--color-error: #b42318;--color-error-bg: #fef3f2;--color-success: #067647;--color-warning: #b54708;--color-warning-bg: #fffbeb;--color-warning-text: #92400e;--shadow-sm: 0 1px 2px rgba(28, 28, 26, .05);--shadow-bar: 0 -4px 24px rgba(28, 28, 26, .08);--shadow-card: 0 1px 3px rgba(28, 28, 26, .06);--shadow-md: 0 4px 12px rgba(28, 28, 26, .08);--shadow-lg: 0 8px 24px rgba(28, 28, 26, .1)}[data-theme=dark]{--color-bg: #1C1A17;--color-surface: #26231F;--color-surface-raised: #312E29;--color-surface-overlay: rgba(28, 26, 22, .72);--color-text: #F5F2EB;--color-text-muted: #A39E93;--color-border: #4A453C;--color-primary: #5CB88A;--color-primary-hover: #6BC994;--color-status-bg: #1A3326;--color-primary-foreground: #0D1F14;--color-accent: #D4B87A;--color-accent-bg: rgba(212, 184, 122, .16);--color-error: #F97066;--color-error-bg: #3B1A18;--color-success: #6BC994;--color-warning: #E8A23A;--color-warning-bg: #3A2A12;--color-warning-text: #F0C674;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-bar: 0 -2px 16px rgba(0, 0, 0, .28);--shadow-card: 0 0 0 1px rgba(74, 69, 60, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .28);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .32)}:root{--color-text-secondary: var(--color-text-muted);--color-on-primary: var(--color-primary-foreground, #ffffff);--call-bar-inset: var(--call-bar-height, 72px)}@media (prefers-reduced-motion: reduce){:root{--motion-duration-short: 0ms;--motion-duration-medium: 0ms;--motion-duration-page: 0ms;--motion-distance-page: 0px}}:root{--bp-xs: 320px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--space-4, 1rem));padding:0 var(--space-4, 1rem)}@media (min-width: 768px){.table-scroll{margin:0;padding:0}}.table-scroll table{min-width:640px}.app-shell{width:100%;margin-inline:auto}@media (min-width: 768px){.app-shell--narrow{max-width:480px}.app-shell--medium{max-width:768px}.app-shell--wide{max-width:1200px}}.field__input,.field__select,.field textarea,.form-field input,.form-field select,.form-field textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.form-field input[type=time],.form-field input[type=date],.field__input[type=time],.field__input[type=date]{display:block}@media (max-width: 479px){.form__actions,.form-actions{flex-direction:column;align-items:stretch}.form__actions .btn,.form-actions .btn{width:100%}.field__input,.field__select{font-size:16px}}@media (min-width: 480px) and (max-width: 767px){.form__row--tablet-1{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background .15s,color .15s;cursor:pointer}.btn--sm{min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary, var(--color-surface))}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg)}.btn--ghost{background:transparent;color:var(--color-primary);min-height:36px}.btn--ghost:hover:not(:disabled){background:var(--color-status-bg)}.btn--danger{background:var(--color-error);color:var(--color-surface)}.btn--danger-text{color:var(--color-error)}.btn--block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--call{flex:1;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--call-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent}.btn--call-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--call-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--call-themed{background:var(--call-btn-bg, var(--color-primary));color:var(--color-on-primary);border-color:transparent}.btn--call-themed:hover:not(:disabled){filter:brightness(.92)}.field{display:flex;flex-direction:column;gap:.375rem}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.field__input{min-height:var(--touch-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font:inherit}.field__input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.form-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);min-width:0}.form-field span{font-weight:var(--font-weight-medium)}.form-field input,.form-field select,.form-field textarea{min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;background:var(--color-surface);min-width:0}.form-field input[type=time],.form-field input[type=date]{max-width:100%}.form-field input[type=color]{width:100%;max-width:8rem;height:var(--touch-min);padding:var(--space-1)}.form-field textarea{min-height:auto;resize:vertical}.form-field--checkbox{flex-direction:row;align-items:flex-start;gap:var(--space-2)}.form-field--checkbox span{flex:1;min-width:0;line-height:var(--line-height-normal)}.form-field--checkbox input{min-height:auto;width:18px;height:18px;flex-shrink:0;margin-top:.125rem}.form-field--row{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3)}.form-field--row span{flex:1}.form-field--row input[type=checkbox]{width:20px;height:20px;min-height:auto;flex-shrink:0}.form-field__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-error{color:var(--color-error);font-size:var(--font-size-xs)}.spinner{width:2.5rem;height:2.5rem;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge--success{background:var(--color-status-bg);color:var(--color-success)}.badge--muted{background:var(--color-bg);color:var(--color-text-muted)}.state-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1.5rem;text-align:center}.state-screen h1,.state-screen h2{margin:0;font-size:var(--font-size-lg)}.state-screen p{margin:0;color:var(--color-text-muted);max-width:28rem;line-height:var(--line-height-relaxed)}.state-screen--error h1{color:var(--color-error)}.state-icon{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;font-weight:var(--font-weight-bold);background:var(--color-primary);color:var(--color-surface)}.state-icon--muted{background:var(--color-border);color:var(--color-text-muted)}.data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-weight:var(--font-weight-semibold);color:var(--color-text-muted);white-space:nowrap}.data-table__empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4)}.empty-state h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.empty-state p{margin:0;color:var(--color-text-muted)}.loading-skeleton{display:flex;flex-direction:column;gap:var(--space-3)}.loading-skeleton__row{height:48px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}dialog:modal{margin:auto}.confirm-dialog{border:none;border-radius:var(--radius-md);padding:0;max-width:420px;width:calc(100% - var(--space-8));box-shadow:var(--shadow-card)}.confirm-dialog::backdrop{background:color-mix(in srgb,var(--color-text) 40%,transparent)}.confirm-dialog__content{padding:var(--space-6)}.confirm-dialog__content h3{margin:0 0 var(--space-2)}.confirm-dialog__content p{margin:0 0 var(--space-5);color:var(--color-text-muted)}.confirm-dialog__actions{display:flex;gap:var(--space-3);justify-content:flex-end;flex-wrap:wrap}.form-dialog{border:none;border-radius:var(--radius-md);padding:0;max-width:480px;width:calc(100% - var(--space-8));box-shadow:var(--shadow-card)}.form-dialog::backdrop{background:color-mix(in srgb,var(--color-text) 40%,transparent)}.form-dialog__content{padding:var(--space-6)}.form-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0}.form-fieldset legend{padding:0 var(--space-1);font-size:var(--font-size-sm);font-weight:600}.form-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.form-dialog__header h3{margin:0}.form-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap}.form-dialog__actions-main{display:flex;gap:var(--space-3);margin-left:auto}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header h1,.page-header h2{margin:0;font-size:var(--font-size-xl)}.page-header--compact{margin-bottom:var(--space-4)}.page-header__subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.page-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.toast-stack{position:fixed;top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:var(--space-4);bottom:auto;left:auto;z-index:10000;display:flex;flex-direction:column;gap:var(--space-3);max-width:min(480px,calc(100vw - 2rem));margin:0;padding:0;border:none;background:transparent;overflow:visible;pointer-events:none}.toast-stack:popover-open{top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:var(--space-4);bottom:auto;left:auto;width:auto;height:auto;margin:0}.toast{min-height:var(--touch-min);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-bar);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:1.45;background:var(--color-surface);border:1px solid var(--color-border);pointer-events:auto;animation:toast-enter var(--motion-duration-medium, .2s) var(--motion-ease-out, ease-out) both}@keyframes toast-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.toast--success{border-color:var(--color-success);background:var(--color-status-bg);color:var(--color-success)}.toast--error{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error)}.dismiss-toast{position:fixed;left:var(--space-4);right:var(--space-4);width:auto;max-width:none;z-index:40;display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-min);padding:var(--space-4) var(--space-5);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:1.45;box-shadow:var(--shadow-bar);touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .18s ease,opacity .18s ease}.dismiss-toast--dragging{cursor:grabbing;transition:none}.dismiss-toast--exiting{pointer-events:none}.dismiss-toast__message{flex:1 1 auto}.dismiss-toast--status{background:var(--color-status-bg);color:var(--color-primary);border-color:var(--color-primary)}.dismiss-toast--alert{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}.dismiss-toast--top{top:calc(1rem + env(safe-area-inset-top,0px))}.dismiss-toast--bottom{bottom:calc(var(--call-bar-height, 5rem) + var(--safe-bottom))}.modal{border:none;border-radius:var(--radius-md);padding:0;box-shadow:var(--shadow-card)}.modal--sm{max-width:420px;width:calc(100% - var(--space-8))}.modal--md{max-width:480px;width:calc(100% - var(--space-8))}.modal--lg{max-width:640px;width:calc(100% - var(--space-8))}.modal::backdrop{background:color-mix(in srgb,var(--color-text) 40%,transparent)}.modal__content{padding:var(--space-6)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.modal__header h3{margin:0}.modal__body{max-height:min(70vh,640px);overflow-y:auto}@media (max-width: 479px){.toast-stack{left:var(--space-4);right:var(--space-4);max-width:none}.toast-stack:popover-open{left:var(--space-4);right:var(--space-4)}.modal--sm,.modal--md,.modal--lg{width:calc(100% - var(--space-4));max-width:none}.modal__content{padding:var(--space-4)}.modal__body{max-height:min(65vh,520px)}.data-table th,.data-table td{padding:var(--space-2);font-size:var(--font-size-xs)}.page-header{flex-direction:column;align-items:stretch}.page-header__actions{width:100%}.page-header__actions .btn{flex:1 1 auto}.dismiss-toast{left:var(--space-4);right:var(--space-4)}}.qr-display{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.qr-display__label{margin:0;font-weight:var(--font-weight-semibold)}.qr-display__link{font-size:var(--font-size-sm);color:var(--color-primary)}@keyframes sn-page-enter{0%{opacity:0;transform:translate3d(0,var(--motion-distance-page, 14px),0) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}.sn-page-enter{transform-origin:50% 0;animation:sn-page-enter var(--motion-duration-page, .38s) var(--motion-ease-emphasized, cubic-bezier(.16, 1, .3, 1)) both}@media (prefers-reduced-motion: reduce){.sn-page-enter{animation:none;filter:none}}:root{--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%}.guest-bootstrap{display:grid;place-items:center;min-height:100dvh;background:var(--color-bg, #fafaf8)}.guest-bootstrap__spinner{width:2rem;height:2rem;border:3px solid var(--color-border, #c4bcad);border-top-color:var(--color-primary, #1a5c38);border-radius:50%;animation:guest-bootstrap-spin .7s linear infinite}@keyframes guest-bootstrap-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.guest-bootstrap__spinner{animation:none;border-top-color:var(--color-primary, #1a5c38)}}
