/* GiroFoodPro — identidade local, sem fontes ou recursos externos. */
:root{--navy:#142d3b;--orange:#f97316;--paper:#fff8f0;--ink:#183140;--muted:#667783;--line:#e3e9ed;--surface:#fff;--green:#168352;--radius:16px;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--ink);background:#f4f6f8;font-synthesis:none}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button,input,select,a{-webkit-tap-highlight-color:transparent}button{min-height:46px;border:0;border-radius:10px;padding:12px 18px;font-weight:650;cursor:pointer;transition:background .16s,box-shadow .16s;background:var(--orange);color:var(--navy)}button:hover{background:#ff8c3a}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f97316;outline-offset:3px}input,select{min-height:48px;min-width:0;width:100%;padding:11px 13px;border:1px solid #ccd7df;border-radius:10px;background:#fff;color:var(--ink);transition:border-color .16s,box-shadow .16s}input:focus,select:focus{border-color:#e96612;box-shadow:0 0 0 3px #f9731612}input::placeholder{color:#8c9aa5}input[type=checkbox]{width:19px;min-height:19px;height:19px;accent-color:#c75108;vertical-align:middle;margin:0 0 0 10px}input[type=number]{font-variant-numeric:tabular-nums}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{letter-spacing:-.025em}h1{font-size:30px;line-height:1.2;margin:4px 0 10px;font-weight:750}h2{font-size:20px;margin:0 0 18px;font-weight:700}h3{font-size:18px;margin:0}p{line-height:1.55}.muted{color:var(--muted);font-size:13px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:31px 18px 22px;z-index:40}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:white;white-space:nowrap;padding:0 10px}.brand-mark{width:40px;height:40px;flex:0 0 40px;border:5px solid var(--orange);border-right-color:#fff;border-bottom-color:#fff;border-radius:50%;position:relative;transform:rotate(-20deg)}.brand-mark:before{content:'';position:absolute;left:-12px;top:10px;width:18px;height:5px;border-radius:9px;background:var(--orange);box-shadow:0 8px 0 var(--orange)}.brand-mark:after{content:'';position:absolute;inset:6px;border:3px solid #fff;border-right-color:transparent;border-radius:50%}.brand-word{font-size:22px;font-weight:800;letter-spacing:-1.1px}.brand-word span{color:var(--orange)}.brand-word b{font-size:10px;letter-spacing:-.2px;background:#fff;color:var(--navy);padding:3px 4px;border-radius:4px;margin-left:3px;vertical-align:middle}.sidebar-caption{font-size:10px;letter-spacing:.15em;color:#9eb1bd;text-transform:uppercase;font-weight:700;margin:45px 15px 15px}.sidebar nav{display:flex;flex-direction:column;gap:7px}nav button{display:flex;gap:13px;align-items:center;text-align:left;background:transparent;color:#c0cdd5;min-height:50px;padding:13px 15px;white-space:nowrap;font-size:14px;font-weight:550}nav button:hover{background:#ffffff0c;color:#fff}nav button.active{background:var(--orange);color:var(--navy);font-weight:750;box-shadow:0 5px 16px #00000012}nav svg{width:20px;height:20px;flex:0 0 20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.sidebar-footer{margin-top:auto;padding:18px 12px 0;border-top:1px solid #ffffff15;font-size:12px;color:#bdcbd3;line-height:1.8}.live-dot{display:inline-block;height:7px;width:7px;border-radius:50%;background:#4bc78b;margin-right:6px}.sidebar-footer small{display:block;color:#829da9;font-size:11px}.workspace{margin-left:236px;min-height:100vh}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 34px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.topbar-title strong{font-size:15px;font-weight:650}.topbar-title .eyebrow{font-size:9px}.topbar-controls{display:flex;gap:18px;align-items:center;min-width:0}#connection{font-size:11px;white-space:nowrap;padding:7px 10px;background:#edf4f0;border:1px solid #dceae2;color:#385d4d;border-radius:7px}#account{display:flex;align-items:center;gap:14px;min-width:0;margin:0}#current-user{max-width:210px;font-size:12px;font-weight:600;overflow-wrap:anywhere}#logout{background:#f4f6f8;color:#5c6c77;min-height:34px;padding:7px 12px;font-size:11px;border:1px solid var(--line)}#logout:hover{background:#e9edf1}main{max-width:1530px;margin:auto;padding:25px 34px 48px}.notice{display:flex;align-items:center;gap:9px;margin:0 0 26px;border:1px solid #f1e0c8;border-radius:9px;background:#fffaf2;padding:10px 13px;color:#825827;font-size:11px;line-height:1.5}.notice:before{content:'i';display:inline-grid;place-items:center;border:1px solid #b77b35;border-radius:50%;font-weight:700;font-size:10px;width:15px;height:15px;flex:0 0 15px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:5px 0 24px}.page-heading .description{color:var(--muted);font-size:13px;margin:0}.page-label{font-size:11px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:9px;color:#627581;white-space:nowrap}#overview{margin-bottom:28px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px 19px 17px;position:relative;min-width:0}.metric:before{content:'';position:absolute;top:22px;right:18px;width:7px;height:7px;border-radius:50%;background:var(--metric-color,#f97316);box-shadow:0 0 0 5px var(--metric-bg,#fff1e7)}.metric-label{font-size:11px;color:#657784;margin:0 20px 10px 0}.metric-value{display:block;letter-spacing:-.04em;font-size:28px;font-weight:750;line-height:1.15;color:var(--navy);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric-note{font-size:10px;color:#8b98a2;display:block;margin-top:7px}.card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 9px #142d3b03;min-width:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:17px}.card form{margin:0}form>label{display:block;margin:16px 0;font-size:12px;font-weight:600;color:#536875}label input,label select{margin-top:7px;font-weight:400;font-size:14px}form>button{margin:7px 8px 0 0}form>p.muted{margin-bottom:0;font-size:11px;line-height:1.7}#content[data-area=service],#content[data-area=catalog]{display:grid;grid-template-columns:minmax(300px,365px) minmax(0,1fr);align-items:start;gap:25px}#content[data-area=service]>form,#content[data-area=catalog]>form{position:sticky;top:108px}#content[data-area=service]>form>button{width:100%;margin:18px 0 0}#service-orders>h2,#catalog-list>h2{font-size:17px;margin:0 0 18px;display:flex;align-items:center;gap:9px}#service-orders>h2:before,#catalog-list>h2:before{content:'';height:17px;width:3px;background:var(--orange);border-radius:3px}.product{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;margin:0;border-bottom:1px solid #edf0f3}.product:last-child{border-bottom:0}.product-info{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13px}.product-info strong{font-weight:600}.product-info small{color:var(--muted);font-size:11px;font-weight:400}.product input{width:70px;flex:0 0 70px;text-align:center;padding:9px 5px;background:#fafbfc;margin:0;min-height:44px}.order-card{padding:0;overflow:hidden;display:flex;flex-direction:column;border-top:3px solid #cdd7df}.order-card[data-status=preparing]{border-top-color:#f97316}.order-card[data-status=ready]{border-top-color:#22a06b}.order-card[data-status=delivered]{border-top-color:#7391a6}.order-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:20px 20px 0}.order-heading h3{font-size:17px;line-height:1.4}.order-reference{font-size:10px;color:#8695a0;margin:7px 20px 0}.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;line-height:1.4;font-size:10px;font-weight:650;border-radius:6px;background:#eef2f5;color:#61717c;white-space:nowrap}.status-preparing{color:#a84a0b;background:#fff0e2}.status-ready{background:#e5f7ee;color:#177547}.status-delivered{background:#eaf1f8;color:#476981}.status-received{background:#edf1f5;color:#5c7080}.order-items{list-style:none;padding:0 20px;margin:18px 0;flex:1}.order-items li{font-size:12px;line-height:1.6;padding:7px 0;border-bottom:1px dashed #e9edf0;color:#526975}.order-items li:last-child{border-bottom:0}.order-total{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fafbfc;border-top:1px solid #edf0f3;margin:0;padding:14px 20px}.order-total>span{color:#7a8a96;font-size:11px}.amount{font-size:24px;font-weight:750;letter-spacing:-.035em;color:var(--navy);font-variant-numeric:tabular-nums}.order-total .amount{font-size:22px;margin:0}.payment-state{padding:0 20px 17px;background:#fafbfc}.paid{background:#e4f4eb;color:#167346}.order-card>button{margin:0 16px 16px}.order-card>p.muted{margin:0;padding:0 20px 18px;background:#fafbfc;font-size:11px}.order-card>button:hover{box-shadow:0 3px 10px #f9731624}.alert-card{border:1px solid #ebd7b8;border-left:4px solid #f97316;padding:16px 18px;background:#fff9ef;border-radius:11px;display:grid;grid-template-columns:1fr auto;column-gap:18px;margin:0 0 14px}.alert-card strong{font-size:13px;color:#92501e}.alert-card p{grid-column:1;font-size:12px;margin:5px 0;color:#7a6146}.alert-card p.muted{font-size:10px;color:#967f62}.alert-card button{grid-column:2;grid-row:1/4;align-self:center;background:#fff;border:1px solid #ebd7b8;color:#89501b;min-height:38px;padding:9px 15px;font-size:11px}#notifications:not(:empty){margin-bottom:25px}#message:empty{display:none}#message:not(:empty){padding:13px 16px;border:1px solid #efd8b8;background:#fff7e9;border-radius:10px;font-size:12px;color:#875322;margin:0 0 18px}#message.feedback--success{background:#eaf7ef;border-color:#cae7d6;color:#236944}#catalog-list .card{display:flex;flex-direction:column;align-items:flex-start;padding:21px}#catalog-list .card .amount{margin:10px 0}#catalog-list .card button{margin-top:16px;background:#f4f6f8;border:1px solid #e0e6eb;color:#496070;width:100%;font-size:12px;min-height:40px}#catalog-list .card button:hover{background:#eef1f5}#catalog-list .card h3{font-size:16px}#catalog-list .card p.muted{margin:7px 0}#content[data-area=password]{max-width:560px}#content[data-area=password]>form{padding:30px;background:white;border:1px solid var(--line);border-radius:var(--radius)}#content[data-area=password]>form>button{width:100%;margin-top:14px}#catalog-form button[type=button]{background:#f1f4f6;color:#586c79;font-size:12px}#login{display:grid;grid-template-columns:1fr minmax(280px,390px);padding:0;overflow:hidden;max-width:1050px;min-height:510px;margin:45px auto 0;box-shadow:0 12px 45px #142d3b09}#login>form{padding:45px 35px;align-self:center}#login>form>h2{font-size:23px;line-height:1.3;margin-bottom:26px}#login>form>button{width:100%;margin-top:17px}.login-story{padding:54px 40px;background:#fff8f0;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-story:after{content:'';width:220px;height:220px;position:absolute;right:-130px;bottom:-100px;border:35px solid #f973160b;border-radius:50%;pointer-events:none}.login-story .eyebrow{font-size:9px;color:#a1582a;margin-bottom:25px;line-height:1.7}.login-story h2{font-size:35px;line-height:1.2;letter-spacing:-.05em;margin:0 0 22px}.login-story h2 span{display:block;color:#c94b08}.login-description{font-size:13px;color:#7d746b;max-width:300px;margin:0}.login-steps{display:flex;gap:20px;margin-top:44px;padding-top:25px;border-top:1px solid #eaded2;list-style:none;padding-left:0}.login-steps li{font-size:10px;color:#95806e;line-height:1.8}.login-steps strong{display:block;color:#75523a;font-size:11px}.sidebar-intro{margin:60px 12px 0;color:#bdcbd3;line-height:1.8;font-size:13px}.sidebar-intro strong{display:block;color:#fff;font-size:21px;line-height:1.4;letter-spacing:-.03em;margin-bottom:15px}body:not(.authenticated) .sidebar-caption,body:not(.authenticated) .page-heading{display:none}body.authenticated .sidebar-intro{display:none}
@media(min-width:1500px){#content[data-area=service],#content[data-area=catalog]{grid-template-columns:390px minmax(0,1fr)}.metric-value{font-size:31px}}
@media(max-width:1180px){.sidebar{width:204px;padding-inline:12px}.brand{gap:9px;padding-inline:8px}.brand-word{font-size:19px}.brand-mark{width:34px;height:34px;flex-basis:34px}.workspace{margin-left:204px}.topbar{padding-inline:24px}.topbar-controls{gap:10px}main{padding:24px}.metric{padding:16px 14px}.metric-value{font-size:24px}.metric:before{right:14px}#content[data-area=service],#content[data-area=catalog]{grid-template-columns:minmax(270px,320px) minmax(0,1fr);gap:20px}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))}#current-user{max-width:145px;font-size:11px}#login{grid-template-columns:1fr 1fr}.login-story{padding:36px 26px}.login-story h2{font-size:29px}#login>form{padding:36px 26px}}
@media(max-width:980px){.topbar-title{display:none}.topbar-controls{width:100%;justify-content:space-between}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#content[data-area=service],#content[data-area=catalog]{grid-template-columns:minmax(0,1fr)}#content[data-area=service]>form,#content[data-area=catalog]>form{position:static}#order-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}#login{display:block;min-height:0;margin-top:24px;max-width:480px}.login-story{padding:30px}.login-story h2{font-size:29px;margin-bottom:12px}.login-story .eyebrow{margin-bottom:15px}.login-steps{display:none}#login>form{padding:30px}.sidebar-intro{font-size:12px}.sidebar-intro strong{font-size:20px}}
@media(max-width:760px){.sidebar{position:sticky;inset:auto;top:0;width:100%;padding:14px 16px 0;box-shadow:0 3px 14px #142d3b12}.brand{padding:0 4px 14px;gap:12px}.brand-word{font-size:22px}.brand-mark{width:32px;height:32px;flex-basis:32px;border-width:4px}.brand-mark:before{top:8px;height:4px;box-shadow:0 7px 0 var(--orange)}.sidebar-caption,.sidebar-intro,.sidebar-footer{display:none!important}.sidebar nav{flex-direction:row;gap:5px;overflow-x:auto;scrollbar-width:none;padding-bottom:10px}.sidebar nav::-webkit-scrollbar{display:none}nav button{min-height:42px;padding:10px 13px;gap:8px;font-size:12px;border-radius:8px;flex:0 0 auto}nav svg{width:17px;height:17px;flex-basis:17px}.workspace{margin-left:0}.topbar{position:static;min-height:66px;padding:13px 18px}.topbar-controls{gap:10px}#connection{font-size:10px;padding:7px 8px}#account{gap:8px}#current-user{font-size:10px;max-width:145px}#logout{padding:7px 10px}main{padding:20px 16px 32px}.notice{font-size:10px;padding:9px 11px;margin-bottom:22px}.page-heading{margin:0 0 20px}.page-heading .eyebrow{font-size:9px}h1{font-size:26px;margin-bottom:7px}.page-heading .description{font-size:12px;max-width:380px}.page-label{display:none}.metric-grid{gap:10px}.metric{padding:16px 14px}.metric-label{font-size:10px;margin-bottom:9px}.metric-value{font-size:26px}.metric-note{font-size:9px}.metric:before{width:6px;height:6px;box-shadow:0 0 0 4px var(--metric-bg,#fff1e7);top:19px}#overview{margin-bottom:23px}.card{padding:20px}.grid{gap:14px}.order-card{padding:0}.order-heading{padding:19px 18px 0}.order-heading h3{font-size:17px}.order-reference{margin-inline:18px}.order-items{padding-inline:18px}.order-total{padding:13px 18px}.payment-state{padding-inline:18px}.alert-card{padding:14px;column-gap:10px}.alert-card button{padding:8px 12px}.login-story{padding:28px}.login-story h2{font-size:29px}.login-story .eyebrow{font-size:9px}#login{margin-top:14px;border-radius:15px}#login>form{padding:27px}#login>form>h2{font-size:22px}#content[data-area=password]>form{padding:23px}}
@media(max-width:420px){.topbar-controls{align-items:flex-start;flex-direction:column;gap:8px}#account{width:100%;justify-content:space-between}#current-user{max-width:none}#connection{align-self:flex-start}#order-products{grid-template-columns:1fr}.metric-value{font-size:24px}.metric-note{line-height:1.5}.page-heading .description{font-size:11px}.login-story{padding:25px}.login-story h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.metric[data-color=blue]{--metric-color:#5287b3;--metric-bg:#edf3fa}.metric[data-color=green]{--metric-color:#22a06b;--metric-bg:#e6f5ee}.metric[data-color=slate]{--metric-color:#768b9b;--metric-bg:#edf1f5}
.grid>.muted:only-child{grid-column:1/-1;text-align:center;padding:38px 24px;background:#fff;border:1px dashed #d6dfe6;border-radius:14px;margin:0;line-height:1.8}
@media(max-width:760px){input,select,label input,label select{font-size:16px}form>label{font-size:13px}.product-info strong{font-size:14px}.product-info small{font-size:12px}.product input{font-size:16px}.order-items li{font-size:14px}.tag{font-size:11px}.order-reference{font-size:11px}.metric-label{font-size:11px}.metric-note{font-size:10px}.page-heading .description{font-size:13px}.alert-card p{font-size:13px}#current-user{font-size:12px}}
#connection[data-state=idle]{background:#f1f4f6;border-color:#e2e8ed;color:#627581}#connection[data-state=online]{background:#edf7f0;border-color:#d5e9dc;color:#286343}#connection[data-state=offline]{background:#fff0ec;border-color:#f0d3c9;color:#a24830}
/* Atendimento com seleção rápida, busca preservada e total sempre disponível. */
.order-composer>h2{margin-bottom:22px}.product-search{margin-top:22px!important}.category-chips{display:flex;gap:7px;overflow-x:auto;padding:1px 0 14px;scrollbar-width:thin}.category-chips button,.order-filters button{flex:0 0 auto;min-height:36px;padding:8px 12px;background:#f1f4f7;color:#617581;font-size:11px;font-weight:600;white-space:nowrap;border:1px solid transparent}.category-chips button.active{color:#ad490c;background:#fff0e5;border-color:#f8d9c2}.category-chips button:hover,.order-filters button:hover{background:#e8eef2}.order-filters{display:flex;gap:6px;overflow-x:auto;padding:0 0 16px;scrollbar-width:thin}.order-filters button{min-height:34px;font-size:10px;padding:8px 10px}.order-filters button.active{background:var(--navy);color:#fff}#order-products.quick-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.quick-product{min-width:0;border:1px solid #e3e9ee;background:#fff;border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:15px;transition:border-color .15s,background .15s}.quick-product[data-selected=true]{border-color:#f3b182;background:#fffaf6}.quick-product .product-info{gap:7px;flex:1}.quick-product .product-info small{font-size:10px;color:#84919b}.quick-product .product-info strong{font-size:13px;line-height:1.4}.product-price{font-size:15px;font-weight:750;color:var(--navy);margin-top:3px;font-variant-numeric:tabular-nums}.quantity-stepper{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:4px;border:1px solid #e5e9ed;background:#fff;border-radius:9px;padding:3px}.quantity-stepper button{min-height:36px;height:36px;width:38px;padding:0;font-size:23px;font-weight:400;border-radius:7px;background:#f1f4f7;color:#385365}.quantity-stepper button:last-child{background:#fff0e4;color:#ad490c}.quantity-stepper button:hover{background:#ffe0c7}.quantity-stepper input{padding:4px 0;border:0;box-shadow:none!important;background:transparent;min-height:34px;width:100%;margin:0;font-size:15px;font-weight:700;text-align:center;-moz-appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.product-empty{grid-column:1/-1;padding:22px 14px;border:1px dashed #dce3e9;border-radius:10px;line-height:1.6;text-align:center}.order-dock{margin:22px -24px -4px;padding:18px 24px 0;border-top:1px solid var(--line);background:#fff;border-radius:0 0 14px 14px}.order-cart{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.order-cart span{font-size:12px;color:#738591}.order-cart strong{font-size:23px;font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.order-dock>button{width:100%;min-height:48px;font-size:13px}.order-composer>p.muted{margin-top:20px}.order-composer .product-search input{padding-inline:13px}
@media(min-width:981px){#content[data-area=service]{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}#content[data-area=service]>form{position:static}#service-orders>.grid{grid-template-columns:1fr}}
@media(min-width:1600px){#service-orders>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){#order-products.quick-products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#order-products.quick-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-product{padding:12px;gap:14px}.quick-product .product-info strong{font-size:14px}.quick-product .product-info small{font-size:11px}.quantity-stepper{grid-template-columns:36px minmax(0,1fr) 36px;gap:0;padding:2px}.quantity-stepper button{width:36px;min-height:40px;height:40px}.quantity-stepper input{font-size:16px;min-height:40px}.category-chips button{min-height:40px;font-size:12px}.order-filters button{min-height:40px;font-size:11px}.order-dock{position:sticky;bottom:0;z-index:15;margin:20px -20px -2px;padding:15px 20px 12px;box-shadow:0 -7px 18px #142d3b07}.order-dock>button{min-height:49px;font-size:13px}.order-cart{margin-bottom:10px}.order-composer>p.muted{margin-top:16px}.order-composer{overflow:visible}}
@media(max-width:350px){#order-products.quick-products{grid-template-columns:1fr}.quick-product{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center}}
.product-photo-slot{width:calc(100% + 30px);margin:-15px -15px 0;aspect-ratio:4/3;overflow:hidden;background:#f7f1ea;border-radius:11px 11px 0 0}.product-photo{display:block;width:100%;height:100%;object-fit:cover}.photo-placeholder{display:grid;place-items:center;background:#f6f1eb;color:#9d8d7f;font-size:12px;min-height:100px;width:100%;height:100%}.quick-product{overflow:hidden}.photo-preview{display:block;width:100%;max-height:210px;object-fit:cover;border-radius:10px;margin:12px 0}.remove-photo{font-size:11px!important;min-height:34px!important;padding:7px 12px!important;background:#f1f4f6!important;color:#657986!important}#product-photo{padding:10px;background:#fafbfc;font-size:12px}#catalog-list .card>.product-photo,#catalog-list .card>.photo-placeholder{width:calc(100% + 42px);margin:-21px -21px 19px;height:170px;min-height:170px;object-fit:cover;border-radius:15px 15px 0 0}#catalog-list .card{overflow:hidden}#product-photo::file-selector-button{border:0;border-radius:6px;padding:7px 9px;margin-right:8px;background:#e9eef2;color:#4e6472;font:inherit;cursor:pointer}
@media(max-width:760px){.product-photo-slot{width:calc(100% + 24px);margin:-12px -12px 0}.photo-preview{max-height:230px}#product-photo{font-size:13px}}
@media(max-width:350px){.quick-product{display:flex}.product-photo-slot{aspect-ratio:16/9}}
/* Mesas e comandas: estados persistentes e mapa de salão. */
.tables-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:13px}.tables-toolbar>input{flex:1 1 230px;max-width:360px;font-size:12px;min-height:40px}.table-filters{display:flex;gap:5px;overflow-x:auto}.table-filters button{font-size:11px;min-height:36px;padding:8px 12px;color:#75828e;background:#f5f7f9;white-space:nowrap}.table-filters button.active{color:var(--navy);background:var(--orange)}.table-tool{background:#fff;color:#4f6474;border:1px solid #dce3e9;font-size:11px;min-height:38px;padding:9px 12px}.table-tool:hover{background:#f4f6f8}.table-legend{display:flex;gap:18px;flex-wrap:wrap;margin:14px 2px;font-size:10px;color:#7d8c97}.table-legend span:before{content:'';width:7px;height:7px;display:inline-block;border-radius:2px;margin-right:5px;background:#22b785}.table-legend .legend-open:before{background:#efa021}.table-legend .legend-bill:before{background:#f05059}.tables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}.table-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-height:187px;padding:26px 10px 13px;background:#fff;border:1px solid #e1e7ed;border-top:3px solid #20ba88;box-shadow:0 3px 8px #142d3b06;border-radius:14px;color:#253747;min-width:0;text-align:center}.table-tile:hover{background:#fbfdfc;box-shadow:0 5px 17px #142d3b0c}.table-tile:disabled{opacity:1;cursor:default}.table-tile.open{border-top-color:#efa021;background:linear-gradient(#fff8ed,#fff 48%)}.table-tile.bill{border-top-color:#f0525b;background:linear-gradient(#fff2f3,#fff 48%)}.table-tile.closed{border-top-color:#7498b0;justify-content:center}.table-status{position:absolute;top:7px;right:7px;font-size:8px;font-weight:600;padding:3px 6px;border-radius:5px;background:#e5f8f0;color:#17a577}.open .table-status{background:#fff0cd;color:#c78310}.bill .table-status{background:#ffe1e4;color:#d54452}.table-drawing{display:block;width:48px;height:48px;position:relative;margin:8px 0 12px}.table-drawing>strong{display:grid;place-items:center;width:100%;height:100%;border:1px solid #dfe5eb;border-bottom-width:3px;border-radius:13px;font-size:23px;font-weight:700;background:#fff;color:#24313d}.seat{position:absolute;display:block;background:#e5e9ef;border-radius:7px}.seat-0,.seat-2{height:7px;width:18px;left:15px}.seat-0{top:-11px}.seat-2{bottom:-11px}.seat-1,.seat-3{width:7px;height:18px;top:15px}.seat-1{right:-11px}.seat-3{left:-11px}.open .table-drawing>strong{background:#ffedcc;border-color:#f6c578;color:#b85c16}.open .seat{background:#eda127}.bill .table-drawing>strong{background:#ffdde0;border-color:#f5afb6;color:#bf3442}.bill .seat{background:#ef535f}.table-value{font-size:17px;font-weight:750;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.table-meta{font-size:9px;font-weight:400;color:#7c8a95}.table-owner{font-size:9px;color:#7c8a95;font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-customer{font-size:9px;font-weight:400;color:#8c7965;max-width:100%;overflow-wrap:anywhere}.open-table{font-size:10px;border-radius:15px;background:#e7f8f2;color:#159c72;padding:5px 9px;margin-top:auto}.table-tile.loose{border:1px dashed #dce3eb;color:#8b96a2;justify-content:center;min-height:187px;font-size:11px}.table-tile.loose>strong{font-size:26px;color:var(--orange)}.table-editor{margin:0 0 20px}.table-panel-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:15px}.table-panel-heading h2{margin:0}.table-editor form{max-width:520px}.table-editor form>label{margin:14px 0}.table-editor form>button{margin-top:10px}.tab-totals{display:flex;justify-content:space-between;gap:15px;padding:15px;background:#f6f8fa;border-radius:10px;font-size:14px}.tab-order-list{margin:12px 0 18px}.tab-order-line{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #edf0f3;font-size:12px;color:#647785}.tab-order-line strong{color:#344e5e;font-size:12px}.tab-actions{display:flex;gap:9px;flex-wrap:wrap}.dining-context{padding:10px 12px;background:#eaf5ef;border-radius:8px;color:#2c7450;font-size:12px}.tables-grid>.muted{grid-column:1/-1;text-align:center;padding:30px;background:#fff;border-radius:12px}
@media(max-width:760px){.tables-toolbar{padding:11px;gap:10px}.tables-toolbar>input{max-width:none;flex-basis:100%;font-size:16px}.table-filters{width:100%;gap:4px}.table-filters button{font-size:11px;flex:1;min-height:40px;padding:8px}.table-tool{min-height:42px}.tables-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:11px}.table-tile{min-height:198px}.table-status{font-size:10px}.table-meta,.table-owner,.table-customer{font-size:11px}.open-table{font-size:11px}.table-value{font-size:19px}.table-panel-heading{align-items:flex-start}.table-panel-heading h2{font-size:19px}.table-panel-heading .table-tool{font-size:10px;padding:8px}.tab-totals{flex-direction:column;gap:7px}.tab-order-line{flex-wrap:wrap}.tab-actions>button{width:100%}}
.tab-items{flex-basis:100%;font-size:12px;color:#778893;line-height:1.6}.tab-order-line{flex-wrap:wrap}
@media(min-width:761px) and (max-width:1180px){nav button[data-tab=tables]{font-size:12px;gap:10px;padding-inline:12px}}
/* Ícones vetoriais de mesa e quatro cadeiras, com número e estado. */
.table-tile{--chair-fill:#e2eee8;--chair-stroke:#b7ccbf;--top-fill:#f8fcf9;--top-stroke:#c3d5cb;--number-color:#244c3a;--table-depth:#e2eae5;min-height:205px}.table-tile.open{--chair-fill:#ffc066;--chair-stroke:#df8c20;--top-fill:#fff1d9;--top-stroke:#efb660;--number-color:#ae5512;--table-depth:#f4d69f}.table-tile.bill{--chair-fill:#ff9da5;--chair-stroke:#e35a68;--top-fill:#ffe8eb;--top-stroke:#ee9da7;--number-color:#bb3445;--table-depth:#f6c5cc}.table-drawing{width:82px;height:82px;flex:0 0 82px;margin:1px 0 3px;color:var(--number-color)}.table-drawing svg{display:block;width:100%;height:100%;overflow:visible}.table-tile .table-drawing>strong{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;border:0;background:transparent;border-radius:0;color:var(--number-color);font-size:22px;font-weight:750;padding-bottom:2px;line-height:1}.table-chairs rect{fill:var(--chair-fill);stroke:var(--chair-stroke);stroke-width:1.3}.table-chairs path{stroke:var(--chair-stroke);stroke-width:1.3;stroke-linecap:round;fill:none}.table-shadow{fill:var(--table-depth)}.table-top{fill:var(--top-fill);stroke:var(--top-stroke);stroke-width:1.7}.table-highlight{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round}.ticket-rule{stroke:var(--top-stroke);stroke-width:2;stroke-linecap:round;fill:none}
@media(max-width:760px){.table-tile{min-height:218px}.table-drawing{width:88px;height:88px;flex-basis:88px}.table-tile .table-drawing>strong{font-size:24px}}
.closing-balance{font-size:21px;font-weight:700;color:var(--navy)}.split-preview{padding:17px;background:#f6f8fa;border:1px solid #e3e9ed;border-radius:11px;margin:18px 0}.split-preview>strong{display:block;font-size:14px;margin-bottom:13px}.split-shares{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;max-height:300px;overflow-y:auto}.split-shares>span{background:#fff;border:1px solid #e1e7ec;border-radius:8px;padding:10px 12px;font-size:13px;font-variant-numeric:tabular-nums}#split-count:read-only{background:#f3f6f8;color:#6b7d89}

/* Símbolo único de mesa: mesma geometria do menu Mesas e comandas. */
.table-icon{display:inline-flex;vertical-align:middle;flex:0 0 auto;width:20px;height:20px;color:inherit}.table-symbol{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.table-caption{display:flex;align-items:center;gap:8px}.table-caption>span:last-child{min-width:0}.table-tool:has(.table-icon){display:inline-flex;align-items:center;justify-content:center;gap:7px}#page-title .table-icon{width:28px;height:28px}.metric-label .table-icon{width:16px;height:16px}.table-drawing .table-symbol{stroke-width:1.2}.table-drawing .table-symbol rect{fill:var(--top-fill)}.table-tile .table-drawing>strong{font-size:20px;padding-bottom:0}.table-tile.closed>.table-caption{justify-content:center}
@media(max-width:760px){#page-title .table-icon{width:25px;height:25px}.table-tile .table-drawing>strong{font-size:22px}}

#print-ticket{display:none}@media print{@page{size:auto;margin:8mm}body{background:#fff!important;color:#000!important}body>*{display:none!important}body>#print-ticket{display:block!important}.ticket-copy{font:13px/1.5 monospace;color:#000;max-width:72mm;margin:0 auto;overflow-wrap:anywhere}.ticket-copy+.ticket-copy{break-before:page;page-break-before:always}.ticket-copy h2{font-size:21px;margin:10px 0}.ticket-copy h3{font-size:16px;margin:8px 0}.ticket-copy p{margin:7px 0}.ticket-copy ul{list-style:none;padding:10px 0;border-block:1px dashed #000}.ticket-copy li{padding:7px 0;font-size:16px;font-weight:700}.ticket-copy .table-icon{width:24px;height:24px}.ticket-copy strong{font-size:17px}}

.cash-delivery{margin:12px 18px;padding:14px;background:#f5f8fa;border:1px solid #e1e7ed;border-radius:10px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.cash-delivery>strong{display:block;color:var(--navy);margin-bottom:8px}.cash-delivery p{margin:5px 0}

#login .login-feedback{padding:12px 14px;margin:16px 0 4px;border:1px solid #efb9ad;background:#fff0ec;border-radius:8px;color:#a03422;font-size:14px;line-height:1.5}#login .login-feedback[hidden]{display:none}

#service-history-toggle{background:var(--orange);color:#142d3b;border:1px solid #e66710;font-weight:750;min-height:44px;padding:11px 17px;margin-bottom:14px;box-shadow:0 3px 8px #f9731620}#service-history-toggle:hover{background:#fb8c3c}#service-history-toggle:focus-visible,.order-filters button:focus-visible{outline:3px solid #5287b3;outline-offset:3px}.order-filters{display:flex;flex-wrap:wrap;gap:8px;overflow:visible}.order-filters button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:1 1 85px;min-width:80px;min-height:91px;padding:13px 10px;border:1px solid #e1e7ed;border-radius:12px;background:#fff;color:#526b7b}.order-filter-icon{display:block;width:25px;height:25px}.order-filter-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.order-filter-label{font-size:11px;font-weight:650;line-height:1.3}.order-filter-count{position:absolute;top:5px;right:6px;min-width:19px;padding:2px 4px;border-radius:7px;background:#edf2f5;color:#526b7b;font-size:10px;font-variant-numeric:tabular-nums}.order-filters button.active{background:var(--navy);border-color:var(--navy);color:#fff}.order-filters button.active .order-filter-count{background:#ffffff24;color:#fff}@media(max-width:760px){.order-filters button{flex-basis:85px;min-height:93px}.order-filter-label{font-size:12px}#service-history-toggle{width:100%}}

/* Filtros de pedidos com ícones em tamanho intermediário. */
.order-filter-icon{width:21px;height:21px}.order-filters button{min-height:78px;gap:7px;padding:11px 9px}@media(max-width:760px){.order-filters button{min-height:82px}.order-filter-icon{width:22px;height:22px}}

/* Caixa por operador. */
.cash-register{margin-bottom:20px}.cash-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 20px}.cash-values p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e4e8ee;padding:9px 0;margin:0}.cash-values strong{white-space:nowrap}.cash-history{border-bottom:1px solid #e4e8ee;padding:14px 0}.cash-history small{display:inline-block;margin-right:12px}.cash-register form{max-width:620px}.cash-register .tab-actions{flex-wrap:wrap}

.operation-panel{margin-top:24px;scroll-margin-top:20px}.history-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;align-items:end}.history-record{margin:16px 0}.history-record h3{overflow-wrap:anywhere}.operation-panel form{margin:20px 0;max-width:720px}.incident-record{border-top:1px solid #dde4ed;padding:20px 0}.incident-record p{white-space:pre-wrap;overflow-wrap:anywhere}.operation-panel textarea,.incident-record textarea{width:100%;min-height:100px;resize:vertical;padding:12px;border:1px solid #ccd5e0;border-radius:8px;font:inherit}.table-reference{color:#244061;font-weight:700}.history-record button{margin-right:8px;margin-bottom:8px}

/* Manter todos os itens do menu acessíveis em janelas baixas e estreitas. */
@media(min-width:761px){.sidebar{max-height:100dvh}.sidebar>.brand,.sidebar-caption,.sidebar-footer{flex-shrink:0}.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#829da9 transparent;padding-right:3px}.sidebar nav button{flex-shrink:0}}
@media(min-width:761px) and (max-height:820px){.sidebar{padding:22px 14px 14px}.sidebar-caption{margin:22px 12px 10px}.sidebar nav{gap:3px}.sidebar nav button{min-height:42px;padding:10px 12px}.sidebar-footer{padding-top:10px}}
@media(max-width:760px){.sidebar nav{display:flex;flex-wrap:wrap;overflow:visible;gap:5px;padding-bottom:10px}.sidebar nav button{flex:1 1 135px;min-width:0;white-space:normal}.sidebar{max-height:55dvh;overflow-y:auto}}

/* Áreas e submenus do restaurante. */
.sidebar nav{display:block}.nav-group{margin:0 0 6px;border-bottom:1px solid #ffffff12;padding-bottom:6px}.nav-group summary{cursor:pointer;list-style:none;padding:12px 10px;color:#c7d7e2;font-size:12px;font-weight:750;letter-spacing:.025em;display:flex;align-items:center;justify-content:space-between;min-height:42px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary::after{content:'›';font-size:21px;line-height:1;transform:rotate(0)}.nav-group[open]>summary::after{transform:rotate(90deg)}.nav-group summary:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;border-radius:6px}.nav-group-items{display:flex;flex-direction:column;gap:3px;padding:0 0 6px 6px}.nav-group-items button{width:100%;font-size:13px;min-height:40px;padding:9px 11px;white-space:normal}.nav-group-items button svg{width:18px;height:18px;flex-basis:18px}.sidebar-caption{margin:24px 12px 10px}.reserved-module .tag{margin-bottom:16px}.reserved-module h3{margin-top:24px}.order-page-tools{margin-bottom:22px}.order-page-tools button,#content[data-area=dashboard] .card button{margin:0 8px 8px 0}#content[data-area=dashboard]>.metric-grid{margin-bottom:22px}#account-password{background:#f4f6f8;color:#526875;min-height:34px;padding:7px 10px;font-size:11px;border:1px solid var(--line)}#overview:has(.metric-grid:empty){display:none}
@media(max-width:760px){.sidebar nav{max-height:38dvh;overflow-y:auto;padding-bottom:10px;scrollbar-width:thin}.nav-group{margin-bottom:3px}.nav-group summary{padding:10px 8px}.nav-group-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-left:4px}.sidebar nav .nav-group-items button{flex:none;min-height:40px}.topbar-controls{flex-wrap:wrap}#account{flex-wrap:wrap}#account-password{font-size:10px}}

/* Fichas técnicas, com campos de preparo legíveis também no celular. */
.recipe-product-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.recipe-product-list button{white-space:normal;text-align:left}.recipe-sheet p{white-space:pre-wrap;overflow-wrap:anywhere}.recipe-component{min-width:0;border:1px solid var(--line);border-radius:10px;padding:18px;margin:18px 0}.recipe-editor textarea{width:100%;min-height:100px;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;resize:vertical}.recipe-exclusive{display:flex;align-items:flex-start;gap:10px;margin:18px 0}.recipe-exclusive input{width:auto;flex:none;margin-top:4px}.recipe-editor button,.recipe-sheet>button{margin:6px 8px 6px 0}.recipe-editor{max-width:900px}

/* Disponibilidade dos insumos nas fichas e movimentos de estoque. */
.recipe-stock-status{font-weight:700;padding:8px 12px;border-radius:8px}.stock-available{background:#e5f4e9;color:#216039}.stock-insufficient{background:#fce8e8;color:#9f2424}.stock-unchecked{background:#fff4db;color:#795800}.stock-item-row{border-bottom:1px solid var(--line);padding:14px 0}#stock-page>form{margin-bottom:22px;max-width:900px}#stock-page input[type=checkbox]{width:auto}#stock-lists button{margin-bottom:8px}

/* Grid administrativo de estoque, com ícones locais e rolagem em telas pequenas. */
#stock-page{min-width:0;width:100%}#stock-lists{margin-top:18px;min-width:0}.stock-grid-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:20px}.stock-grid-toolbar h2{margin:0;flex:1}.stock-grid-toolbar label{flex:1 1 100%;font-size:13px;font-weight:650;display:grid;gap:7px}.stock-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.stock-grid{border-collapse:collapse;width:100%;min-width:650px;font-size:14px}.stock-grid caption{text-align:left;padding:12px 16px;background:#f8fafb;color:var(--muted);font-size:12px}.stock-grid th{text-align:left;background:#edf2f5;color:#435c6b;font-size:12px;white-space:nowrap}.stock-grid th,.stock-grid td{padding:13px 16px;border-bottom:1px solid var(--line)}.stock-grid tbody tr:last-child td{border-bottom:0}.stock-grid tbody tr:nth-child(even){background:#fafbfc}.stock-grid tbody tr:hover{background:#fff7ed}.stock-balance{font-variant-numeric:tabular-nums;white-space:nowrap}.stock-row-actions{display:flex;gap:6px}.stock-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:40px;min-height:40px;padding:9px;background:#eaf0f5;color:#294a62;border:1px solid #d6e0e8;border-radius:8px}.stock-action svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.stock-action:hover{background:#dce9f3}.stock-action-remove{color:#ad3333;background:#fff0f0;border-color:#efd1d1}.stock-action-remove:hover{background:#ffe0e0}.stock-action:disabled{cursor:not-allowed}.stock-new{width:auto;background:var(--orange);color:var(--navy);border-color:var(--orange)}.stock-status{display:inline-block;padding:5px 10px;border-radius:15px;font-size:12px;font-weight:650;white-space:nowrap}.stock-status.is-active{color:#216039;background:#e5f4e9}.stock-status.is-inactive{color:#63717c;background:#e9edf0}.stock-pager{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:13px}.stock-pager>span{margin-right:auto;color:var(--muted)}.stock-pager button{min-height:38px;padding:8px 13px;background:#edf2f5;color:var(--navy)}.stock-dialog{border:1px solid var(--line);border-radius:16px;max-width:480px;width:calc(100% - 32px);padding:26px;color:var(--ink);box-shadow:0 20px 80px #142d3b40}.stock-dialog::backdrop{background:#142d3b80}.stock-dialog button{margin:8px 10px 0 0}#stock-item-form,#stock-movement-form{scroll-margin-top:18px}@media(max-width:760px){.stock-grid th,.stock-grid td{padding:12px}.stock-action{width:44px;min-height:44px}.stock-grid-toolbar{gap:12px}.stock-pager>span{flex-basis:100%}}
/* Estoque: linhas compactas para consulta de muitos insumos. */
.stock-grid th,.stock-grid td{padding:2px 10px;line-height:1.2;vertical-align:middle}.stock-grid{font-size:13px}.stock-row-actions{gap:4px}.stock-row-actions .stock-action{width:24px;min-height:24px;height:24px;padding:3px;margin:0!important;border-radius:4px;line-height:1}.stock-row-actions .stock-action svg{width:16px;height:16px}.stock-status{padding:2px 6px;font-size:11px;line-height:1.2}
@media(max-width:760px){.stock-grid th,.stock-grid td{padding:2px 8px}.stock-row-actions .stock-action{width:28px;min-height:28px;height:28px;padding:5px}}
/* Cardápio compacto: aproveitar a largura para quatro/cinco produtos. */
#content[data-area=catalog]{grid-template-columns:minmax(0,1fr)}#content[data-area=catalog]>form{position:static;max-width:620px}#catalog-list{min-width:0;width:100%}#catalog-list>.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#catalog-list .card{padding:12px;border-radius:10px}#catalog-list .card>.product-photo,#catalog-list .card>.photo-placeholder{width:calc(100% + 24px);margin:-12px -12px 10px;height:100px;min-height:100px;border-radius:9px 9px 0 0}#catalog-list .card h3{font-size:14px;line-height:1.3}#catalog-list .card p{margin:7px 0}#catalog-list .card .amount{font-size:18px}#catalog-list .card button{min-height:34px;padding:7px 9px;font-size:11px;margin:4px 4px 0 0}
#order-products.quick-products{gap:10px}.quick-product .product-photo-slot{aspect-ratio:auto;height:90px}.quick-product .product-info strong{font-size:13px}.quick-product .product-info small{font-size:10px}.quick-product .quantity-stepper{grid-template-columns:28px minmax(0,1fr) 28px;max-width:100%;width:100%}.quick-product .quantity-stepper button{width:28px;min-height:32px;height:32px;padding:3px}.quick-product .quantity-stepper input{min-height:32px;padding:3px;font-size:14px}
@media(min-width:1100px){#catalog-list>.grid{grid-template-columns:repeat(4,minmax(0,1fr))}#order-products.quick-products{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-product{padding:10px;gap:9px}.quick-product .product-photo-slot{width:calc(100% + 20px);margin:-10px -10px 0}}
@media(min-width:1500px){#catalog-list>.grid{grid-template-columns:repeat(5,minmax(0,1fr))}#order-products.quick-products{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:760px){#catalog-list>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#catalog-list .card>.product-photo,#catalog-list .card>.photo-placeholder{height:85px;min-height:85px}.quick-product .product-photo-slot{height:85px}}
@media(max-width:350px){#catalog-list>.grid{grid-template-columns:minmax(0,1fr)}}
/* PDV: composição ampla e acompanhamento identificado, fixo e recolhível. */
.service-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.service-panel-heading h2{margin:0;font-size:20px}.service-panel-heading .eyebrow{margin-bottom:5px}#service-panel-toggle{font-size:11px;white-space:normal}#content[data-area=service] #service-orders{padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0}#content[data-area=service] #service-orders>h2{font-size:18px;margin-bottom:12px}#content[data-area=service] #service-orders>.grid{grid-template-columns:minmax(0,1fr)}
@media(min-width:981px){#content[data-area=service]{grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}#content[data-area=service] #service-orders{position:sticky;top:100px;max-height:calc(100dvh - 118px);overflow-y:auto;scrollbar-width:thin}#content[data-area=service] #service-orders .order-filters{gap:5px}#content[data-area=service] #service-orders .order-filters button{flex:1 1 70px;min-width:65px;font-size:11px;min-height:65px}#content[data-area=service][data-orders-collapsed=true]{grid-template-columns:minmax(0,1fr)}#content[data-area=service] #order-products.quick-products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1500px){#content[data-area=service] #order-products.quick-products{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:981px) and (max-width:1199px){#content[data-area=service]{grid-template-columns:minmax(0,1fr) 270px}#content[data-area=service] #order-products.quick-products{grid-template-columns:repeat(3,minmax(0,1fr))}#content[data-area=service][data-orders-collapsed=true] #order-products.quick-products{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:980px){#content[data-area=service]{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}#content[data-area=service] #service-orders{position:static;max-height:none}.service-panel-heading h2{font-size:19px}}
/* Pedidos em painel lateral sobreposto: cardápio com largura integral. */
#content[data-area=service],#content[data-area=service][data-orders-collapsed=true]{grid-template-columns:minmax(0,1fr)}#content[data-area=service] #service-orders{position:fixed;inset:90px 16px 16px auto;width:min(420px,calc(100vw - 32px));max-height:none;overflow-y:auto;overscroll-behavior:contain;z-index:45;box-shadow:0 12px 55px #142d3b40;border:1px solid #cbd8e0}#service-panel-toggle{position:fixed;right:24px;bottom:24px;z-index:46;min-height:44px;padding:12px 18px;background:var(--orange);color:var(--navy);font-size:13px;box-shadow:0 4px 18px #142d3b25}#content[data-area=service][data-orders-collapsed=false] #service-panel-toggle{display:none}.service-drawer-close{width:100%;margin-bottom:16px;background:#edf2f5}#content[data-area=service] .order-composer{padding-bottom:70px}
@media(min-width:981px) and (max-width:1199px){#content[data-area=service] #order-products.quick-products,#content[data-area=service][data-orders-collapsed=true] #order-products.quick-products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){#content[data-area=service] #service-orders{top:12px;bottom:12px}#service-panel-toggle{right:16px;bottom:88px}}
.item-accompaniments{font-size:12px;border-top:1px solid var(--line);padding-top:8px;width:100%}.item-accompaniments summary{cursor:pointer;font-weight:650}.item-accompaniments label{display:flex;align-items:center;gap:6px;margin:8px 0}.item-accompaniments input[type=checkbox]{margin:0;flex-shrink:0}.item-accompaniments small{display:block;color:var(--muted);font-size:10px}.accomp-dialog{max-width:650px}.accomp-options{max-height:45vh;overflow-y:auto;margin:14px 0}.accomp-options>div{padding:10px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.accomp-options label{display:flex;align-items:center;gap:8px}.accomp-options input[type=checkbox]{margin:0;flex-shrink:0}.ticket-item-heading{display:flex;justify-content:space-between;gap:12px}.ticket-item-heading>span:last-child{white-space:nowrap}.ticket-accompaniment{margin:4px 0!important;font-size:13px;font-weight:400}.ticket-rule{border-top:1px dashed #000;padding-top:12px;margin:12px 0}
.cash-opening-warning{padding:16px 18px;border:1px solid #edc173;border-radius:10px;background:#fff4db;color:#754d08;font-weight:700;grid-column:1/-1}

/* Cadastro de estoque horizontal, com espaçamento compacto. */
#stock-page #stock-item-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px 14px;width:100%;max-width:none;padding:18px;margin-bottom:14px}
#stock-item-form>h2,#stock-item-form>label,#stock-item-form>p.muted,#stock-item-form>button{margin:0}
#stock-item-form>h2,#stock-item-form>p.muted{grid-column:1/-1}
#stock-item-form>h2{font-size:18px}
#stock-item-form>label{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}
#stock-item-form>label:has(#stock-item-name){grid-column:span 2}
#stock-item-form>label>input,#stock-item-form>label>select{margin:0;min-height:40px;padding:8px 10px}
#stock-item-form>label:has(input[type=checkbox]){flex-direction:row;align-items:center;justify-content:flex-start;min-height:40px}
#stock-item-form>label>input[type=checkbox]{width:19px;flex:0 0 19px;min-height:19px;padding:0}
#stock-item-form>p.muted{line-height:1.4}
#stock-item-form>button{width:auto;min-height:40px;padding:8px 14px}
@media(max-width:1100px){#stock-page #stock-item-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){#stock-page #stock-item-form{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px}#stock-item-form>label:has(#stock-item-name){grid-column:auto}}

#stock-item-balance[readonly]{background:#f4f6f8;color:var(--muted);cursor:default}

.cash-main-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.cash-main-actions .cash-close-button{font-weight:750;min-height:44px}

.table-open-dialog{border:1px solid var(--line);border-radius:14px;width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;color:var(--ink);box-shadow:0 20px 70px #142d3b45}
.table-open-dialog::backdrop{background:#14203099}.table-open-dialog h2{font-size:18px;margin:0 0 14px}.table-open-dialog form>label{margin:10px 0;font-size:12px}.table-open-dialog input,.table-open-dialog select{min-height:40px;padding:8px 10px}.table-people-stepper{display:flex;gap:8px;align-items:center;margin-top:6px}.table-people-stepper input{width:76px;text-align:center;margin:0}.table-people-stepper button{min-height:38px;width:38px;padding:6px;background:#f4f6f8;border:1px solid var(--line)}.table-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.table-modal-actions button{min-height:40px;padding:8px 14px}.table-modal-feedback{color:#ad3333;font-size:12px;margin:8px 0}

#content[data-area=attendants]{display:grid;grid-template-columns:minmax(280px,365px) minmax(0,1fr);align-items:start;gap:20px}@media(max-width:980px){#content[data-area=attendants]{grid-template-columns:minmax(0,1fr)}}

.table-tile.reserved{border-top-color:#7756b7;background:#f6f0ff}.reserved .table-status{background:#eee3ff;color:#664394}.legend-reserved:before{background:#7756b7!important}.reservation-row{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.table-tile.reserved-confirmed{border-top-color:#b3261e;background:#fdecea}.reserved-confirmed .table-status{background:#f8d7d3;color:#8c1d14}.legend-reserved-confirmed:before{background:#b3261e!important}

.advance-order{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:10px}.advance-order legend{font-size:12px;font-weight:700;padding:0 6px}.advance-picker{display:flex;gap:6px;align-items:center}.advance-picker select{flex:1;min-width:0}.advance-picker input{width:64px;text-align:center}.advance-line{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.advance-line span:first-child{flex:1}.advance-total{display:block;margin-top:8px;font-size:13px}
.table-modal-actions{flex-wrap:wrap}
.tile-details{display:inline-block;margin-top:6px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;font-weight:700;cursor:pointer}.table-reservation-note{color:#664394;font-weight:600}
.table-tile.reserved,.table-tile.has-reservation{--chair-fill:#c9b4f0;--chair-stroke:#7756b7;--top-fill:#efe6ff;--top-stroke:#a68ad6;--number-color:#5b3a9a;--table-depth:#d9cbf3}.table-tile.has-reservation{border-top-color:#7756b7;background:#f6f0ff}.has-reservation .table-status{background:#eee3ff;color:#664394}
.item-note{width:100%;margin-top:6px;min-height:34px;padding:6px 10px;font-size:12px}.item-note-text{color:#8a4b12;font-weight:600}.ticket-note{font-weight:700;margin:2px 0 2px 12px}.order-wait{font-size:12px;font-weight:700;color:#5b6b78;margin:6px 0}.order-wait.late{color:#b3261e}.order-card:has(.order-wait.late){border-color:#e7a29c}
.item-cancelled{text-decoration:line-through;color:#8a949c}.item-cancel{margin-left:8px;padding:2px 8px;font-size:11px}.status-cancelled{background:#fdecea;color:#b3261e}.order-card[data-status=cancelled]{opacity:.75}
.reservation-alerts{display:flex;flex-direction:column;gap:6px;margin:10px 0}.reservation-alert{text-align:left;border:1px solid #cdbbf0;background:#f6f0ff;color:#4f3387;border-radius:10px;padding:8px 12px;font-weight:600}.reservation-alert-confirm{border-color:#e7a29c;background:#fdecea;color:#8c1d14}.reservation-day{font-size:13px;margin:14px 0 4px;color:#4f3387}#reservation-search,#service-search{width:100%;margin:6px 0 10px}.reservation-row{flex-wrap:wrap}
.cash-deposit-note{margin:10px 0 0;font-size:12px;color:#4f3387;background:#f6f0ff;border:1px solid #cdbbf0;border-radius:10px;padding:8px 12px}.cash-deposit-entry{font-size:13px}.cash-deposit-entry.refund{color:#b3261e}
.closing-breakdown{margin:10px 0;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}.closing-breakdown p{margin:4px 0;font-variant-numeric:tabular-nums}.cart-fee{display:block;color:#4f3387;font-weight:600}
.sfr-copy{margin:14px 0}.sfr-lines p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:6px 0;font-variant-numeric:tabular-nums}.sfr-lines strong{white-space:nowrap}
.composer{margin-top:8px}.build-list{display:grid;gap:6px;margin-top:8px}.build-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb;font-size:13px}.build-line.invalid{border-color:#e7a29c;background:#fdecea}.build-line small{flex-basis:100%;color:#b3261e}.compose-dialog{border:1px solid var(--line);border-radius:14px;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;color:var(--ink)}.compose-dialog::backdrop{background:#14203099}.compose-step{border:1px solid var(--line);border-radius:12px;margin:12px 0;padding:10px 12px}.compose-step legend{font-weight:700;padding:0 6px}.compose-option{display:flex;gap:8px;align-items:center;padding:6px 0;font-size:14px}.compose-status{display:block;margin-top:4px;color:#5b6b78}.compose-status.missing{color:#b3261e;font-weight:600}.compose-total{font-weight:700;font-size:16px}.item-choice{color:#1d3a2c}/* Editor de etapas (no cadastro): todos os campos empilhados na vertical, dentro do limite da tela. */
.product-steps{max-width:100%;overflow-x:hidden}
.option-groups-editor,.option-groups-editor *{box-sizing:border-box;max-width:100%}
.option-group{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:12px;min-width:0}
.option-group legend{font-weight:700;padding:0 6px}
.option-group-head,.option-row{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:8px 0}
.option-row{padding:10px;border:1px solid var(--line);border-radius:10px;background:#f7f9fb}
.option-groups-editor label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.option-groups-editor label input[type=checkbox]{align-self:flex-start;width:auto}
.option-groups-editor input[type=text],.option-groups-editor input[type=number]{width:100%;min-width:0;min-height:40px;padding:8px 10px}
.option-groups-editor button{align-self:stretch}
.product-steps-name{font-weight:700}
.cash-tip-option{display:flex;gap:8px;align-items:center;margin:8px 0;padding:8px 12px;border:1px solid #cdbbf0;border-radius:10px;background:#f6f0ff;color:#4f3387;font-weight:600}
/* PDV: campos do atendimento alinhados à direita e com pouco espaço entre si */
.order-fields{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:6px 8px;margin:10px 0 4px}
.order-fields>label{flex:0 1 178px;min-width:136px;display:flex;flex-direction:column;gap:3px;margin:0;font-size:12px}
.order-fields>label input,.order-fields>label select{min-height:40px;padding:8px 10px;width:100%}
.order-composer>.dining-context{text-align:right;margin:2px 0 8px}
/* Montar poke: cada opção com foto, valor e um contador de quantidade (+/−) */
.compose-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;margin:5px 0}
.compose-option-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.compose-option .quantity-stepper{width:118px;flex:0 0 auto}
.compose-thumb{width:44px;height:44px;flex:0 0 44px;border-radius:8px;object-fit:cover;background:#eef2f5}
.compose-thumb-empty{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#5b6b78}
.compose-name{flex:1 1 auto;min-width:0}.compose-price{flex:0 0 auto;white-space:nowrap;font-weight:650}
.option-row .compose-thumb{align-self:flex-end}
/* Cadastro de categorias: acompanhamentos por categoria */
.category-accompaniments{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0}
.category-accompaniments-list{max-height:260px;overflow:auto;margin:8px 0;display:grid;gap:4px}
.category-accompaniment-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 6px;border-bottom:1px solid var(--line)}
.category-accompaniment-row label{display:flex;align-items:center;gap:6px;margin:0}

/* Cadastro de Categorias/Clientes/Fornecedores: grid (padrão do Estoque Atual) e CRUD em modal. */
#registration-page{min-width:0;width:100%}
#user-page{min-width:0;width:100%}
.registration-dialog{border:1px solid var(--line);border-radius:16px;max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:26px;color:var(--ink);box-shadow:0 20px 80px #142d3b40}
.registration-dialog::backdrop{background:#142d3b80}
.registration-dialog h2{font-size:18px;margin:0 0 14px}
.registration-dialog form>label{margin:10px 0;font-size:12px}
.registration-dialog input,.registration-dialog select,.registration-dialog textarea{min-height:40px;padding:8px 10px}
.registration-dialog textarea{min-height:72px;resize:vertical}
.registration-dialog>.category-accompaniments{margin-top:18px}

/* Gestão > Usuário: grade de cartões com avatar, situação e perfil (referência visual do proprietário). */
.user-card{display:flex;flex-direction:column;gap:10px;padding:18px}
.user-card-head{display:flex;align-items:flex-start;gap:12px}
.user-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:750;font-size:15px;color:#fff;background:var(--orange)}
.user-avatar[data-color=blue]{background:#5287b3}
.user-avatar[data-color=green]{background:#22a06b}
.user-avatar[data-color=slate]{background:#768b9b}
.user-card-info{flex:1;min-width:0}
.user-card-info h3{font-size:15px;line-height:1.3}
.user-card-info p{margin:3px 0 0}
.user-card-head>.stock-status{flex:0 0 auto;margin-left:auto}
.user-role-badge{align-self:flex-start;background:#eef2f5;color:#435c6b}
.user-role-admin{background:#fff0e5;color:#ad490c}
.user-role-service{background:#edf3fa;color:#2c597d}
.user-role-kitchen{background:#e6f5ee;color:#156a44}
.user-role-cash{background:#edf1f5;color:#4c5e6b}
.user-role-badges{display:flex;flex-wrap:wrap;gap:6px}
.user-last-seen{margin:0}
.user-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.user-card-actions button{flex:1 1 auto;min-width:0;font-size:12px;min-height:36px;padding:7px 10px}
/* Modal de usuário: atividades combináveis (Administrador exclusivo, desabilita as demais). */
.user-roles-field{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:16px 0}
.user-roles-field legend{font-size:12px;font-weight:650;color:#536875;padding:0 4px}
.user-role-check{display:flex;align-items:center;gap:8px;margin:8px 0}
.user-role-check input{width:19px;flex:0 0 19px;min-height:19px;padding:0;margin:0}

.product-photo-slot{cursor:zoom-in}.product-description-dialog{border:1px solid var(--line);border-radius:16px;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:0 0 18px;color:var(--ink);box-shadow:0 20px 70px rgba(0,0,0,.28)}.product-description-dialog::backdrop{background:rgba(0,0,0,.45)}.product-description-dialog .product-photo,.product-description-dialog .photo-placeholder{width:100%;height:220px;object-fit:cover;border-radius:0}.product-description-dialog>small,.product-description-dialog>h2,.product-description-dialog>p{margin-left:22px;margin-right:22px}.product-description-dialog>small{display:block;margin-top:16px}.product-description-text{white-space:pre-line;line-height:1.5}.product-description-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 22px 0}.product-description-price{font-size:22px;margin-left:auto}
.company-badge[hidden]{display:none}
.company-badge{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-weight:600}
.company-logo{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:12px;background:#fff;border:1px solid #ddd;overflow:hidden;font-size:28px;font-weight:700;flex:none}
.company-logo img,.company-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.company-logo-small{width:40px;height:40px;font-size:18px}
.company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:16px 0}
.company-card{display:flex;gap:14px;align-items:flex-start}
.company-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;overflow-wrap:anywhere}
.company-logo-preview{display:flex;align-items:center;justify-content:center;height:120px;border:1px dashed #bbb;border-radius:8px;margin:8px 0}
/* Cardápio por abas (PDV/Delivery): barra de categorias fixa no topo e produtos em seções. */
.menu-header{display:flex;align-items:center;gap:10px;margin:0 0 6px}
.category-chips{gap:0;border-bottom:1px solid #e3e8ec;padding:0;margin:0 0 14px}
.category-chips button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:#4a5b66;font-size:13px;font-weight:600;padding:10px 14px}
.category-chips button:hover{background:#f5f7f9}
.category-chips button.active{background:transparent;color:#ad490c;border-bottom-color:#ad490c}
.menu-section-title{grid-column:1/-1;margin:10px 0 0;padding:6px 0;font-size:18px;border-bottom:1px solid #e3e8ec}

.nav-badge{margin-left:auto;min-width:22px;padding:2px 7px;border-radius:999px;background:#c4470b;color:#fff;font-size:11px;font-weight:700;text-align:center}

.attendant-row{cursor:pointer}.attendant-row:hover{background:#fff7ef}.attendant-row .user-avatar{vertical-align:middle;margin-right:6px}

/* Atendentes: a grade ocupa toda a largura (antes ficava presa na coluna estreita do formulario antigo) */
#content[data-area=attendants]{display:block}
#content[data-area=attendants] .stock-table-wrap{overflow-x:auto}

/* Impressos: logotipo e dados da empresa */
.ticket-brand{text-align:center;margin:0 0 6px}.ticket-logo{display:block;margin:0 auto 6px;max-width:100%;max-height:70px;object-fit:contain}.ticket-brand h2{margin:0}.ticket-company{margin:1px 0;font-size:11px;line-height:1.3}

/* Tela Pedidos: quadro por status — 21/10/2026 */
.order-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;padding:4px 0 10px;scroll-snap-type:x proximity;scrollbar-width:thin;align-items:start}
.order-column{display:flex;flex-direction:column;min-width:0;background:#f4f7f9;border:1px solid var(--line);border-radius:14px;scroll-snap-align:start;border-top:4px solid #cdd7df}
.order-column[data-status=preparing]{border-top-color:#f97316}.order-column[data-status=ready]{border-top-color:#22a06b}.order-column[data-status=delivered]{border-top-color:#7391a6}.order-column[data-status=cancelled]{border-top-color:#c0392b}
.order-column-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;position:sticky;top:0}
.order-column-count{min-width:26px;padding:2px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);text-align:center;font-weight:700;font-size:12px}
.order-column-body{display:flex;flex-direction:column;gap:10px;padding:0 10px 10px;max-height:calc(100dvh - 300px);min-height:120px;overflow-y:auto;scrollbar-width:thin}
.order-column-empty{margin:8px 4px;font-size:12px}
.order-board .order-card{flex:none;font-size:13px;border-top-width:3px}
.order-board .order-card h3{font-size:15px}
.order-board .order-card .order-reference{font-size:11px}
.order-board .order-card .order-items{margin-top:4px;margin-bottom:4px}
.order-board .order-card .amount{font-size:17px}
@media(max-width:760px){.order-board{grid-auto-columns:minmax(82%,1fr)}.order-column-body{max-height:calc(100dvh - 240px)}}
.order-board .order-card{display:grid;grid-template-columns:1fr 1fr;align-content:start}
.order-board .order-card>*{grid-column:1/-1}
.order-board .order-card>button{grid-column:auto;margin:0 6px 8px;padding:6px 8px;font-size:12px;min-height:0}
.order-board .order-card>button:nth-of-type(odd){margin-left:12px}.order-board .order-card>button:nth-of-type(even){margin-right:12px}
.order-board .order-card>button:last-of-type:nth-of-type(odd){grid-column:1/-1;margin-right:12px}
.order-board .order-card .order-items li{padding-top:3px;padding-bottom:3px}
.order-board .order-card .order-heading{padding-top:12px}
/* Fichas de preparo: grade + modal — 21/10/2026 */
.recipe-grid .recipe-row{cursor:pointer}
.recipe-grid .recipe-row:focus-visible{outline:2px solid #f97316;outline-offset:-2px}
.recipe-grid .recipe-row-inactive td{color:var(--muted)}
.recipe-status{display:inline-block;font-size:11px;white-space:nowrap}
.recipe-status-active{background:#e7f6ee;color:#17784f}
.recipe-status-inactive{background:#fdecea;color:#a3352a}
.recipe-status-none{background:#eef2f5;color:var(--muted)}
.recipe-dialog{max-width:820px;padding:20px 22px 22px}
.recipe-dialog::backdrop{background:rgba(0,0,0,.45)}
.recipe-dialog .card{box-shadow:none;border:0;padding:0;margin:0}
.recipe-dialog-close{position:absolute;top:10px;right:12px;width:34px;height:34px;padding:0;border-radius:50%;font-size:20px;line-height:1;background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.recipe-dialog h2{padding-right:40px}
.recipe-dialog .recipe-delete{color:#a3352a}
.recipe-dialog .recipe-sheet>button,.recipe-dialog .recipe-confirm>button{margin:10px 8px 0 0}
.recipe-page .stock-grid-toolbar h2{flex:1 1 100%}
.recipe-page .stock-grid-toolbar label{flex:2 1 260px}
.recipe-page .stock-grid-toolbar label:has(#recipe-filter){flex:1 1 200px}
.recipe-page>p.muted{margin:-8px 0 12px}
/* Confirmar entrega da mesa — 21/10/2026 */
.closing-warning{margin:10px 0;padding:10px 12px;border-radius:10px;background:#fff4e5;border:1px solid #f5c58a;color:#7a4510;font-size:13px}
.delivery-confirm-list{margin:8px 0 12px;padding-left:18px;display:grid;gap:6px;font-size:13px}
.delivery-confirm-dialog>button{margin:8px 8px 0 0}
/* Depósitos — 21/10/2026 */
.warehouse-grid .warehouse-row{cursor:pointer}
.warehouse-grid .warehouse-row:focus-visible{outline:2px solid #f97316;outline-offset:-2px}
.warehouse-row-inactive td{color:var(--muted)}
.warehouse-default{margin-left:8px;font-size:11px;background:#fff1e6;color:#b45309}
.warehouse-check{display:flex;align-items:center;gap:8px}
.warehouse-check input{width:auto}
.warehouse-balances{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}
.warehouse-balances h3{margin:0 0 6px;font-size:14px}
.warehouse-balances ul{margin:0;padding-left:18px;max-height:200px;overflow:auto;font-size:13px}
.warehouse-dialog form>button{margin:8px 8px 0 0}
.stock-by-warehouse{font-size:12px;color:var(--muted);max-width:260px}
.stock-warehouse-hint{margin:-4px 0 10px;font-size:12px}
/* Movimentações: campos em colunas (horizontal) — 21/10/2026 */
#stock-movement-form,#stock-transfer-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 16px;align-items:end}
#stock-movement-form>*,#stock-transfer-form>*{grid-column:1/-1;margin-top:0}
#stock-movement-form>label,#stock-transfer-form>label{grid-column:auto;margin:0}
#stock-movement-form>label:has(#stock-move-item){order:1;grid-column:span 2}
#stock-movement-form>label:has(#stock-move-warehouse){order:2}
#stock-movement-form>.stock-warehouse-hint{order:3}
#stock-movement-form>label:has(#stock-move-quantity){order:5}
#stock-movement-form>label:has(#stock-move-reason){order:6}
#stock-movement-form>label:not(:has(#stock-move-item,#stock-move-warehouse,#stock-move-quantity,#stock-move-reason)){order:4}
#stock-movement-form>button{order:7;justify-self:start;margin-top:8px}
#stock-movement-form>h2{order:0}
#stock-transfer-form>label:has(#stock-transfer-reason){grid-column:span 2}
#stock-transfer-form>button{justify-self:start;margin-top:8px}
#stock-movement-form .stock-warehouse-hint,#stock-transfer-form .stock-warehouse-hint{margin:2px 0 8px}
@media(max-width:980px){#stock-movement-form,#stock-transfer-form{grid-template-columns:repeat(2,minmax(0,1fr))}#stock-movement-form>label:has(#stock-move-item){grid-column:1/-1}#stock-movement-form>label:has(#stock-move-reason){grid-column:1/-1}}
@media(max-width:600px){#stock-movement-form,#stock-transfer-form{grid-template-columns:1fr}#stock-movement-form>label,#stock-transfer-form>label{grid-column:1/-1!important}}
/* Compras — 21/10/2026 */
.purchase-suggestions{margin-bottom:18px}
.purchase-suggestions>button{margin-top:10px}
.purchase-suggested{font-weight:700;color:#b45309}
.purchase-grid .purchase-row{cursor:pointer}
.purchase-grid .purchase-row:focus-visible{outline:2px solid #f97316;outline-offset:-2px}
.purchase-status{display:inline-block;font-size:11px;white-space:nowrap}
.purchase-status-draft{background:#eef2f5;color:#40525f}
.purchase-status-sent{background:#e8f1fd;color:#1d5fb8}
.purchase-status-received{background:#e7f6ee;color:#17784f}
.purchase-status-cancelled{background:#fdecea;color:#a3352a}
.purchase-dialog{max-width:900px}
.purchase-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.purchase-form>*{grid-column:1/-1}
.purchase-form>label{grid-column:auto}
.purchase-line{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:6px}
.purchase-line-head{font-size:12px;font-weight:650;color:var(--muted);margin-bottom:2px}
.purchase-line-head span:last-child{grid-column:span 2}
.purchase-line-total{font-weight:650;text-align:right}
.purchase-line-tools{display:flex;gap:8px;flex-wrap:wrap}
.purchase-total{font-size:18px;font-weight:700;text-align:right;margin:8px 0}
.purchase-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.purchase-danger{color:#a3352a}
.purchase-confirm:not(:empty){margin-top:10px;padding:12px;border:1px solid #f5c58a;border-radius:12px;background:#fff8ef;display:grid;gap:8px}
.purchase-confirm button{justify-self:start}
@media(max-width:760px){.purchase-form{grid-template-columns:1fr}.purchase-line{grid-template-columns:1fr 1fr}.purchase-line>select{grid-column:1/-1}.purchase-line-head{display:none}}
.purchase-supplier-row{display:flex;gap:8px;align-items:center}
.purchase-supplier-row select{flex:1;min-width:0}
.purchase-supplier-row button{white-space:nowrap}
.supplier-quick-dialog form>button{margin:8px 8px 0 0}
.supplier-quick-dialog .form-error{color:#a3352a}
/* Relatório de compras (A4) — 21/10/2026 */
.purchase-report-dialog{max-width:1000px;width:calc(100% - 32px)}
.purchase-report-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;align-items:end}
.purchase-report-filters label{margin:0}
.purchase-report-preview{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff;max-height:60vh;overflow:auto}
.report-copy{color:#111;font-size:13px}
.report-copy h2{font-size:18px;margin:8px 0 4px}
.report-copy h3{font-size:15px;margin:16px 0 6px;padding-bottom:4px;border-bottom:2px solid #333}
.report-copy p{margin:4px 0}
.report-table{width:100%;border-collapse:collapse;font-size:12px}
.report-table th{text-align:left;border-bottom:1px solid #999;padding:4px 6px;font-weight:700}
.report-table td{padding:3px 6px;border-bottom:1px solid #eee;vertical-align:top}
.report-table .num{text-align:right;white-space:nowrap}
.report-table th:nth-last-child(-n+3){text-align:right}
.report-summary .report-table th:nth-child(n+2){text-align:right}
.report-table tr.report-first td{border-top:1px solid #ccc}
.report-purchase-total td{font-style:italic;color:#444}
.report-subtotal td{font-weight:700;background:#f3f4f6;border-top:1px solid #999}
.report-grand-total td{font-weight:800;font-size:14px;background:#e5e7eb;border-top:2px solid #333}
@media print{.report-copy{max-width:none;font:12px/1.4 Arial,sans-serif;color:#000}.report-group{break-inside:auto}.report-table tr{break-inside:avoid}.report-subtotal td,.report-grand-total td{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media(max-width:760px){.purchase-report-filters{grid-template-columns:1fr 1fr}}
/* Financeiro > Contas a Pagar — 21/10/2026 */
.payable-summary{margin-bottom:18px}
/* Título e botão na 1ª linha; filtros na 2ª (o título não pode encolher a ponto de quebrar letra por letra). */
.payable-toolbar h2{flex:1 1 60%;min-width:max-content;white-space:nowrap}
.payable-toolbar .stock-new{flex:0 0 auto;white-space:nowrap;width:auto!important;height:auto!important;min-height:44px!important;padding:9px 16px!important}
.payable-toolbar label:has(#payable-search){flex:2 1 260px}
.payable-toolbar label:has(#payable-filter){flex:1 1 200px}
.payable-toolbar label:has(#payable-from),.payable-toolbar label:has(#payable-to){flex:1 1 150px}
.payable-grid .payable-row{cursor:pointer}
.payable-grid .payable-row:focus-visible{outline:2px solid #f97316;outline-offset:-2px}
.payable-grid td.num,.payable-grid tfoot td.num{text-align:right;white-space:nowrap}
.payable-grid tfoot td{font-weight:700;border-top:2px solid var(--line)}
.payable-pay{min-height:34px;padding:6px 12px}
.payable-status{display:inline-block;font-size:11px;white-space:nowrap}
.payable-status-open{background:#e8f1fd;color:#1d5fb8}
.payable-status-today{background:#fff4e0;color:#9a5b00}
.payable-status-overdue{background:#fdecea;color:#a3352a}
.payable-status-paid{background:#e7f6ee;color:#17784f}
.payable-status-cancelled{background:#eef2f5;color:#5d6b76}
.payable-overdue td:first-child{color:#a3352a;font-weight:700}
.payable-installments ol{margin:4px 0 0;padding-left:22px;columns:2;font-size:13px}
.payable-history ul{margin:4px 0;padding-left:20px;font-size:13px}
@media(max-width:760px){.payable-installments ol{columns:1}}
/* Financeiro: baixa, previsão e Contas a Receber — 22/10/2026 */
.payable-toolbar label:has(#receivable-search){flex:2 1 260px}
.payable-toolbar label:has(#receivable-filter),.payable-toolbar label:has(#receivable-origin){flex:1 1 190px}
.payable-toolbar label:has(#receivable-from),.payable-toolbar label:has(#receivable-to){flex:1 1 150px}
.payable-grid td.payable-flag{text-align:center;color:var(--muted)}
.payable-grid td.payable-flag-on{color:#17784f;font-weight:800}
.payable-origin{margin-left:6px;font-size:10px;background:#eef2f5;color:#40525f;vertical-align:middle}
.payable-status-reversed{background:#f3e8fd;color:#6b3fa0}
.payable-reversed td{color:#7a8794}
.payable-settle{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:6px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.payable-settle legend{font-weight:700;padding:0 6px}
.payable-settle>*{grid-column:1/-1}
.payable-settle>label:not(.payable-settle-flag){grid-column:auto}
.payable-settle-flag{display:flex!important;align-items:center;gap:10px;font-weight:700}
.payable-settle-flag input{width:20px;height:20px}
.payable-cash-info{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:10px 0}
.payable-cash-info dt{font-weight:650;color:var(--muted)}
.payable-cash-info dd{margin:0}
@media(max-width:760px){.payable-settle{grid-template-columns:1fr}.payable-cash-info{grid-template-columns:1fr}}
/* Financeiro > Fluxo de Caixa — 22/10/2026. Entradas azul / saídas laranja (paleta validada para daltonismo); previsto = mesmo tom, claro. */
.cashflow-toolbar label:has(#cashflow-preset){flex:1 1 200px}
.cashflow-toolbar label:has(#cashflow-from),.cashflow-toolbar label:has(#cashflow-to){flex:1 1 150px}
.cashflow-toolbar label:has(#cashflow-account){flex:2 1 260px}
.cashflow-toolbar label:has(#cashflow-group){flex:1 1 150px}
.cashflow-toolbar #cashflow-print{flex:0 0 auto}
.cashflow-summary{margin-bottom:12px}
.metric-value.cashflow-negative,td.cashflow-negative{color:#a3352a}
.cashflow-alert{background:#fff4e0;color:#7a4a00;border:1px solid #f5c58a;border-radius:10px;padding:10px 14px;margin:0 0 14px}
.cashflow-chart{margin-bottom:16px}
.cashflow-chart h3{margin:0 0 6px}
.cashflow-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:6px}
.cashflow-legend span{display:inline-flex;align-items:center;gap:6px}
.cashflow-key{display:inline-block;width:12px;height:12px;border-radius:3px}
.cashflow-key-in{background:#2f6fb0}.cashflow-key-out{background:#d9772b}
.cashflow-key-forecast{background:#c9d3dc}
.cashflow-svg{overflow-x:auto}
.cashflow-svg svg{display:block;height:auto}
.cashflow-bar.cashflow-in{fill:#2f6fb0}.cashflow-bar.cashflow-out{fill:#d9772b}
.cashflow-bar.cashflow-forecast{fill-opacity:.35}
.cashflow-bar:hover{stroke:#142d3b;stroke-width:1}
.cashflow-hit{fill:transparent}
.cashflow-grid-line{stroke:#e3e9ed;stroke-width:1}
.cashflow-base{stroke:#9aa8b3;stroke-width:1}
.cashflow-axis{font-size:11px;fill:#667783}
.cashflow-grid td.num,.cashflow-grid tfoot td.num{text-align:right;white-space:nowrap}
.cashflow-grid tfoot td{font-weight:700;border-top:2px solid var(--line)}
.cashflow-grid tfoot .cashflow-methods td{font-weight:500;color:var(--muted);text-align:left}
.cashflow-projected{font-weight:700}
#cashflow-accounts{margin-top:16px}
.cashflow-grid th:not(:first-child){text-align:right}
/* Financeiro > Contas bancárias — 22/10/2026 */
.bank-toolbar label:has(#bank-search){flex:2 1 260px}
.bank-toolbar .bank-inactive-toggle{flex:0 0 auto;display:flex!important;align-items:center;gap:8px;align-self:end;min-height:46px}
.bank-toolbar>.table-tool{flex:0 0 auto}
.bank-grid td.num{text-align:right;white-space:nowrap}
.bank-grid th:nth-child(4),.bank-grid th:nth-child(5){text-align:right}
.bank-balance{font-weight:700}
.bank-inactive td{color:#7a8794}
#bank-summary>.cashflow-alert{grid-column:1/-1;margin:0}
.bank-statement-dialog{max-width:980px;width:calc(100% - 32px)}
.bank-statement-filters{grid-template-columns:repeat(2,minmax(0,220px))}
.bank-statement-totals{font-weight:650;margin:12px 0 8px}
.bank-statement-grid td.num,.bank-statement-grid th:nth-child(n+3):nth-child(-n+5){text-align:right;white-space:nowrap}
.bank-row-reversed td{color:#7a8794}
.bank-statement .purchase-confirm{margin-bottom:10px}
@media(max-width:600px){.bank-toolbar label:has(#bank-search){flex-basis:100%}}
/* Gestão > Motoboys — 22/10/2026 */
.courier-grid td.num,.courier-delivery-grid td.num,.courier-settlement-grid td.num{text-align:right;white-space:nowrap}
.courier-delivery-grid tfoot td{font-weight:700;border-top:2px solid var(--line)}
.courier-deliveries-toolbar{margin-top:22px}
.courier-deliveries-toolbar label:has(#courier-from),.courier-deliveries-toolbar label:has(#courier-to){flex:1 1 150px}
.courier-deliveries-toolbar label:has(#courier-filter),.courier-deliveries-toolbar label:has(#courier-situation){flex:1 1 200px}
.courier-section-title{margin:22px 0 10px}
.courier-settle-preview{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:10px 14px;max-height:240px;overflow:auto}
.courier-settle-total{font-weight:700;margin:0 0 6px}
.courier-settle-preview ul{margin:0;padding-left:20px;font-size:13px}
.dispatch-dialog form>button{margin:8px 8px 0 0}
.courier-delivery-grid th:nth-child(5),.courier-delivery-grid th:nth-child(6),.courier-grid th:nth-child(4),.courier-settlement-grid th:nth-child(4),.courier-settlement-grid th:nth-child(5){text-align:right}
.online-blocked{color:#a3352a;font-size:13px;margin:6px 0 0}
.courier-late{color:#a3352a;font-weight:650}
.delivery-slip h3{margin:8px 0 2px}.delivery-slip-note{padding-left:10px;font-size:12px}
