:root{--bg-app:#0c0f14;--bg-sidebar:#11151d;--bg-surface:#161b24;--bg-surface-hover:#1c222e;--bg-surface-elevated:#222937;--bg-input:#0e1218;--bg-table-header:#131720;--bg-table-stripe:#151a23;--bg-primary:var(--bg-app);--bg-secondary:var(--bg-sidebar);--bg-card:var(--bg-surface);--bg-card-hover:var(--bg-surface-hover);--border-subtle:#1e2430;--border-default:#2b3342;--border-medium:#364052;--border-strong:#465267;--border-focus:#c59b6d;--brand-champagne:#c59b6d;--brand-champagne-hover:#b38858;--brand-champagne-subtle:#c59b6d1f;--brand-champagne-border:#c59b6d59;--brand-pink:#c59b6d;--brand-pink-hover:#b38858;--border-accent:#c59b6d59;--success:#10b981;--success-bg:#10b9811f;--success-border:#10b98159;--warning:#f59e0b;--warning-bg:#f59e0b1f;--warning-border:#f59e0b59;--danger:#ef4444;--danger-bg:#ef44441f;--danger-border:#ef444459;--info:#0284c7;--info-bg:#0284c71f;--info-border:#0284c759;--text-main:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-dim:#475569;--text-highlight:#c59b6d;--font-body:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-display:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Consolas", monospace;--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 12px 32px #000000a6}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.45;overflow-x:hidden}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app-container{background-color:var(--bg-app);height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);z-index:50;-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;width:260px;height:100vh;display:flex}.sidebar-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:18px 16px;display:flex}.brand-badge{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--brand-champagne-border);width:38px;height:38px;color:var(--brand-champagne);letter-spacing:.5px;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.brand-info h1{letter-spacing:.8px;color:var(--text-main);font-size:15px;font-weight:700;line-height:1.2}.brand-info span{color:var(--brand-champagne);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:600}.cashier-status-card{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin:10px 12px;padding:8px 12px;display:flex}.cashier-status-card.aberto{border-color:var(--success-border);background:#10b9810d}.cashier-status-card.fechado{border-color:var(--danger-border);background:#ef44440d}.status-dot{background-color:var(--success);width:7px;height:7px;box-shadow:0 0 6px var(--success);border-radius:50%}.cashier-status-card.fechado .status-dot{background-color:var(--danger);box-shadow:0 0 6px var(--danger)}.nav-links{flex-direction:column;flex:1;gap:2px;padding:8px;list-style:none;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:var(--text-main);background:var(--bg-surface)}.nav-item.active{color:#fff;background:var(--bg-surface-elevated);border-color:var(--border-default);font-weight:600}.nav-item.active svg{color:var(--brand-champagne)}.sidebar-hotkey{border-radius:var(--radius-xs);background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:10px;font-family:var(--font-mono);margin-left:auto;padding:1px 5px;font-weight:600}.sidebar-footer{border-top:1px solid var(--border-subtle);background:var(--bg-sidebar);align-items:center;gap:10px;padding:12px 14px;display:flex}.user-avatar{border-radius:var(--radius-xs);background:var(--bg-surface-elevated);border:1px solid var(--border-default);width:30px;height:30px;color:var(--brand-champagne);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text-main);font-size:12px;font-weight:600}.user-role{color:var(--text-muted);font-size:11px}.main-wrapper{background:var(--bg-app);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow-y:auto}.page-content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;margin:0;padding:16px 20px;display:flex}.btn{border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 14px;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-champagne);color:#0c0f14;border-color:var(--brand-champagne)}.btn-primary:hover:not(:disabled){background:var(--brand-champagne-hover);border-color:var(--brand-champagne-hover)}.btn-secondary{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-main)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-medium)}.btn-success{color:#fff;background:#059669;border-color:#059669}.btn-success:hover:not(:disabled){background:#047857;border-color:#047857}.btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-warning{color:#fff;background:#d97706;border-color:#d97706}.btn-warning:hover:not(:disabled){background:#b45309}.btn-sm{border-radius:var(--radius-xs);padding:5px 10px;font-size:12px}.btn-lg{border-radius:var(--radius-md);padding:12px 20px;font-size:15px}.card,.card-glass{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:16px}.card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.card-title{color:var(--text-main);letter-spacing:.3px;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.header-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-title{color:var(--text-main);font-size:18px;font-weight:700;line-height:1.2}.page-subtitle{color:var(--text-secondary);margin-top:3px;font-size:12px}.stats-grid,.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-direction:row;align-items:flex-start;gap:14px;padding:16px;display:flex;position:relative}.stat-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.stat-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.stat-title,.stat-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-size:11px;font-weight:700;line-height:1.3;display:block}.stat-icon,.stat-icon-wrapper{border-radius:var(--radius-xs);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--brand-champagne);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-icon-pink{color:var(--brand-champagne)}.stat-icon-emerald{color:var(--success)}.stat-icon-gold{color:var(--warning)}.stat-icon-cyan{color:var(--info)}.stat-icon-violet{color:var(--brand-champagne)}.stat-value{font-family:var(--font-mono);color:#fff;font-size:22px;font-weight:800;line-height:1.2;display:block}.stat-desc,.stat-sub{color:var(--text-secondary);font-size:11px;line-height:1.3;display:block}.badge{border-radius:var(--radius-xs);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);color:var(--text-secondary);align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.form-group{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.input-control{border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-default);width:100%;color:var(--text-main);font-size:13px;font-family:var(--font-body);outline:none;padding:8px 12px;transition:border-color .15s}.input-control:focus{border-color:var(--border-focus)}.input-control::placeholder{color:var(--text-dim)}.table-responsive{width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{background:var(--bg-table-header);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-default);border-top:1px solid var(--border-subtle);z-index:10;padding:9px 12px;font-size:11px;font-weight:700;position:sticky;top:0}.custom-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;padding:10px 12px;font-size:13px}.custom-table tbody tr:hover{background:var(--bg-surface-hover)}.custom-table tbody tr:nth-child(2n){background:var(--bg-table-stripe)}.custom-table tbody tr:nth-child(2n):hover{background:var(--bg-surface-hover)}.pdv-container{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.pdv-shortcuts-bar{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;display:flex}.pdv-hotkeys-list{align-items:center;gap:14px;display:flex}.pdv-hotkey-chip{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.pdv-hotkey-chip kbd{background:var(--bg-input);border:1px solid var(--border-default);color:var(--brand-champagne);border-radius:var(--radius-xs);font-family:var(--font-mono);padding:2px 6px;font-size:11px;font-weight:700}.pdv-quick-tools{align-items:center;gap:10px;display:flex}.pdv-layout{flex:1;grid-template-columns:1fr 400px;gap:12px;min-height:0;display:grid}.pdv-left-col{flex-direction:column;gap:10px;min-height:0;display:flex}.barcode-scanner-box{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;gap:12px;padding:8px 14px;transition:border-color .15s;display:flex}.barcode-scanner-box:focus-within{border-color:var(--border-focus)}.barcode-scanner-indicator{color:var(--brand-champagne);text-transform:uppercase;letter-spacing:.5px;border-right:1px solid var(--border-subtle);white-space:nowrap;align-items:center;gap:6px;padding-right:10px;font-size:11px;font-weight:700;display:flex}.barcode-scanner-input{color:#fff;font-size:15px;font-family:var(--font-mono);letter-spacing:.5px;background:0 0;border:none;outline:none;flex:1}.barcode-scanner-input::placeholder{color:var(--text-dim);font-family:var(--font-body);letter-spacing:0;font-size:13px}.pdv-items-table-wrapper{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.pdv-empty-cart{color:var(--text-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.pdv-empty-cart-title{color:var(--text-secondary);font-size:15px;font-weight:600}.pdv-empty-cart-sub{color:var(--text-muted);font-size:12px}.grade-badge{border-radius:var(--radius-xs);background:var(--bg-surface-elevated);border:1px solid var(--border-default);color:var(--brand-champagne);align-items:center;margin-right:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-flex}.ref-badge{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.pdv-right-col{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-direction:column;justify-content:space-between;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.total-display-box{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);text-align:right;flex-direction:column;padding:14px 16px;display:flex}.total-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.8px;font-size:11px;font-weight:700}.total-amount{font-family:var(--font-mono);color:#fff;letter-spacing:-.5px;margin-top:2px;font-size:38px;font-weight:800;line-height:1.1}.total-volume{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:500}.payment-methods-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.payment-btn{border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;flex-direction:column;align-items:center;gap:5px;padding:10px 8px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.payment-btn:hover{background:var(--bg-surface-elevated);color:var(--text-main);border-color:var(--border-medium)}.payment-btn.active{background:var(--bg-surface-elevated);border-color:var(--brand-champagne);color:#fff}.payment-btn.active svg{color:var(--brand-champagne)}.payment-btn-full{flex-direction:row;justify-content:center;gap:8px;width:100%;margin-top:6px;padding:8px 12px}.btn-finish-sale{border-radius:var(--radius-sm);color:#fff;cursor:pointer;letter-spacing:.5px;-webkit-user-select:none;user-select:none;background:#059669;border:1px solid #047857;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 18px;font-size:16px;font-weight:800;transition:background .15s;display:flex}.btn-finish-sale:hover:not(:disabled){background:#047857}.btn-finish-sale:disabled{opacity:.5;cursor:not-allowed;background:#2b3342;border-color:#364052}.client-info-strip{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex}.client-info-cell{color:var(--text-muted);align-items:center;gap:6px;display:flex}.client-info-cell strong{color:var(--text-main)}.status-pill{border-radius:var(--radius-xs);border:1px solid #0000;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.status-pill.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.status-pill.warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.status-pill.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.status-pill.info{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.modal-overlay{z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-lg);padding:20px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.thermal-receipt{color:#000;font-family:var(--font-mono);width:300px;box-shadow:var(--shadow-md);text-transform:uppercase;background:#fff;border-radius:2px;margin:0 auto;padding:14px 10px;font-size:11px;line-height:1.35}.receipt-header{text-align:center;margin-bottom:8px}.receipt-divider{border-top:1px dashed #000;margin:6px 0}.receipt-line{justify-content:space-between;margin-bottom:2px;display:flex}@media print{body *{visibility:hidden}.thermal-receipt-printable,.thermal-receipt-printable *{visibility:visible}.thermal-receipt-printable{box-shadow:none;background:0 0;padding:0;position:absolute;top:0;left:0;width:80mm!important}}
