:root{--bg:#f5f1ed;--card:#fff;--ink:#2c211d;--muted:#7c6d65;--brown:#6b3d2d;--brown2:#3f2a22;--accent:#e8d7c8;--yellow:#fff1bf;--green:#dff1df;--red:#f8d5d0;--orange:#ffe7bd;--line:#e6ddd6;--shadow:0 10px 30px rgba(65,43,32,.08)}*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app-shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--brown2);color:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px}.brand.big{color:var(--ink);justify-content:center}.brand strong{display:block;font-size:18px}.brand small{display:block;opacity:.7}.brand-mark{width:38px;height:38px;border-radius:12px;background:#d9a878;display:grid;place-items:center;font-size:22px;color:#fff}.nav{display:flex;flex-direction:column;gap:6px}.nav-link{border:0;background:transparent;color:#f7ece6;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.12)}.sidebar-actions{margin-top:auto;display:grid;gap:8px}.main{padding:24px 28px 60px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:3px 0;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.topbar-badge,.user-badge{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:var(--muted)}.view{display:none}.view.active{display:block}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.stat,.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.stat{padding:16px}.stat .label{color:var(--muted);font-size:12px}.stat .value{font-weight:800;font-size:23px;margin:3px 0}.stat .hint{font-size:12px;color:var(--muted)}.card{padding:18px;margin-bottom:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.card-head h2{margin:0;font-size:17px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.batch-layout,.sales-layout,.stock-layout{grid-template-columns:360px minmax(0,1fr)}.calculator-layout{grid-template-columns:1fr 1fr}.span-2{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid.compact{grid-template-columns:1fr 1fr}.form-grid label,.dialog-form label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea,.dialog-form input,.dialog-form select{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px;color:var(--ink)}.form-grid textarea{resize:vertical}.form-grid .full{grid-column:1/-1}.check-row{display:flex!important;align-items:center;gap:8px!important;color:var(--ink)!important;padding-top:25px}.check-row input{width:auto}.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.primary,.secondary,.ghost,.danger,.link-button{border:0;border-radius:10px;padding:9px 12px;cursor:pointer}.primary{background:var(--brown);color:#fff}.secondary{background:#eee4dc;color:var(--brown2)}.ghost{background:transparent;color:#eadbd2;border:1px solid rgba(255,255,255,.18)}.danger{background:#a33c32;color:#fff}.link-button{background:transparent;color:var(--brown);padding:4px 0}.small{font-size:12px}.mini-summary{margin-top:13px;background:#f8f4f1;border:1px dashed #dacbc0;border-radius:12px;padding:12px;color:#5f514a}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:680px}.table th,.table td{padding:9px 10px;border-bottom:1px solid #eee7e1;text-align:left;white-space:nowrap;vertical-align:top}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#fbf8f6;position:sticky;top:0}.table td.wrap{white-space:normal;min-width:180px}.pill{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eee6e1}.pill.good{background:var(--green)}.pill.warn{background:var(--orange)}.pill.closed{background:#ddd}.row-actions{display:flex;gap:6px}.row-actions button{border:0;background:#eee4dc;border-radius:8px;padding:5px 7px;cursor:pointer}.muted{color:var(--muted)}.tiny{font-size:11px}.ingredient-grid,.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ingredient,.process-item{background:#faf7f5;border:1px solid var(--line);border-radius:12px;padding:12px}.ingredient small,.process-item small{display:block;color:var(--muted);font-size:11px}.ingredient strong,.process-item strong{font-size:17px}.alert{border:1px solid var(--line);border-left:4px solid #c69a6a;border-radius:10px;padding:10px 12px;margin-bottom:8px;background:#fff}.alert.danger{border-left-color:#b94b42;background:#fff9f8}.alert.warn{border-left-color:#dca340;background:#fffaf0}.alert.good{border-left-color:#6aa66c}.alert-title{font-weight:700}.alert-meta{font-size:12px;color:var(--muted)}.stock-status{font-weight:700;background:transparent}.stock-status.stock-ok{color:#4b8f50}.stock-status.stock-warn{color:#a56c0f}.stock-status.stock-danger{color:#ad3930}.toast{position:fixed;right:20px;bottom:20px;background:#2e231f;color:#fff;padding:11px 14px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:10}.toast.show{opacity:1;transform:none}.empty{padding:20px;text-align:center;color:var(--muted)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#f6efe9,#ead6c6)}.login-card{width:min(380px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:26px;display:grid;gap:14px}.login-card h1{margin:4px 0 0;text-align:center}.login-card label{display:grid;gap:5px;color:var(--muted);font-size:12px}.login-card input{border:1px solid var(--line);border-radius:10px;padding:10px}dialog{border:0;border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.25);width:min(460px,calc(100vw - 30px))}.dialog-form{display:grid;gap:12px}.dialog-form h3{margin:0}dialog::backdrop{background:rgba(30,20,15,.45)}@media(max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.batch-layout,.sales-layout,.stock-layout{grid-template-columns:1fr}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:auto;z-index:5;padding:8px 10px}.brand,.sidebar-actions{display:none}.nav{display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.nav-link{font-size:11px;text-align:center;padding:8px 3px}.app-shell{grid-template-columns:1fr}.main{padding:18px 16px 86px}.topbar{align-items:center}.table{min-width:760px}}@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}.grid.two,.calculator-layout{grid-template-columns:1fr}.span-2{grid-column:auto}.form-grid,.form-grid.compact{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.ingredient-grid,.process-grid{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;flex-direction:column;gap:8px}.topbar h1{font-size:24px}.nav{grid-template-columns:repeat(3,1fr)}.sidebar{padding-bottom:max(8px,env(safe-area-inset-bottom))}.check-row{padding-top:0}}
.smokehouse-select{max-width:260px;min-width:180px;border:1px solid #d9cfc8;border-radius:10px;background:#fff;padding:8px 10px;font:inherit;color:#31211b}.smokehouse-select.hidden{display:none}@media(max-width:720px){.smokehouse-select{max-width:180px;min-width:130px}}
.table-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px 2px;color:var(--muted);font-size:12px;flex-wrap:wrap}.pager-size,.pager-nav{display:flex;align-items:center;gap:8px}.pager-size select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;color:var(--ink)}.pager-nav .secondary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.table-pager{align-items:stretch;flex-direction:column}.pager-nav{justify-content:space-between}.pager-size{justify-content:flex-start}}
.stock-group{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:10px}.stock-group:last-child{margin-bottom:0}.stock-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:#fbf8f6}.stock-group summary::-webkit-details-marker{display:none}.stock-group summary::before{content:'›';font-size:20px;line-height:1;color:var(--muted);transition:transform .15s}.stock-group[open] summary::before{transform:rotate(90deg)}.stock-group-title{font-weight:700;color:var(--ink);margin-right:auto}.stock-group-meta{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.stock-group-alert,.stock-group-ok{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-weight:700}.stock-group-alert{background:#fff0d8;color:#9a6200}.stock-group-ok{background:var(--green);color:#356d3a}.stock-group .table-wrap{border-top:1px solid var(--line)}.stock-group-table{margin:0}.stock-group-table th:first-child,.stock-group-table td:first-child{padding-left:14px}@media(max-width:700px){.stock-group summary{align-items:flex-start}.stock-group-meta{align-items:flex-end;flex-direction:column}}
.recipe-layout{grid-template-columns:minmax(430px,1fr) minmax(0,1.2fr)}.recipe-layout.read-only{grid-template-columns:1fr}.recipe-ingredients-editor{border:1px solid var(--line);border-radius:12px;padding:12px;background:#faf7f5}.compact-head{margin-bottom:10px}.recipe-ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 72px auto;gap:8px;align-items:end;margin-bottom:8px}.recipe-ingredient-row:last-child{margin-bottom:0}.recipe-ingredient-unit{padding:9px 0;color:var(--muted);font-size:12px;white-space:nowrap}.recipe-ingredient-remove{margin-bottom:1px}.recipe-table td.wrap{min-width:150px}.danger:disabled,.secondary:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1100px){.recipe-layout{grid-template-columns:1fr}.nav{grid-template-columns:repeat(7,1fr)}}@media(max-width:700px){.recipe-ingredient-row{grid-template-columns:1fr 110px}.recipe-ingredient-unit{padding:0}.recipe-ingredient-remove{justify-self:start}.nav{grid-template-columns:repeat(4,1fr)}}

.dialog-form .check-row{display:flex;align-items:center;gap:8px}.dialog-form .check-row input{width:auto;margin:0}.dialog-form #smokehouseImportFields,.dialog-form #smokehouseSettingsFields{display:grid;gap:12px}dialog{max-height:calc(100dvh - 32px);overflow:auto}.toast{z-index:20}button:disabled{opacity:.55;cursor:default}@media(max-width:1100px){.nav{grid-template-columns:repeat(5,1fr)}.main{padding-bottom:130px}}@media(max-width:700px){.nav{grid-template-columns:repeat(3,1fr)}.main{padding-bottom:160px}}

.form-error{color:#ad3930;margin:0}.form-error:empty{display:none}
.mobile-actions{display:none}.connection-banner{background:#fff1bf;color:#765014;padding:12px 16px;border-radius:12px;margin-bottom:16px}.sale-receipt{background:#dff1df;color:#285f35;padding:16px;border-radius:12px;margin-top:14px;font-weight:600}.sales-only .sales-layout{grid-template-columns:minmax(0,600px);justify-content:center}.sales-only .nav{display:none}.sales-only .sidebar{display:none}.sales-only .app-shell{grid-template-columns:1fr}.sales-only .sidebar-actions{display:none}.sales-only .mobile-actions{display:flex;gap:8px}.sales-only .main{padding-bottom:32px}
@media(max-width:1100px){.sidebar{padding:0;height:64px}.nav{display:flex;overflow-x:auto;height:64px;align-items:stretch;scrollbar-width:none;padding:4px 6px}.nav::-webkit-scrollbar{display:none}.nav-link{flex:0 0 auto;min-width:86px;font-size:12px;padding:12px 10px;white-space:nowrap}.mobile-actions{display:flex;gap:8px}.main{padding-bottom:90px}.card{padding:16px}.topbar h1{font-size:25px}.topbar-badge{display:none}.sales-only .sales-layout{display:block}.sales-only .main{padding-bottom:24px}}
@media(max-width:700px){.topbar{gap:12px}.top-actions{width:100%}.user-badge{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-actions{margin-left:auto}.sidebar{padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom))}.main{padding:16px 12px calc(90px + env(safe-area-inset-bottom))}.form-grid input,.form-grid select,.form-grid textarea,.dialog-form input,.dialog-form select,.dialog-form textarea,.login-card input{font-size:16px;min-height:46px}.primary,.secondary{min-height:40px}.sales-only .form-grid{grid-template-columns:1fr}.sales-only .primary{min-height:52px;font-size:17px}.sales-only .card{border-radius:18px}.sales-only .card-head h2{font-size:20px}.sales-only #saleAvailable{background:#f2f7ee;color:#356d3a;font-size:20px;font-weight:700}.sales-only #salePreview{font-size:16px}.sales-only .nav-link{display:none}.sales-only .main{padding-bottom:24px}}
@media(max-width:1100px){.sidebar{position:fixed!important;inset:auto 0 0 0;z-index:1000!important;width:100%;isolation:isolate}.sidebar .nav{min-height:64px;flex-shrink:0}.toast{z-index:1100}}
.card,.grid>*{min-width:0}.table-wrap{max-width:100%}@media(max-width:1100px){html,body{overflow-x:hidden}.grid.two,.calculator-layout{grid-template-columns:minmax(0,1fr)}.sidebar{width:100vw}.top-actions{min-width:0}.smokehouse-select{max-width:100%}}
.alert.danger{color:var(--ink)}@media(max-width:1100px){.sidebar .nav{flex-direction:row;width:100%;align-items:stretch}.sidebar .nav-link{flex:0 0 auto}}

.sales-tabs{display:flex;gap:10px;margin-bottom:18px}.sales-tabs button{flex:1}.history-filters{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.history-filters label{display:grid;gap:6px;flex:1;min-width:140px;font-size:14px;color:#647064}.history-filters select{width:100%;min-height:46px;border:1px solid #d8ded3;border-radius:10px;padding:10px;background:white;font-size:16px}.sale-history-row{padding:16px 0;border-bottom:1px solid #e4e8df;display:grid;gap:8px;overflow-wrap:anywhere}.history-row-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.history-comment{white-space:pre-wrap}.history-pagination{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:20px;flex-wrap:wrap}.history-pagination span{font-size:13px;text-align:center}.history-pagination button{white-space:nowrap}.sales-only #salesHistory{max-width:800px;margin:0 auto}@media(max-width:480px){.history-pagination span{order:3;width:100%}.sales-tabs button{padding:12px 8px;font-size:14px}}

.debt-balance{color:#974018;font-weight:700}.debt-sale-id{font-size:12px}.debt-payment-row{padding:10px 0;border-bottom:1px solid #e4e8df}.sales-only #debts{max-width:800px;margin:0 auto}.sales-tabs{flex-wrap:wrap}.sales-tabs button{min-width:100px}#debts details summary{cursor:pointer;padding:8px 0}

.resale-cards{display:grid;gap:12px}.resale-cards .sale-history-row{margin:0;overflow-wrap:anywhere}.resale-cards .form-actions{flex-wrap:wrap;margin-top:10px}#resale .history-filters{margin-bottom:14px}

.catalog-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.catalog-search{display:grid;gap:6px;margin:16px 0;color:var(--muted)}.catalog-search input{width:100%;border:1px solid #d8ded3;border-radius:10px;padding:12px;font-size:16px;background:white}.catalog-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #e4e8df;overflow-wrap:anywhere}.catalog-item>div{min-width:0}.catalog-item p{margin:6px 0 0}.catalog-item .form-actions{flex-shrink:0;flex-wrap:wrap;margin:0}#recipeCatalogBack{margin-bottom:16px}@media(max-width:700px){.catalog-tabs button{flex:1 1 140px}.catalog-item{align-items:flex-start;flex-direction:column}.catalog-item .form-actions{width:100%}#catalogs .card-head{flex-wrap:wrap;gap:12px}}

#packageRows .catalog-item{overflow-wrap:anywhere}#packages label{display:grid;gap:6px;margin-bottom:12px}#packageDialog{width:min(560px,calc(100vw - 24px));box-sizing:border-box}#packageEventsDialog{width:min(560px,calc(100vw - 24px));box-sizing:border-box}#packages .sales-layout{align-items:start}.sales-only #packFormCard.hidden{display:none}.sales-only #packages .sales-layout{display:block}

#packages input,#packages select,#packages textarea{width:100%;box-sizing:border-box;border:1px solid #d8ded3;border-radius:10px;padding:10px;background:#fff;font:inherit;min-height:44px}#packageDialog input,#packageDialog select{width:100%;box-sizing:border-box;border:1px solid #d8ded3;border-radius:10px;padding:10px;background:#fff;font:inherit;min-height:44px}


.customer-reservation,.customerListingForm{padding:16px 0;border-bottom:1px solid #e5ddd3}.customerListingForm textarea{width:100%;min-height:70px}


/* Customer management: shared brand, mobile-first form and clear section hierarchy. */
#customerManagementBody{max-width:1200px;margin:0 auto}
.customer-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:start}
.customer-layout>.card{margin:0;padding:24px;border-radius:20px;box-shadow:0 4px 18px rgba(65,43,32,.035)}
.customer-bookings,.customer-catalog{grid-column:1/-1}.customer-access{grid-column:2;grid-row:2}.customer-invite{grid-column:1;grid-row:2}
.customer-layout .card-head{align-items:flex-start;margin-bottom:12px;flex-wrap:wrap}.customer-layout h2{font-size:20px;line-height:1.3;margin:5px 0 0;letter-spacing:-.025em}
.customer-eyebrow{font-size:10px;font-weight:700;letter-spacing:.09em;color:var(--muted)}.customer-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 7px;background:#f0e8e2;border-radius:8px;font-size:12px;vertical-align:middle;margin-left:5px;color:var(--brown)}
.customer-description{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 20px}.customer-form{display:grid;gap:16px}.customer-form label,.customer-reservation-actions label{display:grid;gap:7px;font-size:13px;font-weight:600;color:var(--ink);min-width:0}
.customer-form input:not([type=checkbox]),.customer-form textarea,.customer-reservation-actions select,#customerInviteResult textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fcfaf8;padding:12px 14px;color:var(--ink);font-size:16px;transition:border-color .15s,box-shadow .15s}.customer-form input::placeholder,.customer-form textarea::placeholder{color:#978b83}.customer-form textarea{resize:vertical;min-height:90px}
.customer-layout :is(input,textarea,select,button,a):focus-visible{outline:3px solid #d9b69a;outline-offset:3px}.customer-form input:focus,.customer-form textarea:focus{border-color:var(--brown);background:#fff;box-shadow:0 0 0 3px #6b3d2d0d}
.customer-password-field{display:flex;position:relative;align-items:center}.customer-password-field input{padding-right:90px!important}.customer-password-toggle{position:absolute;right:5px;min-height:40px;background:transparent;border:0;border-radius:8px;padding:8px;color:var(--brown);font-size:12px;font-weight:600;cursor:pointer}.customer-field-hint{font-size:12px;line-height:1.5;color:var(--muted);margin:-8px 0 0}.customer-invite-submit{width:100%;min-height:48px;font-weight:600;border-radius:12px}.customer-form .form-error:empty{display:none}.customer-info{background:#f7f2ec;border-radius:12px;padding:14px 16px;margin-top:20px;font-size:12px}.customer-info strong{color:var(--brown)}.customer-info p{margin:5px 0 0;line-height:1.6;color:#75665e}
.customer-empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:24px 16px 30px;color:var(--muted)}.customer-empty strong{color:var(--ink);font-size:15px;font-weight:600}.customer-empty p{max-width:330px;margin:0;font-size:13px;line-height:1.6}.customer-empty-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f2ece6;color:#a18773;font-size:20px;margin-bottom:4px}
.customer-download{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;background:#faf7f4;color:var(--brown);font-size:13px}.customer-download>span:last-child{margin-left:auto;font-size:20px}.customer-download strong,.customer-download small{display:block}.customer-download small{font-size:12px;color:var(--muted);margin-top:3px}.customer-download-icon{display:grid;place-items:center;background:#eee3d9;width:38px;height:38px;flex-shrink:0;border-radius:10px;font-size:22px}
.customer-row-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.customer-phone{display:block;color:var(--muted);font-size:13px;margin-top:4px;overflow-wrap:anywhere}.customer-status{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600;line-height:1.4}.customer-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.customer-status.enabled{color:#3b7151;background:#edf5ef}.customer-status.pending{color:#98631c;background:#fcf0dc}.customer-status.disabled{color:#82766f;background:#f1eeeb}
.customer-access-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:18px 0;border-bottom:1px solid #eee7e1}.customer-access-row:last-child{border-bottom:0;padding-bottom:0}.customer-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#f3e8dd;color:#8b6248;font-size:14px;font-weight:600}.customer-access-person{min-width:0;font-size:14px;overflow-wrap:anywhere}.customer-disable{grid-column:2/-1;justify-self:start;background:transparent;border:0;color:var(--brown);font-size:12px;padding:4px 0;min-height:32px;cursor:pointer}
.customer-reservation{padding:18px 0}.customer-reservation-meta{display:flex;justify-content:space-between;gap:12px;margin:14px 0 4px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.customer-reservation-meta strong{color:var(--ink);font-size:16px}.customer-order-lines{background:#faf7f4;border-radius:12px;padding:4px 14px;margin-bottom:14px}.customer-order-lines>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;font-size:13px}.customer-order-lines small{display:block;margin-top:4px;color:var(--muted)}.customer-order-lines strong{white-space:nowrap}.customer-note{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.customer-reservation-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.customer-reservation-actions button{min-height:48px}.customer-reservation-actions label{flex:1;max-width:240px}.customerListingForm{padding:20px 0}.customerListingForm:last-child{padding-bottom:0;border-bottom:0}.customer-publish{display:flex!important;gap:8px!important;align-items:center;font-size:12px!important;color:var(--muted)!important}.customer-publish input{accent-color:var(--brown);width:18px;height:18px;margin:0}.customerListingForm>.secondary{justify-self:start;min-height:44px}.customer-invite-result:empty{display:none}.customer-invite-result{padding:16px;border:1px solid #cee1d1;border-radius:12px;background:#f1f7f0;margin-top:20px;font-size:13px;overflow-wrap:anywhere}.customer-invite-result p{margin:0 0 12px}.customer-invite-result textarea{font-size:13px!important;min-height:160px;resize:vertical;margin-bottom:10px}.customer-invite-result button{min-height:44px}
@media(max-width:760px){.customer-layout{grid-template-columns:minmax(0,1fr);gap:16px}.customer-layout>.card{grid-column:auto;grid-row:auto;padding:20px}.customer-layout h2{font-size:19px}.customer-access-row{grid-template-columns:36px minmax(0,1fr)}.customer-access-row>.customer-status{grid-column:2;justify-self:start}.customer-disable{grid-column:2}.customer-row-head{align-items:flex-start}.customer-reservation-actions label{max-width:none;flex-basis:100%}.customer-reservation-actions .primary{flex:1}.customer-description{font-size:13px}}
@media(max-width:380px){.customer-layout>.card{padding:16px}.customer-download{padding:12px}.customer-download strong{font-size:12px}}

.customer-publish{min-height:48px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#faf7f4;cursor:pointer;user-select:none}.customer-publish input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;flex:0 0 24px;width:24px;height:24px;min-height:24px;padding:0;cursor:pointer}.customer-listing-status{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}

/* A six-photo strip must scroll inside the form, never widen the storefront. */
.customerListingForm{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%}.customerListingForm>*{min-width:0;max-width:100%}.customerListingForm>.customer-row-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-content:stretch}.customerListingForm>.customer-row-head>strong{overflow-wrap:anywhere}.customerListingForm .customer-publish{width:100%;justify-content:flex-start;white-space:normal}.customerPhotoEditor{min-width:0;max-width:100%}.customerPhotoEditor>*{min-width:0;max-width:100%}.customerPhotoEditor input[type=file]{box-sizing:border-box;width:100%;padding:8px;font-size:14px}.customerPhotoEditor>p{overflow-wrap:anywhere}

#customerContactsBody{display:grid;gap:20px}#customerContactsBody select,#customerContactsBody textarea{width:100%;padding:12px;border:1px solid #d8d0c6;border-radius:12px;background:#fff;font:inherit}.contact-chat-choice{display:grid;gap:6px;width:100%;text-align:left;margin:8px 0}.contact-chat-choice span,.contact-chat-choice small{font-weight:400}.contact-messages{display:grid;gap:10px;margin:16px 0;max-height:600px;overflow:auto}.contact-message{border-radius:16px;padding:12px 16px;background:#f6f1eb;margin-right:24px;overflow-wrap:anywhere}.contact-message.staff{background:#eaf1e7;margin-left:24px;margin-right:0}.contact-message p{white-space:pre-wrap}.contact-message img{max-width:100%;max-height:300px;border-radius:12px}.contact-status-form{margin-top:12px}
.contact-notification-dialog{width:min(680px,calc(100vw - 24px));max-height:85vh;overflow:auto;border:1px solid var(--line,#e3ded8);border-radius:22px;padding:20px;background:var(--bg,#f7f3ed);color:var(--ink,#292822)}
.contact-notification-dialog::backdrop{background:#0007}.contact-event{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;text-align:left;margin:10px 0;white-space:normal;overflow-wrap:anywhere}.contact-event small{opacity:.7}.contact-notification-dialog .card-head h2{min-width:0}.contact-notification-dialog .form-actions{flex-wrap:wrap}

/* Process-based workspace: shared navigation, clear tasks and calm surfaces. */
:root{--bg:#f5f7f5;--card:#fff;--ink:#202b27;--muted:#6b7871;--brown:#17634f;--brown2:#124f3f;--accent:#e6f2ec;--line:#e1e8e3;--shadow:0 3px 14px rgba(22,55,41,.035)}
.role-hidden{display:none!important}.sidebar{background:white;color:var(--ink);border-right:1px solid var(--line);padding:24px 16px;gap:28px;overflow-y:auto}.brand-mark{background:var(--accent);color:var(--brown)}.brand strong{font-size:18px}.sidebar-actions .secondary,.sidebar-actions .ghost{color:var(--brown);border-color:var(--line)}
.workspace-nav{display:flex;flex-direction:column;gap:8px;flex:1}.workspace-link{display:flex;align-items:center;gap:12px;background:transparent;border:0;border-radius:12px;padding:13px 14px;color:var(--ink);text-align:left;cursor:pointer;min-height:48px}.workspace-link svg{width:21px;height:21px;flex-shrink:0}.workspace-link:hover{background:#f3f7f4}.workspace-link.active{background:var(--accent);color:var(--brown);font-weight:650}.settings-link{margin-top:auto}.main{padding:22px 28px 48px}.workspace-search{position:relative;margin-bottom:24px;max-width:760px}.search-field{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 14px}.search-field>span{font-size:25px;color:var(--muted)}.search-field input{border:0!important;outline:0;box-shadow:none!important;background:transparent!important;width:100%;padding:12px 0;font-size:14px;min-width:0}.search-results{position:absolute;top:100%;left:0;right:0;z-index:20;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 10px 24px #163a2520}.search-result{display:block;text-align:left;width:100%;background:transparent;border:0;padding:12px;border-radius:8px;color:var(--ink);cursor:pointer}.search-result:hover{background:var(--accent)}
.topbar h1{font-size:28px;letter-spacing:-.5px}.topbar-badge{background:transparent;color:var(--muted)}.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;border-bottom:1px solid var(--line);padding-bottom:10px}.workspace-tab{background:transparent;border:0;border-radius:10px;padding:11px 15px;color:var(--muted);cursor:pointer;min-height:44px}.workspace-tab.active{background:var(--accent);color:var(--brown);font-weight:650}.overview-actions{display:flex;justify-content:flex-end;gap:10px;margin:0 0 18px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{padding:20px}.stat .value{font-size:28px;letter-spacing:-.6px}.stat .hint{font-size:12px}.card{padding:22px;border-radius:16px}.overview-grid{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr);gap:22px;align-items:start;margin-bottom:22px}.overview-grid .card{margin-bottom:0}.overview-side{display:grid;gap:22px}.production-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.board-column{min-width:0;background:#f6f8f6;border-radius:12px;padding:12px}.board-column h3{font-size:13px;display:flex;gap:7px;align-items:center;margin:0 0 12px}.board-count{margin-left:auto;color:var(--muted);font-size:12px}.stage-dot{width:7px;height:7px;border-radius:50%;background:#daa831;flex-shrink:0}.stage-dot.pack{background:#5a8cb7}.stage-dot.stock{background:#4b9672}.batch-tile{background:white;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.batch-tile:last-child{margin-bottom:0}.batch-tile small{color:var(--muted);font-size:12px}.batch-tile strong{font-size:15px}.batch-tile .pill{align-self:flex-start}.batch-tile p{margin:0;font-size:13px;color:var(--muted)}.batch-tile button{width:100%;min-height:42px;margin-top:4px}.quick-actions{display:grid;gap:10px}.quick-actions button{width:100%;text-align:left;min-height:46px}.alert{padding:12px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;font-size:13px}.alert .link-button{padding-left:0;margin-top:6px}.sections-dialog{width:min(600px,calc(100vw - 24px));max-height:85vh;padding:24px;border:1px solid var(--line);border-radius:18px;background:white;color:var(--ink)}.sections-dialog .nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:auto;max-height:65vh}.sections-dialog .nav-link,.sales-only .sections-dialog .nav-link{display:block;color:var(--ink);text-align:left;background:#f6f8f6;font-size:14px;padding:14px;min-height:48px}.sections-dialog .nav-link.active{background:var(--accent);color:var(--brown)}
/* Seller tools use the same section tabs as the other roles. */
#salesTabs{display:none!important}
.sales-only .sidebar{display:flex}.sales-only .sections-dialog .nav{display:grid}
@media(min-width:1101px){.sidebar .brand,.sidebar-actions{display:flex}.sidebar-actions{flex-direction:column}.app-shell,.sales-only .app-shell{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:1300px) and (min-width:1101px){.overview-grid{grid-template-columns:minmax(0,1fr)}.overview-side{grid-template-columns:1fr 1fr}}
@media(max-width:1100px){.sidebar{border-right:0;border-top:1px solid var(--line);padding:6px 8px;height:auto;overflow:visible}.workspace-nav{flex-direction:row;overflow-x:auto;gap:4px;scrollbar-width:none}.workspace-link{flex:1 0 82px;justify-content:center;flex-direction:column;gap:5px;padding:8px 5px;min-height:60px;font-size:11px;text-align:center}.settings-link{margin-top:0}.main,.sales-only .main{padding:16px 16px calc(100px + env(safe-area-inset-bottom))}.overview-grid{grid-template-columns:minmax(0,1fr)}.overview-side{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-search{margin-bottom:18px}.sidebar-actions{display:none}.top-actions{flex-wrap:wrap}.workspace-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.workspace-tab{flex-shrink:0}.production-board{gap:8px}.board-column{padding:10px}.batch-tile{padding:12px}}
@media(max-width:700px){.overview-side{grid-template-columns:minmax(0,1fr)}.card{padding:18px}.stat{padding:16px}.stat .value{font-size:24px}.production-board{grid-template-columns:minmax(0,1fr)}.board-column h3{font-size:15px}.batch-tile{padding:16px}.topbar h1{font-size:25px}.overview-actions{justify-content:stretch}.overview-actions button{flex:1}.sections-dialog .nav{grid-template-columns:minmax(0,1fr)}.workspace-search input{font-size:16px}.topbar .top-actions{width:100%}.top-actions .smokehouse-select{max-width:100%}}
.secondary{background:#eef3ef;color:var(--brown);border:1px solid var(--line)}.secondary:hover{background:var(--accent)}.table th{background:#f6f8f6}.pill{background:#edf2ee}.mini-summary{background:#f2f6f2}.board-column{max-height:540px;overflow:auto}#alerts{max-height:340px;overflow:auto;padding-right:5px}#dashboardSalesCard{margin-top:20px}
@media(max-width:700px){.board-column{max-height:460px}#alerts{max-height:320px}}

.print-notice{border:1px solid var(--line);background:var(--accent);border-radius:12px;padding:16px;margin:14px 0}.print-filters{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0}.print-filters label{display:grid;gap:6px;flex:1;min-width:160px}.print-printer,.print-job{padding:18px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.print-job:last-child{border-bottom:0}.print-secret{font-family:monospace;overflow-wrap:anywhere;user-select:all}.print-history{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}#printing input,#printing select{max-width:100%;min-height:44px}#printing input[type=checkbox]{min-height:20px;width:auto}#packPrintResult strong{display:block}

#printing input[type=checkbox]{width:20px;justify-self:start}
.sale-order-dialog{width:min(760px,calc(100% - 24px));max-height:90vh;overflow:auto;border:1px solid var(--line,#dce5e1);border-radius:18px;padding:24px}
.sale-order-dialog::backdrop{background:rgb(15 35 28 / 40%)}
.order-cart-line{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #dce5e1}
.order-cart-line>div{min-width:0;overflow-wrap:anywhere}.order-cart-line>button{flex-shrink:0}
.order-receipt-line{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid #dce5e1}
.order-total{font-size:24px;font-weight:700;color:#17634f}
#multiSaleBtn{margin:12px 0 20px}
@media(max-width:540px){.sale-order-dialog{padding:16px}.order-cart-line{align-items:flex-start}.order-cart-line>div{font-size:14px}}

.sale-order-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.sale-order-dialog .card-head{flex-shrink:0}.sale-order-dialog h2{overflow-wrap:anywhere}
#saleOrderForm{overflow-y:auto;min-height:0}.order-footer{position:sticky;bottom:0;z-index:2;background:white;padding:12px 0 2px;display:grid;gap:8px;box-shadow:0 -8px 14px white}
.order-footer .mini-summary{margin:0}#orderSave{width:100%}#orderReceipt{overflow-y:auto;min-height:0}
