:root {
  color-scheme: light;
  --bg-deep:#eff3f5;--bg-primary:#eff3f5;--bg-secondary:#fff;--bg-surface:#fff;--bg-elevated:#f5f7f8;--bg-glass:#fff;--bg-glass-strong:#fff;
  --border-subtle:#dce4e8;--border-glass:#dce4e8;--border-hover:#a3b4bd;
  --text-primary:#172f3c;--text-secondary:#526774;--text-muted:#526774;
  --gold:#af6b13;--gold-light:#94580b;--gold-bg:#fff4de;--ruby:#b52b41;--ruby-bg:#fff0f2;
  --emerald:#205b52;--emerald-bg:#eaf5f1;--sapphire:#235c8b;--sapphire-bg:#eef5fb;--yellow:#af6b13;
  --font-sans:'DM Sans',system-ui,sans-serif;--font-display:'DM Sans',system-ui,sans-serif;
  --primary:#205b52;--surface:#fff;--ink:#172f3c;--muted:#526774;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg-primary);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.5}
button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}
a{color:var(--primary)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}
:focus-visible{outline:3px solid #235c8b;outline-offset:3px}
[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;background:#fff;padding:12px}.skip-link:focus{top:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;border:1px solid transparent;padding:10px 20px;text-decoration:none;font-weight:700;transition:background .15s,color .15s}
.button.primary{background:var(--primary);color:#fff}.button.primary:hover{background:#17473f}.button.secondary{background:#fff;border-color:#c5d2d9;color:var(--ink)}.button.secondary:hover{background:#f1f5f6}.button.subtle{background:transparent;color:var(--muted)}.button.subtle:hover{background:#e4ecef}.full{width:100%}
.terminal-header{max-width:1180px;margin:auto;display:flex;justify-content:space-between;align-items:center;min-height:90px;padding:20px 32px;border-bottom:1px solid var(--border-subtle);gap:16px}
.terminal-brand{font-family:'DM Serif Display',Georgia,serif;font-size:34px;line-height:1;letter-spacing:-1px;text-decoration:none;color:var(--ink)}.terminal-brand>span{color:var(--gold)}.terminal-brand small{display:block;font:600 10px var(--font-sans);letter-spacing:2px;margin-top:7px;color:var(--muted)}
.terminal-user{display:flex;gap:14px;align-items:center}.terminal-user>span{max-width:180px;overflow-wrap:anywhere;font-weight:600}
.terminal-main{max-width:1100px;margin:auto;padding:32px 32px 140px}.terminal-intro{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}
.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin:0 0 7px}h1{font-size:30px;letter-spacing:-1px;margin:0;line-height:1.2}h2{font-size:18px;margin:0 0 8px}p{margin:0 0 16px}.connection{font-size:12px;border:1px solid #bed9cd;background:#eaf5f1;color:var(--primary);padding:8px 12px;border-radius:24px;white-space:nowrap}.connection:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:7px}.connection.offline{color:var(--ruby);background:#fff0f2;border-color:#edb9c1}
.sale-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:start}.operation-panel{background:#fff;border:1px solid var(--border-subtle);border-radius:18px;padding:28px;min-width:0}.panel-heading{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--border-subtle);padding-bottom:20px;margin-bottom:24px}.panel-heading h2{margin-bottom:2px}.panel-heading p{color:var(--muted);font-size:13px;margin:0}.ticket-icon{width:44px;height:44px;border-radius:12px;background:var(--gold-bg);color:var(--gold);display:grid;place-items:center;font-size:24px}
.operation-panel label{display:block;font-weight:600;font-size:13px;margin:18px 0 8px}.operation-panel input,.operation-panel select{width:100%;min-height:50px;border:1px solid #c5d2d9;border-radius:10px;background:#fff;color:var(--ink);padding:12px}.operation-panel input:focus,.operation-panel select:focus{border-color:var(--primary)}.field-header{display:flex;justify-content:space-between;align-items:end;gap:8px}.field-header span{font-size:12px;margin-bottom:8px;color:var(--muted)}
.quantity-chips{display:flex;gap:8px;margin:5px 0 12px}.quantity-chips button{flex:1;min-height:42px;border:1px solid var(--border-subtle);border-radius:8px;background:#fff;color:var(--ink);font-weight:600}.quantity-chips button[aria-pressed=true]{background:var(--emerald-bg);border-color:var(--primary);color:var(--primary)}.quantity-stepper{display:flex;gap:10px}.quantity-stepper button{border:1px solid var(--border-subtle);border-radius:10px;background:#f5f7f8;font-size:26px;width:54px;flex-shrink:0}.quantity-stepper input{text-align:center;font-size:20px;font-weight:700}.customer-details{margin:24px 0;border-top:1px solid var(--border-subtle);padding-top:20px}.customer-details summary{font-size:14px;font-weight:600;cursor:pointer;min-height:32px}.customer-details summary span{float:right;font-weight:400;color:var(--muted);font-size:12px}
.sale-total{border-top:1px dashed #c5d2d9;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px 0}.sale-total span{font-size:13px;color:var(--muted)}.sale-total strong{font-size:28px;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:var(--primary)}.sale-hint{font-size:12px;text-align:center;color:var(--muted);margin:12px 0 4px}.receipt-preview{background:#fbfcfd;border-top:4px solid var(--gold)}.receipt-empty{padding:24px 0;color:var(--muted);font-size:14px}.text-link{font-weight:600;text-decoration:none;font-size:14px}.text-link:hover{text-decoration:underline}.receipt-numbers{display:flex;flex-wrap:wrap;gap:8px;padding:20px 0}.receipt-numbers span{border:1px solid #ddc9a8;background:var(--gold-bg);color:#734711;font:700 17px ui-monospace,monospace;border-radius:8px;padding:8px 10px}.receipt-code{border-top:1px dashed #c5d2d9;padding:18px 0}.receipt-code span{display:block;font-size:12px;color:var(--muted)}.receipt-code strong{font:700 18px ui-monospace,monospace;letter-spacing:2px}
.terminal-nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:4px;width:min(540px,calc(100% - 32px));padding:8px;border:1px solid var(--border-subtle);border-radius:18px;background:#fff;box-shadow:0 8px 40px #172f3c14;z-index:50}.terminal-nav a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:600;text-decoration:none;color:var(--muted);min-height:56px;border-radius:12px}.terminal-nav a span{font-size:22px;line-height:1}.terminal-nav a[aria-current=page]{background:var(--primary);color:#fff}.terminal-nav a:hover{background:#eaf5f1;color:var(--primary)}
.operation-feedback{padding:16px 20px;border:1px solid #bed9cd;background:#eaf5f1;color:var(--primary);border-radius:12px;margin-bottom:20px}.operation-feedback.error{background:#fff0f2;color:var(--ruby);border-color:#edb9c1}.pending-notice{background:#fff4de;border:1px solid #ddc9a8;border-radius:14px;padding:24px;margin-bottom:24px}.pending-notice p{color:#734711;font-size:14px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.summary-card strong{display:block;font-size:30px;font-variant-numeric:tabular-nums;margin:14px 0;color:var(--primary)}.summary-card small,.section-note{color:var(--muted);font-size:13px}.section-note{margin:20px 0}.period-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.period-filter button{min-height:42px;background:#fff;border:1px solid var(--border-subtle);border-radius:8px;padding:8px 14px;color:var(--ink)}.period-filter button[aria-pressed=true]{background:var(--primary);color:#fff}.section-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-actions p{margin:0;color:var(--muted)}.history-list{display:grid;gap:12px}.history-card{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--border-subtle);background:#fff;border-radius:14px;padding:20px}.history-card p{font-size:13px;color:var(--muted);margin-bottom:6px}.history-card>div:last-child{display:flex;flex-direction:column;align-items:end;gap:8px}.history-card strong{font-size:20px;color:var(--primary)}.history-card small{font-size:12px;color:var(--muted)}.sale-status{font-size:11px;margin-left:10px;color:var(--muted)}.empty-operation{padding:48px 24px;text-align:center;background:#fff;border:1px dashed #c5d2d9;border-radius:14px}.empty-operation p{color:var(--muted)}
/* Painel administrativo: superfícies legíveis e navegação de operação. */
.sidebar{background:#205b52;border:0;color:#fff}.sidebar .brand-text,.sidebar .user-name,.sidebar .nav-item{color:#fff}.sidebar .nav-item{opacity:.85}.sidebar .nav-item.active{background:#ffffff18;color:#fff;opacity:1;border-left:3px solid #f4bc63}.sidebar .user-role{color:#cfdfdb}.sidebar .logo-icon{background:#ffffff14}.sidebar .user-avatar{color:#fff;background:#ffffff20}.sidebar-footer{border-color:#ffffff20}.sidebar-header .brand-text{font-family:'DM Serif Display',Georgia,serif}.sidebar .brand-text span{color:#f4bc63}.sidebar a[href="download.html"]{color:#fff!important;background:#ffffff14!important;border-color:#ffffff20!important}.sidebar .btn-ghost{color:#fff}
.topbar{background:#fff;border-bottom:1px solid var(--border-subtle);backdrop-filter:none}.page-title{font-family:var(--font-sans);font-size:22px;font-weight:700}.page-content{max-width:1500px;margin:auto}.stat-card,.chart-card,.data-card,.table-wrapper,.glass-panel{background:#fff;backdrop-filter:none;box-shadow:none;border:1px solid var(--border-subtle)}.stat-value{font-variant-numeric:tabular-nums}.stat-card:before,.data-card:before{display:none}.stat-card:hover{transform:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:none}.btn-primary:hover{background:#17473f;box-shadow:none}.btn-secondary{background:#fff;border-color:#c5d2d9;color:var(--ink)}.filter-btn.active,.tab-btn.active{background:var(--emerald-bg);color:var(--primary);border-color:var(--primary)}.section-header h2,.card-title{font-family:var(--font-sans);font-weight:700}.table-scroll{overflow-x:auto}table{font-variant-numeric:tabular-nums}th{background:#f5f7f8}td{overflow-wrap:anywhere}.modal-overlay{background:#172f3c80}.modal{background:#fff;color:var(--ink)}.toast{background:#fff;color:var(--ink)}.number-ball{background:var(--gold-bg);color:#734711;box-shadow:none;animation:none}
.login-page{background:#eff3f5;min-height:100dvh;padding:32px}.login-card{background:#fff;border:1px solid var(--border-subtle);box-shadow:0 20px 60px #172f3c0c;backdrop-filter:none}.login-brand h1{font-family:'DM Serif Display',Georgia,serif;color:var(--ink)}.login-brand p{color:var(--muted)}.particles,.orb{display:none}.login-brand .logo-icon{background:var(--emerald-bg);color:var(--primary);box-shadow:none}.login-form .btn{min-height:52px}.login-card .login-context{font-size:13px;line-height:1.7;color:var(--muted);text-align:center;margin-top:20px}
.print-only{display:none}
.btn-primary:hover:not(:disabled){background:#17473f;color:#fff;transform:none;box-shadow:none}.login-card:before,.login-card:after{display:none}.modal-box{background:#fff;box-shadow:0 20px 60px #172f3c33}.login-page:before,.login-page:after{display:none}
.stat-value{background:none;-webkit-text-fill-color:currentColor;background-clip:border-box;color:var(--ink)}body:before,body:after{display:none}.stat-emerald .stat-value{color:var(--primary)}.sidebar-header .logo-icon{box-shadow:none}.sidebar-header .brand-text span{-webkit-text-fill-color:#f4bc63;background:none}.table-wrapper thead{background:#f5f7f8}
.operation-shortcuts{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#eaf5f1;border:1px solid #bed9cd;border-radius:14px;padding:24px;margin:24px 0 32px}.operation-shortcuts h2{font-size:18px}.operation-shortcuts p{margin:0;color:var(--muted);font-size:13px}.operation-shortcuts .eyebrow{margin-bottom:6px;font-size:10px}.operation-shortcuts>div:last-child{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.stat-card{animation:none}.stat-label{text-transform:none}.stat-value{font-weight:700}
.stat-card .stat-value{animation:none;font-weight:700;color:var(--ink)}.stat-card.stat-emerald .stat-value{color:var(--primary)}.stat-card .stat-label{text-transform:none}.table-wrapper th{background:#f5f7f8}.terminal-nav{bottom:max(20px,env(safe-area-inset-bottom))}
@media(min-width:769px){.terminal-main{padding-bottom:170px}.terminal-nav{position:relative;bottom:auto;left:auto;transform:none;margin:-110px auto 24px}}
@media(max-width:768px){.terminal-nav{bottom:0}}
@media(max-width:768px){.operation-shortcuts{flex-direction:column;align-items:start;padding:20px}.operation-shortcuts>div:last-child{width:100%}.operation-shortcuts .button{flex:1;white-space:nowrap;padding:10px 14px}}
@media(max-width:768px){.terminal-header{padding:16px 20px;min-height:80px}.terminal-brand{font-size:28px}.terminal-main{padding:24px 16px calc(120px + env(safe-area-inset-bottom))}.terminal-intro{align-items:start;gap:12px}.terminal-intro h1{font-size:26px}.terminal-intro .eyebrow{font-size:10px}.connection{font-size:10px;padding:7px 9px}.sale-layout{grid-template-columns:1fr;gap:16px}.operation-panel{padding:22px}.terminal-nav{bottom:0;left:0;transform:none;width:100%;border-radius:16px 16px 0 0;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.terminal-user{gap:4px}.terminal-user>span{max-width:130px;font-size:12px}.history-card{padding:16px;gap:12px}.history-card h2{font-size:15px}.history-card strong{font-size:17px}.summary-grid{gap:12px}.summary-card{padding:18px}.summary-card strong{font-size:24px}.sidebar{padding-top:env(safe-area-inset-top)}.topbar{padding-top:max(12px,env(safe-area-inset-top))}.section-header{flex-wrap:wrap;gap:16px}.login-page{padding:20px}.login-card{padding:32px 24px}}
@media(max-width:360px){.terminal-intro{flex-direction:column}.history-card{flex-direction:column}.history-card>div:last-child{align-items:start}.summary-grid{grid-template-columns:1fr}.sale-total strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{@page{margin:4mm}.no-print{display:none!important}body{background:#fff;color:#000}.print-only{display:block;font:12px 'Courier New',monospace;max-width:72mm;margin:0 auto;text-align:center}.print-only h2{font-size:18px}.print-only hr{border:0;border-top:1px dashed #000}.print-only p{overflow-wrap:anywhere}.print-only .receipt-numbers{justify-content:center}.print-only .receipt-numbers span{background:#fff;color:#000;border-color:#000;padding:4px}.print-only #receiptQr img,.print-only #receiptQr canvas{margin:auto}}
