/* Ambiente aprovado: branco, verde e laranja, com hierarquia e espaços consistentes. */
body.admin{background:#f5f7f4}.admin .sidebar{width:244px;padding:24px 14px;background:#fff;border-right:1px solid #e6ebe4;overflow-y:auto}.admin .sidebar>.brand{font-size:24px;line-height:1.2;overflow-wrap:anywhere;margin:0 12px 8px}.admin .sidebar-label{font-size:9px;letter-spacing:1.6px;margin:12px 12px 24px}.admin .nav-link{border-radius:10px;padding:12px 14px;margin:3px 0;font-size:13px;gap:12px;min-width:0}.admin .nav-link.active{background:#fff0e7;color:#ef6126;font-weight:750}.admin .sidebar-bottom{margin-top:24px;border-top:1px solid #e6ebe4;padding:18px 0 0}.admin .sidebar-bottom>.badge,.admin .sidebar-bottom>p{display:none}.admin .admin-main{margin-left:244px;min-width:0}.admin .admin-header{height:72px;padding:0 30px;background:#fff;border-bottom:1px solid #e6ebe4}.admin .admin-content{max-width:1640px;padding:30px}.admin .page-heading{margin-bottom:24px}.admin .page-heading h1{font-size:30px;letter-spacing:-.8px}.admin .page-heading .eyebrow{font-size:9px}.admin .demo-strip{font-size:11px;background:#eef4ee;border:1px solid #dce9dd;margin-bottom:22px}.admin .panel{border-radius:16px;min-width:0;box-shadow:0 2px 5px #18372103}.admin .panel h2{font-size:19px}.merchant-status{display:grid;gap:10px;font-size:11px;padding:0 9px 16px;color:#236342}.merchant-public-links{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.merchant-public-links .btn{flex:1;font-size:11px;padding:10px 8px}.merchant-actor{font-size:12px;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merchant-welcome{margin:0 0 22px}.merchant-welcome h2{font-size:32px;letter-spacing:-1px;color:#123b2a;margin:9px 0}.merchant-welcome .eyebrow{color:#247542;font-size:10px}.merchant-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 20px}.merchant-metrics article{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #e4eae2;border-radius:16px;padding:24px 20px;min-width:0}.merchant-metrics span{font-size:12px;color:#647167}.merchant-metrics strong{font-size:27px;letter-spacing:-.7px;overflow-wrap:anywhere;color:#123b2a}.merchant-metrics small{font-size:10px;color:#7a857d;line-height:1.5}.merchant-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#fff;border:1px solid #e4eae2;border-radius:16px;padding:10px;margin:20px 0}.merchant-shortcuts a{border:1px solid #e7ebe4;border-radius:12px;padding:18px 12px;display:flex;align-items:center;gap:10px;color:#25362e;font-size:12px;min-width:0}.merchant-shortcuts a:hover{background:#fff6ef;border-color:#ffc5a7}.merchant-shortcuts .icon{color:#f06427;flex-shrink:0}.merchant-shortcuts .icon:last-child{margin-left:auto;width:16px}.merchant-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:18px}.merchant-dashboard-grid .panel{margin:0;padding:22px}.merchant-dashboard-grid .panel>.btn{margin-top:22px}.merchant-dashboard-grid .panel>p{line-height:1.7;margin:15px 0}.merchant-dashboard-grid .data-table{font-size:12px}.merchant-dashboard-grid .data-table td{padding:16px 10px}.merchant-dashboard-grid .panel-header{margin-bottom:16px}.merchant-attention .summary-row{font-size:12px}.admin .table-wrap{max-width:100%;overflow:auto}.admin #customer-search{width:100%}.admin .search-box{margin:18px 0}.admin .admin-footer{font-size:10px;opacity:.7}
/* Cadastro do estabelecimento ocupa a largura útil e separa as etapas. */
.platform-admin-page .platform-admin-content:has(#registration-form){max-width:none;width:100%;padding:30px 36px}.platform-admin-page .platform-create{max-width:none;width:100%;padding:30px}.registration-root{min-width:0}.platform-admin-page .registration-section{border:1px solid #e3e9df;background:#fdfefc;border-radius:14px;padding:24px;margin:24px 0}.platform-admin-page .registration-section h3{font-size:22px;margin:10px 0 24px}.platform-admin-page .registration-form .form-grid{gap:22px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}.platform-admin-page .registration-form input,.platform-admin-page .registration-form select{min-height:50px}.platform-admin-page .registration-form .field{min-width:0}.platform-admin-page .registration-form .field>span{font-size:12px}.platform-admin-page .registration-form fieldset{min-width:0}.platform-admin-page .registration-form .field input{width:100%}
/* Cardápios: mesma família visual, com indicação clara de mesa ou modalidade. */
body.menu-v023 .menu-topbar{background:#fff}body.menu-v023 .menu-cover-v019{background:#123b2a;border-radius:18px;min-height:200px;margin:0 0 16px;grid-template-columns:55% 45%}body.menu-v023 .menu-shell-v019{padding-top:12px}body.menu-v023 .menu-cover-copy{padding:25px 20px}body.menu-v023 .menu-table-info{border:1px solid #dcead7;background:#edf7e7;border-radius:14px;padding:18px;color:#315d36;font-size:13px;margin:14px 0}body.menu-v023 .menu-table-info strong{color:#164229;font-weight:800}body.menu-v023 .regular-item{background:#fff;border:1px solid #e7eae4;border-radius:14px;padding:12px;min-height:120px;margin:0;grid-template-columns:88px minmax(0,1fr)}body.menu-v023 .product-grid{gap:12px;grid-template-columns:1fr}body.menu-v023 .regular-item .product-art{width:88px;height:88px;border-radius:11px}body.menu-v023 .product-details h3{font-size:15px;line-height:1.3}body.menu-v023 .product-details p{display:block;font-size:12px;line-height:1.5;color:#687369;margin:7px 0;overflow-wrap:anywhere}body.menu-v023 .regular-item .product-bottom strong{font-size:16px;color:#ed6328}body.menu-v023 .product-bottom .add-button{width:38px;height:38px;min-width:38px;background:#fb6827;border-radius:50%;font-size:0;padding:8px;color:#fff}body.menu-v023 .featured-offer{border:1px solid #ffc8aa;background:#fffaf5;display:grid;grid-template-columns:88px minmax(0,1fr);padding:12px;border-radius:14px;gap:12px;grid-column:1/-1}body.menu-v023 .featured-offer .product-art{width:88px;height:88px;border-radius:11px;overflow:visible}body.menu-v023 .featured-offer .product-details{padding:0}body.menu-v023 .featured-offer .promotion-badge{font-size:8px;left:0;top:-5px;padding:4px}body.menu-v023 .featured-offer .food-photo{border-radius:11px}body.menu-v023 .mobile-cart{border-radius:16px;background:#fb6827;box-shadow:0 4px 24px #f0642730}body.menu-v023 .menu-mode{border-radius:12px}body.menu-v023 .menu-mode button.selected{background:#fb6827;color:#fff;box-shadow:none}body.menu-v023 .menu-tools-v019{border-radius:15px 15px 0 0}body.menu-v023 .categories{padding:10px 0 7px}body.menu-v023 .section-heading h2{font-size:21px}body.menu-v023 .hero-meta{font-size:11px}.menu-delivery-information{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e6eae2;border-radius:12px;padding:10px 14px;margin:0 0 16px;font-size:11px;background:#fafbf8}.menu-delivery-information button{border:0;background:transparent;color:#ed6328;text-decoration:underline;font-size:11px;cursor:pointer}
@media(min-width:761px){body.menu-v023 .container{max-width:1320px}body.menu-v023 .menu-topbar{max-width:none}body.menu-v023 .menu-topbar>.container{max-width:1320px}body.menu-v023 .menu-body-v019{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}body.menu-v023 .menu-cover-v019{min-height:240px;grid-template-columns:60% 40%}body.menu-v023 .menu-cover-copy{padding:34px}body.menu-v023 .menu-cover-copy h1{font-size:40px}body.menu-v023 .menu-cover-copy>p{font-size:15px}body.menu-v023 .menu-cover-food{min-height:240px}body.menu-v023 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.menu-v023 .featured-offer{grid-column:auto}body.menu-v023 .cart-panel{border-radius:18px;border:1px solid #e3e9e0;background:#fff}body.menu-v023 .menu-mode{max-width:500px}body.menu-v023 .menu-delivery-information{max-width:500px}body.menu-v023 .regular-item{grid-column:auto}body.menu-v023 .product-details p{font-size:11px}body.menu-v023 .store-footer{max-width:1320px}}
@media(min-width:761px) and (max-width:1100px){body.menu-v023 .product-grid{grid-template-columns:1fr}body.menu-v023 .menu-body-v019{grid-template-columns:minmax(0,1fr) 280px}.merchant-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.merchant-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.merchant-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.admin .admin-content{padding:22px}.merchant-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.merchant-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.merchant-dashboard-grid{grid-template-columns:1fr}.merchant-actor{display:none}}
@media(max-width:800px){.admin .admin-main{margin-left:0}.admin .sidebar{width:244px}.admin .admin-header{padding:0 16px}.admin .admin-content{padding:20px 14px}.admin .page-heading{gap:15px;flex-wrap:wrap}.admin #page-actions{display:flex;flex-wrap:wrap;gap:8px}.merchant-welcome h2{font-size:27px}.merchant-metrics{gap:10px}.merchant-metrics article{padding:18px 13px}.merchant-metrics strong{font-size:23px}.merchant-shortcuts a{padding:14px 8px;font-size:11px}.merchant-dashboard-grid .panel{padding:17px}.platform-admin-page .platform-admin-content:has(#registration-form){padding:20px 12px}.platform-admin-page .platform-create{padding:18px}.platform-admin-page .registration-section{padding:16px}.platform-admin-page .registration-form .form-grid{grid-template-columns:1fr}}
@media(max-width:360px){.merchant-shortcuts{grid-template-columns:1fr}.merchant-metrics strong{font-size:20px}body.menu-v023 .regular-item,body.menu-v023 .featured-offer{grid-template-columns:72px minmax(0,1fr)}body.menu-v023 .regular-item .product-art,body.menu-v023 .featured-offer .product-art{width:72px;height:72px}.menu-delivery-information{flex-wrap:wrap}}
.merchant-nav-group{margin:3px 0}.merchant-nav-group summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;font-size:13px;font-weight:650;padding:13px 14px;border-radius:10px}.merchant-nav-group summary::-webkit-details-marker{display:none}.merchant-nav-group summary:after{content:'⌄';margin-left:auto;color:#8c978e}.merchant-nav-group[open] summary{background:#f8faf6}.merchant-nav-group .nav-link{padding-left:26px;margin-left:14px;border-left:1px solid #e4eae1;border-radius:0 9px 9px 0;font-size:12px}.merchant-nav-group .nav-link .icon{width:16px}.merchant-nav-group summary:focus-visible{outline:2px solid #ef6126;outline-offset:2px}
.modal:has(#checkout-form){width:min(880px,calc(100vw - 24px));max-width:none}.modal #checkout-form .field>input{min-height:48px}.modal #checkout-form .form-grid{gap:18px}.registration-submit{position:sticky;bottom:0;z-index:4;background:#fff;padding:18px;border:1px solid #e4e9df;border-radius:12px;box-shadow:0 -5px 20px #253b2b08}.registration-submit .btn{min-width:220px}
@media print{.admin .sidebar,.admin .admin-header,.merchant-shortcuts{display:none}.admin .admin-main{margin:0}.registration-submit{position:static;box-shadow:none}}
.merchant-dashboard-grid{align-items:start}.merchant-dashboard-grid .data-table td{padding:12px 10px}.admin .page-heading h1{color:#123b2a}.admin:has(.merchant-dashboard-grid) .demo-strip{display:none}.admin:has(.merchant-dashboard-grid) .page-heading h1{font-size:36px}.admin:has(.merchant-dashboard-grid) .page-heading .eyebrow{color:#247542}
@media(max-width:600px){.admin:has(.merchant-dashboard-grid) .page-heading h1{font-size:28px}}
/* v0.32: conferência por turno de caixa. */
.cash-history-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:22px 0 14px}.cash-history-filters .field{margin:0;min-width:180px}.cash-history-filters .btn{margin-bottom:0}.cash-history-section>.small{line-height:1.6;margin:12px 0 18px}.cash-history-table{min-width:980px}.cash-history-table th{white-space:nowrap;font-size:10px}.cash-history-table td{font-size:12px;vertical-align:top;padding:16px 12px}.cash-history-table td:nth-child(n+4){white-space:nowrap}.cash-history-table td .badge{margin-top:6px}.cash-history-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px}.cash-history-metadata>div{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid #e3e9df;border-radius:12px;background:#f7faf5;min-width:0}.cash-history-metadata span,.cash-history-metadata small{font-size:11px;color:#647368}.cash-history-metadata strong{font-size:14px;overflow-wrap:anywhere}.cash-history-empty{padding:24px 0}
@media(max-width:600px){.cash-history-metadata{grid-template-columns:1fr}.cash-history-filters{gap:12px}.cash-history-filters .field{min-width:0;flex:1 1 140px}.cash-history-section .panel-header{flex-wrap:wrap;gap:12px}}
/* v0.33: fotos reais, ilustrações ou sem imagem. */
.product-image-editor{border:1px solid #e0e7dc;border-radius:14px;padding:18px;margin:22px 0}.product-image-editor legend{font-weight:700;padding:0 8px}.product-image-preview{display:flex;align-items:center;justify-content:center;min-height:70px;max-width:220px;border:1px dashed #d6dfcf;border-radius:12px;padding:12px;background:#fafcf8}.product-image-preview img{max-width:190px;max-height:190px;width:auto;object-fit:contain}.product-image-editor [hidden]{display:none!important}.product-cell>.product-photo{width:44px;height:44px;padding:0;border-radius:9px;object-fit:cover}body.menu-v023 .product-art>.product-photo,body.menu-v023 .product-art>img.product-photo{padding:0;object-fit:cover;width:100%;height:100%;border-radius:11px}.modal-product>img.product-photo{object-fit:cover;padding:0;border-radius:14px}.product-card.without-product-image{grid-template-columns:1fr!important}.product-card.without-product-image>.product-art{display:none!important}.promotion-badge-inline{background:#fb6827;color:#fff;font-size:9px;margin-bottom:7px}body.menu-v023 .without-product-image .product-details{padding:4px 2px}.product-image-editor .error-message{margin-top:12px}
.operation-statusbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#edf4ee;border:1px solid #dae7dc;border-radius:12px;padding:12px 15px;margin-bottom:22px;font-size:11px}.operation-statusbar #ops-arrivals{flex:1;min-width:160px}.operation-statusbar #ops-connection{font-size:10px;color:#64756b}.operation-statusbar.has-pending{background:#fff4e8;border-color:#f8c69c}.operation-statusbar.connection-error{border-color:#dc7f6d;background:#fff0ed}.operation-statusbar [hidden]{display:none!important}#print-config-form{margin-top:20px}#printer-key{margin-top:18px}#printer-key input{font:12px monospace;width:100%}#print-jobs .data-table{min-width:650px}#printer-feedback{margin-top:14px}#print-error{margin:15px 0}
.module-not-included{display:none!important}
