:root{--red:var(--cor-primaria);--red-dark:var(--cor-primaria-escura);--red-soft:var(--cor-primaria-suave);--green:#1b9b56;--green-soft:#eaf8f0;--gold:#e6a11a;--gold-soft:#fff6df;--purple:#7657d9;--purple-soft:#f0ecff;--text:#25282d;--muted:#7b8188;--line:#e7e9ec;--bg:#f4f5f7;--card:#fff;--shadow:0 6px 24px rgba(28,34,40,.045)}
*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif}html{scroll-behavior:auto}body{background:var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}.admin-layout{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:187px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:100}.sidebar-brand{height:65px;padding:12px 14px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line)}.sidebar-brand-icon{width:30px;height:30px;border-radius:8px;background:var(--red);color:var(--cor-sobre-primaria);display:grid;place-items:center;font-size:12px;flex:0 0 auto}.sidebar-brand strong,.sidebar-brand span,.sidebar-store strong,.sidebar-store span,.sidebar-user strong,.sidebar-user span{display:block}.sidebar-brand strong{font-size:11px;line-height:1.15}.sidebar-brand span{font-size:8px;color:var(--muted);margin-top:2px}.sidebar-store{margin:12px 9px 8px;padding:9px;border:1px solid var(--line);border-radius:11px;display:flex;gap:8px;align-items:center}.sidebar-store-icon{width:29px;height:29px;border-radius:8px;background:var(--red-soft);color:var(--cor-primaria-texto);display:grid;place-items:center;font-size:11px;flex:0 0 auto}.sidebar-store strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:116px}.sidebar-store span{font-size:8px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:116px}.sidebar-nav{padding:0 8px;display:flex;flex-direction:column;gap:1px}.sidebar .nav-btn{width:100%;height:34px;border:0;background:transparent;color:#626970;border-radius:7px;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:0 10px;cursor:pointer;font-size:10px;font-weight:700}.sidebar .nav-btn i{width:14px;text-align:center;font-size:11px}.sidebar .nav-btn.active{background:var(--red-soft);color:var(--cor-primaria-texto)}.sidebar .nav-btn:hover{background:#f7f8f9}.sidebar-user{margin-top:auto;padding:10px 9px 11px;border-top:1px solid var(--line)}.sidebar-user-info{display:flex;gap:7px;align-items:center;margin-bottom:7px}.user-avatar{width:25px;height:25px;border-radius:50%;background:#f0f2f4;color:#858b92;display:grid;place-items:center;font-size:9px;overflow:hidden}.sidebar-user strong{font-size:8px}.sidebar-user span{font-size:7px;color:var(--muted);max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{width:100%;height:28px;border:1px solid var(--line);background:#fff;border-radius:7px;color:#666;cursor:pointer;font-size:9px}.admin-main{margin-left:187px;width:calc(100% - 187px);padding:25px 25px 45px;min-width:0}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.header-brand{display:flex;align-items:center;gap:12px;min-width:0}.header-brand h1{font-size:22px;line-height:1.05;margin-top:4px}.eyebrow{display:block;color:#858b94;font-size:7px;font-weight:800;letter-spacing:.15em}.store-status-text{color:var(--muted);font-size:10px;margin-top:5px}.header-actions{display:flex;align-items:center;gap:8px}.store-live-pill{display:inline-flex;align-items:center;gap:5px;color:#278b55;background:#eaf8f0;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;white-space:nowrap}.store-live-pill i{font-size:6px}.store-live-pill.closed{color:#a33b42;background:#fff0f1}.mobile-menu-btn{display:none}.icon-btn{width:37px;height:37px;border:0;background:#fff;border-radius:10px;color:#555;cursor:pointer;box-shadow:var(--shadow)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:0 0 13px}.section-heading h2{font-size:20px;line-height:1.05;margin:4px 0 5px}.section-heading p{color:var(--muted);font-size:9px}.store-id-badge{background:#eef0f2;color:#69717b;border-radius:999px;padding:5px 8px;font-size:7px;font-weight:700}.tab-content{display:none}.tab-content.active{display:block}.card,.overview-card,.overview-banner{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.card{overflow:hidden}.card-body{padding:17px}.card-header{padding:16px 17px;border-bottom:1px solid var(--line)}.card-header h3{font-size:13px;margin-top:4px}.card-footer{display:flex;justify-content:flex-end;padding:14px 0 0;margin-top:17px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.full-width{grid-column:1/-1}.form-group label,.field-label{display:block;font-size:9px;font-weight:800;color:#454b53;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{width:100%;height:37px;border:1px solid #d9dde3;border-radius:8px;background:#fff;padding:0 9px;color:var(--text);outline:none;font-size:9px}.form-group textarea{height:70px;padding:9px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#b1b7be;box-shadow:0 0 0 2px rgba(30,35,40,.05)}.form-group small,.upload-control small,.product-upload small{display:block;color:#8a9199;font-size:7px;margin-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:7px}.btn-primary,.btn-secondary{border:0;border-radius:8px;min-height:33px;padding:0 12px;font-size:9px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-primary{background:var(--red);color:var(--cor-sobre-primaria)}.btn-primary:hover{background:var(--red-dark)}.btn-secondary{background:#f0f2f4;color:#555}.btn-save{min-width:145px}.form-section{padding:0 0 17px;margin-bottom:17px;border-bottom:1px solid var(--line)}.form-section:last-of-type{border-bottom:0;margin-bottom:0}.form-section h3{font-size:15px;margin-bottom:7px}.section-help{font-size:9px;color:var(--muted);line-height:1.45;margin:-2px 0 10px}.upload-row{display:flex;align-items:center;gap:11px}.image-preview{width:67px;height:67px;border-radius:11px;background:#f1f3f5;border:0;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;color:#a2a8ae}.image-preview img{width:100%;height:100%;object-fit:cover}.logo-preview .logo-placeholder,.product-preview .item-placeholder{font-size:17px}.upload-control{flex:1;min-width:0}.upload-control strong,.product-upload strong{display:block;font-size:10px}.upload-button{display:inline-flex;align-items:center;gap:6px;margin-top:8px;background:#f0f2f4;color:#4e555d;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:800;cursor:pointer}.upload-control input[type=file],.product-upload input[type=file]{display:none}.hours-grid{display:flex;flex-direction:column;gap:6px;margin-top:9px}.hour-row{display:grid;grid-template-columns:84px 1fr 1fr 24px;align-items:center;gap:6px;background:#f7f8f9;border:1px solid #eceef1;border-radius:9px;padding:6px 7px}.hour-row strong{font-size:8px}.hour-row select{width:100%;height:31px;border:1px solid #e0e3e6;border-radius:7px;background:#fff;padding:0 7px;color:var(--text);font-size:9px;line-height:1;outline:none;appearance:auto;color-scheme:light}.hour-row select:focus{border-color:#b1b7be;box-shadow:0 0 0 2px rgba(30,35,40,.05)}.hour-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--green);justify-self:center}.hour-row.is-closed{opacity:.62}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.overview-banner{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:18px}.overview-banner h3{font-size:15px;margin:4px 0}.overview-banner p{color:var(--muted);font-size:8px}.overview-icon{width:49px;height:49px;border-radius:13px;background:var(--red);color:var(--cor-sobre-primaria);display:grid;place-items:center;font-size:18px}.overview-stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;display:flex;align-items:center;gap:9px}.overview-stat>i{width:34px;height:34px;border-radius:10px;background:var(--cor-primaria-suave);color:var(--cor-primaria-texto);display:grid;place-items:center;font-size:12px}.overview-stat.green>i{background:var(--green-soft);color:var(--green)}.overview-stat.gold>i{background:var(--gold-soft);color:var(--gold)}.overview-stat.purple>i{background:var(--purple-soft);color:var(--purple)}.overview-stat span,.overview-stat small{display:block;color:#858c95;font-size:7px}.overview-stat strong{display:block;font-size:14px;margin:2px 0}.overview-card{margin-top:11px;padding:15px;min-height:145px}.overview-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.overview-card h3{font-size:11px;margin-top:4px}.text-btn{border:0;background:none;color:var(--cor-primaria-texto);font-size:8px;font-weight:800;cursor:pointer}.items-list{display:flex;flex-direction:column;gap:6px}.list-item{display:flex;justify-content:space-between;align-items:center;gap:9px;background:#fafbfc;border:1px solid var(--line);padding:9px;border-radius:9px}.item-title{display:block;font-weight:800;font-size:9px}.item-sub{display:block;color:var(--muted);font-size:7px;margin-top:2px}.empty-state{padding:35px 10px;text-align:center;color:#858c95;font-size:8px}.empty-state i{font-size:15px;margin-bottom:6px;display:block}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-card{display:grid;grid-template-columns:62px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff}.product-image{width:62px;height:62px;border-radius:9px;object-fit:cover;background:#f1f3f5}.product-placeholder{display:grid;place-items:center;color:#a0a6ad;font-size:16px}.product-title{font-weight:800;font-size:10px}.product-meta{font-size:7px;color:var(--muted);margin-top:3px}.product-price{font-weight:800;color:var(--green);margin-top:4px;font-size:9px}.product-description{font-size:7px;color:#7c838b;margin-top:3px;line-height:1.3}.product-actions{display:flex;flex-direction:column;gap:4px}.mini-btn{width:27px;height:27px;border:0;border-radius:7px;background:#f2f3f5;color:#59616b;cursor:pointer;font-size:9px}.mini-btn.danger{color:#c62828;background:#fff0f1}.mini-btn.pause{color:#a16b00;background:#fff5d9}.divider{margin:17px 0 11px;border-bottom:1px solid var(--line);text-align:center}.divider span{position:relative;top:7px;background:#fff;padding:0 9px;color:#7b828b;font-size:7px;font-weight:800}.top-divider{margin-top:0}.order-filters{display:flex;gap:6px;margin:-1px 0 9px;flex-wrap:wrap}.filter-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;color:#666;font-size:8px;cursor:pointer}.filter-chip.active{background:var(--red);border-color:var(--red);color:var(--cor-sobre-primaria)}.finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:12px}.finance-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}.finance-icon{width:38px;height:38px;border-radius:11px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:15px}.finance-icon.red{background:var(--red-soft);color:var(--cor-primaria-texto)}.finance-card span{font-size:8px;color:#858c95}.finance-card h2{font-size:17px;margin-top:2px}.config-warning{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid #dfe5eb;border-radius:9px;background:#f8fafc;margin-bottom:15px;color:#5c6570;font-size:9px}.config-warning span{display:block;font-size:8px;margin-top:2px;color:#818891}.loading-state{min-height:230px;background:#fff;border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;justify-content:center;gap:8px;color:#747b84;box-shadow:var(--shadow);font-size:9px}.loading-state i{color:var(--cor-primaria-texto)}.store-error{background:#fff1f2;border:1px solid #ffcdd2;color:#a51d29;border-radius:10px;padding:12px 13px;margin-bottom:14px;line-height:1.45;font-size:9px}.store-error strong{display:block;margin-bottom:3px}.hidden,[hidden]{display:none!important}
.auth-gate{position:fixed;inset:0;background:linear-gradient(135deg,#f5f6f8,#fff);display:grid;place-items:center;padding:20px;z-index:3000}.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 20px 70px rgba(20,25,30,.12);text-align:center}.auth-icon{width:58px;height:58px;border-radius:16px;background:var(--red-soft);color:var(--cor-primaria-texto);display:grid;place-items:center;font-size:24px;margin:0 auto 16px}.auth-card h1{font-size:25px;margin:6px 0 9px}.auth-card p{font-size:13px;line-height:1.55;color:var(--muted);margin-bottom:20px}.auth-google{width:100%;min-height:46px}.auth-card small{display:block;color:#8b9198;font-size:9px;margin-top:12px;line-height:1.4}.create-store-card{text-align:left}.create-store-card .auth-icon{margin-left:0}.create-store-card form{display:flex;flex-direction:column;gap:7px}.create-store-card label{font-size:10px;font-weight:800;color:#4d545d}.create-store-card input{height:44px;border:1px solid #d9dde3;border-radius:9px;padding:0 11px;outline:none;margin-bottom:7px}.auth-secondary{width:100%;margin-top:8px}.bottom-nav{display:none}
.modal-backdrop{position:fixed;inset:0;background:rgba(20,23,27,.58);backdrop-filter:blur(2px);z-index:2500;display:grid;place-items:center;padding:18px}.product-modal{position:relative;width:min(490px,100%);background:#fff;border-radius:15px;padding:18px;box-shadow:0 22px 70px rgba(0,0,0,.25)}.modal-close{position:absolute;right:11px;top:10px;width:24px;height:24px;border:0;border-radius:50%;background:#f0f2f4;color:#6d737a;cursor:pointer}.product-modal h2{font-size:17px;margin:4px 0 13px}.modal-form{gap:11px}.product-upload{display:flex;align-items:center;gap:10px;background:#f7f8fa;border-radius:10px;padding:10px}.product-upload .image-preview{width:58px;height:58px}.availability-field{display:flex;align-items:center;gap:7px;min-height:37px}.availability-field .field-label{margin:0}.availability-field small{font-size:7px;color:var(--muted)}.switch{display:inline-flex;position:relative;width:31px;height:18px}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;background:#cdd2d7;border-radius:20px;cursor:pointer}.switch span:before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.12)}.switch input:checked+span{background:var(--green)}.switch input:checked+span:before{transform:translateX(13px)}
@media(max-width:640px){.sidebar{display:none}.admin-main{margin-left:0;width:100%;padding:18px 14px 90px}.admin-header{margin-bottom:17px}.mobile-menu-btn{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#555;font-size:14px}.header-brand{gap:8px}.header-brand h1{font-size:19px}.store-status-text{font-size:9px}.header-actions{gap:5px}.store-live-pill{display:none}.icon-btn{width:35px;height:35px}.section-heading h2{font-size:19px}.section-heading p{font-size:9px}.overview-grid,.finance-grid,.form-grid,.product-grid{grid-template-columns:1fr}.overview-banner{padding:15px}.overview-stat{padding:11px}.card-body{padding:14px}.hour-row{grid-template-columns:1fr 1fr 1fr 25px}.hour-row strong{grid-column:1/-1}.product-card{grid-template-columns:58px 1fr auto}.product-image{width:58px;height:58px}.bottom-nav{position:fixed;z-index:1000;left:9px;right:9px;bottom:9px;height:58px;background:#fff;border:1px solid #e1e4e8;border-radius:15px;box-shadow:0 12px 35px rgba(20,25,30,.12);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:3px}.bottom-nav .nav-btn{border:0;background:transparent;color:#7a8189;height:49px;border-radius:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:7px;font-weight:700}.bottom-nav .nav-btn i{font-size:15px}.bottom-nav .nav-btn.active{background:var(--red-soft);color:var(--cor-primaria-texto)}.product-modal{width:100%;max-height:calc(100vh - 25px);overflow:auto}.modal-form{grid-template-columns:1fr 1fr}.modal-form .full-width{grid-column:1/-1}.form-section h3{font-size:14px}.form-group input,.form-group select,.form-group textarea{font-size:12px;height:40px}.form-group textarea{height:75px}.btn-primary,.btn-secondary{min-height:36px;font-size:10px}.sidebar-user{display:none}}
@media(max-width:390px){.modal-form{grid-template-columns:1fr}.modal-form .full-width{grid-column:auto}.product-upload{grid-column:1/-1}.section-heading h2{font-size:18px}}

/* Ajustes de escala e controles conforme referência visual */
.sidebar{width:205px}
.admin-main{margin-left:205px;width:calc(100% - 205px);padding:30px 32px 52px}
.sidebar-brand{height:72px;padding:14px 16px;gap:10px}
.sidebar-brand-icon{width:34px;height:34px;font-size:13px}
.sidebar-brand strong{font-size:13px}.sidebar-brand span{font-size:9px}
.sidebar-store{margin:14px 10px 10px;padding:11px;gap:9px}.sidebar-store-icon{width:32px;height:32px;font-size:12px}.sidebar-store strong{font-size:12px;max-width:130px}.sidebar-store span{font-size:9px;max-width:130px}
.sidebar-nav{padding:0 9px;gap:2px}.sidebar .nav-btn{height:39px;gap:10px;padding:0 11px;font-size:12px}.sidebar .nav-btn i{width:15px;font-size:12px}
.sidebar-user{padding:12px 10px 13px}.user-avatar{width:29px;height:29px;font-size:10px}.sidebar-user strong{font-size:10px}.sidebar-user span{font-size:8px;max-width:140px}.logout-btn{height:31px;font-size:10px}
.admin-header{margin-bottom:25px}.header-brand{gap:14px}.header-brand h1{font-size:25px}.eyebrow{font-size:9px}.store-status-text{font-size:12px;margin-top:6px}.icon-btn{width:42px;height:42px}.store-live-pill{padding:7px 11px;font-size:10px}
.section-heading{margin-bottom:16px}.section-heading h2{font-size:23px}.section-heading p{font-size:11px}.store-id-badge{font-size:8px}
.card-body{padding:21px}.card-header{padding:19px 21px}.card-header h3{font-size:15px}.form-grid{gap:15px}.form-group label,.field-label{font-size:11px;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{height:42px;padding:0 11px;font-size:11px}.form-group textarea{height:82px;padding:11px}.form-group small,.upload-control small,.product-upload small{font-size:8px}.btn-primary,.btn-secondary{min-height:38px;padding:0 14px;font-size:11px}.form-section h3{font-size:18px}.section-help{font-size:11px;margin:-2px 0 12px}.upload-row{gap:13px}.image-preview{width:78px;height:78px}.logo-preview .logo-placeholder,.product-preview .item-placeholder{font-size:19px}.upload-control strong,.product-upload strong{font-size:12px}.upload-button{margin-top:9px;padding:8px 11px;font-size:10px}
.hours-grid{gap:7px;margin-top:11px}.hour-row{grid-template-columns:105px 38px minmax(115px,1fr) minmax(115px,1fr);gap:9px;padding:8px 10px;min-height:43px}.hour-row strong{font-size:10px}.hour-row select{height:35px;padding:0 7px;font-size:10px}.day-switch{width:34px!important;height:20px!important;justify-self:start}.day-switch span:before{width:16px;height:16px;top:2px;left:2px}.day-switch input:checked+span:before{transform:translateX(14px)}
.overview-banner{padding:21px}.overview-banner h3{font-size:18px}.overview-banner p{font-size:10px}.overview-icon{width:56px;height:56px;font-size:20px}.overview-stat{padding:14px;gap:10px}.overview-stat>i{width:39px;height:39px;font-size:14px}.overview-stat span,.overview-stat small{font-size:8px}.overview-stat strong{font-size:16px}.overview-card{padding:18px;min-height:165px}.overview-card h3{font-size:13px}.text-btn{font-size:9px}.empty-state{padding:42px 12px;font-size:9px}.empty-state i{font-size:17px}
.product-card{grid-template-columns:72px 1fr auto;gap:11px;padding:11px}.product-image{width:72px;height:72px}.product-title{font-size:12px}.product-meta{font-size:9px}.product-price{font-size:11px}.product-description{font-size:9px}
.product-modal{width:min(560px,100%);padding:22px}.product-modal h2{font-size:20px;margin:5px 0 16px}.modal-form{gap:14px}.product-upload{padding:12px;gap:12px}.product-upload .image-preview{width:68px;height:68px}.availability-field{min-height:42px}.availability-field small{font-size:8px}

@media(max-width:640px){
  .admin-main{margin-left:0;width:100%;padding:18px 14px 92px}
  .header-brand h1{font-size:21px}.eyebrow{font-size:8px}.store-status-text{font-size:10px}
  .section-heading h2{font-size:20px}.section-heading p{font-size:10px}
  .sidebar{display:none}
  .hour-row{grid-template-columns:1fr 36px 1fr 1fr;gap:6px;padding:7px 8px}.hour-row strong{font-size:9px}.hour-row select{font-size:10px}
  .form-group input,.form-group select,.form-group textarea{font-size:12px}
  .btn-primary,.btn-secondary{font-size:11px}
  .product-modal{padding:18px}
}

/* Logo da loja no cabeçalho: substitui o antigo botão hambúrguer */
.header-store-logo{width:48px;height:48px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;color:var(--cor-primaria-texto);font-size:18px}
.header-store-logo img{width:100%;height:100%;object-fit:cover;display:block}
.sidebar-store-icon{overflow:hidden}
.sidebar-store-icon img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:640px){
  .header-store-logo{width:42px;height:42px;border-radius:10px;font-size:16px}
}

/* Ajuste fino v5: escala desktop ligeiramente maior e cardápio por categorias */
.menu-categories{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.category-chip{border:1px solid var(--line);background:#fff;color:#656c74;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800;cursor:pointer}.category-chip.active{background:var(--red);border-color:var(--red);color:var(--cor-sobre-primaria)}.product-groups{display:flex;flex-direction:column;gap:20px}.product-category-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 9px}.product-category-head h3{font-size:16px}.product-category-head span{font-size:9px;color:var(--muted);font-weight:700}.product-category .product-grid{margin:0}.hour-row select:disabled{background:#eceff1;color:#9aa0a6;cursor:not-allowed}.hour-row select option{color:#25282d;background:#fff}
@media(min-width:641px){.admin-main{padding-left:28px;padding-right:28px}.header-brand h1{font-size:27px}.section-heading h2{font-size:25px}.section-heading p{font-size:12px}.card-body{padding:23px}.form-group label,.field-label{font-size:12px}.form-group input,.form-group select,.form-group textarea{height:44px;font-size:12px}.form-group textarea{height:88px}.form-group small,.upload-control small,.product-upload small{font-size:9px}.btn-primary,.btn-secondary{min-height:40px;font-size:12px}.form-section h3{font-size:19px}.section-help{font-size:12px}.hour-row{min-height:46px}.hour-row strong{font-size:11px}.hour-row select{height:37px;font-size:11px}.product-title{font-size:13px}.product-meta{font-size:10px}.product-price{font-size:12px}.product-description{font-size:10px}.category-chip{font-size:11px;padding:9px 13px}.product-category-head h3{font-size:17px}.product-category-head span{font-size:10px}}
@media(max-width:640px){.menu-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.menu-categories::-webkit-scrollbar{display:none}.category-chip{flex:0 0 auto;font-size:10px;padding:8px 11px}.product-groups{gap:16px}.product-category-head h3{font-size:15px}.hour-row select{font-size:10px;height:36px}}

/* v6 — escala visual, controles maiores e modal mobile */
.icon-btn{width:46px;height:46px;font-size:18px}
.btn-primary,.btn-secondary{min-height:44px;padding:0 16px;font-size:13px}
.mini-btn{width:34px;height:34px;font-size:12px}
.switch{width:38px;height:22px}
.switch span:before{width:18px;height:18px;top:2px;left:2px}
.switch input:checked+span:before{transform:translateX(16px)}
.day-switch{width:38px!important;height:22px!important}
.day-switch span:before{width:18px;height:18px;top:2px;left:2px}
.day-switch input:checked+span:before{transform:translateX(16px)}

@media (max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}
  .admin-main{padding:18px 14px 104px}
  .header-store-logo{width:48px;height:48px;font-size:19px}
  .header-brand{gap:10px}
  .header-brand h1{font-size:22px}
  .eyebrow{font-size:9px}
  .store-status-text{font-size:11px}
  .icon-btn{width:44px;height:44px;font-size:18px}
  .section-heading h2{font-size:22px}
  .section-heading p{font-size:11px}
  .card-body{padding:17px}
  .form-group label,.field-label{font-size:12px}
  .form-group input,.form-group select,.form-group textarea{height:46px;font-size:13px}
  .form-group textarea{height:96px}
  .btn-primary,.btn-secondary{min-height:46px;font-size:12px;padding:0 16px}
  .upload-button{font-size:11px;padding:10px 12px}
  .hours-grid{gap:8px}
  .hour-row{grid-template-columns:42px 1fr 1fr;grid-template-rows:auto auto;gap:8px 9px;padding:10px 12px;min-height:90px}
  .hour-row strong{grid-column:1/-1;grid-row:1;font-size:12px}
  .hour-row .day-switch{grid-column:1;grid-row:2;align-self:center;justify-self:start}
  .hour-row .hora-abre{grid-column:2;grid-row:2;height:42px;font-size:12px;min-width:0}
  .hour-row .hora-fechamento{grid-column:3;grid-row:2;height:42px;font-size:12px;min-width:0}
  .bottom-nav{left:10px;right:10px;bottom:9px;width:auto;max-width:none;height:70px;border-radius:18px;padding:4px;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden}
  .bottom-nav .nav-btn{height:60px;width:100%;min-width:0;border-radius:13px;gap:4px;font-size:10px;padding:0 2px;white-space:nowrap;overflow:hidden}
  .bottom-nav .nav-btn i{font-size:21px}
  .product-card{grid-template-columns:72px 1fr auto;gap:12px;padding:12px}
  .product-image{width:72px;height:72px}
  .product-title{font-size:13px}
  .product-meta{font-size:10px}
  .product-price{font-size:13px}
  .category-chip{font-size:11px;padding:9px 13px}

  /* Modal: cabe no viewport e mantém os botões sempre acessíveis */
  .modal-backdrop{padding:10px}
  .product-modal{width:100%;height:min(760px,calc(100dvh - 76px));max-height:calc(100dvh - 76px);padding:18px 18px 0;display:flex;flex-direction:column;overflow:hidden;border-radius:18px}
  .product-modal h2{font-size:23px;margin:5px 0 12px}
  .modal-form{display:grid;grid-template-columns:1fr;gap:12px;min-height:0;overflow-y:auto;padding:0 2px 4px}
  .modal-form .full-width{grid-column:auto}
  .product-upload{padding:12px;gap:12px}
  .product-upload .image-preview{width:64px;height:64px}
  .product-upload strong{font-size:14px}
  .product-upload small{font-size:10px}
  .form-group input,.form-group select,.form-group textarea{font-size:14px}
  .availability-field{min-height:46px;gap:10px}
  .availability-field .field-label{font-size:13px}
  .availability-field small{font-size:10px}
  .form-actions{position:sticky;bottom:0;z-index:3;background:#fff;padding:10px 0 12px;margin-top:0;display:grid;grid-template-columns:1fr 1.25fr;gap:10px}
  .form-actions .btn-primary,.form-actions .btn-secondary{width:100%;min-height:48px;font-size:13px}
  .modal-close{width:32px;height:32px;right:10px;top:9px;font-size:15px}
}

/* Estado da loja: switch */
.store-status-setting{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8f9fa}
.switch-label{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:48px}
.switch-label input{position:absolute;opacity:0;pointer-events:none}
.switch-track{position:relative;width:46px;height:27px;border-radius:999px;background:#c8cdd2;display:inline-flex;align-items:center;padding:3px;flex:0 0 auto;transition:.18s ease}
.switch-thumb{width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transform:translateX(0);transition:.18s ease}
.switch-label input:checked + .switch-track{background:var(--green)}
.switch-label input:checked + .switch-track .switch-thumb{transform:translateX(19px)}
.switch-label input:focus-visible + .switch-track{outline:2px solid #222;outline-offset:2px}
.switch-copy{display:flex;flex-direction:column;gap:2px}
.switch-copy strong{font-size:10px;color:#343a40}
.switch-copy small{font-size:8px;color:var(--muted)}
@media(max-width:640px){.store-status-setting{padding:9px 10px}.switch-track{width:49px;height:29px}.switch-thumb{width:23px;height:23px}.switch-label input:checked + .switch-track .switch-thumb{transform:translateX(20px)}.switch-copy strong{font-size:11px}.switch-copy small{font-size:9px}}

/* v9 — ajustes definitivos de mobile, horários e modal de produtos */
.hour-control{display:flex;flex-direction:column;gap:3px;min-width:0}.hour-control span{font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em}.hour-control select{width:100%}
.modal-form{display:flex;flex-direction:column;min-height:0;gap:0;overflow:hidden}.modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 3px 12px}.modal-fields .product-upload,.modal-fields .form-group:last-child{grid-column:1/-1}.modal-fields .product-upload{width:100%}.form-actions{flex:0 0 auto;background:#fff;padding:12px 0 0;display:grid;grid-template-columns:1fr 1.25fr;gap:10px;z-index:4}.product-modal{display:flex;flex-direction:column;min-height:0}.product-modal .eyebrow{flex:0 0 auto}.product-modal h2{flex:0 0 auto}
@media(max-width:640px){
  .admin-main{padding:18px 14px calc(112px + env(safe-area-inset-bottom))}
  .modal-backdrop{padding:10px;align-items:center}
  .product-modal{width:100%;height:auto;max-height:calc(100svh - 20px);padding:16px 16px 12px;border-radius:18px}
  .product-modal h2{font-size:21px;margin:4px 0 10px}
  .modal-fields{grid-template-columns:1fr;gap:11px;padding-bottom:10px}
  .modal-fields .product-upload,.modal-fields .form-group:last-child{grid-column:auto}
  .product-upload{padding:11px;gap:10px}
  .product-upload .image-preview{width:60px;height:60px}
  .product-upload strong{font-size:13px}
  .product-upload small{font-size:9px}
  .form-group input,.form-group select,.form-group textarea{height:44px;font-size:14px}
  .form-group textarea{height:88px}
  .availability-field{min-height:44px}
  .form-actions{padding:10px 0 0;gap:9px}
  .form-actions .btn-primary,.form-actions .btn-secondary{min-height:46px;font-size:12px}
  .hour-row{grid-template-columns:38px 1fr 1fr;grid-template-rows:auto auto;min-height:96px;gap:7px 9px;padding:10px 11px}
  .hour-row strong{grid-column:1/-1;grid-row:1;font-size:12px}
  .hour-row .day-switch{grid-column:1;grid-row:2;align-self:end}
  .hour-row .hora-abre{grid-column:2;grid-row:2;height:40px}
  .hour-row .hora-fechamento{grid-column:3;grid-row:2;height:40px}
  .hour-control span{font-size:8px}
  .header-store-logo{width:48px;height:48px}
}
@media(max-width:390px){.modal-fields{gap:10px}.product-modal{max-height:calc(100svh - 14px);padding:14px}.form-actions .btn-primary,.form-actions .btn-secondary{min-height:44px}}


/* v10 — correção definitiva do layout mobile
   O bloco de "Ajustes de escala" vinha depois das media queries
   e sobrescrevia margin-left/width do .admin-main.
*/
@media (max-width: 900px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .admin-layout {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .sidebar {
    display: none !important;
  }

  .admin-main {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 14px;
    padding-right: 14px;
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }

  .admin-header,
  .section-heading,
  .tab-content,
  .card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .section-heading {
    overflow: hidden;
  }

  .section-heading > div {
    min-width: 0;
    max-width: 100%;
  }

  .section-heading h2,
  .section-heading p,
  .eyebrow {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .card {
    overflow: hidden;
  }

  .card-body {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .form-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .form-group {
    min-width: 0;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    max-width: 100%;
  }

  .card-footer {
    width: 100%;
    max-width: 100%;
  }

  .btn-save {
    max-width: 100%;
  }

  .bottom-nav {
    max-width: calc(100% - 18px);
  }
}

/* ==========================================
   v12 — pedidos compactos e expansíveis
   ========================================== */
.order-card{
  border:1px solid #e8e8ee;border-left:4px solid #f0ad4e;
  border-radius:12px;margin-bottom:8px;background:#fff;
  overflow:hidden;
}
.order-card.status-1{border-left-color:#0d6efd}
.order-card.status-2{border-left-color:#6f42c1}
.order-card.status-3{border-left-color:#2e7d32}
.order-card.status-x{border-left-color:#c62828;opacity:.8}
.order-summary{
  width:100%;border:0;background:#fff;color:inherit;
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;text-align:left;cursor:pointer;padding:11px 12px;
}
.order-summary:hover{background:#fafbfc}
.order-summary:focus-visible{outline:2px solid #222;outline-offset:-2px}
.order-summary-main,.order-summary-side{display:flex;align-items:center;min-width:0}
.order-summary-main{flex-direction:column;align-items:flex-start;gap:3px;flex:1}
.order-summary-main strong{font-size:.88rem}
.order-summary-main small{display:block;color:#777;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.order-summary-side{gap:7px;justify-content:flex-end}
.order-summary-side>b{font-size:.85rem;white-space:nowrap}
.order-status{background:#f1f1f5;border-radius:20px;padding:3px 9px;font-size:.7rem;font-weight:700;white-space:nowrap}
.order-chevron{font-size:.7rem;color:#858b94;transition:transform .18s ease}
.order-card.expanded .order-chevron{transform:rotate(180deg)}
.order-details{padding:0 12px 12px;border-top:1px solid #f0f0f3}
.order-client{font-size:.84rem;margin:10px 0 8px}
.order-client a{color:#128c4a;font-weight:600}
.order-items{list-style:none;margin:0 0 8px;padding:8px 0;border-top:1px dashed #e5e5ea;border-bottom:1px dashed #e5e5ea;font-size:.84rem}
.order-items li{display:flex;justify-content:space-between;gap:10px;padding:2px 0}
.order-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.8rem}
.pay-ok{color:#2e7d32}.pay-pend{color:#b26a00}
.order-warn{background:#fff4e5;color:#8a4b00;border-radius:8px;padding:8px 10px;margin-top:10px;font-size:.78rem}
.order-actions{display:flex;gap:8px;margin-top:10px}
.order-actions .btn-primary{flex:1}
.order-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:640px){
  .order-summary{padding:10px}
  .order-summary-main strong{font-size:.82rem}
  .order-summary-main small{font-size:.68rem}
  .order-summary-side>b{font-size:.78rem}
  .order-status{font-size:.65rem;padding:3px 7px}
  .order-details{padding:0 10px 10px}
}


/* v12 — estabilidade de viewport/Configuração em navegadores móveis */
.admin-layout,.admin-main,.tab-content,.card,.card-body,.form-grid,.form-group{min-width:0}
.admin-layout{overflow-x:hidden}
.admin-main{overflow-x:hidden}
.config-warning{min-width:0}
.config-warning>div{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.form-group input,.form-group select,.form-group textarea{max-width:100%;min-width:0}
@media(max-width:640px){
  /* Evita o auto-zoom do navegador Android ao focar campos menores que 16px. */
  .form-group input,.form-group select,.form-group textarea{font-size:16px}
  .config-warning{font-size:10px}
}


/* V14 — estabiliza viewport/navegação no Android e Samsung Browser */
html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;}
body{overscroll-behavior-x:none;}
.admin-layout{width:100%;max-width:100%;overflow-x:hidden;}
.tab-content{width:100%;max-width:100%;min-width:0;}
@media(max-width:900px){
  .admin-main{width:100%!important;max-width:100%!important;margin-left:0!important;overflow-x:hidden;}
  .bottom-nav{position:fixed!important;display:grid!important;visibility:visible!important;opacity:1!important;transform:none!important;left:9px!important;right:9px!important;bottom:calc(9px + env(safe-area-inset-bottom))!important;z-index:2147483000!important;pointer-events:auto!important;}
  .bottom-nav .nav-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
}
@media(max-width:640px){
  .form-group input,.form-group select,.form-group textarea{font-size:16px!important;}
  .admin-main{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important;}
  .section-heading{overflow:visible;}
  .card{overflow:hidden;}
}

/* V19 — Configuração: blocos separados e estado do salvamento */
.config-block{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--line)}
.config-block:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.config-block-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.config-block-head>i{width:34px;height:34px;border-radius:10px;background:var(--red-soft);color:var(--cor-primaria-texto);display:grid;place-items:center;flex:0 0 auto}
.config-block-head h3{font-size:14px;margin:0 0 3px}
.config-block-head p{font-size:8px;color:var(--muted);line-height:1.4}
.save-status{margin-right:auto;align-self:center;color:var(--muted);font-size:8px;font-weight:700}
@media(max-width:640px){.config-block-head h3{font-size:15px}.config-block-head p{font-size:9px}.save-status{font-size:9px}.config-block{padding-bottom:16px;margin-bottom:16px}.config-warning{font-size:10px}.config-warning span{font-size:9px}}

/* V20 — restaura explicitamente o layout DESKTOP original do painel ADM.
   Desktop = menu lateral fixo + conteúdo à direita.
   Este bloco não altera a aba Configuração nem o layout mobile. */
@media (min-width: 901px) {
  .admin-layout {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .sidebar {
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 187px !important;
  }

  .admin-main {
    display: block !important;
    width: calc(100% - 187px) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 187px !important;
    margin-right: 0 !important;
    padding: 25px 28px 45px !important;
  }

  .mobile-menu-btn,
  .bottom-nav {
    display: none !important;
  }
}

/* V21 — layout desktop alinhado à referência
   A referência do projeto usa o menu lateral também em larguras de tablet/desktop
   como 832px. O breakpoint mobile fica reservado para telas <= 640px.
*/
@media (min-width: 641px) {
  .admin-layout {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .sidebar {
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 220px !important;
  }

  .sidebar-brand {
    height: 76px;
    padding: 14px 17px;
    gap: 11px;
  }

  .sidebar-brand-icon {
    width: 35px;
    height: 35px;
    border-radius: 9px;
    font-size: 14px;
  }

  .sidebar-brand strong { font-size: 13px; }
  .sidebar-brand span { font-size: 9px; }

  .sidebar-store {
    margin: 15px 12px 12px;
    padding: 12px;
    gap: 10px;
    border-radius: 13px;
  }

  .sidebar-store-icon {
    width: 37px;
    height: 37px;
    border-radius: 10px;
    font-size: 14px;
  }

  .sidebar-store strong {
    font-size: 12px;
    max-width: 138px;
  }

  .sidebar-store span {
    font-size: 9px;
    max-width: 138px;
  }

  .sidebar-nav {
    padding: 0 10px;
    gap: 3px;
  }

  .sidebar .nav-btn {
    height: 42px;
    gap: 11px;
    padding: 0 12px;
    border-radius: 9px;
    font-size: 13px;
  }

  .sidebar .nav-btn i {
    width: 17px;
    font-size: 14px;
  }

  .sidebar-user {
    padding: 13px 12px 14px;
  }

  .sidebar-user-info {
    gap: 9px;
    margin-bottom: 9px;
  }

  .user-avatar {
    width: 31px;
    height: 31px;
    font-size: 11px;
  }

  .sidebar-user strong { font-size: 10px; }
  .sidebar-user span { font-size: 8px; max-width: 145px; }

  .logout-btn{
    height: 44px;
    border-radius: 8px;
    font-size: 11px;
  }

  .admin-main {
    display: block !important;
    width: calc(100% - 220px) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 220px !important;
    margin-right: 0 !important;
    padding: 30px 30px 48px !important;
  }

  .admin-header {
    gap: 20px;
    margin-bottom: 25px;
  }

  .header-brand { gap: 13px; }
  .header-brand h1 { font-size: 28px; }
  .eyebrow { font-size: 9px; }
  .store-status-text { font-size: 12px; }

  .store-live-pill {
    padding: 7px 10px;
    font-size: 10px;
  }

  .icon-btn {
    width: 42px;
    height: 42px;
    font-size: 16px;
  }

  .section-heading {
    margin-bottom: 15px;
  }

  .section-heading h2 { font-size: 26px; }
  .section-heading p { font-size: 12px; }

  .card,
  .overview-card,
  .overview-banner {
    border-radius: 14px;
  }

  .card-body { padding: 22px; }
  .card-header { padding: 18px 22px; }
  .card-header h3 { font-size: 16px; }

  .form-grid { gap: 14px; }
  .form-group label,
  .field-label { font-size: 13px; }
  .form-group input,
  .form-group select,
  .form-group textarea {
    height: 45px;
    font-size: 13px;
    border-radius: 9px;
  }

  .form-group textarea { height: 92px; }
  .form-group small { font-size: 9px; }

  .btn-primary,
  .btn-secondary {
    min-height: 42px;
    font-size: 12px;
    border-radius: 9px;
  }

  .btn-save { min-width: 170px; }

  .form-section h3 { font-size: 20px; }
  .section-help { font-size: 12px; }

  .hour-row {
    min-height: 48px;
    grid-template-columns: 105px 1fr 1fr 28px;
    gap: 8px;
    padding: 7px 9px;
  }

  .hour-row strong { font-size: 11px; }
  .hour-row select { height: 38px; font-size: 12px; }
  .hour-row input[type=checkbox] { width: 16px; height: 16px; }

  .mobile-menu-btn,
  .bottom-nav {
    display: none !important;
  }
}

/* V21 — o breakpoint mobile continua reservado para smartphones.
   O layout de 832px da referência permanece desktop com sidebar. */
@media (max-width: 640px) {
  .sidebar { display: none !important; }
  .admin-main {
    width: 100% !important;
    margin-left: 0 !important;
  }
}


/* V22 — correção do modal de Cardápio no mobile
   Mantém título e ações fixos/visíveis e deixa somente os campos rolarem. */
@media (max-width: 640px) {
  #produto-modal.modal-backdrop {
    padding: 8px;
    align-items: center;
    overflow: hidden;
    z-index: 2147483001 !important;
}
  #produto-modal .product-modal {
    width: 100%;
    height: min(760px, calc(100dvh - 16px));
    max-height: calc(100dvh - 16px);
    min-height: 0;
    padding: 14px 14px 10px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  #produto-modal .product-modal h2,
  #produto-modal .product-modal > .eyebrow {
    flex: 0 0 auto;
  }

  #produto-modal #form-add-item {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
  }

  #produto-modal .modal-fields {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 2px 12px;
  }

  #produto-modal .form-actions {
    flex: 0 0 auto;
    position: relative;
    bottom: auto;
    width: 100%;
    padding: 10px 0 0;
    background: #fff;
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 9px;
    z-index: 5;
  }

  #produto-modal .form-actions .btn-primary,
  #produto-modal .form-actions .btn-secondary {
    min-height: 44px;
    width: 100%;
  }
}

@media (max-width: 390px) {
  #produto-modal .product-modal {
    height: calc(100dvh - 12px);
    max-height: calc(100dvh - 12px);
    padding: 12px;
  }

  #produto-modal .form-actions {
    padding-top: 8px;
    gap: 8px;
  }

  #produto-modal .form-actions .btn-primary,
  #produto-modal .form-actions .btn-secondary {
    min-height: 44px;
    font-size: 12px;
  }
}

/* V23 — Cardápio mobile: área de campos com scroll independente e ações sempre visíveis.
   Restrito ao modal #produto-modal; não altera os demais formulários. */
@media (max-width: 640px) {
  #produto-modal .product-modal {
    position: relative !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #produto-modal #form-add-item {
    position: relative !important;
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #produto-modal .modal-fields {
    position: absolute !important;
    inset: 0 0 68px 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 2px 3px 14px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: start !important;
  }

  #produto-modal .form-actions {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 68px !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 10px 0 0 !important;
    background: #fff !important;
    display: grid !important;
    grid-template-columns: 1fr 1.25fr !important;
    gap: 9px !important;
    z-index: 20 !important;
    box-sizing: border-box !important;
  }

  #produto-modal .form-actions .btn-primary,
  #produto-modal .form-actions .btn-secondary {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    height: 46px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

@media (max-width: 390px) {
  #produto-modal .product-modal {
    height: calc(100dvh - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    padding: 12px !important;
  }

  #produto-modal .modal-fields {
    inset: 0 0 64px 0 !important;
    padding-bottom: 12px !important;
  }

  #produto-modal .form-actions {
    height: 64px !important;
    min-height: 64px !important;
    padding-top: 8px !important;
    gap: 8px !important;
  }

  #produto-modal .form-actions .btn-primary,
  #produto-modal .form-actions .btn-secondary {
    min-height: 44px !important;
    height: 44px !important;
    font-size: 12px !important;
  }
}

/* V24 — Financeiro */
.finance-periods{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 14px}
.finance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.finance-card small{display:block;color:#858c95;font-size:7px;margin-top:3px}
.finance-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.payment-method-list{display:flex;flex-direction:column;gap:7px}
.payment-method{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}
.payment-method-main{display:flex;align-items:center;gap:8px;min-width:0}.payment-method-icon{width:30px;height:30px;border-radius:8px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:11px}.payment-method-name{font-size:9px;font-weight:800}.payment-method-count{font-size:7px;color:var(--muted);margin-top:2px}.payment-method-value{font-size:9px;font-weight:800;white-space:nowrap}
.currency-note{display:flex;gap:9px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.currency-note>i{color:var(--cor-primaria-texto);margin-top:2px}.currency-note strong,.currency-note span{display:block}.currency-note strong{font-size:9px}.currency-note span{font-size:8px;color:var(--muted);margin-top:3px;line-height:1.35}.finance-disclaimer{display:block;color:var(--muted);font-size:7px;line-height:1.45;margin-top:9px}.finance-history-list{display:flex;flex-direction:column;gap:7px}.finance-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 1fr 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.finance-row-title{font-size:9px;font-weight:800}.finance-row-sub{display:block;font-size:7px;color:var(--muted);margin-top:2px}.finance-row-label{font-size:7px;color:var(--muted);display:block}.finance-row-value{font-size:9px;font-weight:800}.finance-status{font-size:7px;font-weight:800;padding:5px 7px;border-radius:999px;background:var(--green-soft);color:var(--green);white-space:nowrap}.finance-status.cancelado{background:#fff0f1;color:#c62828}.finance-status.pendente{background:#fff5d9;color:#a16b00}
@media(max-width:640px){.finance-summary-grid{grid-template-columns:1fr 1fr}.finance-columns{grid-template-columns:1fr}.finance-row{grid-template-columns:1fr 1fr}.finance-row .finance-row-status{justify-self:end}.finance-row-title{font-size:9px}.finance-row-value{font-size:9px}}
@media(max-width:420px){.finance-summary-grid{grid-template-columns:1fr}.finance-periods{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.finance-periods .filter-chip{white-space:nowrap}}

/* V29 — notificación visual y botón de conversación */
.notificacao-pedido{position:fixed;right:24px;top:82px;z-index:2147483001;display:flex;align-items:center;gap:10px;width:min(360px,calc(100vw - 28px));padding:12px 13px;background:#fff;border:1px solid #e5e7ea;border-left:4px solid var(--red);border-radius:13px;box-shadow:0 16px 45px rgba(20,25,30,.18);transform:translateX(calc(100% + 30px));opacity:0;transition:transform .25s ease,opacity .25s ease}
.notificacao-pedido.show{transform:translateX(0);opacity:1}.notificacao-pedido-icon{width:36px;height:36px;flex:0 0 auto;border-radius:10px;background:var(--red-soft);color:var(--cor-primaria-texto);display:grid;place-items:center}.notificacao-pedido-copy{min-width:0;flex:1}.notificacao-pedido-copy strong,.notificacao-pedido-copy span{display:block}.notificacao-pedido-copy strong{font-size:10px}.notificacao-pedido-copy span{font-size:8px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notificacao-pedido-action{width:31px;height:31px;border:0;border-radius:8px;background:#f1f3f5;color:#555;cursor:pointer}
@media(max-width:640px){.notificacao-pedido{top:12px;right:12px;width:calc(100vw - 24px);}.admin-header .header-actions{margin-left:auto}.admin-header .icon-btn{width:40px;height:40px}.notificacao-pedido-action{min-width:34px;min-height:34px}}

/* V30 — pagamentos confirmados, saldo a receber e acesso à Minha loja */
.payment-confirm-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px;border:1px solid #e6e9ed;border-radius:10px;background:#fafbfc;color:#5f6670;font-size:9px}.payment-confirm-row span{display:flex;align-items:center;gap:6px;font-weight:700}.payment-confirm-row i{color:var(--green)}.btn-pago{min-height:34px;padding:0 10px;font-size:9px}.config-store-shortcut{margin-bottom:12px}.config-store-shortcut-body{padding:14px}.config-store-shortcut .config-block-head{margin:0;display:flex;align-items:center;gap:10px}.config-store-shortcut .config-block-head>div{flex:1}.config-store-shortcut .config-block-head h3{margin:0}.config-store-shortcut .config-block-head p{margin:3px 0 0;color:var(--muted);font-size:8px}.config-store-shortcut .btn-secondary{white-space:nowrap}
@media(max-width:640px){.payment-confirm-row{align-items:flex-start;flex-direction:column}.payment-confirm-row .btn-pago{width:100%}.config-store-shortcut .config-block-head{align-items:flex-start;flex-wrap:wrap}.config-store-shortcut .config-block-head>div{min-width:0}.config-store-shortcut .btn-secondary{width:100%}}

/* V31 — no celular o botão superior volta a ser Sair. */
.header-logout-btn{display: inline-flex;
  align-items: center;      /* Centraliza verticalmente */
  justify-content: center;   /* Centraliza horizontalmente */
  width: 50px;               /* Defina o tamanho desejado */
  height: 50px;
  border: none;}
@media(max-width:640px){
  .header-logout-btn{display:grid;}.order-chat-action{margin-top:9px}.order-chat-action .btn-secondary{display:inline-flex;text-decoration:none}}

/* Overlay de novo pedido V32 */
.novo-pedido-overlay{position:fixed;inset:0;z-index:2147483647;background:rgba(9,13,18,.62);backdrop-filter:blur(5px);display:grid;place-items:center;padding:24px;overflow:auto}
.novo-pedido-panel{width:min(560px,100%);max-height:min(820px,calc(100vh - 48px));overflow:auto;background:#fff;border:1px solid #e5e7ea;border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.28);padding:20px;color:#171a1d}
.novo-pedido-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #eceff1;padding-bottom:14px}.novo-pedido-head h2{margin:4px 0 2px;font-size:25px}.novo-pedido-head>div>span:last-child{font-size:13px;color:#737980}
.novo-pedido-client{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0}.novo-pedido-client>div{background:#f6f7f8;border-radius:12px;padding:11px}.novo-pedido-client .full{grid-column:1/-1}.novo-pedido-client span,.novo-pedido-note span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#81878d;margin-bottom:4px}.novo-pedido-client strong,.novo-pedido-note strong{font-size:14px;line-height:1.4}.novo-pedido-client a{color:inherit}
.novo-pedido-items ul{list-style:none;padding:0;margin:10px 0 0}.novo-pedido-items li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f2;font-size:14px}.novo-pedido-note{padding:14px 0}.novo-pedido-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e7eaed;padding:15px 0;font-size:15px}.novo-pedido-total strong{font-size:24px}.novo-pedido-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.novo-pedido-actions button{min-height:46px}.btn-danger{border:0;border-radius:10px;background:#c0392b;color:#fff;font-weight:700;cursor:pointer;padding:10px 14px}.btn-danger:disabled,.novo-pedido-actions button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:640px){.novo-pedido-overlay{align-items:flex-start;padding:78px 16px calc(92px + env(safe-area-inset-bottom));z-index:2147483647}.novo-pedido-panel{width:min(480px,calc(100vw - 32px));max-height:72dvh;border-radius:16px;padding:16px;overflow-y:auto}.novo-pedido-head h2{font-size:21px}.novo-pedido-head>div>span:last-child{font-size:11px}.novo-pedido-client{grid-template-columns:1fr 1fr;gap:8px;padding:11px 0}.novo-pedido-client .full{grid-column:1/-1}.novo-pedido-client>div{padding:9px}.novo-pedido-client span,.novo-pedido-note span{font-size:9px}.novo-pedido-client strong,.novo-pedido-note strong{font-size:12px}.novo-pedido-items li{font-size:12px;padding:7px 0}.novo-pedido-note{padding:10px 0}.novo-pedido-total{padding:10px 0;font-size:13px}.novo-pedido-total strong{font-size:20px}.novo-pedido-actions{position:sticky;bottom:0;background:#fff;padding-top:8px}.novo-pedido-actions button{min-height:42px}.admin-header{position:relative;z-index:20;align-items:flex-start}.admin-header .header-actions{margin-left:auto;align-self:flex-start;flex:0 0 auto}.header-logout-btn{width:42px!important;height:42px!important}}
.novo-pedido-overlay[hidden]{display:none!important}


/* V34 — overlay de pedido: compacto, autoajustable y controles equilibrados */
.header-brand > div:last-child{min-width:0;flex:1}
.header-brand h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-actions{flex:0 0 auto}
.novo-pedido-resumen{display:grid;gap:6px;padding:10px 0 0;border-top:1px solid #edf0f2}
.novo-pedido-resumen>div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
.novo-pedido-resumen span{color:#6f767e}
.novo-pedido-resumen strong{font-weight:800}
.novo-pedido-actions button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-width:0;white-space:nowrap;font-size:14px;font-weight:800;line-height:1.1}
.novo-pedido-actions .btn-danger{min-height:46px;padding:10px 12px}
.novo-pedido-actions .btn-primary{min-height:46px;padding:10px 12px}

@media(max-width:640px){
  .admin-header{gap:8px;position:relative;z-index:20}
  .header-brand{flex:1;min-width:0;gap:9px}
  .header-brand > div:last-child{min-width:0;max-width:100%}
  .header-brand h1{font-size:21px}
  .store-status-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .header-actions{flex:0 0 44px;margin-left:0!important}
  .header-logout-btn{width:44px!important;height:44px!important;flex:0 0 44px}

  .novo-pedido-overlay{align-items:center;padding:calc(58px + env(safe-area-inset-top)) 12px calc(82px + env(safe-area-inset-bottom));}
  .novo-pedido-panel{
    width:min(520px,calc(100vw - 24px));
    max-height:calc(100dvh - 150px);
    padding:15px;
    border-radius:17px;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .novo-pedido-head{padding-bottom:11px}
  .novo-pedido-head h2{font-size:20px}
  .novo-pedido-head>div>span:last-child{font-size:10px}
  .novo-pedido-client{padding:10px 0;gap:7px}
  .novo-pedido-client>div{padding:9px}
  .novo-pedido-client strong,.novo-pedido-note strong{font-size:12px}
  .novo-pedido-items li{font-size:12px;padding:7px 0}
  .novo-pedido-note{padding:9px 0}
  .novo-pedido-resumen{padding-top:9px}
  .novo-pedido-resumen>div{font-size:12px}
  .novo-pedido-total{padding:10px 0}
  .novo-pedido-total strong{font-size:21px}
  .novo-pedido-actions{position:sticky;bottom:-1px;z-index:3;background:#fff;padding-top:8px}
  .novo-pedido-actions button{min-height:44px;font-size:12px;padding:9px 8px}
  .novo-pedido-actions .btn-danger,.novo-pedido-actions .btn-primary{min-height:44px}
}

@media(max-width:360px){
  .novo-pedido-actions{gap:7px}
  .novo-pedido-actions button{font-size:11px;gap:5px;padding-left:5px;padding-right:5px}
  .novo-pedido-client{grid-template-columns:1fr}
  .novo-pedido-client .full{grid-column:auto}
}


.finance-date-picker{display:flex;align-items:end;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:-2px 0 12px;box-shadow:var(--shadow)}.finance-date-picker label{display:flex;flex-direction:column;gap:5px;font-size:8px;font-weight:800;color:#656d76}.finance-date-picker label i{margin-right:4px}.finance-date-picker input{height:36px;border:1px solid #dfe3e7;border-radius:8px;padding:0 9px;font-size:10px;background:#fff;color:var(--text)}.finance-date-picker .btn-secondary{min-height:36px}.weekday-ranking{display:flex;flex-direction:column;gap:8px}.weekday-row{display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:9px}.weekday-main strong,.weekday-main span{display:block}.weekday-main strong{font-size:9px}.weekday-main span{font-size:7px;color:var(--muted);margin-top:2px}.weekday-bar{height:7px;background:#f0f2f4;border-radius:999px;overflow:hidden}.weekday-bar i{display:block;height:100%;background:var(--red);border-radius:inherit}.weekday-value{font-size:8px;min-width:72px;text-align:right}.selected-day-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.selected-day-grid>div{padding:9px;border:1px solid var(--line);border-radius:9px;background:#fafbfc}.selected-day-grid span,.selected-day-grid strong{display:block}.selected-day-grid span{font-size:7px;color:var(--muted)}.selected-day-grid strong{font-size:11px;margin-top:3px}.evaluation-admin-card{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.evaluation-admin-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.evaluation-admin-head strong{font-size:10px}.evaluation-admin-head span{display:block;font-size:7px;color:var(--muted);margin-top:3px}.evaluation-stars{white-space:nowrap;color:#e0a800;font-size:10px}.evaluation-stars small{color:#555;font-size:8px}.evaluation-scores{display:flex;gap:12px;margin:10px 0 7px;font-size:8px;color:#737a82}.evaluation-comment{margin:8px 0;padding:9px;border-radius:8px;background:#fafbfc;font-size:8px;line-height:1.45;color:#555}.evaluation-tags{display:flex;flex-wrap:wrap;gap:5px}.evaluation-tags span{font-size:7px;background:#f1f3f5;border-radius:999px;padding:4px 6px}.evaluation-response{margin-top:10px}.evaluation-response label{display:block;font-size:8px;font-weight:800;margin-bottom:5px}.evaluation-response textarea{width:100%;min-height:62px;border:1px solid #dfe3e7;border-radius:8px;padding:8px;font:inherit;font-size:9px;resize:vertical;box-sizing:border-box}.evaluation-response .btn-primary{margin-top:6px;min-height:34px}
@media(max-width:640px){.finance-date-picker{align-items:stretch}.finance-date-picker label{flex:1;min-width:140px}.finance-date-picker input{flex:1}.weekday-row{grid-template-columns:90px 1fr;}.weekday-value{grid-column:2;text-align:left}.selected-day-grid{grid-template-columns:1fr 1fr}.evaluation-admin-head{flex-direction:column;gap:6px}}

.evaluation-response textarea:disabled{background:#f4f5f6;color:#6b727a;border-color:#e5e7ea;cursor:not-allowed;opacity:1}.evaluation-answered{display:block;margin-top:6px;color:#5f6872;font-size:8px;font-weight:700}.evaluation-answered i{margin-right:4px}

/* V45 — Retirada en tienda: switch claro e estado visível */
.retirada-setting{display:grid!important;grid-template-columns:auto 54px auto 1fr;align-items:center;gap:10px;padding:12px 14px;border:1px solid #e3e6ea;border-radius:12px;background:#fafbfc}
.retirada-setting .field-label{margin:0!important;font-weight:800;color:#343a40}
.switch-retirada{width:54px!important;height:30px!important;display:inline-flex!important;flex:0 0 54px}
.switch-retirada span{background:#c8cdd2!important;border-radius:999px!important;transition:.18s ease}
.switch-retirada span:before{width:24px!important;height:24px!important;left:3px!important;top:3px!important;box-shadow:0 1px 4px rgba(0,0,0,.2)!important;transition:.18s ease}
.switch-retirada input:checked+span{background:var(--green)!important}
.switch-retirada input:checked+span:before{transform:translateX(24px)!important}
.switch-state{font-size:11px;color:var(--green);min-width:68px}
.switch-state.off{color:#7a8189}
.retirada-setting small{font-size:9px;color:var(--muted)}
@media(max-width:640px){.retirada-setting{grid-template-columns:auto 54px auto;gap:9px}.retirada-setting small{grid-column:1/-1;margin-top:1px}.switch-state{font-size:10px}}


/* V52 — filtro por fecha en Pedidos */
.order-date-filter{display:flex;align-items:end;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 10px;box-shadow:var(--shadow)}
.order-date-filter label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:var(--text);margin-right:2px}
.order-date-filter input{height:40px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;color:var(--text);font-size:13px;min-width:150px}
.order-date-filter .btn-secondary{min-height:40px;padding:8px 12px}
@media(max-width:640px){.order-date-filter{align-items:stretch}.order-date-filter label{width:100%}.order-date-filter input{flex:1;min-width:0}.order-date-filter .btn-secondary{flex:0 0 auto}}

/* V69 — configuração de cartão */
.bandeiras-mp-config{margin-top:14px;padding:12px 14px;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:rgba(0,0,0,.02)}
.bandeiras-mp-config strong{display:block;margin-bottom:9px}.bandeiras-mp-config .bandeiras-lista{display:flex;flex-wrap:wrap;gap:7px}.bandeiras-mp-config .bandeiras-lista span{padding:5px 8px;border:1px solid rgba(0,0,0,.12);border-radius:6px;font-size:11px;background:#fff}.bandeiras-mp-config small{display:block;margin-top:8px;opacity:.7}

/* V75 — Pedidos KDS desktop, pesquisa e impressão */
.order-search-row{margin:0 0 10px}
.order-search{display:flex;align-items:center;gap:9px;max-width:620px;height:42px;padding:0 11px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);color:#858b94}
.order-search>i{font-size:12px}
.order-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}
.search-clear{width:28px;height:28px;border:0;border-radius:7px;background:#f1f2f4;color:#737a82;cursor:pointer}
.kds-board{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:5px}
.kds-column{min-width:230px;background:#f5f6f8;border:1px solid #e5e7ea;border-radius:13px;padding:8px;min-height:180px}
.kds-column>header{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 8px;position:sticky;top:0;background:#f5f6f8;z-index:2}
.kds-column>header strong{font-size:12px}
.kds-column>header span{min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:#fff;border:1px solid #e2e4e8;display:grid;place-items:center;font-size:10px;font-weight:800}
.kds-column-list{display:flex;flex-direction:column;gap:8px}
.kds-column .order-card{margin:0;border-left-width:4px;box-shadow:0 2px 7px rgba(0,0,0,.05)}
.kds-empty{text-align:center;color:#90969d;font-size:10px;padding:30px 8px}
.kds-cancelados{grid-column:1/-1;min-height:0}
.order-print-btn{min-height:32px!important;padding:0 10px!important}
@media(min-width:1100px){#pedidos-lista-panel{overflow:visible}.kds-board .order-summary{padding:10px}.kds-board .order-summary-main strong{font-size:.82rem}.kds-board .order-summary-side>b{font-size:.78rem}.kds-board .order-details{padding:0 10px 10px}.kds-board .order-client{font-size:.78rem}.kds-board .order-items{font-size:.78rem}.kds-board .order-foot{font-size:.72rem}}
@media(max-width:1100px){.kds-board{grid-template-columns:repeat(2,minmax(280px,1fr))}}
@media(max-width:640px){
.order-search{max-width:none}
.kds-board{display:flex;flex-direction:column;overflow:visible}
.kds-column{width:100%;min-width:0}
.kds-column-list{gap:7px}
.kds-cancelados{width:100%}
.order-actions{display:flex;align-items:stretch;gap:8px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}
.order-actions > button{box-sizing:border-box;max-width:100%;min-width:0}
.order-actions .btn-primary{flex:1 1 0;width:auto;min-width:0;min-height:48px;padding:8px 10px;font-size:12px;line-height:1.15;white-space:normal}
.order-actions .mini-btn{flex:0 0 42px;width:42px;height:48px;min-width:42px;border-radius:9px;font-size:13px;align-self:stretch}
.order-actions .order-print-btn{flex:1 1 0;width:auto;min-width:0;min-height:48px;padding:0 12px!important;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:380px){
.order-actions{gap:6px}
.order-actions .btn-primary{font-size:11px;padding-left:7px;padding-right:7px}
.order-actions .mini-btn{flex-basis:40px;width:40px;min-width:40px}
.order-actions .order-print-btn{font-size:11px;padding-left:8px!important;padding-right:8px!important}
}

/* V75.9 — cards lado a lado no desktop (até 4 por linha) e botão Imprimir abaixo no mobile */
.order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(260px,calc((100% - 36px)/4)),1fr));gap:12px;align-items:start}
.order-grid .order-card{margin:0;min-width:0}
@media(max-width:640px){
.order-grid{grid-template-columns:1fr;gap:8px}
.order-actions{flex-wrap:wrap}
.order-actions .order-print-btn{flex:1 1 100%;width:100%;order:3;min-height:44px}
}

/* V75.31 — campos Controle de estoque / Disponibilidade do produto: rótulo e dica à esquerda, interruptor fixo à direita */
.product-modal .availability-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"rotulo chave" "dica chave";align-items:center;column-gap:14px;row-gap:2px;min-height:64px;align-self:start;padding:12px 14px;background:#f6f7f9;border:1px solid #e6e9ed;border-radius:12px}
.product-modal .availability-field .field-label{grid-area:rotulo;margin:0;font-size:14px;font-weight:700;color:#1f2933}
.product-modal .availability-field small{grid-area:dica;font-size:12px;line-height:1.35;color:var(--muted)}
.product-modal .availability-field .switch{grid-area:chave;flex:0 0 auto;width:50px;height:30px;justify-self:end}
.product-modal .availability-field .switch span{border-radius:999px;transition:background .18s ease}
.product-modal .availability-field .switch span:before{width:24px;height:24px;top:3px;left:3px;transition:transform .18s ease}
.product-modal .availability-field .switch input:checked+span:before{transform:translateX(20px)}
.product-modal .availability-field .switch input:focus-visible+span{outline:2px solid #222;outline-offset:2px}

/* V75.32 — linhas do formulário nunca encolhem quando o modal é mais baixo que o conteúdo: a rolagem fica no modal */
.modal-fields{grid-auto-rows:max-content;align-content:start}

/* V75.34 — faixa do alarme de cancelamento */
#faixa-cancelamento{position:fixed;top:0;left:0;right:0;z-index:3200;display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;background:#b3261e;color:#fff;box-shadow:0 6px 24px rgba(0,0,0,.35);animation:faixaCancelPisca 1.1s ease-in-out infinite}
#faixa-cancelamento>i{font-size:26px;flex:0 0 auto}
#faixa-cancelamento .faixa-cancel-texto{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
#faixa-cancelamento strong{font-size:15px;line-height:1.25}
#faixa-cancelamento span{font-size:12.5px;opacity:.95;overflow-wrap:anywhere}
#faixa-cancelamento .faixa-cancel-btn{flex:0 0 auto;min-height:44px;padding:0 16px;border:0;border-radius:10px;background:#fff;color:#b3261e;font-weight:800;font-size:14px;cursor:pointer}
#faixa-cancelamento .faixa-cancel-btn:focus-visible{outline:3px solid #ffd54a;outline-offset:2px}
@keyframes faixaCancelPisca{0%,100%{background:#b3261e}50%{background:#7f1710}}
@media (prefers-reduced-motion:reduce){#faixa-cancelamento{animation:none}}

/* V75.60 — troco no card do pedido */
.order-troco{margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff6e8;border:1px solid #f0d3a0;color:#7a4a00;font-weight:700;font-size:.85rem}
.order-troco i{margin-right:6px}

/* V75.72 — cidade na criação da loja */
.create-store-card #nova-loja-cidade-wrap:not([hidden]){display:flex;flex-direction:column;gap:7px}
.create-store-card select{height:44px;border:1px solid #d9dde3;border-radius:9px;padding:0 11px;outline:none;margin-bottom:0;background:#fff;font-size:14px;color:var(--text)}
.create-store-card #nova-loja-cidade-wrap small{margin-top:0;margin-bottom:7px}

/* V75.127 — opções, adicionais e observação do item */
.extras-item{display:block;font-size:12px;font-weight:500;color:#6b7680;margin-top:2px;line-height:1.35;overflow-wrap:anywhere}
/* V75.127 — opções e adicionais do produto */
.extras-editor{display:flex;flex-direction:column;gap:14px;grid-column:1/-1}
.ext-bloco{border:1px solid #e7eaed;border-radius:12px;padding:12px;background:#fafbfc}
.ext-cab strong{display:block;font-size:14px;color:#1f2a33}.ext-cab small{display:block;font-size:12px;color:#6b7680;margin:2px 0 10px;line-height:1.35}
.ext-grupos,.ext-ads,.ext-ops{display:flex;flex-direction:column;gap:8px}
.ext-grupo{border:1px solid #e1e5e9;border-radius:10px;padding:10px;background:#fff;margin-bottom:8px}
.ext-grupo-topo,.ext-op,.ext-ad{display:flex;align-items:center;gap:8px}
.ext-grupo-topo{margin-bottom:8px;flex-wrap:wrap}
.extras-editor input[type=text],.extras-editor input:not([type]),.extras-editor input[inputmode]{min-width:0;height:40px;padding:0 10px;border:1px solid #d6dbe0;border-radius:8px;font:inherit;font-size:14px;background:#fff}
.ext-g-nome,.ext-o-nome,.ext-a-nome{flex:1 1 140px}
.ext-o-preco,.ext-a-preco{flex:0 0 96px;width:96px}
.ext-a-max{flex:0 0 70px;width:70px}
.ext-op{padding-left:10px}
.ext-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#33414c;white-space:nowrap}
.ext-x{flex:none;width:36px;height:36px;border:0;border-radius:8px;background:#f1f3f5;color:#6b7680;cursor:pointer}
.ext-x:hover{background:#fdecea;color:#c0392b}
.ext-add{margin-top:8px;min-height:38px;padding:0 12px;border:1px dashed var(--cor-primaria,#C96B00);border-radius:8px;background:#fff;color:var(--cor-primaria-texto,#8a4a00);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
@media(max-width:480px){.ext-o-preco,.ext-a-preco{flex-basis:80px;width:80px}.ext-a-max{flex-basis:58px;width:58px}}
.modal-fields .form-group:has(#item-descricao),.modal-fields .form-group:has(#item-info){grid-column:1/-1}
.extras-editor,.ext-bloco,.ext-grupo{min-width:0}.ext-op,.ext-ad{min-width:0}.extras-editor input{min-width:0;width:100%}.ext-g-nome{flex:1 1 160px}.ext-o-nome,.ext-a-nome{flex:1 1 0}
/* V75.128 — combos */
.cardapio-acoes{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.combo-liga{font-size:14px;cursor:pointer}.combo-liga strong{color:#1f2a33}
.combo-ajuda{display:block;font-size:12px;color:#6b7680;margin:4px 0 8px;line-height:1.35}
.combo-corpo[hidden]{display:none}
.combo-linhas{display:flex;flex-direction:column;gap:8px}
.combo-linha{display:flex;align-items:center;gap:8px;min-width:0}
.combo-prod{flex:1 1 0;min-width:0;height:40px;padding:0 8px;border:1px solid #d6dbe0;border-radius:8px;font:inherit;font-size:14px;background:#fff}
.combo-qtd{flex:0 0 56px;width:56px!important}
.combo-resumo{margin:10px 0 0;font-size:13px;color:#33414c;line-height:1.4}
.combo-resumo.ok{color:#1f7a47;font-weight:600}.combo-resumo.aviso{color:#9a5b00}
/* V75.142 — foto de capa da loja */
.capa-admin{display:flex;flex-direction:column;gap:10px;max-width:420px}
.capa-previa{position:relative;aspect-ratio:2/1;border-radius:14px;background:#f1f3f5;overflow:visible;margin-bottom:22px}
.capa-previa .capa-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:14px}
.capa-vazia{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#8a9199;font-size:12px;font-weight:700;text-align:center;padding:12px;border:2px dashed #d9dde3;border-radius:14px}
.capa-previa-logo{position:absolute;left:12px;bottom:-22px;width:56px;height:56px;border-radius:14px;object-fit:cover;background:#fff;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.capa-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.capa-acoes .upload-button{margin-top:0}
.capa-acoes small{flex-basis:100%;color:#8a9199;font-size:11px}
.capa-acoes .upload-button,.capa-acoes .btn-secondary{min-height:36px;padding:0 12px;font-size:11px;display:inline-flex;align-items:center;gap:6px}

/* V75.149 — Horários: campo de hora livre, aplicar a vários dias e horários prontos */
.hour-row input[type=time],.hour-control input[type=time]{width:100%;min-width:0;height:35px;border:1px solid #e0e3e6;border-radius:7px;background:#fff;padding:0 7px;color:var(--text);font-size:10px;line-height:1;outline:none;color-scheme:light}
.hour-row input[type=time]:focus,.hours-bulk input[type=time]:focus{border-color:#b1b7be;box-shadow:0 0 0 2px rgba(30,35,40,.05)}
.hour-row input[type=time]:disabled{background:#f1f3f5;color:#9aa1a8}
.hour-row.hb-flash{animation:hbFlash 1.2s ease}
@keyframes hbFlash{0%{background:var(--cor-primaria-suave)}100%{background:#f7f8f9}}
.hours-bulk{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;margin:8px 0 4px}
.hours-bulk .hb-titulo{font-size:11px;display:flex;align-items:center;gap:6px}
.hours-bulk .hb-titulo i{color:var(--cor-primaria-texto)}
.hb-linha{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.hb-campo{display:flex;flex-direction:column;gap:3px}
.hb-campo span,.hb-rotulo{font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.hb-rotulo small{text-transform:none;letter-spacing:0;font-weight:600;font-size:8px}
.hours-bulk input[type=time]{width:100%;min-width:0;height:40px;border:1px solid #d9dde3;border-radius:8px;background:#fff;padding:0 9px;color:var(--text);font-size:12px;outline:none;color-scheme:light}
.hb-dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.hb-dia{min-width:0;height:36px;padding:0;border:1px solid var(--line);background:#fff;border-radius:999px;color:#656c74;font-size:10px;font-weight:800;cursor:pointer}
.hb-dia.ativo{background:var(--red);border-color:var(--red);color:var(--cor-sobre-primaria)}
.hb-atalhos{display:flex;gap:14px;flex-wrap:wrap}
.hb-aplicar{width:100%;min-height:40px}
.hb-modelos{display:flex;flex-direction:column;gap:6px}
.hb-modelo{display:grid;grid-template-columns:minmax(78px,auto) 1fr auto 1fr auto;align-items:center;gap:6px;background:#f7f8f9;border:1px solid #eceef1;border-radius:9px;padding:6px 8px}
.hb-modelo-nome{font-size:10px;font-weight:800;display:flex;align-items:center;gap:6px;white-space:nowrap}
.hb-modelo-nome i{color:var(--cor-primaria-texto);width:13px;text-align:center}
.hb-ate{font-size:9px;color:var(--muted)}
.hb-modelo input[type=time]{height:34px;font-size:11px}
.hb-usar{min-height:34px!important;padding:0 11px!important;font-size:10px!important}
@media(max-width:640px){
  .hour-row input[type=time]{height:42px;font-size:13px}
  .hb-modelo{grid-template-columns:1fr auto 1fr;row-gap:6px}
  .hb-modelo-nome{grid-column:1/-1}
  .hb-usar{grid-column:1/-1;width:100%}
  .hb-modelo input[type=time]{height:40px;font-size:13px}
}

/* V75.156 — saldo da loja no overlay de novo pedido */
.novo-pedido-saldo>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:14px}
.novo-pedido-saldo .forte{margin-top:2px;padding-top:8px;border-top:1px dashed #d5dce3;font-size:17px;font-weight:800}
/* V75.156 — cancelamento: aviso central com botão (antes era uma faixa fina no topo) */
#faixa-cancelamento{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(92vw,400px);z-index:2147483647;flex-direction:column;align-items:stretch;gap:10px;padding:22px 20px 18px;border-radius:18px;background:#fff;color:#14202b;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 0 2px #b3261e;animation:none}
#faixa-cancelamento>i{align-self:center;font-size:34px;color:#b3261e}
#faixa-cancelamento .faixa-cancel-texto{align-items:center;gap:6px}
#faixa-cancelamento strong{font-size:18px}
#faixa-cancelamento span{font-size:14px;color:#5b6b7a;opacity:1}
#faixa-cancelamento .faixa-cancel-btn{width:100%;min-height:50px;background:#b3261e;color:#fff;font-size:16px}


/* V75.167 — quadro operacional com quatro etapas visuais e detalhes em overlay compacto */
.kds-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow-x:visible;align-items:stretch}
.kds-column{min-width:0;min-height:230px;padding:10px;background:#f7f8fa}
.kds-column>header{gap:8px;align-items:flex-start;padding:5px 3px 11px}
.kds-column-heading{display:flex;flex-direction:column;gap:3px;min-width:0}
.kds-column-heading strong{font-size:14px;line-height:1.2;color:#222831}
.kds-column-heading small{font-size:11px;line-height:1.35;color:#77808a}
.kds-column>header>span{flex:0 0 auto;min-width:27px;height:25px;font-size:12px}
.kds-column-list{gap:10px;min-width:0}
.kds-empty{display:flex;flex-direction:column;align-items:center;gap:6px;line-height:1.4;padding:35px 10px}
.kds-empty i{font-size:19px;opacity:.65;margin-bottom:2px}
.kds-empty strong{font-size:12px;color:#68717b}
.kds-empty small{font-size:11px;max-width:180px}
.kds-pendentes{background:#fff8ef;border-color:#f0dfc8}
.kds-pendentes>header{background:#fff8ef}
.kds-preparo{background:#fffaf0;border-color:#f0e3c7}
.kds-preparo>header{background:#fffaf0}
.kds-prontos{background:#f4f8f2;border-color:#dce9d6}
.kds-prontos>header{background:#f4f8f2}
.kds-rota{background:#f1f6ff;border-color:#d7e3f7}
.kds-rota>header{background:#f1f6ff}
.kds-history-board{grid-template-columns:repeat(2,minmax(0,1fr))}
.kds-finalizados{background:#f3f8f4;border-color:#dce9df}
.kds-finalizados>header{background:#f3f8f4}
.kds-cancelados{grid-column:auto;background:#fff6f5;border-color:#f0dedd;min-height:230px}
.kds-cancelados>header{background:#fff6f5}
.kds-column .order-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:11px;align-items:start}
.kds-column .order-summary-main{width:100%;min-width:0}
.kds-column .order-summary-main strong{display:block;max-width:100%;font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.kds-column .order-summary-main small{font-size:11px;white-space:normal;line-height:1.35;overflow-wrap:anywhere}
.kds-column .order-summary-side{width:100%;display:flex;justify-content:space-between;gap:6px;min-width:0}
.kds-column .order-summary-side>b{font-size:13px}
.kds-column .order-status{font-size:10px;max-width:100%;white-space:normal;text-align:center}
.kds-column .order-chevron{flex:0 0 auto}
.kds-column .order-details{padding:0 10px 10px}
.kds-column .order-client,.kds-column .order-items,.kds-column .order-foot{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.kds-column .order-actions{flex-wrap:wrap}
.kds-column .order-actions .btn-primary{min-width:0;white-space:normal;line-height:1.25}
.pedido-detalhe-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;isolation:isolate}
.pedido-detalhe-overlay[hidden]{display:none!important}
.pedido-detalhe-backdrop{position:absolute;inset:0;background:rgba(26,31,39,.28);backdrop-filter:blur(2px)}
.pedido-detalhe-panel{position:relative;z-index:1;width:min(720px,calc(100vw - 48px));max-height:min(80vh,850px);overflow:auto;background:#fff;border:1px solid #e2e6eb;border-radius:18px;box-shadow:0 20px 55px rgba(20,28,38,.22);padding:16px}
.pedido-detalhe-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:2px 2px 12px;border-bottom:1px solid #edf0f3}
.pedido-detalhe-modal-head p{margin:3px 0 0;color:#68717b;font-size:12px}
.pedido-detalhe-fechar{flex:0 0 38px;width:38px;height:38px;border:1px solid #e5e8ed;border-radius:10px;background:#f7f8fa;color:#414954;cursor:pointer}
.pedido-detalhe-conteudo .order-card{margin:0;border-radius:12px;box-shadow:none}
.pedido-detalhe-conteudo .order-summary{cursor:default}
.pedido-detalhe-conteudo .order-summary:hover{background:#fff}
.pedido-detalhe-conteudo .order-details{display:block!important}
body.pedido-overlay-aberto{overflow:hidden}
@media(max-width:1100px){
  .kds-board{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .kds-column{min-width:0}
}
@media(max-width:640px){
  .kds-board{display:flex;flex-direction:column;overflow:visible}
  .kds-column{width:100%;min-width:0;min-height:140px}
  .kds-history-board{display:flex;flex-direction:column}
  .kds-column .order-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .kds-column .order-summary-side{width:auto;justify-content:flex-end;flex-wrap:wrap}
  .kds-column .order-summary-main strong{font-size:14px}
  .pedido-detalhe-overlay{padding:14px}
  .pedido-detalhe-panel{width:min(560px,calc(100vw - 28px));max-height:78dvh;border-radius:16px;padding:12px}
  .pedido-detalhe-modal-head p{font-size:11px}
}

/* V75.168 — filtros de status mantêm o quadro KDS, sem voltar para cards horizontais */
.kds-filtered-board .kds-column{opacity:.72;transition:opacity .15s ease,box-shadow .15s ease,border-color .15s ease}
.kds-filtered-board .kds-column.is-selected{opacity:1;border-color:#b85c00;box-shadow:0 0 0 2px rgba(184,92,0,.12)}
.kds-filtered-board .kds-column.is-selected>header{background:transparent}
@media(min-width:1101px){.kds-board{grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:visible}.kds-column{min-width:0}.kds-board .order-summary-main{min-width:0}.kds-board .order-summary-main strong,.kds-board .order-summary-main small{overflow-wrap:anywhere;word-break:break-word}.kds-board .order-summary-side{min-width:0;max-width:45%}.kds-board .order-summary-side>b{white-space:nowrap}}


/* V75.169 — filtros operacionais exibem somente a etapa selecionada */
.kds-single-filter-board{grid-template-columns:minmax(0,1fr)!important;overflow:visible!important}
.kds-single-filter-board .kds-column{width:100%;min-width:0;opacity:1!important;border-color:#e5e7ea;box-shadow:none}
.kds-single-filter-board .kds-column-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));align-items:start}
@media(max-width:700px){.kds-single-filter-board .kds-column-list{grid-template-columns:minmax(0,1fr)}}


/* V75.171 — Horário de atendimento em overlay no desktop e mobile */
.hours-launch-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line,#e5e7eb);border-radius:13px;background:var(--surface,#fff)}
.hours-launch-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:#fff0e8;color:var(--primary,#bf3e00);font-size:18px}
.hours-launch-copy{flex:1;min-width:0}.hours-launch-copy h3{margin:0 0 4px;font-size:15px}.hours-launch-copy p{margin:0;color:var(--muted,#737983);font-size:12px;line-height:1.45}
.hours-modal-backdrop{z-index:2600;overflow:auto;align-items:center}
.hours-modal{position:relative;width:min(850px,100%);max-height:min(90vh,900px);overflow:auto;background:var(--surface,#fff);border-radius:16px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.3)}
.hours-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:0 28px 14px 0;border-bottom:1px solid var(--line,#e5e7eb);margin-bottom:16px}.hours-modal-head h2{margin:3px 0 5px;font-size:21px}.hours-modal-head p{margin:0;color:var(--muted,#737983);font-size:12px;line-height:1.5}
.hours-modal .hours-modal-content{padding:0;border:0;margin:0}.hours-modal .hours-modal-content>h3{display:none}.hours-modal .section-help{font-size:12px}.hours-modal .hours-grid{gap:8px}.hours-modal .hour-row{grid-template-columns:minmax(100px,1fr) 44px minmax(130px,1fr) minmax(130px,1fr);padding:10px;gap:10px}.hours-modal .hour-row strong{font-size:12px}.hours-modal .hour-row select{height:38px;font-size:12px}.hours-modal .hour-control span{font-size:10px}.hours-modal .hours-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:16px;margin-top:16px;border-top:1px solid var(--line,#e5e7eb)}.hours-modal-actions>span{margin-right:auto;color:var(--muted,#737983);font-size:11px}.hours-modal .modal-close{width:34px;height:34px;right:16px;top:16px}.hours-modal .hb-dia{min-height:36px}.hours-modal-open{overflow:hidden}
@media(max-width:700px){.hours-modal-backdrop{padding:8px;align-items:end}.hours-modal{width:100%;max-height:92vh;padding:16px;border-radius:16px 16px 10px 10px}.hours-modal-head h2{font-size:18px}.hours-modal .hour-row{grid-template-columns:minmax(72px,1fr) 34px minmax(85px,1fr) minmax(85px,1fr);gap:5px;padding:7px 5px}.hours-modal .hour-row select{height:34px;padding:0 4px;font-size:11px}.hours-modal .hour-row strong{font-size:10px}.hours-modal .hours-modal-actions{flex-wrap:wrap}.hours-modal-actions>span{flex-basis:100%}.hours-launch-card{align-items:flex-start;flex-wrap:wrap}.hours-launch-copy{flex:1 1 calc(100% - 60px)}.hours-launch-card>button{margin-left:56px}}


/* V75.176 — Corrige somente os campos de hora inicial no modal mobile.
   Os inputs type=time estavam herdando posicionamento/tamanho dos campos antigos;
   cada .hour-control passa a ocupar uma coluna inteira, com largura mínima real. */
@media (max-width: 700px) {
    #horarios-modal.hours-modal-backdrop {
    position: fixed !important;
    z-index: 2147483002 !important;
  }
  #horarios-modal .hours-grid .hour-row {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: end;
    gap: 7px 9px;
  }
  #horarios-modal .hours-grid .hour-row > strong {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  #horarios-modal .hours-grid .hour-row > .day-switch {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
  }
  #horarios-modal .hours-grid .hour-row > .hour-control {
    display: flex;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    align-self: end;
  }
  #horarios-modal .hours-grid .hour-row > .hour-control:nth-of-type(1) {
    grid-column: 2;
  }
  #horarios-modal .hours-grid .hour-row > .hour-control:nth-of-type(2) {
    grid-column: 3;
  }
  #horarios-modal .hours-grid .hour-row input[type="time"] {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
    height: 42px;
    padding: 0 7px;
    color: #25282d;
    background-color: #fff;
    font-size: 13px;
    line-height: normal;
    -webkit-appearance: auto;
    appearance: auto;
  }
}

/* V75.177 — Gestão de categorias e indicadores do cardápio, somente no ADM desktop. */
#btn-nova-categoria-menu{display:none}
.cardapio-desktop-ajuda{display:none}
.menu-kpis-desktop{display:none}
.menu-toolbar-desktop{display:none}
.category-admin-list-desktop{display:none}
.category-paused-label{display:none}
@media(min-width:900px){
  #btn-nova-categoria-menu{display:inline-flex}
  .cardapio-desktop-ajuda{display:block;margin-top:4px}
  .menu-kpis-desktop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
  .menu-kpis-desktop>button{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s}
  .menu-kpis-desktop>button span{font-size:12px;color:var(--muted);font-weight:700}
  .menu-kpis-desktop>button strong{font-size:25px;line-height:1;color:var(--text)}
  .menu-kpis-desktop>button.active{border-color:var(--red);box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 12%,transparent)}
  .menu-toolbar-desktop{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
  .menu-search{display:flex;align-items:center;gap:10px;flex:1;max-width:560px;min-width:240px;padding:0 12px;height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted)}
  .menu-search input{width:100%;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:var(--text);font-size:13px}
  .menu-search button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:5px}
  .menu-resultados-resumo{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}
  .category-admin-list-desktop{display:block;border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin:0 0 22px;background:var(--surface,#fff)}
  .category-admin-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 8px}
  .category-admin-title strong{font-size:13px;color:var(--text)}
  .category-admin-title span{font-size:10px;color:var(--muted)}
  .category-admin-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
  .category-order-number{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:8px;background:#fff0e8;color:var(--red);font-size:11px;font-weight:800}
  .category-admin-name{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
  .category-admin-name strong{font-size:12px;color:var(--text);overflow-wrap:anywhere}
  .category-admin-name small{font-size:10px;color:var(--muted)}
  .category-admin-actions{display:flex;align-items:center;gap:5px}
  .category-admin-actions .mini-btn{width:31px;height:31px;border-radius:9px}
  .category-admin-actions .mini-btn:disabled{opacity:.3;cursor:not-allowed}
  .category-admin-row.is-paused{opacity:.76;background:linear-gradient(90deg,transparent,#f7f7f7 55%,transparent)}
  .category-paused-label{display:inline-block;margin-top:3px;font-size:10px;font-weight:700;color:#a3441b}
  .category-chip.is-paused{border-style:dashed;opacity:.75}
}


/* V75.178 — Painel de organização de categorias recolhível no ADM desktop. */
@media(min-width:900px){
  .category-admin-list-desktop{padding:12px 14px;margin-bottom:18px}
  .category-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
  .category-admin-heading-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
  .category-admin-heading-copy strong{font-size:13px;color:var(--text)}
  .category-admin-heading-copy span{font-size:11px;color:var(--muted)}
  .category-admin-collapse{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text);font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
  .category-admin-collapse:hover{border-color:var(--red);color:var(--red)}
  .category-admin-content[hidden]{display:none!important}
  .category-admin-content{margin-top:10px}
  .category-admin-hint{margin:0 0 7px;color:var(--muted);font-size:10px}
  .category-admin-content .category-admin-row:first-of-type{border-top:1px solid var(--line)}
}
/* Ajuste específico para os botões do modal de horários / rodapé em dispositivos móveis */
@media (max-width: 640px) {
  /* Garante que a área de ações do modal de horários tenha um layout flexível ou em grelha equilibrado */
  .hours-modal-actions, 
  .hours-modal .hours-modal-actions {
    display: flex;
    gap: 10px;
    width: 100%;
  }

  /* Ajusta o botão fechar para acompanhar a proporção correta ao lado do botão de salvar */
  .hours-modal-actions .btn-secondary,
  .hours-modal-actions button:first-child {
    flex: 1;
    min-height: 46px;
    font-size: 13px;
    font-weight: 800;
    border-radius: 8px;
    margin: 0;
  }

  /* Garante consistência com o botão principal de salvamento */
  .hours-modal-actions .btn-primary,
  .hours-modal-actions button.btn-primary {
    flex: 1.25;
    min-height: 46px;
  }
}
/* V75.235 — estoque do adicional (vazio = sem controle; 0 = esgotado, em vermelho). Cada campo do adicional com o nome em cima. */
.ext-ad{align-items:flex-end}
.extras-editor .ext-cp{display:flex;flex-direction:column;gap:3px;min-width:0;margin:0;padding:0;font-weight:400}
.extras-editor .ext-cp small{font-size:11px;font-weight:700;color:#6b7280;line-height:1.1}
.ext-cp-nome{flex:1 1 0}.ext-cp-preco{flex:0 0 96px}.ext-cp-max{flex:0 0 70px}.ext-cp-est{flex:0 0 104px}
.extras-editor .ext-cp input{width:100%;flex:none}
.extras-editor input.ext-a-est.ext-zerado{border-color:#e0a39b;background:#fdf1ef;color:#a33b2c}
@media(max-width:480px){.ext-ad{flex-wrap:wrap;padding-bottom:10px;border-bottom:1px dashed #e3e5e8}.ext-ad:last-child{border-bottom:0}.ext-ad .ext-cp-nome{flex:1 1 100%}.ext-ad .ext-cp-preco,.ext-ad .ext-cp-max,.ext-ad .ext-cp-est{flex:1 1 0}}

/* V75.263: aviso depois que o Master troca o documento do cadastro (CPF → CNPJ) */
.td-aviso-fundo{position:fixed;inset:0;z-index:9000;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.td-aviso{background:#fff;border-radius:18px;box-shadow:0 18px 50px rgba(15,23,42,.25);padding:18px;display:grid;gap:12px;max-width:440px;width:100%}
.td-aviso h3{margin:0;font-size:18px;display:flex;gap:8px;align-items:center}
.td-aviso h3 i{color:var(--primary,#c96b00)}
.td-aviso p{margin:0;font-size:14px;line-height:1.45;color:#3b4652}
.td-aviso-mp{display:flex;gap:10px;align-items:flex-start;background:#eef6ff;border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.4;color:#1d4f86}
.td-aviso-mp i{margin-top:2px}
.td-aviso-check{display:flex;gap:10px;font-size:13.5px;line-height:1.4;align-items:flex-start;cursor:pointer}
.td-aviso-check input{margin-top:2px;width:18px;height:18px;flex:0 0 auto}
.td-aviso-check a{color:var(--primary,#c96b00);font-weight:700}
.td-aviso-erro{color:#b42318!important;font-weight:600}
.td-aviso-btns{display:flex;gap:8px;flex-wrap:wrap}
.td-aviso-btns button{flex:1 1 160px;justify-content:center}

/* V75.264: "Abriu um CNPJ? Peça a troca" em Minha loja (só loja com CPF) */
.cnpj-pedir{display:inline-flex;align-items:center;gap:8px;justify-self:start;width:auto;text-decoration:none;margin-top:-4px}
.cnpj-pedir[hidden]{display:none}
.cnpj-pedir i{color:#25a244}
