/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@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}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:var(--color-primary);--color-primary-foreground:var(--color-surface);--color-accent:var(--color-accent-bg);--color-border:var(--color-border)}}@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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border)}body{background-color:var(--color-bg);color:var(--color-text)}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.text-muted{color:var(--color-status-bg)}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:light dark;--safe-bottom:env(safe-area-inset-bottom,0px);--color-bg:#fafaf8;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-overlay:#1c1c1a66;--color-text:#1c1c1a;--color-text-muted:#6b7280;--color-border:#c4bcad;--color-primary:#1a5c38;--color-primary-hover:#144a2d;--color-status-bg:#eef6f1;--color-primary-foreground:#fff;--color-accent:#c8a96e;--color-accent-bg:#f8f3eb;--color-error:#b42318;--color-error-bg:#fef3f2;--color-success:#067647;--color-warning:#b54708;--color-warning-bg:#fffbeb;--color-warning-text:#92400e;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"DM Sans", "Inter", system-ui, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.45;--line-height-relaxed:1.5;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--shadow-sm:0 1px 2px #1c1c1a0d;--shadow-bar:0 -4px 24px #1c1c1a14;--shadow-card:0 1px 3px #1c1c1a0f;--shadow-md:0 4px 12px #1c1c1a14;--shadow-lg:0 8px 24px #1c1c1a1a;--touch-min:44px;--motion-duration-short:.15s;--motion-duration-medium:.2s;--motion-duration-page:.38s;--motion-ease-out:cubic-bezier(0, 0, .2, 1);--motion-ease-emphasized:cubic-bezier(.16, 1, .3, 1);--motion-distance-page:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#1c1a17;--color-surface:#26231f;--color-surface-raised:#312e29;--color-surface-overlay:#1c1a16b8;--color-text:#f5f2eb;--color-text-muted:#a39e93;--color-border:#4a453c;--color-primary:#5cb88a;--color-primary-hover:#6bc994;--color-status-bg:#1a3326;--color-primary-foreground:#0d1f14;--color-accent:#d4b87a;--color-accent-bg:#d4b87a29;--color-error:#f97066;--color-error-bg:#3b1a18;--color-success:#6bc994;--color-warning:#e8a23a;--color-warning-bg:#3a2a12;--color-warning-text:#f0c674;--shadow-sm:0 1px 2px #0003;--shadow-bar:0 -2px 16px #00000047;--shadow-card:0 0 0 1px #4a453c66;--shadow-md:0 4px 12px #00000047;--shadow-lg:0 8px 24px #00000052}}[data-theme=light]{--color-bg:#fafaf8;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-overlay:#1c1c1a66;--color-text:#1c1c1a;--color-text-muted:#6b7280;--color-border:#c4bcad;--color-primary:#1a5c38;--color-primary-hover:#144a2d;--color-status-bg:#eef6f1;--color-primary-foreground:#fff;--color-accent:#c8a96e;--color-accent-bg:#f8f3eb;--color-error:#b42318;--color-error-bg:#fef3f2;--color-success:#067647;--color-warning:#b54708;--color-warning-bg:#fffbeb;--color-warning-text:#92400e;--shadow-sm:0 1px 2px #1c1c1a0d;--shadow-bar:0 -4px 24px #1c1c1a14;--shadow-card:0 1px 3px #1c1c1a0f;--shadow-md:0 4px 12px #1c1c1a14;--shadow-lg:0 8px 24px #1c1c1a1a}[data-theme=dark]{--color-bg:#1c1a17;--color-surface:#26231f;--color-surface-raised:#312e29;--color-surface-overlay:#1c1a16b8;--color-text:#f5f2eb;--color-text-muted:#a39e93;--color-border:#4a453c;--color-primary:#5cb88a;--color-primary-hover:#6bc994;--color-status-bg:#1a3326;--color-primary-foreground:#0d1f14;--color-accent:#d4b87a;--color-accent-bg:#d4b87a29;--color-error:#f97066;--color-error-bg:#3b1a18;--color-success:#6bc994;--color-warning:#e8a23a;--color-warning-bg:#3a2a12;--color-warning-text:#f0c674;--shadow-sm:0 1px 2px #0003;--shadow-bar:0 -2px 16px #00000047;--shadow-card:0 0 0 1px #4a453c66;--shadow-md:0 4px 12px #00000047;--shadow-lg:0 8px 24px #00000052}:root{--color-text-secondary:var(--color-text-muted);--color-on-primary:var(--color-primary-foreground,#fff);--call-bar-inset:var(--call-bar-height,72px)}@media (prefers-reduced-motion:reduce){:root{--motion-duration-short:0s;--motion-duration-medium:0s;--motion-duration-page:0s;--motion-distance-page:0px}}:root{--bp-xs:320px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px}.table-scroll{-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--space-4,1rem));padding:0 var(--space-4,1rem);overflow-x:auto}@media (min-width:768px){.table-scroll{margin:0;padding:0}}.table-scroll table{min-width:640px}.app-shell{width:100%;margin-inline:auto}@media (min-width:768px){.app-shell--narrow{max-width:480px}.app-shell--medium{max-width:768px}.app-shell--wide{max-width:1200px}}.field__input,.field__select,.field textarea,.form-field input,.form-field select,.form-field textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.form-field input[type=time],.form-field input[type=date],.field__input[type=time],.field__input[type=date]{display:block}@media (max-width:479px){.form__actions,.form-actions{flex-direction:column;align-items:stretch}.form__actions .btn,.form-actions .btn{width:100%}.field__input,.field__select{font-size:16px}}@media (min-width:480px) and (max-width:767px){.form__row--tablet-1{grid-template-columns:1fr}}.btn{min-height:var(--touch-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.btn--sm{min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary,var(--color-surface))}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg)}.btn--ghost{color:var(--color-primary);background:0 0;min-height:36px}.btn--ghost:hover:not(:disabled){background:var(--color-status-bg)}.btn--danger{background:var(--color-error);color:var(--color-surface)}.btn--danger-text{color:var(--color-error)}.btn--block{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--call{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);flex:1}.btn--call-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:#0000}.btn--call-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn--call-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--call-themed{background:var(--call-btn-bg,var(--color-primary));color:var(--color-on-primary);border-color:#0000}.btn--call-themed:hover:not(:disabled){filter:brightness(.92)}.field{flex-direction:column;gap:.375rem;display:flex}.field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.field__input{min-height:var(--touch-min);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font:inherit}.field__input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.form-field{gap:var(--space-1);font-size:var(--font-size-sm);flex-direction:column;min-width:0;display:flex}.form-field span{font-weight:var(--font-weight-medium)}.form-field input,.form-field select,.form-field textarea{min-height:var(--touch-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;background:var(--color-surface);min-width:0}.form-field input[type=time],.form-field input[type=date]{max-width:100%}.form-field input[type=color]{width:100%;max-width:8rem;height:var(--touch-min);padding:var(--space-1)}.form-field textarea{resize:vertical;min-height:auto}.form-field--checkbox{align-items:flex-start;gap:var(--space-2);flex-direction:row}.form-field--checkbox span{min-width:0;line-height:var(--line-height-normal);flex:1}.form-field--checkbox input{flex-shrink:0;width:18px;height:18px;min-height:auto;margin-top:.125rem}.form-field--row{justify-content:space-between;align-items:center;gap:var(--space-3);flex-direction:row}.form-field--row span{flex:1}.form-field--row input[type=checkbox]{flex-shrink:0;width:20px;height:20px;min-height:auto}.form-field__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-error{color:var(--color-error);font-size:var(--font-size-xs)}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:2.5rem;height:2.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.badge{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);display:inline-block}.badge--success{background:var(--color-status-bg);color:var(--color-success)}.badge--muted{background:var(--color-bg);color:var(--color-text-muted)}.state-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:100dvh;padding:2rem 1.5rem;display:flex}.state-screen h1,.state-screen h2{font-size:var(--font-size-lg);margin:0}.state-screen p{color:var(--color-text-muted);max-width:28rem;line-height:var(--line-height-relaxed);margin:0}.state-screen--error h1{color:var(--color-error)}.state-icon{width:3rem;height:3rem;font-weight:var(--font-weight-bold);background:var(--color-primary);color:var(--color-surface);border-radius:50%;place-items:center;display:grid}.state-icon--muted{background:var(--color-border);color:var(--color-text-muted)}.data-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{font-weight:var(--font-weight-semibold);color:var(--color-text-muted);white-space:nowrap}.data-table__empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.empty-state{text-align:center;padding:var(--space-8) var(--space-4)}.empty-state h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.empty-state p{color:var(--color-text-muted);margin:0}.loading-skeleton{gap:var(--space-3);flex-direction:column;display:flex}.loading-skeleton__row{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;height:48px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}dialog:modal{margin:auto}.confirm-dialog{border-radius:var(--radius-md);max-width:420px;width:calc(100% - var(--space-8));box-shadow:var(--shadow-card);border:none;padding:0}.confirm-dialog::backdrop{background:var(--color-text)}@supports (color:color-mix(in lab,red,red)){.confirm-dialog::backdrop{background:color-mix(in srgb,var(--color-text) 40%,transparent)}}.confirm-dialog__content{padding:var(--space-6)}.confirm-dialog__content h3{margin:0 0 var(--space-2)}.confirm-dialog__content p{margin:0 0 var(--space-5);color:var(--color-text-muted)}.confirm-dialog__actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.form-dialog{border-radius:var(--radius-md);max-width:480px;width:calc(100% - var(--space-8));box-shadow:var(--shadow-card);border:none;padding:0}.form-dialog::backdrop{background:var(--color-text)}@supports (color:color-mix(in lab,red,red)){.form-dialog::backdrop{background:color-mix(in srgb,var(--color-text) 40%,transparent)}}.form-dialog__content{padding:var(--space-6)}.form-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0}.form-fieldset legend{padding:0 var(--space-1);font-size:var(--font-size-sm);font-weight:600}.form-dialog__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.form-dialog__header h3{margin:0}.form-dialog__actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.form-dialog__actions-main{gap:var(--space-3);margin-left:auto;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-header h1,.page-header h2{font-size:var(--font-size-xl);margin:0}.page-header--compact{margin-bottom:var(--space-4)}.page-header__subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.page-header__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.toast-stack{top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:var(--space-4);z-index:10000;gap:var(--space-3);pointer-events:none;background:0 0;border:none;flex-direction:column;max-width:min(480px,100vw - 2rem);margin:0;padding:0;display:flex;position:fixed;bottom:auto;left:auto;overflow:visible}.toast-stack:popover-open{top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:var(--space-4);width:auto;height:auto;margin:0;bottom:auto;left:auto}.toast{min-height:var(--touch-min);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-bar);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);background:var(--color-surface);border:1px solid var(--color-border);pointer-events:auto;animation:toast-enter var(--motion-duration-medium,.2s) var(--motion-ease-out,ease-out) both;line-height:1.45}@keyframes toast-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toast--success{border-color:var(--color-success);background:var(--color-status-bg);color:var(--color-success)}.toast--error{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error)}.dismiss-toast{left:var(--space-4);right:var(--space-4);z-index:40;align-items:center;gap:var(--space-3);width:auto;max-width:none;min-height:var(--touch-min);padding:var(--space-4) var(--space-5);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-bar);touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;line-height:1.45;transition:transform .18s,opacity .18s;display:flex;position:fixed}.dismiss-toast--dragging{cursor:grabbing;transition:none}.dismiss-toast--exiting{pointer-events:none}.dismiss-toast__message{flex:auto}.dismiss-toast--status{background:var(--color-status-bg);color:var(--color-primary);border-color:var(--color-primary)}.dismiss-toast--alert{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}.dismiss-toast--top{top:calc(1rem + env(safe-area-inset-top,0px))}.dismiss-toast--bottom{bottom:calc(var(--call-bar-height,5rem) + var(--safe-bottom))}.modal{border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:none;padding:0}.modal--sm{max-width:420px;width:calc(100% - var(--space-8))}.modal--md{max-width:480px;width:calc(100% - var(--space-8))}.modal--lg{max-width:640px;width:calc(100% - var(--space-8))}.modal::backdrop{background:var(--color-text)}@supports (color:color-mix(in lab,red,red)){.modal::backdrop{background:color-mix(in srgb,var(--color-text) 40%,transparent)}}.modal__content{padding:var(--space-6)}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.modal__header h3{margin:0}.modal__body{max-height:min(70vh,640px);overflow-y:auto}@media (max-width:479px){.toast-stack{left:var(--space-4);right:var(--space-4);max-width:none}.toast-stack:popover-open{left:var(--space-4);right:var(--space-4)}.modal--sm,.modal--md,.modal--lg{width:calc(100% - var(--space-4));max-width:none}.modal__content{padding:var(--space-4)}.modal__body{max-height:min(65vh,520px)}.data-table th,.data-table td{padding:var(--space-2);font-size:var(--font-size-xs)}.page-header{flex-direction:column;align-items:stretch}.page-header__actions{width:100%}.page-header__actions .btn{flex:auto}.dismiss-toast{left:var(--space-4);right:var(--space-4)}}.qr-display{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.qr-display__label{font-weight:var(--font-weight-semibold);margin:0}.qr-display__link{font-size:var(--font-size-sm);color:var(--color-primary)}.layout{min-height:100vh;display:flex}.layout__main{flex-direction:column;flex:1;min-width:0;display:flex}.layout__mobile-bar,.layout__backdrop{display:none}.sidebar{background:var(--color-surface);width:260px;color:var(--color-text);border-right:1px solid var(--color-border);padding:var(--space-6) var(--space-4);flex-direction:column;flex-shrink:0;display:flex}.sidebar__top{position:relative}.sidebar__brand{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.sidebar__subtitle{margin:var(--space-1) 0 var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-muted)}.sidebar__close{display:none}.sidebar__nav{gap:var(--space-5);flex-direction:column;flex:1;display:flex}.sidebar__group{gap:var(--space-1);flex-direction:column;display:flex}.sidebar__group-title{margin:0 0 var(--space-1);padding:0 var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.sidebar__link{align-items:center;gap:var(--space-2);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);min-height:var(--touch-min);text-decoration:none;display:flex}.sidebar__icon{background:var(--color-text);border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.sidebar__icon{background:color-mix(in srgb,var(--color-text) 6%,transparent)}}.sidebar__icon{color:var(--color-text-muted)}.sidebar__link--active .sidebar__icon,.sidebar__link:hover .sidebar__icon{background:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.sidebar__link--active .sidebar__icon,.sidebar__link:hover .sidebar__icon{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}}.sidebar__link--active .sidebar__icon,.sidebar__link:hover .sidebar__icon{color:var(--color-primary)}.sidebar__link--active,.sidebar__link:hover{background:var(--color-status-bg);color:var(--color-primary)}.sidebar__footer{gap:var(--space-2);font-size:var(--font-size-sm);margin-top:var(--space-4);flex-direction:column;display:flex}.sidebar__role{color:var(--color-text-muted)}.sidebar__footer>button{border:1px solid var(--color-border);color:var(--color-text);padding:var(--space-2);border-radius:var(--radius-sm);min-height:var(--touch-min);cursor:pointer;background:0 0}.sidebar__theme{justify-content:stretch;align-self:stretch}.sidebar__theme .theme-toggle__btn{flex:1}.content{padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));flex:1;min-width:0}@media (min-width:768px){.content{padding:var(--space-8)}}@media (max-width:767px){.layout__mobile-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:30;display:flex;position:sticky;top:0}.layout__menu-btn{min-width:var(--touch-min);min-height:var(--touch-min);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-lg);cursor:pointer}.layout__mobile-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.layout__backdrop{z-index:40;background:var(--color-text);border:none;display:block;position:fixed;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.layout__backdrop{background:color-mix(in srgb,var(--color-text) 45%,transparent)}}.layout__backdrop{cursor:pointer}.sidebar{z-index:50;width:min(280px,88vw);box-shadow:var(--shadow-bar);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-110%)}.layout--nav-open .sidebar{transform:translate(0)}.sidebar__close{border-radius:var(--radius-sm);background:var(--color-surface);border:none;justify-content:center;align-items:center;min-width:36px;min-height:36px;display:inline-flex;position:absolute;top:0;right:0}@supports (color:color-mix(in lab,red,red)){.sidebar__close{background:color-mix(in srgb,var(--color-surface) 12%,transparent)}}.sidebar__close{color:var(--color-surface);cursor:pointer}.content{padding:var(--space-4)}}@media (max-width:479px){.content{padding:var(--space-3)}}.image-uploader{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.image-uploader__preview{border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);justify-content:center;align-items:center;width:120px;height:120px;display:flex;overflow:hidden}.image-uploader__preview img{object-fit:cover;width:100%;height:100%}.image-uploader__placeholder{font-size:var(--font-size-xs);color:var(--color-text-muted)}.image-uploader__input{display:none}.image-uploader__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.toggle{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg);min-width:48px;min-height:32px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.toggle--on{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error)}.dish-thumb{border-radius:var(--radius-sm);object-fit:cover;width:40px;height:40px}.dish-thumb--empty{background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-xs);justify-content:center;align-items:center;display:inline-flex}.row-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.kpi-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));display:grid}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.kpi-card:before{content:"";background:var(--color-primary);width:4px;position:absolute;top:0;bottom:0;left:0}.kpi-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.kpi-card__icon{color:var(--color-primary);justify-content:center;align-items:center;display:inline-flex}.kpi-card__label{font-size:var(--font-size-sm);color:var(--color-text-muted);display:block}.kpi-card__value{font-size:clamp(1.375rem,3vw,1.75rem);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);font-variant-numeric:tabular-nums;display:block}.kpi-card__unit{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.bar-chart__empty{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.bar-chart__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bar-chart__row{gap:var(--space-3);grid-template-columns:minmax(72px,28%) 1fr auto;align-items:center;display:grid}.bar-chart__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.bar-chart__track{background:var(--color-bg);border-radius:var(--radius-pill);height:10px;overflow:hidden}.bar-chart__fill{background:var(--color-primary);border-radius:var(--radius-pill);min-width:0;height:100%;transition:width .2s}.bar-chart__value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap}@media (max-width:479px){.bar-chart__row{gap:var(--space-2);grid-template-columns:1fr}.bar-chart__value{justify-self:start}}@keyframes sn-page-enter{0%{opacity:0;transform:translate3d(0,var(--motion-distance-page,14px),0) scale(.985);filter:blur(3px)}to{opacity:1;filter:blur();transform:translate(0)scale(1)}}@keyframes sn-page-slide-back{0%{opacity:.92;transform:translate(-12%)}to{opacity:1;transform:translate(0)}}@keyframes sn-page-slide-forward{0%{opacity:.92;transform:translate(12%)}to{opacity:1;transform:translate(0)}}.sn-page-enter{transform-origin:50% 0;animation:sn-page-enter var(--motion-duration-page,.38s) var(--motion-ease-emphasized,cubic-bezier(.16, 1, .3, 1)) forwards}.sn-page-slide-back,.sn-page-slide-forward{animation-duration:var(--motion-duration-page,.38s);animation-timing-function:var(--motion-ease-emphasized,cubic-bezier(.16, 1, .3, 1));animation-fill-mode:forwards}.sn-page-slide-back{animation-name:sn-page-slide-back}.sn-page-slide-forward{animation-name:sn-page-slide-forward}@media (prefers-reduced-motion:reduce){.sn-page-enter,.sn-page-slide-back,.sn-page-slide-forward{opacity:1;filter:none;transform:none;animation:none!important}}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}button{font:inherit;cursor:pointer}@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}.dashboard-links{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.dashboard-links__item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-decoration:none;color:var(--color-text);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.dashboard-links__item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.dashboard-links__icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-status-bg);color:var(--color-primary)}.dashboard-links__body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.dashboard-links__title{font-weight:var(--font-weight-semibold)}.dashboard-links__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal)}@media (max-width: 479px){.dashboard-links{grid-template-columns:minmax(0,1fr)}}
