.select-search-input{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;margin:4px 0 8px}.select-search-original{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-10000px!important}.production-batch-fields{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.production-batch-fields small{display:block;margin-top:5px}
:root{--bg:#f6f3ef;--surface:#fff;--text:#2e2522;--muted:#786c68;--primary:#6f2b2b;--primary2:#8f3a3a;--line:#e7dfda;--ok:#196b43;--bad:#a62c2c;--shadow:0 8px 28px rgba(54,35,30,.07)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}.topbar{height:64px;background:var(--primary);color:#fff;display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px #0002}.brand{font-size:1.15rem;font-weight:800;letter-spacing:.3px}.menu-button{display:none;margin-left:auto;background:transparent;border:0;color:#fff;font-size:1.5rem}.layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 64px)}.sidebar{background:#321919;padding:18px 12px;display:flex;flex-direction:column;gap:5px}.sidebar a{color:#f7eded;text-decoration:none;padding:11px 13px;border-radius:8px}.sidebar a:hover{background:#ffffff14}.content{padding:28px;max-width:1500px;width:100%;margin:0 auto}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.page-header h1{margin:0 0 4px;font-size:1.8rem}.page-header p,.muted{color:var(--muted);margin:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:15px;margin-bottom:18px}.metric-card,.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.metric-card{padding:20px}.metric-card span{display:block;color:var(--muted);font-size:.9rem}.metric-card strong{display:block;font-size:1.65rem;margin-top:6px}.card{padding:20px;margin-bottom:18px}.card h2{margin:0 0 14px;font-size:1.1rem}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.card-header h2{margin:0}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;align-items:end}label{display:block;font-size:.88rem;font-weight:700;color:#544844}input,select,textarea{width:100%;border:1px solid #d8ccc6;border-radius:8px;padding:10px 11px;margin-top:6px;background:#fff;color:var(--text);font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #6f2b2b22;border-color:var(--primary)}textarea{min-height:90px;resize:vertical}.form-actions{display:flex;align-items:end}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4c6c0;background:#fff;color:var(--text);border-radius:8px;padding:9px 13px;text-decoration:none;cursor:pointer;font-weight:700}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.small{padding:6px 10px;font-size:.85rem}.icon-btn{border:0;border-radius:8px;width:38px;height:38px;font-size:1.2rem;cursor:pointer}.icon-btn.danger{background:#fbeaea;color:var(--bad)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.badge{display:inline-block;background:#f0e9e5;border-radius:999px;padding:4px 8px;font-size:.76rem}.repeat-row{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.6fr auto auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.step-row{grid-template-columns:1.4fr .7fr 1.4fr .8fr 1.5fr auto}.output-row{grid-template-columns:2fr 1fr 1fr auto}.purchase-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto}.repeat-row input,.repeat-row select{margin-top:0}.check{display:flex;align-items:center;gap:6px;white-space:nowrap;font-weight:500}.check input{width:auto;margin:0}.sticky-actions{position:sticky;bottom:0;background:#f6f3eff2;backdrop-filter:blur(6px);padding:13px 0;display:flex;justify-content:flex-end;gap:10px;z-index:10}.alert{padding:12px 14px;border-radius:9px;margin-bottom:15px;border:1px solid}.alert.success{background:#eaf7ef;border-color:#b7dfc7;color:#155a38}.alert.error{background:#fff0f0;border-color:#f0c6c6;color:#8d2525}.validation-list{display:grid;gap:8px;margin:12px 0}.validation-item{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px}.validation-item.ok{border-left:4px solid var(--ok)}.validation-item.bad{border-left:4px solid var(--bad)}.cost-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.cost-summary div{background:#f8f5f2;padding:10px;border-radius:8px}.cost-summary strong{display:block;margin-top:4px}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.repeat-row,.step-row,.output-row,.purchase-row{grid-template-columns:1fr 1fr}.repeat-row .icon-btn{justify-self:end}.two-cols{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{padding:0 16px}.menu-button{display:block}.layout{display:block}.sidebar{position:fixed;top:64px;left:-250px;width:230px;height:calc(100vh - 64px);z-index:30;transition:left .2s}.menu-open .sidebar{left:0}.content{padding:18px}.page-header{align-items:flex-start;flex-direction:column}.metrics,.form-grid{grid-template-columns:1fr}.repeat-row,.step-row,.output-row,.purchase-row{grid-template-columns:1fr}.cost-summary{grid-template-columns:1fr}.sticky-actions{position:static}.card{padding:15px}}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}.toolbar input,.toolbar select{margin-top:0;max-width:320px}.estoque-baixo{color:var(--bad);font-weight:800}.production-running{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fffaf8}.production-running>div:first-child{display:grid;gap:4px}.production-running span{color:var(--muted);font-size:.85rem}.modal{display:none;position:fixed;inset:0;background:#0008;z-index:100;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-box{position:relative;background:var(--surface);border-radius:14px;padding:24px;width:min(520px,100%);box-shadow:0 20px 60px #0005}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:1.6rem;cursor:pointer}.modal-box h2{margin-top:0}
.validation-item .btn{justify-self:start;grid-column:1/-1}

/* Login, identidade visual e menu de usuário */
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}
.brand-logo{max-height:42px;max-width:150px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}
.top-user{position:relative;margin-left:auto}
.menu-button{margin-left:14px}
.user-menu-button{display:flex;align-items:center;gap:9px;background:transparent;color:#fff;border:0;cursor:pointer;padding:7px 9px;border-radius:9px;font:inherit}
.user-menu-button:hover{background:#ffffff18}
.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--primary);font-weight:800}
.user-menu-label{display:grid;text-align:left;font-weight:700}
.user-menu-label small{font-size:.72rem;font-weight:500;opacity:.8}
.user-dropdown{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;z-index:100}
.user-dropdown.open{display:block}
.user-dropdown-info{display:grid;gap:3px;padding:10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.user-dropdown-info span{font-size:.82rem;color:var(--muted)}
.user-dropdown a,.user-dropdown form button{display:block;width:100%;text-align:left;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--text);text-decoration:none;font:inherit;cursor:pointer}
.user-dropdown a:hover,.user-dropdown form button:hover{background:var(--line)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}
.login-card{width:min(430px,100%);padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.login-brand{text-align:center;margin-bottom:24px}
.login-brand img{max-width:180px;max-height:100px;object-fit:contain}
.login-brand h1{margin:14px 0 4px}
.login-brand p,.login-help{color:var(--muted);font-size:.9rem}
.login-mark{display:grid;place-items:center;width:64px;height:64px;margin:auto;border-radius:16px;background:var(--primary);color:#fff;font-weight:900;font-size:1.5rem}
.login-form{display:grid;gap:16px}
.login-form .btn{width:100%;margin-top:4px}
.login-help{margin:18px 0 0;line-height:1.5}
.logo-preview{display:flex;align-items:center;gap:12px}
.logo-preview img{max-width:160px;max-height:60px;object-fit:contain}
@media(max-width:760px){.user-menu-label{display:none}.brand-logo{max-width:88px;max-height:36px}.user-menu-button{gap:5px;padding:5px}.login-card{padding:22px}}

/* Identidade visual independente para login e barra superior */
.brand{display:flex;align-items:center;gap:12px;min-width:0;color:#fff;text-decoration:none}.brand-logo{display:block;max-width:210px;max-height:42px;width:auto;height:auto;object-fit:contain}.brand-text{color:#fff}.login-brand .login-logo{display:block;width:auto;max-width:min(100%,360px);max-height:220px;object-fit:contain;margin:0 auto 12px}.logo-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.logo-upload-card{border:1px solid var(--line);border-radius:12px;padding:16px}.logo-upload-card h3{margin:0 0 8px}.logo-upload-card p{margin:0 0 14px}.logo-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.logo-preview-login{max-width:220px;max-height:150px;object-fit:contain}.logo-preview-barra{max-width:260px;max-height:64px;object-fit:contain}.table-search{display:block;max-width:340px;margin:0 0 10px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.toolbar select{width:auto;min-width:170px}.inline-filter{display:flex;align-items:center;gap:10px;max-width:360px;margin:0 0 12px}.inline-filter select{margin:0}.estoque-baixo{color:var(--bad);font-weight:800}
@media(max-width:760px){.logo-settings-grid{grid-template-columns:1fr}.brand-logo{max-width:150px;max-height:38px}.toolbar select{width:100%}.inline-filter{display:block}.inline-filter select{margin-top:6px}}

/* Resumos financeiros e formulários de gestão de estoque */
.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.summary-strip>div{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.summary-strip span{display:block;color:var(--muted);font-size:.88rem}.summary-strip strong{display:block;font-size:1.25rem;margin-top:5px;overflow-wrap:anywhere}.stock-shortcut{display:flex;align-items:center;justify-content:space-between;gap:20px}.stock-shortcut>div{flex:1;min-width:0}.price-suggestion{grid-column:1/-1;padding:12px 14px;border-radius:10px;background:var(--surface-soft,#f8f5f2);border:1px solid var(--line);font-size:.92rem}.inline-price-form,.inline-category-form{display:flex;gap:6px;align-items:center;min-width:180px}.inline-price-form input{width:100px;min-width:80px}.inline-category-form select{min-width:130px;width:auto;margin:0}.kit-edit-details{border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0}.kit-edit-details summary{cursor:pointer;font-weight:700}.kit-edit-form{display:grid;gap:12px;margin-top:14px}.checkbox-field{display:flex;align-items:center;gap:8px}.checkbox-field input{width:auto}.inventory-summary{position:relative}
@media(max-width:760px){.summary-strip{grid-template-columns:1fr}.stock-shortcut{align-items:stretch;flex-direction:column}.inline-price-form,.inline-category-form{align-items:stretch;flex-wrap:wrap}.inline-category-form select{width:100%}}


/* Pesquisa funcional para seletores longos */
.searchable-select-wrap{position:relative;display:block;width:100%;min-width:0;margin-top:6px}
.select-search-input{width:100%;box-sizing:border-box;margin:0}
.select-search-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-10000px!important}
.searchable-select-menu{position:absolute;z-index:1000;top:calc(100% + 3px);left:0;right:0;max-height:260px;overflow:auto;background:var(--surface,#fff);color:var(--text,#222);border:1px solid var(--line,#ccc);border-radius:9px;box-shadow:0 8px 24px #0002;padding:4px}
.searchable-select-option{display:block;width:100%;text-align:left;border:0;border-radius:6px;background:transparent;color:inherit;padding:9px 10px;cursor:pointer;font:inherit}
.searchable-select-option:hover,.searchable-select-option:focus{background:var(--surface-soft,#f1f1f1);outline:2px solid var(--line,#ccc)}
.searchable-select-option[hidden]{display:none!important}
.page-header{position:relative}
.page-help-button{flex:0 0 auto;align-self:center;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:650}
.field-help-button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:6px;border:1px solid var(--muted);border-radius:50%;font-size:12px;line-height:1;cursor:pointer;background:transparent;color:var(--muted);vertical-align:middle}
.global-help-overlay{display:none;position:fixed;inset:0;z-index:3000;background:#0007;align-items:center;justify-content:center;padding:18px}
.global-help-overlay.open{display:flex}
.global-help-dialog{position:relative;width:min(520px,100%);padding:24px;border-radius:14px;background:var(--surface,#fff);color:var(--text,#222);box-shadow:0 18px 60px #0004}
.global-help-dialog h2{margin-top:0;padding-right:28px}
.global-help-dialog p{line-height:1.6}
.global-help-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer}
@media(max-width:760px){.page-header{flex-wrap:wrap}.page-help-button{align-self:flex-start}.global-help-dialog{padding:20px}}

.searchable-select-empty{padding:10px;color:var(--muted);font-size:.9rem}

/* Compras: hierarquia visual, campos nomeados e itens dentro do mesmo formulário */
.section-heading,.purchase-items-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-heading h2,.purchase-items-heading h2{margin:0 0 4px}
.purchase-card{padding:24px}
.purchase-header-grid{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr) minmax(190px,.8fr);margin-bottom:16px}
.supplier-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px}
.field-caption{font-size:.8rem;color:var(--muted);font-weight:600}
.purchase-items-heading{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.purchase-row{grid-template-columns:minmax(220px,2fr) minmax(110px,.75fr) minmax(145px,1.15fr) minmax(125px,.9fr) minmax(145px,1fr) minmax(120px,.8fr) minmax(145px,.9fr) 38px;align-items:end;gap:12px;padding:16px 0}
.purchase-row label{min-width:0;line-height:1.35}
.purchase-row input,.purchase-row select{margin-top:7px;min-width:0}
.purchase-row .searchable-select-wrap{margin-top:7px}
.purchase-row .select-search-input{margin:0 0 5px}
.purchase-row .remove-purchase-row{align-self:end;margin-bottom:2px}
.purchase-total-preview{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:16px;margin-top:12px;color:var(--muted)}
.purchase-total-preview strong{font-size:1.25rem;color:var(--text)}
.supplier-modal-box{max-height:90vh;overflow:auto}
.supplier-form{display:grid;gap:12px}
.supplier-form .alert{margin:0}
.button-help-button{display:inline-grid;place-items:center;vertical-align:middle;width:21px;height:21px;margin:0 0 0 5px;padding:0;border:1px solid #d9c7bd;border-radius:50%;background:#fff;color:var(--primary);font-size:.75rem;font-weight:800;cursor:pointer;flex-shrink:0}
.button-help-button:hover,.field-help-button:hover{background:#f4e8e2}
.field-help-button{display:inline-grid;place-items:center;width:19px;height:19px;margin:0 0 0 5px;padding:0;border:1px solid #d9c7bd;border-radius:50%;background:#fff;color:var(--primary);font-size:.7rem;font-weight:800;cursor:pointer;vertical-align:middle}
form label>.field-help-button{margin-left:7px}
@media(max-width:1250px){.purchase-row{grid-template-columns:repeat(4,minmax(0,1fr))}.purchase-row .item-field{grid-column:span 2}.purchase-row .remove-purchase-row{justify-self:end}.purchase-header-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-action{justify-content:flex-start}}
@media(max-width:760px){.purchase-card{padding:15px}.purchase-row,.purchase-header-grid{grid-template-columns:1fr}.purchase-row .item-field{grid-column:auto}.purchase-items-heading,.section-heading{align-items:flex-start;flex-direction:column}.purchase-total-preview{align-items:flex-start;flex-direction:column}}

.ingredient-row{grid-template-columns:minmax(200px,2fr) minmax(100px,.8fr) minmax(100px,.75fr) minmax(120px,1fr) minmax(140px,1.2fr) auto 38px;align-items:end;gap:12px}
.ingredient-row>label,.output-row>label{min-width:0;line-height:1.35}
.ingredient-row>label input,.ingredient-row>label select,.output-row>label input,.output-row>label select{margin-top:7px}
.ingredient-row .searchable-select-wrap,.output-row .searchable-select-wrap{margin-top:7px}
@media(max-width:1050px){.ingredient-row{grid-template-columns:repeat(3,minmax(0,1fr))}.ingredient-row>.check{justify-self:start}.output-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ingredient-row,.output-row{grid-template-columns:1fr}}

.card-header{flex-wrap:wrap}
