.app-layout{min-height:100vh;display:flex}.app-main{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-slow);min-width:0;max-width:calc(100vw - var(--sidebar-width));flex-direction:column;flex:1;display:flex;overflow-x:hidden}.app-main.wizard-mode{max-width:100vw;margin-left:0}@media (width<=767px){.app-main{max-width:100vw;margin-left:0}}@media (width<=768px){.app-layout{max-width:100vw;overflow-x:hidden}.app-main{max-width:100vw;padding-bottom:calc(64px + env(safe-area-inset-bottom));overflow-x:hidden}.page-content{padding-left:0;padding-right:0;overflow-x:hidden}.modal-content{margin:0 12px;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 80px)!important}}@media (width<=480px){.app-main{font-size:14px}.modal-content{border-radius:var(--radius-xl);margin:0 8px;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 80px)!important}.modal-overlay{align-items:center!important;padding:8px!important}}.page-content{flex:1;animation:.25s fadeIn}@media (width>=768px) and (width<=1023px){.app-main{margin-left:var(--w-sidebar-collapsed);max-width:calc(100vw - var(--w-sidebar-collapsed))}}.ad-overlay{z-index:var(--z-alert);background:color-mix(in srgb, var(--n-950) 60%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);--brand-ink:var(--brand-500);justify-content:center;align-items:center;padding:24px;animation:.15s ad-fade-in;display:flex;position:fixed;inset:0}@keyframes ad-fade-in{0%{opacity:0}to{opacity:1}}.ad-content{background:var(--n-0);border:1px solid color-mix(in srgb, var(--n-950) 10%, transparent);width:100%;max-width:440px;box-shadow:0 24px 60px color-mix(in srgb, var(--n-950) 18%, transparent);border-radius:20px;animation:.2s cubic-bezier(.16,1,.3,1) ad-slide-up;overflow:hidden}@keyframes ad-slide-up{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}[data-theme=dark] .ad-content{--brand-ink:var(--brand-500);background:var(--n-900);border-color:color-mix(in srgb, var(--n-0) 8%, transparent);box-shadow:0 32px 64px color-mix(in srgb, var(--n-950) 80%, transparent)}[data-theme=dark] .ad-title{color:var(--n-100)}[data-theme=dark] .ad-description{color:var(--n-500)}[data-theme=dark] .ad-cancel{color:var(--n-500);border-color:color-mix(in srgb, var(--n-0) 10%, transparent)}[data-theme=dark] .ad-cancel:hover{background:color-mix(in srgb, var(--n-0) 6%, transparent);color:var(--n-400)}.ad-header{padding:28px 28px 0}.ad-title{color:var(--n-900);letter-spacing:-.01em;margin:0 0 8px;font-size:1.1rem;font-weight:800}.ad-description{color:var(--n-500);margin:0;font-size:.875rem;line-height:1.6}.ad-footer{justify-content:flex-end;gap:10px;margin-top:8px;padding:24px 28px 28px;display:flex}.ad-cancel{border:1px solid color-mix(in srgb, var(--n-950) 12%, transparent);color:var(--n-500);cursor:pointer;background:0 0;border-radius:12px;padding:10px 20px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .15s}.ad-cancel:hover{background:color-mix(in srgb, var(--n-950) 4%, transparent);color:var(--n-700);--brand-ink:var(--brand-500)}.ad-confirm{background:var(--accent,var(--indigo-500));color:var(--accent-text);cursor:pointer;border:none;border-radius:12px;padding:10px 22px;font-family:inherit;font-size:.875rem;font-weight:700;transition:all .15s}.ad-confirm:hover{filter:brightness(1.1);transform:translateY(-1px)}.ad-confirm--destructive{background:var(--err-500);color:var(--n-0)}.offline-banner{z-index:var(--z-offline);justify-content:center;align-items:center;gap:var(--s-2);min-height:36px;padding:var(--s-2) var(--s-4);background:var(--warn-500);color:var(--n-950);font-family:var(--font-ui);font-size:var(--fs-sm);text-align:center;box-shadow:var(--shadow-sm);font-weight:600;display:flex;position:fixed;top:0;left:0;right:0}.offline-banner svg{flex:none;width:16px;height:16px}@media (width<=480px){.offline-banner{font-size:var(--fs-xs);padding:var(--s-2) var(--s-3)}}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/Inter-var-8kRkwJBP.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/PlusJakartaSans-700-CHvXHr_y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:optional;src:url(/assets/JetBrainsMono-500-DP4sah39.woff2)format("woff2")}@font-face{font-family:Inter Fallback;font-style:normal;font-weight:400 700;src:local(Arial),local(Helvetica Neue),local(Liberation Sans);size-adjust:105.3%;ascent-override:96.88%;descent-override:24.12%;line-gap-override:0%}:root{--brand-50:#fff7e9;--brand-100:#fff5da;--brand-200:#fff1c2;--brand-300:#ffe99e;--brand-400:#ffdd6a;--brand-500:#ffcf00;--brand-600:#daae00;--brand-700:#b28b00;--brand-800:#8b6900;--brand-900:#634600;--brand-950:#462d00;--n-0:#fff;--n-50:#fafaf8;--n-100:#f4f4f1;--n-200:#e8e8e3;--n-300:#d6d6cf;--n-400:#a8a89f;--n-500:#7c7c73;--n-600:#5a5a52;--n-700:#42423b;--n-800:#292925;--n-900:#1a1a16;--n-950:#0d0d0b;--info-50:#eef4ff;--info-500:#2563eb;--info-600:#1d4ed8;--info-700:#1e40af;--ok-50:#e8f8f1;--ok-500:#0e9f6e;--ok-600:#0a8459;--ok-700:#076c48;--warn-50:#fff1e8;--warn-500:#ea580c;--warn-600:#c2410c;--warn-700:#9a3412;--err-50:#fef0f0;--err-500:#dc2626;--err-600:#c01d1d;--err-700:#a11414;--indigo-50:#eef2ff;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-700:#4338ca;--font-display:"Plus Jakarta Sans", "Inter Fallback", -apple-system, "Segoe UI", system-ui, sans-serif;--font-ui:"Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Consolas, monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:2rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--r-xs:4px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--h-header:64px;--h-actionbar:56px;--h-menuitem:40px;--h-btn:42px;--h-btn-sm:34px;--h-btn-lg:50px;--h-btn-kitchen:64px;--h-field:42px;--h-chip:26px;--h-row:48px;--w-sidebar:240px;--w-sidebar-collapsed:72px;--w-editpanel:520px;--w-search:280px;--w-content:1440px;--tap:44px;--tap-kds:56px;--tap-gap:8px;--z-dropdown:200;--z-sticky:300;--z-modal:400;--z-alert:450;--z-toast:500;--z-offline:600;--z-gate:700;--ease:cubic-bezier(.22, .61, .36, 1)}:root,[data-theme=light]{--bg:var(--n-50);--surface:var(--n-0);--surface-2:var(--n-100);--surface-inset:var(--n-100);--border:var(--n-200);--border-strong:var(--n-300);--border-subtle:var(--n-100);--text:var(--n-900);--text-2:var(--n-600);--text-3:var(--n-500);--brand-ink:var(--brand-800);--action:var(--n-900);--action-hover:#000;--action-text:var(--n-0);--accent:var(--brand-500);--accent-hover:var(--brand-400);--accent-text:var(--n-950);--accent-wash:var(--brand-100);--focus:var(--n-900);--focus-on-ink:var(--brand-500);--overlay:color-mix(in srgb, var(--n-950) 55%, transparent);--shadow-sm:0 1px 2px #1a1a160f;--shadow-md:0 2px 4px #1a1a160d, 0 8px 20px -8px #1a1a161f;--shadow-lg:0 4px 8px #1a1a160d, 0 20px 40px -16px #1a1a162e}[data-theme=dark]{--bg:var(--n-950);--surface:#141412;--surface-2:#1e1e1b;--surface-inset:#1e1e1b;--border:#2c2c28;--border-strong:#3d3d37;--border-subtle:#232320;--text:var(--n-100);--text-2:var(--n-400);--text-3:var(--n-500);--brand-ink:var(--brand-500);--action:var(--n-100);--action-hover:var(--n-0);--action-text:var(--n-950);--accent:var(--brand-500);--accent-hover:var(--brand-400);--accent-text:var(--n-950);--accent-wash:color-mix(in srgb, var(--brand-500) 14%, transparent);--focus:var(--brand-500);--focus-on-ink:var(--n-900);--overlay:#000000b3;--info-50:#101b33;--ok-50:#0b2118;--warn-50:#2a1509;--err-50:#2a1010;--info-500:#5b8def;--ok-500:#2dbe8b;--warn-500:#fb8c3c;--err-500:#f26464;--info-600:#7fa9f5;--ok-600:#55d0a4;--warn-600:#ffa867;--err-600:#ff8a8a;--info-700:#a7c4f9;--ok-700:#86e0bf;--warn-700:#ffc194;--err-700:#ffb0b0;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 2px 4px #0006, 0 8px 20px -8px #0009;--shadow-lg:0 4px 8px #0006, 0 20px 40px -16px #000000b3}[data-scope=super]{--accent:var(--indigo-600);--accent-hover:var(--indigo-700);--accent-text:var(--n-0);--accent-wash:var(--indigo-50);--brand-ink:var(--indigo-600)}[data-theme=dark] [data-scope=super],[data-scope=super][data-theme=dark]{--accent-wash:color-mix(in srgb, var(--indigo-500) 18%, transparent);--brand-ink:#a5b4fc}:root{--font-main:var(--font-family);--border-color:var(--border);--success-lighter:var(--ok-50);--shadow-premium:var(--shadow-lg)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){:not(.motion-critical),:not(.motion-critical):before,:not(.motion-critical):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg-primary:var(--surface);--bg-secondary:var(--bg);--bg-tertiary:var(--surface-inset);--bg-dark:var(--n-950);--bg-overlay:var(--overlay);--surface-hover:var(--surface-2);--surface-active:var(--surface-inset);--surface-elevated:var(--surface);--border-light:var(--border-subtle);--border-focus:var(--accent);--text-primary:var(--text);--text-secondary:var(--text-2);--text-tertiary:var(--text-3);--text-inverse:var(--n-0);--text-link:var(--brand-ink);--accent-light:var(--brand-400);--accent-lighter:var(--accent-wash);--accent-dark:var(--accent-hover);--accent-gradient:var(--accent);--orange:var(--warn-500);--orange-light:var(--err-50);--orange-dark:var(--warn-600);--orange-gradient:linear-gradient(135deg, var(--warn-500) 0%, var(--warn-500) 100%);--success:var(--ok-500);--success-light:var(--ok-50);--success-dark:var(--ok-700);--warning:var(--warn-500);--warning-light:var(--warn-50);--warning-dark:var(--warn-700);--danger:var(--err-500);--danger-light:var(--err-50);--danger-dark:var(--err-700);--info:var(--info-500);--info-light:var(--info-50);--info-dark:var(--info-700);--shadow-xs:var(--shadow-sm);--shadow-xl:var(--shadow-lg);--shadow-accent:var(--shadow-md);--shadow-danger:0 4px 14px color-mix(in srgb, var(--err-500) 35%, transparent);--shadow-orange:0 4px 14px color-mix(in srgb, var(--warn-500) 35%, transparent);--radius-xs:var(--r-xs);--radius-sm:var(--r-sm);--radius-md:var(--r-md);--radius-lg:var(--r-lg);--radius-xl:var(--r-xl);--radius-2xl:var(--r-xl);--radius-full:var(--r-full);--space-1:var(--s-1);--space-2:var(--s-2);--space-3:var(--s-3);--space-4:var(--s-4);--space-5:var(--s-5);--space-6:var(--s-6);--space-7:28px;--space-8:var(--s-8);--space-10:var(--s-10);--space-12:var(--s-12);--space-16:var(--s-16);--font-family:var(--font-ui);--font-xs:.75rem;--font-sm:.8125rem;--font-base:.875rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:2rem;--font-4xl:2.5rem;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-tight:1.2;--lh-normal:1.5;--lh-relaxed:1.7;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-spring:.3s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:var(--w-sidebar);--sidebar-collapsed:72px;--topbar-height:var(--h-header);--z-sidebar:100;--z-topbar:90;--z-modal:400;--z-toast:500}[data-theme=dark]{--text-inverse:var(--n-950);--accent-lighter:color-mix(in srgb, var(--brand-500) 15%, transparent);--bg-dark:var(--bg);--shadow-xs:var(--shadow-sm)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;max-width:100%;font-size:16px;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-base);line-height:var(--lh-normal);color:var(--text-primary);background:var(--bg-secondary);max-width:100%;min-height:100vh;transition:background-color .3s,color .3s;overflow-x:hidden}#root{min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.025em;font-weight:700;line-height:1.15}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes popIn{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn var(--transition-slow) ease both}.animate-fadeInUp{animation:fadeInUp var(--transition-slow) ease both}.animate-scaleIn{animation:scaleIn var(--transition-slow) ease both}.animate-slideInRight{animation:slideInRight var(--transition-slow) ease both}.animate-spin{animation:1s linear infinite spin}.glass{background:color-mix(in srgb, var(--n-0) 70%, transparent);-webkit-backdrop-filter:blur(12px)saturate(160%);border:1px solid color-mix(in srgb, var(--n-0) 40%, transparent)}[data-theme=dark] .glass{background:color-mix(in srgb, var(--n-900) 70%, transparent);border:1px solid color-mix(in srgb, var(--n-0) 8%, transparent);--brand-ink:var(--brand-500)}.glow-accent{box-shadow:0 0 0 2px var(--accent-lighter), var(--shadow-accent)}.card-base{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-xs)}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-md{font-size:var(--font-md)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.font-medium{font-weight:var(--fw-medium)}.font-semibold{font-weight:var(--fw-semibold)}.font-bold{font-weight:var(--fw-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.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)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}.grid{display:grid}@media (width<=1024px){:root{--sidebar-width:0px}}@media (width<=768px){:root{--topbar-height:56px}input,select,textarea{font-size:16px!important}}
