[hidden]{display:none!important}*{box-sizing:border-box}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.calculator-main{padding:0;gap:0;min-width:0}.calc-main{display:flex;flex-direction:column;padding:32px;overflow:auto;flex:1;min-width:0;min-height:0}.calc-main>*{flex-shrink:0}#updated{margin-top:auto;margin-bottom:0;padding-top:28px}.topbar,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar h1{margin:0;font-size:2rem}.topbar{margin-bottom:24px}.header-actions{display:flex;align-items:center;gap:12px;width:min(100%,650px);margin-left:auto}.header-actions>.btn{flex-shrink:0;white-space:nowrap}.eyebrow{color:var(--primary);font-size:.7rem;letter-spacing:.14em;font-weight:700;margin:0 0 10px}.muted{font-size:.85rem;line-height:1.6;color:var(--text-tertiary)}h2{font-size:1.15rem;margin:0 0 12px}.btn{border:1px solid var(--border-color);border-radius:8px;background:var(--bg-input);color:var(--text-primary);padding:10px 16px}.text-button{border:0;background:transparent;color:var(--primary-soft);padding:8px 0;font-size:.85rem}.notice{padding:13px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--primary-tint-subtle);line-height:1.5;font-size:.9rem}.error{color:var(--warning-soft-text)}.selection{flex:1;min-width:0}.selection select,.selection .ss-wrapper{margin:0;width:100%}.selection .ss-search-input{margin:0;border:0;border-radius:0;padding:11px 44px 11px 14px}.empty{text-align:center;padding:65px 20px;color:var(--text-tertiary)}.empty i{color:var(--primary);font-size:2rem;margin-bottom:20px}.recipe-heading{display:flex;align-items:center;gap:20px;margin:26px 0}.recipe-heading img{width:80px;height:80px;object-fit:cover;border-radius:10px}.recipe-heading h2{font-size:1.6rem;margin-bottom:8px;overflow-wrap:anywhere}.recipe-heading p{margin:0}.calc-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:stretch}.panel{padding:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;min-width:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}label{font-size:.85rem;line-height:1.5}input,select{display:block;width:100%;min-width:0;border:1px solid var(--border-color);border-radius:8px;padding:12px 14px;background:var(--bg-input);color:var(--text-primary);margin-top:8px;font-variant-numeric:tabular-nums}input::placeholder{color:var(--text-tertiary);font-size:.83rem}input[aria-invalid="true"]{border-color:var(--warning)}.divider{height:1px;background:var(--border-color);margin:24px 0}.production{color:var(--primary-soft);font-size:.95rem;line-height:1.6;margin:12px 0 0}.results{background:var(--bg-panel-solid)}.result-price{font-size:2.4rem;font-weight:700;color:var(--primary-soft);overflow-wrap:anywhere;line-height:1.2;margin:8px 0 22px}.result-label{font-size:.8rem;color:var(--text-tertiary)}.result-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border-color);font-size:.9rem}.result-row span{color:var(--text-tertiary)}.result-row strong{font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}.results>.muted{font-size:.76rem;margin-bottom:0}.ingredients{margin-top:22px}.section-head h2{margin-bottom:4px}.section-head p{margin:0 0 12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{padding:13px 10px;border-bottom:1px solid var(--border-color);text-align:left}th{font-size:.75rem;color:var(--text-tertiary)}td:last-child,th:last-child{text-align:center}td small{display:block;color:var(--text-tertiary);font-size:.75rem;line-height:1.5;margin-top:4px}td{font-variant-numeric:tabular-nums}details{margin-top:18px}summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text-secondary)}details[open]>summary{margin-bottom:18px}.recipe-details img{display:block;max-width:240px;max-height:180px;border-radius:8px;margin:12px 0}.step,.notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:.9rem}.reference-total{display:flex;justify-content:space-between;gap:12px;margin:18px 0;font-size:.9rem}.reference-total strong{white-space:nowrap}.mobile-head{display:none}.pending{color:var(--text-tertiary)}
@media(max-width:1100px){.calc-main{padding:22px}.calc-layout{grid-template-columns:minmax(0,1fr)}.results{display:block}}
@media(max-width:768px){.calc-main{padding:16px}.mobile-head{display:block;margin-bottom:20px}.topbar h1{font-size:1.7rem}.panel{padding:18px}.fields{gap:12px}.result-price{font-size:2rem}.header-actions{width:100%;margin-left:0}.recipe-heading h2{font-size:1.3rem}.recipe-heading img{width:64px;height:64px}th,td{padding:12px 7px}}
@media(max-width:420px){.fields{grid-template-columns:1fr}.header-actions{flex-wrap:wrap}.selection{flex-basis:100%}.header-actions>.btn{margin-left:auto}}
@media print{body{display:block!important;height:auto!important;overflow:visible!important;background:white!important;color:black!important}.app-sidebar,.sidebar-overlay,.topbar button,.mobile-head,.selection,.text-button,#print,.recipe-details{display:none!important}.app-main{margin:0!important;width:100%!important;height:auto!important;overflow:visible!important}.calc-main{display:block;padding:0;overflow:visible}.calc-layout{grid-template-columns:1fr 1fr;gap:16px}.panel{background:white!important;border-color:#ccc;color:black;break-inside:avoid}.panel.ingredients{break-inside:auto}.muted,.result-label,.result-row span,.production,.eyebrow,.result-price,th,td small{color:#444!important}input{background:white;color:black;border-color:#ccc}.table-wrap{overflow:visible}details>summary{display:none}details>*{display:block!important}.notice{color:black;background:white;border-color:#ccc}}

html:is([data-theme="vino"], [data-theme="black"]) :is(.results>.muted, .result-label, td small) { font-size: .875rem; font-weight: 500; line-height: 1.6; }
@media print {
    #save-variant { display: none !important; }
    .panel.ingredients { break-before: page; page-break-before: always; margin-top: 0; }
    .ingredients .section-head { break-after: avoid; page-break-after: avoid; }
    .ingredients thead { display: table-header-group; }
    .ingredients tr { break-inside: avoid; page-break-inside: avoid; }
    .ingredients :is(td, th, strong, small), .results strong { color: #222 !important; }
}
@media screen{.calc-main .topbar{margin-bottom:16px}.recipe-heading{margin:0 0 22px}}
