@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-kr-korean-400-normal-BwgRZ-w5.woff2) format("woff2"),url(/assets/ibm-plex-sans-kr-korean-400-normal-CDQ9eLCs.woff) format("woff")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-kr-korean-500-normal-hlyNPvQE.woff2) format("woff2"),url(/assets/ibm-plex-sans-kr-korean-500-normal-egh6UhFi.woff) format("woff")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-kr-korean-600-normal-BmfvNLC6.woff2) format("woff2"),url(/assets/ibm-plex-sans-kr-korean-600-normal-Cuc9Pyzq.woff) format("woff")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-kr-korean-700-normal-D-mVnqlY.woff2) format("woff2"),url(/assets/ibm-plex-sans-kr-korean-700-normal-CnbdkB29.woff) format("woff")}:root{font-family:IBM Plex Sans KR,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:#191f28;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;font-size:15px;--grey-900: #191f28;--grey-800: #333d4b;--grey-700: #4e5968;--grey-600: #6b7684;--grey-500: #8b95a1;--grey-400: #b0b8c1;--grey-300: #d1d6db;--grey-200: #e5e8eb;--grey-100: #f2f4f6;--grey-50: #f9fafb;--ink: var(--grey-900);--muted: var(--grey-600);--line: var(--grey-200);--paper: var(--grey-50);--canvas: #fff;--accent: #191f28;--accent-dark: #000;--accent-soft: #eceef1;--info: #3182f6;--info-soft: #e8f3ff;--green: #078a4b;--green-soft: #e7f4ec;--red: #f04452;--red-soft: #fdebec;--warn: #c17417;--warn-soft: #fdf3e0;--shadow: 0 12px 32px rgba(2, 9, 30, .1), 0 2px 6px rgba(2, 9, 30, .06);--shadow-toast: 0 8px 24px rgba(2, 9, 30, .16)}*{box-sizing:border-box}html{min-width:0;min-height:100%;background:var(--canvas)}body{margin:0;min-width:0;min-height:100vh;overflow-x:clip}#root{min-width:0}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button,input,select,textarea{outline:none}.searchable-select{position:relative;min-width:0;width:100%}.searchable-select-trigger{display:flex;align-items:center;width:100%;height:100%;min-height:38px;min-width:0;padding:0 30px 0 12px;overflow:hidden;border:1.5px solid var(--grey-300);border-radius:8px;background:#fff;text-align:left;transition:border-color .15s,background .15s}.searchable-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-trigger>span.placeholder{color:var(--grey-500);font-weight:400}.searchable-select-trigger>small{flex:none;margin-left:7px;overflow:hidden;color:var(--grey-500);font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.searchable-select-trigger>svg{position:absolute;right:9px;width:15px;color:var(--grey-500);transition:transform .15s}.searchable-select.open .searchable-select-trigger{border-color:var(--grey-900)}.searchable-select.open .searchable-select-trigger>svg{transform:rotate(180deg)}.searchable-select.disabled{opacity:.6}.searchable-select-popover{position:absolute;z-index:120;top:calc(100% + 5px);left:0;width:max(100%,290px);padding:6px;border:1px solid var(--grey-200);border-radius:12px;background:#fff;box-shadow:0 12px 32px #191f2829}.searchable-select-search{position:relative;display:flex;align-items:center}.searchable-select-search>svg{position:absolute;left:11px;z-index:1;width:16px;color:var(--grey-500);pointer-events:none}.searchable-select-search>input{width:100%!important;height:36px!important;padding:0 30px 0 34px!important;border:0!important;border-radius:8px!important;background:var(--grey-100)!important;box-shadow:none!important;font-size:13px!important}.searchable-select-search>button{position:absolute;right:6px;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--grey-500)}.searchable-select-options{max-height:260px;margin-top:5px;overflow-y:auto;overscroll-behavior:contain}.searchable-select-options>em{display:block;padding:9px 9px 4px;color:var(--grey-500);font-size:10.5px;font-style:normal;font-weight:700;letter-spacing:.04em}.searchable-select-options>em:not(:first-child){margin-top:4px;border-top:1px solid var(--grey-100)}.searchable-select-options>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:38px;padding:7px 9px;border:0;border-radius:7px;background:transparent;text-align:left}.searchable-select-options>button.active{background:var(--grey-100)}.searchable-select-options>button.selected{font-weight:650}.searchable-select-options>button:disabled{opacity:.38}.searchable-select-options>button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-options>button small{margin-left:7px;color:var(--grey-500);font-size:10px;font-weight:500}.searchable-select-options>button b{margin-left:8px;color:var(--ink)}.searchable-select-options>p{margin:20px 8px;color:var(--grey-600);font-size:13px;text-align:center}.searchable-select-options>p small{display:block;margin-top:3px;color:var(--grey-500);font-size:11px}button:focus-visible{box-shadow:0 0 0 3px #191f2838}input,select,textarea{background:#fff;border:1.5px solid var(--grey-300);border-radius:8px;transition:border-color .15s,background .15s}input:focus-visible,select:focus-visible,textarea:focus-visible{background:#fff;border-color:var(--grey-900)!important;box-shadow:none}input::placeholder,textarea::placeholder{color:var(--grey-400)}.app{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:100vh}.app.nav-collapsed{grid-template-columns:62px minmax(0,1fr)}.side-nav{position:sticky;z-index:30;top:0;display:flex;flex-direction:column;gap:22px;height:100vh;padding:18px 12px 14px;background:var(--grey-100)}.brand{display:flex;align-items:center;width:100%;padding:6px 8px;border:0;background:transparent;text-align:left}.brand strong{color:var(--ink);font-size:19px;font-weight:900;line-height:1;letter-spacing:-.02em}.side-nav nav{display:grid;gap:2px}.side-nav nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 10px;border:0;border-radius:8px;color:var(--grey-600);background:transparent;font-size:13.5px;font-weight:600;letter-spacing:-.005em;text-align:left;transition:color .15s,background .15s,transform .12s}.side-nav nav button:hover:not(:disabled){color:var(--ink);background:var(--grey-200)}.side-nav nav button.active{color:#fff;background:var(--grey-900)}.side-nav nav button>span{display:grid;flex-shrink:0;place-items:center;width:18px;height:18px}.side-nav nav button>span svg{width:17px;height:17px}.side-nav nav button>em{overflow:hidden;font-style:normal;white-space:nowrap}.side-nav nav button:disabled{opacity:.3}.side-nav-foot{display:grid;gap:8px;margin-top:auto;padding:0 2px}.nav-collapse{display:grid;place-items:center;width:28px;height:28px;margin-left:5px;padding:0;border:0;border-radius:7px;color:var(--grey-500);background:var(--grey-200);transition:transform .12s,color .15s}.nav-collapse:hover{color:var(--ink)}.nav-collapse svg{width:15px;height:15px;transition:transform .2s}.nav-collapsed .nav-collapse svg{transform:rotate(180deg)}.user-menu{display:flex;align-items:center;gap:9px;width:100%;padding:6px;border:0;border-radius:8px;color:var(--ink);background:transparent;text-align:left}.user-menu:hover{background:var(--grey-200)}.user-menu>span:last-child{display:grid;gap:1px;min-width:0}.user-menu strong{overflow:hidden;font-size:12.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.user-menu small{color:var(--grey-500);font-size:11px}.account-menu{position:relative;width:100%}.account-menu-popover{position:absolute;z-index:80;bottom:calc(100% + 8px);left:0;display:grid;gap:3px;width:220px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 40px #11182729}.account-menu-summary{display:grid;gap:2px;min-width:0;margin:-1px 2px 5px;padding:6px 7px 10px;border-bottom:1px solid var(--grey-100)}.account-menu-summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.account-menu-summary small{overflow:hidden;color:var(--grey-500);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.account-menu-popover>button{min-height:38px;padding:0 10px;border:0;border-radius:8px;color:var(--grey-700);background:transparent;font-size:13px;font-weight:600;text-align:left}.account-menu-popover>button:hover{color:var(--ink);background:var(--grey-100)}.account-menu-popover>button.danger{color:var(--red)}.account-menu-popover>button.danger:hover{background:var(--red-soft)}.server-status{display:flex;align-items:center;gap:6px;padding:0 6px;color:var(--grey-500);font-size:11px;font-weight:500;white-space:nowrap}.server-status i{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--grey-400)}.server-status.online i{background:#2bb673}.mobile-nav-toggle,.mobile-nav-backdrop{display:none}.avatar{display:grid;flex-shrink:0;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:var(--grey-900);font-size:12px;font-weight:800}.nav-collapsed .side-nav{padding:18px 10px 14px;align-items:center}.nav-collapsed .brand{justify-content:center;width:auto;padding:6px 0}.nav-collapsed .brand strong{font-size:12px;letter-spacing:0}.nav-collapsed .side-nav nav{width:100%}.nav-collapsed .side-nav nav button{justify-content:center;padding:0}.nav-collapsed .side-nav nav button>em{display:none}.nav-collapsed .side-nav-foot{justify-items:center;padding:0}.nav-collapsed .nav-collapse{margin-left:0}.nav-collapsed .server-status{padding:0}.nav-collapsed .server-status i{margin:0}.nav-collapsed .server-status{font-size:0;gap:0}.nav-collapsed .user-menu{justify-content:center;width:auto;padding:4px}.nav-collapsed .user-menu>span:last-child{display:none}.nav-collapsed .account-menu{width:auto}.app-main{min-width:0;width:100%}.app-loading{display:grid;min-height:100vh;padding:24px;place-items:center;color:var(--muted);font-size:15px}.app-loading-card{display:grid;justify-items:center;width:min(420px,100%);padding:32px 24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);text-align:center}.app-loading-card strong{margin-top:16px;color:var(--ink);font-size:17px}.app-loading-card p{max-width:320px;margin:8px 0 20px;color:var(--grey-500);font-size:13px;line-height:1.6}.app-loading-card>div{display:flex;gap:8px}.fatal-error-page{display:grid;min-height:100vh;padding:24px;place-items:center;background:var(--grey-50)}.fatal-error-page section{width:min(440px,100%);padding:32px 24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);text-align:center}.fatal-error-page section>span{display:grid;width:40px;height:40px;margin:0 auto 16px;place-items:center;border-radius:50%;color:var(--red);background:var(--red-soft);font-size:20px;font-weight:800}.fatal-error-page h1{margin:0;font-size:21px}.fatal-error-page p{margin:10px 0 22px;color:var(--grey-500);font-size:14px;line-height:1.6}.fatal-error-page section>div{display:flex;justify-content:center;gap:8px}.login-page{min-height:100vh;background:#fff}.login-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);min-height:100vh}.login-showcase{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:36px 40px;color:#fff;background-color:var(--grey-800);background-position:center;background-size:cover;isolation:isolate}.login-showcase-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#0f121970,#0f121929 42%,#0f1219a8)}.login-brand{display:flex;align-items:center}.login-brand strong{font-size:19px;font-weight:900;letter-spacing:-.02em}.login-brand-inverse strong{color:#fff}.login-showcase-copy{max-width:480px}.login-showcase-copy h2{margin:0;font-size:clamp(24px,2.3vw,32px);font-weight:700;line-height:1.35;letter-spacing:-.02em;text-wrap:balance}.login-showcase-copy p{margin:10px 0 0;color:#ffffffd1;font-size:14px;line-height:1.6}.login-page .login-card{display:flex;flex-direction:column;justify-content:center;width:auto;min-width:0;padding:40px clamp(32px,5vw,64px) 24px;border:0;border-radius:0;background:#fff}.login-card-inner{width:min(360px,100%);margin:auto}.login-heading{margin-bottom:28px}.login-page .login-card h1{margin:0;font-size:26px;font-weight:800;line-height:1.3;letter-spacing:-.03em}.login-heading p{margin:8px 0 0;color:var(--grey-500);font-size:14px;line-height:1.6}.auth-mode-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-bottom:22px;padding:4px;border-radius:10px;background:var(--grey-100)}.auth-mode-tabs button{height:34px;border:0;border-radius:7px;color:var(--grey-500);background:transparent;font-size:13px;font-weight:700}.auth-mode-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #02091e14}.login-page .login-card form{display:grid;gap:16px}.login-page .login-field{display:grid;grid-template-columns:1fr;gap:7px;color:var(--grey-700);font-size:13px;font-weight:600}.login-input-wrap{position:relative;display:flex;align-items:center}.login-page .login-input-wrap input{width:100%;height:48px;padding:0 16px;border:1.5px solid transparent;border-radius:10px;background:var(--grey-100);font-size:15px;transition:border-color .18s,background .18s}.login-input-wrap:has(.password-toggle) input{padding-right:48px}.login-page .login-input-wrap input:focus-visible{border-color:var(--grey-900)!important;background:#fff;box-shadow:none}.password-toggle{position:absolute;z-index:2;right:8px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;color:var(--grey-400);background:transparent}.password-toggle:hover{color:var(--grey-700);background:var(--grey-200)}.password-toggle svg{width:17px;height:17px}.login-page .form-error{margin:-2px 0 0;border-radius:10px}.login-page .login-card .login-submit{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:50px;margin-top:6px;border-radius:10px;font-size:15px;font-weight:700}.login-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}.login-support{margin:22px 0 0;color:var(--grey-500);font-size:13px;line-height:1.5;text-align:center}.login-support strong{color:var(--grey-700);font-weight:600}.registration-complete{display:grid;justify-items:center;padding:12px 0 4px;text-align:center}.registration-complete>span{display:grid;width:48px;height:48px;margin-bottom:16px;place-items:center;border-radius:50%;color:var(--green);background:var(--green-soft);font-size:22px;font-weight:800}.registration-complete strong{font-size:17px}.registration-complete p{margin:8px 0 22px;color:var(--grey-500);font-size:13px;line-height:1.6}.registration-complete .button{width:100%}.login-footer{display:flex;justify-content:center;width:100%;margin-top:44px;color:var(--grey-400);font-size:12px}@keyframes login-spin{to{transform:rotate(360deg)}}.button{min-height:40px;padding:0 16px;border:1px solid transparent;border-radius:12px;font-size:14px;font-weight:600;letter-spacing:-.005em;transition:background .2s,color .2s}.button.primary{color:#fff;background:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.secondary{color:var(--ink);background:var(--grey-100)}.button.secondary:hover:not(:disabled){background:var(--grey-200)}.button.ghost{color:var(--accent);background:transparent}.button.ghost:hover:not(:disabled){background:var(--accent-soft)}.button.ghost.danger-text:hover:not(:disabled){background:var(--red-soft)}.button:disabled{opacity:.3}.danger-text{color:var(--red)}.icon-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:16px}.icon-button:hover{background:var(--grey-100)}.icon-button.danger:hover{color:var(--red);background:var(--red-soft)}.page-shell{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:32px 0 64px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.page-heading h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.page-heading .button span{margin-right:4px}.page-heading-actions{display:flex;align-items:center;gap:8px}.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.toolbar select,.search-box{height:42px;border-radius:12px}.search-box{display:flex;align-items:center;gap:8px;width:min(320px,100%);padding:0 14px;background:#fff;border:1px solid var(--grey-200)}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.search-box>span{color:var(--grey-400);font-size:15px}.search-box input{width:100%;border:0;background:transparent;font-size:14px;box-shadow:none!important}.toolbar select{min-width:118px;padding:0 32px 0 14px;font-size:14px;font-weight:500;background-color:#fff;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b95a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.result-count{margin-left:auto;color:var(--muted);font-size:13px}.table-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.table-card table{width:100%;border-collapse:collapse}.table-card th{height:44px;padding:0 16px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--grey-50);font-size:13px;font-weight:600;text-align:left}.table-card td{height:54px;padding:0 16px;border-bottom:1px solid var(--grey-100);font-size:14px}.table-card tbody tr:last-child td{border-bottom:0}.table-card tbody tr:hover{background:var(--grey-50)}.table-card .number{text-align:right;font-variant-numeric:tabular-nums}.table-card td.number{color:var(--grey-800)}.table-card td.number small{margin-left:2px;color:var(--grey-500)}.name-button{display:grid;gap:3px;padding:0;border:0;background:transparent;text-align:left}.name-button strong{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:14px;font-weight:600}.name-button span{color:var(--muted);font-size:12px}.formula-badge{padding:2px 7px;border-radius:6px;color:var(--muted);background:var(--grey-100);font-size:11px;font-style:normal;font-weight:600}.formula-badge.formula-manufactured{color:var(--warn);background:var(--warn-soft)}.op-badge{display:inline-flex!important;align-items:center;margin-left:5px!important;padding:1px 7px!important;border:0;border-radius:999px;color:var(--warn)!important;background:var(--warn-soft)!important;font-size:11px!important;font-style:normal!important;font-weight:700!important;line-height:1.5}.category-badge{display:inline-flex;padding:3px 9px;border-radius:6px;color:var(--grey-700);background:var(--grey-100);font-size:12px;font-weight:500}.row-actions{width:96px;white-space:nowrap;text-align:right}.row-actions .icon-button{display:inline-grid;margin-left:2px;font-size:14px;vertical-align:middle}.allergen-summary{display:block;max-width:160px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.approval-badge{display:inline-flex;align-items:center;gap:6px;color:var(--grey-700);font-size:12px;font-weight:600;white-space:nowrap}.approval-badge:before{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--grey-400);content:""}.approval-approved:before{background:var(--green)}.approval-pending:before{background:var(--warn)}.approval-rejected:before{background:var(--red)}.approval-draft{color:var(--grey-500)}.empty-state{padding:72px 24px;color:var(--muted);text-align:center;font-size:14px}.empty-state.error{color:var(--red)}.drawer-backdrop{position:fixed;z-index:80;inset:0;display:flex;justify-content:flex-end;background:#0000008f;animation:fade-in .2s ease-out}.drawer{overflow:auto;width:min(610px,100%);height:100%;padding:28px 32px;border-radius:20px 0 0 20px;background:#fff;animation:slide-in .32s cubic-bezier(.16,1,.3,1)}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.drawer-header h2{margin:2px 0 0;font-size:20px;font-weight:700;letter-spacing:-.015em}.stacked-backdrop{z-index:90}.form-fieldset{min-width:0;margin:0;padding:0;border:0}.form-fieldset:disabled{opacity:.82}.approval-panel{padding:16px 0;border-bottom:1px solid var(--line)}.approval-summary{display:flex;align-items:center;justify-content:space-between;gap:15px}.approval-summary>div{display:flex;align-items:center;gap:9px}.approval-summary p{margin:0;color:var(--muted);font-size:13px}.approval-summary>small{color:var(--grey-500);font-size:12px;white-space:nowrap}.approval-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}.approval-controls textarea{min-height:42px;padding:10px 12px;resize:vertical}.approval-controls>div{display:flex;align-items:flex-start;gap:5px}.approval-controls .button{min-height:42px;padding:0 13px}.revision-list{display:grid;gap:0}.revision-list>div{display:grid;grid-template-columns:10px 1fr;gap:9px;min-height:45px;padding:9px 0;border-bottom:1px solid var(--grey-100)}.revision-list>div:last-child{border-bottom:0}.revision-list i{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--grey-400)}.revision-list i.revision-approved{background:var(--green)}.revision-list i.revision-rejected{background:var(--red)}.revision-list i.revision-submitted{background:var(--warn)}.revision-list span{display:grid;gap:2px}.revision-list strong{font-size:13px;font-weight:600}.revision-list small{color:var(--grey-500);font-size:12px}.revision-list p{margin:2px 0 0;color:var(--grey-700);font-size:13px}.form-section{padding:24px 0;border-bottom:1px solid var(--grey-100)}.form-section h3{margin:0 0 15px;font-size:15px;font-weight:700;letter-spacing:-.01em}.form-section-title{display:flex;align-items:center;justify-content:space-between}.form-section-title h3{margin-bottom:15px}.heading-with-help{display:inline-flex;align-items:center;gap:6px}.help-tooltip{position:relative;z-index:20;display:inline-flex;flex:0 0 auto;color:var(--ink);font-style:normal;line-height:1}.help-tooltip>button{display:grid;place-items:center;width:17px;height:17px;padding:0;border:0;border-radius:50%;color:var(--grey-600);background:var(--grey-200);font-size:10px;font-weight:800;line-height:1;cursor:help}.help-tooltip:hover>button,.help-tooltip:focus-within>button,.help-tooltip.is-open>button{color:#fff;background:var(--accent)}.help-tooltip-popover{position:fixed;z-index:1000;visibility:hidden;width:max-content;max-width:min(280px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:10px 12px;overflow:auto;border-radius:10px;color:var(--ink);background:#fff;box-shadow:var(--shadow);font-size:12px;font-weight:400;font-style:normal;line-height:1.55;text-align:left;pointer-events:none}.help-tooltip-popover[style]{visibility:visible;animation:help-tooltip-in .15s ease}@keyframes help-tooltip-in{0%{opacity:0;transform:translateY(-2px)}}.sum{padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.sum.valid{color:var(--green);background:var(--green-soft)}.sum.invalid{color:var(--red);background:var(--red-soft)}.form-grid{display:grid;gap:16px 12px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-section label,.note-panel{display:grid;gap:7px;color:var(--grey-700);font-size:13px;font-weight:600}.form-section input,.form-section select,.form-section textarea{width:100%;color:var(--ink);font-size:14px;font-weight:400}.form-section input,.form-section select{height:42px;padding:0 13px}.form-section textarea{min-height:80px;padding:12px 13px;resize:vertical}.input-with-suffix{position:relative;display:block}.input-with-suffix input{padding-right:44px;font-variant-numeric:tabular-nums}.input-with-suffix>span{position:absolute;top:50%;right:13px;color:var(--grey-500);font-size:12px;transform:translateY(-50%)}.allergen-grid{display:flex;flex-wrap:wrap;gap:7px}.check-chip{display:inline-flex!important}.check-chip input{position:absolute;width:1px;height:1px;opacity:0}.check-chip span{padding:7px 13px;border:1px solid var(--grey-200);border-radius:999px;color:var(--grey-700);background:#fff;font-size:13px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.check-chip input:checked+span{border-color:transparent;color:#fff;background:var(--grey-900)}.check-chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.nutrition-unit{color:var(--grey-500);font-size:12px;font-weight:500}.nutrition-source{margin-top:15px}.form-error{margin:18px 0 0;padding:12px 14px;border-radius:12px;color:var(--red);background:var(--red-soft);font-size:13px}.drawer-actions{position:sticky;bottom:-28px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 -32px -28px;padding:14px 32px 20px;border-top:1px solid var(--line);background:#fff}.drawer-actions .danger-text:first-child{margin-right:auto}.save-disabled-reason{align-self:center;margin:0 auto 0 0;color:var(--red);font-size:12px;line-height:1.4}.manufactured-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--grey-100)}.manufactured-entry strong{color:var(--ink);font-size:14px;font-weight:600}.manufactured-entry p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.manufactured-entry .button{flex-shrink:0;min-height:34px;padding:0 13px;border-radius:10px;font-size:13px}.ingredient-registration-section{padding-top:18px}.ingredient-registration-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ingredient-registration-switch label{position:relative;display:grid;gap:4px;min-width:0;padding:14px;border:1px solid var(--grey-200);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s,background .2s}.ingredient-registration-switch label.selected{border-color:var(--accent);background:var(--accent-soft)}.ingredient-registration-switch input{position:absolute;width:1px;height:1px;opacity:0}.ingredient-registration-switch strong{color:var(--ink);font-size:14px;font-weight:700}.ingredient-registration-switch small{color:var(--grey-500);font-size:11.5px;font-weight:400;line-height:1.5}.ingredient-registration-switch input:focus-visible+strong{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.formula-registration-notice{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;margin-top:18px;padding:14px;border:1px solid var(--grey-200);border-radius:12px;background:var(--grey-50)}.formula-registration-notice>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#fff;background:var(--grey-900);font-size:17px;font-weight:800}.formula-registration-notice strong{font-size:13px}.formula-registration-notice p{margin:4px 0 0;color:var(--grey-500);font-size:12px;line-height:1.55}.brand-drawer{width:min(720px,100%)}.brand-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;padding-top:22px}.brand-list{display:grid;align-content:start;gap:6px}.brand-list .form-section-title{margin-bottom:5px}.brand-list h3{margin:0;font-size:14px}.compact-button{min-height:30px;padding:0 11px;border-radius:999px;font-size:12px}.brand-list>button:not(.compact-button){display:grid;gap:3px;width:100%;padding:11px 13px;border:0;border-radius:12px;color:var(--grey-700);background:var(--grey-100);text-align:left;transition:background .2s}.brand-list>button.selected{color:var(--accent-dark);background:var(--accent-soft)}.brand-list strong{font-size:13px;font-weight:600}.brand-list small{overflow:hidden;color:var(--grey-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.brand-empty{margin:12px 0;color:var(--muted);font-size:12px;text-align:center}.brand-form .form-section{display:grid;gap:15px;padding-top:0}.brand-form .form-section h3{margin-bottom:2px}.brand-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px}.brand-form-actions .danger-text{margin-right:auto}.formula-drawer{width:min(820px,100%)}.formula-kind-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.formula-kind-switch label{position:relative;display:grid;gap:4px;padding:14px 16px;border:1px solid var(--grey-200);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s,background .2s}.formula-kind-switch label.selected{border-color:var(--accent);background:var(--accent-soft)}.formula-kind-switch input{position:absolute;width:1px;height:1px;opacity:0}.formula-kind-switch strong{color:var(--ink);font-size:14px;font-weight:600}.formula-kind-switch small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.formula-op-toggle{display:grid!important;grid-template-columns:auto auto 1fr;align-items:center;gap:8px!important;margin-top:10px;padding:11px 14px;border:1px solid var(--grey-200);border-radius:12px;background:var(--grey-50);cursor:pointer}.formula-op-toggle.selected{border-color:transparent;background:var(--warn-soft)}.formula-op-toggle input{position:absolute;width:1px!important;height:1px!important;opacity:0}.formula-op-toggle strong{color:var(--ink);font-size:13px;font-weight:600}.formula-op-toggle small{color:var(--muted);font-size:12px}.formula-lines{display:grid;gap:8px}.formula-line{display:grid;grid-template-columns:minmax(0,1fr) 130px 32px;gap:8px;align-items:center}.formula-line select,.formula-line input{width:100%;height:42px;padding:0 12px;font-size:14px}.formula-line .searchable-select-trigger{min-height:42px;font-size:14px}.formula-line .input-with-suffix input{padding-right:28px;text-align:right}.formula-add-line{width:100%;margin:10px 0 0}.formula-empty{margin:12px 0 0;color:var(--muted);font-size:12px;text-align:center}.formula-yield-grid input[readonly]{color:var(--grey-500);background:var(--grey-100)}.formula-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:22px 0}.formula-summary>div{display:grid;gap:5px;padding:13px 12px;border-radius:12px;background:var(--grey-50)}.formula-summary span{color:var(--muted);font-size:12px;font-weight:500}.formula-summary strong{color:var(--ink);font-size:16px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}@keyframes fade-in{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(40px);opacity:.6}}.recipe-page{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.recipe-sidebar{position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--line);background:#fff}.sidebar-title{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 12px}.sidebar-title h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em}.square-add{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:10px;color:#fff;background:var(--accent);font-size:16px;transition:background .2s}.square-add:hover{background:var(--accent-dark)}.sidebar-actions{display:flex;gap:5px}.square-import{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:10px;color:var(--grey-600);background:var(--grey-100);font-size:14px;transition:background .2s,color .2s}.square-import:hover{color:var(--accent-dark);background:var(--accent-soft)}.square-ai-capture{color:var(--grey-600)}.recipe-search{position:relative;display:flex;align-items:center;height:36px;margin:0 10px 9px;border:1.5px solid var(--grey-300);border-radius:8px;background:#fff;transition:border-color .15s}.recipe-search:focus-within{border-color:var(--grey-900)}.recipe-search>svg{position:absolute;left:10px;width:15px;color:var(--grey-500);pointer-events:none}.recipe-search>input{width:100%;height:100%;padding:0 32px 0 31px;border:0;background:transparent;font-size:12.5px;box-shadow:none!important}.recipe-search>button{position:absolute;right:5px;display:grid;place-items:center;width:25px;height:25px;padding:0;border:0;border-radius:6px;color:var(--grey-500);background:transparent;font-size:17px;line-height:1}.recipe-search>button:hover{color:var(--ink);background:var(--grey-100)}.recipe-list{padding:0 10px 20px}.recipe-list-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:58px;margin-bottom:3px;padding:9px 11px;border:0;border-radius:12px;color:var(--grey-700);background:transparent;text-align:left;transition:background .15s}.recipe-list-item:hover{background:var(--grey-50)}.recipe-list-item.selected{color:var(--ink);background:var(--grey-100)}.recipe-list-item>span:nth-child(2){display:grid;gap:3px;min-width:0}.recipe-list-item strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.recipe-list-item small{color:var(--muted);font-size:12px}.recipe-list-item b{color:var(--grey-500);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--grey-400)}.status-dot.status-active{background:var(--green)}.status-dot.status-archived{background:var(--grey-500)}.sidebar-empty{padding:32px 12px;color:var(--muted);font-size:13px;line-height:1.6;text-align:center}.muted{color:var(--muted);font-size:13px;text-align:center}.recipe-workspace{min-width:0;background:var(--canvas)}.version-bar{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:6px 28px;border-bottom:1px solid var(--line);color:var(--muted);background:var(--grey-50);font-size:13px}.version-bar strong{color:var(--ink);font-weight:600}.version-bar>div{display:flex;gap:4px}.version-bar button{min-width:32px;height:28px;padding:0 9px;border:0;border-radius:999px;color:var(--grey-600);background:var(--grey-100);font-size:12px;font-weight:600;transition:background .2s,color .2s}.version-bar button.active{color:#fff;background:var(--accent)}.recipe-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;padding:16px 28px;border-bottom:1px solid var(--line);background:#fff}.recipe-title-fields{display:flex;align-items:center;gap:16px;min-width:0}.recipe-title-inputs{display:grid;min-width:210px;max-width:370px}.recipe-name{min-width:200px;max-width:370px;padding:2px 0;border:0;border-radius:0;background:transparent;font-size:20px;font-weight:700;letter-spacing:-.02em;box-shadow:none!important;border-bottom:2px solid transparent}.recipe-name:hover,.recipe-name:focus{border-bottom-color:var(--grey-200);background:transparent}.recipe-name:focus{border-bottom-color:var(--accent)}.recipe-subtitle{min-width:200px;padding:2px 0 3px;border:0;border-radius:0;color:var(--muted);background:transparent;font-size:13px;box-shadow:none!important;border-bottom:2px solid transparent}.recipe-subtitle:hover,.recipe-subtitle:focus{border-bottom-color:var(--grey-200);color:var(--ink);background:transparent}.recipe-subtitle:focus{border-bottom-color:var(--accent)}.recipe-list-item em{display:block;overflow:hidden;margin-top:1px;color:var(--grey-500);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.inline-fields{display:flex;gap:6px}.inline-fields select{height:38px;padding:0 30px 0 12px;border-radius:10px;color:var(--ink);background-color:var(--grey-100);border-color:transparent;font-size:13px;font-weight:600;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b95a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.inline-fields .target-selector{width:230px;max-width:34vw}.inline-fields .target-selector .searchable-select-trigger{min-height:38px;border-color:transparent;border-radius:10px;background:var(--grey-100);font-size:13px;font-weight:600}.profile-manage{width:38px;height:38px;padding:0;border:0;border-radius:10px;color:var(--grey-600);background:var(--grey-100);font-size:13px}.profile-manage:hover{color:var(--accent-dark);background:var(--accent-soft)}.op-toggle{display:grid;place-items:center;width:42px;height:38px;border:0;border-radius:10px;color:var(--grey-600);background:var(--grey-100);cursor:pointer;transition:background .2s,color .2s}.op-toggle.selected{color:var(--warn);background:var(--warn-soft)}.op-toggle input{position:absolute;width:1px;height:1px;opacity:0}.op-toggle span{font-size:11px;font-weight:700}.topbar-actions{display:flex;justify-content:flex-end;gap:7px;flex:0 1 auto;flex-wrap:wrap}.workspace-grid{display:grid;grid-template-columns:minmax(500px,1.36fr) minmax(350px,.82fr);gap:16px;padding:20px 24px 56px}.panel{overflow:hidden;border-radius:20px;background:var(--paper)}.panel-heading{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:14px 20px;border-bottom:1px solid var(--grey-100)}.panel-heading h2{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.panel-heading.compact{min-height:54px}.scale-control{display:flex;align-items:center;height:36px;overflow:hidden;border-radius:10px;color:var(--muted);background:var(--grey-100);font-size:13px}.scale-control>span{padding-left:12px;white-space:nowrap;font-weight:500}.scale-control input{width:70px;height:100%;padding:0 3px 0 10px;border:0;border-radius:0;background:transparent;font-size:14px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;box-shadow:none!important}.scale-control b{padding-right:9px;font-size:12px;font-weight:500}.scale-control button{align-self:stretch;padding:0 12px;border:0;color:var(--accent);background:transparent;font-size:13px;font-weight:600}.scale-control button:hover{background:var(--accent-soft)}.rescale-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.rescale-controls select,.rescale-controls button,.scale-target{height:36px;border:0;border-radius:10px;background:var(--grey-100);font-size:13px;font-weight:500}.rescale-controls select{max-width:140px;padding:0 28px 0 10px;color:var(--ink);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238b95a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.scale-target{display:flex;align-items:center;overflow:hidden}.scale-target input{width:66px;height:100%;padding:0 4px 0 10px;border:0;border-radius:0;background:transparent;font-size:14px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;box-shadow:none!important}.scale-target b{padding-right:9px;color:var(--grey-500);font-size:12px;font-weight:500}.rescale-controls button{padding:0 12px;color:var(--accent);font-weight:600}.rescale-controls button:hover:not(:disabled){background:var(--accent-soft)}.rescale-controls button.quantize{color:var(--grey-700)}.batch-table-head{display:grid;grid-template-columns:minmax(150px,1fr) 100px 74px 102px;gap:9px;padding:10px 20px 8px;color:var(--muted);background:var(--grey-50);font-size:12px;font-weight:600}.batch-lines{min-height:190px}.batch-line{display:grid;grid-template-columns:minmax(130px,1fr) 100px 74px 102px;align-items:center;gap:7px 9px;min-height:66px;padding:9px 19px;border-bottom:1px solid var(--grey-100)}.batch-line.profile-excluded{background:var(--grey-50)}.batch-line.total-excluded{background:var(--grey-100)}.batch-line select,.batch-line input{width:100%;height:38px;border-radius:10px;font-size:14px}.batch-line .searchable-select-trigger{min-height:38px;border-radius:10px;font-size:14px;font-weight:500}.batch-ingredient-cell{min-width:0}.line-metrics{display:flex;align-items:baseline;gap:3px 9px;flex-wrap:wrap;margin-top:6px;padding:0 2px;color:var(--grey-500);font-size:10.5px;line-height:1.35;font-variant-numeric:tabular-nums}.line-metrics span{white-space:nowrap}.line-metrics b{color:var(--grey-700);font-weight:650}.line-metrics .line-cost-total,.line-metrics .line-cost-total b{color:var(--ink)}.batch-line select{padding:0 26px 0 10px;font-weight:500;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238b95a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.batch-line input{padding:0 10px;font-variant-numeric:tabular-nums;text-align:right}.ratio{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.line-actions{display:flex;justify-content:flex-end}.line-actions button{width:28px;height:28px;padding:0;border:0;border-radius:8px;color:var(--grey-500);background:transparent;font-size:11px}.line-actions button:hover:not(:disabled){color:var(--ink);background:var(--grey-100)}.line-actions button:disabled{opacity:.25}.line-actions button.remove{margin-left:3px;color:var(--grey-500);font-size:15px}.line-actions button.remove:hover{color:var(--red);background:var(--red-soft)}.line-options{grid-column:1 / -1;display:flex;align-items:center;gap:6px;min-width:0}.line-options label{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:0;border-radius:999px;color:var(--muted);background:var(--grey-100);font-size:11px;font-weight:500;cursor:pointer;transition:background .2s,color .2s,opacity .2s}.batch-line .line-options label:not(:has(input:checked)){opacity:.45}.batch-line:hover .line-options label,.batch-line:focus-within .line-options label{opacity:1}.line-options label:has(input:checked){color:var(--accent-dark);background:var(--accent-soft)}.line-options label:has(input:disabled){opacity:.42;cursor:default}.line-options input{width:12px;height:12px;margin:0;accent-color:var(--accent)}.line-options small{margin-left:auto;color:var(--grey-500);font-size:11px}.add-line{width:calc(100% - 38px);height:42px;margin:13px 19px;border:0;border-radius:12px;color:var(--accent);background:var(--accent-soft);font-size:14px;font-weight:600;transition:background .2s}.add-line:hover:not(:disabled){background:#dcebfd}.add-line:disabled{opacity:.3}.batch-empty{display:grid;place-items:center;min-height:190px;color:var(--muted);font-size:14px}.batch-total{display:flex;align-items:baseline;justify-content:space-between;padding:18px 20px;border-top:1px solid var(--grey-100)}.batch-total span{color:var(--grey-700);font-size:14px;font-weight:600}.batch-total span small{display:block;margin-top:3px;color:var(--grey-500);font-size:12px;font-weight:400}.batch-total strong{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.batch-total small{color:var(--muted);font-size:13px}.analysis-column{display:grid;align-content:start;gap:14px}.profile-chip{padding:4px 10px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:12px;font-weight:600}.profile-chip.recipe-reference{max-width:185px;overflow:hidden;color:var(--accent-dark);background:var(--accent-soft);text-overflow:ellipsis;white-space:nowrap}.analysis-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.ai-rebalance-button{height:30px;padding:0 11px;border:0;border-radius:999px;color:var(--accent-dark);background:var(--accent-soft);font-size:12px;font-weight:600}.ai-rebalance-button:hover:not(:disabled){background:#dcebfd}.ai-rebalance-button:disabled{opacity:.3}.metric-bars{display:grid;padding:4px 0}.metric-row{display:grid;grid-template-columns:56px minmax(0,1fr) 78px 96px;align-items:center;gap:12px;min-height:33px;padding:0 16px;border-bottom:1px solid var(--grey-200);font-size:12px}.metric-row:last-child{border-bottom:0}.metric-name{color:var(--grey-700);font-weight:600}.metric-track{position:relative;height:6px;border-radius:3px;background:var(--grey-200)}.metric-track.empty{background:var(--grey-100)}.metric-track .range{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--grey-400)}.metric-track .val{position:absolute;top:-3px;width:12px;height:12px;margin-left:-6px;border:2.5px solid #fff;border-radius:50%;background:var(--grey-900);box-shadow:0 1px 3px #02091e4d}.metric-track .val.off{background:var(--warn)}.metric-row>b{font-size:14px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.metric-row>b small{margin-left:1px;color:var(--grey-500);font-size:10px;font-weight:600}.metric-row.warning>b{color:var(--warn)}.metric-row>em{overflow:hidden;color:var(--grey-500);font-size:11px;font-style:normal;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.scoopability-card{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 12px;padding:14px 16px;border-top:1px solid var(--grey-100);color:var(--green);background:var(--green-soft)}.scoopability-card>span{font-size:12px;font-weight:600;opacity:.75}.scoopability-card>strong{font-size:16px;font-weight:700}.scoopability-card p{grid-column:1 / -1;margin:2px 0 0;font-size:13px;line-height:1.5}.scoopability-card small{grid-column:1 / -1;font-size:11px;line-height:1.5;opacity:.7}.scoopability-card.scoop-very_hard,.scoopability-card.scoop-firm{color:#3f5aa9;background:#edf1fb}.scoopability-card.scoop-soft{color:var(--warn);background:var(--warn-soft)}.scoopability-card.scoop-very_soft{color:var(--red);background:var(--red-soft)}.manufacturing-panel{padding-bottom:14px}.calibration-thresholds{margin:0 20px 13px;padding:10px 13px;border:0;border-radius:12px;color:var(--grey-700);background:var(--grey-50);font-size:12px}.calibration-thresholds summary{cursor:pointer;font-weight:600}.calibration-thresholds p{margin:8px 0 4px;line-height:1.5}.calibration-thresholds small{color:var(--grey-500);font-size:11px;line-height:1.5}.manufacturing-entry{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 20px 12px}.manufacturing-entry label{position:relative;display:grid;gap:5px;color:var(--grey-700);font-size:12px;font-weight:600}.manufacturing-entry input,.manufacturing-entry select{width:100%;height:38px;padding:0 10px;border-radius:10px;font-size:13px}.manufacturing-entry label>span:not(.fl){position:absolute;right:10px;bottom:9px;color:var(--grey-500);font-size:11px}.manufacturing-entry label:has(>span:not(.fl)) input{padding-right:24px;text-align:right}.manufacturing-entry .manufacturing-note{grid-column:span 3}.manufacturing-entry .button{align-self:end;min-height:38px;height:38px;border-radius:10px}.manufacturing-results{display:grid;margin:0 20px;border-top:1px solid var(--grey-100)}.manufacturing-results>div{display:grid;grid-template-columns:8px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--grey-100)}.manufacturing-results p{display:grid;gap:2px;margin:0}.manufacturing-results strong{color:var(--ink);font-size:13px;font-weight:600}.manufacturing-results small,.manufacturing-results em,.manufacturing-results time{color:var(--grey-500);font-size:11px;font-style:normal}.scoop-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.scoop-dot.scoop-very_hard,.scoop-dot.scoop-firm{background:#3f5aa9}.scoop-dot.scoop-soft{background:var(--warn)}.scoop-dot.scoop-very_soft{background:var(--red)}.analysis-hint{margin:0;padding:12px 20px;border-top:1px solid var(--grey-100);color:var(--muted);background:var(--grey-50);font-size:12px;line-height:1.5}.analysis-hint.error{color:var(--red);background:var(--red-soft)}.cost-panel{position:relative;overflow:visible}.cost-table-head,.cost-row{display:grid;grid-template-columns:minmax(110px,1.3fr) minmax(90px,1fr) minmax(70px,.7fr);align-items:center;column-gap:12px;padding:0 20px}.cost-table-head{min-height:36px;border-bottom:1px solid var(--grey-100);color:var(--muted);background:var(--grey-50);font-size:12px;font-weight:600}.cost-table-head>span{display:flex;align-items:center;gap:5px}.cost-table-head>span:not(:first-child),.cost-row>span,.cost-row>em{justify-content:flex-end;text-align:right}.cost-row{min-height:44px;border-bottom:1px solid var(--grey-100);font-size:13px;font-variant-numeric:tabular-nums}.cost-row:last-child{border-bottom:0}.cost-row>strong{color:var(--ink);font-size:13px;font-weight:600}.cost-row>span{color:var(--ink);font-size:14px;font-weight:600}.cost-row>em{font-size:13px;font-style:normal;font-weight:600}.cost-rate{display:inline-flex;justify-content:center;justify-self:end;min-width:54px;padding:3px 8px;border-radius:999px}.rate-low{color:var(--accent-dark);background:var(--accent-soft)}.rate-target{color:var(--green);background:var(--green-soft)}.rate-warning{color:var(--warn);background:var(--warn-soft)}.rate-high{color:var(--red);background:var(--red-soft)}.cost-help{position:relative;z-index:4}.cost-help summary{display:grid;place-items:center;width:17px;height:17px;border:0;border-radius:50%;color:var(--grey-600);background:var(--grey-200);font-size:10px;font-weight:700;cursor:pointer;list-style:none}.cost-help summary::-webkit-details-marker{display:none}.cost-help[open] summary{color:#fff;background:var(--accent)}.cost-help>div{position:absolute;top:25px;left:-9px;width:280px;padding:16px;border:0;border-radius:16px;color:var(--ink);background:#fff;box-shadow:var(--shadow);font-size:12px;font-weight:400;line-height:1.5}.cost-help>div>strong{display:block;margin-bottom:4px;font-size:13px;font-weight:700}.cost-help p{margin:0 0 9px;color:var(--muted)}.cost-help dl{display:grid;gap:5px;margin:0 0 9px}.cost-help dl>div{display:flex;justify-content:space-between;gap:12px}.cost-help dt{color:var(--muted)}.cost-help dd{margin:0;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.cost-rate-legend{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 10px;padding:10px;border-radius:10px;background:var(--grey-50)}.cost-rate-legend>span{display:flex;align-items:center;gap:5px;padding:0;background:transparent;font-size:12px}.cost-rate-legend i{width:8px;height:8px;border-radius:50%;background:currentColor}.cost-help small{display:block;color:var(--grey-500);font-size:11px}.nutrition-panel{overflow:hidden}.serving-control{display:flex;align-items:center;gap:5px;color:var(--grey-700);font-size:13px;font-weight:500}.serving-control input{width:58px;height:32px;padding:0 8px;border-radius:8px;text-align:right;font-variant-numeric:tabular-nums}.serving-control b{color:var(--grey-500);font-size:12px;font-weight:500}.nutrition-head,.nutrition-row{display:grid;grid-template-columns:minmax(95px,1fr) repeat(3,72px);align-items:center;column-gap:8px;padding:0 20px}.nutrition-head{min-height:34px;color:var(--muted);background:var(--grey-50);font-size:12px;font-weight:600;text-align:right}.nutrition-head span:first-child{text-align:left}.nutrition-row{min-height:36px;border-top:1px solid var(--grey-100);font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.nutrition-row strong{text-align:left;font-weight:600}.nutrition-row span:last-child{color:var(--accent-dark);font-weight:600}.allergen-notice{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--grey-100);color:var(--warn);background:var(--warn-soft);font-size:12px}.allergen-notice strong{flex-shrink:0}.processing-panel{overflow:hidden}.processing-panel .panel-heading>small{color:var(--muted);font-size:12px}.processing-method-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px}.processing-method-options label{position:relative;display:flex;align-items:flex-start;gap:9px;min-height:50px;padding:11px 12px;border:1px solid var(--grey-200);border-radius:12px;color:var(--grey-700);background:#fff;cursor:pointer;transition:border-color .2s,background .2s}.processing-method-options label:has(input:checked){border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}.processing-method-options label:has(input:disabled){cursor:default}.processing-method-options input{width:14px;height:14px;margin:2px 0 0;accent-color:var(--accent)}.processing-method-options label>span{display:grid;gap:3px;min-width:0}.processing-method-options strong{font-size:13px;font-weight:600}.processing-method-options small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:11px;font-weight:400;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.note-panel{min-height:124px;padding:16px 20px}.note-panel>span{color:var(--grey-700);font-size:13px;font-weight:600}.note-panel textarea{width:100%;min-height:84px;padding:0;border:0;border-radius:0;color:var(--ink);background:transparent;font-size:14px;line-height:1.6;resize:vertical;font-weight:400;box-shadow:none!important}.comments-panel{overflow:hidden}.comments-panel.compact{margin-top:18px;border-top:1px solid var(--line)}.comments-heading{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:12px 20px;border-bottom:1px solid var(--grey-100)}.comments-heading h3{margin:0;font-size:15px;font-weight:700}.comments-heading>small{color:var(--muted);font-size:12px}.comment-list{max-height:340px;overflow:auto}.comment-list article{padding:13px 20px;border-bottom:1px solid var(--grey-100)}.comment-meta{display:flex;align-items:center;gap:6px}.comment-meta strong{font-size:13px;font-weight:600}.comment-meta span{padding:1px 7px;border-radius:999px;color:var(--accent-dark);background:var(--accent-soft);font-size:11px;font-weight:600}.comment-meta time{margin-left:auto;color:var(--grey-500);font-size:11px}.comment-list article>p{margin:7px 0 0;color:var(--grey-800);font-size:14px;line-height:1.6;white-space:pre-wrap}.comment-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px}.comment-actions button{padding:0;border:0;color:var(--grey-500);background:transparent;font-size:12px}.comment-actions button:hover{color:var(--ink)}.comments-empty{display:grid;min-height:90px;place-items:center;color:var(--muted);font-size:13px}.comment-form{display:grid;gap:8px;padding:13px 20px 16px;background:var(--grey-50)}.comment-form textarea{width:100%;min-height:68px;padding:11px 12px;background:#fff;font-size:14px;line-height:1.55;resize:vertical}.comment-form>div{display:flex;justify-content:flex-end;gap:6px}.comment-form .button{min-height:32px;padding:0 12px;border-radius:10px;font-size:13px}.comments-panel.compact .comments-heading,.comments-panel.compact .comment-list article,.comments-panel.compact .comment-form{padding-right:0;padding-left:0}.toast{position:fixed;z-index:60;right:24px;bottom:24px;max-width:380px;padding:14px 18px;border:0;border-radius:14px;color:#fff;background:var(--grey-900);box-shadow:var(--shadow-toast);font-size:14px;font-weight:500;animation:toast-in .2s cubic-bezier(.16,1,.3,1)}.toast.error{background:var(--grey-900);color:#ff9aa2}.toast.success{background:var(--grey-900);color:#fff}.page-heading-copy p{margin:5px 0 0;color:var(--grey-500);font-size:13px}.users-layout{min-width:0}.user-email{display:block;margin-top:4px;color:var(--muted);font-size:12px}.selected-row{background:var(--accent-soft)}.current-user-badge{display:inline-flex;margin-left:6px;padding:1px 6px;border-radius:999px;color:var(--grey-600);background:var(--grey-100);font-size:10px;font-style:normal;font-weight:700;vertical-align:1px}.account-status{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.account-status i{width:7px;height:7px;border-radius:50%;background:var(--grey-400)}.account-status.active i{background:var(--green)}.role-badge{display:inline-flex;padding:3px 9px;border-radius:6px;color:var(--grey-700);background:var(--grey-100);font-size:12px;font-weight:600}.role-admin{color:var(--accent-dark);background:var(--accent-soft)}.role-researcher{color:var(--green);background:var(--green-soft)}.user-modal-backdrop{position:fixed;z-index:85;inset:0;display:grid;place-items:center;padding:24px;background:#191f2894;animation:fade-in .15s ease-out}.user-modal{width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;border:0;border-radius:14px;background:#fff;box-shadow:0 20px 60px #02091e47;animation:schedule-modal-in .18s ease-out}.user-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--grey-200)}.user-modal-header h2{margin:0;font-size:17px;font-weight:800;letter-spacing:-.02em}.user-modal-header p{margin:5px 0 0;color:var(--grey-500);font-size:12px}.user-modal-header .icon-button{flex:0 0 auto;margin:-5px -7px 0 0;font-size:21px;font-weight:300}.user-form{display:grid;gap:18px;padding:20px}.user-form .ffield{display:grid;gap:6px}.user-form .ffield>.fl{color:var(--grey-700);font-size:12px;font-weight:650}.user-form input,.user-form select{width:100%;height:40px;padding:0 12px}.user-active-toggle{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--grey-200);border-radius:9px;background:var(--grey-50);cursor:pointer}.user-active-toggle.selected{border-color:var(--grey-300);background:#fff}.user-active-toggle>input{width:17px;height:17px;flex:0 0 auto;padding:0;accent-color:var(--grey-900)}.user-active-toggle>span{display:grid;gap:2px}.user-active-toggle strong{font-size:12.5px;font-weight:700}.user-active-toggle small{color:var(--grey-500);font-size:11px;font-weight:400}.user-form .form-error{margin:0}.user-form-actions{display:flex;justify-content:flex-end;gap:7px;padding:14px 20px 18px;border-top:1px solid var(--grey-200)}.form-success{margin:0;color:var(--green);font-size:13px}.profile-drawer{width:min(780px,100%)}.profile-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;padding-top:20px}.profile-list{display:grid;align-content:start;gap:6px}.profile-list button{display:grid;gap:3px;padding:12px 13px;border:0;border-radius:12px;color:var(--grey-700);background:var(--grey-100);text-align:left;transition:background .2s,color .2s}.profile-list button.selected{color:var(--accent-dark);background:var(--accent-soft)}.profile-list button:disabled{opacity:.6;cursor:default}.profile-list strong{font-size:13px;font-weight:600}.profile-list strong em{margin-left:5px;padding:1px 6px;border-radius:999px;color:var(--grey-600);background:var(--grey-200);font-size:11px;font-style:normal}.profile-list small{overflow:hidden;color:var(--grey-500);font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.profile-form .form-section:first-child{padding-top:0}.profile-ranges{display:grid;gap:9px}.profile-range{display:grid;grid-template-columns:75px 1fr 12px 1fr 18px;align-items:end;gap:7px}.profile-range>strong{align-self:center;color:var(--ink);font-size:13px;font-weight:600}.profile-range label{display:grid;gap:4px;color:var(--muted);font-size:12px}.profile-range input{width:100%;height:38px;padding:0 10px;border-radius:10px;text-align:right;font-variant-numeric:tabular-nums}.profile-range>span,.profile-range>b{align-self:center;color:var(--grey-500);font-size:12px;text-align:center}.profile-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px}.import-drawer{width:min(650px,100%)}.import-guide{margin-top:22px;padding:18px;border-radius:16px;background:var(--grey-50)}.import-guide h3{margin:0 0 7px;font-size:14px;font-weight:700}.import-guide p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.6}.file-drop{display:grid;place-items:center;min-height:132px;margin:16px 0;border:1px dashed var(--grey-300);border-radius:16px;background:var(--grey-50);cursor:pointer;transition:border-color .2s,background .2s}.file-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-drop strong{color:var(--ink);font-size:14px;font-weight:600}.file-drop span{margin-top:-25px;color:var(--muted);font-size:12px}.import-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.import-preview>div{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:14px;border-radius:12px;background:var(--grey-50)}.import-preview strong{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}.import-preview span{color:var(--muted);font-size:12px}.import-table{max-height:280px;overflow:auto}.import-table td{height:42px}.import-table>p{margin:0;padding:10px;color:var(--muted);background:var(--grey-50);font-size:12px;text-align:center}.ai-recipe-drawer,.rebalance-drawer{width:min(780px,100%)}.ai-inline-setup{margin-top:18px;padding:14px 16px;border:0;border-radius:12px;color:var(--warn);background:var(--warn-soft)}.ai-inline-setup strong{font-size:13px}.ai-inline-setup p{margin:5px 0 0;font-size:12px;line-height:1.55}.ai-inline-setup code{padding:1px 5px;border-radius:6px;background:#c174171f;font-size:12px}.ai-photo-drop{position:relative;min-height:150px}.ai-photo-drop.selected{border-color:var(--accent);background:var(--accent-soft)}.ai-photo-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:10px;border-radius:12px;color:var(--accent);background:#fff;font-size:17px}.ai-analyze-button{width:100%;margin-bottom:4px}.ai-recipe-review,.rebalance-result{display:grid;gap:14px;margin:20px 0}.ai-review-title{display:grid;grid-template-columns:1fr 120px;gap:8px}.ai-review-title>div{display:grid;gap:3px;padding:14px;border-radius:12px;background:var(--grey-50)}.ai-review-title span{color:var(--muted);font-size:11px;font-weight:600}.ai-review-title strong{color:var(--ink);font-size:14px;font-weight:600}.ai-review-title small{color:var(--grey-500);font-size:12px}.ai-recipe-table{max-height:300px;overflow:auto}.ai-recipe-table td{height:42px}.ai-review-alert,.ai-review-note{padding:13px 15px;border:0;border-radius:12px;color:var(--red);background:var(--red-soft)}.ai-review-alert.warning{color:var(--warn);background:var(--warn-soft)}.ai-review-alert strong,.ai-review-note strong{display:block;margin-bottom:4px;font-size:13px}.ai-review-alert p,.ai-review-note p{margin:0;font-size:12px;line-height:1.6}.ai-review-alert ul,.ai-review-note ul{margin:5px 0 0;padding-left:16px;font-size:12px;line-height:1.65}.ai-review-note{color:var(--grey-700);background:var(--grey-100)}.rebalance-start{display:grid;place-items:center;min-height:285px;padding:38px;text-align:center}.rebalance-start>span{color:var(--grey-400);font-size:34px}.rebalance-start strong{margin-top:12px;color:var(--ink);font-size:15px;font-weight:700}.rebalance-start p{max-width:390px;margin:8px 0 18px;color:var(--muted);font-size:13px;line-height:1.6}.rebalance-target{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;color:var(--ink);background:var(--grey-50)}.rebalance-target span,.rebalance-target small{color:var(--muted);font-size:12px}.rebalance-target strong{font-size:13px;font-weight:600}.rebalance-target small{margin-left:auto}.rebalance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rebalance-metrics>div{padding:13px;border-radius:12px;background:var(--grey-50)}.rebalance-metrics span{color:var(--muted);font-size:11px;font-weight:600}.rebalance-metrics p{display:flex;align-items:baseline;gap:5px;margin:8px 0 4px;white-space:nowrap}.rebalance-metrics del{color:var(--grey-400);font-size:12px}.rebalance-metrics b{color:var(--grey-400);font-size:11px}.rebalance-metrics strong{color:var(--accent-dark);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.rebalance-metrics small{color:var(--grey-500);font-size:11px}.rebalance-table{max-height:330px;overflow:auto}.rebalance-table td{height:43px}.rebalance-table td:first-child strong{display:block}.rebalance-table td:first-child small{color:var(--grey-500);font-size:11px}.rebalance-table td.changed{color:var(--accent-dark);font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.calendar-summary{display:grid;justify-items:end;gap:6px}.calendar-stats{margin:0;color:var(--muted);font-size:13px}.calendar-category-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;color:var(--grey-600);font-size:10px;font-weight:650}.calendar-category-legend span{display:flex;align-items:center;gap:5px}.calendar-category-legend i,.schedule-category-picker i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--category)}.category-general{--category: #6b7684;--category-soft: #f2f4f6}.category-manufacture{--category: #2475e8;--category-soft: #e8f3ff}.category-vacation{--category: #e93f4d;--category-soft: #fdebec}.category-purchase{--category: #b86f17;--category-soft: #fdf3e0}.category-meeting{--category: #7656c9;--category-soft: #f1edfb}.category-delivery{--category: #087e49;--category-soft: #e7f4ec}.calendar-navigation{display:flex;align-items:center;gap:7px}.calendar-navigation h1{min-width:148px;margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em;text-align:center;font-variant-numeric:tabular-nums}.calendar-navigation .icon-button{background:#fff;font-size:18px}.calendar-navigation .icon-button:hover{background:var(--grey-100)}.calendar-today{min-height:36px;margin-left:4px;padding:0 14px;border-radius:999px;font-size:13px}.dashboard-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;align-items:start;gap:16px}.calendar-panel{min-width:0;overflow:hidden}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border-bottom:1px solid var(--grey-100);background:var(--grey-50)}.calendar-weekdays span{padding:10px 8px;color:var(--grey-600);font-size:12px;font-weight:600;text-align:center}.calendar-weekdays span:first-child{color:var(--red)}.calendar-weekdays span:last-child{color:var(--info)}.calendar-grid{background:var(--grey-100);gap:1px}.calendar-grid article{min-width:0;min-height:118px;padding:8px;background:#fff}.calendar-grid article.outside{background:var(--grey-50)}.calendar-grid article.selected{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-date{display:flex;align-items:center;gap:5px;min-width:28px;height:26px;padding:0 6px;border:0;border-radius:8px;background:transparent;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.calendar-date:hover{background:var(--grey-100)}.calendar-date small{color:var(--red);font-size:10px}.calendar-grid article.outside .calendar-date{color:var(--grey-400)}.calendar-grid article.today .calendar-date time{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;color:#fff;background:var(--accent)}.calendar-grid article:nth-child(7n+1):not(.today) .calendar-date{color:var(--red)}.calendar-grid article:nth-child(7n):not(.today) .calendar-date{color:var(--info)}.calendar-grid article.holiday:not(.today) .calendar-date{color:var(--red)}.calendar-events{display:grid;gap:3px;margin-top:4px}.calendar-holiday{display:flex;align-items:center;gap:5px;min-height:22px;padding:2px 7px;overflow:hidden;border-radius:6px;color:var(--red);background:var(--red-soft)}.calendar-holiday:before{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--red);content:""}.calendar-holiday.substitute{opacity:.85}.calendar-holiday strong{overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.calendar-event{display:block;width:100%;min-height:24px;padding:2px 7px;overflow:hidden;border:0;border-left:3px solid var(--category);border-radius:5px;color:var(--category);background:var(--category-soft);text-align:left;transition:filter .15s}.calendar-event.has-time{display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:5px}.calendar-event:hover,.calendar-event.active{filter:brightness(.95)}.calendar-event.completed{opacity:.45;text-decoration:line-through}.calendar-event span{font-size:10px;font-variant-numeric:tabular-nums}.calendar-event strong{overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.calendar-more{padding-left:7px;color:var(--grey-500);font-size:11px}.dashboard-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:54px;padding:13px 18px;border-bottom:1px solid var(--grey-100)}.dashboard-panel-heading h2{margin:0;font-size:16px;font-weight:700}.schedule-editor,.memo-editor{overflow:hidden}.calendar-schedule-editor{position:sticky;top:16px}.schedule-editor fieldset,.memo-editor fieldset{display:grid;gap:13px;min-width:0;margin:0;padding:18px;border:0}.schedule-editor label{display:grid;gap:6px;color:var(--grey-700);font-size:13px;font-weight:600}.schedule-editor input,.schedule-editor select,.schedule-editor textarea{width:100%;font-size:14px;font-weight:400}.schedule-editor input,.schedule-editor select{height:40px;padding:0 12px}.schedule-editor textarea{min-height:78px;padding:11px 12px;resize:vertical}.schedule-editor .fl small{color:var(--grey-400);font-size:10px;font-weight:550}.schedule-category-field{display:grid;gap:7px}.schedule-category-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.schedule-category-picker label{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:0 8px;border:1px solid var(--grey-200);border-radius:8px;color:var(--grey-600);background:#fff;cursor:pointer;transition:border-color .15s,background .15s,transform .12s}.schedule-category-picker label:hover{border-color:var(--category);background:var(--category-soft)}.schedule-category-picker label.selected{border-color:var(--category);color:var(--category);background:var(--category-soft);box-shadow:inset 0 0 0 1px var(--category)}.schedule-category-picker input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.schedule-category-picker label:has(input:focus-visible){outline:3px solid rgba(25,31,40,.18);outline-offset:1px}.schedule-category-picker span{overflow:hidden;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.schedule-date-time{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:10px}.field-hint{margin-top:-1px;color:var(--grey-500);font-size:10px;font-weight:500;line-height:1.4}.schedule-completed{display:flex!important;align-items:center;grid-template-columns:auto 1fr}.schedule-completed input{width:16px;height:16px;accent-color:var(--accent)}.dashboard-form-actions{display:flex;justify-content:flex-end;gap:7px;padding:0 18px 18px}.dashboard-form-actions .danger-text{margin-right:auto}.memo-board{overflow:hidden;margin-top:16px}.memo-layout{display:grid;grid-template-columns:1fr}.memo-layout.editing{grid-template-columns:minmax(0,1fr) 360px}.memo-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;min-height:180px;max-height:430px;overflow:auto;padding:16px;background:var(--grey-50)}.memo-cards>button{position:relative;display:grid;align-content:start;gap:8px;min-height:122px;padding:15px;border:1px solid var(--grey-200);border-radius:14px;color:var(--ink);background:#fff;text-align:left;transition:border-color .2s}.memo-cards>button.pinned{border-color:transparent;background:var(--warn-soft)}.memo-cards>button.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.memo-cards>button>span{color:var(--grey-500);font-size:11px;font-weight:600}.memo-cards>button.pinned>span{color:var(--warn)}.memo-cards p{display:-webkit-box;overflow:hidden;margin:0;font-size:13px;line-height:1.6;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:4}.memo-cards small{align-self:end;color:var(--grey-500);font-size:11px}.memo-editor{border-left:1px solid var(--grey-100);background:#fff}.memo-editor textarea{min-height:148px;padding:12px;font-size:14px;line-height:1.6;resize:vertical}.memo-pin{display:flex;align-items:center;gap:7px;color:var(--grey-700);font-size:13px;font-weight:600}.memo-pin input{width:16px;height:16px;accent-color:var(--accent)}.dashboard-empty{grid-column:1 / -1;display:grid;min-height:120px;place-items:center;color:var(--muted);font-size:13px}.settings-content{overflow:hidden}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border-bottom:1px solid var(--grey-100)}.settings-heading h2{margin:0 0 4px;font-size:18px;font-weight:700;letter-spacing:-.01em}.settings-heading p{margin:4px 0 0;color:var(--grey-500);font-size:12px;line-height:1.5}.account-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.account-settings-card{overflow:hidden}.account-role-badge{flex:0 0 auto;padding:4px 8px;border-radius:6px;color:var(--grey-700);background:var(--grey-100);font-size:11px;font-weight:700}.account-form-body{display:grid;gap:16px;padding:20px}.account-form-body input{width:100%;height:40px;padding:0 12px}.account-form-body .form-error{margin:0}.account-status-note{display:flex;align-items:center;gap:7px;color:var(--grey-500);font-size:12px}.account-status-note i{width:7px;height:7px;border-radius:50%;background:var(--green)}.account-form-actions{display:flex;justify-content:flex-end;padding:14px 20px 18px;border-top:1px solid var(--grey-100)}.settings-method-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:430px}.settings-method-list{padding:14px;border-right:1px solid var(--grey-100);background:var(--grey-50)}.settings-method-list>button{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:9px;width:100%;margin-bottom:4px;padding:11px;border:0;border-radius:12px;color:var(--grey-700);background:transparent;text-align:left;transition:background .15s}.settings-method-list>button:hover{background:#fff}.settings-method-list>button.selected{color:var(--ink);background:#fff}.settings-method-list i{width:7px;height:7px;border-radius:50%;background:var(--grey-400)}.settings-method-list i.active{background:var(--green)}.settings-method-list span{display:grid;gap:2px}.settings-method-list strong{font-size:13px;font-weight:600}.settings-method-list small{color:var(--grey-500);font-size:12px}.settings-method-list b{color:var(--grey-500);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.settings-method-form{display:grid;align-content:start;gap:15px;padding:22px}.settings-method-form fieldset{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}.settings-method-form label{display:grid;gap:7px;color:var(--grey-700);font-size:13px;font-weight:600}.settings-method-form input:not([type=checkbox]),.settings-method-form textarea{width:100%;padding:0 13px;font-size:14px;font-weight:400}.settings-method-form input:not([type=checkbox]){height:42px}.settings-method-form textarea{min-height:100px;padding-top:11px;padding-bottom:11px;resize:vertical}.settings-method-row{display:grid;grid-template-columns:140px 1fr;align-items:end;gap:16px}.settings-active{display:flex!important;align-items:center;gap:8px!important;min-height:42px}.settings-active input{width:16px;height:16px;accent-color:var(--accent)}.settings-method-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.settings-method-actions .danger-text{margin-right:auto}.label-page{display:grid;grid-template-columns:216px minmax(470px,1fr) 364px;min-height:100vh}.label-sidebar{position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--line);background:#fff}.product-list{display:grid;gap:3px;padding:0 10px 20px}.product-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;width:100%;min-height:56px;padding:10px 11px;border:0;border-radius:12px;color:var(--grey-700);background:transparent;text-align:left;transition:background .15s}.product-list button:hover{background:var(--grey-50)}.product-list button.selected{color:var(--ink);background:var(--grey-100)}.product-list strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.product-list small{overflow:hidden;color:var(--grey-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.product-list b{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--grey-500);font-size:12px;font-weight:500}.label-editor{min-width:0;padding:28px 24px 60px;background:var(--canvas)}.label-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:760px;margin:0 auto 16px}.label-editor-heading h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.label-alert{max-width:760px;margin:0 auto 12px;padding:12px 15px;border:0;border-radius:12px;color:var(--warn);background:var(--warn-soft);font-size:13px}.label-form{max-width:760px;margin:0 auto;padding:0 24px 22px}.label-form fieldset{min-width:0;margin:0;padding:0;border:0}.label-form fieldset:disabled{opacity:.7}.label-form-actions{display:flex;justify-content:flex-end;margin-top:20px}.label-preview-column{position:sticky;top:0;height:100vh;overflow:auto;padding:22px 24px 36px;border-left:1px solid var(--line);background:var(--grey-100)}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.preview-toolbar h2{margin:0;font-size:16px;font-weight:700}.draft-chip{padding:4px 10px;border:0;border-radius:999px;color:var(--grey-700);background:#fff;font-size:11px;font-weight:600}.label-artwork{position:relative;overflow:hidden;width:100%;padding:25px 22px 20px;border:1px solid var(--grey-300);color:#151515;background:#fffefb;box-shadow:var(--shadow);font-family:IBM Plex Sans KR,Apple SD Gothic Neo,sans-serif}.label-draft-watermark{position:absolute;z-index:0;top:48%;left:-6%;color:#f044520f;font-size:64px;font-weight:900;letter-spacing:.08em;transform:rotate(-44deg);pointer-events:none}.label-artwork>*:not(.label-draft-watermark){position:relative;z-index:1}.label-artwork header{padding-bottom:14px;border-bottom:4px solid #171717}.label-artwork header span{font-size:7px;font-weight:900;letter-spacing:.2em}.label-artwork header h3{margin:7px 0 4px;font-size:22px;line-height:1.15;letter-spacing:-.045em}.label-artwork header p{margin:0;font-size:9px;font-weight:700}.label-facts,.label-business{margin:0;padding:8px 0;border-bottom:1px solid #1d1d1d}.label-facts div,.label-business div{display:grid;grid-template-columns:58px 1fr;gap:7px;padding:2px 0;font-size:8px;line-height:1.45}.label-facts dt,.label-business dt{font-weight:800}.label-facts dd,.label-business dd{margin:0}.label-artwork section{padding:9px 0;border-bottom:1px solid #1d1d1d}.label-artwork section h4{margin:0 0 4px;font-size:9px}.label-artwork section p{margin:0;font-size:8px;line-height:1.55}.label-allergens strong{font-size:9px;line-height:1.45}.label-nutrition{border-bottom-width:3px!important}.nutrition-title{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:3px solid #161616}.nutrition-title h4{margin:0!important;font-size:19px!important;letter-spacing:-.04em}.nutrition-title span{font-size:7px;font-weight:700}.label-nutrition-head,.label-nutrition-row{display:grid;grid-template-columns:1fr 70px 60px;text-align:right}.label-nutrition-head{padding:4px 0 3px;border-bottom:1px solid #1d1d1d;font-size:6px;font-weight:800}.label-nutrition-head span:first-child,.label-nutrition-row strong{text-align:left}.label-nutrition-row{padding:3px 0;border-bottom:1px solid #d4d4d4;font-size:7px}.label-nutrition-row span{font-variant-numeric:tabular-nums}.label-nutrition small{display:block;margin-top:5px;font-size:6px;line-height:1.45}.label-placeholder{padding:16px 4px;color:#7c7c7c;text-align:center}.label-precaution,.label-return{margin:7px 0 0;font-size:7px;line-height:1.45}.preview-disclaimer{margin:14px 0 0;color:var(--grey-600);font-size:12px;line-height:1.55;text-align:center}.ai-heading{align-items:center}.ai-status-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:0;border-radius:999px;color:var(--grey-700);background:#fff;font-size:13px;font-weight:600}.ai-status-badge i{width:8px;height:8px;border-radius:50%;background:var(--grey-400)}.ai-status-badge.ready{color:var(--green);background:var(--green-soft)}.ai-status-badge.ready i{background:var(--green)}.ai-setup{display:grid;grid-template-columns:auto 1fr;gap:16px;margin:-6px 0 16px;padding:18px 20px;background:var(--warn-soft)}.ai-setup-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;background:var(--warn);font-size:18px}.ai-setup h2{margin:2px 0 5px;font-size:16px;font-weight:700}.ai-setup p{margin:0;color:var(--grey-700);font-size:13px;line-height:1.6}.ai-setup code{padding:1px 6px;border-radius:6px;color:var(--warn);background:#c174171f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ai-layout{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(460px,1.28fr);align-items:start;gap:16px}.ai-upload,.ai-result{padding:24px}.ai-card-heading h2{margin:0 0 5px;font-size:17px;font-weight:700}.ai-card-heading p{margin:0;color:var(--muted);font-size:13px}.ai-file-drop{display:grid;place-items:center;min-height:200px;margin-top:20px;padding:24px;border:1px dashed var(--grey-300);border-radius:16px;background:var(--grey-50);cursor:pointer;text-align:center;transition:border-color .2s,background .2s}.ai-file-drop:hover,.ai-file-drop.selected{border-color:var(--accent);background:var(--accent-soft)}.ai-file-drop input{position:absolute;width:1px;height:1px;opacity:0}.ai-file-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:12px;border-radius:14px;color:var(--accent);background:#fff;font-size:19px}.ai-file-drop strong{max-width:100%;overflow:hidden;color:var(--ink);font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ai-file-drop small{max-width:320px;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.55}.ai-submit{width:100%}.ai-result{min-height:520px}.ai-result-empty{display:grid;place-items:center;min-height:390px;padding:50px;color:var(--muted);text-align:center}.ai-result-empty>span{color:var(--grey-300);font-size:36px}.ai-result-empty strong{margin-top:12px;color:var(--ink);font-size:15px;font-weight:700}.ai-result-empty p{max-width:340px;margin:8px 0 0;font-size:13px;line-height:1.6}.extraction-result{margin-top:20px}.extraction-meta{display:flex;justify-content:space-between;gap:10px;padding:10px 13px;border-radius:10px;color:var(--grey-600);background:var(--grey-100);font-size:12px}.extraction-result section{padding:20px 0;border-bottom:1px solid var(--grey-100)}.extraction-result h3{margin:0 0 11px;font-size:15px;font-weight:700}.extraction-result h3 small{margin-left:5px;color:var(--grey-500);font-size:12px;font-weight:400}.extraction-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.extraction-fields div{min-width:0;padding:11px 12px;border-radius:10px;background:var(--grey-50)}.extraction-fields dt{margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:600}.extraction-fields dd{overflow:hidden;margin:0;color:var(--ink);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.evidence-list{display:grid;gap:7px}.evidence-list article{padding:11px 13px;border:0;border-radius:12px;background:var(--grey-50)}.evidence-list article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.evidence-list strong{font-size:13px;font-weight:600}.evidence-list p{margin:6px 0 0;color:var(--grey-700);font-size:12px;line-height:1.55}.confidence{padding:2px 8px;border-radius:999px;color:var(--grey-600);background:var(--grey-200);font-size:11px;font-weight:600}.confidence.high{color:var(--green);background:var(--green-soft)}.confidence.low{color:var(--red);background:var(--red-soft)}.review-warning{margin-top:15px;padding:11px 13px;border:0;border-radius:12px;color:var(--warn);background:var(--warn-soft);font-size:13px}.extraction-use{width:100%;margin-top:10px}.ingredient-ai-open span{margin-right:3px}.ingredient-ai-drawer{width:min(920px,100%)}.ingredient-ai-drawer .drawer-header p{margin:5px 0 0;color:var(--grey-500);font-size:13px}.ingredient-ai-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin:18px 0;padding:14px 16px;border:1px solid var(--grey-200);border-radius:12px;background:var(--grey-50)}.ingredient-ai-intro>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:#fff;background:var(--grey-900);font-size:17px}.ingredient-ai-intro strong{font-size:14px}.ingredient-ai-intro p{margin:4px 0 0;color:var(--grey-600);font-size:12px;line-height:1.55}.ingredient-ai-form{display:grid;gap:14px}.ingredient-ai-source-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:14px}.ingredient-ai-file{min-height:230px;margin-top:0}.ingredient-ai-context{display:grid;grid-template-rows:auto minmax(180px,1fr) auto;gap:7px;min-width:0}.ingredient-ai-context>span{color:var(--grey-700);font-size:13px;font-weight:700}.ingredient-ai-context textarea{width:100%;min-height:190px;padding:13px 14px;resize:vertical;font-size:13px;line-height:1.65}.ingredient-ai-context>small{color:var(--grey-500);font-size:11px;line-height:1.45;text-align:right}.ingredient-ai-analyze{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px}.ingredient-ai-result{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.ai-web-sources{display:grid;gap:7px;margin:10px 0 0;padding:0;list-style:none}.ai-web-sources a{display:block;overflow:hidden;padding:9px 11px;border:1px solid var(--grey-200);border-radius:9px;color:var(--grey-700);background:var(--grey-50);font-size:12px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ai-web-sources a:hover{border-color:var(--grey-400);color:var(--grey-900);background:#fff}.ai-form-notice{display:grid;grid-template-columns:auto 1fr;gap:10px;margin:14px 0 2px;padding:12px 14px;border:1px solid var(--grey-200);border-radius:10px;background:var(--grey-50)}.ai-form-notice>span{color:var(--ink);font-size:16px}.ai-form-notice strong{font-size:13px}.ai-form-notice p{margin:3px 0 0;color:var(--grey-600);font-size:11.5px;line-height:1.5}label.ffield,div.ffield{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px}div.ffield>.fl{color:var(--grey-600);font-size:12px;font-weight:600;line-height:1.35}div.ffield:focus-within>.fl{color:var(--ink)}label.ffield>.fl{color:var(--grey-600);font-size:12px;font-weight:600;line-height:1.35}label.ffield:focus-within>.fl{color:var(--ink)}label.ffield:has(textarea){align-items:start}label.ffield:has(textarea)>.fl{padding-top:10px}label.ffield>small{grid-column:2}.panel,.login-card{--flbg: var(--grey-50)}.drawer{--flbg: #fff}.manufacturing-entry label.ffield,.profile-range label.ffield{position:relative;display:block}.manufacturing-entry label.ffield>.fl,.profile-range label.ffield>.fl{position:absolute;z-index:2;top:-6px;left:8px;max-width:calc(100% - 16px);overflow:hidden;padding:0 4px;background:var(--flbg, #fff);font-size:10px;white-space:nowrap}.page-heading h1{font-size:26px;font-weight:800;letter-spacing:-.035em}.login-card h1{font-size:26px;font-weight:800;letter-spacing:-.03em}.calendar-navigation h1{font-size:19px;font-weight:800;letter-spacing:-.02em}.panel-heading h2,.dashboard-panel-heading h2,.settings-heading h2,.user-form h2,.ai-card-heading h2{font-size:15px;font-weight:800;letter-spacing:-.01em}.sidebar-title h2{font-size:16px;font-weight:800}.drawer-header h2{font-size:19px;font-weight:800;letter-spacing:-.02em}.comments-heading h3,.form-section h3,.extraction-result h3,.import-guide h3{font-weight:800}.batch-total strong{font-size:24px;font-weight:800;letter-spacing:-.02em}.recipe-name{font-size:22px;font-weight:800;letter-spacing:-.03em}.formula-summary strong,.import-preview strong{font-weight:800}.label-editor-heading h1{font-size:22px;font-weight:800;letter-spacing:-.03em}.button{min-height:36px;padding:0 14px;border-radius:8px;font-size:13px}.button.primary:hover:not(:disabled){background:#000}.button.secondary{border-color:var(--grey-300);background:#fff}.button.secondary:hover:not(:disabled){border-color:var(--grey-400);background:var(--grey-50)}.icon-button{width:28px;height:28px;border-radius:6px;font-size:14px}.square-add,.square-import{width:28px;height:28px;border-radius:7px;font-size:14px}.square-import:hover{color:var(--ink);background:var(--grey-200)}.compact-button{min-height:26px;border:1px solid var(--grey-300);border-radius:6px;background:#fff;font-size:11.5px}.add-line{height:36px;border-radius:8px;font-size:13px}.add-line:hover:not(:disabled),.ai-rebalance-button:hover:not(:disabled){background:var(--grey-200)}.scale-control button:hover,.rescale-controls button:hover:not(:disabled){background:var(--grey-200)}.calendar-navigation .icon-button{width:26px;height:26px;border:1px solid var(--grey-300);background:#fff;font-size:15px}.calendar-navigation .icon-button:hover{background:var(--grey-50)}.calendar-today{min-height:30px;margin-left:4px;padding:0 12px;border-radius:8px;font-size:12px}.panel{border-radius:12px}.drawer{border-radius:12px 0 0 12px}.login-card{border:1px solid var(--grey-200);border-radius:16px;background:var(--grey-50)}.login-card input{height:44px;border-radius:10px}.login-card .button{height:46px;border-radius:10px;font-size:15px}.table-card,.import-table,.ai-recipe-table,.rebalance-table{border:1px solid var(--grey-300);border-radius:8px;background:#fff}.table-card th{height:30px;padding:0 10px;border-right:1px solid var(--grey-200);border-bottom:1px solid var(--grey-300);background:var(--grey-100);color:var(--grey-700);font-size:12px}.table-card th:last-child{border-right:0}.table-card td{height:36px;padding:0 10px;border-right:1px solid var(--grey-100);font-size:12.5px}.table-card td:last-child{border-right:0}.name-button strong{font-size:12.5px}.name-button span{font-size:11px}.category-badge{padding:0;color:var(--grey-700);background:transparent;font-size:12px}.role-badge{padding:0;color:var(--grey-800);background:transparent;font-size:12.5px}.op-badge{color:#fff!important;background:var(--grey-900)!important;font-size:10px!important}.formula-badge{padding:1px 6px;border:1px solid var(--grey-300);border-radius:4px;color:var(--grey-600);background:#fff;font-size:10px}.formula-badge.formula-manufactured{border-color:var(--warn);color:var(--warn);background:#fff}.allergen-summary,.user-email{font-size:11px}.row-actions{width:84px}.page-shell{padding:22px 0 56px}.page-heading{margin-bottom:16px}.toolbar{margin-bottom:10px}.toolbar select,.search-box{height:36px;border-radius:8px}.search-box{border:1.5px solid var(--grey-300)}.search-box:focus-within{border-color:var(--grey-900);box-shadow:none}.result-count{font-size:12px}.empty-state{padding:44px 20px;font-size:13px}.panel-heading{min-height:42px;padding:8px 14px}.panel-heading.compact{min-height:38px}.workspace-grid{gap:12px;padding:14px 16px 44px}.analysis-column,.dashboard-calendar-layout{gap:12px}.batch-table-head{padding:8px 14px 6px;font-size:11px}.batch-line{min-height:46px;gap:5px 8px;padding:6px 13px}.batch-line select,.batch-line input{height:32px;border-radius:6px;font-size:12.5px}.line-metrics{margin-top:4px;font-size:10px}.line-actions button{width:24px;height:24px}.line-options label{padding:3px 8px;font-size:10.5px}.add-line{width:calc(100% - 28px);margin:10px 14px}.batch-total{padding:12px 14px}.batch-empty{min-height:140px;font-size:13px}.batch-lines{min-height:140px}.version-bar{min-height:32px;padding:3px 20px;font-size:12px}.version-bar button{min-width:28px;height:22px;border-radius:6px;font-size:11px}.recipe-topbar{min-height:62px;padding:10px 20px}.recipe-subtitle{font-size:12px}.inline-fields select,.profile-manage,.op-toggle{height:34px;border-radius:8px;font-size:12.5px}.op-toggle{width:38px}.profile-manage{width:34px}.recipe-list-item{min-height:48px;padding:7px 10px;border-radius:8px}.recipe-list-item strong{font-size:13px}.recipe-list-item small{font-size:11px}.sidebar-title{padding:16px 14px 8px}.scale-control,.scale-target,.rescale-controls select,.rescale-controls button{height:32px;border-radius:8px;font-size:12px}.scale-control input,.scale-target input{font-size:12.5px}.form-section{padding:16px 0}.form-section h3{margin-bottom:14px;font-size:14px}.form-section-title h3{margin-bottom:14px}.form-grid{gap:18px 10px}.form-section input,.form-section select{height:38px}.form-section textarea{min-height:68px}.drawer{padding:20px 24px}.drawer-header{padding-bottom:14px}.drawer-actions{bottom:-20px;margin:0 -24px -20px;padding:11px 24px 15px}.approval-panel{padding:12px 0}.approval-controls .button{min-height:36px}.manufactured-entry{padding:12px 0}.manufactured-entry .button{min-height:30px;border-radius:6px;font-size:12px}.check-chip span{padding:5px 11px;border-radius:6px;font-size:12px}.check-chip input:checked+span{background:var(--grey-900)}.schedule-editor fieldset,.memo-editor fieldset{gap:18px;padding:16px}.schedule-editor input,.schedule-editor select{height:38px}.schedule-editor textarea{min-height:64px}.dashboard-form-actions{padding:0 16px 14px}.dashboard-panel-heading{min-height:42px;padding:8px 16px}.calendar-toolbar{margin-bottom:12px}.calendar-grid article{min-height:96px;padding:6px}.calendar-weekdays span{padding:7px 8px;font-size:11px}.calendar-date{height:22px;font-size:12px}.calendar-grid article.today .calendar-date time{width:20px;height:20px}.calendar-event{min-height:21px;border-radius:4px}.calendar-holiday{min-height:20px;border-radius:4px}.memo-board{margin-top:12px}.memo-cards{gap:8px;padding:12px}.memo-cards>button{min-height:100px;padding:12px;border-radius:10px}.settings-heading{padding:14px 18px}.settings-method-list{padding:10px}.settings-method-list>button{padding:9px 10px;border-radius:8px}.settings-method-form{gap:18px;padding:18px}.settings-method-form fieldset{gap:20px}.settings-method-form input:not([type=checkbox]){height:38px}.manufacturing-entry{gap:14px 6px;margin:4px 14px 10px}.manufacturing-entry input,.manufacturing-entry select{height:32px;border-radius:6px;font-size:12px}.manufacturing-entry label>.fl{top:-6px;font-size:10px}.manufacturing-entry .button{min-height:32px;height:32px;border-radius:6px;font-size:12px}.calibration-thresholds{margin:0 14px 10px;border-radius:8px;font-size:11px}.manufacturing-results{margin:0 14px}.cost-table-head{min-height:30px;font-size:11px}.cost-row{min-height:36px}.cost-table-head,.cost-row{padding:0 14px}.cost-row>span,.cost-row>em{font-size:12.5px}.cost-rate{min-width:48px;padding:2px 7px;border-radius:4px;font-size:11px}.nutrition-head{min-height:28px;font-size:11px}.nutrition-row{min-height:30px;font-size:12px}.nutrition-head,.nutrition-row{padding:0 14px}.allergen-notice{padding:8px 14px;font-size:11px}.processing-method-options{gap:6px;padding:12px 14px}.processing-method-options label{min-height:42px;padding:8px 10px;border-radius:8px}.note-panel{min-height:96px;padding:12px 14px}.note-panel textarea{min-height:64px}.comments-heading{min-height:38px;padding:7px 14px}.comment-list article{padding:10px 14px}.comment-form{padding:10px 14px 12px}.comment-form textarea{min-height:56px}.scoopability-card{padding:10px 14px}.analysis-hint{padding:9px 14px;font-size:11px}.profile-chip{border-radius:4px;font-size:11px}.ai-rebalance-button{height:26px;border-radius:6px;font-size:11px}.serving-control input{height:28px;border-radius:6px}.formula-line select,.formula-line input{height:36px;border-radius:6px}.formula-summary{gap:6px;margin:16px 0}.formula-summary>div{padding:10px;border-radius:8px}.product-list button{min-height:48px;border-radius:8px}.label-editor{padding:22px 20px 48px}.label-form fieldset:disabled{opacity:.75}.brand-list>button:not(.compact-button),.profile-list button{border-radius:8px}.file-drop,.ai-file-drop{border-radius:10px}.import-guide{border-radius:10px;padding:14px}.toast{border-radius:10px}.ai-status-badge{border:1px solid var(--grey-300);border-radius:8px;background:#fff;font-size:12px}.ai-upload,.ai-result{padding:18px}.ai-result{min-height:420px}.profile-range input{height:32px;border-radius:6px}.form-grid{gap:12px 18px}.form-grid.three{grid-template-columns:repeat(2,1fr)}.schedule-editor fieldset,.memo-editor fieldset,.settings-method-form fieldset,.login-card form{gap:14px}.drawer-close{color:var(--grey-600)}.text-action{min-height:26px;padding:2px 9px;border:0;border-radius:6px;color:var(--grey-600);background:transparent;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,color .15s,transform .12s}.text-action:hover{color:var(--ink);background:var(--grey-100)}.text-action.approve{color:var(--green)}.text-action.approve:hover{background:var(--green-soft)}.text-action.danger:hover{color:var(--red);background:var(--red-soft)}.search-box>span{display:grid;place-items:center}.search-box>span svg,.square-add svg,.square-import svg,.profile-manage svg{width:15px;height:15px}.square-add,.square-import,.profile-manage{display:grid;place-items:center}.empty-state:before,.sidebar-empty:before,.batch-empty:before,.comments-empty:before,.dashboard-empty:before,.ai-result-empty:before,.rebalance-start:before{display:block;width:38px;height:46px;margin:0 auto 12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 58'%3E%3Ccircle cx='24' cy='15' r='12' fill='%23d1d6db'/%3E%3Ccircle cx='19' cy='12' r='4' fill='%23e5e8eb'/%3E%3Cpath d='M11 24h26L24 56z' fill='%23b0b8c1'/%3E%3C/svg%3E") center / contain no-repeat;content:""}.empty-state.error:before{display:none}.batch-empty,.comments-empty,.dashboard-empty{grid-auto-flow:row;place-content:center;justify-items:center}.ai-result-empty>span,.rebalance-start>span{display:none}@keyframes snack-in{0%{opacity:0;transform:translate(-50%,8px)}}.toast{right:auto;bottom:22px;left:50%;max-width:min(440px,90vw);padding:8px 16px;border-radius:999px;background:#191f28eb;box-shadow:0 4px 14px #02091e38;font-size:12.5px;font-weight:500;text-align:center;transform:translate(-50%);animation:snack-in .18s ease-out}.page-tabs{display:flex;gap:2px;margin:-4px 0 14px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--grey-200);scrollbar-width:none;-ms-overflow-style:none}.page-tabs::-webkit-scrollbar{display:none}.page-tabs button{position:relative;flex-shrink:0;padding:7px 11px 10px;border:0;background:transparent;color:var(--grey-500);font-size:13px;font-weight:600;transition:color .15s}.page-tabs button:hover,.page-tabs button.active{color:var(--ink)}.page-tabs button.active:after{position:absolute;right:7px;bottom:-1px;left:7px;height:2px;background:var(--grey-900);content:""}.page-tabs button small{margin-left:5px;color:var(--grey-400);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.page-tabs button.active small{color:var(--grey-600)}.bulk-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:6px 8px 6px 14px;border:1px solid var(--grey-300);border-radius:8px;background:var(--grey-50);font-size:12.5px}.bulk-bar>span{margin-right:auto;color:var(--grey-700)}.bulk-bar b{font-weight:800}.bulk-bar .text-action{border:1px solid var(--grey-300);background:#fff}.check-col{width:36px;padding:0 0 0 12px!important;border-right:0!important}.check-col input{display:block;width:15px;height:15px;margin:0;accent-color:var(--grey-900);cursor:pointer}tr.data-row{cursor:pointer}tr.data-row.row-open td{background:var(--grey-50);border-bottom-color:transparent}tr.selected-row td{background:var(--accent-soft)}.detail-row td{height:auto!important;padding:0!important;background:var(--grey-50);border-bottom:1px solid var(--grey-300)!important;border-right:0!important}.row-detail{display:grid;gap:9px;padding:2px 16px 13px 48px}.row-detail dl{display:flex;flex-wrap:wrap;gap:5px 20px;margin:0}.row-detail dl>div{display:flex;align-items:baseline;gap:6px}.row-detail dt{color:var(--grey-500);font-size:11px;font-weight:600}.row-detail dd{margin:0;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.row-detail-note{margin:0;max-width:720px;color:var(--grey-600);font-size:12px;line-height:1.55;white-space:pre-wrap}.row-detail-actions{display:flex;gap:4px}.row-detail-actions .text-action{border:1px solid var(--grey-300);background:#fff}.spinner{display:inline-block;width:26px;height:26px;border:3px solid var(--grey-200);border-top-color:var(--grey-800);border-radius:50%;animation:spin .9s linear infinite}.spinner.small{width:16px;height:16px;border-width:2.5px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state.loading{display:grid;place-items:center;padding:44px 20px}.empty-state.loading:before,.app-loading:before{display:none!important;content:none}.loading-inline{display:grid;place-items:center;padding:14px 0}.metric-row>b u.dir{margin-right:3px;font-size:8px;text-decoration:none;vertical-align:2px}.metric-row.warning>b{color:var(--red)}.metric-track .val.off{background:var(--red)}.cost-rate{min-width:0;justify-self:end;padding:0;border-radius:0;background:transparent!important;font-weight:700}.rate-low{color:var(--grey-600)}.rate-target{color:var(--green)}.rate-warning{color:var(--warn)}.rate-high{color:var(--red)}.rate-warning:before,.rate-high:before{margin-right:2px;font-size:9px;content:"▲"}.button,.icon-button{transition:background .15s,color .15s,border-color .15s,transform .12s}.recipe-list-item,.product-list button,.memo-cards>button,.settings-method-list>button,.profile-list button,.brand-list>button,.calendar-event,.calendar-date,.square-add,.square-import,.profile-manage{transition:background .15s,color .15s,border-color .15s,transform .12s}.button:active:not(:disabled),.icon-button:active,.text-action:active,.side-nav nav button:active:not(:disabled),.nav-collapse:active,.user-menu:active,.recipe-list-item:active,.product-list button:active,.memo-cards>button:active,.settings-method-list>button:active,.brand-list>button:active,.profile-list button:active:not(:disabled),.calendar-event:active,.calendar-date:active,.square-add:active,.square-import:active,.profile-manage:active{transform:scale(.96)}@media(max-width:1100px){.app{grid-template-columns:176px minmax(0,1fr)}.workspace-grid{grid-template-columns:1fr}.analysis-column{grid-template-columns:1fr 1fr}.analysis-panel{grid-column:1 / -1}.recipe-title-fields{align-items:flex-start;flex-direction:column;gap:6px}.recipe-topbar{align-items:center}.label-page{grid-template-columns:205px minmax(0,1fr)}.label-preview-column{position:static;grid-column:2;height:auto;border-top:1px solid var(--line)}.label-artwork{max-width:390px;margin:0 auto}.ai-layout,.dashboard-calendar-layout{grid-template-columns:1fr}.calendar-schedule-editor{position:static}}@media(max-width:840px){.app{grid-template-columns:1fr}.side-nav{position:sticky;top:0;flex-direction:row;align-items:center;gap:6px;height:auto;padding:6px 10px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.brand{width:auto}.server-status{display:none}.side-nav nav{display:flex;flex:1;gap:2px}.side-nav nav button{width:auto;min-height:40px;padding:0 10px}.side-nav nav button>em{display:none}.side-nav nav button>span{width:auto;font-size:17px}.side-nav-foot{display:flex;margin:0;padding:0}.user-menu>span:last-child{display:none}.recipe-page{grid-template-columns:1fr}.recipe-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar-title{padding:14px 16px 8px}.recipe-search{margin:0 12px 8px}.recipe-list{display:flex;gap:5px;overflow-x:auto;padding:0 12px 12px}.recipe-list-item{flex:0 0 200px;margin:0}.sidebar-empty{padding:16px}.label-page{grid-template-columns:1fr}.label-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.label-sidebar-copy{margin-bottom:12px}.product-list{grid-auto-flow:column;grid-auto-columns:200px;overflow-x:auto}.label-preview-column{grid-column:1}.page-shell{width:min(100% - 28px,1240px);padding-top:24px}.table-card{overflow-x:auto}.table-card table{min-width:800px}.calendar-panel{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:760px}.memo-layout.editing{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:620px){.side-nav nav button{padding:0 8px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px}.page-heading h1{font-size:21px}.toolbar{flex-wrap:wrap}.search-box{width:100%}.result-count{margin-left:0}.drawer{padding:22px 18px;border-radius:0}.drawer-actions{bottom:-22px;margin:0 -18px -22px;padding:12px 18px 18px}.form-grid.two,.form-grid.three{grid-template-columns:1fr 1fr}.profile-layout{grid-template-columns:1fr}.profile-list{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-topbar{align-items:stretch;flex-direction:column;padding:16px}.recipe-title-fields{width:100%}.recipe-title-inputs,.recipe-name{width:100%;max-width:none}.inline-fields{width:100%}.inline-fields select{flex:1;min-width:0}.topbar-actions{justify-content:stretch;width:100%}.topbar-actions .button{flex:1 1 auto;min-height:42px}.topbar-actions .current-version-save,.topbar-actions .button.primary{flex-basis:calc(50% - 4px)}.workspace-grid{padding:12px 10px 44px}.version-bar{align-items:flex-start;flex-direction:column;gap:7px;padding:9px 16px}.panel-heading{align-items:flex-start;flex-direction:column;gap:12px}.scale-control{align-self:stretch}.scale-control input{flex:1}.rescale-controls{width:100%;justify-content:flex-start}.rescale-controls select{flex:1;max-width:none}.batch-table-head{display:none}.batch-line{grid-template-columns:minmax(100px,1fr) 76px;gap:6px}.line-metrics{gap:3px 8px}.batch-line .ratio{grid-column:1;text-align:left}.batch-line .line-actions{grid-column:2;grid-row:2}.line-options{grid-column:1 / -1;flex-wrap:wrap}.line-options small{width:100%;margin:0}.metric-row{grid-template-columns:52px minmax(0,1fr) 70px}.metric-row>em{display:none}.analysis-column{grid-template-columns:1fr}.analysis-panel{grid-column:auto}.cost-table-head,.cost-row{grid-template-columns:minmax(85px,1fr) 90px 65px;padding:0 14px}.cost-help>div{width:min(280px,calc(100vw - 64px))}.label-editor{padding:24px 15px 40px}.label-form{padding:0 16px 18px}.label-editor-heading h1{font-size:20px}.label-preview-column{padding:20px 16px 32px}.ai-upload,.ai-result{padding:18px}.ai-setup{grid-template-columns:1fr}.extraction-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-method-layout,.account-settings-grid{grid-template-columns:1fr}.settings-method-list{border-right:0;border-bottom:1px solid var(--grey-100)}.processing-method-options{grid-template-columns:1fr}.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.calendar-navigation{width:100%}.calendar-navigation h1{flex:1}.calendar-summary{width:100%;justify-items:start}.calendar-category-legend{justify-content:flex-start}.memo-layout.editing{grid-template-columns:1fr}.memo-editor{border-top:1px solid var(--grey-100);border-left:0}.memo-cards{grid-template-columns:1fr}}.dashboard-calendar-layout{grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:14px}.calendar-grid article{min-height:124px;cursor:pointer}.calendar-grid article:hover{background:#fcfcfd}.calendar-grid article.outside:hover{background:var(--grey-100)}.dashboard-detail-column{position:sticky;top:16px;display:grid;align-content:start;gap:14px;min-width:0;max-height:calc(100vh - 32px);overflow:auto}.schedule-day-detail{overflow:hidden}.schedule-day-detail .dashboard-panel-heading>div{min-width:0}.schedule-day-detail .dashboard-panel-heading p{margin:3px 0 0;color:var(--grey-500);font-size:11px}.schedule-detail-list{display:grid;gap:7px;max-height:360px;overflow:auto;padding:10px;background:var(--grey-50)}.schedule-detail-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px;padding:11px;border:1px solid var(--grey-200);border-left:3px solid var(--category);border-radius:9px;background:#fff}.schedule-detail-card.selected{border-color:var(--accent);border-left-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.schedule-detail-card.completed{opacity:.58}.schedule-detail-main{display:grid;gap:6px;min-width:0;padding:0;border:0;color:var(--ink);background:transparent;text-align:left}.schedule-detail-main>span{display:flex;align-items:center;gap:7px;color:var(--grey-500);font-size:10px;font-variant-numeric:tabular-nums}.schedule-detail-main em{padding:2px 5px;border-radius:4px;color:var(--category);background:var(--category-soft);font-style:normal;font-weight:700}.schedule-detail-main strong{overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.schedule-detail-main p{display:-webkit-box;overflow:hidden;margin:0;color:var(--grey-600);font-size:11px;line-height:1.55;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:3}.schedule-detail-card.completed strong{text-decoration:line-through}.schedule-detail-card>.text-action{margin:-3px -5px 0 0}.dashboard-detail-column .memo-board{margin-top:0}.dashboard-detail-column .memo-layout,.dashboard-detail-column .memo-layout.editing{grid-template-columns:1fr}.dashboard-detail-column .memo-cards{grid-template-columns:1fr;min-height:100px;max-height:285px;padding:10px}.dashboard-detail-column .memo-cards>button{min-height:82px;padding:10px}.dashboard-detail-column .memo-editor{border-top:1px solid var(--grey-100);border-left:0}.dashboard-empty.compact{min-height:96px;padding:14px;text-align:center}.dashboard-empty.compact:before{display:none}.dashboard-empty.compact small{margin-top:5px;color:var(--grey-400);font-size:10px}.schedule-modal-backdrop{position:fixed;z-index:85;inset:0;display:grid;place-items:center;padding:24px;background:#191f2894;animation:fade-in .15s ease-out}.schedule-modal{width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;border:0;border-radius:14px;box-shadow:0 20px 60px #02091e47;animation:schedule-modal-in .18s ease-out}.schedule-modal .dashboard-panel-heading{position:sticky;z-index:2;top:0;background:#fff}.schedule-modal .form-error{margin:0 16px 14px}@keyframes schedule-modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media(max-width:1100px){.dashboard-calendar-layout{grid-template-columns:1fr}.dashboard-detail-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}}@media(max-width:840px){.dashboard-detail-column{grid-template-columns:1fr}.calendar-grid article{min-height:112px}}@media(max-width:620px){.schedule-modal-backdrop{padding:0}.schedule-modal{width:100%;height:100%;max-height:none;border-radius:0}.schedule-category-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-date-time{grid-template-columns:1fr}.user-modal-backdrop{padding:0}.user-modal{width:100%;height:100%;max-height:none;border-radius:0}.user-modal-header,.user-form{padding:18px}.user-form-actions{padding:13px 18px 18px}}@media(max-width:980px){.login-shell{grid-template-columns:minmax(0,.85fr) minmax(400px,1.15fr)}.login-showcase{padding:28px}.login-page .login-card{padding-right:32px;padding-left:32px}}@media(max-width:760px){.login-shell{display:block;min-height:100vh}.login-showcase{min-height:250px;padding:24px;background-position:58% 60%}.login-showcase-copy h2{font-size:22px}.login-showcase-copy p{display:none}.login-page .login-card{min-height:calc(100vh - 250px);padding:36px 24px 24px}.login-card-inner{width:min(420px,100%)}.login-footer{margin-top:36px}}@media(max-width:420px){.login-showcase{min-height:210px}.login-showcase-copy h2{font-size:20px}.login-page .login-card{min-height:calc(100vh - 210px);padding-top:32px}.login-page .login-card h1{font-size:23px}}@media(min-width:841px)and (max-width:1335px){.workspace-grid{grid-template-columns:minmax(0,1fr)}.analysis-column{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-panel{grid-column:1 / -1}.recipe-title-fields{align-items:flex-start;flex-direction:column;gap:6px}.recipe-topbar{align-items:flex-start}}@media(min-width:841px)and (max-width:1279px){.label-page{grid-template-columns:205px minmax(0,1fr)}.label-preview-column{position:static;grid-column:2;height:auto;border-top:1px solid var(--line)}.label-artwork{max-width:390px;margin:0 auto}}@media(max-width:840px){.app,.app.nav-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-content:start;width:100%;max-width:100vw}.side-nav,.nav-collapsed .side-nav{position:sticky;z-index:40;top:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:60px;align-items:center;align-self:start;gap:0 4px;width:100%;height:auto;padding-top:0;padding-right:max(10px,env(safe-area-inset-right));padding-bottom:0;padding-left:max(10px,env(safe-area-inset-left));overflow:visible;border-right:0;border-bottom:1px solid var(--line);background:#fffffffa}.brand,.nav-collapsed .brand{position:relative;z-index:44;grid-column:2;grid-row:1;justify-self:center;justify-content:center;width:auto;min-height:44px;padding:6px 4px}.brand strong,.nav-collapsed .brand strong{font-size:19px;letter-spacing:-.02em}.side-nav nav,.nav-collapsed .side-nav nav{position:fixed;z-index:43;top:60px;bottom:0;left:0;display:grid;align-content:start;gap:4px;width:min(312px,calc(100vw - 48px));padding:14px 12px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;border-right:1px solid var(--line);background:#fff;box-shadow:16px 0 40px #1118271f;visibility:hidden;transform:translate(-105%);transition:transform .22s ease,visibility .22s;pointer-events:none}.side-nav.mobile-nav-open nav{visibility:visible;transform:translate(0);pointer-events:auto}.side-nav nav button,.nav-collapsed .side-nav nav button{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-width:0;min-height:48px;padding:0 14px;border-radius:10px;font-size:15px;text-align:left}.side-nav nav button>span,.nav-collapsed .side-nav nav button>span{width:22px;height:22px;font-size:18px}.side-nav nav button>span svg{width:20px;height:20px}.side-nav nav button>em,.nav-collapsed .side-nav nav button>em{display:block}.side-nav nav button:after{content:none}.side-nav nav button.active{color:#fff;background:var(--grey-900);box-shadow:none}.mobile-nav-toggle{position:relative;z-index:44;grid-column:1;grid-row:1;display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:10px;color:var(--grey-700);background:transparent}.mobile-nav-toggle:hover{background:var(--grey-100)}.mobile-nav-toggle svg{width:22px;height:22px}.mobile-nav-backdrop{position:fixed;z-index:42;inset:60px 0 0;display:block;width:100%;height:auto;padding:0;border:0;border-radius:0;background:#11182761;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s;pointer-events:none}.side-nav.mobile-nav-open .mobile-nav-backdrop{visibility:visible;opacity:1;pointer-events:auto}.side-nav-foot,.nav-collapsed .side-nav-foot{position:relative;z-index:44;grid-column:3;grid-row:1;display:flex;justify-items:initial;margin:0;padding:0}.server-status,.nav-collapse{display:none}.user-menu,.nav-collapsed .user-menu{justify-content:center;width:44px;min-width:44px;min-height:44px;padding:6px}.user-menu>span:last-child,.nav-collapsed .user-menu>span:last-child{display:none}.account-menu,.nav-collapsed .account-menu{width:44px}.account-menu-popover{top:calc(100% + 8px);right:0;bottom:auto;left:auto;width:min(240px,calc(100vw - 20px))}.app-main{grid-row:2;min-width:0}.help-tooltip-popover,.help-tooltip-popover[style]{top:auto!important;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px!important;width:auto;max-width:none;max-height:calc(100dvh - 84px);visibility:visible}button:not(.calendar-event):not(.schedule-detail-main):not(.name-button){min-height:44px}.icon-button,.square-add,.square-import,.profile-manage,.help-tooltip>button{width:44px;min-width:44px;height:44px}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea,.searchable-select-trigger,.searchable-select-search>input{min-height:44px;font-size:16px!important}.recipe-name{font-size:22px!important}.table-card:focus-visible{border-color:var(--grey-900);box-shadow:0 0 0 2px var(--grey-200)}.table-card table{min-width:720px}.ingredients-table table{min-width:800px}.users-table table{min-width:680px}.ingredients-table th:first-child,.ingredients-table tbody tr:not(.detail-row)>td:first-child,.users-table th:first-child,.users-table td:first-child{position:sticky;z-index:2;left:0;background:#fff}.ingredients-table th:first-child,.users-table th:first-child{z-index:4;background:var(--grey-100)}.ingredients-table:has(.check-col) th:nth-child(2),.ingredients-table:has(.check-col) tbody tr:not(.detail-row)>td:nth-child(2){position:sticky;z-index:2;left:36px;min-width:150px;background:#fff}.ingredients-table:has(.check-col) th:nth-child(2){z-index:4;background:var(--grey-100)}.ingredients-table th:last-child,.ingredients-table tbody tr:not(.detail-row)>td:last-child,.users-table th:last-child,.users-table td:last-child{position:sticky;z-index:3;right:0;background:#fff;box-shadow:-1px 0 var(--grey-200)}.ingredients-table th:last-child,.users-table th:last-child{z-index:5;background:var(--grey-100)}.ingredients-table tr.selected-row>td:first-child,.ingredients-table tr.selected-row>td:nth-child(2){background:var(--accent-soft)}.calendar-panel{overflow:hidden}.calendar-weekdays,.calendar-grid{min-width:0}.calendar-grid article{min-height:96px}.calendar-date{min-width:44px;height:44px}.calendar-event{min-height:28px}}@media(max-width:620px){.page-shell{width:calc(100% - 20px);padding-top:18px}.page-heading-actions{display:flex;flex-wrap:wrap;gap:7px;width:100%}.page-heading-actions .button{flex:1 1 auto}.form-grid.two,.form-grid.three{grid-template-columns:minmax(0,1fr)}.form-grid>*{min-width:0}label.ffield,div.ffield{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:6px}label.ffield>small{grid-column:1}label.ffield:has(textarea)>.fl{padding-top:0}.searchable-select-popover{left:0;width:100%;min-width:0;max-width:100%}.drawer{width:100%;max-width:none;padding:18px 14px;overflow-x:hidden}.drawer-actions{bottom:-18px;margin:0 -14px -18px;padding:12px 14px calc(14px + env(safe-area-inset-bottom))}.drawer-actions .save-disabled-reason{flex:1 0 100%}.form-section-title{align-items:flex-start;gap:10px}.brand-layout,.import-preview{grid-template-columns:minmax(0,1fr)}.formula-line{grid-template-columns:minmax(0,1fr) 86px 44px}.formula-summary,.rebalance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.manufacturing-entry{grid-template-columns:repeat(2,minmax(0,1fr));margin-right:12px;margin-left:12px}.nutrition-head,.nutrition-row{grid-template-columns:minmax(86px,1fr) repeat(3,58px);column-gap:4px;padding-right:10px;padding-left:10px}.settings-method-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}.label-editor{padding:20px 10px 32px}.label-form{padding:0 12px 18px}.label-editor-heading{gap:10px}.label-preview-column{padding:18px 10px 28px}.ai-upload,.ai-result{padding:14px}.ai-result-empty{min-height:240px;padding:28px 14px}.ingredient-ai-intro{grid-template-columns:auto minmax(0,1fr);padding:12px}.ingredient-ai-intro .ai-status-badge{grid-column:1 / -1;justify-content:center}.ingredient-ai-source-grid,.ingredient-registration-switch{grid-template-columns:minmax(0,1fr)}.ingredient-ai-file{min-height:170px}.ingredient-ai-context{grid-template-rows:auto auto auto}.ingredient-ai-context textarea{min-height:180px}.extraction-fields{grid-template-columns:minmax(0,1fr)}.users-table{overflow:visible;border:0;border-radius:0;background:transparent}.users-table table,.users-table tbody{display:block;min-width:0}.users-table thead{display:none}.users-table tbody{display:grid;gap:10px}.users-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.users-table tbody tr:hover{background:#fff}.users-table tbody tr>td,.users-table tbody tr>td:first-child,.users-table tbody tr>td:last-child{position:static;display:flex;width:auto;min-width:0;height:auto;min-height:44px;padding:9px 0;border:0;background:transparent;box-shadow:none;text-align:left}.users-table tbody tr>td:first-child{grid-column:1 / -1;display:block;min-height:0;padding-top:0;padding-bottom:12px;border-bottom:1px solid var(--grey-100)}.users-table td:first-child strong{display:inline-block;margin-right:5px}.users-table td:nth-child(2),.users-table td:nth-child(3),.users-table td:nth-child(4){align-items:flex-start;flex-direction:column;justify-content:center;gap:4px}.users-table td:nth-child(4){grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid var(--grey-100);color:var(--grey-600)}.users-table td:nth-child(2):before,.users-table td:nth-child(3):before,.users-table td:nth-child(4):before{color:var(--grey-500);font-size:11px;font-weight:600}.users-table td:nth-child(2):before{content:"권한"}.users-table td:nth-child(3):before{content:"상태"}.users-table td:nth-child(4):before{content:"등록일"}.users-table tbody tr>td:last-child{grid-column:1 / -1;justify-content:flex-end;gap:6px;padding-bottom:0;border-top:1px solid var(--grey-100)}.users-table .row-actions .text-action{min-width:64px}.ingredients-table{overflow:visible;border:0;border-radius:0;background:transparent}.ingredients-table table,.ingredients-table tbody{display:block;min-width:0}.ingredients-table thead{display:none}.ingredients-table tbody{display:grid;gap:10px}.ingredients-table tbody tr:not(.detail-row){position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.ingredients-table tbody tr:not(.detail-row):hover{background:#fff}.ingredients-table tbody tr.selected-row:not(.detail-row){border-color:var(--grey-500);background:var(--grey-50)}.ingredients-table tbody tr:not(.detail-row)>td,.ingredients-table tbody tr:not(.detail-row)>td:first-child,.ingredients-table tbody tr:not(.detail-row)>td:last-child,.ingredients-table:has(.check-col) tbody tr:not(.detail-row)>td:nth-child(2){position:static;display:flex;width:auto;min-width:0;height:auto;min-height:54px;padding:9px 0;border:0;background:transparent;box-shadow:none;text-align:left}.ingredients-table tbody tr:not(.detail-row)>td:has(.name-button){grid-column:1 / -1;display:block;min-height:0;padding-top:0;padding-bottom:12px;border-bottom:1px solid var(--grey-100)}.ingredients-table:has(.check-col) tbody tr:not(.detail-row)>td:has(.name-button){padding-left:34px}.ingredients-table tbody tr:not(.detail-row)>td.check-col{position:absolute;top:6px;left:8px;display:grid;place-items:center;width:44px;min-height:44px;padding:0}.ingredients-table td[data-label]{align-items:flex-start;flex-direction:column;justify-content:center;gap:4px}.ingredients-table td[data-label]:before{color:var(--grey-500);font-size:11px;font-weight:600;content:attr(data-label)}.ingredients-table td[data-label=수분],.ingredients-table td[data-label=지방],.ingredients-table td[data-label=당류],.ingredients-table td[data-label="POD / PAC"]{display:none!important}.ingredients-table td.number{color:var(--ink);font-variant-numeric:tabular-nums}.ingredients-table .allergen-summary{max-width:100%;white-space:normal}.ingredients-table tbody tr:not(.detail-row)>td.row-actions{grid-column:1 / -1;justify-content:flex-end;gap:6px;min-height:44px;padding-bottom:0;border-top:1px solid var(--grey-100)}.ingredients-table .row-actions .text-action{min-width:64px}.ingredients-table .detail-row{display:block;margin-top:-10px}.ingredients-table .detail-row>td{display:block;height:auto;padding:14px;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px}.calendar-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;gap:4px}.calendar-navigation h1{min-width:0;font-size:18px}.calendar-today{min-width:48px;margin-left:0;padding:0 8px}.calendar-stats{font-size:11px;line-height:1.45}.calendar-weekdays span{padding:7px 2px;font-size:10px}.calendar-grid article{min-height:82px;padding:3px}.calendar-date{justify-content:center;width:44px;max-width:100%;min-width:36px;height:40px;padding:0 3px;font-size:12px}.calendar-date small{display:none}.calendar-grid article.today .calendar-date time{width:24px;height:24px}.calendar-events{gap:2px;margin-top:1px}.calendar-holiday{justify-content:center;min-height:22px;padding:2px}.calendar-holiday:before{display:none}.calendar-holiday strong{font-size:9px}.calendar-event{display:block;min-height:28px;padding:3px;text-align:center}.calendar-event span{display:none}.calendar-event strong{font-size:9px}.calendar-event:nth-of-type(n+2){display:none}.calendar-more{display:none}}.physical-state-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.physical-state-badge.state-liquid{color:#1767a0;background:#e7f4fc}.physical-state-badge.state-solid{color:#77531c;background:#f7f0df}.line-options .process-stage-control{gap:6px;padding:2px 4px 2px 9px;color:var(--ink);opacity:1!important;background:#eef2f6}.batch-line .line-options .process-stage-control select{width:auto;min-width:108px;height:25px;padding:0 24px 0 8px;border:0;border-radius:999px;color:var(--ink);background-color:#fff;background-position:right 6px center;font-size:10.5px;font-weight:700}.manufacture-button{color:#fff;border-color:#15202b;background:#15202b}.manufacture-button:hover:not(:disabled){border-color:#263647;background:#263647}.manufacture-button span{color:#8ee7bb;font-size:10px}.manufacturing-modal{position:fixed;z-index:200;inset:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;height:100vh;color:#17212b;background:#f4f6f8;animation:fade-in .16s ease-out}.manufacturing-header{display:grid;grid-template-columns:210px minmax(0,1fr) 48px;align-items:center;min-height:74px;padding:10px 24px;color:#fff;background:#121a23}.manufacturing-brand{display:flex;align-items:center;gap:12px}.manufacturing-brand span{font-size:22px;font-weight:900;letter-spacing:-.05em}.manufacturing-brand b{padding-left:12px;border-left:1px solid #4d5965;color:#8e9aa6;font-size:10px;letter-spacing:.14em}.manufacturing-title-block{min-width:0;text-align:center}.manufacturing-title-block>span{display:block;margin-bottom:2px;color:#8e9aa6;font-size:10px;font-weight:700;letter-spacing:.08em}.manufacturing-title-block h2{overflow:hidden;margin:0;font-size:20px;line-height:1.25;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.manufacturing-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid #34404c;border-radius:50%;color:#fff;background:transparent;font-size:26px;font-weight:300;cursor:pointer}.manufacturing-close:hover{background:#26313c}.manufacturing-commandbar{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1fr) minmax(300px,1.3fr);align-items:center;gap:24px;padding:15px 28px;border-bottom:1px solid #dce2e8;background:#fff;box-shadow:0 2px 12px #1826330a}.manufacturing-commandbar>label{display:flex;align-items:center;gap:12px;color:#63707c;font-size:12px;font-weight:700}.manufacturing-weight-input{display:flex;align-items:center;width:132px;height:38px;border:1px solid #cbd3db;border-radius:8px;background:#fff}.manufacturing-weight-input input{min-width:0;width:100%;height:100%;padding:0 5px 0 12px;border:0;outline:0;background:transparent;font-size:16px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.manufacturing-weight-input b{padding-right:10px;color:#85909a}.manufacturing-scale-summary{display:flex;align-items:center;justify-content:center;gap:10px;color:#7b8792;font-size:11px}.manufacturing-scale-summary b{padding:5px 9px;border-radius:999px;color:#216945;background:#e5f5ec}.manufacturing-progress-summary{display:grid;grid-template-columns:auto minmax(100px,1fr) 40px;align-items:center;gap:12px}.manufacturing-progress-summary>div:first-child{display:flex;align-items:baseline;gap:8px}.manufacturing-progress-summary span{color:#7b8792;font-size:11px;font-weight:700}.manufacturing-progress-summary strong{font-size:20px;font-variant-numeric:tabular-nums}.manufacturing-progress-summary strong small{color:#9aa4ae;font-size:12px}.manufacturing-progress-summary>b{color:#178653;font-size:13px;text-align:right}.manufacturing-progress-track{overflow:hidden;height:8px;border-radius:999px;background:#e5e9ed}.manufacturing-progress-track i{display:block;height:100%;border-radius:inherit;background:#20a766;transition:width .25s ease}.manufacturing-content{overflow:auto;padding:24px clamp(20px,4vw,64px) 40px;overscroll-behavior:contain}.manufacturing-methods{display:flex;align-items:center;gap:18px;max-width:1440px;margin:0 auto 18px;padding:12px 16px;border:1px solid #dce2e8;border-radius:10px;background:#fff}.manufacturing-methods>strong{flex:0 0 auto;font-size:12px}.manufacturing-methods>div{display:flex;flex-wrap:wrap;gap:7px}.manufacturing-methods span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px 5px 5px;border-radius:999px;color:#4e5b67;background:#f1f4f6;font-size:11px;font-weight:700}.manufacturing-methods span b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#fff;background:#73808c;font-size:9px}.manufacturing-stage{max-width:1440px;margin:0 auto 18px;border:1px solid #dce2e8;border-radius:14px;background:#fff;box-shadow:0 4px 18px #1b27320a}.manufacturing-stage-heading{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:11px 18px;border-bottom:1px solid #e6eaee}.manufacturing-stage-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:#17212b;font-size:10px;font-weight:800}.manufacturing-stage-heading h3{margin:0;font-size:16px;letter-spacing:-.02em}.manufacturing-stage-heading p{margin:3px 0 0;color:#84909b;font-size:11px}.manufacturing-stage-heading>strong{min-width:52px;padding:6px 9px;border-radius:999px;color:#54705f;background:#eaf5ef;font-size:11px;text-align:center}.manufacturing-state-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.manufacturing-state-group+.manufacturing-state-group{border-left:1px solid #e6eaee}.manufacturing-state-heading{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border-bottom:1px solid #eef1f4;background:#fafbfc}.manufacturing-state-heading>span{color:#2984b5}.manufacturing-state-group.state-solid .manufacturing-state-heading>span{color:#9a752d;font-size:10px}.manufacturing-state-heading strong{font-size:12px}.manufacturing-state-heading small{margin-left:auto;color:#9aa3ac;font-size:10px}.manufacturing-items{padding:8px}.manufacturing-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px 10px;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:border-color .15s,background .15s,opacity .15s}.manufacturing-item:hover{border-color:#dce2e8;background:#f8fafb}.manufacturing-item.checked{opacity:.55;background:#f1f4f3}.manufacturing-item input{position:absolute;width:1px;height:1px;opacity:0}.manufacturing-checkmark{display:grid;place-items:center;width:24px;height:24px;border:2px solid #c5cdd4;border-radius:7px;color:transparent;background:#fff;font-size:13px;font-weight:900}.manufacturing-item.checked .manufacturing-checkmark{color:#fff;border-color:#1d9c60;background:#1d9c60}.manufacturing-item-name{overflow:hidden}.manufacturing-item-name strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.manufacturing-item-name small{display:block;overflow:hidden;margin-top:3px;color:#929ca5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.manufacturing-item.checked .manufacturing-item-name strong{text-decoration:line-through}.manufacturing-amount{display:flex;align-items:baseline;gap:3px;min-width:84px;justify-content:flex-end;color:#16212b;font-variant-numeric:tabular-nums}.manufacturing-amount strong{font-size:20px;letter-spacing:-.025em}.manufacturing-amount small{color:#85909a;font-size:11px;font-weight:700}.manufacturing-no-items,.manufacturing-stage-empty{margin:0;color:#a0a9b1;font-size:11px;text-align:center}.manufacturing-no-items{padding:18px 8px}.manufacturing-stage-empty{padding:22px}.manufacturing-stage.empty{box-shadow:none}.manufacturing-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:70px;padding:11px 28px calc(11px + env(safe-area-inset-bottom));border-top:1px solid #d8dee4;background:#fff}.manufacturing-footer>span{margin-right:auto;color:#6f7b86;font-size:12px;font-weight:600}.manufacturing-footer .button{min-width:128px}@media(max-width:840px){.manufacturing-header{grid-template-columns:auto minmax(0,1fr) 44px;min-height:64px;padding:8px 14px}.manufacturing-brand b{display:none}.manufacturing-brand span{font-size:18px}.manufacturing-title-block h2{font-size:17px}.manufacturing-commandbar{grid-template-columns:1fr 1fr;gap:10px 16px;padding:12px 16px}.manufacturing-scale-summary{justify-content:flex-end}.manufacturing-progress-summary{grid-column:1 / -1}.manufacturing-content{padding:16px}}@media(max-width:620px){.line-options .process-stage-control{flex:1 1 auto}.batch-line .line-options .process-stage-control select{min-width:0;width:100%}.manufacturing-modal{height:100dvh}.manufacturing-header{grid-template-columns:minmax(0,1fr) 44px}.manufacturing-brand{display:none}.manufacturing-title-block{text-align:left}.manufacturing-title-block h2{font-size:16px}.manufacturing-close{width:40px;height:40px}.manufacturing-commandbar{display:flex;align-items:stretch;flex-direction:column;gap:10px;padding:10px 14px}.manufacturing-commandbar>label{justify-content:space-between}.manufacturing-weight-input{width:148px}.manufacturing-scale-summary{justify-content:space-between}.manufacturing-progress-summary{grid-template-columns:auto minmax(80px,1fr) 36px}.manufacturing-content{padding:12px 10px 24px}.manufacturing-methods{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:10px}.manufacturing-stage{margin-bottom:10px;border-radius:11px}.manufacturing-stage-heading{grid-template-columns:34px minmax(0,1fr) auto;gap:8px;min-height:60px;padding:9px 11px}.manufacturing-stage-heading>span{width:30px;height:30px}.manufacturing-stage-heading h3{font-size:14px}.manufacturing-stage-heading p{display:none}.manufacturing-stage-heading>strong{min-width:44px;padding:5px 7px}.manufacturing-state-columns{grid-template-columns:minmax(0,1fr)}.manufacturing-state-group+.manufacturing-state-group{border-top:1px solid #e6eaee;border-left:0}.manufacturing-state-group:has(.manufacturing-no-items){display:none}.manufacturing-item{min-height:62px}.manufacturing-amount{min-width:76px}.manufacturing-amount strong{font-size:19px}.manufacturing-footer{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:9px 10px calc(9px + env(safe-area-inset-bottom))}.manufacturing-footer>span{grid-column:1 / -1;grid-row:1;width:100%;margin:0;font-size:11px;text-align:center}.manufacturing-footer .button{min-width:0;width:100%;min-height:42px}}@media(min-width:841px){.app,.app.nav-collapsed{grid-template-columns:64px minmax(0,1fr)}.side-nav,.nav-collapsed .side-nav{align-items:center;gap:12px;width:64px;padding:10px 7px 12px;border-right:1px solid #272d35;color:#fff;background:#12161c}.brand,.nav-collapsed .brand{display:grid;width:36px;height:36px;min-height:36px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.48);border-radius:6px}.brand strong,.nav-collapsed .brand strong{color:#fff;font-size:9px;letter-spacing:-.04em}.side-nav nav,.nav-collapsed .side-nav nav{display:flex;width:100%;flex:1;flex-direction:column;gap:3px}.side-nav nav button,.nav-collapsed .side-nav nav button{display:flex;width:100%;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border-radius:6px;color:#ffffff94;background:transparent;font-size:9px}.side-nav nav button:hover:not(:disabled){color:#fff;background:#ffffff17}.side-nav nav button.active{color:#12161c;background:#fff}.side-nav nav button>span{width:18px;height:18px}.side-nav nav button>span svg{width:17px;height:17px}.side-nav nav button>em,.nav-collapsed .side-nav nav button>em{display:block;max-width:52px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.side-nav-foot,.nav-collapsed .side-nav-foot{justify-items:center;width:100%;padding:0}.nav-collapse,.server-status{display:none}.account-menu,.nav-collapsed .account-menu{width:auto}.user-menu,.nav-collapsed .user-menu{justify-content:center;width:38px;min-height:38px;padding:4px}.user-menu>span:last-child{display:none}.avatar{border:1px solid rgba(255,255,255,.42);background:transparent}.account-menu-popover{bottom:0;left:calc(100% + 10px)}.app-main{min-height:100vh;background:#f5f7f9}.page-shell{width:100%;max-width:none;margin:0;padding:0 16px 44px}.page-heading,.calendar-toolbar{min-height:76px;margin:0 -16px 14px;padding:10px 20px;border-bottom:1px solid #cfd5dc;background:#fff}.page-heading h1,.calendar-navigation h1{font-size:19px;font-weight:800;letter-spacing:-.025em}.page-heading-copy p,.calendar-stats{margin-top:2px;font-size:10px}.page-heading-actions{gap:5px}.page-heading-actions .button,.calendar-toolbar .button{min-height:30px;padding:0 10px;border-radius:5px;font-size:10.5px}.toolbar{min-height:42px;margin-bottom:10px;padding:5px 7px;border:1px solid #cfd5dc;border-radius:6px;background:#fff}.toolbar select,.toolbar .search-box{height:30px;border-radius:5px;font-size:11px}.panel,.table-card{border:1px solid #cfd5dc;border-radius:6px;background:#fff}.table-card{overflow:hidden}.table-card th{background:#f1f3f5}.dashboard-calendar-layout{gap:10px}.dashboard-detail-column{top:10px;gap:10px;max-height:calc(100vh - 20px)}.calendar-panel,.schedule-day-detail,.memo-board{border-radius:6px}.dashboard-panel-heading{min-height:40px;padding:6px 10px}.dashboard-panel-heading h2{font-size:12px}.dashboard-panel-heading p{font-size:9px}.settings-content,.account-settings-card{border-radius:6px}.settings-heading{min-height:48px;padding:9px 12px}.settings-heading h2{font-size:13px}.settings-heading p{font-size:10px}.settings-method-layout{grid-template-columns:216px minmax(0,1fr)}.settings-method-list{padding:8px;border-right-color:#cfd5dc;background:#f5f7f9}.settings-method-list>button{min-height:48px;padding:7px 8px;border-radius:5px}.settings-method-form{padding:14px}.label-page{grid-template-columns:216px minmax(470px,1fr) 348px;background:#f5f7f9}.label-sidebar{border-right-color:#cfd5dc}.label-sidebar .sidebar-title{min-height:53px;padding:12px 10px 8px}.label-sidebar .sidebar-title h2{font-size:13px}.label-sidebar .square-add{width:28px;height:28px;border-radius:5px}.product-list{gap:2px;padding:0 6px 16px}.product-list button{min-height:58px;padding:7px 8px;border:1px solid transparent;border-left:2px solid transparent;border-radius:5px}.product-list button:hover{border-color:#e4e8ec;background:#f5f7f9}.product-list button.selected{border-color:#3182f633;border-left-color:#3182f6;background:#3182f617}.product-list strong{font-size:11px}.product-list small{font-size:9px}.label-editor{padding:18px 16px 44px;background:#f5f7f9}.label-editor-heading{max-width:none;margin-bottom:10px;padding:0 2px}.label-editor-heading h1{font-size:17px}.label-alert,.label-form{max-width:820px}.label-form{padding-right:18px;padding-left:18px;border-radius:6px}.label-preview-column{width:auto;padding:16px 18px 30px;border-left-color:#cfd5dc;background:#eef1f4}.preview-toolbar h2{font-size:13px}}.stage-band-page{--recipe-blue: #3182f6;--recipe-blue-soft: rgba(49, 130, 246, .09);--recipe-line: #e4e8ec;--recipe-line-strong: #cfd5dc;display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;color:#12161c;background:#f5f7f9;font-size:12.5px;font-variant-numeric:tabular-nums;line-height:1.45}.stage-band-page .recipe-sidebar{position:sticky;top:0;display:flex;height:100vh;min-height:0;flex-direction:column;overflow:hidden;border-right:1px solid var(--recipe-line-strong);background:#fff}.recipe-index-head{flex:none;padding:13px 12px 10px;border-bottom:1px solid var(--recipe-line)}.recipe-index-title{display:flex;align-items:baseline;justify-content:space-between}.recipe-index-title h2{margin:0;font-size:13px;font-weight:800}.recipe-index-title span{color:#8b95a1;font-size:10.5px}.stage-band-page .recipe-search{height:30px;margin:9px 0 0;border:1px solid var(--recipe-line-strong);border-radius:5px;background:#f5f7f9}.stage-band-page .recipe-search:focus-within{border-color:var(--recipe-blue)}.stage-band-page .recipe-search>svg{left:8px;width:14px;color:#8b95a1}.stage-band-page .recipe-search>input{min-height:28px;padding:0 27px;border:0!important;background:transparent!important;font-size:11px!important}.stage-band-page .recipe-search>button{right:3px;width:24px;min-height:24px;height:24px}.recipe-index-actions{display:grid;grid-template-columns:auto auto 1fr;gap:4px;margin-top:7px}.recipe-index-actions button{min-height:27px;padding:0 7px;border:1px solid var(--recipe-line);border-radius:5px;color:#4e5968;background:#fff;font-size:10px;font-weight:650}.recipe-index-actions button:hover{border-color:var(--recipe-line-strong);background:#f5f7f9}.recipe-index-actions button.new-recipe{color:#fff;border-color:#12161c;background:#12161c}.stage-band-page .recipe-list{min-height:0;flex:1;padding:6px;overflow-y:auto}.stage-band-page .recipe-list-item{display:grid;width:100%;min-height:61px;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:0 0 2px;padding:7px 8px 6px 9px;border:1px solid transparent;border-left:2px solid transparent;border-radius:5px;color:#4e5968;background:transparent;text-align:left}.stage-band-page .recipe-list-item:hover{border-color:var(--recipe-line);background:#f5f7f9}.stage-band-page .recipe-list-item.selected{color:#12161c;border-color:#3182f633;border-left-color:var(--recipe-blue);background:var(--recipe-blue-soft)}.stage-band-page .recipe-list-item>span{display:grid;min-width:0;gap:1px}.stage-band-page .recipe-list-item strong{display:flex;align-items:center;gap:4px;overflow:hidden;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.stage-band-page .recipe-list-item em{margin:0;color:#8b95a1;font-size:10.5px}.stage-band-page .recipe-list-item small{display:flex;align-items:center;gap:5px;color:#8b95a1;font-size:10px}.stage-band-page .recipe-list-item .status-dot{display:inline-block;width:6px;height:6px}.stage-band-page .recipe-list-item>b{align-self:center;color:#8b95a1;font-size:11px}.stage-band-page .op-badge{display:inline-block;flex:none;padding:0 4px;border-radius:3px;font-size:8px!important;line-height:15px}.stage-band-page .recipe-workspace{display:flex;min-width:0;min-height:100vh;flex-direction:column;background:#f5f7f9}.recipe-breadcrumb{display:flex;min-height:29px;align-items:center;gap:6px;padding:0 15px;border-bottom:1px solid var(--recipe-line);color:#8b95a1;background:#f5f7f9;font-size:10px}.recipe-breadcrumb b{color:#c1c7ce;font-weight:400}.recipe-breadcrumb em{margin-left:auto;color:#6b7684;font-style:normal}.stage-band-page .recipe-topbar{display:grid;min-height:68px;grid-template-columns:minmax(230px,1fr) auto minmax(330px,1.3fr);align-items:center;gap:14px;padding:9px 15px;border-bottom:1px solid var(--recipe-line-strong)}.stage-band-page .recipe-title-inputs{display:grid;min-width:0;max-width:470px}.recipe-title-line{display:flex;align-items:center;gap:6px}.stage-band-page .recipe-name{width:min(100%,420px);min-width:150px;max-width:none;padding:0;font-size:17px;font-weight:800;letter-spacing:-.025em}.stage-band-page .recipe-subtitle{min-width:150px;padding:0;font-size:10.5px}.recipe-id{flex:none;padding:3px 5px;border:1px solid var(--recipe-line-strong);border-radius:4px;color:#6b7684;background:#f5f7f9;font-size:8.5px;font-weight:750;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.stage-band-page .op-toggle{width:29px;height:23px;flex:none;border:1px solid var(--recipe-line-strong);border-radius:4px;background:#fff}.stage-band-page .op-toggle.selected{color:#a35f09;border-color:#e2a544;background:#fdf3e4}.stage-band-page .op-toggle span{font-size:9px}.recipe-head-state{display:flex;align-items:center;gap:8px}.recipe-head-state>select{height:30px;padding:0 25px 0 9px;border:1px solid var(--recipe-line-strong);border-radius:5px;background:#fff;font-size:11px}.version-pills{display:flex;align-items:center;gap:2px}.version-pills button{min-width:25px;min-height:25px;height:25px;padding:0 5px;border:1px solid transparent;border-radius:4px;color:#8b95a1;background:transparent;font-size:9.5px}.version-pills button:hover{background:#f1f3f5}.version-pills button.active{color:#12161c;border-color:var(--recipe-line-strong);background:#fff;font-weight:750}.stage-band-page .topbar-actions{flex-wrap:nowrap;gap:5px}.stage-band-page .topbar-actions .button{min-height:30px;padding:0 9px;border-radius:5px;font-size:10.5px;white-space:nowrap}.stage-band-page .manufacture-button{color:#078a4b;border-color:#9fd0b8;background:#eff9f3}.recipe-tools{position:relative;z-index:20;display:flex;min-height:46px;align-items:center;gap:5px;padding:7px 15px;border-bottom:1px solid var(--recipe-line-strong);background:#fff}.recipe-tools .tool-label{color:#8b95a1;font-size:9.5px;font-weight:700;white-space:nowrap}.recipe-tools .target-selector{width:190px;flex:none}.recipe-tools .searchable-select-trigger{min-height:30px;height:30px;padding:0 26px 0 8px;border:1px solid var(--recipe-line-strong);border-radius:5px;font-size:10.5px}.recipe-tools .profile-manage{width:30px;min-width:30px;height:30px;border:1px solid var(--recipe-line);border-radius:5px;background:#fff;font-size:12px}.tool-divider{width:1px;height:20px;margin:0 5px;background:var(--recipe-line)}.scale-segmented{display:flex;height:30px;overflow:hidden;border:1px solid var(--recipe-line-strong);border-radius:5px}.scale-segmented button{min-height:28px;padding:0 8px;border:0;border-right:1px solid var(--recipe-line);color:#6b7684;background:#fff;font-size:10.5px}.scale-segmented button:last-child{border-right:0}.scale-segmented button.active{color:#12161c;background:#f1f3f5;font-weight:750}.recipe-tools .scale-ingredient{max-width:125px;height:30px;padding:0 22px 0 7px;border-radius:5px;font-size:10.5px}.recipe-tools .scale-target{height:30px;border:1px solid var(--recipe-line-strong);border-radius:5px;background:#fff}.recipe-tools .scale-target input{width:68px;font-size:11px}.recipe-tools .tool-button{min-height:30px;height:30px;padding:0 9px;border:1px solid var(--recipe-line-strong);border-radius:5px;color:#4e5968;background:#fff;font-size:10.5px;font-weight:650;white-space:nowrap}.recipe-tools .tool-button:hover:not(:disabled){background:#f1f3f5}.recipe-tools .tool-button.ai{margin-left:auto;color:#1769d3;border-color:#aac9f6;background:#eef5ff}.recipe-desk{display:grid;min-width:0;grid-template-columns:minmax(700px,1fr) minmax(300px,340px);align-items:start;gap:10px;padding:10px}.recipe-core{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);align-items:start}.stage-band-page .panel{overflow:hidden;border:1px solid var(--recipe-line-strong);border-radius:6px;background:#fff}.stage-panel-head{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-bottom:1px solid var(--recipe-line)}.stage-panel-head>div{display:grid}.stage-panel-head>div>span{color:#8b95a1;font-size:9.5px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.stage-panel-head h2{margin:1px 0 0;font-size:13px;font-weight:800}.stage-panel-head>b{font-size:16px}.stage-panel-head>b small{margin-left:2px;color:#8b95a1;font-size:9px}.stage-panel-head>p{margin:0;color:#8b95a1;font-size:10.5px}.stage-panel-head.compact{min-height:42px}.formula-panel{display:flex;min-width:0;height:calc(100vh - 163px);min-height:620px;flex-direction:column}.formula-table-wrap{min-height:0;flex:1;overflow:auto}.stage-formula-table{width:100%;min-width:720px;table-layout:fixed;border-collapse:collapse}.stage-formula-table .ingredient-col{width:auto}.stage-formula-table .weight-col{width:92px}.stage-formula-table .ratio-col{width:68px}.stage-formula-table .factor-col{width:52px}.stage-formula-table .price-col{width:72px}.stage-formula-table .subtotal-col{width:78px}.stage-formula-table .move-col{width:134px}.stage-formula-table thead{position:sticky;z-index:7;top:0}.stage-formula-table thead th{height:32px;padding:0 8px;border-right:1px solid var(--recipe-line);border-bottom:1px solid var(--recipe-line-strong);color:#6b7684;background:#f1f3f5;font-size:10px;font-weight:700;text-align:right}.stage-formula-table thead th:first-child{text-align:left}.stage-formula-table thead th:last-child{border-right:0}.stage-formula-table .stage-row th{height:34px;padding:0 9px;border-bottom:1px solid #bdd0ec;color:#244b79;background:#e8f1fd;text-align:left;transition:background .15s,box-shadow .15s}.stage-formula-table .stage-row.empty th{color:#8b95a1;border-bottom-color:var(--recipe-line);background:#f5f7f9}.stage-formula-table .stage-row.drag-over-stage th{background:#d9eaff;box-shadow:inset 0 0 0 2px #6f9ed8}.stage-formula-table .stage-row .stage-code{display:inline-grid;width:23px;height:20px;margin-right:7px;place-items:center;border-radius:3px;color:#fff;background:#5c82b1;font-size:9px}.stage-formula-table .stage-row.empty .stage-code{background:#aeb6bf}.stage-formula-table .stage-row strong{margin-right:9px;font-size:11px}.stage-formula-table .stage-row span:not(.stage-code){color:#6e8cac;font-size:9.5px;font-weight:500}.stage-formula-table .stage-row em{float:right;color:#8ba3be;font-size:9px;font-style:normal;font-weight:500}.stage-formula-table .ingredient-row td{position:relative;min-height:64px;padding:8px;border-right:1px solid #eef0f2;border-bottom:1px solid var(--recipe-line);vertical-align:middle;transition:opacity .15s,box-shadow .15s}.stage-formula-table .ingredient-row td:last-child{border-right:0}.stage-formula-table .ingredient-row.profile-excluded td{background:#fafafa}.stage-formula-table .ingredient-row.total-excluded td{background:#f1f3f5}.stage-formula-table .ingredient-row.dragging td{opacity:.42}.stage-formula-table .ingredient-row.drag-over-before td{box-shadow:inset 0 3px #5c82b1}.stage-formula-table .ingredient-row.drag-over-after td{box-shadow:inset 0 -3px #5c82b1}.stage-ingredient{display:grid;min-width:0;gap:2px}.stage-ingredient .searchable-select-trigger{min-height:28px;height:28px;padding:0 24px 0 7px;border-color:transparent;border-radius:4px;background:transparent;font-size:11.5px;font-weight:750}.stage-ingredient .searchable-select-trigger:hover{border-color:var(--recipe-line-strong);background:#fff}.stage-ingredient>small{padding:0 7px;overflow:hidden;color:#8b95a1;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.ingredient-flags{display:flex;gap:3px;padding:2px 6px 0;overflow:hidden}.ingredient-flags label{display:flex;align-items:center;gap:3px;color:#8b95a1;font-size:8.5px;white-space:nowrap}.ingredient-flags input{width:10px;height:10px;margin:0;accent-color:#12161c}.table-weight{position:relative;display:block}.table-weight input{width:100%;height:30px;padding:0 22px 0 6px;border:1px solid var(--recipe-line-strong);border-radius:4px;background:#fff;font-size:11.5px;font-weight:700;text-align:right}.table-weight small{position:absolute;top:8px;right:7px;color:#8b95a1;font-size:9px}.stage-formula-table .numeric{color:#4e5968;font-size:10.5px;text-align:right;white-space:nowrap}.stage-formula-table .numeric.subtotal{color:#12161c;font-weight:750}.stage-formula-table .numeric.warn-cell{color:#a35f09;background:#fff7eb;font-weight:750}.stage-move-controls{display:grid;gap:3px}.stage-move-controls select{width:100%;height:27px;padding:0 20px 0 6px;border:1px solid var(--recipe-line);border-radius:4px;background:#fff;font-size:9.5px}.stage-move-controls>span{display:flex;justify-content:flex-end;gap:2px}.stage-move-controls button{width:24px;min-height:22px;height:22px;padding:0;border:1px solid var(--recipe-line);border-radius:3px;color:#6b7684;background:#fff;font-size:9px}.stage-move-controls button:hover:not(:disabled){color:#12161c;background:#f1f3f5}.stage-move-controls button.drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1}.stage-move-controls button.drag-handle:active{cursor:grabbing}.stage-move-controls button.remove:hover:not(:disabled){color:#c53543;background:#fff0f1}.formula-table-wrap .add-line{width:calc(100% - 16px);height:31px;margin:8px;border:1px dashed var(--recipe-line-strong);border-radius:4px;color:#4e5968;background:#fff;font-size:10px}.formula-table-wrap .add-line:hover:not(:disabled){background:#f5f7f9}.formula-sumbar{display:grid;min-height:52px;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--recipe-line-strong);background:#f5f7f9}.formula-sumbar>div{display:grid;align-content:center;gap:1px;padding:5px 8px;border-right:1px solid var(--recipe-line)}.formula-sumbar>div:last-child{border-right:0}.formula-sumbar span{color:#8b95a1;font-size:8.5px}.formula-sumbar strong{font-size:12px}.formula-sumbar strong small{margin-left:2px;color:#8b95a1;font-size:8px}.formula-sumbar .warn{color:#a35f09;background:#fdf3e4}.recipe-analysis{display:grid;min-width:0;align-content:start;gap:10px}.stage-band-page .metric-bars{padding:3px 0}.stage-band-page .metric-row{grid-template-columns:48px minmax(70px,1fr) 63px 76px;gap:7px;min-height:33px;padding:0 10px;font-size:10.5px}.stage-band-page .metric-name{font-size:10px}.stage-band-page .metric-track{height:5px}.stage-band-page .metric-track .val{top:-3px;width:11px;height:11px}.stage-band-page .metric-row>b{font-size:12px}.stage-band-page .metric-row>b small{font-size:8.5px}.stage-band-page .metric-row>em{font-size:9px}.stage-band-page .profile-chip{max-width:130px;padding:3px 6px;border-radius:4px;overflow:hidden;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.stage-band-page .scoopability-card{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:8px 10px}.stage-band-page .scoopability-card>span{font-size:10px}.stage-band-page .scoopability-card>strong{font-size:12px}.stage-band-page .scoopability-card p{font-size:10px;line-height:1.4}.stage-band-page .record-panel{position:relative;z-index:21;min-height:260px;overflow:visible}.record-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--recipe-line-strong);background:#f1f3f5}.record-tabs button{min-height:35px;padding:0 4px;border:0;border-right:1px solid var(--recipe-line);color:#8b95a1;background:transparent;font-size:9.5px;font-weight:700}.record-tabs button:last-child{border-right:0}.record-tabs button.active{color:#12161c;background:#fff;box-shadow:inset 0 -2px #12161c}.record-content{min-width:0;padding-bottom:6px}.record-subhead{display:flex;min-height:37px;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--recipe-line)}.record-subhead h3{margin:0;font-size:11.5px}.record-subhead>span{color:#8b95a1;font-size:9.5px}.record-subhead.processing-title{margin-top:5px;border-top:1px solid var(--recipe-line)}.stage-band-page .cost-table-head,.stage-band-page .cost-row{grid-template-columns:minmax(76px,1fr) 76px 57px;column-gap:6px;padding:0 10px}.stage-band-page .cost-table-head{min-height:29px;font-size:9.5px}.stage-band-page .cost-row{min-height:33px;font-size:10px}.stage-band-page .cost-row>strong,.stage-band-page .cost-row>span,.stage-band-page .cost-row>em{font-size:10.5px}.stage-band-page .cost-help>div{left:-8px;width:250px;border:1px solid var(--recipe-line);border-radius:6px}.stage-band-page .processing-method-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:7px 9px}.stage-band-page .processing-method-options label{min-height:33px;padding:6px 8px;border:1px solid var(--recipe-line);border-radius:4px;font-size:10px}.stage-band-page .nutrition-head,.stage-band-page .nutrition-row{grid-template-columns:minmax(62px,1fr) repeat(3,57px);column-gap:3px;padding:0 8px}.stage-band-page .nutrition-head{min-height:27px;font-size:8px}.stage-band-page .nutrition-row{min-height:29px;font-size:9px}.stage-band-page .allergen-notice{padding:7px 9px;font-size:9px}.stage-band-page .serving-control{gap:3px;font-size:8.5px}.stage-band-page .serving-control input{width:43px;height:25px;min-height:25px;padding:0 5px;border-radius:4px;font-size:9px!important}.record-content .manufacturing-panel{border:0;border-radius:0}.record-content .manufacturing-panel>.panel-heading{min-height:35px;padding:6px 10px}.record-content .manufacturing-panel>.panel-heading h2{font-size:10px}.record-content .manufacturing-results{margin:0 10px}.record-content .manufacturing-entry{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 10px 8px}.record-content .manufacturing-entry .manufacturing-note{grid-column:1 / -1}.record-version-history{display:flex;align-items:center;gap:3px;padding:8px 10px;border-top:1px solid var(--recipe-line)}.record-version-history>span{margin-right:3px;color:#8b95a1;font-size:8.5px}.record-version-history button{min-width:25px;min-height:22px;height:22px;padding:0 5px;border:1px solid var(--recipe-line);border-radius:3px;color:#6b7684;background:#fff;font-size:8.5px}.record-version-history button.active{color:#fff;border-color:#12161c;background:#12161c}.record-content .note-panel{display:grid;min-height:118px;gap:5px;padding:10px;border:0;border-bottom:1px solid var(--recipe-line);border-radius:0}.record-content .note-panel>span{font-size:10px;font-weight:750}.record-content .note-panel textarea{min-height:80px;padding:8px;border-radius:4px;font-size:10px}.record-content .comments-heading{min-height:35px;padding:6px 10px}.record-content .comment-list article,.record-content .comment-form{padding:8px 10px}@media(max-width:1180px)and (min-width:841px){.recipe-desk{grid-template-columns:minmax(0,1fr)}.recipe-analysis{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.formula-panel{height:auto;max-height:720px}.stage-band-page .recipe-topbar{grid-template-columns:minmax(210px,1fr) auto}.stage-band-page .recipe-head-state{justify-self:end}.stage-band-page .topbar-actions{grid-column:1 / -1;justify-content:flex-end}.label-page{grid-template-columns:216px minmax(0,1fr)}.label-preview-column{position:static;grid-column:2;height:auto;border-top:1px solid #cfd5dc}.label-artwork{max-width:390px;margin:0 auto}}@media(max-width:840px){.app,.app.nav-collapsed{grid-template-columns:minmax(0,1fr)}.stage-band-page{grid-template-columns:minmax(0,1fr);min-height:100dvh}.stage-band-page .recipe-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--recipe-line-strong)}.recipe-index-head{padding:10px 12px}.stage-band-page .recipe-search{height:44px}.recipe-index-actions{grid-template-columns:auto auto auto;justify-content:start}.stage-band-page .recipe-list{display:flex;gap:5px;overflow-x:auto;padding:6px 10px 9px}.stage-band-page .recipe-list-item{flex:0 0 190px;margin:0}.recipe-breadcrumb{display:none}.stage-band-page .recipe-topbar{display:flex;align-items:stretch;flex-direction:column;gap:8px;padding:12px}.recipe-head-state{justify-content:space-between}.stage-band-page .topbar-actions{justify-content:flex-start;flex-wrap:wrap}.recipe-tools{overflow-x:auto;padding:7px 10px}.recipe-tools .target-selector{width:180px}.recipe-desk{grid-template-columns:minmax(0,1fr);padding:8px}.recipe-core{grid-template-columns:minmax(0,1fr)}.formula-panel{height:auto;min-height:560px;max-height:760px}.recipe-analysis{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.recipe-index-actions button{min-height:34px}.version-pills{max-width:55vw;overflow-x:auto}.stage-band-page .topbar-actions .button{flex:1 1 auto;min-height:38px}.recipe-tools{min-height:45px}.recipe-core{min-width:0}.formula-panel{min-height:520px}.formula-sumbar{grid-template-columns:repeat(2,minmax(0,1fr))}.formula-sumbar>div:nth-child(2){border-right:0}.formula-sumbar>div:nth-child(-n+2){border-bottom:1px solid var(--recipe-line)}}@supports (height: 100dvh){body,.app,.app-loading,.login-page,.login-shell,.recipe-page,.label-page{min-height:100dvh}.side-nav,.recipe-sidebar,.label-sidebar,.label-preview-column{height:100dvh}.user-modal,.schedule-modal{max-height:calc(100dvh - 48px)}@media(min-width:841px)and (max-width:1279px){.label-preview-column{height:auto}}@media(max-width:840px){.side-nav,.recipe-sidebar,.label-sidebar,.label-preview-column{height:auto}}@media(max-width:620px){.user-modal,.schedule-modal{height:100dvh;max-height:none}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tier-page{min-height:100vh;padding:0 22px 56px;background:#e9ecef}.tier-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px;margin:0 -22px 20px;padding:18px 28px;border-bottom:1px solid #cfd5dc;background:#fff}.tier-header>div{min-width:0}.tier-eyebrow{display:block;margin-bottom:5px;color:#747d88;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800;letter-spacing:.15em}.tier-header input{display:block;width:min(720px,100%);height:auto;padding:0;border:0;border-radius:0;color:#12161c;background:transparent;font-size:clamp(23px,3vw,34px);font-weight:900;letter-spacing:-.045em;box-shadow:none!important}.tier-header input:focus-visible{border:0!important;background:#f2f4f6;outline:3px solid #12161c;outline-offset:4px}.tier-header p{margin:6px 0 0;color:#6b7684;font-size:12px}.tier-header .button{flex:none}.tier-header-actions{display:flex;flex:none;align-items:flex-end;gap:7px}.tier-header-actions>label{display:grid;gap:4px;color:#6b7684;font-size:9px;font-weight:700}.tier-header-actions>label input{width:132px;height:40px;padding:0 9px;border-radius:7px;font-size:11px}.tier-workspace{width:min(1480px,100%);margin:0 auto}.tier-history{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.tier-history label{display:flex;align-items:center;gap:8px;color:#59616d;font-size:11px;font-weight:700}.tier-history select{width:min(420px,60vw);height:36px;padding:0 32px 0 10px;border-radius:6px;background:#fff;font-size:11px}.tier-history small{color:#79828e;font-size:10px;text-align:right}.tier-history small.error{color:#f04452}.tier-board{overflow:hidden;border:7px solid #171a1f;border-radius:4px;background:#171a1f;box-shadow:0 12px 28px #12161c24}.tier-row{display:grid;grid-template-columns:92px minmax(0,1fr);min-height:130px;border-bottom:3px solid #171a1f}.tier-row:last-child{border-bottom:0}.tier-row>h2{display:grid;align-content:center;justify-items:center;margin:0;color:#171a1f;background:var(--tier-color);font-family:IBM Plex Sans KR,sans-serif;font-weight:700;line-height:1}.tier-row>h2 span{font-size:34px;letter-spacing:-.07em}.tier-row>h2 small{display:grid;width:22px;height:22px;margin-top:7px;place-items:center;border:1px solid rgba(23,26,31,.28);border-radius:50%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.tier-dropzone{position:relative;display:flex;min-width:0;flex-wrap:wrap;align-content:flex-start;gap:8px;padding:9px;background-color:#fafaf8;background-image:linear-gradient(45deg,rgba(23,26,31,.025) 25%,transparent 25%,transparent 75%,rgba(23,26,31,.025) 75%),linear-gradient(45deg,rgba(23,26,31,.025) 25%,transparent 25%,transparent 75%,rgba(23,26,31,.025) 75%);background-position:0 0,8px 8px;background-size:16px 16px}.tier-drop-hint{align-self:center;margin:auto;color:#a0a6ae;font-size:11px;font-weight:700;letter-spacing:.08em}.tier-card~.tier-drop-hint{display:none}.tier-card{position:relative;display:grid;width:144px;height:110px;flex:0 0 144px;grid-template-rows:minmax(0,1fr) 22px;overflow:hidden;border:1px solid #cdd2d8;border-top:5px solid #252b33;border-radius:3px;background:#fff;box-shadow:0 2px 5px #12161c1f;cursor:grab;transition:transform .14s,box-shadow .14s,opacity .14s}.tier-card:hover{z-index:2;transform:translateY(-2px);box-shadow:0 7px 14px #12161c2e}.tier-card.dragging{opacity:.35;cursor:grabbing}.tier-card-copy{position:relative;display:grid;min-width:0;align-content:center;padding:9px 9px 7px}.tier-card-copy strong{display:-webkit-box;overflow:hidden;padding-right:21px;font-size:13px;font-weight:700;line-height:1.3;letter-spacing:-.02em;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tier-card-copy small{display:block;margin-top:5px;overflow:hidden;color:#6b7684;font-size:9.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.tier-card-copy i{position:absolute;top:6px;right:6px;color:#6b7684;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-style:normal;font-weight:800}.tier-card label{display:block}.tier-card select{width:100%;height:22px;min-height:22px;padding:0 20px 0 8px;border:0;border-top:1px solid #e2e5e8;border-radius:0;color:#333d4b;background-color:#f2f4f6;font-size:10.5px;font-weight:600}.tier-pool{margin-top:18px;overflow:hidden;border:1px solid #cbd0d6;border-radius:8px;background:#fff}.tier-pool-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid #e2e5e8;background:#171a1f}.tier-pool-head>div>span{color:#8e98a6;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:800;letter-spacing:.14em}.tier-pool-head h2{margin:2px 0 0;color:#fff;font-size:16px;letter-spacing:-.02em}.tier-search{display:flex;align-items:center;gap:7px;width:min(260px,45%);height:36px;padding:0 10px;border:1px solid #3d444d;border-radius:5px;color:#9aa3ae;background:#252a31}.tier-search input{width:100%;min-width:0;height:100%;padding:0;border:0;color:#fff;background:transparent;font-size:12px;box-shadow:none!important}.tier-search input:focus-visible{border:0!important;background:transparent}.tier-pool-grid{display:flex;min-height:122px;flex-wrap:wrap;align-content:flex-start;gap:9px;padding:14px}.tier-message{width:100%;margin:auto;color:#8b95a1;font-size:12px;text-align:center}.tier-message.error{color:#f04452}@media(max-width:840px){.tier-page{min-height:calc(100vh - 57px);padding:0 10px 36px}.tier-header{align-items:flex-start;min-height:0;margin:0 -10px 12px;padding:16px 14px}.tier-header p{max-width:520px;line-height:1.5}.tier-header .button{min-height:36px;padding:0 11px;font-size:11px}.tier-header-actions{flex-wrap:wrap;justify-content:flex-end}.tier-header-actions>label input{height:36px}.tier-board{border-width:4px}.tier-row{grid-template-columns:58px minmax(0,1fr);min-height:110px;border-bottom-width:2px}.tier-row>h2 span{font-size:25px}.tier-row>h2 small{width:19px;height:19px;margin-top:5px;font-size:9px}.tier-dropzone{gap:6px;padding:6px}.tier-card{width:112px;height:96px;flex-basis:112px}.tier-card-copy strong{font-size:12px}}@media(max-width:480px){.tier-header{display:grid;gap:12px}.tier-header input{font-size:23px}.tier-header-actions{justify-content:flex-start}.tier-history{align-items:stretch;flex-direction:column;gap:6px}.tier-history label{align-items:stretch;flex-direction:column;gap:4px}.tier-history select{width:100%}.tier-history small{text-align:left}.tier-pool-head{align-items:stretch;flex-direction:column;gap:10px}.tier-search{width:100%}}
