/* LeisureOS Stock Flow — quiet, practical dashboard components. */
html.sf-ready #inventory>.inventory-toolbar,
html.sf-ready #inventory>.inventory-table-wrap{display:none!important}
html.sf-ready #menu [data-map-menu-stock],
html.sf-ready #menu .lo-menu-stock-caption,
html.sf-ready #menu .lo-portion-cost-wrap,
html.sf-ready #menu .lo-availability-action-wrap,
html.sf-ready #menu .lo-v3-direct-detail{display:none!important}
.sf-stock-panel{width:100%;display:grid;gap:18px;padding:0 0 28px;color:var(--text,#24392f)}
.sf-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.sf-stock-title h2{font-size:21px;letter-spacing:-.03em;margin:0 0 4px;line-height:1.25}
.sf-help,.sf-muted{font-size:12px;line-height:1.5;color:var(--muted,#687b70);margin:0}
.sf-main-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sf-primary,.sf-light,.sf-quiet,.sf-link{border-radius:10px;padding:10px 14px;
 font:650 12px/1.35 system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer;
 min-height:38px;transition:background .15s,border-color .15s}
.sf-primary{background:#205241;border:1px solid #205241;color:#fff}
.sf-primary:hover{background:#173f32}
.sf-light,.sf-quiet{border:1px solid #d2ddd6;background:#f9fbfa;color:#325848}
.sf-light:hover,.sf-quiet:hover{background:#edf4ef}
.sf-link{border:1px solid #cbdcd3;background:#eff5f1;color:#245943}
.sf-primary:disabled,.sf-light:disabled,.sf-quiet:disabled{opacity:.58;cursor:wait}
.sf-search{width:100%;max-width:530px;min-height:45px;padding:11px 14px;
 border:1px solid #d5e1d9;background:#fff;color:#283c31;border-radius:11px;
 font:500 13px/1.4 system-ui,-apple-system,sans-serif}
.sf-inventory-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;min-width:0}
.sf-card{border:1px solid #dce6df;background:#fff;border-radius:15px;
 padding:16px;display:grid;gap:14px;min-width:0}
.sf-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.sf-card-top>div{display:grid;gap:4px;min-width:0}
.sf-card-top strong{font-size:15px;line-height:1.35;color:#283d32;overflow-wrap:anywhere}
.sf-badge{font-size:10px;font-weight:700;line-height:1.25;padding:6px 9px;
 border-radius:30px;background:#ebf3ef;color:#367053;white-space:nowrap}
.sf-badge.sf-warning{background:#faeee6;color:#a45626}
.sf-location-list{border-top:1px solid #edf1ed;border-bottom:1px solid #edf1ed;
 padding:9px 0;display:grid;gap:8px}
.sf-location-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
 font-size:12px;line-height:1.4;color:#68796f}
.sf-location-row strong{font-weight:700;text-align:right;color:#233e31}
.sf-card-buttons{display:flex;gap:7px;flex-wrap:wrap}
.sf-card-buttons button{min-height:35px;padding:8px 10px;font-size:11px}
.sf-activity-box{padding:16px;border:1px solid #e0e8e1;border-radius:14px;background:#fcfdfc}
.sf-activity-box h3{font-size:14px;margin:0 0 12px}
.sf-activity{padding:8px 0;margin:0;font-size:12px;line-height:1.45;
 color:#63796d;border-top:1px solid #ebf0ed}
.sf-menu-control{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
 flex:1 1 100%;padding:9px 0 2px}
.sf-menu-status{color:#4e7762;font:650 11px/1.4 system-ui,-apple-system,sans-serif}
.sf-menu-status.sf-danger{color:#b35a28}
.sf-menu-control .sf-link{font-size:11px;min-height:34px;padding:7px 11px}
.sf-dialog{width:min(530px,calc(100vw - 24px));max-width:530px;
 max-height:min(88dvh,840px);border:1px solid #d4e1d8;border-radius:18px;
 padding:0;margin:auto;overflow-y:auto;background:#fff;color:#273d32;
 box-shadow:0 25px 95px #05180d44}
.sf-dialog::backdrop{background:#17251dcc;backdrop-filter:blur(2px)}
.sf-form{display:grid;gap:13px;padding:24px}
.sf-form h2{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:0}
.sf-form-body{display:grid;gap:13px;min-width:0}
.sf-form-body h3{font-size:13px;margin:5px 0 0}
.sf-field{display:grid;gap:7px;min-width:0;
 font:680 12px/1.3 system-ui,-apple-system,sans-serif;color:#304f3e}
.sf-field>input,.sf-field>select{font:500 13px/1.3 system-ui,-apple-system,sans-serif;
 min-height:44px;width:100%;min-width:0;padding:10px 12px;
 border:1px solid #cddcd2;border-radius:10px;background:#fff;color:#243c30}
.sf-field[hidden]{display:none!important}
.sf-form-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;
 padding-top:13px;border-top:1px solid #e5ece6;margin-top:5px}
.sf-error{font-size:12px;line-height:1.5;color:#ad3232;margin:0}
.sf-stock-preview{border:1px solid #e1eadf;background:#f5f9f6;
 border-radius:10px;padding:11px 12px;color:#3e6852;font-size:12px;margin:0}
.sf-ingredients{display:grid;gap:10px}
.sf-ingredient-line{display:grid;grid-template-columns:1.4fr 1fr .8fr auto;
 gap:6px;align-items:end;border:1px solid #e6ece6;background:#fbfcfb;
 border-radius:10px;padding:9px;min-width:0}
.sf-ingredient-line .sf-field>input,.sf-ingredient-line .sf-field>select{padding:8px;min-height:39px}
.sf-remove{min-height:39px;width:39px;border:1px solid #e5d5cf;border-radius:9px;
 background:#fff8f5;color:#985838;cursor:pointer}
.sf-dialog button:focus-visible,.sf-dialog input:focus-visible,.sf-dialog select:focus-visible,
.sf-stock-panel button:focus-visible,.sf-stock-panel input:focus-visible{
 outline:2px solid #c0a155;outline-offset:2px}
html[data-leisure-contrast="dark"] .sf-card,
html[data-leisure-contrast="dark"] .sf-dialog,
html[data-leisure-contrast="dark"] .sf-activity-box{
 background:#24343a;border-color:#526964;color:#f0f7f2}
html[data-leisure-contrast="dark"] .sf-card-top strong,
html[data-leisure-contrast="dark"] .sf-location-row strong,
html[data-leisure-contrast="dark"] .sf-stock-title h2,
html[data-leisure-contrast="dark"] .sf-field{color:#eaf6ee}
html[data-leisure-contrast="dark"] .sf-field :is(input,select),
html[data-leisure-contrast="dark"] .sf-search{
 background:#32474a;color:#f6fbf8;border-color:#5a7671;color-scheme:dark}
html[data-leisure-contrast="dark"] .sf-light,
html[data-leisure-contrast="dark"] .sf-quiet,
html[data-leisure-contrast="dark"] .sf-link{
 background:#304c43;border-color:#5b7669;color:#e0f4e7}
html[data-leisure-contrast="dark"] .sf-stock-preview{
 background:#314841;border-color:#57766b;color:#e1f4e8}
html[data-leisure-contrast="dark"] .sf-ingredient-line{
 background:#2a3f40;border-color:#4b6965}
html[data-leisure-contrast="dark"] .sf-help,
html[data-leisure-contrast="dark"] .sf-muted,
html[data-leisure-contrast="dark"] .sf-location-row,
html[data-leisure-contrast="dark"] .sf-activity{color:#c1d0c5}
@media(max-width:640px){
 .sf-header{align-items:flex-start;gap:12px}
 .sf-main-actions{width:100%}
 .sf-main-actions button{flex:1}
 .sf-inventory-list{grid-template-columns:1fr;gap:10px}
 .sf-card{padding:14px}
 .sf-form{padding:17px}
 .sf-ingredient-line{grid-template-columns:1fr 1fr;gap:8px}
 .sf-ingredient-line .sf-field:first-child{grid-column:1/-1}
 .sf-ingredient-line .sf-remove{justify-self:end}
 .sf-form-actions button{flex:1}
}

/* Simple product setup: proper checkbox and hidden optional controls. */
.sf-field:has(input[type="checkbox"]){display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d6e2d9;border-radius:10px;background:#f7faf8;cursor:pointer}
.sf-field>input[type="checkbox"]{order:-1;flex:none;width:18px;height:18px;min-height:18px;padding:0;margin:0;accent-color:#205241}
.sf-form [hidden],.sf-form-actions [hidden]{display:none!important}
.sf-form .sf-field input[list]{width:100%}
@media(max-width:640px){.sf-form .sf-field:has(input[type="checkbox"]){padding:12px}}
