:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#0f172a;background:#f8fafc}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% -10%,#f8fbff,#eff3f7 45%,#f1f5f9)}#root{min-height:100vh}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;gap:24px;padding:16px}.sidebar{background:#fff;border:1px solid #dbe2ec;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;position:sticky;top:16px;align-self:start;height:calc(100vh - 32px)}.sidebar h1{margin:4px 0 8px;font-size:22px}.sidebar nav{display:flex;flex-direction:column;gap:8px}button,input,select{border:1px solid #c8d3e2;border-radius:10px;padding:10px;font-size:14px;background:#fff}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{cursor:pointer}button.active,button:hover{border-color:#3f83f8}button:disabled{cursor:not-allowed;opacity:.65;background:#f8fafc;border-color:#d7e1ed;color:#64748b}.content{display:grid;gap:16px}.card{background:#fff;border:1px solid #d7e1ed;border-radius:14px;padding:16px}.status-card{border-radius:12px;background:#ecfdf3;border:1px solid #86efac;padding:12px}.section-head h2{margin:0}.section-head p{margin:6px 0 12px;color:#475569}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.stat-card h3{margin:0}.stat-card strong{display:block;margin-top:10px;font-size:30px}.sales-stat-card span{display:block;margin-top:6px;color:#64748b;font-size:14px}.dashboard-sales{display:grid;gap:14px;margin-top:20px}.sales-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr) minmax(220px,.7fr);gap:12px;align-items:start}.sales-chart-card{min-width:0}.sales-chart-head h3,.sales-dashboard-grid h3{margin:0 0 8px}.sales-chart{display:grid;grid-template-columns:repeat(30,minmax(8px,1fr));gap:5px;align-items:end;min-height:160px;padding-top:12px;border-top:1px solid #e2e8f0}.sales-chart-column{display:grid;gap:6px;justify-items:center;align-items:end;min-width:0}.sales-chart-column span{width:100%;max-width:18px;min-height:6px;border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,#22c55e,#15803d)}.sales-chart-column small{color:#94a3b8;font-size:10px}.sales-products-list{display:grid;gap:10px}.sales-product-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;padding-top:10px}.sales-product-row div,.receipt-stats{display:grid;gap:4px}.sales-product-row span,.receipt-stats span{color:#64748b;font-size:14px}.row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.pagination-row{justify-content:flex-end}.pagination-row .muted{margin:0}.admin-user-quick-filters button{background:#f8fafc}.admin-user-badge{display:inline-flex;align-items:center;margin-top:6px;margin-right:6px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.admin-user-badge.warning{background:#fff7ed;color:#c2410c}.admin-user-badge.notice{background:#eff6ff;color:#1d4ed8}.form-grid{align-items:end}.form-grid input{min-width:120px;flex:1}.table-wrap{border:1px solid #dce4ef;border-radius:12px;padding:8px;overflow:auto;background:#fff}table{width:100%;border-collapse:collapse}table th,table td{border-bottom:1px solid #e6edf7;text-align:left;padding:8px;font-size:14px}table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#334155}.muted{color:#64748b}.field-stack{display:grid;gap:6px;color:#475569;font-size:13px}.field-stack span{font-weight:600}.studio{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(360px,.85fr);gap:16px;align-items:start}.studio-list{display:grid;gap:12px}.meal-toolbar,.meal-editor,.lesson-toolbar,.lesson-editor{display:grid;gap:16px}.meal-toolbar-main,.meal-editor-head,.meal-card-head,.lesson-toolbar-main,.lesson-editor-head,.lesson-card-head{display:flex;justify-content:space-between;gap:12px;align-items:start;flex-wrap:wrap}.meal-toolbar-main>*,.meal-editor-head>*,.meal-card-head>*,.lesson-toolbar-main>*,.lesson-editor-head>*,.lesson-card-head>*{min-width:0}.meal-toolbar h3,.meal-editor h3,.lesson-toolbar h3,.lesson-editor h3,.group-head h3{margin:0}.meal-search-row{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(150px,.8fr));gap:10px}.lesson-search-row{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(180px,.8fr));gap:10px}.meal-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start}.lesson-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:16px;align-items:start}.meal-card-grid,.lesson-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.meal-card,.lesson-card{display:grid;gap:14px;border:1px solid #d7e1ed;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#fff,#f8fbff);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.meal-card:hover,.meal-card.is-selected,.lesson-card:hover,.lesson-card.is-selected{border-color:#60a5fa;box-shadow:0 18px 32px #3b82f624;transform:translateY(-2px)}.meal-card-cover,.lesson-card-cover{height:180px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#dbeafe,transparent 50%),linear-gradient(135deg,#eff6ff,#e2e8f0);display:flex;align-items:center;justify-content:center;color:#64748b;font-size:13px;text-align:center}.meal-card-cover img,.lesson-card-cover img{width:100%;height:100%;object-fit:cover}.meal-card-body{display:grid;gap:10px;padding:0 14px 14px;min-width:0}.lesson-card-body{display:grid;gap:10px;padding:0 14px 14px}.meal-card-body h3{margin:0 0 4px;font-size:18px;overflow-wrap:anywhere}.lesson-card-body h3{margin:0 0 4px;font-size:18px}.meal-card-submeta{display:flex;gap:10px;flex-wrap:wrap;color:#475569;font-size:13px}.meal-card-description{margin:0;color:#334155;font-size:14px;line-height:1.45;min-height:40px;overflow-wrap:anywhere}.lesson-card-description{margin:0;color:#334155;font-size:14px;line-height:1.45;min-height:60px}.meal-app-preview{display:grid;gap:12px}.meal-app-preview-header{display:flex;align-items:end;justify-content:space-between;gap:12px}.meal-mobile-card{border-radius:24px;background:#ffffffb3;border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 40px #0f172a14;overflow:hidden}.meal-mobile-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}.meal-mobile-card-head h5{margin:0 0 4px;font-size:18px;color:#2d2d3f}.meal-mobile-card-head p{margin:0;font-size:14px;color:#8b8b9e}.meal-mobile-card-cover{width:72px;height:72px;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;color:#2d2d3f;font-size:12px}.meal-mobile-card-cover img{width:100%;height:100%;object-fit:cover}.meal-mobile-card-body{display:grid;gap:12px;padding:0 16px 16px}.meal-mobile-macros{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#8b8b9e}.meal-mobile-description{margin:0;font-size:14px;line-height:1.45;color:#2d2d3f}.meal-mobile-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px}.meal-mobile-actions button:last-child{background:#2d2d3f;color:#fff}.meal-editor,.lesson-editor{position:sticky;top:16px}.meal-editor-eyebrow,.lesson-editor-eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#64748b}.meal-editor-sections{display:grid;gap:12px;min-width:0}.lesson-editor-sections{display:grid;gap:12px}.meal-editor-actions,.lesson-editor-actions{justify-content:flex-end}.studio-group,.binding-list,.group-block{display:grid;gap:12px}.group-head{display:flex;align-items:end;justify-content:space-between}.group-head h3{margin:0}.category-switcher{display:flex;flex-wrap:wrap;gap:8px}.category-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.category-switcher button{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px}.category-switcher button span{display:inline-flex;min-width:24px;min-height:24px;align-items:center;justify-content:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700}.category-switcher .active-filter{border-color:#3b82f6;background:#eff6ff}.studio-card{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:14px;border-radius:16px;border:1px solid #d7e1ed;background:linear-gradient(180deg,#fff,#f8fbff);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.studio-card:hover,.studio-card.is-selected{border-color:#60a5fa;box-shadow:0 14px 30px #3b82f61f;transform:translateY(-1px)}.studio-card-media{width:96px;height:96px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#dbeafe,transparent 50%),linear-gradient(135deg,#eff6ff,#e2e8f0);display:flex;align-items:center;justify-content:center;color:#64748b;font-size:12px;text-align:center;border:1px solid #dbe2ec}.studio-card-media img{width:100%;height:100%;object-fit:cover}.studio-card h3{margin:0 0 6px;font-size:18px}.studio-card p{margin:0}.studio-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.studio-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:600}.studio-badge.success{background:#ecfdf5;color:#047857}.editor-panel{display:grid;gap:14px;min-width:0}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.editor-grid>*{min-width:0}.editor-grid textarea,.editor-grid input,.editor-grid select{width:100%}.editor-grid .span-2{grid-column:1 / -1}.macro-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.macro-field{gap:4px;padding:10px 12px;border:1px solid #dbe2ec;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff)}.macro-field span{font-size:11px;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.macro-field input{border:none;background:transparent;padding:0;min-height:auto;font-size:24px;line-height:1;font-weight:700;color:#0f172a;box-shadow:none}.macro-field input:focus{box-shadow:none}.macro-field input::placeholder{color:#cbd5e1}.media-picker{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border-radius:14px;border:1px solid #dbe2ec;background:#f8fbff}.media-stack{display:grid;gap:12px}.media-preview{width:112px;height:112px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#dbeafe,transparent 50%),linear-gradient(135deg,#eff6ff,#e2e8f0);display:flex;align-items:center;justify-content:center;border:1px solid #dbe2ec;color:#64748b;text-align:center;font-size:12px}.media-preview-video{padding:10px;text-align:left;background:radial-gradient(circle at 30% 20%,#dcfce7,transparent 50%),linear-gradient(135deg,#f0fdf4,#e2e8f0)}.media-preview img{width:100%;height:100%;object-fit:cover}.table-inline-preview{width:56px;height:56px;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #dbe2ec;background:radial-gradient(circle at 30% 20%,#dbeafe,transparent 50%),linear-gradient(135deg,#eff6ff,#e2e8f0);color:#64748b;font-size:12px}.table-inline-preview img{width:100%;height:100%;object-fit:cover}.media-file-meta{display:grid;gap:4px;width:100%;min-width:0}.media-file-meta strong,.media-file-meta span{min-width:0;overflow-wrap:anywhere}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.binding-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px;border:1px solid #dbe2ec;border-radius:14px;background:#f8fbff}.binding-preview{width:88px;height:88px;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#dbeafe,transparent 50%),linear-gradient(135deg,#eff6ff,#e2e8f0);display:flex;align-items:center;justify-content:center;border:1px solid #dbe2ec;color:#64748b;text-align:center;font-size:12px}.binding-preview img{width:100%;height:100%;object-fit:cover}.binding-body{display:grid;gap:6px;min-width:0}.binding-body strong,.binding-body p,.binding-body a,.meal-editor-head h3,.meal-editor-head .muted,.meal-toolbar-main h3,.meal-toolbar-main .muted{overflow-wrap:anywhere}.actions-row{display:flex;flex-wrap:wrap;gap:8px}.editor-screen{display:grid;gap:20px}.editor-screen-single{align-items:start}.standalone-editor{width:min(100%,1180px);justify-self:center}.chart-mock{display:flex;gap:6px;align-items:end;min-height:140px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;padding:12px}.chart-line{background:linear-gradient(to top,#60a5fa,#2563eb);width:12px;color:#e2e8f0;font-size:10px;display:flex;align-items:end;justify-content:center}.chart-line span{transform:rotate(-45deg);margin-bottom:4px;font-size:9px}.ingredient-link-list,.selection-group,.onboarding-category-panel{display:grid;gap:10px}.selection-group-head{display:grid;gap:4px}.selection-group-head strong{font-size:14px;color:#0f172a}.validation-panel{display:grid;gap:8px;border-color:#fde68a;background:#fffbeb}.validation-panel strong{color:#92400e}.validation-panel ul{margin:0;padding-left:18px;display:grid;gap:4px;color:#78350f}.choice-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;align-items:flex-start}.choice-chip{border:1px solid #d7e1ed;background:#fff;color:#334155;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.2;text-align:left;justify-content:flex-start;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease}.choice-chip:hover{border-color:#93c5fd;background:#f8fbff}.choice-chip.is-selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:inset 0 0 0 1px #2563eb1f}.ingredient-link-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:12px;align-items:center;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.recipe-steps-panel,.ingredient-editor-panel{display:grid;gap:12px}.variant-stack{display:grid;gap:14px}.variant-card{display:grid;gap:12px;padding:14px;border:1px solid #dbe2ec;border-radius:18px;background:radial-gradient(circle at top right,rgba(59,130,246,.08),transparent 34%),linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 12px 30px #0f172a0a}.variant-summary{display:flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid #dbe2ec;border-radius:12px;background:#f8fbff;color:#334155;font-size:13px;font-weight:600;overflow-wrap:anywhere}.recipe-steps-list,.ingredient-editor-list{display:grid;gap:10px}.recipe-step-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center}.recipe-step-index{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:700}.ingredient-editor-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid #dbe2ec;border-radius:14px;background:#f8fbff}.ingredient-row-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start}.ingredient-row-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#eef6ff;border:1px solid #dbeafe;color:#1e3a8a;font-size:12px;font-weight:600}.ingredient-row-chip.is-readonly{background:#f8fafc;border-color:#dbe2ec;color:#475569}.ingredient-row-chip.is-warning{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.ghost-danger-button{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid #fecdd3;background:#fff1f2;color:#be123c;font-size:12px;font-weight:600}.portion-ingredients-list{display:grid;gap:10px}.portion-ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:end;padding:12px;border:1px solid #dbe2ec;border-radius:14px;background:#ffffffb8}.portion-ingredient-copy{display:grid;gap:4px;min-width:0}.portion-ingredient-name{color:#0f172a;font-size:14px;font-weight:700;overflow-wrap:anywhere}.portion-ingredient-meta{color:#64748b;font-size:12px;font-weight:500}.portion-gram-field{min-width:0;width:100%;max-width:112px;justify-self:start}.portion-gram-field input{width:100%}.ingredient-search-field{position:relative;min-width:0}.ingredient-selected-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:8px;padding:8px 10px;border-radius:10px;background:#eef6ff;border:1px solid #dbeafe;font-size:12px}.ingredient-selected-meta strong,.ingredient-selected-meta span{min-width:0;overflow-wrap:anywhere}.ingredient-selected-meta button{margin-left:auto;padding:4px 8px;font-size:12px}.ingredient-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:grid;gap:6px;max-height:280px;overflow-y:auto;padding:8px;border-radius:14px;border:1px solid #dbe2ec;background:#fff;box-shadow:0 18px 40px #0f172a1f}.ingredient-suggestion{display:grid;gap:2px;width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fbff;text-align:left}.ingredient-suggestion strong,.ingredient-suggestion span{min-width:0;overflow-wrap:anywhere}.checkbox-field{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;min-width:0;width:100%;overflow-wrap:anywhere;min-height:22px}.checkbox-field input{margin:0;width:20px;height:20px;accent-color:#2d2d3f;cursor:pointer}.onboarding-category-stack{display:grid;gap:4px}.onboarding-category-row{justify-content:flex-start;gap:8px;min-height:28px}.onboarding-category-row span{font-size:14px}@media(max-width:900px){.sales-dashboard-grid{grid-template-columns:1fr}.sales-chart{gap:3px}.sales-chart-column small{font-size:9px}.app-shell{grid-template-columns:1fr;gap:12px}.sidebar{position:static;height:auto}.studio,.meal-layout,.meal-search-row,.lesson-layout,.lesson-search-row{grid-template-columns:1fr}.meal-editor,.lesson-editor{position:static}.meal-mobile-actions,.ingredient-link-row,.studio-card,.media-picker,.binding-card,.recipe-step-row,.ingredient-editor-row,.portion-ingredient-row{grid-template-columns:1fr}.studio-card-media,.media-preview{width:100%;height:180px}.editor-grid{grid-template-columns:1fr}.macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
