/* Eu combino contraste, hierarquia e espaços confortáveis para a simulação operacional. */
:root{--bg:#f5f3ee;--paper:#fff;--ink:#253730;--muted:#66716a;--line:#dedfd7;--forest:#183d30;--copper:#a34e30;--lime:#dceab4;--red:#a33332;--soft:#eaf0e6;--radius:16px}*{box-sizing:border-box}body{margin:0;font:15px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button,input,select{touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #87918a;border-radius:8px;background:var(--paper);color:var(--ink);min-height:44px}textarea{resize:vertical;min-height:84px}label{font-size:.77rem;font-weight:700;display:block;margin-bottom:6px}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(1.7rem,3vw,2.5rem);margin:7px 0 10px}h2{font-size:1.25rem;margin:0 0 16px}h3{font-size:1rem;margin:0 0 9px}p{margin:0 0 14px}:focus-visible{outline:3px solid #b96a1f;outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.demo-banner{position:sticky;top:0;z-index:30;background:#e8d6b9;color:#493b29;text-align:center;font-size:.7rem;font-weight:750;padding:7px 16px}.sidebar{position:fixed;top:32px;bottom:0;left:0;width:232px;padding:30px 20px;background:var(--forest);color:#eef5ea;display:flex;flex-direction:column;overflow-y:auto;z-index:20}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:1.3rem;font-weight:750;letter-spacing:-.05em;line-height:1.05}.brand-mark{border:1px solid #ffffff70;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.4rem}.brand small{display:block;font-size:.58rem;letter-spacing:.18em;font-weight:400;margin-top:6px;color:#b8cebd}.nav-label{font-size:.6rem;letter-spacing:.18em;color:#b8cebd;margin:35px 12px 12px}.nav{display:grid;gap:6px}.nav button{display:flex;gap:12px;align-items:center;padding:11px 13px;text-align:left;border:0;border-radius:9px;color:#ccdbcf;background:none;font-size:.8rem}.nav button:hover{background:#ffffff10}.nav button[aria-current=page]{background:var(--lime);color:var(--forest);font-weight:800}.nav button span:first-child{font-size:1.1rem;width:22px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:24px;font-size:.7rem;color:#bed0c0}.sidebar-bottom a{display:block;margin:12px 0}.sidebar-bottom b{font-weight:500;color:#f3f4e9}.app{margin-left:232px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:85px;padding:18px 36px;border-bottom:1px solid var(--line);background:#fffdfa}.topbar-title{font-size:.74rem;color:var(--muted)}.topbar-title b{display:block;font-size:.85rem;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:13px}.top-actions select{max-width:175px;font-size:.75rem;min-height:38px;padding:8px}.mobile-menu{display:none}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--soft);color:var(--forest);padding:5px 10px;border-radius:30px;font-size:.68rem;font-weight:750;white-space:nowrap}.pill:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}.pill.warn{background:#fff0cf;color:#715212}.pill.red{background:#fbe3df;color:#9e302d}.pill.neutral{background:#ecece7;color:#5b665f}.main{padding:32px 36px 60px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:25px}.eyebrow{font-size:.64rem;font-weight:800;letter-spacing:.18em;color:var(--copper);text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:.76rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid var(--forest);border-radius:8px;padding:10px 16px;background:var(--forest);color:white;font-weight:750;text-decoration:none;font-size:.77rem}.btn:hover:not(:disabled){filter:brightness(1.13)}.btn.ghost{background:transparent;color:var(--forest);border-color:#8a958b}.btn.danger{background:var(--red);border-color:var(--red);color:white}.btn.tiny{padding:7px 11px;font-size:.7rem;min-height:36px}.btn.light{background:var(--lime);color:var(--forest);border-color:var(--lime)}.button-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:22px 0 26px}.metric{background:var(--paper);padding:22px;border:1px solid var(--line);border-radius:var(--radius)}.metric span{font-size:.72rem;color:var(--muted);display:block}.metric strong{font-size:1.8rem;letter-spacing:-.06em;font-weight:750;display:block;margin:12px 0 5px}.metric small{font-size:.65rem;color:var(--muted)}.metric.primary{background:var(--forest);color:white;border-color:var(--forest)}.metric.primary span,.metric.primary small{color:#c7d9c7}.grid-two{display:grid;grid-template-columns:1.45fr 1fr;gap:22px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-width:0}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.panel-head h2{margin:0}.notice{border-left:3px solid var(--copper);padding:13px 16px;background:#f5ede1;color:#614c35;border-radius:0 8px 8px 0;font-size:.77rem;margin:17px 0}.notice.green{border-color:var(--forest);background:var(--soft);color:var(--forest)}.table-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.table-card{position:relative;min-height:146px;border:1px solid var(--line);border-radius:12px;background:#fcfdf9;padding:18px;text-align:left;color:var(--ink);transition:transform .15s,box-shadow .15s}.table-card:hover{transform:translateY(-3px);box-shadow:0 8px 15px #00000008}.table-card.occupied{border-color:#b6c9b4;background:#eef3e8}.table-card strong{display:block;font-size:1.25rem;font-weight:650;margin:15px 0 5px}.table-card small{display:block;color:var(--muted);font-size:.66rem}.table-card .table-total{font-size:.8rem;font-weight:750;margin-top:12px;display:block;color:var(--forest)}.table-card .pill{font-size:.56rem}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.toolbar>div{flex:1 1 180px}.toolbar .btn{flex:0 0 auto}.activity{list-style:none;margin:0;padding:0}.activity li{padding:13px 0;border-bottom:1px solid var(--line);font-size:.77rem}.activity li:last-child{border:0}.activity small{display:block;color:var(--muted);font-size:.65rem;margin-top:3px}.empty{padding:35px 20px;text-align:center;color:var(--muted);font-size:.83rem;border:1px dashed #adb8ac;border-radius:12px;margin:15px 0}.list-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border:0}.list-row strong{display:block;font-size:.85rem}.list-row small{display:block;color:var(--muted);font-size:.7rem}.ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.ticket{border:1px solid var(--line);border-top:4px solid #bd8c3a;border-radius:12px;background:var(--paper);padding:20px}.ticket.preparando{border-top-color:#a14e30}.ticket.pronto{border-top-color:#38704a}.ticket header{display:flex;justify-content:space-between;gap:12px;align-items:start}.ticket h3{margin:18px 0 8px}.ticket .btn{margin-top:18px;width:100%}.ticket .notes{background:#fff3d2;padding:10px;border-radius:6px;font-size:.77rem}.data-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.77rem}.data-table th{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:15px 10px;border-bottom:1px solid var(--line)}.data-table td strong{font-weight:700}.data-table small{display:block;color:var(--muted);font-size:.66rem}.bill-totals{border-top:1px solid var(--line);padding-top:12px;margin-top:16px}.bill-totals div{display:flex;justify-content:space-between;gap:20px;padding:5px 0;font-size:.82rem}.bill-totals .grand{font-size:1.2rem;font-weight:800;padding-top:12px;border-top:1px dashed var(--line);margin-top:8px}.bill-list{display:grid;gap:12px;margin-top:15px}.bill-line{border:1px solid var(--line);padding:16px;border-radius:9px}.bill-line header{display:flex;justify-content:space-between;gap:18px;align-items:start}.bill-line p{font-size:.72rem;color:var(--muted);margin:6px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.full{grid-column:1/-1}.hint{font-size:.7rem;color:var(--muted);margin:8px 0 0}.field-help{padding:12px;background:var(--soft);border-radius:8px;font-size:.74rem;margin-top:10px}.check-label{display:flex;align-items:center;gap:10px;font-weight:500}.check-label input{width:18px;min-height:18px;flex:0 0 18px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tabs .btn[aria-pressed=true]{background:var(--forest);color:white}.help-steps{padding:0;list-style:none;counter-reset:guide;display:grid;gap:12px}.help-steps li{counter-increment:guide;border:1px solid var(--line);border-radius:10px;padding:16px;font-size:.8rem}.help-steps li:before{content:counter(guide);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--forest);font-size:.7rem;font-weight:800;margin-right:10px}dialog{padding:0;border:1px solid var(--line);border-radius:18px;box-shadow:0 25px 100px #0003;width:min(840px,calc(100vw - 32px));max-height:90dvh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#12271bcc;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.dialog-head h2{margin:0}.dialog-body{padding:26px 28px}.dialog-close{background:transparent;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;color:var(--ink);cursor:pointer;font-size:1.2rem}.dialog-error{color:var(--red);font-size:.8rem;padding:0 28px 20px;margin:0}.dialog-actions{padding:0 28px 26px}.toast{position:fixed;bottom:22px;left:calc(50% + 116px);transform:translateX(-50%);z-index:100;max-width:min(600px,calc(100vw - 32px));background:var(--forest);color:white;border:2px solid var(--lime);box-shadow:0 10px 40px #0003;padding:14px 22px;border-radius:12px;font-size:.8rem}.toast:empty{display:none}.print-area{display:none}.progress-line{height:8px;background:#edf0e7;border-radius:20px;overflow:hidden;margin:8px 0 15px}.progress-line span{display:block;height:100%;background:var(--forest);border-radius:20px}.profile-card{border:1px solid var(--line);padding:22px;border-radius:12px;background:var(--paper)}.cards-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.footer-note{font-size:.67rem;color:var(--muted);margin-top:32px;border-top:1px solid var(--line);padding-top:18px}.no-js{margin:30px;padding:25px;background:#fff3d2}
/* Eu evito que a classe geral de botão exiba o menu móvel no computador. */
.btn.mobile-menu{display:none}.sidebar{top:var(--banner-height,32px)}
/* Eu adapto os mesmos fluxos para tablet e celular, com menu recolhível. */
@media(max-width:1200px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.table-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sidebar{display:none;top:36px;width:250px;box-shadow:15px 0 40px #0003}.sidebar.open{display:flex}.app{margin-left:0}.mobile-menu{display:inline-flex}.topbar{padding:14px 18px;gap:10px}.topbar-title{display:none}.top-actions{gap:9px;flex-wrap:wrap;justify-content:flex-end}.top-actions select{width:130px}.top-actions .pill{display:none}.main{padding:25px 18px}.toast{left:50%}.page-heading{align-items:start}.page-heading .button-row{justify-content:flex-end}.metrics{gap:12px}.metric{padding:17px}.metric strong{font-size:1.55rem}.table-grid{gap:10px}.table-card{min-height:135px;padding:13px}.table-card strong{font-size:1.1rem}.panel{padding:20px}.ticket-grid,.cards-three{grid-template-columns:1fr}.dialog-head,.dialog-body{padding:20px}.dialog-actions{padding:0 20px 22px}.dialog-error{padding:0 20px 18px}.form-grid{gap:14px}.sidebar-bottom{margin-top:25px}}
@media(max-width:450px){.page-heading{display:block}.page-heading .button-row{justify-content:flex-start;margin-top:15px}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.list-row{gap:12px;align-items:start;flex-wrap:wrap}.top-actions .btn{padding:8px 10px;font-size:.7rem}.toolbar{gap:10px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{font-size:1.35rem}.metric{padding:15px}.metric span{font-size:.68rem}.data-table{font-size:.7rem}.dialog-head h2{font-size:1.08rem}}
@media(max-width:800px){.btn.mobile-menu{display:inline-flex}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Eu imprimo apenas a conferência escolhida, nunca como documento fiscal. */
@media print{body>*{display:none!important}.print-area{display:block!important;font:12pt/1.5 monospace;color:#000;padding:15px;white-space:pre-wrap}.print-area:before{content:'DEMONSTRAÇÃO — SEM VALOR FISCAL — NÃO COMPROVA PAGAMENTO';display:block;font-weight:bold;border-bottom:2px solid;margin-bottom:16px;padding-bottom:12px}}
