@import "https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;600;700&family=JetBrains+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap";.toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:90px;left:50%;transform:translate(-50%)}@media (width>=769px){.toast-container{bottom:32px}}.toast{border-radius:var(--radius-md);background:var(--color-surface-elevated);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);color:var(--color-text-primary);box-shadow:var(--shadow-xl), var(--highlight-top);animation:toastIn .35s var(--ease-out);pointer-events:auto;letter-spacing:-.1px;align-items:center;gap:12px;min-width:260px;max-width:380px;padding:12px 20px;font-size:14px;font-weight:500;display:flex}.toast--exit{animation:toastOut .3s var(--ease-in-out) forwards}.toast--success{border-color:var(--color-profit)}.toast--success .toast__icon{color:var(--color-profit)}.toast--error{border-color:var(--color-loss)}.toast--error .toast__icon{color:var(--color-loss)}.toast--warning{border-color:var(--color-warning)}.toast--warning .toast__icon{color:var(--color-warning)}.toast--info{border-color:var(--color-supplier)}.toast--info .toast__icon{color:var(--color-supplier)}.toast__icon{flex-shrink:0;font-size:16px;font-weight:700}.toast__message{flex:1}.sidebar{width:var(--sidebar-width);background:var(--color-surface-elevated);height:100vh;-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar__brand{flex-direction:column;gap:4px;padding:28px 24px 24px;display:flex;position:relative}.sidebar__brand:after{content:"";background:linear-gradient(90deg, transparent, var(--color-border-strong), transparent);height:1px;position:absolute;bottom:0;left:24px;right:24px}.sidebar__logo{background:linear-gradient(135deg, var(--color-accent-hover), var(--color-accent));color:#0000;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700;line-height:1.1}.sidebar__tagline{color:var(--color-text-muted);letter-spacing:1.5px;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:500}.sidebar__nav{flex-direction:column;flex:1;gap:2px;padding:16px 12px;display:flex}.sidebar__link{border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:all var(--duration-fast);letter-spacing:-.1px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar__link:hover{background:var(--hover-bg);color:var(--color-text-primary)}.sidebar__link--active{background:var(--color-accent-light);color:var(--color-accent);font-weight:600}.sidebar__link--active:before{content:"";background:linear-gradient(180deg, var(--color-accent-hover), var(--color-accent));width:3px;height:18px;box-shadow:0 0 8px var(--color-accent-glow);border-radius:0 3px 3px 0;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.sidebar__link-icon{text-align:center;opacity:.9;flex-shrink:0;width:20px;font-size:16px}.sidebar__link-text{flex:1}.sidebar__divider{background:var(--color-border);height:1px;margin:10px 14px}.sidebar__link--admin{color:var(--color-accent)}@media (width<=768px){.sidebar{display:none}}.bottom-nav{height:var(--bottomnav-height);background:var(--color-surface-elevated);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--color-border);z-index:100;padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0);display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=768px){.bottom-nav{justify-content:space-around;align-items:center;display:flex}}.bottom-nav__item{color:var(--color-text-muted);transition:all var(--duration-fast);flex-direction:column;align-items:center;gap:3px;min-width:52px;padding:8px 14px;font-size:10px;font-weight:500;text-decoration:none;display:flex;position:relative}.bottom-nav__item--active{color:var(--color-accent)}.bottom-nav__item--active:before{content:"";background:linear-gradient(90deg, var(--color-accent-hover), var(--color-accent));width:24px;height:3px;box-shadow:0 0 8px var(--color-accent-glow);border-radius:0 0 3px 3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.bottom-nav__item--active .bottom-nav__icon{filter:drop-shadow(0 0 6px var(--color-accent-glow));transform:scale(1.1)}.bottom-nav__icon{transition:transform var(--duration-fast) var(--ease-out);font-size:20px;line-height:1}.bottom-nav__label{white-space:nowrap;letter-spacing:-.2px}.app-shell{background:0 0;min-height:100vh;display:flex;position:relative}.app-shell__main{margin-left:var(--sidebar-width);flex:1;min-height:100vh;position:relative}.app-shell__content{max-width:1100px;margin:0 auto;padding:0 32px 48px}@media (width<=768px){.app-shell__main{margin-left:0}.app-shell__content{padding:0 16px;padding-bottom:calc(var(--bottomnav-height) + 24px)}}.btn{font-family:var(--font-body);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);white-space:nowrap;letter-spacing:-.1px;isolation:isolate;border:none;justify-content:center;align-items:center;gap:8px;font-weight:500;display:inline-flex;position:relative}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn--sm{border-radius:var(--radius-sm);height:32px;padding:7px 14px;font-size:13px}.btn--md{border-radius:var(--radius-sm);height:40px;padding:10px 20px;font-size:14px}.btn--lg{border-radius:var(--radius-md);height:48px;padding:14px 28px;font-size:15px}.btn--primary{background:linear-gradient(180deg, var(--color-accent-hover) 0%, var(--color-accent) 100%);color:#fff;box-shadow:0 1px 0 0 #ffffff1a inset, 0 0 0 1px var(--color-accent-glow), 0 8px 24px var(--color-accent-subtle);font-weight:600}.btn--primary:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff1a,#0000 50%);position:absolute;inset:0}.btn--primary:hover:not(:disabled){box-shadow:0 1px 0 0 #ffffff26 inset, 0 0 0 1px var(--color-accent-glow), 0 12px 32px var(--color-accent-glow);transform:translateY(-1px)}.btn--primary:active:not(:disabled){transform:translateY(0)scale(.98)}.btn--secondary{background:var(--input-bg);-webkit-backdrop-filter:blur(12px);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--highlight-top), var(--shadow-xs);font-weight:500}.btn--secondary:hover:not(:disabled){background:var(--input-bg-hover);border-color:var(--color-border-strong)}.btn--ghost{color:var(--color-text-secondary);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--hover-bg);color:var(--color-text-primary)}.btn--danger{color:var(--color-loss);border:1px solid var(--color-loss-bg);background:0 0}.btn--danger:hover:not(:disabled){background:var(--color-loss-bg);border-color:var(--color-loss);box-shadow:0 0 24px var(--color-loss-bg)}.btn--accent-outline{background:var(--color-accent-light);color:var(--color-accent);border:1px solid var(--color-border-accent);font-weight:600}.btn--accent-outline:hover:not(:disabled){background:var(--color-accent-subtle);border-color:var(--color-accent);box-shadow:0 0 24px var(--color-accent-subtle)}.btn--full{width:100%}.btn__icon{align-items:center;font-size:1.1em;display:flex}.btn__loader{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);width:38px;height:38px;-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);box-shadow:var(--highlight-top), var(--shadow-xs);flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--color-surface-elevated);color:var(--color-accent);border-color:var(--color-border-accent);box-shadow:var(--highlight-top), 0 0 20px var(--color-accent-glow);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)scale(.95)}.theme-toggle__icon{transition:transform var(--duration-slow) var(--ease-spring);justify-content:center;align-items:center;display:flex}.theme-toggle__icon--dark{animation:iconSpin .4s var(--ease-spring)}.theme-toggle__icon--light{animation:iconFade .4s var(--ease-out)}@keyframes iconSpin{0%{opacity:0;transform:rotate(-90deg)scale(.5)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes iconFade{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.landing{min-height:100vh;position:relative;overflow-x:hidden}.landing-nav{z-index:50;background:0 0;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:20px 40px;display:flex;position:sticky;top:0}.landing-nav__logo{background:linear-gradient(135deg, var(--color-accent-hover), var(--color-accent));color:#0000;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700}.landing-nav__actions{align-items:center;gap:10px;display:flex}@media (width<=640px){.landing-nav{padding:16px 20px}}.landing-hero{text-align:center;max-width:1000px;margin:0 auto;padding:80px 40px 100px;position:relative}.landing-hero__badge{background:var(--color-accent-light);border:1px solid var(--color-border-accent);border-radius:var(--radius-full);color:var(--color-accent);letter-spacing:.2px;align-items:center;gap:8px;margin-bottom:32px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.landing-hero__badge-dot{background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 12px var(--color-accent);border-radius:50%;animation:2s infinite pulse}.landing-hero__title{letter-spacing:-3px;color:var(--color-text-primary);margin-bottom:32px;font-size:84px;font-weight:700;line-height:1.05}.landing-hero__title-accent{background:linear-gradient(135deg, #fb923c 0%, var(--color-accent) 60%, #a855f7 100%);color:#0000;filter:drop-shadow(0 0 32px #f9731666);-webkit-background-clip:text;background-clip:text}.landing-hero__subtitle{color:var(--color-text-secondary);margin-bottom:40px;font-size:20px;font-weight:400;line-height:1.7}.landing-hero__cta{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:16px;display:flex}.landing-hero__note{color:var(--color-text-muted);letter-spacing:.3px;font-size:13px}@media (width<=768px){.landing-hero{padding:40px 20px 60px}.landing-hero__title{letter-spacing:-1.5px;font-size:48px}.landing-hero__subtitle{font-size:16px}}@media (width<=480px){.landing-hero__title{font-size:38px}}.landing-section{max-width:1200px;margin:0 auto;padding:80px 40px}@media (width<=640px){.landing-section{padding:60px 20px}}.landing-section__header{text-align:center;margin-bottom:60px}.landing-section__eyebrow{color:var(--color-accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:700;display:inline-block}.landing-section__title{letter-spacing:-1.2px;color:var(--color-text-primary);margin-bottom:16px;font-size:42px;font-weight:700;line-height:1.15}.landing-section__desc{color:var(--color-text-secondary);font-size:17px;line-height:1.7}@media (width<=640px){.landing-section__title{font-size:30px}.landing-section__desc{font-size:15px}}.landing-industries{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.landing-industry{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out);box-shadow:var(--highlight-top);padding:28px 24px}.landing-industry:hover{border-color:var(--color-border-accent);box-shadow:var(--highlight-top), var(--shadow-lg);transform:translateY(-4px)}.landing-industry__icon{margin-bottom:16px;font-size:40px;display:block}.landing-industry__label{color:var(--color-text-primary);letter-spacing:-.3px;margin-bottom:6px;font-size:18px;font-weight:700}.landing-industry__desc{color:var(--color-text-muted);margin-bottom:14px;font-size:13px;line-height:1.6}.landing-industry__terms{color:var(--color-accent);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.landing-industry__dot{color:var(--color-text-muted)}@media (width<=900px){.landing-industries{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.landing-industries{grid-template-columns:1fr}}.landing-features{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.landing-feature{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--highlight-top);transition:all var(--duration-normal);padding:28px}.landing-feature:hover{border-color:var(--color-border-strong);transform:translateY(-3px)}.landing-feature--lg{background:linear-gradient(135deg, var(--color-accent-light), var(--color-surface));border-color:var(--color-border-accent);grid-column:span 3;padding:40px}.landing-feature__icon{margin-bottom:18px;font-size:32px;line-height:1}.landing-feature--lg .landing-feature__icon{font-size:48px}.landing-feature__title{color:var(--color-text-primary);letter-spacing:-.3px;margin-bottom:10px;font-size:18px;font-weight:700}.landing-feature--lg .landing-feature__title{font-size:28px}.landing-feature__desc{color:var(--color-text-secondary);font-size:14px;line-height:1.7}.landing-feature--lg .landing-feature__desc{max-width:560px;font-size:16px}@media (width<=900px){.landing-features{grid-template-columns:repeat(2,1fr)}.landing-feature--lg{grid-column:span 2}}@media (width<=540px){.landing-features{grid-template-columns:1fr}.landing-feature--lg{grid-column:span 1;padding:28px}.landing-feature--lg .landing-feature__title{font-size:22px}}.landing-pricing{grid-template-columns:repeat(2,1fr);gap:20px;max-width:820px;margin:0 auto;display:grid}.landing-plan{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--highlight-top);flex-direction:column;gap:20px;padding:36px 32px;display:flex;position:relative}.landing-plan--pro{border-color:var(--color-accent);box-shadow:var(--highlight-top), 0 0 48px var(--color-accent-subtle);background:linear-gradient(180deg, var(--color-accent-lighter), var(--color-surface))}.landing-plan__badge{background:linear-gradient(135deg, #fb923c, var(--color-accent));color:#fff;border-radius:var(--radius-full);letter-spacing:1px;box-shadow:0 4px 16px var(--color-accent-glow);padding:4px 12px;font-size:11px;font-weight:700;position:absolute;top:-12px;right:24px}.landing-plan__name{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1.5px;font-size:14px;font-weight:700}.landing-plan--pro .landing-plan__name{color:var(--color-accent)}.landing-plan__price{align-items:baseline;gap:8px;display:flex}.landing-plan__price-value{color:var(--color-text-primary);letter-spacing:-1.5px;font-size:48px;font-weight:700}.landing-plan__price-unit{color:var(--color-text-muted);font-size:14px;font-weight:500}.landing-plan__features{color:var(--color-text-secondary);flex-direction:column;flex:1;gap:10px;font-size:14px;list-style:none;display:flex}.landing-plan__features li{line-height:1.5}.landing-plan--pro .landing-plan__features li{color:var(--color-text-primary);font-weight:500}@media (width<=640px){.landing-pricing{grid-template-columns:1fr}.landing-plan{padding:28px 24px}.landing-plan__price-value{font-size:38px}}.landing-cta{text-align:center;background:linear-gradient(135deg, var(--color-accent-light), #a855f714);border:1px solid var(--color-border-accent);border-radius:var(--radius-xl);max-width:900px;box-shadow:var(--highlight-top), 0 0 60px var(--color-accent-subtle);margin:40px auto 80px;padding:64px 40px;position:relative;overflow:hidden}.landing-cta:before{content:"";background:radial-gradient(circle, var(--color-accent-subtle), transparent 70%);pointer-events:none;width:500px;height:500px;position:absolute;top:-50%;right:-20%}.landing-cta__title{letter-spacing:-1.2px;color:var(--color-text-primary);margin-bottom:16px;font-size:42px;font-weight:700;position:relative}.landing-cta__desc{color:var(--color-text-secondary);margin-bottom:28px;font-size:17px;position:relative}@media (width<=640px){.landing-cta{margin:20px 20px 60px;padding:44px 24px}.landing-cta__title{font-size:28px}.landing-cta__desc{font-size:14px}}.landing-footer{border-top:1px solid var(--color-border-subtle);max-width:1200px;color:var(--color-text-muted);grid-template-columns:1fr 1fr 1fr;gap:40px;margin:0 auto;padding:40px 40px 60px;font-size:13px;line-height:1.8;display:grid}.landing-footer__brand p{color:var(--color-text-muted);margin-top:6px;font-style:italic}.landing-footer__logo{color:var(--color-accent);letter-spacing:-.5px;font-size:22px;font-weight:700}.landing-footer__links{flex-direction:column;gap:8px;display:flex}.landing-footer__links a{color:var(--color-text-secondary);transition:color var(--duration-fast);width:fit-content;text-decoration:none}.landing-footer__links a:hover{color:var(--color-accent)}.landing-footer__business p{color:var(--color-text-muted);margin:0}@media (width<=768px){.landing-footer{grid-template-columns:1fr;gap:24px;padding:32px 20px 80px}}.input-group{flex-direction:column;gap:8px;display:flex}.input-group__label{color:var(--color-text-muted);letter-spacing:.4px;text-transform:uppercase;font-size:11px;font-weight:600}.input-group__required{color:var(--color-accent);margin-left:2px}.input-group__wrapper{background:var(--input-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out);align-items:center;padding:0 14px;display:flex;position:relative}.input-group__wrapper:hover{border-color:var(--color-border-strong);background:var(--input-bg-hover)}.input-group__wrapper:focus-within{border-color:var(--color-accent);background:var(--input-bg-focus);box-shadow:0 0 0 3px var(--color-accent-light)}.input-group__input{width:100%;font-family:var(--font-body);color:var(--color-text-primary);background:0 0;border:none;outline:none;padding:11px 0;font-size:14px}.input-group__input::placeholder{color:var(--color-text-muted);font-weight:400}.input-group__input:disabled{opacity:.4;cursor:not-allowed}.input-group__input--has-prefix{padding-left:6px}.input-group__input--has-suffix{padding-right:6px}.input-group__prefix{color:var(--color-text-muted);font-size:14px;font-family:var(--font-mono);font-weight:500}.input-group__suffix{color:var(--color-text-muted);letter-spacing:.2px;font-size:12px;font-weight:500}.input-group--error .input-group__wrapper{border-color:var(--color-loss);background:var(--color-loss-bg)}.input-group__error{color:var(--color-loss);font-size:12px;font-weight:500}.input-group__hint{color:var(--color-text-muted);font-size:12px}.login-page{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex;position:relative;overflow:hidden}.login-page__toggle{z-index:10;position:absolute;top:24px;right:24px}@media (width<=480px){.login-page__toggle{top:16px;right:16px}}.login-page:before{content:"";pointer-events:none;filter:blur(60px);background:radial-gradient(circle,#f9731633,#0000 60%);width:700px;height:700px;animation:20s ease-in-out infinite auroraFlow;position:absolute;top:-30%;right:-20%}.login-page:after{content:"";pointer-events:none;filter:blur(60px);background:radial-gradient(circle,#a855f726,#0000 60%);width:500px;height:500px;animation:25s ease-in-out infinite reverse auroraFlow;position:absolute;bottom:-20%;left:-10%}.login-card{z-index:1;width:100%;max-width:420px;-webkit-backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl), var(--highlight-top);animation:scaleIn .5s var(--ease-out);background:#18181b99;padding:48px 40px 40px;position:relative}.login-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff0d,#0000 40%);position:absolute;inset:0}@media (width<=480px){.login-page{justify-content:flex-start;padding:60px 16px 16px}.login-card{border-radius:var(--radius-lg);padding:36px 24px 28px}}.login-brand{text-align:center;margin-bottom:40px;position:relative}.login-brand__name{background:linear-gradient(135deg, #fb923c 0%, var(--color-accent) 60%, #ea580c 100%);color:#0000;letter-spacing:-1.5px;filter:drop-shadow(0 0 24px #f973164d);-webkit-background-clip:text;background-clip:text;font-size:40px;font-weight:700;line-height:1.1}.login-brand__tagline{color:var(--color-text-muted);letter-spacing:2px;text-transform:uppercase;margin-top:12px;font-size:11px;font-weight:500}.login-form{flex-direction:column;gap:18px;display:flex;position:relative}.login-divider{color:var(--color-text-muted);letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:16px;margin:24px 0;font-size:10px;font-weight:500;display:flex;position:relative}.login-divider:before,.login-divider:after{content:"";background:linear-gradient(to right, transparent, var(--color-border-strong), transparent);flex:1;height:1px}.login-toggle{text-align:center;color:var(--color-text-muted);margin-top:24px;font-size:13px;position:relative}.login-toggle__btn{color:var(--color-accent);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--duration-fast);background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:600}.login-toggle__btn:hover{background:var(--color-accent-light);color:var(--color-accent-hover)}.login-footer{z-index:1;width:100%;max-width:420px;animation:fadeIn .8s var(--ease-out) .3s both;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:32px;font-size:12px;display:flex;position:relative}.login-footer a{color:var(--color-text-muted);white-space:nowrap;transition:color var(--duration-fast);padding:4px;text-decoration:none}.login-footer a:hover{color:var(--color-accent)}.login-footer__dot{color:var(--color-border-strong)}.industry-picker{flex-direction:column;gap:8px;display:flex}.industry-picker__label{color:var(--color-text-muted);letter-spacing:.4px;text-transform:uppercase;font-size:11px;font-weight:600}.industry-picker__grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.industry-picker__item{background:var(--input-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast);font-family:var(--font-body);flex-direction:column;align-items:center;gap:4px;padding:10px 6px;display:flex}.industry-picker__item:hover{background:var(--input-bg-hover);border-color:var(--color-border-strong)}.industry-picker__item--active{background:var(--color-accent-light);border-color:var(--color-accent);box-shadow:0 0 16px var(--color-accent-subtle)}.industry-picker__icon{font-size:20px;line-height:1}.industry-picker__name{color:var(--color-text-secondary);text-align:center;letter-spacing:-.2px;font-size:10px;font-weight:600}.industry-picker__item--active .industry-picker__name{color:var(--color-accent)}.topbar{z-index:50;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:28px 0 22px;display:flex;position:sticky;top:0}.topbar__left{align-items:center;gap:12px;min-width:0;display:flex}.topbar__back{border:1px solid var(--color-border);background:var(--input-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar__back:hover{background:var(--input-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-strong);transform:translate(-2px)}.topbar__title{color:var(--color-text-primary);letter-spacing:-.8px;font-size:24px;font-weight:700}.topbar__action{flex-shrink:0}.topbar__right{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=768px){.topbar{padding:20px 0 16px}.topbar__title{font-size:20px}}.card{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--highlight-top), var(--shadow-sm);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.card--hoverable:hover{border-color:var(--color-border-strong);box-shadow:var(--highlight-top), var(--shadow-lg);transform:translateY(-2px)}.card--hoverable:hover:after{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--color-accent-subtle), transparent 50%);pointer-events:none;z-index:-1;filter:blur(20px);position:absolute;inset:-1px}.card--clickable{cursor:pointer}.card__header{border-bottom:1px solid var(--color-border-subtle);padding:18px 22px}.card__body{padding:22px}.card__footer{border-top:1px solid var(--color-border-subtle);background:var(--hover-bg);padding:14px 22px}.margin-bar{align-items:center;gap:10px;display:flex}.margin-bar__track{background:var(--input-bg-hover);border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.margin-bar--sm .margin-bar__track{height:4px}.margin-bar--lg .margin-bar__track{height:10px}.margin-bar__fill{height:100%;transition:width .5s var(--ease-out), background .3s ease;filter:brightness(1.1);border-radius:3px;box-shadow:0 0 12px}.margin-bar__label{text-align:right;font-variant-numeric:tabular-nums;min-width:48px;font-size:13px;font-weight:600}.margin-bar--sm .margin-bar__label{min-width:40px;font-size:11px}.margin-bar--lg .margin-bar__label{min-width:56px;font-size:15px}.empty-state{text-align:center;background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--highlight-top);flex-direction:column;justify-content:center;align-items:center;padding:60px 24px;display:flex}.empty-state__emoji{filter:grayscale(.3);opacity:.9;margin-bottom:16px;font-size:48px}.empty-state__title{font-family:var(--font-display);color:var(--color-text-primary);white-space:pre-line;letter-spacing:-.3px;margin-bottom:8px;font-size:18px;font-weight:700}.empty-state__desc{color:var(--color-text-muted);white-space:pre-line;font-size:13px;line-height:1.7}.empty-state__action{margin-top:24px}.skeleton{background:linear-gradient(90deg, var(--hover-bg) 0%, #ffffff14 50%, var(--hover-bg) 100%);border-radius:var(--radius-xs);background-size:200% 100%;animation:1.8s infinite shimmer}.skeleton-card{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--highlight-top);flex-direction:column;gap:12px;padding:22px;display:flex}.skeleton-list{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--highlight-top);flex-direction:column;gap:2px;display:flex;overflow:hidden}.skeleton-list__item{border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:16px;padding:16px 20px;display:flex}.skeleton-list__item:last-child{border-bottom:none}.badge{white-space:nowrap;letter-spacing:-.1px;border:1px solid #0000;align-items:center;font-weight:600;display:inline-flex}.badge--sm{border-radius:var(--radius-full);height:22px;padding:2px 10px;font-size:11px}.badge--md{border-radius:var(--radius-full);height:26px;padding:4px 14px;font-size:13px}.badge--default{background:var(--input-bg-hover);color:var(--color-text-secondary);border-color:#ffffff14}.badge--accent{background:var(--color-accent-light);color:var(--color-accent);border-color:#f9731633}.badge--profit{background:var(--color-profit-bg);color:var(--color-profit);border-color:#22c55e33}.badge--loss{background:var(--color-loss-bg);color:var(--color-loss);border-color:#ef444433}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:#f59e0b33}.badge--supplier{background:var(--color-supplier-bg);color:var(--color-supplier);border-color:#60a5fa33}.badge--recipe{background:var(--color-recipe-bg);color:var(--color-recipe);border-color:#c084fc33}.badge--ingredient{background:var(--color-ingredient-bg);color:var(--color-ingredient);border-color:#34d39933}.badge--pro{background:linear-gradient(135deg, var(--color-accent) 0%, #fb923c 100%);color:#fff;border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.8px;border-color:#f9731666;padding:2px 8px;font-size:10px;font-weight:700;box-shadow:0 0 12px #f9731666}.pro-gate{border-radius:var(--radius-md);position:relative;overflow:hidden}.pro-gate__content--blur{filter:blur(8px)brightness(.6);pointer-events:none;-webkit-user-select:none;user-select:none}.pro-gate__overlay{-webkit-backdrop-filter:blur(6px);border-radius:var(--radius-md);border:1px solid var(--color-border-accent);background:#09090b66;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 60px #f973161a}.pro-gate__text{color:var(--color-text-secondary);letter-spacing:-.1px;font-size:13px;font-weight:500}.upgrade-banner{border-radius:var(--radius-sm);-webkit-backdrop-filter:var(--glass-blur);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 18px;display:flex}.upgrade-banner--warn{background:var(--input-bg);border:1px solid var(--color-border)}.upgrade-banner--limit{background:#f9731614;border:1px solid #f973164d;box-shadow:0 0 30px #f9731626}.upgrade-banner__info{flex:1;align-items:center;gap:10px;display:flex}.upgrade-banner__usage{color:var(--color-accent);font-size:14px;font-weight:700}.upgrade-banner__text{color:var(--color-text-secondary);font-size:13px}.onboarding{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--highlight-top), var(--shadow-sm);margin-bottom:24px;padding:24px;position:relative;overflow:hidden}.onboarding:before{content:"";pointer-events:none;background:radial-gradient(circle,#f973161f,#0000 70%);width:400px;height:400px;position:absolute;top:-50%;right:-20%}.onboarding__header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex;position:relative}.onboarding__title{color:var(--color-text-primary);letter-spacing:-.3px;font-size:16px;font-weight:700}.onboarding__subtitle{color:var(--color-text-muted);letter-spacing:.2px;margin-top:4px;font-size:12px}.onboarding__dismiss{background:var(--hover-bg);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-xs);font-size:11px;font-family:var(--font-body);transition:all var(--duration-fast);border:none;padding:5px 10px;font-weight:500}.onboarding__dismiss:hover{color:var(--color-text-secondary);background:#ffffff14}.onboarding__progress{align-items:center;gap:12px;margin-bottom:22px;display:flex;position:relative}.onboarding__progress-bar{background:var(--input-bg-hover);border-radius:2px;flex:1;height:4px;overflow:hidden}.onboarding__progress-fill{background:linear-gradient(90deg, var(--color-accent), #fb923c);height:100%;transition:width .5s var(--ease-out);border-radius:2px;box-shadow:0 0 12px #f9731680}.onboarding__progress-text{color:var(--color-accent);min-width:32px;font-size:13px;font-weight:700}.onboarding__steps{flex-direction:column;gap:6px;display:flex;position:relative}.onboarding__step{border-radius:var(--radius-sm);transition:all var(--duration-fast);background:var(--hover-bg);opacity:.5;border:1px solid #0000;align-items:center;gap:14px;padding:14px 16px;display:flex}.onboarding__step--next{opacity:1;background:#f973160f;border-color:#f9731640;box-shadow:0 0 24px #f973161a}.onboarding__step--done{opacity:.65;background:#22c55e0d;border-color:#22c55e26}.onboarding__step-icon{border-radius:var(--radius-full);background:var(--input-bg-hover);border:1px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.onboarding__step--done .onboarding__step-icon{background:var(--color-profit);color:var(--color-bg);border-color:var(--color-profit);font-size:14px;font-weight:700;box-shadow:0 0 12px #22c55e66}.onboarding__step-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.onboarding__step-title{color:var(--color-text-primary);font-size:14px;font-weight:600}.onboarding__step--done .onboarding__step-title{color:var(--color-text-muted);text-decoration:line-through}.onboarding__step-desc{color:var(--color-text-muted);font-size:12px}.onboarding__step-check{color:var(--color-profit);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}@media (width<=480px){.onboarding{padding:20px 18px}.onboarding__step{gap:10px;padding:12px}.onboarding__step-icon{width:32px;height:32px;font-size:16px}}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;display:grid}@media (width>=640px){.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:14px}}@media (width<=640px){.dashboard-grid{gap:10px}}.kpi-card{flex-direction:column;gap:10px;display:flex;position:relative}.kpi-card__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.kpi-card__value{color:var(--color-text-primary);letter-spacing:-.8px;font-size:28px;font-weight:700}@media (width<=640px){.kpi-card__value{font-size:22px}.kpi-card__label{font-size:9px}}@media (width<=360px){.kpi-card__value{font-size:18px}}.dashboard-section{margin-bottom:16px}.dashboard-pro-section{flex-direction:column;gap:16px;display:flex}.section-title{color:var(--color-text-primary);letter-spacing:-.3px;align-items:center;gap:10px;margin-bottom:20px;font-size:15px;font-weight:700;display:flex}.section-title:before{content:"";background:linear-gradient(180deg, #fb923c, var(--color-accent));border-radius:2px;width:3px;height:14px;box-shadow:0 0 8px #f9731680}.margin-ranking{flex-direction:column;gap:24px;display:flex}.margin-ranking__group{flex-direction:column;gap:10px;display:flex}.margin-ranking__label{text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700}.margin-ranking__item{border-radius:var(--radius-sm);transition:background var(--duration-fast);align-items:center;gap:14px;padding:8px 10px;display:flex}.margin-ranking__item:hover{background:var(--input-bg)}.margin-ranking__name{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:80px;font-size:13px;font-weight:500;overflow:hidden}.supplier-cost-list{flex-direction:column;gap:4px;display:flex}.supplier-cost-item{border-radius:var(--radius-sm);transition:background var(--duration-fast);border:1px solid #0000;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.supplier-cost-item:hover{background:var(--input-bg);border-color:var(--color-border-subtle)}.supplier-cost-item__info{align-items:center;gap:10px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px)saturate(180%);z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}:root[data-theme=light] .modal-overlay{background:#00000040}.modal{background:var(--color-surface-elevated);-webkit-backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal), var(--highlight-top);width:100%;max-height:90vh;animation:scaleIn .3s var(--ease-out);flex-direction:column;display:flex;position:relative}.modal:before{content:"";border-radius:inherit;background:linear-gradient(180deg, var(--highlight-top), transparent 40%);pointer-events:none;opacity:.6;position:absolute;inset:0}.modal--sm{max-width:400px}.modal--md{max-width:520px}.modal--lg{max-width:680px}.modal--xl{max-width:860px}.modal--slide-up{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;max-height:85vh;animation:slideInFromBottom .4s var(--ease-out);position:fixed;bottom:0;left:0;right:0}.modal__header{z-index:1;justify-content:space-between;align-items:center;padding:24px 26px 0;display:flex;position:relative}.modal__title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.4px;font-size:18px;font-weight:700}.modal__close{border:1px solid var(--color-border);background:var(--input-bg);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-full);transition:all var(--duration-fast);justify-content:center;align-items:center;display:flex}.modal__close:hover{background:var(--hover-bg);color:var(--color-text-primary);border-color:var(--color-border-strong);transform:rotate(90deg)}.modal__body{z-index:1;padding:20px 26px 26px;position:relative;overflow-y:auto}@media (width<=640px){.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh;animation:slideInFromBottom .4s var(--ease-out)}.modal__header{padding:22px 20px 0}.modal__body{padding:18px 20px 22px}}.select-group{flex-direction:column;gap:8px;display:flex}.select-group__label{color:var(--color-text-muted);letter-spacing:.4px;text-transform:uppercase;font-size:11px;font-weight:600}.select-group__required{color:var(--color-accent);margin-left:2px}.select-group__select{width:100%;font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--input-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' opacity='0.5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;outline:none;padding:11px 38px 11px 14px;font-size:14px}.select-group__select:hover{border-color:var(--color-border-strong);background-color:var(--input-bg-hover)}.select-group__select:focus{border-color:var(--color-accent);background-color:var(--input-bg-focus);box-shadow:0 0 0 3px var(--color-accent-light)}.select-group__select option{background:var(--color-surface-solid);color:var(--color-text-primary)}.select-group--error .select-group__select{border-color:var(--color-loss)}.select-group__error{color:var(--color-loss);font-size:12px;font-weight:500}.suppliers-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=769px){.suppliers-grid{grid-template-columns:repeat(3,1fr);gap:16px}}.supplier-card{flex-direction:column;gap:8px;display:flex}.supplier-card__header{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.supplier-card__name{color:var(--color-text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;letter-spacing:-.2px;-webkit-box-orient:vertical;font-size:15px;font-weight:600;display:-webkit-box;overflow:hidden}@media (width<=480px){.suppliers-grid{grid-template-columns:1fr;gap:10px}.supplier-card__name{font-size:14px}}.supplier-card__contact{color:var(--color-text-secondary);font-size:12px}.supplier-card__linked{color:var(--color-text-muted);font-size:11px;font-weight:500}.form-stack{flex-direction:column;gap:18px;display:flex}.form-actions{justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.supplier-detail{flex-direction:column;gap:20px;display:flex}.supplier-detail__info{flex-direction:column;gap:12px;display:flex}.detail-row{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{color:var(--color-text-muted);font-size:12px;font-weight:500}.supplier-detail__ingredients h4{color:var(--color-text-primary);margin-bottom:10px;font-size:13px;font-weight:600}.linked-list{flex-direction:column;gap:4px;display:flex}.linked-item{background:var(--input-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);justify-content:space-between;padding:10px 14px;font-size:13px;display:flex}.ingredients-filters{gap:12px;margin-bottom:16px;display:flex}.ingredients-search{flex:1}.ingredients-filter-select{width:160px}@media (width<=640px){.ingredients-filters{flex-direction:column}.ingredients-filter-select{width:100%}}.ingredients-list{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--highlight-top);overflow:hidden}.ingredient-row{border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background var(--duration-fast);justify-content:space-between;align-items:center;gap:8px;padding:14px 20px;display:flex}.ingredient-row:last-child{border-bottom:none}.ingredient-row:hover{background:var(--input-bg)}@media (width<=480px){.ingredient-row{padding:12px 14px}.ingredient-row__name{font-size:13px}.ingredient-row__price{font-size:12px}}.ingredient-row__main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.ingredient-row__name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.1px;font-size:14px;font-weight:500;overflow:hidden}.ingredient-row__price{color:var(--color-text-secondary);white-space:nowrap;font-size:13px;font-weight:500}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.unit-custom-row{align-items:flex-end;gap:8px;display:flex}.unit-custom-row>:first-child{flex:1}.unit-toggle-btn{font-size:12px;font-family:var(--font-body);color:var(--color-accent);background:var(--color-accent-light);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast);border:1px solid #f973164d;height:42px;margin-bottom:0;padding:10px 14px;font-weight:500}.unit-toggle-btn:hover{border-color:var(--color-accent);background:#f973162e}.auto-calc-box{border-radius:var(--radius-sm);background:#f9731614;border:1px solid #f9731640;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:relative;overflow:hidden}.auto-calc-box:before{content:"";pointer-events:none;background:radial-gradient(circle at 90%,#f9731626,#0000 60%);position:absolute;inset:0}.auto-calc-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.auto-calc-value{color:var(--color-accent);font-size:16px;font-weight:700;position:relative}.loss-rate-group{flex-direction:column;gap:10px;display:flex}.loss-rate-slider{appearance:none;background:#ffffff14;border-radius:2px;outline:none;width:100%;height:4px}.loss-rate-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg);border-radius:50%;width:18px;height:18px;box-shadow:0 0 12px #f9731680}.loss-rate-slider::-moz-range-thumb{background:var(--color-accent);cursor:pointer;border:2px solid var(--color-bg);border-radius:50%;width:18px;height:18px;box-shadow:0 0 12px #f9731680}.ingredient-detail{flex-direction:column;gap:16px;display:flex}.ingredient-detail__price{border-bottom:1px solid var(--color-border-subtle);flex-direction:column;gap:6px;padding:16px 0;display:flex}.price-history-section h4{color:var(--color-text-primary);margin-bottom:10px;font-size:13px;font-weight:600}.price-history-list{flex-direction:column;gap:4px;display:flex}.price-history-item{background:var(--input-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.recipes-sort{max-width:200px;margin-bottom:16px}.recipes-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=769px){.recipes-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media (width<=480px){.recipes-grid{grid-template-columns:1fr;gap:10px}}.recipe-card{flex-direction:column;gap:12px;display:flex}.recipe-card__header{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.recipe-card__name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.2px;color:var(--color-text-primary);font-size:15px;font-weight:600;overflow:hidden}.recipe-card__footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.recipe-card__price{color:var(--color-text-primary);font-size:14px;font-weight:700}.recipe-ingredients-section{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--hover-bg);padding:18px}.recipe-ingredients-section h4{color:var(--color-text-primary);margin-bottom:14px;font-size:13px;font-weight:600}.ingredient-search-box{margin-bottom:12px;position:relative}.ingredient-search-results{-webkit-backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:10;background:#18181bf2;max-height:220px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.ingredient-search-item{cursor:pointer;transition:background var(--duration-fast);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.ingredient-search-item:last-child{border-bottom:none}.ingredient-search-item:hover{color:var(--color-accent);background:#f9731614}.recipe-ingredients-list{flex-direction:column;gap:4px;display:flex}.recipe-ingredient-item{background:var(--input-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}@media (width<=480px){.recipe-ingredient-item{gap:6px;padding:10px}.recipe-ingredient-amount{width:52px;font-size:13px}.recipe-ingredient-item__cost{min-width:50px;font-size:12px}}.recipe-ingredient-item__info{flex-direction:column;flex:1;min-width:0;display:flex}.recipe-ingredient-item__name{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-primary);font-size:13px;font-weight:500;overflow:hidden}.recipe-ingredient-item__input{align-items:center;gap:4px;display:flex}.recipe-ingredient-amount{text-align:right;border:1px solid var(--color-border);background:var(--input-bg);width:64px;color:var(--color-text-primary);border-radius:var(--radius-xs);transition:all var(--duration-fast);outline:none;padding:6px 10px;font-size:13px}.recipe-ingredient-amount:focus{border-color:var(--color-accent);background:#f9731614}.recipe-ingredient-item__cost{text-align:right;min-width:60px;color:var(--color-accent);font-size:13px;font-weight:700}.recipe-ingredient-item__remove{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--duration-fast);background:0 0;border:none;padding:4px;font-size:12px}.recipe-ingredient-item__remove:hover{color:var(--color-loss);background:#ef44441a}.cost-preview{border-radius:var(--radius-md);background:linear-gradient(135deg,#f973160f,#f9731605);border:1px solid #f9731633;padding:18px;position:relative;overflow:hidden}.cost-preview:before{content:"";pointer-events:none;background:radial-gradient(circle,#f9731626,#0000 60%);width:300px;height:300px;position:absolute;top:-50%;right:-30%}.cost-preview h4{color:var(--color-text-primary);margin-bottom:14px;font-size:13px;font-weight:600;position:relative}.cost-preview__rows{flex-direction:column;gap:8px;display:flex;position:relative}.cost-preview__row{color:var(--color-text-secondary);justify-content:space-between;font-size:13px;display:flex}.cost-preview__row--total{color:var(--color-text-primary);font-size:14px;font-weight:700}.cost-preview__row--margin{padding-top:6px}.cost-preview__divider{background:var(--color-border);height:1px;margin:4px 0}.recipe-detail{flex-direction:column;gap:22px;display:flex}.recipe-detail__meta{align-items:center;gap:10px;display:flex}.recipe-detail__section{border-bottom:1px solid var(--color-border-subtle);padding-bottom:20px}.recipe-detail__section h4{color:var(--color-text-primary);letter-spacing:-.1px;margin-bottom:12px;font-size:13px;font-weight:600}.recipe-detail__ingredients{flex-direction:column;gap:4px;display:flex}.recipe-detail__ing-row{background:var(--input-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);grid-template-columns:1fr auto auto;gap:12px;padding:10px 14px;font-size:13px;display:grid}.cost-analysis{flex-direction:column;gap:8px;display:flex}.cost-analysis__row{color:var(--color-text-secondary);justify-content:space-between;font-size:13px;display:flex}.cost-analysis__row--bold{color:var(--color-text-primary);font-size:14px;font-weight:700}.cost-analysis__divider{background:var(--color-border);height:1px;margin:6px 0}.cost-analysis__margin{justify-content:space-between;align-items:center;padding-top:10px;font-size:14px;display:flex}.recipe-detail__recommended{border-radius:var(--radius-md);background:linear-gradient(135deg,#f973161a,#a855f70d);border:1px solid #f9731640;padding:18px;box-shadow:0 0 40px #f9731614}.sales-period-tabs{background:var(--input-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border);gap:4px;margin-bottom:20px;padding:4px;display:inline-flex}.sales-period-tab{font-size:13px;font-weight:500;font-family:var(--font-body);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--duration-fast);letter-spacing:-.1px;background:0 0;border:none;padding:8px 18px}.sales-period-tab:hover{color:var(--color-text-secondary)}.sales-period-tab--active{color:var(--color-accent);background:#f973161f;font-weight:600;box-shadow:0 0 12px #f9731626}.sales-summary{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;display:grid}@media (width>=640px){.sales-summary{grid-template-columns:repeat(4,1fr);gap:14px}}.sales-kpi{flex-direction:column;gap:10px;display:flex}.sales-kpi__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.sales-kpi__value{letter-spacing:-.5px;color:var(--color-text-primary);font-size:24px;font-weight:700}@media (width<=480px){.sales-kpi__value{font-size:18px}}.sales-section{margin-bottom:16px}.best-sellers{flex-direction:column;gap:4px;display:flex}.best-seller-item{border-radius:var(--radius-sm);transition:background var(--duration-fast);border:1px solid #0000;align-items:center;gap:14px;padding:12px 14px;display:flex}.best-seller-item:hover{background:var(--input-bg);border-color:var(--color-border-subtle)}.best-seller-item__rank{background:var(--color-accent-light);width:30px;height:30px;color:var(--color-accent);border-radius:var(--radius-full);border:1px solid #f973164d;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.best-seller-item__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.best-seller-item__name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.1px;font-size:14px;font-weight:600;overflow:hidden}.best-seller-item__numbers{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.sales-list{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--highlight-top);overflow:hidden}.sales-list__item{border-bottom:1px solid var(--color-border-subtle);transition:background var(--duration-fast);align-items:center;gap:12px;padding:14px 20px;display:flex}.sales-list__item:last-child{border-bottom:none}.sales-list__item:hover{background:var(--input-bg)}.sales-list__item-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sales-list__item-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.sales-list__item-numbers{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.sales-list__item-delete{color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity var(--duration-fast);border-radius:var(--radius-xs);background:0 0;border:none;padding:4px 8px;font-size:12px}.sales-list__item-delete:hover{color:var(--color-loss);background:#ef44441a}.sales-list__item:hover .sales-list__item-delete{opacity:1}.sale-preview{border-radius:var(--radius-sm);background:linear-gradient(135deg,#22c55e0f,#f973160a);border:1px solid #22c55e33;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.sale-preview__row{color:var(--color-text-secondary);justify-content:space-between;font-size:13px;display:flex}.sale-preview__row--total{color:var(--color-text-primary);font-size:15px;font-weight:700}.sale-preview__divider{background:var(--color-border);height:1px;margin:4px 0}.inventory-alert{border-radius:var(--radius-sm);color:var(--color-loss);background:#ef444414;border:1px solid #ef44444d;align-items:center;gap:10px;margin-bottom:16px;padding:14px 18px;font-size:13px;font-weight:500;display:flex;box-shadow:0 0 24px #ef44441a}.inventory-alert__icon{font-size:16px}.inventory-stock-list{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--highlight-top);overflow:hidden}.inventory-stock-item{border-bottom:1px solid var(--color-border-subtle);transition:background var(--duration-fast);align-items:center;gap:12px;padding:14px 20px;display:flex}.inventory-stock-item:last-child{border-bottom:none}.inventory-stock-item:hover{background:var(--input-bg)}.inventory-stock-item--low{background:#ef44440f}.inventory-stock-item--low:hover{background:#ef44441a}.inventory-stock-item__info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.inventory-stock-item__name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.1px;font-size:14px;font-weight:500;overflow:hidden}.inventory-stock-item__stock{align-items:baseline;gap:4px;display:flex}.inventory-history-list{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--highlight-top);overflow:hidden}.inventory-history-item{border-bottom:1px solid var(--color-border-subtle);transition:background var(--duration-fast);align-items:center;gap:12px;padding:12px 20px;display:flex}.inventory-history-item:last-child{border-bottom:none}.inventory-history-item:hover{background:var(--input-bg)}.inventory-history-item__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.inventory-history-item__name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.inventory-order-list{flex-direction:column;gap:12px;display:flex}.inventory-order-card{margin-bottom:0}.inventory-order-item{justify-content:space-between;align-items:center;gap:16px;display:flex}.inventory-order-item__info{flex-direction:column;flex:1;gap:4px;display:flex}.inventory-order-item__suggestion{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.inventory-type-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inventory-type-tab{font-size:14px;font-weight:600;font-family:var(--font-body);border:1px solid var(--color-border);background:var(--input-bg);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);text-align:center;padding:14px}.inventory-type-tab:hover{background:var(--input-bg-hover)}.inventory-type-tab--in{background:var(--color-profit-bg);color:var(--color-profit);border-color:#22c55e66;box-shadow:0 0 20px #22c55e26}.inventory-type-tab--out{background:var(--color-loss-bg);color:var(--color-loss);border-color:#ef444466;box-shadow:0 0 20px #ef444426}@media (width<=480px){.inventory-stock-item{flex-wrap:wrap;padding:12px 14px}.inventory-order-item{flex-direction:column;align-items:flex-start}.inventory-order-item__suggestion{align-items:flex-start}}.sim-section{margin-top:20px}.sim-recipe-info h3{letter-spacing:-.4px;color:var(--color-text-primary);margin-bottom:18px;font-size:20px;font-weight:700}.sim-recipe-stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.sim-recipe-stats>div{background:var(--input-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:14px 16px;display:flex}@media (width<=480px){.sim-recipe-stats{grid-template-columns:1fr;gap:12px}}.sim-price-table{flex-direction:column;gap:4px;display:flex}.sim-price-row{border-radius:var(--radius-sm);background:var(--input-bg);border:1px solid var(--color-border-subtle);transition:all var(--duration-fast);align-items:center;gap:16px;padding:14px 16px;display:flex}.sim-price-row:hover{background:var(--input-bg-hover)}.sim-price-row--achieved{background:var(--color-profit-bg);border-color:#22c55e4d;box-shadow:0 0 16px #22c55e1a}.sim-price-row__margin{width:48px;color:var(--color-text-secondary);font-size:14px;font-weight:700}.sim-price-row__price{color:var(--color-text-primary);flex:1;font-size:16px;font-weight:700}.sim-price-row__profit{font-size:13px;font-weight:600}.sim-compare-list{flex-direction:column;gap:10px;display:flex}.sim-compare-item{margin-bottom:0}.sim-compare-row{align-items:center;gap:14px;display:flex}.sim-compare-rank{background:var(--color-accent-light);width:32px;height:32px;color:var(--color-accent);border-radius:var(--radius-full);border:1px solid #f973164d;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.sim-compare-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.sim-compare-numbers{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.whatif-add{align-items:flex-end;gap:8px;display:flex}.whatif-add>:first-child{flex:1}.whatif-add>:nth-child(2){width:90px}@media (width<=480px){.whatif-add{flex-wrap:wrap}.whatif-add>:first-child{flex:100%}.whatif-add>:nth-child(2){flex:1}}.whatif-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.whatif-tag{background:var(--input-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-full);align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:500;display:flex}.whatif-tag button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:11px}.whatif-tag button:hover{color:var(--color-loss)}.whatif-results{flex-direction:column;gap:6px;display:flex}.whatif-result-item{border-radius:var(--radius-sm);background:var(--input-bg);border:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.whatif-result-item__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.whatif-result-item__impact{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}@media (width<=480px){.whatif-result-item{flex-direction:column;align-items:flex-start}.whatif-result-item__impact{align-items:flex-start}}.settings-section{margin-bottom:14px}.settings-section__title{color:var(--color-text-primary);letter-spacing:-.2px;align-items:center;gap:10px;margin-bottom:18px;font-size:14px;font-weight:700;display:flex}.settings-section__title:before{content:"";background:linear-gradient(180deg, #fb923c, var(--color-accent));border-radius:2px;width:3px;height:14px;box-shadow:0 0 6px #f9731666}.settings-plan-link{justify-content:space-between;align-items:center;display:flex}.settings-plan-link__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:10px;font-weight:600;display:block}.settings-plan-link__value{align-items:center;gap:10px;display:flex}.settings-plan-link__arrow{color:var(--color-text-muted);font-size:24px;font-weight:300}.slider-group{flex-direction:column;gap:10px;display:flex}.account-info{flex-direction:column;gap:8px;display:flex}.account-actions{gap:8px;margin-top:16px;display:flex}.settings-danger{background:#ef444408!important;border-color:#ef444433!important}.settings-danger .settings-section__title:before{background:var(--color-loss);box-shadow:0 0 6px #ef444480}.settings-danger__desc{color:var(--color-text-secondary);margin-bottom:16px;font-size:13px;line-height:1.7}.delete-modal{flex-direction:column;gap:18px;display:flex}.delete-modal__warning{border-radius:var(--radius-sm);background:#ef44441a;border:1px solid #ef44444d;align-items:center;gap:12px;padding:14px 18px;display:flex}.delete-modal__icon{font-size:22px}.delete-modal__warning p{color:var(--color-loss);font-size:15px;font-weight:700}.delete-modal__effects{color:var(--color-text-secondary);font-size:13px;line-height:1.7}.delete-modal__effects ul{margin:8px 0;padding-left:20px}.delete-modal__effects li{margin-bottom:4px}.delete-modal__pro-warn{background:var(--color-warning-bg);border-radius:var(--radius-xs);color:var(--color-warning);border:1px solid #f59e0b4d;margin-top:14px;padding:12px 16px;font-size:13px;font-weight:500}.delete-modal__confirm{flex-direction:column;gap:8px;display:flex}.delete-modal__confirm p{color:var(--color-text-secondary);font-size:13px}.settings-legal{justify-content:center;align-items:center;gap:8px;margin-top:24px;font-size:12px;display:flex}.settings-legal a{color:var(--color-text-muted);transition:color var(--duration-fast);padding:2px 4px;text-decoration:none}.settings-legal a:hover{color:var(--color-accent)}.settings-legal__dot{color:var(--color-border-strong)}.settings-business-info{text-align:center;margin-top:12px;padding-bottom:20px}.settings-business-info p{color:var(--color-text-muted);font-size:11px;line-height:1.7}.sub-section{margin-bottom:14px}.sub-section__title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.3px;align-items:center;gap:10px;margin-bottom:18px;font-size:15px;font-weight:700;display:flex}.sub-section__title:before{content:"";background:linear-gradient(180deg, #fb923c, var(--color-accent));border-radius:2px;width:3px;height:14px;box-shadow:0 0 6px #f9731666}.sub-current{justify-content:space-between;align-items:center;display:flex}.sub-current__info{flex-direction:column;gap:10px;display:flex}.sub-current__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.sub-current__plan{align-items:center;gap:10px;display:flex}.sub-current__status{color:var(--color-profit);font-size:13px;font-weight:600}.sub-usage-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=480px){.sub-usage-grid{grid-template-columns:1fr;gap:14px}}.sub-usage-item{flex-direction:column;gap:8px;display:flex}.sub-usage-item__header{justify-content:space-between;align-items:center;display:flex}.sub-usage-item__label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.sub-usage-item__count{color:var(--color-text-primary);font-size:14px;font-weight:700}.sub-usage-bar{background:var(--input-bg-hover);border-radius:3px;height:5px;overflow:hidden}.sub-usage-bar__fill{height:100%;transition:width .5s var(--ease-out);border-radius:3px;box-shadow:0 0 8px}.sub-compare__table{border-collapse:collapse;width:100%;font-size:13px}.sub-compare__table th,.sub-compare__table td{text-align:center;border-bottom:1px solid var(--color-border-subtle);padding:14px}.sub-compare__table th:first-child,.sub-compare__table td:first-child{text-align:left;color:var(--color-text-secondary);font-weight:500}.sub-compare__table thead th{color:var(--color-text-muted);vertical-align:bottom;text-transform:uppercase;letter-spacing:.5px;padding-bottom:14px;font-size:13px;font-weight:700}.sub-compare__current{background:var(--input-bg);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.sub-compare__pro{color:var(--color-accent)!important}.sub-compare__price{color:var(--color-text-muted);text-transform:none;letter-spacing:0;margin-top:2px;font-size:11px;font-weight:500;display:block}.sub-compare__pro-cell{color:var(--color-accent);font-weight:700}.sub-compare__table tbody tr:last-child td{border-bottom:none}@media (width<=480px){.sub-compare__table th,.sub-compare__table td{padding:10px 8px;font-size:12px}}.sub-cancel-card{background:#ef444408!important;border-color:#ef444433!important}.sub-cancel-card .sub-section__title:before{background:var(--color-loss);box-shadow:0 0 6px #ef444480}.sub-links{color:var(--color-text-muted);justify-content:center;align-items:center;gap:10px;margin-top:24px;font-size:12px;display:flex}.sub-links a{color:var(--color-text-muted);transition:color var(--duration-fast);text-decoration:none}.sub-links a:hover{color:var(--color-accent)}.admin-kpi-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=640px){.admin-kpi-grid{grid-template-columns:repeat(4,1fr)}}.admin-kpi{flex-direction:column;gap:10px;display:flex}.admin-kpi__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.admin-kpi__value{letter-spacing:-.6px;color:var(--color-text-primary);font-size:26px;font-weight:700}@media (width<=480px){.admin-kpi__value{font-size:22px}}.admin-section{margin-top:14px}.admin-section__title{letter-spacing:-.2px;color:var(--color-text-primary);align-items:center;gap:10px;margin-bottom:16px;font-size:14px;font-weight:700;display:flex}.admin-section__title:before{content:"";background:linear-gradient(180deg, #fb923c, var(--color-accent));border-radius:2px;width:3px;height:14px;box-shadow:0 0 6px #f9731666}.admin-activity{flex-direction:column;gap:2px;display:flex}.admin-activity__item{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.admin-activity__item:last-child{border-bottom:none}.admin-user-list{flex-direction:column;display:flex}.admin-user-row{border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background var(--duration-fast);border-radius:var(--radius-xs);align-items:center;gap:12px;padding:12px 8px;display:flex}.admin-user-row:hover{background:var(--input-bg)}.admin-user-row:last-child{border-bottom:none}.admin-user-row__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-user-row__name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.1px;font-size:14px;font-weight:600;overflow:hidden}.admin-search{margin-bottom:12px}.admin-user-count{color:var(--color-text-muted);margin-bottom:12px;font-size:13px;font-weight:500}.admin-user-list-full{flex-direction:column;gap:8px;display:flex}.admin-user-card{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast);box-shadow:var(--highlight-top);padding:16px 20px}.admin-user-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md), var(--highlight-top);transform:translateY(-1px)}.admin-user-card__main{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.admin-user-card__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-user-card__name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.2px;font-size:15px;font-weight:600;overflow:hidden}.admin-user-card__email{color:var(--color-text-muted);font-size:12px}.admin-user-card__meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.admin-user-card__counts{gap:16px;display:flex}.admin-user-card__count{color:var(--color-text-muted);font-size:12px}.admin-user-card__count strong{color:var(--color-text-secondary)}.admin-user-detail{flex-direction:column;gap:22px;display:flex}.admin-user-detail__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-user-detail__header h3{font-family:var(--font-display);letter-spacing:-.3px;font-size:18px;font-weight:700}.admin-detail-grid{flex-direction:column;gap:4px;display:flex}.admin-detail-row{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;display:flex}.admin-detail-row:last-child{border-bottom:none}.admin-detail-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.admin-user-stats h4{margin-bottom:12px;font-size:13px;font-weight:600}.admin-stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.admin-stat-item{background:var(--input-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:6px;padding:14px 8px;display:flex}.admin-stat-item__value{color:var(--color-text-primary);letter-spacing:-.3px;font-size:22px;font-weight:700}.admin-stat-item__label{color:var(--color-text-muted);font-size:11px;font-weight:500}.admin-plan-change h4{margin-bottom:10px;font-size:13px;font-weight:600}.admin-plan-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-plan-btn{font-size:14px;font-weight:600;font-family:var(--font-body);border:1px solid var(--color-border);background:var(--input-bg);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast);text-align:center;padding:14px}.admin-plan-btn:hover{border-color:var(--color-border-strong);background:var(--input-bg-hover)}.admin-plan-btn--active{background:var(--color-accent-light);color:var(--color-accent);border-color:#f9731666}.admin-plan-btn--pro.admin-plan-btn--active{background:linear-gradient(180deg, #fb923c, var(--color-accent));color:#fff;border-color:var(--color-accent);box-shadow:0 0 24px #f973164d}.admin-detail-id{border-top:1px solid var(--color-border-subtle);flex-direction:column;gap:6px;padding-top:12px;display:flex}@media (width<=480px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-user-card__counts{flex-wrap:wrap;gap:8px}}.legal-page{min-height:100vh;padding:0 20px 60px;position:relative}.legal-container{max-width:800px;margin:0 auto}.legal-content{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);box-shadow:var(--highlight-top), var(--shadow-sm);padding:36px 32px;line-height:1.8}@media (width<=640px){.legal-page{padding:0 12px 40px}.legal-content{border-radius:var(--radius-md);padding:24px 18px;font-size:13px;line-height:1.7}.legal-content h2{margin-top:24px;font-size:15px}.legal-content p,.legal-content ul,.legal-content li{font-size:13px}.legal-table{-webkit-overflow-scrolling:touch;font-size:12px;display:block;overflow-x:auto}.legal-table th,.legal-table td{white-space:nowrap;padding:8px 10px}.legal-business-info{padding:16px}}.legal-updated{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);letter-spacing:.3px;margin-bottom:24px;padding-bottom:16px;font-size:12px}.legal-content h2{font-family:var(--font-display);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);letter-spacing:-.3px;margin-top:36px;margin-bottom:14px;padding-bottom:8px;font-size:17px;font-weight:700}.legal-content h3{color:var(--color-text-primary);margin-top:18px;margin-bottom:10px;font-size:14px;font-weight:600}.legal-content p{color:var(--color-text-secondary);margin-bottom:12px;font-size:14px}.legal-content ul{color:var(--color-text-secondary);margin-bottom:14px;padding-left:22px;font-size:14px}.legal-content ul ul{margin-top:6px;margin-bottom:6px}.legal-content li{margin-bottom:6px}.legal-content strong{color:var(--color-text-primary)}.legal-content a{color:var(--color-accent);transition:color var(--duration-fast);text-decoration:none}.legal-content a:hover{color:var(--color-accent-hover);text-decoration:underline}.legal-table{border-collapse:collapse;border-radius:var(--radius-sm);background:#ffffff05;width:100%;margin:14px 0 18px;font-size:13px;overflow:hidden}.legal-table th,.legal-table td{text-align:left;border:1px solid var(--color-border-subtle);padding:12px 16px}.legal-table th{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;background:#ffffff0a;font-size:11px;font-weight:600}.legal-table td{color:var(--color-text-secondary)}.legal-business-info{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff08;margin-top:36px;padding:22px}.legal-business-info h3{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600}.legal-business-info p{color:var(--color-text-secondary);margin-bottom:4px;font-size:13px}:root,:root[data-theme=dark]{--color-bg:#09090b;--color-bg-elevated:#0f0f12;--color-surface:#18181b99;--color-surface-solid:#18181b;--color-surface-2:#27272a80;--color-surface-3:#3f3f464d;--color-surface-elevated:#27272ad9;--color-border:#ffffff14;--color-border-strong:#ffffff24;--color-border-subtle:#ffffff0d;--color-border-accent:#f973164d;--color-text-primary:#fafafa;--color-text-secondary:#a1a1aa;--color-text-muted:#71717a;--color-text-faint:#52525b;--color-accent:#f97316;--color-accent-light:#f973161f;--color-accent-lighter:#f973160f;--color-accent-hover:#fb923c;--color-accent-subtle:#f973161a;--color-accent-glow:#f9731666;--color-accent-solid:#ea580c;--color-profit:#22c55e;--color-profit-bg:#22c55e1f;--color-loss:#ef4444;--color-loss-bg:#ef44441f;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1f;--color-supplier:#60a5fa;--color-supplier-bg:#60a5fa1f;--color-recipe:#c084fc;--color-recipe-bg:#c084fc1f;--color-ingredient:#34d399;--color-ingredient-bg:#34d3991f;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 6px #0000004d, 0 1px 2px #0003;--shadow-md:0 8px 24px #00000059, 0 2px 6px #0003;--shadow-lg:0 16px 48px #00000073, 0 4px 12px #00000040;--shadow-xl:0 28px 72px #0000008c, 0 8px 20px #0000004d;--shadow-modal:0 40px 100px #000000b3, 0 10px 30px #0006;--highlight-top:inset 0 1px 0 #ffffff0f;--aurora-1:#f9731626;--aurora-2:#a855f714;--aurora-3:#3b82f60f;--input-bg:#ffffff08;--input-bg-hover:#ffffff0d;--input-bg-focus:#f973160a;--hover-bg:#ffffff0a;--grid-color:#ffffff04}:root[data-theme=light]{--color-bg:#f5f5f7;--color-bg-elevated:#fff;--color-surface:#ffffff8c;--color-surface-solid:#fff;--color-surface-2:#ffffff73;--color-surface-3:#ffffff4d;--color-surface-elevated:#ffffffd1;--color-border:#00000014;--color-border-strong:#00000024;--color-border-subtle:#0000000d;--color-border-accent:#ea580c4d;--color-text-primary:#1d1d1f;--color-text-secondary:#515154;--color-text-muted:#86868b;--color-text-faint:#a9a9ad;--color-accent:#ea580c;--color-accent-light:#ea580c1a;--color-accent-lighter:#ea580c0d;--color-accent-hover:#c2410c;--color-accent-subtle:#ea580c14;--color-accent-glow:#ea580c59;--color-accent-solid:#ea580c;--color-profit:#16a34a;--color-profit-bg:#16a34a1a;--color-loss:#dc2626;--color-loss-bg:#dc262614;--color-warning:#d97706;--color-warning-bg:#d977061a;--color-supplier:#2563eb;--color-supplier-bg:#2563eb1a;--color-recipe:#9333ea;--color-recipe-bg:#9333ea1a;--color-ingredient:#059669;--color-ingredient-bg:#0596691a;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 8px #0000000d, 0 1px 2px #00000008;--shadow-md:0 8px 24px #0000000f, 0 2px 6px #00000008;--shadow-lg:0 16px 48px #00000014, 0 4px 12px #0000000a;--shadow-xl:0 24px 64px #0000001a, 0 8px 20px #0000000d;--shadow-modal:0 32px 80px #00000024, 0 10px 30px #00000014;--highlight-top:inset 0 1px 0 #ffffffb3;--aurora-1:#f9731647;--aurora-2:#ec489938;--aurora-3:#3b82f62e;--input-bg:#fff9;--input-bg-hover:#fffc;--input-bg-focus:#ea580c0d;--hover-bg:#00000008;--grid-color:#00000005}:root{--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--glass-blur:blur(16px) saturate(180%);--glass-blur-heavy:blur(28px) saturate(200%);--glow-accent:0 0 40px var(--color-accent-glow);--glow-accent-strong:0 0 60px var(--color-accent-glow);--font-display:"Noto Serif KR", "Inter", serif;--font-body:"Pretendard", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", monospace;--sidebar-width:260px;--topbar-height:64px;--bottomnav-height:72px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);font-size:16px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);-webkit-tap-highlight-color:transparent;min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden}body:before{content:"";background:radial-gradient(ellipse 80% 50% at 50% -10%, var(--aurora-1), transparent 70%), radial-gradient(ellipse 60% 40% at 80% 100%, var(--aurora-2), transparent 60%), radial-gradient(ellipse 40% 30% at 10% 60%, var(--aurora-3), transparent 50%);pointer-events:none;z-index:0;transition:opacity var(--duration-slow);position:fixed;inset:0}body:after{content:"";background-image:linear-gradient(var(--grid-color) 1px, transparent 1px), linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);pointer-events:none;z-index:0;background-size:60px 60px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(60% 50%,#000,#0000);mask-image:radial-gradient(60% 50%,#000,#0000)}#root{z-index:1;min-height:100vh;position:relative}@media (width<=768px){input,select,textarea{font-size:16px!important}}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.font-body{font-family:var(--font-body)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-profit{color:var(--color-profit)}.text-loss{color:var(--color-loss)}.text-warning{color:var(--color-warning)}.glass{background:var(--color-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);box-shadow:var(--highlight-top)}::selection{background:var(--color-accent-subtle);color:var(--color-accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}input:focus-visible,select:focus-visible,textarea:focus-visible,.input-group__input:focus-visible,.select-group__select:focus-visible{outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes toastIn{0%{opacity:0;transform:translateY(100%)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(100%)scale(.95)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes auroraFlow{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(30px,-30px)rotate(120deg)}66%{transform:translate(-20px,20px)rotate(240deg)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px var(--color-accent-glow)}50%{box-shadow:0 0 40px var(--color-accent-glow)}}
