:root{--bg: #f7f3ec;--surface: #ffffff;--border: #ddd2bd;--text: #2c2620;--text-muted: #756b5c;--primary: #4b6043;--primary-hover: #384a32;--accent: #a1532c;--danger: #a1352a;--radius: 8px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:48px 40px;max-width:380px;width:100%;text-align:center}.login-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--accent);font-weight:600;margin:0 0 8px}.login-card h1{font-family:Georgia,Times New Roman,serif;font-size:32px;margin:0 0 12px}.login-sub{color:var(--text-muted);margin:0 0 28px;font-size:15px}.notice-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.app-shell{min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.app-title{font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:700;margin:0;line-height:1.2}.app-subtitle{margin:0;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.tabs{display:flex;gap:4px;margin-left:auto}.tab{border:none;background:transparent;padding:10px 16px;border-radius:var(--radius);font-size:15px;color:var(--text-muted);cursor:pointer}.tab.active{background:var(--bg);color:var(--text);font-weight:600}.user-info{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted)}.role-badge{font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:100px;font-weight:700}.role-admin{background:#e4ebe1;color:var(--primary)}.role-viewer{background:#ece8e0;color:var(--text-muted)}main{padding:24px;max-width:1100px;margin:0 auto}.toolbar{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.search-input{flex:1;min-width:200px}input,select,textarea{font-family:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.btn{border:none;border-radius:var(--radius);padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;min-height:44px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-large{width:100%;padding:14px;font-size:16px}.btn-icon{background:transparent;border:none;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:6px 10px;min-height:36px}.btn-danger{color:var(--danger)}.category-group{margin-bottom:32px}.category-group h2{font-size:16px;font-weight:700;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid var(--primary);display:inline-block}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}tbody tr:last-child td{border-bottom:none}.product-name{font-weight:600;white-space:normal}.row-actions{display:flex;gap:4px}.stock-input{width:70px;padding:6px 8px}.muted{color:var(--text-muted)}.small{font-size:12px}.error-text{color:var(--danger)}.hint{font-weight:400;color:var(--text-muted);font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c262073;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:100}.modal{background:var(--surface);border-radius:12px;padding:28px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:14px}.modal h2{margin:0 0 4px;font-family:Georgia,Times New Roman,serif}.modal label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text-muted)}.form-row{display:flex;gap:12px}.form-row>label{flex:1}.checkbox-row{flex-direction:row!important;align-items:center;gap:8px!important}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media (max-width: 720px){.app-header{flex-direction:column;align-items:flex-start}.tabs{margin-left:0}.user-info{width:100%;justify-content:space-between}main{padding:16px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.checkout-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}@media (max-width: 800px){.checkout-grid{grid-template-columns:1fr}}.checkout-label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 8px}.checkout-left,.checkout-right{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.search-dropdown{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:4px;overflow:hidden}.search-dropdown-item{display:flex;justify-content:space-between;width:100%;padding:12px 14px;border:none;border-bottom:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;font-size:15px}.search-dropdown-item:last-child{border-bottom:none}.search-dropdown-item:hover{background:var(--bg)}.cart{margin-top:16px;display:flex;flex-direction:column;gap:10px}.cart-line{display:grid;grid-template-columns:1fr 60px 70px 32px;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.cart-line-name{font-weight:600;font-size:14px}.cart-line-price{text-align:right;font-weight:600}.selected-customer{display:flex;justify-content:space-between;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.totals-box{margin:20px 0;padding:16px;background:var(--bg);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px}.totals-box>div{display:flex;justify-content:space-between;font-size:14px;color:var(--text-muted)}.totals-total{font-size:18px!important;font-weight:700;color:var(--text)!important;padding-top:8px;border-top:1px solid var(--border)}.payment-options{display:flex;gap:8px;margin-bottom:6px}.payment-option{flex:1;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-weight:600;cursor:pointer;min-height:44px}.payment-option.active{background:var(--primary);color:#fff;border-color:var(--primary)}.payment-note{margin:0 0 20px}.settings-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:20px}.settings-box label{display:flex;flex-direction:column;font-size:12px;font-weight:700;color:var(--text-muted);gap:4px}.tax-rate-input{width:100px}.inline-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted)}.day-total{margin-left:auto;font-weight:700;font-size:16px}.voided-row{opacity:.5}.voided-tag{margin-left:8px;font-size:10px;font-weight:700;color:var(--danger);letter-spacing:.05em}.receipt-wrap{background:var(--surface);border-radius:12px;padding:24px;max-width:340px;width:100%}.receipt{font-family:Courier New,monospace;font-size:13px}.receipt-store{text-align:center;font-weight:700;font-size:15px;margin:0 0 4px}.receipt-meta{text-align:center;margin:2px 0;color:var(--text-muted)}.receipt-items{width:100%;border-collapse:collapse;margin:10px 0}.receipt-items td{padding:4px 0;border:none;white-space:normal;vertical-align:top}.receipt-line-detail{color:var(--text-muted);font-size:11px}.receipt-amount{text-align:right;white-space:nowrap!important}.receipt-totals>div{display:flex;justify-content:space-between;padding:2px 0}.receipt-total-line{font-weight:700;border-top:1px dashed var(--border);margin-top:4px;padding-top:6px!important}.receipt-footer{text-align:center;margin-top:12px}@media print{body *{visibility:hidden}.receipt,.receipt *{visibility:visible}.receipt{position:absolute;left:0;top:0;width:80mm}.no-print{display:none!important}}.refund-items{display:flex;flex-direction:column;gap:10px;max-height:260px;overflow-y:auto}.refund-item-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.refund-total{font-weight:700;font-size:16px;text-align:right}.traceability{margin-top:16px;padding-top:12px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:10px}.trace-item{font-size:13px;background:var(--bg);border-radius:var(--radius);padding:8px 10px}.trace-voided{color:var(--danger)}
