@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--bg:#f4f6f8;--surface:#fff;--surface-alt:#f8fafc;--ink:#1c2733;--ink-soft:#5b6b79;--line:#e3e8ec;--accent:#14a7a1;--accent-hover:#0f8b86;--accent-soft:#e3f5f4;--accent-ink:#0b6d68;--success:#16a34a;--success-bg:#f0fdf4;--success-line:#bbf0cd;--warning:#b45309;--warning-bg:#fffbeb;--warning-line:#fde68a;--danger:#dc2626;--danger-bg:#fef2f2;--danger-line:#fecaca;--info:#2563eb;--info-bg:#eff6ff;--info-line:#bfdbfe;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(16,24,32,.06);--shadow-md:0 4px 12px rgba(16,24,32,.08);--shadow-lg:0 12px 28px rgba(16,24,32,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,sans-serif;color:var(--ink);background:var(--bg)}.app-root,body{min-height:100vh}.app-root{display:grid;grid-template-columns:260px 1fr}.sidebar{padding:22px 16px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 4px 18px}.brand-mark{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:#fff;font-weight:800;font-size:1rem}.sidebar h1{margin:0;font-size:1.08rem;font-weight:700;letter-spacing:-.01em}.subtitle{margin:2px 0 0;font-size:.78rem;color:var(--ink-soft)}.session-role{margin:0 4px 14px;display:inline-block;width:-moz-fit-content;width:fit-content;font-size:.75rem;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:4px 10px;text-transform:capitalize}.nav-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink-soft);margin-bottom:2px;padding:9px 12px;border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;transition:background-color .12s ease,color .12s ease}.nav-icon{display:inline-flex;flex:0 0 auto;opacity:.85}.nav-link:hover{background-color:var(--surface-alt);color:var(--ink)}.nav-link.active{background-color:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav-link.active .nav-icon{opacity:1}.sidebar nav{flex:1 1;margin-top:4px}.content{padding:32px;animation:fadeIn .3s ease}.page-header h2{margin:0;font-size:clamp(1.3rem,2vw,1.7rem);font-weight:700;letter-spacing:-.01em}.page-header p{max-width:72ch;color:var(--ink-soft)}.kicker{text-transform:uppercase;font-size:.75rem;letter-spacing:.06em;color:var(--accent-ink);font-weight:700}.grid-cards{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm)}.logout-btn{margin-top:12px;width:100%}.section-tabs{display:flex;gap:4px;margin-top:20px;border-bottom:1px solid var(--line)}.section-tab{border:0;background:transparent;color:var(--ink-soft);font-weight:600;font-size:.92rem;padding:10px 4px;margin-right:20px;cursor:pointer;border-bottom:2px solid transparent;transform:translateY(1px)}.section-tab:hover{color:var(--ink)}.section-tab.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.sub-tabs{display:flex;gap:6px;margin-top:18px;margin-bottom:4px}.sub-tab{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-weight:600;font-size:.86rem;padding:7px 16px;border-radius:999px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.sub-tab:hover{background:var(--surface-alt);color:var(--ink)}.sub-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.login-content{display:grid;place-items:center;min-height:100vh;background:var(--bg)}.login-wrap{width:min(420px,100%)}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-md)}.card strong{display:block;font-size:1.3rem;margin:8px 0 4px}.card small{display:block;color:var(--ink-soft);font-size:.85rem}.card span{color:var(--ink-soft);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:10px 12px;font-family:inherit;font-size:.92rem;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn{border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 16px;font-weight:600;font-size:.9rem;color:#fff;background:var(--accent);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform 80ms ease}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.secondary{color:var(--ink);background:var(--surface);border:1px solid var(--line)}.btn.secondary:hover:not(:disabled){background:var(--surface-alt)}.btn-open{color:var(--info)!important;background:var(--info-bg)!important;border:1px solid var(--info-line)!important}.btn-pay,.btn-sale{color:#fff!important;background:var(--success)!important;border:1px solid var(--success)!important}.btn-pay:hover:not(:disabled),.btn-sale:hover:not(:disabled){background:#128a3e!important}.btn-debt{color:var(--warning)!important;background:var(--warning-bg)!important;border:1px solid var(--warning-line)!important}.btn-danger{color:var(--danger)!important;background:var(--danger-bg)!important;border:1px solid var(--danger-line)!important}.btn-refresh{color:var(--ink-soft)!important;background:var(--surface)!important;border:1px solid var(--line)!important}.btn:disabled{opacity:.5;cursor:not-allowed}.inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.inline-actions small{flex-basis:100%;color:var(--ink-soft);font-size:.8rem}.form-stack{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.error-box{margin-top:16px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-line);font-size:.88rem}.success-box{width:min(420px,calc(100vw - 32px));margin:0;padding:14px 16px;border-radius:var(--radius-md);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--success);font-weight:600;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-lg);position:fixed;top:18px;right:18px;z-index:80;animation:toast-in .18s ease-out}.success-sale{border-left-color:var(--success)}.success-icon{width:38px;height:38px;border-radius:50%;background:var(--success);display:grid;place-items:center;flex:0 0 auto}.success-icon:before{content:"";width:14px;height:7px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}.success-box strong{display:block;margin:0 0 2px;font-size:1rem}.success-box span{display:block;color:var(--ink-soft);font-size:.88rem;line-height:1.25;font-weight:400}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.badge-active{background:var(--success-bg);color:var(--success);border:1px solid var(--success-line)}.badge-suspended{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-line)}.table-card{margin-top:16px}.table-wrap{overflow-x:auto}.pos-layout{margin-top:18px;display:grid;grid-template-columns:1.2fr 1fr;grid-gap:14px;gap:14px}.mesa-tabs{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.mesa-tab{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:8px 14px;cursor:pointer;font-weight:600;font-size:.88rem}.mesa-tab.occupied{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning)}.mesa-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pos-alert{margin-top:12px;margin-right:10px;min-width:min(260px,100%);border:1px solid var(--info-line);border-left:4px solid var(--info);border-radius:var(--radius-sm);padding:10px 14px;display:inline-grid;gap:2px;text-align:left;font-family:inherit;cursor:pointer;background:var(--info-bg)}.pos-alert span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--info)}.pos-alert strong{font-size:1.24rem;line-height:1.05;color:var(--ink)}.pos-alert small{font-size:.86rem;font-weight:600;color:var(--ink-soft)}.pos-alert-mesas{color:var(--info);background:var(--info-bg);border-color:var(--info-line)}.compact-warning,.pos-alert-fiados{background:var(--warning-bg);border-color:var(--warning-line);border-left:4px solid var(--warning)}.compact-warning.active,.pos-alert.active{outline:2px solid var(--accent-soft);outline-offset:1px}.warning-banner{margin-top:14px;background:var(--warning-bg);border:1px solid var(--warning-line);border-left:4px solid var(--warning);border-radius:var(--radius-md);padding:14px 16px}.warning-banner h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--ink)}.warning-banner p{margin:6px 0 0;font-weight:600;color:var(--warning)}.warning-list{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:8px;gap:8px}.warning-item{display:grid;grid-gap:2px;gap:2px;border:1px solid var(--warning-line);background:var(--surface);border-radius:var(--radius-sm);padding:8px 10px}.warning-item strong{font-size:.95rem}.warning-item span{font-weight:700}.warning-item small{font-size:.82rem;color:var(--ink-soft)}.warning-pay-btn{margin-top:4px;width:-moz-fit-content;width:fit-content}.compact-warning{width:min(300px,100%);display:inline-grid;gap:2px;padding:10px 14px;cursor:pointer;vertical-align:top;border-radius:var(--radius-sm)}.compact-warning h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--warning);margin:0}.compact-warning p{margin:0;font-size:.88rem;color:var(--ink-soft)}.compact-warning .alert-total{margin-top:4px;font-size:1.15rem;line-height:1.05;color:var(--ink)}.compact-warning .warning-list{display:none}.management-card{margin-top:18px}.management-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.management-header .kicker,.management-header h3{margin:0}.mesa-management-card{border-color:var(--info-line)}.debt-management-card{border-color:var(--warning-line)}.grouped-debts{margin-top:18px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,32,.5);display:grid;place-items:center;z-index:1000;padding:20px}.modal-card{width:min(760px,100%);background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--line);padding:16px;box-shadow:var(--shadow-lg)}.checkout-modal{width:min(920px,100%);padding:24px}.debt-checkout-modal{background:var(--surface);border-top:4px solid var(--warning)}.debt-checkout-modal .checkout-title{color:var(--ink)}.checkout-title{margin-top:0;margin-bottom:14px;font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:700}.checkout-heading{display:flex;align-items:center;gap:14px;margin-bottom:16px}.checkout-heading .checkout-title,.checkout-heading .kicker{margin:0}.checkout-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-md);color:#fff;background:var(--success);font-size:1.5rem;font-weight:800}.checkout-logo.debt-logo{color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-line)}.checkout-summary-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;grid-gap:10px;gap:10px;margin-bottom:14px}.checkout-summary-box{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;background:var(--surface-alt)}.checkout-summary-box span{display:block;font-size:.75rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase}.checkout-summary-box strong{margin:2px 0 0;font-size:clamp(1.1rem,2vw,1.4rem)}.checkout-summary-box.total-box strong{color:var(--success)}.checkout-table td,.checkout-table th{font-size:1rem;padding-top:12px;padding-bottom:12px}.checkout-items-scroll{max-height:260px;overflow-y:auto;border-bottom:1px solid var(--line)}.checkout-items-scroll thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface);z-index:1}.debt-checkout-modal .checkout-items-scroll thead th,.debt-payment-summary{background:var(--warning-bg)}.debt-payment-summary{border:1px solid var(--warning-line);border-radius:var(--radius-md);padding:18px;display:grid;grid-gap:4px;gap:4px}.debt-payment-summary span{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--warning)}.debt-payment-summary strong{margin:0;font-size:clamp(1.8rem,3.4vw,2.4rem);color:var(--ink)}.debt-payment-summary small{font-weight:700;color:var(--warning)}.checkout-input{font-size:1.2rem;font-weight:600;padding:14px 16px;min-height:52px}.checkout-change{margin:8px 2px 0;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:700}.checkout-total{font-size:clamp(1.4rem,2.4vw,1.75rem);font-weight:700}.checkout-modal .inline-actions .btn{min-height:46px;font-size:1rem;padding:12px 18px}.checkout-confirm{font-size:1rem}.checkout-review-trigger{min-width:240px;min-height:54px!important;font-size:1.05rem!important;border-radius:var(--radius-md)}.checkout-review-panel{margin-top:14px;border:1px solid var(--success-line);border-radius:var(--radius-md);background:var(--success-bg);padding:16px;display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px;align-items:center}.checkout-review-panel span{display:block;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--success)}.checkout-review-panel strong{margin:3px 0;font-size:clamp(1.25rem,2.2vw,1.7rem)}.checkout-review-panel small{display:block;font-weight:700;color:var(--ink-soft)}.checkout-review-actions{display:flex;gap:10px;align-items:center}.checkout-accept{min-height:56px;min-width:230px;border-radius:var(--radius-md);font-size:1.05rem}.btn-sale-main{min-width:132px;min-height:48px;border-radius:var(--radius-md);background:var(--success);font-size:1.1rem}.customer-suggestions{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:6px;display:grid;grid-gap:4px;gap:4px;box-shadow:var(--shadow-md)}.autocomplete{position:relative;margin-bottom:8px}.autocomplete-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:260px;overflow-y:auto;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:6px;display:grid;grid-gap:4px;gap:4px;box-shadow:var(--shadow-lg)}.customer-option{border:1px solid transparent;background:var(--surface);color:var(--ink);text-align:left;border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer}.customer-option.active,.customer-option:hover{border-color:var(--accent);background:var(--accent-soft)}.product-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px}.product-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:12px;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.product-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.product-card strong{font-size:.9rem;font-weight:600;line-height:1.12;color:var(--ink)}.product-card small,.product-card span{display:block;color:var(--ink-soft)}.product-card p{margin:6px 0 0;font-size:1.02rem;font-weight:700;color:var(--ink)}.cart-list{margin-top:12px;display:grid;grid-gap:8px;gap:8px}.debt-account-preview{margin-top:14px;border:1px solid var(--warning-line);border-radius:var(--radius-sm);background:var(--warning-bg);padding:12px;display:grid;grid-gap:10px;gap:10px}.debt-account-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.debt-account-header span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--warning)}.debt-account-header b,.debt-account-header strong{font-size:1.2rem}.debt-account-header b{color:var(--success)}.debt-account-items{max-height:190px;overflow-y:auto;display:grid;grid-gap:6px;gap:6px}.debt-account-item{display:grid;grid-template-columns:1fr auto;grid-gap:4px 10px;gap:4px 10px;border:1px solid var(--warning-line);border-radius:var(--radius-sm);background:var(--surface);padding:8px 10px}.debt-account-item span{font-weight:600}.debt-account-item small{color:var(--ink-soft)}.debt-account-item b{grid-row:span 2;align-self:center;font-size:1.05rem;color:var(--ink)}.cart-row{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px}.cart-item-name{font-size:.96rem!important;font-weight:600!important;line-height:1.15}.cart-item-price{display:block;margin-top:4px;font-size:1.15rem;font-weight:700;color:var(--ink)}.cart-row-actions{display:flex;align-items:center;gap:8px}.cart-row-actions .btn{white-space:nowrap}.qty-input{max-width:88px;font-size:1rem;font-weight:700}.cart-footer{margin-top:12px;display:flex;justify-content:space-between;align-items:center}.cart-total{font-size:clamp(1.4rem,2.2vw,1.8rem)!important;font-weight:700}table{width:100%;border-collapse:collapse;margin-top:8px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;font-size:.88rem}th{color:var(--ink-soft);font-weight:600}tbody tr:hover,th{background:var(--surface-alt)}.sale-history-row{position:relative}.sale-history-row:hover{background:var(--accent-soft)}.sale-hover-card{position:absolute;right:78px;top:34px;width:min(430px,70vw);max-height:360px;overflow-y:auto;display:none;z-index:20;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg)}.sale-history-row:hover .sale-hover-card{display:grid;grid-gap:8px;gap:8px}.sale-hover-card>strong{margin:0;font-size:1.05rem}.sale-hover-card small,.sale-hover-card>span{color:var(--ink-soft)}.sale-hover-products{display:grid;grid-gap:6px;gap:6px}.sale-hover-product{display:grid;grid-template-columns:1fr auto auto;grid-gap:10px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:6px}.sale-hover-product span{font-weight:500}.sale-hover-product b,.sale-hover-product em{font-style:normal;font-weight:700}.sale-hover-payment{display:grid;grid-gap:4px;gap:4px;padding:10px;border-radius:var(--radius-sm);background:var(--accent-soft);font-weight:700;color:var(--accent-ink)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.success-box{top:12px;right:12px;left:12px;width:auto}.app-root{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.content{padding:22px}.pos-layout{grid-template-columns:1fr}.checkout-modal{width:100%;padding:16px}.checkout-table td,.checkout-table th{font-size:1.02rem}.checkout-input{font-size:1.12rem;min-height:50px}.checkout-change,.checkout-total{font-size:1.3rem}}