html,body{min-height:100vh;margin:0;padding:0}:root{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23616d67' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");--bg:#f5f7f5;--surface:#fff;--surface-2:#eceff0;--border:#d9ddda;--border-subtle:#e7eae8;--text:#182320;--text-secondary:#51605a;--text-muted:#616d67;--primary:#0d5c54;--primary-hover:#0a4943;--primary-tint:#e6f0ee;--primary-tint-border:#bcd8d2;--primary-text:#fff;--brand-mark-bg:#0d5c54;--brand-mark-ink:#fff;--brand-mark-border:transparent;--brand-mark-shadow:0 1px 2px #0d5c5466;--positive:#1c7d51;--positive-tint:#e2f1e8;--positive-tint-border:#bcdcc9;--positive-ink:#156141;--caution:#946009;--caution-tint:#f8eed7;--caution-tint-border:#f0d9c0;--caution-ink:#855811;--negative:#c1392c;--negative-tint:#fae8e5;--negative-tint-border:#e7c5bf;--negative-ink:#98271d;--comp-1:#3b4842;--comp-2:#727d77;--comp-3:#a8b1ac;--shadow-e1:0 1px 2px #141e190f;--shadow-e2:0 2px 8px #141e1917;--shadow-e3:0 12px 32px #141e192e;--accent:var(--primary);--accent-hover:var(--primary-hover);--accent-soft:var(--primary-tint);--accent-border:var(--primary-tint-border);--accent-text:var(--primary-text);--good:var(--positive);--good-soft:var(--positive-tint);--shadow:var(--shadow-e1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23838e88' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");--bg:#0e1412;--surface:#161e1b;--surface-2:#1b2521;--border:#2d3833;--border-subtle:#232d29;--text:#e8ece9;--text-secondary:#a4afa9;--text-muted:#838e88;--primary:#35b9a6;--primary-hover:#56cdbc;--primary-tint:#10302b;--primary-tint-border:#1d4a43;--primary-text:#0e1412;--brand-mark-bg:var(--surface);--brand-mark-ink:var(--text);--brand-mark-border:var(--border);--brand-mark-shadow:none;--positive:#35d18a;--positive-tint:#0e2e21;--positive-tint-border:#1a4f3a;--positive-ink:#6be0a8;--caution:#d99a3a;--caution-tint:#2e2310;--caution-tint-border:#4d3a1a;--caution-ink:#ecb96b;--negative:#e57367;--negative-tint:#2e1714;--negative-tint-border:#4d2620;--negative-ink:#f0a59b;--comp-1:#c3ccc7;--comp-2:#8f9a94;--comp-3:#5f6a64;--shadow-e1:0 1px 2px #00000080;--shadow-e2:0 2px 8px #0000008c;--shadow-e3:0 12px 32px #000000a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}::selection{background:var(--primary-tint-border)}html,body,#root{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100vh;margin:0;padding:0;font-family:IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.tone-good{color:var(--positive)}.tone-caution{color:var(--caution)}.tone-bad{color:var(--negative)}.num,.num input,code,.sim-kpi-value,.ph-table{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}#root{text-align:left;border:0;width:100%;max-width:none}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}:root{--topbar-h:60px}.nav-toggle{border:1px solid var(--border-subtle);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:9px;flex:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:none}.nav-toggle:hover{background:var(--surface-2);color:var(--text)}.sidebar-drawer-head,.sidebar-backdrop{display:none}@media (width<=760px){.brand p{display:none}}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--brand-mark-bg);width:34px;height:34px;color:var(--brand-mark-ink);border:1px solid var(--brand-mark-border);box-shadow:var(--brand-mark-shadow);border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark svg{width:65%;height:65%;display:block}.wordmark{letter-spacing:-.03em;color:var(--text);white-space:nowrap;font-weight:700}.wordmark span{color:var(--primary);font-weight:500}.icon{vertical-align:middle;flex:none;display:inline-block}.brand h1{margin:0;font-size:20px;line-height:1}.brand p{margin:0;font-size:12px}.topbar-actions{align-items:center;gap:8px;min-width:0;display:flex}@media (width<=600px){.brand h1{display:none}}.layout{flex:1;grid-template-columns:280px 1fr;min-height:0;display:grid}@media (width<=1280px){.layout{grid-template-columns:216px 1fr}}@media (width<=880px){.layout{grid-template-columns:1fr}}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:12px;min-height:0;padding:12px;display:flex}.sidebar-tabs{background:0 0;border-radius:0;flex-direction:column;gap:2px;padding:0;display:flex}.sidebar-tabs button{width:100%;min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:0;border-radius:8px;flex-direction:row;align-items:center;gap:11px;padding:9px 12px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex}.sidebar-tabs button .nav-icon{color:var(--text-muted);transition:color .12s}.sidebar-tabs button:hover .nav-icon{color:var(--text-secondary)}.sidebar-tabs button.active .nav-icon{color:var(--primary)}.sidebar-tabs button:hover{color:var(--text)}.sidebar-tabs button.active{background:var(--primary-tint);color:var(--primary);font-weight:600}.sidebar-tabs .nav-group{flex-direction:column;gap:1px;display:flex}.sidebar-tabs .nav-group+.nav-group{margin-top:10px}.nav-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:2px 12px 4px;font-size:10.5px;font-weight:600}.sidebar-tabs button.nav-subtab{padding-top:7px;padding-bottom:7px}.sidebar-tabs .nav-group-bottom{border-top:1px solid var(--border-subtle);padding-top:10px}@media (width<=880px){.nav-toggle{display:inline-flex}.sidebar{z-index:40;visibility:hidden;overscroll-behavior:contain;width:min(84vw,300px);transition:transform .22s,visibility 0s linear .22s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{visibility:visible;box-shadow:var(--shadow-e3);transition:transform .22s;transform:translate(0)}.sidebar-drawer-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.sidebar-drawer-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:11px;font-weight:600}.sidebar-close{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.sidebar-backdrop{z-index:35;background:#11181c6b;border:0;animation:.16s backdrop-fade;display:block;position:fixed;inset:0}}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.recipe-name{font-size:13px;font-weight:500}.recipe-meta{color:var(--text-muted);font-size:11px}.badge{text-transform:uppercase;letter-spacing:.4px;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);vertical-align:1px;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.badge.pill{text-transform:none;letter-spacing:0;vertical-align:baseline;border-radius:999px;align-items:center;gap:5px;padding:2px 9px 2px 7px;font-size:11px;display:inline-flex}.badge.pill:before{content:"";background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}.badge.pill.positive{background:var(--positive-tint);color:var(--positive-ink);border-color:var(--positive-tint-border)}.badge.pill.caution{background:var(--caution-tint);color:var(--caution-ink);border-color:var(--caution-tint-border)}.badge.pill.negative,.badge.danger{background:var(--negative-tint);color:var(--negative-ink);border-color:var(--negative-tint-border)}.banner{background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);border-radius:12px;padding:12px 16px;font-size:13px}.banner strong{color:var(--accent)}.main{min-width:0;padding:24px;overflow-x:clip}.editor{flex-direction:column;gap:16px;max-width:1200px;display:flex}.editor-body{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.editor-main{flex-direction:column;gap:16px;min-width:0;display:flex}.editor-side{top:calc(var(--topbar-h) + 96px);min-width:0;position:sticky}@media (width<=1280px){.editor-body{grid-template-columns:1fr}.editor-side{position:static}}.editor-header{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:12px;padding:16px;display:flex}.editor-header>.field{flex:110px;max-width:none}.editor-header>.field:first-child{flex:3 240px}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:500}.card{background:var(--surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-e1);border-radius:14px;padding:20px}.card-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-head h2,.card>h2{text-transform:uppercase;letter-spacing:.4px;color:var(--text);margin:0;font-size:14px;font-weight:600}.card>h2{margin-bottom:12px}.segmented{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:5px 10px;font-size:12px;font-weight:500}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}table.lines{border-collapse:collapse;width:100%;font-size:13px}table.lines th,table.lines td{border-bottom:1px solid var(--border-subtle);text-align:left;padding:11px 14px}@media (width<=1280px){table.lines th,table.lines td{padding-left:9px;padding-right:9px}}table.lines th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:11px;font-weight:600}table.lines td.num,table.lines th.num{text-align:right;font-variant-numeric:tabular-nums}table.lines td.muted{color:var(--text-muted)}table.lines tfoot td{border-bottom:0;padding-top:12px}table.lines tfoot td.strong{color:var(--text);font-weight:600}table.lines .empty{text-align:center;color:var(--text-muted);padding:24px;font-style:italic}table.lines input,table.lines select{width:100%;min-width:0}table.lines td:last-child{text-align:center;width:36px}.params{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=760px){.params{grid-template-columns:1fr}}.totals h2{text-transform:uppercase;letter-spacing:.4px;margin:0 0 12px;font-size:14px;font-weight:600}.ledger{flex-direction:column;margin:0;display:flex}.ledger-row{justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;display:flex}.ledger-row dt{color:var(--text-secondary);align-items:center;gap:2px;min-width:0;font-size:13px;display:flex}.ledger-op{width:18px;color:var(--text-muted);flex:none;font-weight:600;display:inline-block}.ledger-row dd{color:var(--text);white-space:nowrap;margin:0;font-size:14px;font-weight:500}.ledger-row.subtotal{border-top:1px solid var(--border);margin-top:4px;padding-top:9px}.ledger-row.subtotal dt,.ledger-row.subtotal dd{color:var(--text);font-weight:600}.ledger-row.final{border-top:2px solid var(--text);margin-top:6px;padding-top:10px}.ledger-row.final dt{color:var(--text);font-size:14px;font-weight:600}.ledger-row.final dd{font-size:22px;font-weight:700}.facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.fact{background:var(--surface-2);border-radius:8px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.fact-label{color:var(--text-secondary);align-items:center;font-size:11.5px;display:flex}.fact-value{color:var(--text);font-size:15px;font-weight:600}@media (width<=1100px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1281px){.editor-side .facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.recipe-summary{top:var(--topbar-h);z-index:5;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-e2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:10px 16px;display:flex;position:sticky}.summary-stat{flex-direction:column;gap:1px;display:flex}.summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:500}.summary-value{color:var(--text);font-size:16px;font-weight:600}.summary-stat.is-main .summary-value{font-size:20px;font-weight:700}.summary-print{align-items:center;gap:6px;margin-left:auto;display:inline-flex}@media (width<=760px){.recipe-summary{flex-wrap:nowrap;gap:12px;padding:8px 12px}.summary-label{letter-spacing:.2px;white-space:nowrap;font-size:9.5px}.summary-value{font-size:14px}.summary-stat.is-main .summary-value{font-size:16px}.recipe-summary .badge.pill{flex:none;margin-left:0}.summary-stat.is-optional,.summary-print{display:none}}.catalog{flex-direction:column;gap:16px;max-width:1080px;display:flex}.catalog-head{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.catalog-head h1{margin:0;font-size:18px;font-weight:600}.catalog-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=760px){.catalog-actions,.catalog-actions input{flex:100%}}.card:has(>table){overflow-x:auto}.catalog table.lines{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.catalog table.lines th{background:var(--surface-2);padding:12px 10px}.recipe-index{max-width:1200px}.recipe-index .catalog-head h1 .muted{margin-left:4px;font-weight:500}.recipe-index .catalog-actions select{width:auto}.recipe-index-filter{flex-basis:100%}.recipe-index td.recipe-index-code{white-space:nowrap;font-variant-numeric:tabular-nums;width:1%}.recipe-index-name{color:var(--text);text-align:left;background:0 0;border:0;padding:0;font-weight:600}.recipe-index-name:hover{color:var(--primary);background:0 0}.recipe-index td.recipe-index-actions{white-space:nowrap;width:1%;padding-top:4px;padding-bottom:4px}.recipe-index-actions button{opacity:.55}.recipe-index tr:hover .recipe-index-actions button,.recipe-index-actions button:focus-visible{opacity:1}.recipe-nav{flex-wrap:wrap;align-items:center;gap:6px 10px;max-width:1200px;margin-bottom:12px;display:flex}.recipe-nav .flip{transform:scaleX(-1)}.recipe-nav button.ghost{color:var(--text-secondary);align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.recipe-nav button.ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.recipe-nav button:disabled{opacity:.35;cursor:default}.recipe-nav-step{display:flex}.recipe-nav-actions{gap:2px;margin-left:auto;display:flex}.recipe-switcher{min-width:0;position:relative}.recipe-switcher-btn{align-items:center;gap:8px;max-width:min(420px,70vw);padding:7px 10px 7px 12px;font-size:15px;display:inline-flex}.recipe-switcher-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-switcher-pop{z-index:30;background:var(--surface);border:1px solid var(--border);width:min(360px,100vw - 32px);box-shadow:var(--shadow-e3);border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.recipe-switcher-pop input{width:100%}.recipe-switcher-pop ul{max-height:min(360px,55vh);margin:0;padding:0;list-style:none;overflow-y:auto}.recipe-switcher-pop li{cursor:pointer;border-radius:8px;flex-direction:column;gap:1px;padding:7px 10px;display:flex}.recipe-switcher-pop li.hi{background:var(--surface-2)}.recipe-switcher-pop li.current{background:var(--primary-tint)}.recipe-switcher-pop li.current .recipe-name{color:var(--primary);font-weight:600}.recipe-switcher-pop li.empty{color:var(--text-muted);cursor:default;font-style:italic}@media (width<=720px){.recipe-index .table-scroll table.lines{min-width:0}.recipe-index table.lines tbody tr{grid-template-columns:1fr auto;padding:12px 14px}.lines-recipes td:first-child,.lines-recipes td:nth-child(4),.lines-recipes td:nth-child(6),.lines-subrecipes td:first-child,.recipe-index td.recipe-index-actions{display:none!important}.lines-recipes td:nth-child(5),.lines-recipes td:nth-child(7),.lines-subrecipes td:nth-child(4),.lines-subrecipes td:nth-child(5){text-align:right;justify-self:end}.lines-subrecipes td:nth-child(3){color:var(--text-muted);justify-self:start}.recipe-index tbody td:nth-child(2){grid-area:1/1}.lines-recipes td:nth-child(5),.lines-subrecipes td:nth-child(4){grid-area:1/2;font-weight:600}.lines-recipes td:nth-child(3),.lines-subrecipes td:nth-child(3){grid-area:2/1}.lines-recipes td:nth-child(7),.lines-subrecipes td:nth-child(5){grid-area:2/2}}@media (width<=760px){.recipe-nav{flex-wrap:nowrap;gap:4px}.recipe-nav-pos,.recipe-nav-step,.recipe-nav-actions .ghost:first-child{display:none}.recipe-switcher{flex:1}.recipe-switcher-btn{max-width:100%}}.empty-state{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;padding:40px}.empty-state h2{margin:0 0 8px}.empty-state p{color:var(--text-muted);max-width:560px;margin:0 auto 16px}.empty-state .empty-hint{color:var(--text-secondary);margin:16px auto 0;font-size:13px}input[type=text],input[type=search],input[type=number],input[type=email],input[type=password],input[type=date],select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:8px 11px;font-family:inherit;font-size:13.5px;transition:border-color .12s,box-shadow .12s}select{appearance:none;background-image:var(--select-chevron);cursor:pointer;background-position:right 9px center;background-repeat:no-repeat;background-size:12px;padding-right:28px}input[type=text]:focus,input[type=search]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}input::placeholder{color:var(--text-muted)}table.lines td.num input{text-align:right}button{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,border-color .12s,color .12s}button:hover{background:var(--surface-2);border-color:var(--text-muted)}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);box-shadow:0 1px 2px #0d5c5440}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.ghost{color:var(--text-muted);background:0 0;border:0;padding:4px 8px;font-size:16px}button.ghost:hover{background:var(--surface-2);color:var(--text)}button.ghost[title=Quitar]:hover,button.ghost[title=Eliminar]:hover,button.ghost[title=Quitar\ paso]:hover{color:var(--negative);background:var(--negative-tint)}.readout{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-variant-numeric:tabular-nums;border-radius:6px;padding:7px 9px;font-size:13px;font-weight:500}.readout.highlight{background:var(--good-soft);color:var(--good);border-color:var(--good)}.totals-footnote{margin-top:12px;font-style:italic}.muted{color:var(--text-muted)}.small{font-size:12px}.field.small{max-width:110px}@media (width<=720px){table.lines{display:block}table.lines thead{display:none}table.lines tbody,table.lines tfoot{display:block}table.lines tbody tr{border-bottom:1px solid var(--border);align-items:center;gap:6px 8px;padding:10px 0;display:grid}table.lines tbody tr:last-child{border-bottom:0}table.lines td{border-bottom:0;display:block;padding:0!important}table.lines tbody td:last-child{width:auto}table.lines tbody tr td.empty{text-align:center;grid-column:1/-1;padding:12px 0!important}table.lines-ingredients tbody tr{grid-template-columns:84px auto 1fr auto;grid-template-areas:"name name name delete""qty unit importe importe""meta1 meta1 meta2 meta2"}table.lines-ingredients tbody td:first-child{grid-area:name;min-width:0}table.lines-ingredients tbody td:nth-child(2){grid-area:qty}table.lines-ingredients tbody td:nth-child(3){color:var(--text-muted);grid-area:unit;text-align:left!important}table.lines-ingredients tbody td:nth-child(4){color:var(--text-muted);grid-area:meta1;font-size:11px;text-align:left!important}table.lines-ingredients tbody td:nth-child(4):before{content:"Precio: ";opacity:.7}table.lines-ingredients tbody td:nth-child(5){color:var(--text-muted);grid-area:meta2;font-size:11px;text-align:right!important}table.lines-ingredients tbody td:nth-child(5):before{content:"Merma: ";opacity:.7}table.lines-ingredients tbody td:nth-child(6){display:none}table.lines-ingredients tbody td:nth-child(7){color:var(--text);grid-area:importe;font-size:15px;font-weight:700;text-align:right!important}table.lines-ingredients tbody td:nth-child(8){grid-area:delete;text-align:right!important}table.lines-packaging tbody tr{grid-template-columns:84px 1fr auto;grid-template-areas:"name name delete""qty importe importe""meta meta meta"}table.lines-packaging tbody td:first-child{grid-area:name;min-width:0}table.lines-packaging tbody td:nth-child(2){grid-area:qty}table.lines-packaging tbody td:nth-child(3){color:var(--text-muted);grid-area:meta;font-size:11px;text-align:left!important}table.lines-packaging tbody td:nth-child(3):before{content:"Precio unitario: ";opacity:.7}table.lines-packaging tbody td:nth-child(4){color:var(--text);grid-area:importe;font-size:15px;font-weight:700;text-align:right!important}table.lines-packaging tbody td:nth-child(5){grid-area:delete;text-align:right!important}table.lines tfoot tr{background:var(--surface-2);border-bottom:0;border-radius:6px;justify-content:space-between;align-items:center;margin-top:8px;padding:10px 12px;display:flex}table.lines tfoot td{border:0;display:inline-block}table.lines tfoot td:empty{display:none}table.lines tfoot td.num.strong:first-child{font-weight:500;text-align:left!important}}.app-splash{flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100vh;display:flex}.app-splash .brand-mark{border-radius:13px;width:52px;height:52px}.auth{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:16px;padding:28px 24px;display:flex}.auth-brand{text-align:center}.auth-brand .brand-mark{border-radius:12px;width:46px;height:46px}.auth-brand h1{margin:6px 0 2px;font-size:19px;font-weight:600}.auth-brand h1.wordmark{font-size:26px;font-weight:700}.auth-brand p{margin:0;font-size:13px}.auth-tabs{width:100%}.auth-tabs button{flex:1}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form input{width:100%}.auth-submit{margin-top:4px;padding:10px;font-size:14px}.auth-error{background:var(--negative-tint);color:var(--negative-ink);border:1px solid var(--negative-tint-border);border-radius:6px;padding:8px 10px;font-size:13px}.auth-info{background:var(--good-soft);color:var(--good);border:1px solid var(--good);border-radius:6px;padding:8px 10px;font-size:13px}.auth-warn{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:8px 10px;font-size:12px}.auth-offline{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:4px;font-size:12px;text-decoration:underline}.auth-offline:hover{color:var(--accent);background:0 0;border:0}.onboard-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.danger-zone{border-color:var(--negative-tint-border)}.danger-row{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}button.danger{color:var(--negative-ink);border-color:var(--negative-tint-border)}button.danger:hover{background:var(--negative);color:#fff;border-color:var(--negative)}.restaurant-switcher{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:9px;align-items:center;gap:6px;max-width:260px;padding:0 4px 0 10px;display:inline-flex}.restaurant-switcher select{color:var(--text);background-color:#0000;background-position:right 4px center;border:0;min-width:0;max-width:220px;padding:7px 24px 7px 4px;font-weight:600}.restaurant-switcher select:focus{box-shadow:none;outline:none}.restaurant-switcher:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}button.icon-btn{border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.account-trigger{align-items:center;gap:8px;display:inline-flex;border:1px solid var(--border-subtle)!important;border-radius:999px!important;padding:3px 10px 3px 3px!important}.account-role{color:var(--text-secondary);font-size:12.5px;font-weight:600}.avatar{object-fit:cover;border-radius:50%;flex:none;width:28px;height:28px}.avatar-initial{background:var(--primary-tint);color:var(--primary);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.avatar-lg{width:48px;height:48px;font-size:18px}.save-state{align-items:center;gap:4px;display:inline-flex}@media (width<=760px){:root{--topbar-h:56px}.topbar{gap:8px;padding:0 12px}.brand-mark{width:30px;height:30px}.topbar-actions{flex:1;justify-content:flex-end}.account-role,.save-state-text,.save-state:not(.tone-bad){display:none}.restaurant-switcher{flex:1;min-width:0;max-width:none}.restaurant-switcher select{text-overflow:ellipsis;flex:1;max-width:none}}@media (width<=480px){.topbar-actions [data-tour=help]{display:none}}.banner{border-bottom:1px solid #0000;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 20px;font-size:13.5px;display:flex}.banner-negative{background:var(--negative-tint);color:var(--negative-ink);border-color:var(--negative-tint-border)}.banner-demo{border-bottom-color:var(--border-subtle)}.banner-demo .demo-exit{color:var(--text-muted);margin-left:auto}.demo-signup-btn{white-space:nowrap}.banner-caution{background:var(--caution-tint);color:var(--caution-ink);border-color:var(--caution-tint-border)}.banner-positive{background:var(--positive-tint);color:var(--positive-ink);border:1px solid var(--positive-tint-border);border-radius:10px;margin-bottom:14px}button.link{font:inherit;color:var(--primary);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}button.link:hover{color:var(--primary-hover);background:0 0}.readonly-note{color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:6px;margin:0 0 12px;padding:7px 10px;font-size:12.5px;display:flex}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.plain-fieldset:disabled input,.plain-fieldset:disabled select,.plain-fieldset:disabled textarea{opacity:.75}.home button.ghost,.guide button.ghost,.settings button.ghost,.tour button.ghost,.rdm-actions button.ghost,.onboarding-actions button.ghost{align-items:center;gap:6px;padding:6px 10px;font-size:13.5px;display:inline-flex}.home button:not(.ghost):not(.primary),.settings button:not(.ghost):not(.primary):not(.link):not(.danger){align-items:center;gap:6px;display:inline-flex}button.danger-ghost:hover{color:var(--negative)!important;background:var(--negative-tint)!important}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}.google-btn{background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-e1);justify-content:center;align-items:center;gap:10px;padding:11px 14px;font-size:14.5px;display:flex}.google-btn:hover{border-color:var(--text-muted)}.auth-demo{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.auth-demo button{width:100%}.auth-points{color:var(--text-secondary);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:12.5px;display:flex}.consent-card{max-width:420px}.consent-card .auth-brand h1{overflow-wrap:anywhere}.consent-list{color:var(--text-secondary);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13.5px;display:flex}.consent-who,.consent-foot,.consent-loading{text-align:center;margin:0}.consent-actions{gap:8px;display:flex}.consent-actions button{flex:1;padding:10px;font-size:14px}.dev-login{border-top:1px dashed var(--border);flex-direction:column;gap:6px;padding-top:12px;display:flex}.onboarding-card{max-width:420px}.onboarding-step{text-transform:uppercase;letter-spacing:.07em;color:var(--primary);margin-top:12px;font-size:11px;font-weight:600;display:block}.onboarding-actions{justify-content:flex-end;gap:8px;display:flex}.onboarding-actions .auth-submit{flex:1}.home,.guide,.settings{flex-direction:column;gap:16px;max-width:980px;display:flex}.home-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.home-head h1{margin:0;font-size:24px}.home-head p{margin:2px 0 0}.home-head-actions{gap:8px;display:flex}.checklist-bar{background:var(--surface-2);border-radius:99px;height:6px;margin:4px 0 12px;overflow:hidden}.checklist-bar span{background:var(--primary);border-radius:99px;height:100%;transition:width .3s;display:block}.checklist-steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checklist-steps li{border-top:1px solid var(--border-subtle);grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.checklist-steps li:first-child{border-top:0}.checklist-steps p{margin:2px 0 0}.checklist-mark{border:1.5px solid var(--border);width:26px;height:26px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.checklist-steps li.done .checklist-mark{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.checklist-steps li.done strong{color:var(--text-muted);font-weight:500;text-decoration:line-through}.home-kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.home-stat{background:var(--surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-e1);text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;font-weight:400;display:flex}.home-stat strong{color:var(--text);font-size:22px;font-weight:700}.home .home-stat{align-items:flex-start;gap:4px;display:flex}button.home-stat:hover{border-color:var(--primary-tint-border);background:var(--surface)}.home-empty{margin:0}.guide-list{flex-direction:column;gap:8px;display:flex}.guide-chapter{overflow:hidden;padding:0!important}.guide-chapter-head{text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;width:100%;padding:14px 16px;font-size:15px;display:flex}.guide-chapter-head:hover{background:var(--surface-2)}.guide-title{flex:1}.guide-num{background:var(--primary-tint);width:26px;height:26px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.guide-body{color:var(--text-secondary);padding:0 16px 16px 54px;font-size:14px;line-height:1.55}.guide-body p{margin:0 0 8px}.guide-body ol{flex-direction:column;gap:4px;margin:0 0 12px;padding-left:20px;display:flex}.guide-tip{background:var(--surface-2);border-radius:8px;align-items:flex-start;gap:8px;padding:9px 11px;font-size:13px;display:flex}.guide-tip .icon{color:var(--primary);margin-top:2px}.guide-roles h2{margin:0 0 10px;font-size:16px}.guide-roles dl{flex-direction:column;gap:8px;margin:0 0 8px;display:flex}.guide-roles dt{font-weight:600}.guide-roles dd{margin:2px 0 0;font-size:13.5px}@media (width<=560px){.guide-body{padding-left:16px}}.tour{z-index:100;position:fixed;inset:0}.tour-dim{background:#0e141280;position:absolute;inset:0}.tour-spot{outline:2px solid var(--primary);pointer-events:none;border-radius:10px;transition:all .2s;position:fixed;box-shadow:0 0 0 9999px #0e141280}.tour-bubble{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-e3);border-radius:14px;padding:14px 16px;transition:top .2s,left .2s;position:fixed}.tour-bubble-head{justify-content:space-between;align-items:center;display:flex}.tour-bubble h3{margin:4px 0 6px;font-size:16px}.tour-bubble p{color:var(--text-secondary);margin:0 0 14px;font-size:14px;line-height:1.5}.tour-actions{justify-content:space-between;display:flex}.settings-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow-x:auto}.settings-tabs button{color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;padding:10px 12px;display:inline-flex}.settings-tabs button:hover{color:var(--text);background:0 0}.settings-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}.settings-list{margin:0;padding:0;list-style:none}.settings-list>li{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.settings-list>li:first-child{border-top:0}.settings-list>li.pending{opacity:.8}.settings-list-main{flex-direction:column;flex:1;gap:2px;min-width:180px;display:flex}.settings-list-main .badge{align-self:flex-start}.settings-note{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;font-size:13px;display:flex}.inline-form{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.inline-form input{flex:1;min-width:200px}.invite-form{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.invite-form .field{width:100%;max-width:560px}.role-options{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.role-option{border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;font-size:13.5px!important;font-weight:400!important}.role-option input{opacity:0;pointer-events:none;position:absolute}.role-option.active{border-color:var(--primary);background:var(--primary-tint);box-shadow:0 0 0 1px var(--primary)}.rest-picker{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chip-check{border:1px solid var(--border);cursor:pointer;border-radius:99px;align-items:center;gap:5px;padding:3px 9px;display:inline-flex;text-transform:none!important;letter-spacing:0!important;color:var(--text-secondary)!important;font-size:12.5px!important;font-weight:500!important}.invite-howto{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:14px}.invite-howto p{margin:4px 0 8px}.copy-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.copy-row code{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:6px;padding:5px 9px;font-size:13px}.profile-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.profile-row>div{flex-direction:column;flex:1;gap:2px;display:flex}.plan-current{flex-wrap:wrap;gap:28px;margin-bottom:12px;display:flex}.plan-current>div{flex-direction:column;gap:2px;display:flex}.plan-current strong{font-size:16px}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.plan-card{flex-direction:column;gap:6px;display:flex}.plan-card.featured{border-color:var(--primary-tint-border);box-shadow:0 0 0 1px var(--primary-tint-border), var(--shadow-e1)}.plan-card-head{justify-content:space-between;align-items:center;display:flex}.plan-card h3{margin:0;font-size:18px}.plan-price{margin:4px 0 0}.plan-price strong{font-size:28px;font-weight:700}.plan-features{flex-direction:column;flex:1;gap:5px;margin:8px 0;padding:0;font-size:13.5px;list-style:none;display:flex}.plan-features .icon{color:var(--primary)}.plan-actions{flex-direction:column;gap:6px;display:flex}.billing-foot{margin:0}.steps-static{flex-direction:column;gap:6px;margin:0;padding-left:20px;line-height:1.5;display:flex}.advanced{margin-top:10px}.advanced-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:500}.advanced-toggle:hover{color:var(--accent);background:0 0;border:0}.advanced-toggle.inline{color:var(--accent);padding:0;text-decoration:underline}.advanced-body{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;max-width:280px;margin-top:10px;padding:12px 14px}.advanced-note{margin-top:8px}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;width:100%;max-width:420px;max-height:85vh;padding:18px;overflow-y:auto}.modal-card.modal-wide{max-width:640px}.impact-controls{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;display:grid}.impact-table{font-size:13px}.impact-table tr.impact-over td{background:var(--accent-soft)}.impact-foot{margin-top:10px}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal-head h2{margin:0;font-size:15px;font-weight:600}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.dialog-overlay{z-index:300}.dialog-message{color:var(--text-secondary);white-space:pre-line}.dialog-message p{margin:0 0 8px}.dialog-message ul{margin:4px 0 8px;padding-left:18px}.dialog-card .field{margin-top:10px}.dialog-card .field input{width:100%}.toasts{z-index:400;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-e3);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 8px 10px 12px;font-size:13.5px;display:flex}.toast>svg{color:var(--text-muted);flex:none;margin-top:2px}.toast span{flex:1}.toast button{flex:none;padding:2px 4px}.toast-bad{background:var(--negative-tint);color:var(--negative-ink);border-color:var(--negative-tint-border)}.toast-bad>svg{color:var(--negative)}@media (width<=640px){.toasts{max-width:none;left:16px;right:16px}}.nr-modal .field{margin-bottom:12px}.nr-code{background:var(--primary-tint);border:1px solid var(--primary-tint-border);color:var(--text);border-radius:8px;margin-bottom:12px;padding:8px 10px;font-size:13px}.nr-code strong{font-variant-numeric:tabular-nums;letter-spacing:.5px}.nr-cat-label{justify-content:space-between;align-items:center;gap:8px;display:flex}.nr-cat-row{gap:8px;display:flex}.nr-cat-row select{flex:1;min-width:0}.nr-cat-row .ghost{white-space:nowrap;flex:none;align-items:center;gap:4px;display:inline-flex}.nr-cat-manage{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.nr-cat-edit{align-items:center;gap:6px;display:flex}.nr-cat-edit input{min-width:0}.nr-cat-edit input:first-child{flex:1}.nr-prefix{text-transform:uppercase;text-align:center;font-variant-numeric:tabular-nums;flex:none;width:64px}.nr-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.nr-form-row{grid-template-columns:1fr}}.seg-toggle{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:9px;gap:4px;margin-bottom:12px;padding:3px;display:inline-flex}.seg-toggle button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 14px;font-size:12.5px;font-weight:500;transition:background .12s,color .12s}.seg-toggle button:hover{color:var(--text)}.seg-toggle button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-e1);font-weight:600}.ph-spark{background:var(--surface-2);border-radius:8px;margin-bottom:10px;display:block}.ph-summary{justify-content:space-between;align-items:baseline;margin-bottom:12px;font-size:14px;display:flex}.ph-up{color:var(--negative-ink)}.ph-down{color:var(--positive-ink)}.ph-summary .ph-up,.ph-summary .ph-down{align-items:center;gap:3px;display:inline-flex}.ph-table{font-size:13px}.row-actions{white-space:nowrap;width:auto!important}.kitchen{grid-template-columns:200px 1fr;gap:16px;display:grid}@media (width<=700px){.kitchen{grid-template-columns:1fr}}.kitchen-photo{flex-direction:column;align-items:stretch;gap:8px;display:flex}.kitchen-photo img{aspect-ratio:4/3;object-fit:contain;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;width:100%}.photo-placeholder{aspect-ratio:4/3;border:1px dashed var(--border);width:100%;color:var(--text-muted);background:var(--surface-2);border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex}.photo-upload{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:6px;justify-content:center;align-items:center;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.photo-upload:hover{border-color:var(--text-muted)}.kitchen-fields{flex-direction:column;gap:12px;min-width:0;display:flex}.steps{flex-direction:column;gap:6px;margin:0 0 6px;padding-left:22px;display:flex}.steps li{align-items:center;gap:6px;display:flex}.steps li input{flex:1}.kitchen-notes{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:6px;padding:7px 9px;font-family:inherit;font-size:13px}.kitchen-notes:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.step-drag{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:0 2px;font-size:14px;line-height:1}.step-drag:active{cursor:grabbing}.recetario{flex-direction:column;gap:16px;max-width:1080px;display:flex}.recetario-onscreen{flex-direction:column;gap:16px;display:flex}.recetario-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.recetario-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;transition:border-color .12s,box-shadow .12s,transform .12s;position:relative;overflow:hidden}.recetario-card:hover{border-color:var(--primary-tint-border);box-shadow:var(--shadow-e2);transform:translateY(-1px)}.recetario-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.recetario-card img,.recetario-card .photo-placeholder{aspect-ratio:4/3;object-fit:contain;background:var(--surface-2);border:0;border-radius:0;width:100%}.recetario-print-btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;opacity:0;box-shadow:var(--shadow-e1);border-radius:8px;justify-content:center;align-items:center;transition:opacity .12s,color .12s,border-color .12s;display:inline-flex;position:absolute;top:8px;right:8px}.recetario-card:hover .recetario-print-btn,.recetario-card:focus-within .recetario-print-btn,.recetario-print-btn:focus-visible{opacity:1}.recetario-print-btn:hover{color:var(--primary);border-color:var(--primary-tint-border)}.recetario-card-body{flex-direction:column;gap:3px;padding:10px 12px;display:flex}.rdm-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:14px;font-size:12.5px;display:flex}.rdm-meta .badge{margin-left:0}.rdm-cols{grid-template-columns:1fr 1.2fr;gap:22px;display:grid}@media (width<=560px){.rdm-cols{grid-template-columns:1fr;gap:14px}}.rdm-cols h3{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 8px;font-size:11px;font-weight:600}.rdm-cols section+section,.rdm-cols h3+h3{margin-top:0}.rdm .kitchen{margin:6px 0 18px}.rdm-ing-section{border-top:1px solid var(--border-subtle);padding-top:14px}.rdm-ing-section h3{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 10px;font-size:11px;font-weight:600}.rdm-ing{flex-direction:column;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.rdm-ing li{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:10px;padding-bottom:5px;display:flex}.rdm-steps{flex-direction:column;gap:7px;margin:0 0 14px;padding-left:18px;font-size:13px;line-height:1.5;display:flex}.rdm-plating{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.55}.rdm-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;display:flex}.rdm-actions button{align-items:center;gap:6px;display:inline-flex}.platforms{flex-direction:column;gap:16px;max-width:1080px;display:flex}.table-scroll{overflow-x:auto}.table-scroll table.lines{min-width:720px}.plat-sug{font-weight:600;display:block}.plat-bruta{font-size:11px;display:block}.platforms tr.plat-whatif td{background:var(--primary-tint)}.help{cursor:help;vertical-align:1px;outline:none;margin-left:6px;display:inline-flex;position:relative}.help-icon{background:var(--surface-2);width:15px;height:15px;color:var(--text-muted);border:1px solid var(--border);letter-spacing:0;text-transform:none;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.help:hover .help-icon,.help:focus-visible .help-icon{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.help-tip-portal{z-index:1000;background:var(--text);color:var(--bg);letter-spacing:normal;text-transform:none;text-align:left;pointer-events:none;width:max-content;max-width:280px;box-shadow:var(--shadow);border-radius:6px;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.45;position:fixed}.help-tip-portal:after{content:"";left:var(--caret-left,50%);border:5px solid #0000;position:absolute;transform:translate(-50%)}.help-tip-portal.caret-down:after{border-top-color:var(--text);top:100%}.help-tip-portal.caret-up:after{border-bottom-color:var(--text);bottom:100%}.simulator{flex-direction:column;gap:16px;max-width:1200px;display:flex}.sim-head{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.sim-head h1{margin:0 0 4px;font-size:18px;font-weight:600}.sim-head p{max-width:520px;margin:0}.sim-month{flex-direction:column;gap:4px;min-width:200px;display:flex}.sim-month label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:500}.sim-kpis{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}@media (width<=1280px){.sim-kpis{grid-template-columns:repeat(3,1fr)}}@media (width<=620px){.sim-kpis{grid-template-columns:repeat(2,1fr)}}.sim-kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.sim-kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:500}.sim-kpi-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:18px;font-weight:700}.sim-kpi-sub{color:var(--text-muted);align-items:center;gap:3px;font-size:11px;display:inline-flex}.sim-kpi-sub.sub-good{color:var(--positive-ink);font-weight:600}.sim-kpi-sub.sub-bad{color:var(--negative-ink);font-weight:600}.sim-kpi.big .sim-kpi-value{font-size:22px}.sim-kpi.tone-good{background:var(--positive-tint);border-color:var(--positive-tint-border)}.sim-kpi.tone-good .sim-kpi-value,.sim-kpi.tone-good .sim-kpi-label,.sim-kpi.tone-good .sim-kpi-sub{color:var(--positive-ink)}.sim-kpi.tone-bad{background:var(--negative-tint);border-color:var(--negative-tint-border)}.sim-kpi.tone-bad .sim-kpi-value,.sim-kpi.tone-bad .sim-kpi-label,.sim-kpi.tone-bad .sim-kpi-sub{color:var(--negative-ink)}.ventas-periods tbody tr{cursor:pointer}.ventas-periods tbody tr:hover{background:var(--surface-2)}.ventas-periods tbody tr.active{background:var(--primary-tint)}.ventas-periods td.tone-good{color:var(--positive)}.ventas-periods td.tone-bad{color:var(--negative)}.period-editor{flex-direction:column;gap:16px;display:flex}.period-meta{grid-template-columns:1.6fr 1fr 1.2fr;align-items:start;gap:14px;display:grid}.period-meta .seg-toggle{margin-bottom:0}.trend{align-items:flex-start;gap:8px;padding-top:20px;display:flex;position:relative}.trend:before{content:"";left:0;right:0;top:calc(20px + var(--trend-pos));border-top:1px solid var(--border);position:absolute}.trend-col{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.trend-pos,.trend-neg{justify-content:center;width:100%;display:flex}.trend-pos{height:var(--trend-pos);align-items:flex-end}.trend-neg{height:calc(var(--trend-neg) + var(--trend-neg-pad,0px));align-items:flex-start}.trend-bar{width:min(24px,60%);min-height:2px;position:relative}.trend-bar.pos{background:var(--positive);border-radius:4px 4px 0 0}.trend-bar.neg{background:var(--negative);border-radius:0 0 4px 4px}.trend-value{color:var(--text);white-space:nowrap;font-size:12px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.trend-bar.pos .trend-value{bottom:calc(100% + 3px)}.trend-bar.neg .trend-value{top:calc(100% + 3px)}.trend-label{color:var(--text-secondary);text-align:center;overflow-wrap:anywhere;margin-top:8px;font-size:11.5px;line-height:1.3}@media (width<=880px){.period-meta{grid-template-columns:1fr}}.sim-pl-row{grid-template-columns:1.5fr 1fr;align-items:start;gap:16px;display:grid}@media (width<=880px){.sim-pl-row{grid-template-columns:1fr}}.composition-bar{border:1px solid var(--border-subtle);border-radius:7px;height:26px;display:flex;overflow:hidden}.composition-seg{height:100%}.composition-legend{color:var(--text-secondary);flex-wrap:wrap;gap:10px;margin-top:12px;font-size:11.5px;display:flex}.composition-item{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.composition-dot{border-radius:2px;flex:none;width:9px;height:9px}.composition-note{margin-top:12px}.composition-loss{color:var(--negative-ink);font-weight:600}.lines-simulator tbody tr.dim td{opacity:.55}.sim-pl dl{grid-template-columns:1fr auto;align-items:baseline;gap:6px 16px;margin:0;font-size:14px;display:grid}.sim-pl dt{color:var(--text-muted)}.sim-pl dd{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-weight:500}.sim-pl dt.emph,.sim-pl dd.emph{color:var(--text);border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-weight:700}.sim-pl dt.final,.sim-pl dd.final{border-top:2px solid var(--text);margin-top:6px;padding-top:8px;font-size:18px;font-weight:700}.sim-pl .tone-good{color:var(--good)!important}.sim-pl .tone-bad{color:var(--negative)!important}.sim-pl p{margin-top:12px}@media (width<=720px){table.lines-simulator tbody tr{grid-template-columns:1fr auto;grid-template-areas:"name units""meta1 meta2""meta3 importe"}table.lines-simulator tbody td:first-child{grid-area:name;font-weight:600}table.lines-simulator tbody td:nth-child(2){grid-area:units}table.lines-simulator tbody td:nth-child(3){color:var(--text-muted);grid-area:meta1;font-size:11px;text-align:left!important}table.lines-simulator tbody td:nth-child(3):before{content:"Precio: ";opacity:.7}table.lines-simulator tbody td:nth-child(4){grid-area:importe;font-weight:700;text-align:right!important}table.lines-simulator tbody td:nth-child(4):before{content:"Ingresos ";color:var(--text-muted);opacity:.7;font-weight:400}table.lines-simulator tbody td:nth-child(5){color:var(--text-muted);grid-area:meta3;font-size:11px;text-align:left!important}table.lines-simulator tbody td:nth-child(5):before{content:"Costo: ";opacity:.7}table.lines-simulator tbody td:nth-child(6){grid-area:meta2;font-size:13px;text-align:right!important}table.lines-simulator tbody td:nth-child(6):before{content:"Contrib. ";color:var(--text-muted);opacity:.7;font-weight:400}table.lines-simulator tbody td:nth-child(7),table.lines-simulator tbody td:nth-child(8){display:none}}.print-sheet,.recipe-book-sheet{display:none}@media print{html,body,#root,.app,.main,.layout{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#111!important;background:#fff!important;grid-template-columns:1fr!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.topbar,.sidebar,.recipe-nav,.recipe-summary,.editor-header,.card,.banner,.empty-state,.catalog,.fixedcosts{display:none!important}.editor{gap:0!important;max-width:none!important;display:block!important}.print-sheet{color:#111;background:#fff;max-width:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:10pt;line-height:1.4;display:block!important}.ps-top{text-transform:uppercase;letter-spacing:1.5px;color:#666;border-bottom:.5px solid #333;justify-content:space-between;align-items:baseline;padding-bottom:4px;font-size:8pt;display:flex}.ps-title{margin:14px 0 22px}.ps-title h1{letter-spacing:-.3px;color:#111;margin:0;font-size:22pt;font-weight:700;line-height:1.1}.ps-meta{color:#555;align-items:center;gap:18px;margin-top:6px;font-size:10pt;display:flex}.ps-tag{color:#555;text-transform:uppercase;letter-spacing:1px;background:#f0f0f0;border:.5px solid #ccc;border-radius:3px;padding:1px 7px;font-size:8pt}.ps-tag.sub{vertical-align:1px;margin-left:6px}.ps-section{page-break-inside:avoid;margin-top:18px}.ps-section h2,.ps-col h3{text-transform:uppercase;letter-spacing:2px;color:#111;border-bottom:1px solid #111;margin:0 0 6px;padding-bottom:3px;font-size:8.5pt;font-weight:700}.ps-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:10pt}.ps-table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:#555;border-bottom:.5px solid #888;padding:5px 8px 4px;font-size:8pt;font-weight:600}.ps-table td{border-bottom:.5px solid #eee;padding:4px 8px}.ps-table .ps-num{text-align:right}.ps-table tfoot td{color:#111;border-top:1px solid #111;border-bottom:0;padding-top:6px;font-weight:700}.ps-table .ps-empty{text-align:center;color:#777;padding:12px 0;font-style:italic}.ps-table tr{page-break-inside:avoid}.ps-summary{page-break-inside:avoid;grid-template-columns:1fr 1.15fr;gap:22px;margin-top:22px;display:grid}.ps-col dl{grid-template-columns:1fr auto;align-items:baseline;gap:5px 16px;margin:0;font-size:10pt;display:grid}.ps-col dt{color:#333}.ps-col dt .ps-sub{color:#888;margin-top:1px;font-size:8pt;display:block}.ps-col dd{text-align:right;font-variant-numeric:tabular-nums;color:#111;margin:0;font-weight:500}.ps-col dt.ps-total,.ps-col dd.ps-total{border-top:.5px solid #999;margin-top:3px;padding-top:5px;font-weight:700}.ps-final{page-break-inside:avoid;border:2px solid #111;justify-content:space-between;align-items:baseline;gap:16px;margin:12px 0 8px;padding:12px 16px;display:flex}.ps-final span{text-transform:uppercase;letter-spacing:1.5px;color:#111;font-size:8.5pt;font-weight:600}.ps-final strong{color:#111;font-variant-numeric:tabular-nums;font-size:20pt;font-weight:700}.ps-final-sub{margin-top:22px}.ps-margin{margin-top:8px!important}.ps-footnote{color:#666;border-top:.5px solid #ccc;margin-top:22px;padding-top:8px;font-size:8.5pt;font-style:italic;line-height:1.4}.recipe-book-sheet,html.print-book .print-sheet{display:none!important}html.print-book .recipe-book-sheet{color:#111;background:#fff;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:11pt;line-height:1.45;display:block!important}.recetario-onscreen{display:none!important}html.print-book .recipe-book-sheet+.recipe-book-sheet{page-break-before:always}html.print-one .recetario-print{display:none!important}.rb-top{text-transform:uppercase;letter-spacing:1.5px;color:#666;border-bottom:.5px solid #333;justify-content:space-between;align-items:baseline;padding-bottom:4px;font-size:8pt;display:flex}.rb-title{margin:14px 0 12px}.rb-title h1{color:#111;margin:0;font-size:24pt;font-weight:700;line-height:1.05}.rb-meta{color:#555;flex-wrap:wrap;gap:16px;margin-top:6px;font-size:10pt;display:flex}.rb-photo{object-fit:contain;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f2f2f2;border-radius:6px;width:100%;height:80mm;margin-bottom:14px}.rb-cols{grid-template-columns:1fr 1.4fr;align-items:start;gap:22px;display:grid}.rb-cols h2{text-transform:uppercase;letter-spacing:2px;color:#111;border-bottom:1px solid #111;margin:0 0 8px;padding-bottom:3px;font-size:9pt;font-weight:700}.rb-ing ul{margin:0;padding:0;font-size:10pt;list-style:none}.rb-ing li{border-bottom:.5px solid #eee;justify-content:space-between;gap:10px;padding:3px 0;display:flex}.rb-ing .rb-qty{color:#555;white-space:nowrap}.rb-proc ol{margin:0;padding-left:18px;font-size:10.5pt}.rb-proc li{margin-bottom:7px;padding-left:4px}.rb-proc h3{text-transform:uppercase;letter-spacing:1px;color:#555;margin:14px 0 4px;font-size:9pt}.rb-plating{color:#333;margin:0;font-size:10pt}.rb-empty{color:#888;font-size:10pt;font-style:italic}@page{margin:14mm}}.add-modal{max-width:440px}.add-modal-fields{flex-direction:column;gap:12px;margin-bottom:4px;display:flex}.add-modal .field input[type=text],.add-modal .field input[type=date],.add-modal .field input[type=search],.add-modal>input[type=search]{width:100%}.input-suffix{align-items:center;gap:8px;display:flex}.input-suffix input{text-align:right;flex:1;min-width:0}.check-label{cursor:pointer;align-items:flex-start;gap:8px;text-transform:none!important;letter-spacing:0!important;color:var(--text)!important;font-size:13.5px!important;font-weight:500!important;display:flex!important}.check-label input{margin-top:3px}.check-help{font-weight:400;display:block}.add-line-modal{flex-direction:column;gap:12px;max-width:480px;display:flex}.pick-list{border:1px solid var(--border-subtle);border-radius:10px;max-height:280px;padding:4px;overflow-y:auto}.pick-group{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:8px 10px 4px;font-size:10.5px;font-weight:600}.pick-item{text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;font-weight:500;display:flex}.pick-item:hover{background:var(--surface-2);border:0}.add-count{align-self:center;margin-right:auto}.pick-name{align-items:center;gap:6px;display:inline-flex}.pick-item.active{background:var(--primary);color:var(--primary-text);box-shadow:none}.pick-item.active .muted{color:var(--primary-text);opacity:.8}button:disabled,button:disabled:hover{opacity:.45;cursor:not-allowed}.pack-cell{align-items:center;gap:6px;display:flex}table.lines .pack-cell input{text-align:right;flex:none;width:64px}table.lines .pack-cell select,table.lines select.line-unit,.input-suffix select{flex:none;width:auto}.add-modal-preview{margin:10px 0 0}.trial-chip{background:var(--primary-tint);border-color:var(--primary-tint-border);color:var(--primary);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:500}.trial-chip:hover{border-color:var(--primary)}@media (width<=760px){.trial-chip{display:none}}td.fc-flag{white-space:nowrap}td.fc-flag .icon{vertical-align:-2px;margin-right:2px}.settings-note-plain{margin:0}.mcp-url{gap:8px;margin:10px 0 0;display:flex}.mcp-url input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.mcp-open{flex-wrap:wrap;gap:8px;margin:10px 0 0;display:flex}.mcp-open a.button{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.mcp-open a.button:hover{background:var(--surface-2);border-color:var(--text-muted)}.mcp-open a.button:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);outline:none}.mcp-steps{color:var(--text-secondary);flex-direction:column;gap:4px;margin:12px 0 0;padding-left:18px;font-size:13px;display:flex}.mcp-examples{color:var(--text-secondary);margin:10px 0 0;font-size:13px}.plan-period{justify-content:center;margin-bottom:14px;display:flex}.plan-period .segmented button{padding:6px 14px;font-size:13px}.pro-tag{letter-spacing:.04em;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);vertical-align:middle;border-radius:999px;align-items:center;padding:1px 6px;font-size:10.5px;font-weight:600;line-height:1.5;display:inline-flex}.sidebar-tabs button .pro-tag{margin-left:auto}.pro-upsell{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px;display:flex}.pro-upsell p{max-width:62ch;margin:0}.pro-upsell-head{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.pro-upsell-head h2{color:var(--text);margin:0;font-size:16px}.recipe-index-filter{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.recipe-index-filter input{margin:0}.plan-card.plan-founder{grid-column:1/-1}.plan-founder .plan-features{flex-flow:wrap;gap:6px 18px}.plan-founder .plan-actions{flex-direction:row}.assistants{flex-direction:column;gap:16px;display:flex}.assistants .catalog-head p{max-width:64ch}.assistants-steps{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.assistants-steps>li{gap:12px;display:flex}.assistants-steps>li>div{flex:1;min-width:0}.assistants-steps p{max-width:70ch;margin:2px 0 0}.assistants-step-n{width:24px;height:24px;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.assistants-steps .mcp-url{max-width:560px}.assistants-examples{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.assistants-examples h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 6px;font-size:12px;font-weight:600}.assistants-examples ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}button.assistants-example{text-align:left;width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border-subtle);box-shadow:none;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;font-size:13.5px;font-weight:400;line-height:1.45;display:flex}button.assistants-example:hover{border-color:var(--border)}.assistants-notes{color:var(--text-secondary);flex-direction:column;gap:8px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.assistants-notes li{align-items:flex-start;gap:8px;display:flex}.assistants-notes .icon{color:var(--text-muted);flex:none;margin-top:2px}.auth-legal{text-align:center;margin:0;font-size:12px}.auth-legal a,.legal-card a{color:var(--primary)}.legal{background:var(--bg);min-height:100vh;padding:24px 16px 48px}.legal-head{max-width:720px;margin:0 auto 16px}.legal-brand{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.legal-brand .brand-mark{border-radius:9px;width:32px;height:32px}.legal-brand .wordmark{font-size:20px;font-weight:700}.legal-card{background:var(--surface);border:1px solid var(--border-subtle);max-width:720px;box-shadow:var(--shadow-e1);color:var(--text-secondary);border-radius:14px;margin:0 auto;padding:28px 32px;font-size:14.5px;line-height:1.6}.legal-card h1{color:var(--text);margin:0 0 4px;font-size:24px}.legal-card h2{color:var(--text);margin:28px 0 8px;font-size:16px}.legal-card strong{color:var(--text);font-weight:600}.legal-card ul{padding-left:20px}.legal-card li+li{margin-top:6px}.legal-foot{border-top:1px solid var(--border-subtle);margin-top:28px;padding-top:16px}@media (width<=600px){.legal-card{padding:20px 18px}}
