@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.end{inset-inline-end:var(--spacing)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-0{padding:calc(var(--spacing) * 0)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-12{padding:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.capitalize{text-transform:capitalize}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#2962af;--color-primary-light:#3a75c4;--color-secondary:#a6abbd;--color-accent:#2962af;--color-accent-light:#4a80c4;--color-surface:#f4f5f7;--color-surface-elevated:#fafafa;--color-border:#bfa5a8;--color-border-light:#d9cdd0;--color-text:#1a1f2e;--color-text-secondary:#5c6172;--color-text-muted:#a6abbd;--color-success:#059669;--color-success-bg:#d1fae5;--color-warning:#d97706;--color-warning-bg:#fef3c7;--color-error:#a83c56;--color-error-bg:#f8e4e9;--color-badge-rank-bg:#2962af1f;--color-badge-rank-text:#2962af;--color-badge-title-bg:#a6abbd33;--color-badge-title-text:#5c6172;--color-stat-1-bg:#2962af1a;--color-stat-1:#2962af;--color-stat-2-bg:#3a75c41a;--color-stat-2:#3a75c4;--color-stat-3-bg:#a6abbd26;--color-stat-3:#5c6172;--color-stat-4-bg:#bfa5a826;--color-stat-4:#a83c56;--font-display:"Cormorant Garamond", "Times New Roman", Georgia, serif;--font-body:"Inter", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--sidebar-width:260px;--header-height:64px;--bottom-nav-height:72px;--radius:5px;--radius-lg:8px;--transition-fast:.15s ease;--transition-base:.2s ease}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-body);background:var(--color-surface);color:var(--color-text);min-height:100vh;line-height:1.5}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-primary);color:#fff;z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{padding:var(--space-5);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex}.sidebar-close{color:#fff;cursor:pointer;width:32px;height:32px;transition:background var(--transition-fast);background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;display:none}.sidebar-close:hover{background:#fff3}@media (width<=768px){.sidebar-close{display:flex}}.logo{align-items:center;gap:var(--space-3);color:#fff;text-decoration:none;display:flex}.logo-icon{background:var(--color-accent);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.logo-text{font-family:var(--font-display);font-size:1.25rem;font-weight:600}.lodge-switcher-container{margin:var(--space-4) var(--space-4) 0;position:relative}.lodge-switcher{width:100%;padding:var(--space-3);background:var(--color-primary-light);align-items:center;gap:var(--space-3);cursor:pointer;transition:background var(--transition-fast);color:inherit;text-align:left;border:none;border-radius:8px;display:flex}.lodge-switcher:hover{background:#ffffff1a}.lodge-switcher-avatar{background:var(--color-accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:600;display:flex}.lodge-switcher-info{flex:1;min-width:0}.lodge-switcher-name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.lodge-switcher-arrow{opacity:.7;transition:transform var(--transition-fast);flex-shrink:0}.lodge-switcher-arrow.open{transform:rotate(180deg)}.lodge-switcher-empty{margin:var(--space-4);padding:var(--space-3);text-align:center}.lodge-dropdown-overlay{z-index:99;position:fixed;inset:0}.lodge-dropdown{top:calc(100% + var(--space-2));box-shadow:var(--shadow-lg);z-index:100;background:#fff;border-radius:8px;max-height:300px;position:absolute;left:0;right:0;overflow-y:auto}.lodge-dropdown-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);cursor:pointer;text-align:left;color:var(--color-text);transition:background var(--transition-fast);background:0 0;border:none;display:flex}.lodge-dropdown-item:hover,.lodge-dropdown-item.active{background:var(--color-surface)}.lodge-dropdown-item:first-child{border-radius:8px 8px 0 0}.lodge-dropdown-item:last-child{border-radius:0 0 8px 8px}.lodge-dropdown-item:only-child{border-radius:8px}.lodge-dropdown-avatar{background:var(--color-primary);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:600;display:flex}.lodge-dropdown-name{flex:1;font-size:.875rem;font-weight:500}.lodge-dropdown-check{color:var(--color-success);flex-shrink:0}.nav{padding:var(--space-4);flex:1;overflow-y:auto}.nav-section{margin-bottom:var(--space-6)}.nav-section-title{text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;padding:0 var(--space-3);margin-bottom:var(--space-2);font-size:.625rem;font-weight:600}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3);color:#fffc;transition:all var(--transition-fast);border-radius:6px;font-size:.875rem;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item.active{color:#fff;background:#ffffff26}.nav-item.active:before{content:"";background:var(--color-accent);border-radius:0 2px 2px 0;width:3px;height:24px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.nav-item-sub{padding-left:calc(var(--space-3) + 18px + var(--space-3));font-size:.875rem}.nav-item-badge{background:#fff3;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:.75rem}.user-info{padding:var(--space-4);align-items:center;gap:var(--space-3);border-top:1px solid #ffffff1a;display:flex}.user-avatar{background:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:600;display:flex}.user-details{flex:1;min-width:0}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.user-role{color:#fff9;font-size:.75rem}.user-logout{color:#fff9;flex-shrink:0}.user-logout:hover{color:var(--color-error);background:#ffffff1a}.main{margin-left:var(--sidebar-width);flex-direction:column;flex:1;display:flex}.header{height:var(--header-height);border-bottom:1px solid var(--color-border-light);padding:0 var(--space-6);z-index:50;background:#fff;align-items:center;display:flex;position:sticky;top:0}.header-back{margin-right:var(--space-2);color:var(--color-text-secondary)}.header-title{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.01em;font-size:1.25rem;font-weight:600}.header-actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.content{padding:var(--space-6);gap:var(--space-5);flex-direction:column;flex:1;display:flex}.card{border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;overflow:hidden}.card-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);background:var(--color-surface);justify-content:space-between;align-items:center;display:flex}.card-title{align-items:center;gap:var(--space-2);font-size:.9rem;font-weight:600;display:flex}.card-body{padding:var(--space-5)}.card-filters{gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border-light);align-items:end;display:flex}.date-filter{gap:var(--space-1);flex-direction:column;display:flex}.date-filter .form-label{margin-bottom:0;font-size:.75rem}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:10px var(--space-5);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-light)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-border-light)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-danger{background:var(--color-error);color:#fff;border:1px solid var(--color-error)}.btn-danger:hover:not(:disabled){filter:brightness(.95)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-ghost:hover{background:var(--color-surface)}.btn-sm{padding:6px var(--space-3);font-size:.8125rem}.btn-icon{padding:var(--space-2);width:36px;height:36px}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.form-row-inline{align-items:flex-end;gap:var(--space-4);display:flex}.form-group-narrow{flex:0 0 120px;min-width:0;max-width:120px}.form-group-narrow .form-input{width:100%;min-width:0}.form-group-checkbox-inline .checkbox-label{align-items:center;height:42px;display:flex}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-group.full{grid-column:1/-1}.form-row-inline{gap:var(--space-3);grid-column:1/-1;grid-template-columns:1fr auto;display:grid}.form-row-zip{grid-template-columns:100px 1fr}.form-row-event-time{gap:var(--space-3);grid-column:1/-1;align-items:end;display:flex}.form-row-event-time .form-group{flex:1;min-width:0}.form-row-event-time .form-group:last-child{flex:none}.form-row-event-time .form-input{width:100%}@media (width<=768px){.form-row-event-time{flex-wrap:wrap}.form-row-event-time .form-group{flex:40%}.form-row-event-time .form-group:last-child{flex:none}}.form-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500}.form-input{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);height:42px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-size:.875rem}.form-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #6366f11a}.form-input::placeholder{color:var(--color-text-muted)}textarea.form-input{height:auto}.form-input.is-invalid{border-color:var(--color-error)}.form-input.is-invalid:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #dc26261a}.form-error{color:var(--color-error);margin-top:var(--space-1);font-size:.8125rem}.form-group.has-error .form-label{color:var(--color-error)}.form-group.has-error .form-input{border-color:var(--color-error)}.form-group.has-error .form-input:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #dc26261a}.datepicker-wrapper{width:100%;display:block}.react-datepicker-popper{z-index:10}.react-datepicker{font-family:var(--font-body);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);border-radius:8px;overflow:hidden}.react-datepicker__header{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding-top:var(--space-3)}.react-datepicker__current-month{color:var(--color-text);margin-bottom:var(--space-2);font-size:.9375rem;font-weight:600}.react-datepicker__day-name{color:var(--color-text-muted);width:2.2rem;font-size:.75rem;font-weight:500;line-height:2.2rem}.react-datepicker__day{width:2.2rem;color:var(--color-text);transition:background var(--transition-fast);border-radius:6px;font-size:.875rem;line-height:2.2rem}.react-datepicker__day:hover{background:var(--color-surface);border-radius:6px}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:var(--color-primary);color:#fff;border-radius:6px}.react-datepicker__day--selected:hover{background:var(--color-primary-light)}.react-datepicker__day--today{font-weight:700}.react-datepicker__day--outside-month{color:var(--color-text-muted);opacity:.5}.react-datepicker__navigation{top:10px}.react-datepicker__navigation-icon:before{border-color:var(--color-text-secondary)}.react-datepicker__time-container{border-left:1px solid var(--color-border-light);width:100px}.react-datepicker__time-container .react-datepicker__time{background:#fff}.react-datepicker__header--time{padding:var(--space-3) var(--space-2)}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:100px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{align-items:center;height:auto;padding:6px 12px;font-size:.875rem;display:flex}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background:var(--color-surface)}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background:var(--color-primary);color:#fff;font-weight:500}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background:var(--color-primary-light)}.react-datepicker__portal{z-index:100;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.react-datepicker__portal .react-datepicker{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.react-datepicker__portal .react-datepicker__month-container{float:none}.react-datepicker__portal .react-datepicker__time-container{float:none;border-left:none;border-top:1px solid var(--color-border-light);width:100%}.react-datepicker__portal .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:100%}.react-datepicker__portal .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{flex-wrap:wrap;max-height:180px;display:flex;overflow-y:auto;height:auto!important}.react-datepicker__portal .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{text-align:center;flex:0 0 25%;width:auto;padding:6px 4px}.react-datepicker__time-list-item--disabled{display:none!important}.meal-list{flex-direction:column;display:flex}.meal-list-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);display:flex}.meal-list-item:last-child{border-bottom:none}.meal-list-info{flex-direction:column;flex:1;min-width:0;display:flex}.meal-list-name{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.meal-list-desc{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.meal-list-price{color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;font-size:.875rem}@media (width<=768px){.meal-list-item{flex-wrap:wrap}.meal-list-info{flex:60%}}.stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{padding:var(--space-5);border:1px solid var(--color-border-light);align-items:flex-start;gap:var(--space-4);background:#fff;border-radius:8px;display:flex}.stat-icon{border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-content{flex:1}.stat-value{color:var(--color-text);letter-spacing:-.02em;font-size:1.75rem;font-weight:700;line-height:1.2}.stat-label{color:var(--color-text-muted);margin-top:var(--space-1);letter-spacing:.01em;font-size:.8125rem}.dashboard-grid{gap:var(--space-6);grid-template-columns:1fr 380px;display:grid}.chart-container{align-items:flex-end;gap:var(--space-2);height:280px;padding:var(--space-4) 0;display:flex}.chart-bar-group{align-items:center;gap:var(--space-2);flex-direction:column;flex:1;display:flex}.chart-bar{width:100%;max-width:40px;height:var(--bar-height,0%);background:var(--color-primary);min-height:4px;transition:all var(--transition-base);border-radius:4px 4px 0 0}.chart-bar:hover{opacity:.8}.chart-label{color:var(--color-text-muted);font-size:.75rem;font-weight:500}.chart-value{color:var(--color-text);font-size:.7rem;font-weight:600}.event-list{flex-direction:column;display:flex}.event-item{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);display:flex}.event-item:last-child{border-bottom:none}.event-item:hover{background:var(--color-surface)}.event-date{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:56px;display:flex}.event-date-day{font-size:1.25rem;font-weight:600;line-height:1}.event-date-month{color:var(--color-text-secondary);text-transform:uppercase;font-size:.7rem;font-weight:500}.event-info{flex:1;min-width:0}.event-name{margin-bottom:2px;font-weight:500}.event-meta{color:var(--color-text-secondary);font-size:.8rem}.event-rank{background:var(--color-badge-rank-bg);width:28px;height:28px;color:var(--color-badge-rank-text);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-light);font-size:.75rem;font-weight:600}.data-table td{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);font-size:.875rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-surface-elevated)}.data-table tr.row-clickable{cursor:pointer}.badge{border-radius:4px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.badge-rank{background:var(--color-badge-rank-bg);color:var(--color-badge-rank-text);font-family:var(--font-mono)}.badge-title{background:var(--color-badge-title-bg);color:var(--color-badge-title-text)}.status-active{background:var(--color-success-bg);color:var(--color-success)}.status-inactive{background:var(--color-error-bg);color:var(--color-error)}.search-input-wrapper{position:relative}.search-input-wrapper svg{left:var(--space-3);color:var(--color-text-muted);position:absolute;top:50%;transform:translateY(-50%)}.search-input{padding-left:40px}.loading-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:var(--color-surface);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{width:100%;max-width:400px;padding:var(--space-8);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px}.login-logo{justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);display:flex}.login-logo-icon{background:var(--color-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.login-logo-text{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-error{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-3);border-radius:8px;font-size:.875rem}.notice-info{background:var(--color-bg-secondary);color:var(--color-text-muted);padding:var(--space-3);border:1px solid var(--color-border);border-radius:8px;font-size:.875rem}.bottom-nav{height:var(--bottom-nav-height);border-top:1px solid var(--color-border-light);z-index:100;background:#fff;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-items{height:100%;display:flex}.bottom-nav-item{justify-content:center;align-items:center;gap:var(--space-1);color:var(--color-text-muted);flex-direction:column;flex:1;font-size:.625rem;font-weight:500;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--color-accent)}.menu-toggle{width:40px;height:40px;color:var(--color-text);cursor:pointer;margin-right:var(--space-3);background:0 0;border:none;justify-content:center;align-items:center;display:none}@media (width<=768px){.sidebar{transition:transform var(--transition-base);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.visible{display:block}.main{padding-bottom:var(--bottom-nav-height);max-width:100vw;margin-left:0}.menu-toggle{display:flex}.bottom-nav{display:block}.header{padding:0 var(--space-4)}.header-title{font-size:1.125rem}.content{padding:var(--space-3) 0;gap:var(--space-3)}.content .card{border-left:none;border-right:none;border-radius:0}.event-edit-tabs{margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-3)}.card-header{padding:var(--space-4);align-items:stretch;gap:var(--space-3);flex-direction:column}.search-input-wrapper,.search-input{width:100%}.table-wrapper.desktop-only{display:none}.mobile-cards{display:block}.form-grid{grid-template-columns:1fr}.btn span{display:none}.btn-show-text span{display:inline}.stats-grid,.stats-grid-3{grid-template-columns:repeat(2,1fr)}.report-grid,.permissions-grid,.dashboard-grid{grid-template-columns:1fr}.login-card{margin:var(--space-4);padding:var(--space-6)}.data-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{min-width:600px}.mobile-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);margin-bottom:var(--space-3);padding:var(--space-4);border-radius:8px}.mobile-card:last-child{margin-bottom:0}.mobile-card-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.mobile-card-title{flex:1;font-weight:500}.mobile-card-body{gap:var(--space-2);color:var(--color-text-secondary);font-size:.875rem;display:grid}.mobile-card-row{justify-content:space-between;align-items:center;display:flex}.mobile-card-label{color:var(--color-text-muted)}.mobile-card-actions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-light);gap:var(--space-2);display:flex}.mobile-card-actions .btn{flex:1}.mobile-card-actions .btn span{display:inline}}@media (width<=480px){.stats-grid,.stats-grid-3{grid-template-columns:1fr}.stat-card{flex-direction:row}.login-card{margin:var(--space-2);padding:var(--space-4)}.login-logo-text{font-size:1.25rem}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mt-4{margin-top:var(--space-4)}.p-0{padding:0}.p-6{padding:var(--space-6)}.p-12{padding:var(--space-12)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-error{color:var(--color-error)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.w-full{width:100%}.avatar{justify-content:center;align-items:center;font-weight:500;display:flex}.avatar-sm{background:var(--color-accent);color:#fff;border-radius:50%;width:36px;height:36px;font-size:.875rem}.avatar-lg{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;width:48px;height:48px;font-size:1.1rem;font-weight:600}.profile-card{align-items:center;gap:var(--space-3);display:flex}.profile-card-info{flex:1;min-width:0}.profile-card-meta{align-items:center;gap:var(--space-2);margin-top:2px;font-size:.85rem;display:flex}.avatar-square{border-radius:8px}.icon-box{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.icon-box-primary{background:var(--color-primary);color:#fff}.stat-icon-1{background:var(--color-stat-1-bg);color:var(--color-stat-1)}.stat-icon-2{background:var(--color-stat-2-bg);color:var(--color-stat-2)}.stat-icon-3{background:var(--color-stat-3-bg);color:var(--color-stat-3)}.stat-icon-4{background:var(--color-stat-4-bg);color:var(--color-stat-4)}.table-cell-user{align-items:center;gap:var(--space-3);display:flex}.table-cell-user-info{flex-direction:column;display:flex}.table-cell-user-name{font-weight:500}.edit-layout{gap:var(--space-6);align-items:flex-start;display:flex}.edit-layout-main{flex:1;min-width:0}.edit-layout-sidebar{flex-shrink:0;width:320px}@media (width<=768px){.edit-layout{gap:var(--space-3);flex-direction:column}.edit-layout-main{width:100%}.edit-layout-sidebar{order:-1;width:100%}.edit-layout-sidebar .mt-4{margin-top:var(--space-2)}.edit-layout-main>form>.flex{padding:0 var(--space-4)}}.card-no-padding .card-body{padding:0}.lodge-list-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);font-size:.875rem}.lodge-list-item:last-child{border-bottom:none}.checkbox-inline{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.btn-full{width:100%}.btn-danger-text{color:var(--color-error)}.placeholder-content{text-align:center;color:var(--color-text-muted);padding:var(--space-12)}.table-wrapper{overflow-x:auto}.admin-cards,.branch-cards,.lodge-cards,.member-cards{padding:var(--space-3);display:none}.admin-card,.branch-card,.lodge-card,.member-card{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-2);cursor:pointer;transition:background-color var(--transition-fast);color:inherit;text-decoration:none;display:flex}.admin-card:hover,.branch-card:hover,.lodge-card:hover{background:var(--color-surface)}.admin-card:last-child,.branch-card:last-child,.lodge-card:last-child{margin-bottom:0}.admin-card-info,.branch-card-info,.lodge-card-info{flex:1;min-width:0}.admin-name,.branch-name,.lodge-name{color:var(--color-text);font-weight:500}.admin-email,.branch-number,.lodge-status{color:var(--color-text-secondary);font-size:.85rem}.admin-card-meta,.branch-card-meta,.lodge-card-meta{flex-shrink:0}.member-cell{align-items:center;gap:var(--space-3);display:flex}.member-avatar{background:var(--color-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:500;display:flex}.member-card:hover{background:var(--color-surface)}.member-card:last-child{margin-bottom:0}.member-card-info{flex:1;min-width:0}.member-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.member-meta{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.member-card-badge{flex-shrink:0}.row-deleted{opacity:.5}.row-deleted td{text-decoration:line-through}@media (width<=768px){.table-wrapper{display:none}.admin-cards,.branch-cards,.lodge-cards,.member-cards{display:block}}.no-padding{padding:0}.permission-list{border-top:1px solid var(--color-border-light)}.permission-item{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.permission-item:last-child{border-bottom:none}.permission-lodge{align-items:center;gap:var(--space-3);display:flex}.lodge-icon{background:var(--color-primary);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.875rem;font-weight:600;display:flex}.permission-lodge-info{flex-direction:column;display:flex}.permission-lodge-name{color:var(--color-text);font-weight:500}.permission-lodge-number{color:var(--color-text-secondary);font-size:.85rem}.permission-access{align-items:center;gap:var(--space-2);display:flex}.permissions-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.permissions-grid{grid-template-columns:1fr}}.permission-category{background:var(--color-surface);padding:var(--space-4);border-radius:8px}.permission-category-header{align-items:center;gap:var(--space-2);color:var(--color-text);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light);font-weight:600;display:flex}.permission-category-header svg{color:var(--color-text-secondary)}.permission-options{gap:var(--space-2);flex-direction:column;display:flex}.checkbox-label{align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-text);font-size:.875rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.lodge-selector{max-height:300px;overflow-y:auto}.lodge-selector-item{align-items:center;gap:var(--space-3);padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast);border-radius:6px;display:flex}.lodge-selector-item:hover{background:var(--color-surface)}.lodge-selector-item.selected{background:var(--color-accent);color:#fff}.lodge-selector-item.selected .lodge-icon{color:var(--color-accent);background:#fff}.lodge-selector-item.disabled{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:1000;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{box-shadow:var(--shadow-lg);background:#fff;border-radius:8px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--color-text);font-size:1.125rem;font-weight:600}.modal-body{padding:var(--space-5);overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-light);display:flex}.signup-detail-grid{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.signup-detail-row{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:flex-start;display:flex}.signup-detail-row:last-child{border-bottom:none}.signup-detail-label{color:var(--color-text-secondary);min-width:120px;font-weight:500}.signup-detail-value{text-align:right;word-break:break-word}.signup-purchases-list{text-align:right;margin:0;padding:0;list-style:none}.signup-purchases-list li{padding:var(--space-1) 0}.bg-surface{background:var(--color-surface)}.membership-collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none}.membership-summary{flex:1;min-width:0}.membership-summary-badges{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.badge-lodge{background:var(--color-badge-rank-bg);color:var(--color-badge-rank-text);font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.75rem;overflow:hidden}.membership-header-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.membership-toggle{padding:var(--space-1);color:var(--color-text-muted)}.membership-item{padding:var(--space-3);border-bottom:1px solid var(--color-border-light)}.membership-item:last-child{border-bottom:none}.membership-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.membership-lodge{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.membership-lodge .font-medium{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.membership-fields{gap:var(--space-2);grid-template-columns:1fr 80px;align-items:end;display:grid}.membership-field{flex-direction:column;gap:2px;min-width:0;display:flex}.membership-field .form-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-size:.7rem}.membership-field .form-input{padding:var(--space-1) var(--space-2);box-sizing:border-box;border-radius:5px;width:100%;height:34px;font-size:.8125rem}.import-info{background:var(--color-surface);padding:var(--space-4);border-radius:8px}.import-info h4{margin-bottom:var(--space-2);font-weight:600}.import-steps{margin-left:var(--space-5);color:var(--color-text-secondary)}.import-steps li{margin-bottom:var(--space-1)}.import-requirements{background:var(--color-surface);padding:var(--space-4);border-radius:8px}.import-requirements h4{margin-bottom:var(--space-2);font-weight:600}.import-requirements p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.import-requirements ul{margin-left:var(--space-5);color:var(--color-text-secondary)}.import-requirements code{background:var(--color-border-light);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.85em}.import-stats{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=768px){.import-stats{grid-template-columns:repeat(2,1fr)}}.import-stat{background:var(--color-surface);padding:var(--space-4);text-align:center;border-radius:8px}.import-stat svg{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.import-stat-value{letter-spacing:-.02em;color:var(--color-text);font-size:2rem;font-weight:700}.import-stat-label{color:var(--color-text-muted);font-size:.875rem}.import-section{border:1px solid var(--color-border-light);border-radius:8px;overflow:hidden}.import-section-title{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);font-weight:600;display:flex}.import-section .table-wrapper{display:block}.import-warning{align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-warning-bg);color:var(--color-warning);margin:var(--space-3);border-radius:6px;font-size:.875rem;display:flex}.import-success{text-align:center;padding:var(--space-6)}.import-success svg{color:var(--color-success);margin-bottom:var(--space-3)}.import-success h3{color:var(--color-success);font-size:1.25rem}.import-results{background:var(--color-surface);padding:var(--space-4);border-radius:8px}.import-results p{margin-bottom:var(--space-2)}.import-results p:last-child{margin-bottom:0}.event-cell-date{flex-direction:column;display:flex}.event-cell-day{font-weight:500}.event-cell-time{font-size:.875rem}.row-past{opacity:.6}.attendee-counts{gap:var(--space-3);display:flex}.attendee-count{align-items:center;gap:var(--space-1);font-size:.875rem;display:flex}.attendee-count.confirmed{color:var(--color-success)}.attendee-count.declined{color:var(--color-error)}.attendee-count.pending{color:var(--color-text-muted)}.event-cards{display:none}@media (width<=768px){.event-cards{flex-direction:column;display:flex}.table-wrapper{display:none}}.event-card{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border-light);color:inherit;text-decoration:none;transition:background-color .15s;display:flex}.event-card:hover{background:var(--color-surface)}.event-card.past{opacity:.6}.event-card-date{min-width:50px;padding:var(--space-2);background:var(--color-primary);color:#fff;border-radius:8px;flex-direction:column;align-items:center;display:flex}.event-card-day{font-size:1.25rem;font-weight:700;line-height:1}.event-card-month{text-transform:uppercase;font-size:.75rem}.event-card-info{flex:1;min-width:0}.event-card-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.event-card-meta{gap:var(--space-2);color:var(--color-text-muted);font-size:.875rem;display:flex}.event-card-stats{align-items:center;gap:var(--space-3);display:flex}.event-card-attendees{align-items:center;gap:var(--space-1);color:var(--color-success);display:flex}.event-details-row{gap:var(--space-4);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=768px){.event-details-row{grid-template-columns:1fr}}.event-edit-tabs{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-4);gap:0;display:flex;overflow-x:auto}.event-edit-tabs .filter-btn{padding:var(--space-3) var(--space-5);color:var(--color-text-secondary);white-space:nowrap;border-bottom-width:2px;justify-content:center;font-size:.8125rem;font-weight:500}@media (width<=768px){.event-edit-tabs .filter-btn{padding:var(--space-3) var(--space-2);text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}}.event-edit-tabs .filter-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:#fff;font-weight:600}.product-items{gap:var(--space-3);flex-direction:column;display:flex}.product-item{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-3)}.product-item-header{align-items:center;gap:var(--space-3);display:flex}.product-item-name{flex:1;font-weight:500}.product-item-price{color:var(--color-text-secondary);white-space:nowrap}.product-item-details{align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-light);flex-wrap:wrap;display:flex}.product-item-field{align-items:center;gap:var(--space-2);display:flex}.product-item-field .form-label{color:var(--color-text-muted);margin-bottom:0;font-size:.8125rem}.product-item-field .form-input-sm{width:70px}.participant-filters{border-bottom:1px solid var(--color-border-light);padding:0 var(--space-3);display:flex}.filter-btn{align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-3);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-size:.875rem;transition:color .15s,border-color .15s;display:flex}.filter-btn:hover{color:var(--color-text)}.filter-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.participant-list{max-height:400px;overflow-y:auto}.participant-list-full{max-height:none}.participant-item-wrap{border-bottom:1px solid var(--color-border-light)}.participant-item-wrap:last-child{border-bottom:none}.participant-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.participant-info{flex:1;min-width:0}.participant-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.participant-meta{font-size:.75rem}.participant-actions{align-items:center;gap:var(--space-2);display:flex}.participant-status{padding:var(--space-1) var(--space-2);border-radius:4px;font-size:.75rem}.participant-status.status-confirmed{background:var(--color-success-bg);color:var(--color-success)}.participant-status.status-declined{background:var(--color-error-bg);color:var(--color-error)}.participant-status.status-pending{background:var(--color-surface);color:var(--color-text-muted)}.participant-payment{padding:0 var(--space-4) var(--space-3)}.participant-payment-info{align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.75rem;display:flex}.payment-badge{padding:1px var(--space-2);text-transform:uppercase;letter-spacing:.02em;border-radius:4px;font-size:.6875rem;font-weight:600}.payment-badge-pending{background:var(--color-surface);color:var(--color-text-muted)}.payment-badge-paid{background:var(--color-success-bg);color:var(--color-success)}.payment-badge-refunded{color:#92400e;background:#fef3c7}.payment-badge-cancelled{background:var(--color-error-bg);color:var(--color-error)}.payment-amount{color:var(--color-text);font-weight:500}.participant-payment-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}.refund-inline{align-items:center;gap:var(--space-1);display:flex}.refund-input{width:80px}.btn-xs{padding:2px var(--space-2);gap:var(--space-1);font-size:.6875rem}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover{opacity:.9}.form-input-xs{padding:2px var(--space-2);height:auto;font-size:.75rem}.member-search-results{max-height:300px;overflow-y:auto}.member-search-item{width:100%;padding:var(--space-3);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--color-border-light);background:0 0;justify-content:space-between;align-items:center;transition:background-color .15s;display:flex}.member-search-item:hover{background:var(--color-surface)}.member-search-item:last-child{border-bottom:none}.form-grid-single{gap:var(--space-4);flex-direction:column;display:flex}.status-badge{padding:var(--space-1) var(--space-2);border-radius:4px;align-items:center;font-size:.75rem;font-weight:500;display:inline-flex}.status-badge.status-active{background:var(--color-success-bg);color:var(--color-success)}.status-badge.status-inactive{background:var(--color-error-bg);color:var(--color-error)}.text-sm{font-size:.875rem}.ml-6{margin-left:var(--space-6)}.rounded{border-radius:8px}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.mt-6{margin-top:var(--space-6)}.member-search-dropdown{border:1px solid var(--color-border);margin-top:var(--space-2);max-height:250px;box-shadow:var(--shadow-md);background:#fff;border-radius:8px;overflow-y:auto}.member-search-dropdown .member-search-item{border-radius:0}.member-search-dropdown .member-search-item:first-child{border-radius:8px 8px 0 0}.member-search-dropdown .member-search-item:last-child{border-bottom:none;border-radius:0 0 8px 8px}.member-search-dropdown .member-search-item:only-child{border-radius:8px}.selected-members-list{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px}.selected-member-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.selected-member-item:last-child{border-bottom:none}.selected-member-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.selected-member-name{color:var(--color-text);font-weight:500}.selected-member-meta{color:var(--color-text-muted);font-size:.8125rem}.form-input-sm{padding:var(--space-2);font-size:.8125rem}.input-with-suffix{align-items:stretch;display:flex}.input-with-suffix .form-input{border-right:none;border-radius:8px 0 0 8px}.input-suffix{padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-left:none;border-radius:0 8px 8px 0;align-items:center;font-size:.875rem;display:flex}.filter-group{flex-wrap:wrap}.filter-select{min-width:130px}@media (width<=768px){.filter-group{width:100%}.filter-select{flex:1;min-width:0}}.transaction-type{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);display:flex}.transaction-user{flex-direction:column;gap:2px;display:flex}.transaction-message{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-accent)}.text-right{text-align:right}.transaction-cards{padding:var(--space-4);display:none}.transaction-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);padding:var(--space-4);margin-bottom:var(--space-3);border-radius:8px}.transaction-card:last-child{margin-bottom:0}.transaction-card-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.transaction-card-info{flex:1;min-width:0}.transaction-card-info .font-medium{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.transaction-card-amount{text-align:right;flex-shrink:0}.transaction-card-meta{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.transaction-card-tags{align-items:center;gap:var(--space-2);display:flex}@media (width<=768px){.transaction-cards{display:block}}.report-section{margin-bottom:var(--space-6)}.report-section:last-child{margin-bottom:0}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-3);font-size:.8rem;font-weight:600}.report-grid{gap:var(--space-3);flex-direction:column;display:flex}.report-item{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-elevated);border:1px solid var(--color-border);cursor:pointer;color:inherit;border-radius:8px;text-decoration:none;transition:all .15s;display:flex}.report-item:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000000d}.report-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.report-content{flex:1;min-width:0}.report-title{color:var(--color-text);margin-bottom:2px;font-weight:600}.report-desc{color:var(--color-text-secondary);font-size:.85rem}.report-arrow{color:var(--color-text-muted);flex-shrink:0}.report-icon-1{background:var(--color-stat-1-bg);color:var(--color-stat-1)}.report-icon-2{background:var(--color-stat-2-bg);color:var(--color-stat-2)}.report-icon-3{background:var(--color-stat-3-bg);color:var(--color-stat-3)}.report-icon-4{background:var(--color-stat-4-bg);color:var(--color-stat-4)}.page-narrow{max-width:600px}.checkbox-group{gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.format-options{gap:var(--space-3);display:flex}.format-option{align-items:center;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;flex-direction:column;flex:1;transition:all .15s;display:flex}.format-option input[type=radio]{display:none}.format-option:hover{border-color:var(--color-primary)}.format-option.active{border-color:var(--color-primary);background:var(--color-surface)}.format-option:has(input:checked){border-color:var(--color-primary);background:var(--color-surface)}.format-option svg{color:var(--color-text-secondary)}.format-option.active svg{color:var(--color-primary)}.format-option:has(input:checked) svg{color:var(--color-primary)}.format-option span{color:var(--color-text-secondary);font-size:.8rem;font-weight:500}.format-option.active span{color:var(--color-primary)}.format-option:has(input:checked) span{color:var(--color-primary)}.report-preview{max-height:300px;position:relative;overflow:hidden}.preview-table{border-collapse:collapse;width:100%;font-size:.85rem}.preview-table th,.preview-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-light)}.preview-table th{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.preview-table td{color:var(--color-text)}.preview-fade{pointer-events:none;background:linear-gradient(#0000,#fff);height:60px;position:absolute;bottom:40px;left:0;right:0}.preview-more{padding:var(--space-3);text-align:center;color:var(--color-text-muted);background:#fff;font-size:.85rem;position:absolute;bottom:0;left:0;right:0}.form-actions{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);display:flex}.report-summary{gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);margin-bottom:var(--space-4);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.report-summary-item{text-align:center}.report-summary-value{letter-spacing:-.02em;color:var(--color-text);font-size:1.5rem;font-weight:700}.report-summary-label{color:var(--color-text-muted);font-size:.8rem}@media (width<=768px){.format-options{flex-wrap:wrap}.format-option{min-width:calc(50% - var(--space-2))}.report-summary{grid-template-columns:repeat(2,1fr)}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.form-actions .btn span{display:inline}}.settings-nav-mobile{display:none}.settings-layout{gap:var(--space-6);align-items:flex-start;display:flex}.settings-nav-card{flex-shrink:0;width:240px}.settings-content{gap:var(--space-5);flex-direction:column;flex:1;min-width:0;display:flex}.settings-dropdown-wrapper{position:relative}.settings-dropdown-icon{color:var(--color-text-secondary);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.settings-dropdown{padding-left:40px}.settings-nav-inner{padding:var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.settings-nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;border-radius:8px;width:100%;font-size:.9rem;transition:all .15s;display:flex}.settings-nav-item:hover{background:var(--color-surface)}.settings-nav-item.active{background:var(--color-surface);color:var(--color-text);font-weight:500}.toggle{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.toggle-switch{background:var(--color-border);border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .15s;position:relative}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000001a}.toggle.active .toggle-switch{background:var(--color-primary)}.toggle.active .toggle-switch:after{transform:translate(20px)}.toggle-label{font-size:.9rem}.toggle-group{margin-bottom:var(--space-5)}.toggle-group:last-child{margin-bottom:0}.form-group-inline{align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.form-group-inline .form-label{white-space:nowrap;margin-bottom:0}.form-input-small{width:100px}.logo-upload-area{gap:var(--space-5);margin-top:var(--space-5);flex-direction:column;display:flex}.logo-preview{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;justify-content:center;display:flex}.logo-preview-img{object-fit:contain;max-width:150px;max-height:270px}.logo-placeholder{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-8);background:var(--color-surface);border:2px dashed var(--color-border);color:var(--color-text-muted);border-radius:8px;flex-direction:column;display:flex}.logo-actions{gap:var(--space-3);display:flex}.logo-file-input{display:none}@media (width<=768px){.settings-layout{flex-direction:column}.settings-nav-desktop{display:none}.settings-nav-mobile{display:block}.settings-content{width:100%}}.app-phone{background:var(--color-surface);height:100dvh;min-height:0;font-family:var(--font-body);flex-direction:column;display:flex;position:relative;overflow:hidden}.app-topbar{background:var(--color-primary);color:#fff;z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 14px;display:flex;box-shadow:0 2px 10px #2962af33}.app-topbar-icon{color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--t-fast) var(--ease);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.app-topbar-icon:hover{background:#ffffff1f}.app-topbar-title{font-family:var(--font-display);letter-spacing:-.01em;color:#fff;font-size:18px;font-weight:600}.app-topbar-title em{opacity:.85;font-style:italic;font-weight:500}.app-content{scrollbar-width:thin;flex-direction:column;flex:1;gap:14px;min-height:0;padding:14px 12px 28px;display:flex;overflow-y:auto}.app-content::-webkit-scrollbar{width:4px}.app-content::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:2px}.app-page-head{padding:0 4px}.app-page-title{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.01em;font-size:20px;font-weight:500}.app-page-sub{font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.04em;margin-top:3px;font-size:12px}.app-card{border:1px solid var(--color-border-light);background:#fff;border-radius:12px;padding:14px 16px}.app-stats{scrollbar-width:none;flex-shrink:0;gap:10px;height:60px;margin-bottom:6px;padding:2px 4px;display:flex;overflow:auto visible}.app-stat-card{border:1.5px solid var(--color-border-light);cursor:pointer;height:52px;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);background:#fff;border-radius:10px;flex-direction:column;flex:0 0 88px;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:flex;overflow:hidden}.app-stats::-webkit-scrollbar{display:none}.app-stat-card.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 6px 14px #2962af40}.app-stat-card.readonly{background:var(--color-surface);cursor:default}.app-stat-card-val{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;white-space:nowrap;align-items:baseline;gap:2px;font-size:20px;font-weight:600;line-height:1.1;display:flex}.app-stat-card-val-total{opacity:.5;font-size:.68em;font-weight:500}.app-stat-card.active .app-stat-card-val{color:#fff}.app-stat-card-lbl{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:9.5px;font-weight:600;line-height:1.2}.app-stat-card.active .app-stat-card-lbl{color:#ffffffd9}.app-table{border-collapse:collapse;width:100%;font-size:14px}.app-table thead th{text-align:left;font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--color-border-light);padding:10px 14px;font-size:10.5px;font-weight:600}.app-table tbody td{border-bottom:1px solid var(--color-border-light);min-height:44px;color:var(--color-text);padding:12px 14px}.app-table tbody tr:last-child td{border-bottom:0}.app-table tbody tr.filled{background:#d1fae5}.app-table tbody tr.filled td:first-child{font-weight:500}.app-table tbody td.right{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.app-table tbody td.muted{color:var(--color-text-muted);font-family:var(--font-mono);font-size:13px}.app-table tbody .guest-link{color:var(--color-primary);text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline #2962af4d;text-decoration:underline #2962af4d}.app-table tbody .guest-link:hover{-webkit-text-decoration-color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.app-pay-badge{font-size:11.5px;font-weight:600;font-family:var(--font-body);border-radius:6px;align-items:center;gap:5px;padding:5px 10px;display:inline-flex}.app-pay-badge.green{background:var(--color-success-bg);color:var(--color-success)}.app-pay-badge.gray{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-light)}.app-pay-btn{background:var(--color-success);color:#fff;font-family:var(--font-body);cursor:pointer;min-height:36px;transition:background var(--t-fast) var(--ease);border:0;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600}.app-pay-btn:hover{background:#047857}.app-split-pill{font-family:var(--font-body);border:1px solid var(--color-border-light);white-space:nowrap;border-radius:6px;align-items:stretch;font-size:11.5px;font-weight:600;display:inline-flex;overflow:hidden}.app-split-pill-half{justify-content:center;align-items:center;min-width:38px;padding:5px 8px;display:inline-flex}.app-split-pill-half+.app-split-pill-half{border-left:1px solid var(--color-border-light)}.app-split-pill-half.green{background:var(--color-success-bg);color:var(--color-success)}.app-split-pill-half.amber{background:var(--color-warning-bg);color:var(--color-warning)}.app-split-pill-half.gray{background:var(--color-surface);color:var(--color-text-secondary)}.app-acc{border:1px solid var(--color-border-light);background:#fff;border-radius:12px;margin-bottom:10px;overflow:hidden}.app-acc:last-child{margin-bottom:0}.app-acc-head{cursor:pointer;min-height:56px;transition:background var(--t-fast) var(--ease);align-items:center;gap:12px;padding:14px 16px;display:flex}.app-acc-head:hover{background:var(--color-surface)}.app-acc-head-body{flex:1;min-width:0}.app-acc-head-title{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.005em;font-size:15.5px;font-weight:500}.app-acc-head-sub{font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.04em;margin-top:3px;font-size:11.5px}.app-acc-head-counts{align-items:center;gap:8px;display:flex}.app-acc-chev{width:28px;height:28px;color:var(--color-text-muted);transition:transform .22s var(--ease);place-items:center;display:grid}.app-acc.open .app-acc-chev{color:var(--color-primary);transform:rotate(180deg)}.app-acc-body{border-top:1px solid var(--color-border-light);background:var(--color-surface)}.app-monthpicker{flex-direction:column;gap:6px;display:flex}.app-monthpicker-label{color:var(--color-text-secondary);letter-spacing:.02em;font-size:12px;font-weight:500}.app-monthpicker-input{border:1.5px solid var(--color-border-light);font-family:var(--font-body);color:var(--color-text);cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:14.5px;display:flex}.app-monthpicker-input:hover{border-color:var(--color-primary)}.app-monthpicker-input strong{text-transform:capitalize;font-weight:500}.app-event-row{border:1px solid var(--color-border-light);cursor:pointer;transition:all var(--t-fast) var(--ease);background:#fff;border-radius:12px;align-items:center;gap:14px;min-height:72px;margin-bottom:10px;padding:10px 14px;display:flex;overflow:hidden}.app-event-row:hover{border-color:var(--color-primary)}.app-event-row:last-child{margin-bottom:0}.app-event-row-body{flex:1;min-width:0}.app-event-row-title{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.005em;font-size:16px;font-weight:500}.app-event-row-sub{font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.04em;margin-top:3px;font-size:12px}.app-drawer{background:var(--color-primary);width:280px;transition:transform .24s var(--ease);z-index:300;flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0;transform:translate(-100%);box-shadow:6px 0 30px #1a1f2e4d}.app-drawer.open{transform:translate(0)}.app-drawer-overlay{opacity:0;pointer-events:none;transition:opacity .2s var(--ease);z-index:299;background:#1a1f2e8c;position:absolute;inset:0}.app-drawer-overlay.visible{opacity:1;pointer-events:auto}.app-drawer-head{border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;padding:18px;display:flex}.app-drawer-head-title{font-family:var(--font-display);color:#fff;letter-spacing:-.005em;font-size:18px;font-weight:600}.app-drawer-close{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.app-drawer-close:hover{background:#ffffff1f}.app-drawer-nav{flex:1;padding:10px 0;overflow-y:auto}.app-drawer-section{font-family:var(--font-mono);color:#ffffff8c;letter-spacing:.14em;text-transform:uppercase;padding:12px 18px 6px;font-size:10px;font-weight:600}.app-drawer-lodge{color:#ffffffd9;cursor:pointer;padding:10px 18px;font-size:14px}.app-drawer-lodge.active{color:#fff;font-weight:500}.app-drawer-lodge.active:before{content:"●";color:#fff;margin-right:8px;font-size:8px}.app-drawer-lodge:hover{background:#ffffff1a}.app-drawer-item{color:#fffc;cursor:pointer;transition:all .15s var(--ease);align-items:center;gap:12px;padding:12px 18px;font-size:15px;display:flex}.app-drawer-item:hover{color:#fff;background:#ffffff1a}.app-drawer-item.active{color:#fff;background:#ffffff26}.app-drawer-divider{background:#ffffff26;height:1px;margin:10px 18px}.app-modal-overlay{z-index:400;animation:modalFade .18s var(--ease);background:#1a1f2e99;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}@keyframes modalFade{0%{opacity:0}to{opacity:1}}.app-modal{width:100%;max-width:420px;animation:modalPop .22s var(--ease);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px #00000059}@keyframes modalPop{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.app-modal-head{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.app-modal-title{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.005em;font-size:17px;font-weight:500}.app-modal-body{padding:16px 18px}.app-modal-foot{border-top:1px solid var(--color-border-light);gap:10px;padding:14px 18px;display:flex}.app-modal-foot button{font-family:var(--font-body);cursor:pointer;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:14.5px;font-weight:600;display:inline-flex}.app-modal-foot .secondary{color:var(--color-text-secondary);border:1.5px solid var(--color-border-light);background:0 0}.app-modal-foot .primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 10px #2962af38}.app-kv-row{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;display:flex}.app-kv-row:last-child{border-bottom:0;padding-bottom:0}.app-kv-row-lbl{color:var(--color-text-secondary);font-size:12px}.app-kv-row-val{color:var(--color-text);text-align:right;font-size:14px;font-weight:500}.app-kv-row-val.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.app-pay-confirm{text-align:center;flex-direction:column;gap:8px;padding:24px 0 16px;display:flex}.app-pay-confirm-name{color:var(--color-text);font-size:15px}.app-pay-confirm-amt{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.015em;font-size:30px;font-weight:500}.app-login{background:var(--color-primary);flex:1;justify-content:center;align-items:center;padding:20px;display:flex;position:relative;overflow:hidden}.app-login:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 20%,#ffffff17,#0000 50%);position:absolute;inset:-40%}.app-login-card{z-index:2;background:#fff;border-radius:24px;flex-direction:column;gap:18px;width:100%;max-width:340px;padding:36px 28px;display:flex;position:relative;box-shadow:0 30px 80px #00000040}.app-login-brand{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:8px;display:flex}.app-login-mark{background:var(--color-badge-rank-bg);width:52px;height:52px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.app-login-title{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.015em;font-size:24px;font-weight:500}.app-login-sub{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.app-login-field{flex-direction:column;gap:6px;display:flex}.app-login-field label{color:var(--color-text-secondary);font-size:12.5px;font-weight:500}.app-login-field input{border:1.5px solid var(--color-border-light);font-family:var(--font-body);color:var(--color-text);border-radius:10px;padding:12px 14px;font-size:15px}.app-login-field input:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px #2962af1f}.app-login-btn{background:var(--color-primary);color:#fff;font-family:var(--font-body);cursor:pointer;border:0;border-radius:10px;padding:14px;font-size:15px;font-weight:600;box-shadow:0 6px 14px #2962af40}.app-login-btn:hover{background:var(--color-primary-light)}.app-login-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid #dc262633;border-radius:8px;padding:10px 12px;font-size:12.5px}.app-empty{text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:12px;padding:48px 20px;font-size:13.5px;display:flex}.app-empty-ico{background:var(--color-surface);width:48px;height:48px;color:var(--color-text-muted);border-radius:12px;place-items:center;display:grid}.app-toast{background:var(--color-success);color:#fff;z-index:500;animation:toastIn .24s var(--ease);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:13.5px;font-weight:500;display:flex;position:absolute;bottom:18px;left:12px;right:12px;box-shadow:0 10px 30px #0596694d}.app-topbar-title-wrap{align-items:center;gap:8px;display:flex}.app-rt-dot{background:#34d399;border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.app-rt-dot:after{content:"";opacity:.5;background:#34d399;border-radius:50%;animation:2s ease-in-out infinite rtPulse;position:absolute;inset:-3px}@keyframes rtPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(1.6)}}.app-rt-dot.reconnecting,.app-rt-dot.reconnecting:after{background:#f59e0b}.app-rt-dot.offline{background:#dc2626}.app-rt-dot.offline:after{display:none}.app-topbar-qr{font-family:var(--font-mono);letter-spacing:.08em;color:#fff;cursor:pointer;height:32px;transition:background var(--t-fast) var(--ease);background:#ffffff24;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.app-topbar-qr:hover{background:#ffffff38}.app-qr-overlay{z-index:350;background:var(--color-primary);animation:modalFade .2s var(--ease);flex-direction:column;display:flex;position:absolute;inset:0}.app-qr-head{color:#fff;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.app-qr-head-title{font-family:var(--font-display);font-size:17px;font-weight:500}.app-qr-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;padding:20px;display:flex}.app-qr-card{background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:14px;padding:24px;display:flex;box-shadow:0 20px 60px #00000059}.app-qr-amount-label{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;font-weight:600}.app-qr-amount{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.02em;font-size:34px;font-weight:500;line-height:1}.app-qr-box{border:1.5px solid var(--color-border-light);background:#fff;border-radius:12px;place-items:center;width:220px;height:220px;padding:12px;display:grid;position:relative}.app-qr-mp-badge{color:#fff;font-family:var(--font-body);letter-spacing:.04em;background:#5a78ff;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:700;position:absolute;bottom:-10px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #5a78ff66}.app-qr-caption{color:#fff;text-align:center;max-width:280px;font-size:14.5px;line-height:1.4}.app-qr-caption strong{font-weight:600}.app-qr-event-line{color:#ffffffbf;font-size:12.5px;font-family:var(--font-mono);letter-spacing:.04em;text-align:center}.app-paid-check{background:var(--color-success-bg);width:18px;height:18px;color:var(--color-success);vertical-align:-3px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;display:inline-flex}@keyframes rowFlashGreen{0%{background:#d1fae5}60%{background:#d1fae5}to{background:0 0}}.app-table tbody tr.flash{animation:2.2s ease-out rowFlashGreen}.app-topbar-inbox{color:#fff;cursor:pointer;width:36px;height:36px;transition:background var(--t-fast) var(--ease);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:relative}.app-topbar-inbox:hover{background:#ffffff1f}.app-topbar-inbox-dot{color:#fff;min-width:16px;height:16px;font-size:10px;font-weight:700;font-family:var(--font-body);border:2px solid var(--color-primary);background:#fb923c;border-radius:8px;place-items:center;padding:0 4px;display:grid;position:absolute;top:5px;right:5px}.app-unmatched-banner{cursor:pointer;transition:transform var(--t-fast) var(--ease);background:linear-gradient(#fef3c7 0%,#fde68a 100%);border:1px solid #fbbf24;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.app-unmatched-banner:hover{transform:translateY(-1px)}.app-unmatched-banner-ico{color:#92400e;background:#fbbf2440;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.app-unmatched-banner-body{flex:1;min-width:0}.app-unmatched-banner-title{font-family:var(--font-display);color:#78350f;font-size:14px;font-weight:500}.app-unmatched-banner-sub{font-family:var(--font-mono);color:#92400e;letter-spacing:.04em;margin-top:2px;font-size:11.5px}.app-unmatched-float{z-index:200;animation:toastIn .3s var(--ease);background:#fff;border-top:3px solid #fbbf24;border-radius:14px;padding:14px 16px;position:absolute;bottom:18px;left:12px;right:12px;box-shadow:0 10px 40px #0003,0 2px 6px #0000000f}.app-unmatched-float-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.app-unmatched-float-title{font-family:var(--font-display);color:var(--color-text);flex:1;font-size:14.5px;font-weight:500}.app-unmatched-float-amt{font-family:var(--font-mono);color:var(--color-text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.app-unmatched-float-meta{color:var(--color-text-secondary);margin-bottom:10px;font-size:12.5px}.app-unmatched-float-meta strong{color:var(--color-text);font-weight:500}.app-unmatched-float-actions{gap:8px;display:flex}.app-unmatched-float-btn{font-family:var(--font-body);cursor:pointer;border:0;border-radius:8px;flex:1;padding:9px;font-size:13px;font-weight:600}.app-unmatched-float-btn.primary{background:var(--color-primary);color:#fff}.app-unmatched-float-btn.secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-light)}.app-inbox-row{border:1px solid var(--color-border-light);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.app-inbox-row:hover{border-color:var(--color-primary)}.app-inbox-row-ico{color:#92400e;background:#fbbf242e;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.app-inbox-row-body{flex:1;min-width:0}.app-inbox-row-title{font-family:var(--font-display);color:var(--color-text);font-size:14.5px;font-weight:500}.app-inbox-row-sub{font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.04em;margin-top:3px;font-size:11.5px}.app-inbox-row-amt{font-family:var(--font-mono);color:var(--color-text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.app-assign-sheet-list{border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);flex-direction:column;gap:2px;max-height:280px;margin:0 -18px;display:flex;overflow-y:auto}.app-assign-sheet-row{cursor:pointer;align-items:center;gap:10px;padding:10px 18px;display:flex}.app-assign-sheet-row:hover{background:var(--color-surface)}.app-assign-sheet-name{color:var(--color-text);flex:1;font-size:14px}.app-assign-sheet-phone{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.02em;font-size:11.5px}.app-assign-sheet-search{border:1.5px solid var(--color-border-light);width:100%;font-family:var(--font-body);background:#fff;border-radius:10px;margin-bottom:12px;padding:11px 14px;font-size:14px}.app-assign-sheet-search:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px #2962af1f}.app-sheet-overlay{z-index:400;animation:modalFade .18s var(--ease);background:#1a1f2e8c;align-items:flex-end;display:flex;position:absolute;inset:0}.app-sheet{width:100%;animation:sheetSlide .26s var(--ease);background:#fff;border-radius:20px 20px 0 0;flex-direction:column;max-height:85%;display:flex;overflow:hidden}@keyframes sheetSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.app-sheet-handle{background:var(--color-border);border-radius:2px;width:44px;height:4px;margin:10px auto 0}.app-sheet-head{text-align:center;padding:14px 18px 10px}.app-sheet-head-name{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.01em;font-size:18px;font-weight:500}.app-sheet-head-sub{font-family:var(--font-mono);color:var(--color-text-secondary);letter-spacing:.06em;margin-top:4px;font-size:11.5px}.app-sheet-amt{background:var(--color-surface);border-radius:12px;justify-content:space-between;align-items:center;margin:8px 18px 14px;padding:14px;display:flex}.app-sheet-amt-lbl{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.app-sheet-amt-sub{font-family:var(--font-body);color:var(--color-text);margin-top:4px;font-size:13px}.app-sheet-amt-val{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.015em;white-space:nowrap;font-size:22px;font-weight:500}.app-sheet-body{flex:1;padding:0 18px 18px;overflow-y:auto}.app-sheet-action{background:var(--color-surface);cursor:pointer;width:100%;font-family:var(--font-body);color:var(--color-text);text-align:left;transition:background var(--t-fast) var(--ease);border:0;border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:14px;font-size:14.5px;font-weight:500;display:flex}.app-sheet-action:hover{background:var(--color-border-light)}.app-sheet-action.primary{background:var(--color-primary);color:#fff}.app-sheet-action.primary:hover{background:var(--color-primary-light)}.app-sheet-action.danger{color:var(--color-error)}.app-sheet-action.danger:hover{background:var(--color-error-bg)}.app-sheet-action .app-sheet-action-ico{width:32px;height:32px;color:var(--color-text-secondary);background:#fff;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.app-sheet-action.primary .app-sheet-action-ico{color:#fff;background:#ffffff26}.app-sheet-action.danger .app-sheet-action-ico{color:var(--color-error);background:#fff}.app-sheet-action-main{flex:1}.app-sheet-action-sub{color:var(--color-text-muted);margin-top:2px;font-size:11.5px;font-weight:400}.app-sheet-action.primary .app-sheet-action-sub{color:#ffffffbf}.app-sheet-action:disabled{opacity:.45;cursor:not-allowed}.app-sheet-action:disabled:hover{background:var(--color-surface)}.app-sheet-cancel{border:1.5px solid var(--color-border-light);width:100%;color:var(--color-text-secondary);cursor:pointer;font-size:14.5px;font-weight:500;font-family:var(--font-body);background:#fff;border-radius:12px;margin-top:4px;padding:14px}.app-swipe-row{background:#fff;position:relative;overflow:hidden}.app-swipe-row-actions{display:flex;position:absolute;top:0;bottom:0;right:0}.app-swipe-row-action{color:#fff;cursor:pointer;border:0;flex-direction:column;justify-content:center;place-items:center;gap:4px;width:72px;font-size:11px;font-weight:600;display:flex}.app-swipe-row-action.send{background:var(--color-primary)}.app-swipe-row-action.cash{background:var(--color-success)}.app-swipe-row-action.detail{background:var(--color-text-secondary)}.app-swipe-row-content{z-index:1;transition:transform .24s var(--ease);background:#fff;position:relative}.app-swipe-row.open .app-swipe-row-content{transform:translate(-216px)}.app-refund-reason{flex-direction:column;gap:8px;margin:12px 0 16px;display:flex}.app-refund-reason-btn{border:1.5px solid var(--color-border-light);text-align:left;font-family:var(--font-body);color:var(--color-text);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;display:flex}.app-refund-reason-btn:hover{border-color:var(--color-primary)}.app-refund-reason-btn.active{border-color:var(--color-primary);background:var(--color-badge-rank-bg);color:var(--color-primary);font-weight:500}.app-refund-amt-toggle{background:var(--color-surface);border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;padding:4px;display:grid}.app-refund-amt-toggle button{color:var(--color-text-secondary);cursor:pointer;font-size:13.5px;font-weight:500;font-family:var(--font-body);background:0 0;border:0;border-radius:7px;padding:10px}.app-refund-amt-toggle button.on{color:var(--color-text);background:#fff;box-shadow:0 1px 3px #00000014}.app-refund-amt-input-wrap{margin-bottom:16px;position:relative}.app-refund-amt-input{border:1.5px solid var(--color-border-light);width:100%;font-family:var(--font-mono);color:var(--color-text);font-variant-numeric:tabular-nums;background:#fff;border-radius:10px;padding:14px 50px 14px 14px;font-size:22px;font-weight:500}.app-refund-amt-input:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px #2962af1f}.app-refund-amt-suffix{font-family:var(--font-mono);color:var(--color-text-muted);pointer-events:none;font-size:14px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.app-refund-receipt{background:var(--color-surface);border-radius:10px;margin-bottom:14px;padding:12px 14px}.app-refund-receipt-row{justify-content:space-between;align-items:baseline;padding:4px 0;font-size:13px;display:flex}.app-refund-receipt-row:not(:last-child){border-bottom:1px solid var(--color-border-light);margin-bottom:4px;padding-bottom:8px}.app-refund-receipt-lbl{color:var(--color-text-secondary)}.app-refund-receipt-val{font-family:var(--font-mono);color:var(--color-text);font-variant-numeric:tabular-nums}.app-refund-receipt-val.strong{font-size:15px;font-weight:600}.app-offline-banner{color:var(--color-error);background:#fef2f2;border-bottom:1px solid #dc262633;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;font-size:12.5px;font-weight:500;display:flex}.app-send-sent{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:28px 20px;display:flex}.app-send-sent-ico{background:var(--color-badge-rank-bg);width:60px;height:60px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.app-send-sent-title{font-family:var(--font-display);color:var(--color-text);font-size:18px;font-weight:500}.app-send-sent-sub{color:var(--color-text-secondary);font-size:13.5px;line-height:1.5}.app-receipt{padding:0 4px}.app-receipt-head{text-align:center;padding:8px 0 16px}.app-receipt-amt{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.015em;font-size:32px;font-weight:500}.app-receipt-method{font-family:var(--font-mono);color:var(--color-text-muted);letter-spacing:.1em;margin-top:4px;font-size:11px;font-weight:600}.app-receipt-txn{background:var(--color-surface);border-radius:10px;margin-bottom:12px;padding:12px 14px}.signin-layout{background:var(--color-bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.signin-content{padding:var(--space-4);flex:1;overflow-y:auto}.signin-header{background:var(--color-primary);color:#fff;z-index:10;flex-shrink:0;justify-content:center;align-items:center;height:48px;display:flex}.signin-header-name{letter-spacing:.02em;font-size:1rem;font-weight:600}.signin-banner{padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;display:flex}.signin-logo{object-fit:contain;flex-shrink:0;width:150px;height:270px}.signin-menu-btn{top:6px;right:var(--space-3);z-index:20;color:#fff;cursor:pointer;padding:var(--space-2);border-radius:var(--radius);background:0 0;border:none;position:absolute}.signin-menu-btn:active{background:#ffffff26}.signin-menu-overlay{z-index:30;background:#0000004d;position:fixed;inset:0}.signin-menu{top:48px;right:var(--space-2);z-index:40;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:220px;padding:var(--space-2) 0;background:#fff;position:absolute}.signin-menu-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);cursor:pointer;color:var(--color-text);text-align:left;background:0 0;border:none;font-size:.95rem;display:flex}.signin-menu-item:active{background:var(--color-bg-muted)}.signin-menu-divider{background:var(--color-border);height:1px;margin:var(--space-2) 0}.signin-center{justify-content:center;align-items:center;min-height:200px;display:flex}.signin-step{flex-direction:column;align-items:center;width:100%;max-width:800px;margin:-150px auto 0;display:flex;position:relative}.signin-step-wide{max-width:100%}.signin-step-wide .signin-stats,.signin-step-wide .signin-tabs{width:100%}.signin-back-top{align-self:center}.signin-step-title{margin-bottom:var(--space-2);color:var(--color-text);text-align:center;font-size:1.5rem;font-weight:700}.signin-step-subtitle{color:var(--color-text-muted);text-align:center;min-height:1.5em;margin-bottom:6rem;font-size:1.1rem}.signin-step-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-8) 0}.signin-step-info{color:var(--color-text-muted);margin-bottom:var(--space-4);text-align:center;font-size:.9rem}.signin-welcome{text-align:center;margin-bottom:4rem}.signin-welcome-title{color:var(--color-text);margin-bottom:var(--space-1);font-size:2rem;font-weight:700}.signin-welcome-subtitle{color:var(--color-primary);margin-bottom:var(--space-2);font-size:1.2rem;font-weight:600}.signin-welcome-cta{color:var(--color-text-muted);font-size:1rem}.signin-search{width:100%;margin-bottom:var(--space-6);position:relative}.signin-search-input-wrap{width:100%;position:relative}.signin-search-icon{left:var(--space-4);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.signin-search-input{width:100%;height:56px;padding:0 var(--space-4) 0 var(--space-10);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;outline:none;font-size:1.2rem;transition:border-color .2s}.signin-search-input:focus{border-color:var(--color-primary)}.signin-search-results{z-index:50;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:400px;margin-top:var(--space-1);background:#fff;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.signin-search-item{width:100%;padding:var(--space-3) var(--space-4);border:none;border-bottom:1px solid var(--color-border-light);cursor:pointer;text-align:left;background:0 0;flex-direction:column;justify-content:center;min-height:56px;display:flex}.signin-search-item:last-child{border-bottom:none}.signin-search-item:active{background:var(--color-bg-muted)}.signin-search-name{color:var(--color-text);font-size:1.05rem;font-weight:600}.signin-search-meta{color:var(--color-text-muted);margin-top:2px;font-size:.85rem}.signin-search-loading{padding:var(--space-3) var(--space-4);color:var(--color-text-muted);font-size:.9rem}.signin-guest-btn{width:100%;max-width:400px}.signin-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border-radius:var(--radius);cursor:pointer;border:none;font-size:1rem;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.signin-btn:disabled{opacity:.5;cursor:not-allowed}.signin-btn-primary{background:var(--color-primary);color:#fff}.signin-btn-primary:active:not(:disabled){background:var(--color-primary-dark,#1a5c3a)}.signin-btn-secondary{background:var(--color-bg-muted);color:var(--color-text);border:1px solid var(--color-border)}.signin-btn-secondary:active:not(:disabled){background:var(--color-border)}.signin-btn-back{color:var(--color-text-muted);background:0 0}.signin-btn-back:active{color:var(--color-text)}.signin-actions{width:100%;margin-top:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.signin-step form{width:100%}.signin-form{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.signin-form-field{gap:var(--space-1);flex-direction:column;display:flex}.signin-form-label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.signin-form-input{height:48px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;outline:none;width:100%;font-size:1rem;transition:border-color .2s}.signin-form-input:focus{border-color:var(--color-primary)}.signin-form-input:disabled{background:var(--color-bg-muted);color:var(--color-text-muted)}.signin-form-row{gap:var(--space-3);display:flex}.signin-form-field-short{flex:0 0 35%}.signin-form-field-long{flex:1}.signin-checkbox-label{align-items:center;gap:var(--space-2);cursor:pointer;font-size:1rem;display:flex}.signin-checkbox-label input[type=checkbox]{width:20px;height:20px}.signin-error{background:var(--color-error-bg,#fef2f2);color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-top:var(--space-3);text-align:center;width:100%;font-size:.9rem}.signin-success-msg{background:var(--color-success-bg,#f0fdf4);color:var(--color-success);padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-top:var(--space-3);text-align:center;width:100%;font-size:.9rem}.signin-event-cards{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.signin-event-card{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;background:#fff;min-height:64px;transition:border-color .15s;display:flex}.signin-event-card:active{border-color:var(--color-primary);background:var(--color-bg-muted)}.signin-event-card-name{color:var(--color-text);flex:1;font-size:1.1rem;font-weight:600}.signin-event-card-time{color:var(--color-text-muted);font-size:.9rem}.signin-title-grid{gap:var(--space-3);width:100%;margin-bottom:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.signin-title-btn{min-height:56px;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;text-align:center;background:#fff;font-size:.95rem;font-weight:500;transition:border-color .15s,background .15s}.signin-title-btn:active,.signin-title-btn.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.signin-no-title-btn{width:100%;max-width:300px;margin-bottom:var(--space-2)}.signin-section-title{color:var(--color-text);margin-bottom:var(--space-3);margin-top:var(--space-4);text-align:left;width:100%;font-size:1.1rem;font-weight:700}.signin-meals{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.signin-meal-card{gap:var(--space-1);width:100%;padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;background:#fff;flex-direction:column;min-height:56px;transition:border-color .15s,background .15s;display:flex}.signin-meal-card:active,.signin-meal-card.selected{border-color:var(--color-primary);background:#1665340d}.signin-meal-card.selected{box-shadow:0 0 0 1px var(--color-primary)}.signin-meal-name{color:var(--color-text);font-size:1.05rem;font-weight:600}.signin-meal-price{color:var(--color-primary);font-size:.9rem;font-weight:600}.signin-meal-desc{color:var(--color-text-muted);font-size:.85rem}.signin-meal-none .signin-meal-name{color:var(--color-text-muted)}.signin-products{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.signin-product-item{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;justify-content:space-between;align-items:center;min-height:56px;display:flex}.signin-product-soldout{opacity:.4;pointer-events:none}.signin-product-info{flex-direction:column;gap:2px;display:flex}.signin-product-name{color:var(--color-text);font-size:1rem;font-weight:600}.signin-product-price{color:var(--color-primary);font-size:.85rem;font-weight:500}.signin-product-stock{color:var(--color-text-muted);font-weight:400}.signin-product-qty{align-items:center;gap:var(--space-2);display:flex}.signin-qty-btn{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;width:48px;height:48px;color:var(--color-text);background:#fff;justify-content:center;align-items:center;font-size:1.4rem;font-weight:600;display:flex}.signin-qty-btn:active:not(:disabled){background:var(--color-bg-muted)}.signin-qty-btn:disabled{opacity:.3;cursor:not-allowed}.signin-qty-value{text-align:center;min-width:32px;font-size:1.2rem;font-weight:700}.signin-confirm{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;padding:var(--space-4);margin-bottom:var(--space-2);background:#fff}.signin-confirm-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);display:flex}.signin-confirm-row:last-child{border-bottom:none}.signin-confirm-icon{color:var(--color-text-muted);flex-shrink:0}.signin-confirm-label{color:var(--color-text-muted);min-width:70px;font-size:.85rem}.signin-confirm-value{color:var(--color-text);font-size:1rem;font-weight:500}.signin-confirm-total{text-align:center;padding:var(--space-4) 0 var(--space-2);color:var(--color-primary);font-size:1.4rem;font-weight:700}.signin-confirm-btn{width:100%;min-height:56px;font-size:1.1rem}.signin-success{justify-content:center;min-height:60vh}.signin-success-check{background:var(--color-primary);color:#fff;width:100px;height:100px;margin-bottom:var(--space-6);border-radius:50%;justify-content:center;align-items:center;animation:.4s signin-pop;display:flex}@keyframes signin-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.signin-success-text{color:var(--color-text);text-align:center;font-size:1.8rem;font-weight:700}.signin-register{background:var(--color-bg);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.signin-register-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8);text-align:center;background:#fff;width:100%;max-width:400px}.signin-register-title{margin-bottom:var(--space-2);font-size:1.5rem;font-weight:700}.signin-register-desc{color:var(--color-text-muted);margin-bottom:var(--space-6);font-size:.95rem}.signin-register-input-wrap{margin-bottom:var(--space-4)}.signin-register-input{text-align:center;letter-spacing:.5em;border:2px solid var(--color-border);border-radius:var(--radius-lg);outline:none;width:100%;height:64px;font-size:2rem;font-weight:700;transition:border-color .2s}.signin-register-input:focus{border-color:var(--color-primary)}.signin-register-error{color:var(--color-error);margin-bottom:var(--space-3);font-size:.9rem}.signin-register-btn,.signin-participants{width:100%}.signin-participants-header{margin-bottom:var(--space-4)}.signin-participants-header h2{font-size:1.3rem;font-weight:700}.signin-participants-time{color:var(--color-text-muted);font-size:.9rem}.signin-stats{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.signin-stat{min-width:80px;padding:var(--space-2) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:#fff;flex-direction:column;flex:1;align-items:center;transition:border-color .15s;display:flex}.signin-stat.active{border-color:var(--color-primary);background:#1665340d}.signin-stat-food{cursor:default}.signin-stat-count{color:var(--color-text);font-size:1.5rem;font-weight:700}.signin-stat-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.signin-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#fff;width:100%;overflow:hidden}.signin-table th{text-align:left;padding:var(--space-3) var(--space-4);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:var(--color-surface);border-bottom:2px solid var(--color-border);font-size:.85rem;font-weight:600}.signin-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);min-height:48px;font-size:.95rem}.signin-table tbody tr:last-child td{border-bottom:none}.signin-table-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-6) var(--space-4)}.signin-official-filled td{font-weight:500}.signin-guest-link{color:var(--color-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.signin-modal{z-index:100;padding:var(--space-4);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.signin-modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:480px;max-height:80vh;overflow-y:auto}.signin-modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.signin-modal-header h3{font-size:1.1rem;font-weight:700}.signin-modal-close{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);background:0 0;border:none;font-size:1.5rem;line-height:1}.signin-modal-body{padding:var(--space-4) var(--space-5)}.signin-modal-field{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-light);justify-content:space-between;display:flex}.signin-modal-field:last-child{border-bottom:none}.signin-modal-label{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.signin-keyboard{z-index:999;padding:var(--space-2);gap:var(--space-1);background:#e0e0e0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.signin-keyboard.qwerty{height:280px}.signin-keyboard.numeric{height:240px}.signin-kbd-row{justify-content:center;gap:var(--space-1);flex:1;display:flex}.signin-kbd-key{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;min-width:32px;max-width:52px;min-height:48px;font-size:1.1rem;font-weight:500;display:flex;box-shadow:0 1px 2px #00000026}.signin-kbd-key:active{background:#d0d0d0;transform:scale(.95)}.signin-kbd-key.wide{flex:3;max-width:none;font-size:.9rem}.signin-kbd-key.action{background:silver;flex:1.5;max-width:80px;font-size:.85rem}.signin-kbd-key.numeric-key{max-width:none;min-height:56px;font-size:1.4rem;font-weight:600}.signin-keyboard-active .signin-content{padding-bottom:300px}.tilmeld-page{background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface-elevated) 100%);min-height:100vh;padding:var(--space-6);flex-direction:column;align-items:center;display:flex}.tilmeld-container{width:100%;max-width:560px;box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;overflow:hidden}.tilmeld-loading,.tilmeld-error{padding:var(--space-12);text-align:center;color:var(--color-text-muted);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.tilmeld-error svg{color:var(--color-error)}.tilmeld-error h2{font-family:var(--font-display);color:var(--color-text);font-size:1.5rem}.tilmeld-header{background:var(--color-primary);color:#fff;padding:var(--space-4) var(--space-6);align-items:center;gap:var(--space-4);display:flex}.tilmeld-logo{object-fit:contain;border-radius:8px;flex-shrink:0;width:80px;height:80px}.tilmeld-lodge-name{font-family:var(--font-display);font-size:1.5rem;font-weight:600}.tilmeld-event-info{padding:var(--space-6);border-bottom:1px solid var(--color-border-light)}.tilmeld-event-name{font-family:var(--font-display);margin-bottom:var(--space-4);color:var(--color-text);font-size:1.75rem;font-weight:600}.tilmeld-event-details{gap:var(--space-2);flex-direction:column;display:flex}.tilmeld-event-detail{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:.95rem;display:flex}.tilmeld-event-detail svg{color:var(--color-text-muted);flex-shrink:0}.tilmeld-rank-notice{margin-top:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-warning-bg);color:var(--color-warning);border-radius:6px;font-size:.85rem;font-weight:500}.tilmeld-event-text{margin-top:var(--space-4);color:var(--color-text-secondary);white-space:pre-wrap;line-height:1.6}.tilmeld-deadline{margin-top:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-text-secondary);border-radius:6px;font-size:.85rem}.tilmeld-deadline.expired{background:var(--color-error-bg);color:var(--color-error)}.tilmeld-closed{padding:var(--space-12) var(--space-6);text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;display:flex}.tilmeld-closed svg{color:var(--color-error);margin-bottom:var(--space-4)}.tilmeld-closed h3{color:var(--color-text);margin-bottom:var(--space-2);font-size:1.25rem}.tilmeld-form{padding:var(--space-6)}.tilmeld-form-error{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:8px;font-size:.9rem}.tilmeld-section{margin-bottom:var(--space-6)}.tilmeld-section h3{font-family:var(--font-display);margin-bottom:var(--space-4);color:var(--color-text);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border-light);font-size:1.1rem;font-weight:600}.tilmeld-section .form-group{margin-bottom:var(--space-4)}.tilmeld-meals{gap:var(--space-2);flex-direction:column;display:flex}.tilmeld-meal-option{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:2px solid var(--color-border-light);cursor:pointer;transition:var(--transition-fast);border-radius:8px;display:flex}.tilmeld-meal-option:hover{border-color:var(--color-primary-light)}.tilmeld-meal-option:has(input:checked){border-color:var(--color-primary);background:#1e293b0a}.tilmeld-meal-option input{width:20px;height:20px;accent-color:var(--color-primary)}.tilmeld-meal-info{flex:1;justify-content:space-between;align-items:center;display:flex}.tilmeld-meal-name{font-weight:500}.tilmeld-meal-price{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.9rem}.tilmeld-products{gap:var(--space-3);flex-direction:column;display:flex}.tilmeld-product-item{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:2px solid var(--color-border-light);border-radius:8px;display:flex}.tilmeld-product-item.out-of-stock{opacity:.6;background:var(--color-surface)}.tilmeld-product-item.mandatory{background:var(--color-surface);border-color:var(--color-border-light);opacity:.85}.tilmeld-mandatory-badge{color:var(--color-text-muted);margin-left:var(--space-2);font-size:.75rem;font-weight:400}.tilmeld-product-info{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.tilmeld-product-name{font-weight:500}.tilmeld-product-desc{color:var(--color-text-secondary);font-size:.85rem}.tilmeld-product-price{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:.9rem}.tilmeld-product-stock{color:var(--color-warning);font-size:.85rem}.tilmeld-product-item.out-of-stock .tilmeld-product-stock{color:var(--color-error)}.tilmeld-product-qty{align-items:center;gap:var(--space-2);display:flex}.tilmeld-qty-btn{border:2px solid var(--color-border-light);background:var(--color-white);cursor:pointer;width:36px;height:36px;transition:var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;display:flex}.tilmeld-qty-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.tilmeld-qty-btn:disabled{opacity:.4;cursor:not-allowed}.tilmeld-qty-value{text-align:center;min-width:32px;font-weight:600;font-family:var(--font-mono)}.tilmeld-total-section{padding:var(--space-4);background:var(--color-surface);margin-bottom:var(--space-6);border-radius:8px;justify-content:space-between;align-items:center;display:flex}.tilmeld-total-label{font-size:1.1rem;font-weight:600}.tilmeld-total-amount{font-family:var(--font-mono);color:var(--color-primary);font-size:1.25rem;font-weight:600}.tilmeld-submit{width:100%;padding:var(--space-4);font-size:1.1rem;font-weight:600}.tilmeld-confirmation{padding:var(--space-8) var(--space-6);text-align:center}.tilmeld-success-icon{background:var(--color-success-bg);width:80px;height:80px;margin:0 auto var(--space-6);border-radius:50%;justify-content:center;align-items:center;display:flex}.tilmeld-success-icon svg{color:var(--color-success)}.tilmeld-confirmation h2{font-family:var(--font-display);color:var(--color-text);margin-bottom:var(--space-2);font-size:1.75rem}.tilmeld-confirmation-name{margin-bottom:var(--space-2);font-size:1.2rem;font-weight:500}.tilmeld-confirmation-event{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.tilmeld-confirmation-payment{background:var(--color-surface);padding:var(--space-4);border-radius:8px}.tilmeld-confirmation .tilmeld-total{font-family:var(--font-mono);margin-bottom:var(--space-3);font-size:1.25rem;font-weight:600}.tilmeld-payment-notice{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-warning);font-size:.9rem;display:flex}.tilmeld-success-icon.tilmeld-pending{background:var(--color-warning-bg,#fef3c7)}.tilmeld-success-icon.tilmeld-pending svg{color:var(--color-warning)}.tilmeld-error-icon{background:var(--color-error-bg,#fee2e2);width:80px;height:80px;margin:0 auto var(--space-6);border-radius:50%;justify-content:center;align-items:center;display:flex}.tilmeld-error-icon svg{color:var(--color-error)}.tilmeld-payment-success{color:var(--color-success);margin-top:var(--space-4)}.tilmeld-payment-pending{color:var(--color-warning);margin-top:var(--space-4)}.tilmeld-payment-cancelled{color:var(--color-text-secondary);margin-top:var(--space-4);line-height:1.5}.tilmeld-payment-waiting{color:var(--color-text-secondary);margin-top:var(--space-4)}.tilmeld-payment-methods{gap:var(--space-2);flex-direction:column;display:flex}.tilmeld-payment-method{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:2px solid var(--color-border-light);cursor:pointer;transition:var(--transition-fast);border-radius:8px;display:flex}.tilmeld-payment-method:hover{border-color:var(--color-primary-light)}.tilmeld-payment-method:has(input:checked){border-color:var(--color-primary);background:#1e293b0a}.tilmeld-payment-method input{width:20px;height:20px;accent-color:var(--color-primary)}.tilmeld-bank-info{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:8px}.tilmeld-bank-info-header{color:var(--color-text-secondary);margin-bottom:var(--space-2);font-size:.9rem}.tilmeld-bank-info-details{font-family:var(--font-mono,monospace);white-space:pre-wrap;color:var(--color-text);margin:0;font-size:.9rem}.signup-url-display{align-items:center;gap:var(--space-3);background:var(--color-surface);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-light);border-radius:8px;display:flex}.signup-url{font-family:var(--font-mono);word-break:break-all;color:var(--color-primary);flex:1;font-size:.85rem}@media (width<=640px){.tilmeld-page{padding:0}.tilmeld-container{border-radius:0;min-height:100vh}.tilmeld-header{padding:var(--space-3) var(--space-4)}.tilmeld-event-info,.tilmeld-form{padding:var(--space-4)}.tilmeld-event-name{font-size:1.4rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
