.csm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a141080;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.csm-dialog{background:var(--cream);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow-modal);width:100%;max-width:440px;padding:28px;display:flex;flex-direction:column;gap:20px}.csm-header{display:flex;flex-direction:column;gap:3px}.csm-title{font-family:Fraunces,serif;font-size:20px;font-weight:600;color:var(--ink);font-variation-settings:"opsz" 40}.csm-subtitle{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-3)}.csm-summary{display:flex;flex-direction:column;gap:8px}.csm-stat{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:2px}.csm-stat-label{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-3)}.csm-stat-value{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:var(--ink)}.csm-tender-table{width:100%;border-collapse:collapse;font-size:13px}.csm-tender-table thead tr{border-bottom:1px solid var(--line)}.csm-tender-table th{padding:6px 10px;text-align:left;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3)}.csm-tender-table th:not(:first-child){text-align:right}.csm-tender-table tbody tr{border-bottom:1px dashed var(--line)}.csm-tender-table tbody tr:last-child{border-bottom:none}.csm-tender-table td{padding:8px 10px;font-family:Inter,sans-serif;color:var(--ink)}.csm-tender-table td:not(:first-child){text-align:right;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.csm-tender-type{font-weight:600;text-transform:capitalize}.csm-empty{text-align:center;font-family:Inter,sans-serif;color:var(--ink-3);font-size:13px;padding:12px}.csm-loading{text-align:center;font-family:Inter,sans-serif;color:var(--ink-3);font-size:13px;padding:24px 0}.csm-error{font-family:Inter,sans-serif;color:var(--rust);font-size:13px;padding:6px 0}.csm-actions{display:flex;gap:8px;justify-content:flex-end}.csm-btn-cancel{padding:9px 18px;border-radius:2px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.csm-btn-cancel:hover{background:var(--cream-2)}.csm-btn-confirm{padding:9px 20px;border-radius:2px;border:none;background:var(--rust-ink);color:#fff2de;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.csm-btn-confirm:hover:not(:disabled){background:var(--rust)}.csm-btn-confirm:disabled{opacity:.45;cursor:not-allowed}.pay-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a14108c;z-index:300;display:flex;align-items:center;justify-content:center}.pay-panel{background:var(--cream);border:1px solid var(--line);border-radius:2px;padding:28px 28px 24px;width:460px;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);overflow-y:auto;position:relative;box-shadow:var(--shadow-modal)}.pay-close{position:absolute;top:18px;right:18px;background:none;border:none;cursor:pointer;color:var(--ink-3);padding:4px;border-radius:2px;display:flex;align-items:center;transition:background .15s,color .15s}.pay-close:hover{background:var(--cream-2);color:var(--ink)}.pay-back{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:var(--ink-3);font-family:Inter,sans-serif;font-size:12px;font-weight:600;padding:0 0 18px;transition:color .15s}.pay-back:hover{color:var(--ink)}.pay-header{margin-bottom:24px;padding-right:32px}.pay-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;display:block}.pay-amount{font-family:JetBrains Mono,monospace;font-size:44px;font-weight:600;color:var(--ink);letter-spacing:-1.5px;line-height:1.05}.pay-rounding-note{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-3);margin-top:4px}.pay-rounding-delta{font-family:JetBrains Mono,monospace;color:var(--gold);font-weight:600}.pay-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pay-method-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 10px 16px;border:1px solid var(--line-2);border-radius:2px;background:var(--paper);cursor:pointer;transition:border-color .15s,background .15s;position:relative}.pay-method-card:hover:not(:disabled){border-color:var(--rust);background:#9a3b1f0a}.pay-method-card--disabled{opacity:.4;cursor:not-allowed}.pay-method-name{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--ink)}.pay-method-soon{position:absolute;top:5px;right:5px;background:var(--cream-2);color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:8px;font-weight:600;padding:1px 4px;border-radius:2px;letter-spacing:.5px;text-transform:uppercase}.cash-quick-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.cash-quick-btn{padding:6px 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--paper);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}.cash-quick-btn:hover{border-color:var(--ink-3);background:var(--cream-2)}.cash-quick-btn.active{border-color:var(--rust);background:var(--rust);color:#fff2de}.cash-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.cash-field-label{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:var(--ink)}.cash-input-wrap{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:2px;overflow:hidden;transition:border-color .15s;background:var(--paper)}.cash-input-wrap:focus-within{border-color:var(--ink)}.cash-prefix{padding:0 10px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600;color:var(--ink-3);-webkit-user-select:none;user-select:none;flex-shrink:0}.cash-input{flex:1;border:none;outline:none;font-family:JetBrains Mono,monospace;font-size:28px;font-weight:600;color:var(--ink);padding:10px 10px 10px 0;background:transparent;min-width:0}.cash-change-preview{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--ok);background:#3f6b3a0f;border:1px solid rgba(63,107,58,.18);border-radius:2px;padding:10px 14px;margin-bottom:18px;text-align:center}.cash-change-preview.insufficient{color:var(--rust);background:#9a3b1f0f;border-color:#9a3b1f2e}.pay-confirm-btn{width:100%;padding:14px;background:var(--rust);color:#fff2de;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.2px;transition:background .15s}.pay-confirm-btn:hover:not(:disabled){background:var(--rust-2)}.pay-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.pay-overlay--change{background:#1a1410ad}.pay-panel--change{text-align:center;padding:36px 28px 28px}.change-check{width:68px;height:68px;border-radius:999px;background:#3f6b3a1a;border:1px solid rgba(63,107,58,.25);color:var(--ok);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.change-title{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;display:block}.change-amount{font-family:JetBrains Mono,monospace;font-size:56px;font-weight:600;color:var(--ink);letter-spacing:-2px;line-height:1.05;margin-bottom:24px}.change-summary{border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-bottom:20px;text-align:left;background:var(--paper)}.change-row{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;font-family:Inter,sans-serif;font-size:13px;color:var(--ink);border-bottom:1px dashed var(--line)}.change-row:last-child{border-bottom:none}.change-row span:last-child{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.change-row--muted{color:var(--ink-3);font-size:12px}.change-row--muted span:last-child{font-size:12px}.pay-new-btn{width:100%;padding:14px;background:var(--ink);color:var(--cream);border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.2px;transition:background .15s}.pay-new-btn:hover{background:var(--ink-2)}.sale-layout{display:flex;height:calc(100vh - 52px);overflow:hidden}.sale-left{flex:1;display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line);background:var(--paper)}.cart-table-wrap{flex:1;overflow-y:auto}.cart-table{width:100%;border-collapse:collapse;font-size:13px}.cart-table thead tr{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1}.cart-table th{padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink-3);text-align:right;white-space:nowrap}.cart-table th.col-seq,.cart-table th.col-name{text-align:left}.cart-table th.col-name{display:flex;align-items:center;gap:6px}.cart-table th.col-qty{text-align:center}.col-seq{width:36px}.col-name{width:auto}.col-qty{width:108px}.col-price{width:96px}.col-disc{width:84px}.col-net{width:96px}.col-action{width:88px}.cart-row{border-bottom:1px dashed var(--line);cursor:pointer;transition:background .1s;border-left:2px solid transparent}.cart-row:hover{background:var(--cream)}.cart-row.selected{background:#9a3b1f0a;border-left-color:var(--rust)}.cart-row--deleted{opacity:.35;text-decoration:line-through;pointer-events:none;cursor:default}.cart-row--deleted:hover{background:inherit}.cart-table td{padding:10px 12px;vertical-align:middle;text-align:right;color:var(--ink)}.cart-table td.col-seq{text-align:left;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3)}.cart-table td.col-name{text-align:left}.cart-table td.col-action{text-align:center;padding:0 4px}.item-name{display:block;font-family:Fraunces,serif;font-size:14px;font-weight:600;font-variation-settings:"opsz" 40;color:var(--ink);letter-spacing:-.2px}.item-barcode{display:block;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-3);margin-top:2px;letter-spacing:.3px}.cart-table td.col-qty,.cart-table td.col-price,.cart-table td.col-disc,.cart-table td.col-net{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.tbl-icon-btn{background:none;border:none;cursor:pointer;color:var(--ink-3);padding:4px;display:inline-flex;align-items:center;border-radius:2px;transition:color .15s,background .15s;line-height:0}.tbl-icon-btn:hover{color:var(--ink);background:var(--cream-2)}.tbl-icon-btn--danger:hover{color:var(--rust);background:#9a3b1f14}.cart-member-bar{flex-shrink:0;padding:7px 12px;border-bottom:1px solid var(--line);background:var(--cream);display:flex;align-items:center;min-height:51.5px}.cmb-search{display:flex;align-items:center;gap:8px;width:100%}.cmb-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ink-3);flex-shrink:0}.cmb-search .member-input-wrap{flex:1;max-width:300px}.cmb-register{flex-shrink:0;white-space:nowrap}.cmb-active{display:flex;align-items:center;gap:8px;width:100%;background:#3f6b3a0f;border:1px solid rgba(63,107,58,.2);border-radius:4px;padding:6px 10px;color:var(--ok)}.cmb-active-name{font-family:Fraunces,serif;font-size:14px;font-weight:600;color:var(--ok);font-variation-settings:"opsz" 40}.cmb-sep{color:#3f6b3a4d;font-size:12px}.cmb-active-card{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3)}.cmb-active-points{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--ok)}.cmb-remove-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:#3f6b3a80;padding:3px;display:flex;align-items:center;border-radius:2px;transition:background .15s,color .15s}.cmb-remove-btn:hover{background:#3f6b3a1a;color:var(--ok)}.scan-dock{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--paper);border-top:1px solid var(--line-2);flex-shrink:0}.sale-toolbar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid var(--line);background:var(--cream);flex-shrink:0}.toolbar-spacer{flex:1}.display-btn{background:var(--paper);color:var(--ink-2);border:1px solid var(--line-2)}.display-btn:hover{filter:none;background:var(--cream-2)}.discard-btn{background:var(--paper);color:var(--rust);border:1px solid rgba(154,59,31,.25)}.discard-btn:hover:not(:disabled){filter:none;background:#9a3b1f0f;border-color:var(--rust)}.discard-btn:disabled{opacity:.35;cursor:not-allowed}.qty-multiplier{display:flex;align-items:center;gap:0;background:var(--paper);border:1px solid var(--line-2);overflow:hidden;flex-shrink:0}.qty-label{padding:0 6px 0 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--ink-3);letter-spacing:.5px}.qty-input{width:36px;border:none;background:transparent;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:var(--ink);padding:7px 8px 7px 0;outline:none;text-align:center}.barcode-wrap{flex:1;display:flex;align-items:center;border:1px solid var(--line-2);border-radius:2px;overflow:hidden;background:var(--paper);min-width:0;transition:border-color .15s}.barcode-wrap:focus-within{border-color:var(--ink)}.barcode-input{flex:1;border:none;outline:none;font-family:JetBrains Mono,monospace;font-size:13px;padding:8px 10px;color:var(--ink);background:transparent;min-width:0}.barcode-input::placeholder{color:var(--line-2)}.barcode-kbd-btn{background:none;border:none;border-left:1px solid var(--line);cursor:pointer;color:var(--ink-3);padding:7px 9px;display:flex;align-items:center;transition:background .15s;flex-shrink:0}.barcode-kbd-btn:hover{background:var(--cream-2)}.toolbar-btn{display:flex;align-items:center;gap:5px;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;cursor:pointer;padding:7px 12px;white-space:nowrap;flex-shrink:0;transition:filter .15s}.toolbar-btn:hover{filter:brightness(.93)}.shortcut-btn{background:var(--rust);color:#fff2de;min-height:35.5px}.sale-right{width:312px;flex-shrink:0;display:flex;flex-direction:column;background:var(--cream)}.sale-right-header{padding:8px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--cream-2)}.sale-right-header span{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3)}.member-section{padding:14px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.member-title{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;display:block}.member-input-wrap{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:2px;overflow:hidden;background:var(--paper);transition:border-color .15s}.member-input-wrap:focus-within{border-color:var(--ink)}.member-input{flex:1;border:none;outline:none;font-family:Inter,sans-serif;font-size:13px;padding:8px 10px;color:var(--ink);background:transparent;min-width:0}.member-input::placeholder{color:var(--line-2)}.member-edit-btn,.member-search-btn{background:none;border:none;border-left:1px solid var(--line);cursor:pointer;color:var(--ink-3);padding:7px 9px;display:flex;align-items:center;transition:background .15s}.member-edit-btn:hover,.member-search-btn:hover:not(:disabled){background:var(--cream-2)}.member-search-btn:disabled{opacity:.35;cursor:default}.member-active{display:flex;align-items:center;gap:8px;background:#3f6b3a0f;border:1px solid rgba(63,107,58,.2);border-radius:2px;padding:8px 10px}.member-active-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.member-active-name{font-family:Fraunces,serif;font-size:14px;font-weight:600;color:var(--ok);font-variation-settings:"opsz" 40;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-active-card{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-3)}.member-active-points{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--ok)}.member-remove-btn{background:none;border:none;cursor:pointer;color:var(--ink-3);padding:3px;display:flex;align-items:center;border-radius:2px;transition:background .15s,color .15s}.member-remove-btn:hover{background:var(--cream-2);color:var(--ink)}.member-search-error{font-family:Inter,sans-serif;font-size:12px;color:var(--rust);margin-top:4px}.member-register-link{background:none;border:none;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;color:var(--rust);padding:3px 0;text-align:left;margin-top:4px}.member-register-link:hover:not(:disabled){text-decoration:underline}.member-register-link:disabled{opacity:.4;cursor:default}.member-register-link.shortcut-btn{background:var(--rust);color:#fff2de;padding:7px 12px;border-radius:2px;margin-top:0;text-align:center;font-weight:600;display:flex;align-items:center;gap:5px}.member-register-link.shortcut-btn:hover:not(:disabled){text-decoration:none;background:var(--rust-2)}.member-register-link.shortcut-btn:disabled{opacity:.4}.quick-menu{padding:12px 16px 0;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.qm-title{font-family:Fraunces,serif;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}.qm-section{display:flex;flex-direction:column;gap:6px}.qm-section-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink-3)}.qm-btn{display:flex;align-items:center;gap:7px;width:100%;padding:8px 12px;border-radius:2px;border:1px solid var(--line);background:var(--cream);font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s;text-align:left}.qm-btn:hover{background:var(--cream-2);border-color:var(--line-2)}.qm-btn:disabled{opacity:.4;cursor:not-allowed}.qm-btn--danger{color:var(--rust);border-color:#9a3b1f40}.qm-btn--danger:hover{background:#9a3b1f0d;border-color:#9a3b1f66}.qm-no-shift{font-size:12px;color:var(--ink-3);padding:2px 0}.order-spacer{flex:1}.order-summary{flex-shrink:0;padding:14px 16px 0}.summary-meta{display:flex;align-items:center;gap:0;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:10px}.meta-item{flex:1;text-align:center;font-family:Inter,sans-serif;font-size:12px;color:var(--ink-3)}.meta-item strong{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--ink)}.meta-divider{width:1px;height:14px;background:var(--line)}.summary-row{display:flex;justify-content:space-between;align-items:center;font-family:Inter,sans-serif;font-size:14px;color:var(--ink);margin-bottom:9px}.summary-row span:last-child{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500}.discount-label{color:var(--ink-3);text-decoration:underline;cursor:pointer}.discount-value{color:var(--rust)}.summary-row--discount{color:var(--ok)}.summary-row--discount span:last-child{color:var(--ok)}.summary-row--vat{color:var(--ink-3);font-size:13px}.summary-row--vat span:last-child{font-size:14px}.summary-divider{height:1px;background:var(--line);margin:12px 0}.summary-total-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;display:block}.summary-total-amount{font-family:JetBrains Mono,monospace;font-size:36px;font-weight:600;color:var(--ink);letter-spacing:-1px;line-height:1;margin-bottom:6px;display:block}.summary-points-earn{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--ok);text-align:right;margin-bottom:0}.summary-member{display:flex;align-items:center;gap:5px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-family:Inter,sans-serif;font-size:12px;color:var(--ok)}.pay-btn{display:block;width:calc(100% - 32px);margin:14px 16px 16px;padding:14px;background:var(--rust);color:#fff2de;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.3px;transition:background .15s;text-align:center;flex-shrink:0}.pay-btn:hover{background:var(--rust-2)}.pay-btn:disabled{opacity:.4;cursor:not-allowed}.cart-empty{text-align:center!important;padding:48px 16px;color:var(--ink-3);font-family:Inter,sans-serif;font-size:13px;line-height:1.6}.badge-promo{display:inline-block;margin-left:5px;background:#3f6b3a1a;color:var(--ok);font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;padding:1px 4px;border-radius:2px;letter-spacing:.5px;text-transform:uppercase;vertical-align:middle}.badge-vat{display:inline-block;margin-left:5px;background:#4a5e9c14;color:#3a5299;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;padding:1px 4px;border-radius:2px;letter-spacing:.5px;text-transform:uppercase;vertical-align:middle}.badge-custom{display:inline-block;margin-left:5px;background:#b68a351a;color:var(--gold);font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;padding:1px 4px;border-radius:2px;letter-spacing:.5px;text-transform:uppercase;vertical-align:middle}.badge-rtc{display:inline-block;margin-left:5px;background:#3f6b3a12;color:var(--moss);font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;padding:1px 4px;border-radius:2px;letter-spacing:.5px;text-transform:uppercase;vertical-align:middle}.badge-flag{display:inline-block;margin-left:4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;padding:1px 4px;border-radius:2px;letter-spacing:.3px;text-transform:uppercase;vertical-align:middle}.badge-scan-issue{background:#b68a351a;color:var(--gold)}.badge-big-lot{background:#4a5e9c14;color:#3a5299}.badge-export-permit{background:#6b2a2a14;color:var(--wine)}.net-after-promo{display:block;color:var(--ok);font-weight:600}.net-before-promo{display:block;font-size:11px;color:var(--ink-3);text-decoration:line-through}.original-price{display:block;font-size:11px;color:var(--ink-3);text-decoration:line-through;margin-top:1px}.tbl-icon-btn--flagged{color:var(--wine)}.tbl-icon-btn--flagged:hover{color:var(--wine);background:#6b2a2a14}.qty-stepper{display:flex;align-items:center;justify-content:flex-end;gap:0}.qty-step-btn{width:22px;height:22px;border:1px solid var(--line-2);border-radius:2px;background:var(--paper);color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,border-color .12s,color .12s;padding:0}.qty-step-btn:hover:not(:disabled){background:var(--cream-2);border-color:var(--ink-3);color:var(--ink)}.qty-step-btn:disabled{opacity:.3;cursor:not-allowed}.qty-step-val{min-width:40px;text-align:center;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;color:var(--ink);padding:0 4px}.qty-input.qty-active{color:var(--rust)}.qty-multiplier--btn{cursor:pointer;border:1px solid var(--line-2);background:var(--paper);padding:0;transition:border-color .15s,background .15s}.qty-multiplier--btn:hover:not(:disabled){border-color:var(--ink-3);background:var(--cream-2)}.qty-multiplier--btn.qty-active{border-color:var(--rust);background:#9a3b1f0d}.qty-multiplier--btn.qty-active .qty-input{color:var(--rust)}.qty-multiplier--btn .qty-input{display:inline-block;cursor:pointer}.barcode-wrap.barcode-error{border-color:var(--rust)}.barcode-wrap.barcode-error .barcode-input::placeholder{color:var(--rust)}.member-input-wrap.member-error{border-color:var(--rust)}.member-input-wrap.member-error .member-input::placeholder{color:var(--rust)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a141080;z-index:200;display:flex;align-items:center;justify-content:center}.modal{background:var(--cream);border:1px solid var(--line);border-radius:2px;padding:24px;width:360px;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-modal)}.modal-title{font-family:Fraunces,serif;font-size:17px;font-weight:600;color:var(--ink);margin-bottom:3px;font-variation-settings:"opsz" 40}.modal-subtitle{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-3);margin-bottom:18px;line-height:1.5}.modal-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.modal-label{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:var(--ink)}.modal-input{border:1px solid var(--line-2);border-radius:2px;padding:9px 11px;font-family:Inter,sans-serif;font-size:14px;color:var(--ink);background:var(--paper);outline:none;width:100%;box-sizing:border-box;transition:border-color .15s}.modal-input:focus{border-color:var(--ink)}.modal-input:disabled{opacity:.55}.modal-error{font-family:Inter,sans-serif;font-size:12px;color:var(--rust);margin-bottom:10px;padding:8px 10px;background:#9a3b1f0f;border:1px solid rgba(154,59,31,.18);border-radius:2px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.btn-cancel{padding:8px 18px;border:1px solid var(--line-2);background:var(--paper);border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:background .15s}.btn-cancel:hover:not(:disabled){background:var(--cream-2)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-confirm{padding:8px 18px;background:var(--rust);color:#fff2de;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-confirm:hover:not(:disabled){background:var(--rust-2)}.btn-danger{padding:8px 18px;background:var(--rust-ink);color:#fff2de;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-danger:hover:not(:disabled){background:var(--rust)}.btn-danger:disabled,.btn-confirm:disabled{opacity:.45;cursor:not-allowed}.modal--multiplier{width:320px}.multiplier-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}.multiplier-preset-btn{padding:10px 0;font-family:JetBrains Mono,monospace;font-size:18px;font-weight:600;border:1px solid var(--line-2);border-radius:2px;background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.multiplier-preset-btn:hover{border-color:var(--ink-3);background:var(--cream-2)}.multiplier-preset-btn--active{border-color:var(--rust);background:var(--rust);color:#fff2de}.multiplier-divider{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-bottom:10px}.multiplier-custom-row{display:flex;gap:6px;align-items:center;margin-bottom:4px}.multiplier-custom-input{flex:1;margin-bottom:0}.modal--flags{width:400px}.flags-list{display:flex;flex-direction:column;gap:0;margin-bottom:8px}.flag-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s;border-radius:0}.flag-row:last-child{border-bottom:none}.flag-row:hover{background:var(--cream-2)}.flag-checkbox{width:18px;height:18px;border:1px solid var(--line-2);border-radius:2px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s;color:#fff2de}.flag-checkbox.checked{background:var(--rust);border-color:var(--rust)}.flag-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.flag-label{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--ink)}.flag-desc{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-3);line-height:1.4}.modal--shortcuts{width:520px;max-width:95vw}.shortcuts-empty{color:var(--ink-3);text-align:center;padding:24px 0;font-family:Inter,sans-serif;font-size:13px}.shortcuts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px;max-height:380px;overflow-y:auto}.shortcut-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;border:1px solid var(--line-2);border-radius:2px;background:var(--paper);cursor:pointer;transition:border-color .15s,background .15s;text-align:center;min-height:68px}.shortcut-card:hover{border-color:var(--rust);background:#9a3b1f0a}.shortcut-card-name{font-family:Fraunces,serif;font-size:12px;font-weight:600;color:var(--ink);font-variation-settings:"opsz" 40;line-height:1.2;word-break:break-word}.shortcut-card-price{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3)}.shortcut-card-price--custom{font-style:italic}.modal--more{width:340px}.modal-header-more{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.modal-title-more{font-family:Fraunces,serif;font-size:16px;font-weight:600;color:var(--ink);font-variation-settings:"opsz" 40}.modal-close-more{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:2px;cursor:pointer;color:var(--ink-3);transition:background .15s,color .15s}.modal-close-more:hover{background:var(--cream-2);color:var(--ink)}.more-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.more-menu-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;background:var(--paper);border:1px solid var(--line-2);border-radius:2px;cursor:pointer;transition:background .15s,border-color .15s;text-align:center}.more-menu-card:hover:not(:disabled){background:#9a3b1f0a;border-color:var(--rust)}.more-menu-card:disabled,.more-menu-card--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.more-menu-card-icon{display:flex;align-items:center;color:var(--ink-3)}.more-menu-card-icon--danger{color:var(--rust)}.more-menu-card-label{font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:var(--ink);line-height:1.2}.modal--discard{width:380px}.modal-textarea{width:100%;padding:8px 11px;border:1px solid var(--line-2);border-radius:2px;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;font-size:13px;line-height:1.5;resize:vertical;min-height:80px;transition:border-color .15s;outline:none}.modal-textarea:focus{border-color:var(--ink)}.db-page{padding:24px;display:flex;flex-direction:column;gap:20px;max-width:960px;margin:0 auto;height:calc(100vh - 52px);overflow-y:auto}.db-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.db-store-name{font-family:Fraunces,serif;font-size:24px;font-weight:600;color:var(--ink);display:block;font-variation-settings:"opsz" 40;letter-spacing:-.4px}.db-subtitle{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);display:block;margin-top:3px}.db-header-right{display:flex;align-items:center;gap:8px}.db-date-toggle{display:flex;border:1px solid var(--line-2);border-radius:2px;overflow:hidden}.db-date-btn{padding:6px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;background:var(--paper);border:none;cursor:pointer;color:var(--ink-3);transition:background .15s,color .15s}.db-date-btn.active{background:var(--ink);color:var(--cream)}.db-date-btn:not(.active):hover{background:var(--cream-2);color:var(--ink)}.db-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--paper);border:1px solid var(--line-2);border-radius:2px;cursor:pointer;color:var(--ink-3);transition:background .15s}.db-refresh-btn:hover:not(:disabled){background:var(--cream-2);color:var(--ink)}.db-refresh-btn:disabled{opacity:.55;cursor:default}@keyframes db-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.db-spin{animation:db-spin .8s linear infinite}.db-error{background:#9a3b1f0f;border:1px solid rgba(154,59,31,.18);color:var(--rust);border-radius:2px;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px}.db-loading{font-family:Inter,sans-serif;color:var(--ink-3);font-size:13px;padding:48px;text-align:center}.db-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.db-kpi-card{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:18px 20px;display:flex;flex-direction:column;gap:4px}.db-kpi-label{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:2px}.db-kpi-value{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.5px}.db-card{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:18px 20px}.db-card-title{font-family:Fraunces,serif;font-size:15px;font-weight:600;color:var(--ink);margin:0 0 14px;font-variation-settings:"opsz" 40}.db-shift-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.db-shift-grid>div{display:flex;flex-direction:column;gap:2px}.db-shift-lbl{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:1.5px}.db-shift-val{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:var(--ink)}.db-accent{color:var(--rust)}.db-chart-scroll{overflow-x:auto;padding-bottom:4px}.db-hourly-svg{display:block}.db-table{width:100%;border-collapse:collapse;font-size:13px}.db-table th{padding:7px 10px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;color:var(--ink-3);text-align:left;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:1.8px}.db-table th.num,.db-table td.num{text-align:right}.db-table td{padding:9px 10px;border-bottom:1px dashed var(--line);font-family:Inter,sans-serif;color:var(--ink)}.db-table td.num{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.db-table tr:last-child td{border-bottom:none}.db-rank{color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:11px;width:28px}.db-empty{font-family:Inter,sans-serif;color:var(--ink-3);font-size:13px;text-align:center;padding:20px 0}.db-tender-list{display:flex;flex-direction:column;gap:10px}.db-tender-row{display:grid;grid-template-columns:100px 56px 1fr 110px;align-items:center;gap:10px}.db-tender-type{font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--ink)}.db-tender-count{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3);text-align:right}.db-tender-bar-wrap{height:4px;background:var(--cream-2);border-radius:2px;overflow:hidden}.db-tender-bar{height:100%;background:var(--rust);border-radius:2px;min-width:2px;transition:width .4s ease}.db-tender-amount{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--ink);text-align:right}@media (max-width: 600px){.db-kpi-row{grid-template-columns:1fr 1fr}.db-kpi-row .db-kpi-card:last-child{grid-column:span 2}.db-tender-row{grid-template-columns:1fr 1fr}.db-tender-bar-wrap{display:none}}.promotions-page{max-width:860px;margin:0 auto;padding:24px 24px 48px}.promotions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.promotions-title{font-family:Fraunces,serif;font-size:28px;font-weight:600;margin:0 0 4px;color:var(--ink);font-variation-settings:"opsz" 40;letter-spacing:-.4px}.promotions-subtitle{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);margin:0}.promo-btn{padding:8px 16px;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:background .15s}.promo-btn:disabled{opacity:.45;cursor:not-allowed}.promo-btn--new{background:var(--rust);color:#fff2de;white-space:nowrap}.promo-btn--new:hover:not(:disabled){background:var(--rust-2)}.promo-btn--save{background:var(--rust);color:#fff2de}.promo-btn--save:hover:not(:disabled){background:var(--rust-2)}.promo-btn--cancel{background:var(--paper);color:var(--ink-2);border:1px solid var(--line-2)}.promo-btn--cancel:hover:not(:disabled){background:var(--cream-2);color:var(--ink)}.promo-list{display:flex;flex-direction:column;gap:10px}.promo-card{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:16px 20px;transition:opacity .15s}.promo-card--inactive{opacity:.6}.promo-card-header{margin-bottom:12px}.promo-card-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.promo-card-name{font-family:Fraunces,serif;font-size:15px;font-weight:600;color:var(--ink);font-variation-settings:"opsz" 40}.promo-status-badge{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.8px}.promo-status-badge.active{background:#3f6b3a14;color:var(--ok)}.promo-status-badge.inactive{background:var(--cream-2);color:var(--ink-3)}.promo-card-type{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-3)}.promo-card-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 20px;margin-bottom:14px}.promo-detail{display:flex;flex-direction:column;gap:2px}.promo-detail-label{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-3)}.promo-detail-value{font-family:Inter,sans-serif;font-size:13px;color:var(--ink);word-break:break-all}.promo-detail-discount{font-weight:700;color:var(--ok);font-family:JetBrains Mono,monospace}.promo-card-actions{display:flex;gap:6px;flex-wrap:wrap}.promo-action-btn{padding:5px 12px;border-radius:2px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s}.promo-action-btn--activate{background:#3f6b3a0f;color:var(--ok);border-color:#3f6b3a33}.promo-action-btn--activate:hover{background:#3f6b3a1f}.promo-action-btn--deactivate{background:var(--cream-2);color:var(--ink-3);border-color:var(--line-2)}.promo-action-btn--deactivate:hover{background:var(--cream);color:var(--ink)}.promo-action-btn--edit{background:#4a5e9c0f;color:#3a5299;border-color:#4a5e9c26}.promo-action-btn--edit:hover{background:#4a5e9c1f}.promo-action-btn--delete{background:#9a3b1f0d;color:var(--rust);border-color:#9a3b1f26}.promo-action-btn--delete:hover{background:#9a3b1f1a}.promo-form-wrap{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:24px;max-width:660px}.promo-form-title{font-family:Fraunces,serif;font-size:18px;font-weight:600;margin:0 0 20px;color:var(--ink);font-variation-settings:"opsz" 40}.promo-form{display:flex;flex-direction:column;gap:16px}.promo-form-field{display:flex;flex-direction:column;gap:5px;flex:1}.promo-form-field label{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:var(--ink)}.promo-field-hint{font-weight:400;color:var(--ink-3)}.promo-form-row{display:flex;gap:12px;flex-wrap:wrap}.promo-form-row .promo-form-field{min-width:120px}.promo-input{padding:9px 11px;border:1px solid var(--line-2);border-radius:2px;font-family:Inter,sans-serif;font-size:13px;color:var(--ink);background:var(--paper);width:100%;box-sizing:border-box;outline:none;transition:border-color .15s}.promo-input:focus{border-color:var(--ink)}.promo-form-error{padding:10px 14px;background:#9a3b1f0f;color:var(--rust);border:1px solid rgba(154,59,31,.18);border-radius:2px;font-family:Inter,sans-serif;font-size:13px}.promo-form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.tag-input-wrap{display:flex;flex-direction:column;gap:8px}.tag-list{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#4a5e9c12;color:#3a5299;border:1px solid rgba(74,94,156,.15);border-radius:999px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.tag-remove{background:none;border:none;cursor:pointer;color:#4a5e9c80;font-size:14px;padding:0;line-height:1;display:flex;align-items:center}.tag-remove:hover{color:#3a5299}.tag-add-row{display:flex;gap:6px}.tag-add-input{flex:1;padding:7px 10px;border:1px solid var(--line-2);border-radius:2px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink);background:var(--paper);outline:none;transition:border-color .15s}.tag-add-input:focus{border-color:var(--ink)}.tag-add-btn{padding:7px 12px;background:var(--paper);border:1px solid var(--line-2);border-radius:2px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink-2);white-space:nowrap;transition:background .12s}.tag-add-btn:hover{background:var(--cream-2);color:var(--ink)}.promo-loading,.promo-empty,.promo-load-error{padding:40px;text-align:center;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-3)}.promo-load-error{color:var(--rust);background:#9a3b1f0f;border-radius:2px}.settings-page{max-width:840px;margin:0 auto;padding:24px 24px 48px;display:flex;flex-direction:column;gap:16px}.settings-header{margin-bottom:8px}.settings-title{font-family:Fraunces,serif;font-size:28px;font-weight:600;margin:0 0 4px;color:var(--ink);font-variation-settings:"opsz" 40;letter-spacing:-.4px}.settings-subtitle{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);margin:0}.settings-error{padding:10px 14px;background:#9a3b1f0f;color:var(--rust);border:1px solid rgba(154,59,31,.18);border-radius:2px;font-family:Inter,sans-serif;font-size:13px}.settings-save-status{padding:10px 14px;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;border:1px solid transparent}.settings-save-status.success{background:#3f6b3a0f;color:var(--ok);border-color:#3f6b3a33}.settings-save-status.error{background:#9a3b1f0f;color:var(--rust);border-color:#9a3b1f2e}.settings-loading{padding:40px;text-align:center;font-family:Inter,sans-serif;font-size:13px;color:var(--ink-3)}.settings-card{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:20px 24px}.settings-card-title{font-family:Fraunces,serif;font-size:16px;font-weight:600;margin:0 0 20px;color:var(--ink);font-variation-settings:"opsz" 40}.settings-field{margin-bottom:20px}.settings-field label{display:flex;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-3);margin-bottom:7px}.settings-input{padding:9px 11px;border:1px solid var(--line-2);border-radius:2px;font-family:Inter,sans-serif;font-size:14px;color:var(--ink);background:var(--paper);width:100%;box-sizing:border-box;outline:none;transition:border-color .15s}.settings-input:focus{border-color:var(--ink)}.settings-field-hint{margin:5px 0 0;font-family:Inter,sans-serif;font-size:12px;color:var(--ink-3);line-height:1.5}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.settings-toggle-label{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}.settings-toggle-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--rust);flex-shrink:0}.settings-radio-group{display:flex;gap:24px}.settings-radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;color:var(--ink)}.settings-radio-label input[type=radio]{width:16px;height:16px;cursor:pointer;accent-color:var(--rust);flex-shrink:0;margin:0}.settings-save-btn{padding:9px 18px;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;border:none;cursor:pointer;background:var(--rust);color:#fff2de;transition:background .15s}.settings-save-btn:hover:not(:disabled){background:var(--rust-2)}.settings-save-btn:disabled{opacity:.45;cursor:not-allowed}.products-page{max-width:960px;margin:0 auto;padding:24px 24px 48px}.products-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.products-title{font-family:Fraunces,serif;font-size:28px;font-weight:600;margin:0 0 4px;color:var(--ink);font-variation-settings:"opsz" 40;letter-spacing:-.4px}.products-subtitle{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);margin:0}.products-toolbar{margin-bottom:16px}.prod-search{width:100%;max-width:340px;padding:8px 12px;border:1px solid var(--line-2);border-radius:2px;font-family:Inter,sans-serif;font-size:13px;color:var(--ink);background:var(--paper);outline:none;transition:border-color .15s}.prod-search:focus{border-color:var(--ink)}.prod-search::placeholder{color:var(--line-2)}.prod-btn{padding:8px 16px;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:background .15s}.prod-btn:disabled{opacity:.45;cursor:not-allowed}.prod-btn--new{background:var(--rust);color:#fff2de;white-space:nowrap}.prod-btn--new:hover:not(:disabled){background:var(--rust-2)}.prod-btn--save{background:var(--rust);color:#fff2de}.prod-btn--save:hover:not(:disabled){background:var(--rust-2)}.prod-btn--cancel{background:var(--paper);color:var(--ink-2);border:1px solid var(--line-2)}.prod-btn--cancel:hover:not(:disabled){background:var(--cream-2);color:var(--ink)}.prod-btn--danger{background:var(--rust-ink);color:#fff2de}.prod-btn--danger:hover:not(:disabled){background:var(--rust)}.prod-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:2px;background:var(--paper)}.prod-table{width:100%;border-collapse:collapse;font-size:13px}.prod-table th{background:var(--cream);padding:9px 14px;text-align:left;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--ink-3);text-transform:uppercase;border-bottom:1px solid var(--line)}.prod-table td{padding:12px 14px;border-bottom:1px dashed var(--line);vertical-align:middle;font-family:Inter,sans-serif;color:var(--ink)}.prod-table tbody tr:last-child td{border-bottom:none}.prod-table tbody tr:hover{background:var(--cream)}.prod-cell-code{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-2)}.prod-cell-name{font-family:Fraunces,serif;font-weight:600;font-size:14px;font-variation-settings:"opsz" 40;color:var(--ink)}.prod-cell-price{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;white-space:nowrap}.prod-text-muted{color:var(--ink-3)}.prod-cell-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.prod-type-badge{display:inline-block;padding:2px 8px;border-radius:2px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.prod-type-badge--normal{background:#4a5e9c14;color:#3a5299}.prod-type-badge--custom_price{background:#b68a351a;color:var(--gold)}.prod-vat-badge{display:inline-block;padding:2px 8px;border-radius:2px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.prod-vat-badge--yes{background:#3f6b3a14;color:var(--ok)}.prod-vat-badge--no{background:var(--cream-2);color:var(--ink-3)}.prod-action-btn{padding:4px 10px;border-radius:2px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);cursor:pointer;transition:background .12s}.prod-action-btn:hover{background:var(--cream-2);color:var(--ink)}.prod-action-btn--danger{border-color:#9a3b1f33;color:var(--rust)}.prod-action-btn--danger:hover{background:#9a3b1f0f}.prod-loading,.prod-empty{text-align:center;padding:48px 24px;font-family:Inter,sans-serif;color:var(--ink-3);font-size:13px}.prod-error{font-family:Inter,sans-serif;color:var(--rust);font-size:13px;margin-bottom:12px}.prod-error--page{padding:10px 14px;background:#9a3b1f0f;border:1px solid rgba(154,59,31,.18);border-radius:2px;margin-bottom:16px}.prod-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px}.prod-page-btn{padding:6px 12px;border-radius:2px;border:1px solid var(--line-2);background:var(--paper);font-family:Inter,sans-serif;color:var(--ink-2);font-size:13px;cursor:pointer;transition:background .12s}.prod-page-btn:hover:not(:disabled){background:var(--cream-2);color:var(--ink)}.prod-page-btn:disabled{opacity:.4;cursor:not-allowed}.prod-page-info{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-3);padding:0 4px}.prod-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a141080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.prod-modal{background:var(--cream);border:1px solid var(--line);border-radius:2px;width:100%;max-width:480px;box-shadow:var(--shadow-modal);overflow:hidden}.prod-modal--sm{max-width:380px}.prod-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.prod-modal-title{font-family:Fraunces,serif;font-size:17px;font-weight:600;margin:0;color:var(--ink);font-variation-settings:"opsz" 40}.prod-modal-close{background:none;border:none;cursor:pointer;color:var(--ink-3);padding:2px 6px;font-size:20px;line-height:1;border-radius:2px;transition:background .12s}.prod-modal-close:hover{color:var(--ink);background:var(--cream-2)}.prod-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.prod-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.prod-field{display:flex;flex-direction:column;gap:5px}.prod-field--check{flex-direction:row;align-items:center}.prod-label{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:var(--ink)}.prod-input{padding:9px 11px;border:1px solid var(--line-2);border-radius:2px;font-family:Inter,sans-serif;font-size:13px;color:var(--ink);background:var(--paper);outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.prod-input:focus{border-color:var(--ink)}.prod-check-label{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:13px;color:var(--ink);cursor:pointer}.prod-confirm-text{font-family:Inter,sans-serif;margin:0 0 20px;color:var(--ink-2);line-height:1.6;font-size:13px}:root{--cd-bg: var(--cream, #faf5ec);--cd-surface: var(--paper, #fffaf0);--cd-ink: var(--ink, #2a1f17);--cd-muted: var(--ink-3, #8a7762);--cd-border: var(--line, #e7dcc4);--cd-rust: var(--rust, #9a3b1f);--cd-ok: var(--ok, #3f6b3a)}.cd-payment-success{min-height:100vh;background-color:var(--cream, #faf5ec);background-size:20px 20px,8px 8px;background-position:0 0,10px 10px;display:flex;align-items:center;justify-content:center;animation:cd-success-in .35s ease-out;padding:24px}@keyframes cd-success-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.cd-success-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:500px}.cd-success-check{width:96px;height:96px;border-radius:999px;background:#3f6b3a14;border:2px solid rgba(63,107,58,.25);display:flex;align-items:center;justify-content:center;color:var(--cd-ok);animation:cd-pop .5s cubic-bezier(.34,1.56,.64,1) .05s both;flex-shrink:0}@keyframes cd-pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.cd-success-check svg{stroke-width:2;width:48px;height:48px}.cd-success-title{font-family:Fraunces,serif;font-size:56px;font-weight:600;letter-spacing:-1.5px;color:var(--cd-ink);line-height:1;font-variation-settings:"opsz" 40;animation:cd-fade-in .5s ease-out .15s both}@keyframes cd-fade-in{0%{opacity:0}to{opacity:1}}.cd-success-name{font-family:Inter,sans-serif;font-size:18px;font-weight:500;color:var(--cd-muted);animation:cd-fade-in .5s ease-out .25s both}.cd-success-total{font-family:JetBrains Mono,monospace;font-size:64px;font-weight:600;color:var(--cd-ink);letter-spacing:-2px;line-height:1;animation:cd-scale-in .6s cubic-bezier(.34,1.56,.64,1) .3s both}@keyframes cd-scale-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.cd-success-points{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--cd-surface);border:1px solid rgba(63,107,58,.2);border-radius:2px;padding:20px 44px;animation:cd-points-in .6s ease-out .45s both}@keyframes cd-points-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cd-points-value{font-family:JetBrains Mono,monospace;font-size:48px;font-weight:600;color:var(--cd-ok);line-height:1}.cd-points-label{font-family:Inter,sans-serif;font-size:14px;color:var(--cd-muted);font-weight:500;text-transform:uppercase;letter-spacing:1px}.cd-layout{display:flex;flex-direction:column;height:100vh;background-color:var(--cd-bg);background-size:20px 20px,8px 8px;background-position:0 0,10px 10px;overflow:hidden}.cd-header{height:60px;background:var(--ink, #2a1f17);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.cd-header-left{display:flex;align-items:center;gap:10px}.cd-logo{width:36px;height:36px;background:transparent;display:flex;align-items:center;justify-content:center}.cd-logo-text{font-family:Fraunces,serif;font-size:22px;font-weight:600;color:var(--cream, #faf5ec);font-variation-settings:"opsz" 40;letter-spacing:-.5px;line-height:1}.cd-logo-text .cd-dot{color:var(--rust, #9a3b1f)}.cd-brand{font-family:Fraunces,serif;font-size:18px;font-weight:600;color:var(--cream, #faf5ec);font-variation-settings:"opsz" 40;display:none}.cd-header-right{display:flex;align-items:center;gap:16px}.cd-time{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:600;color:var(--cream, #faf5ec);letter-spacing:1px;font-variant-numeric:tabular-nums;opacity:.9}.cd-date{font-family:JetBrains Mono,monospace;font-size:12px;color:#faf5ec80;letter-spacing:.5px}.cd-body{display:flex;flex:1;overflow:hidden}.cd-last-scan{flex-shrink:0;padding:14px 20px;border-top:1px solid var(--cd-border);display:flex;flex-direction:column;gap:3px;min-height:88px;justify-content:center;background:#9a3b1f0a;border-left:3px solid var(--cd-rust);animation:cd-scan-flash .4s ease}@keyframes cd-scan-flash{0%{background:#9a3b1f1a}to{background:#9a3b1f0a}}.cd-last-scan-label{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--cd-rust)}.cd-last-scan-name{font-family:Fraunces,serif;font-size:20px;font-weight:600;color:var(--cd-ink);font-variation-settings:"opsz" 40;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.3px}.cd-last-scan-pricing{display:flex;align-items:baseline;gap:10px;margin-top:2px}.cd-last-scan-price{font-family:JetBrains Mono,monospace;font-size:26px;font-weight:600;color:var(--cd-ink);line-height:1}.cd-last-scan-original{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:500;color:var(--cd-muted);text-decoration:line-through}.cd-last-scan-qty{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;color:var(--cd-muted)}.cd-cart{flex:1;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--cd-border)}.cd-cart-header{display:grid;grid-template-columns:40px 1fr 80px 90px 100px;padding:9px 20px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--cd-muted);text-transform:uppercase;background:var(--cream-2, #f3ead8);border-bottom:1px solid var(--cd-border);flex-shrink:0}.cd-cart-list{flex:1;overflow-y:auto}.cd-cart-row{display:grid;grid-template-columns:40px 1fr 80px 90px 100px;padding:12px 20px;font-size:15px;border-bottom:1px dashed var(--cd-border);align-items:center}.cd-cart-row:last-child{border-bottom:none}.cd-cart-row--promo{background:#3f6b3a0a}.cd-cart-row--deleted{opacity:.3;text-decoration:line-through}.cd-cart-seq{font-family:JetBrains Mono,monospace;color:var(--cd-muted);font-size:12px}.cd-cart-name{font-family:Fraunces,serif;font-weight:600;font-size:15px;color:var(--cd-ink);font-variation-settings:"opsz" 40;padding-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.2px}.cd-cart-qty,.cd-cart-price,.cd-cart-net{font-family:JetBrains Mono,monospace;text-align:right;font-weight:500;font-size:14px;color:var(--cd-muted)}.cd-cart-net{font-weight:600;color:var(--cd-ink);font-size:15px}.cd-promo-badge{display:inline-block;margin-left:6px;background:#3f6b3a14;color:var(--cd-ok);font-family:JetBrains Mono,monospace;font-size:8px;font-weight:600;padding:1px 4px;border-radius:2px;letter-spacing:.5px;text-transform:uppercase;vertical-align:middle}.cd-side{width:320px;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;background:var(--cd-surface);overflow:hidden}.cd-side-member{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px;overflow-y:auto}.cd-side-totals{flex-shrink:0;border-top:1px solid var(--cd-border);padding:16px 20px 20px;background:var(--cream-2, #f3ead8)}.cd-side-meta{display:flex;align-items:center;gap:12px;font-family:Inter,sans-serif;font-size:12px;color:var(--cd-muted);margin-bottom:12px}.cd-side-meta strong{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--cd-ink)}.cd-side-meta-sep{width:1px;height:12px;background:var(--cd-border)}.cd-srow{display:flex;justify-content:space-between;align-items:center;font-family:Inter,sans-serif;font-size:13px;color:var(--cd-ink);margin-bottom:6px}.cd-srow span:last-child{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.cd-srow--discount{color:var(--cd-ok)}.cd-srow--discount span:last-child{color:var(--cd-ok)}.cd-srow--vat{color:var(--cd-muted);font-size:12px}.cd-srow--vat span:last-child{font-size:12px}.cd-side-divider{height:1px;background:var(--cd-border);margin:10px 0}.cd-srow-total{display:flex;flex-direction:column;gap:2px}.cd-srow-total-label{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--cd-muted)}.cd-srow-total-amount{font-family:JetBrains Mono,monospace;font-size:40px;font-weight:600;color:var(--cd-ink);letter-spacing:-1.5px;line-height:1}.cd-member{background:#3f6b3a0d;border:1px solid rgba(63,107,58,.2);border-radius:2px;padding:24px 20px;display:flex;flex-direction:column;gap:5px}.cd-member-label{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--cd-ok);margin-bottom:4px}.cd-member-name{font-family:Fraunces,serif;font-size:22px;font-weight:600;color:var(--cd-ink);font-variation-settings:"opsz" 40;letter-spacing:-.3px}.cd-member-card{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--cd-muted)}.cd-member-points{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:600;color:var(--cd-ok);margin-top:6px}.keypad-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.keypad-label{font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--cd-muted);text-align:center}.keypad-display{width:100%;background:var(--cream, #faf5ec);border:1px solid var(--cd-border);border-radius:2px;padding:10px 14px;text-align:center;min-height:50px;display:flex;align-items:center;justify-content:center}.keypad-value{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:600;letter-spacing:3px;color:var(--cd-ink)}.keypad-placeholder{font-family:JetBrains Mono,monospace;font-size:14px;letter-spacing:4px;color:var(--line-2, #d8c9a8)}.keypad-grid{width:100%;display:flex;flex-direction:column;gap:6px}.keypad-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.keypad-key{padding:12px 0;font-family:JetBrains Mono,monospace;font-size:20px;font-weight:600;border:1px solid var(--cd-border);border-radius:2px;background:var(--cd-surface);color:var(--cd-ink);cursor:pointer;transition:background .1s;font-variant-numeric:tabular-nums}.keypad-key:active{background:var(--cream-2, #f3ead8)}.keypad-key--clear{color:var(--rust, #9a3b1f);border-color:#9a3b1f33}.keypad-key--clear:active{background:#9a3b1f0f}.keypad-key--back{color:var(--ink-2, #5c4a3a)}.keypad-key--back:active{background:var(--cream-2, #f3ead8)}.keypad-submit{width:100%;padding:12px;background:var(--rust, #9a3b1f);color:#fff2de;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.keypad-submit:hover:not(:disabled){background:var(--rust-2, #b4522e)}.keypad-submit:disabled{opacity:.4;cursor:not-allowed}.cd-member-error{background:#9a3b1f0f;border:1px solid rgba(154,59,31,.2);border-radius:2px;padding:24px 20px;display:flex;flex-direction:column;gap:10px;text-align:center}.cd-member-error-title{font-family:Fraunces,serif;font-size:18px;font-weight:600;color:var(--rust, #9a3b1f);font-variation-settings:"opsz" 40}.cd-member-error-message{font-family:Inter,sans-serif;font-size:13px;color:var(--rust-ink, #4a1e0f);line-height:1.5}.cd-member-error-retry{padding:10px 18px;background:var(--rust, #9a3b1f);color:#fff2de;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;margin-top:4px}.cd-member-error-retry:hover{background:var(--rust-2, #b4522e)}@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #ffffff;--cream-2: #ffffff;--paper: #ffffff;--ink: #2a1f17;--ink-2: #5c4a3a;--ink-3: #8a7762;--line: #e7dcc4;--line-2: #d8c9a8;--rust: #9a3b1f;--rust-2: #b4522e;--rust-ink: #4a1e0f;--gold: #b68a35;--olive: #6b6030;--moss: #4a5d23;--wine: #6b2a2a;--ok: #3f6b3a;--bg: var(--cream);--surface: var(--paper);--primary: var(--rust);--primary-dark: var(--rust-2);--text: var(--ink);--text-muted: var(--ink-3);--border: var(--line);--radius-card: 2px;--radius-input: 2px;--radius-logo: 2px;--shadow-card: none;--shadow-modal: 0 30px 60px rgba(0, 0, 0, .3);--shadow-toast: 0 8px 24px rgba(0, 0, 0, .25)}body{font-family:Inter,-apple-system,sans-serif;background-color:var(--cream);background-size:20px 20px,8px 8px;background-position:0 0,10px 10px;color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-header{position:sticky;top:0;z-index:100;background:var(--ink);height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.06);gap:12px}.header-left{display:flex;align-items:center;gap:6px;flex-shrink:0}.global-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:2px;cursor:pointer;color:var(--cream);opacity:.7;transition:opacity .15s,background .15s;flex-shrink:0}.global-menu-btn:hover{opacity:1;background:#ffffff14}.header-logo-mark{font-family:Fraunces,serif;font-size:20px;font-weight:600;color:var(--cream);letter-spacing:-.5px;font-variation-settings:"opsz" 40;line-height:1;-webkit-user-select:none;user-select:none}.header-logo-mark .logo-dot{color:var(--rust-2)}.header-app-name{display:none}.header-back-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:2px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:var(--cream);cursor:pointer;opacity:.85;transition:opacity .15s,background .15s;white-space:nowrap;margin-left:6px}.header-back-btn:hover{opacity:1;background:#ffffff1f}.header-center{display:flex;align-items:center;flex:1;justify-content:center}.nav-info-pill{display:flex;align-items:center;gap:8px}.nav-store-code{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#faf5ec8c}.nav-divider{width:1px;height:10px;background:#ffffff1f;flex-shrink:0}.nav-date{font-family:JetBrains Mono,monospace;font-size:11px;color:#faf5ec73}.nav-time{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#faf5ecbf;letter-spacing:.5px;font-variant-numeric:tabular-nums}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.connectivity-indicator{display:flex;align-items:center;gap:5px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;padding:3px 8px;letter-spacing:.5px}.connectivity-indicator.online{color:#6aad5e;background:#3f6b3a2e}.connectivity-indicator.offline{color:var(--rust-2);background:#9a3b1f2e}.connectivity-icon{display:flex;align-items:center;line-height:0}.connectivity-label{display:none}@media (min-width: 600px){.connectivity-label{display:inline}}.user-menu,.user-menu-wrap{position:relative}.user-button{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px 6px 4px 4px;border-radius:2px;transition:background .15s}.user-button:hover,.user-button--active{background:#ffffff14}.user-chevron{color:var(--cream);opacity:.5;transition:transform .18s;flex-shrink:0}.user-button--active .user-chevron{transform:rotate(180deg)}.user-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--paper);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow-modal);min-width:160px;overflow:hidden;z-index:200}.user-dd-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--ink);text-align:left;transition:background .1s}.user-dd-item:hover{background:var(--cream-2)}.user-dd-item+.user-dd-item{border-top:1px solid var(--line)}.user-dd-item--danger{color:var(--rust)}.user-dd-item--danger:hover{background:#9a3b1f12}.user-avatar{width:28px;height:28px;border-radius:999px;background:var(--rust);color:#fff2de;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:11px;font-weight:700;flex-shrink:0}.user-name{font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--cream);max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.9}.chevron{display:flex;align-items:center;color:var(--cream);opacity:.45;transition:transform .2s}.chevron.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--paper);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow-modal);min-width:180px;overflow:hidden;z-index:200}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--ink);text-align:left;transition:background .1s}.dropdown-item:hover{background:var(--cream-2)}.dropdown-item.danger{color:var(--rust)}.dropdown-item.danger:hover{background:#9a3b1f12}.dropdown-divider{height:1px;background:var(--line)}.header-display-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;background:#ffffff0f;color:var(--cream);border:1px solid rgba(255,255,255,.11);border-radius:2px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;cursor:pointer;opacity:.8;transition:opacity .15s,background .15s;white-space:nowrap}.header-display-btn:hover{opacity:1;background:#ffffff1c}.nav-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#1a141080}.nav-drawer{position:fixed;top:0;left:0;bottom:0;width:296px;z-index:501;background:var(--cream);display:flex;flex-direction:column;animation:drawer-in .22s ease-out;box-shadow:8px 0 32px #0000002e}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-user-bar{background:var(--ink);padding:20px 16px 16px;display:flex;align-items:flex-start;gap:12px;flex-shrink:0}.drawer-avatar{width:40px;height:40px;border-radius:999px;background:var(--rust);color:#fff2de;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-size:14px;font-weight:700;flex-shrink:0}.drawer-user-info{display:flex;flex:1;min-width:0;flex-direction:column}.drawer-user-name{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-user-role{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);margin-top:3px}.drawer-close-btn{background:none;border:none;cursor:pointer;color:var(--cream);opacity:.45;padding:2px;display:flex;align-items:center;transition:opacity .15s;flex-shrink:0;margin-top:2px}.drawer-close-btn:hover{opacity:1}.drawer-body{flex:1;overflow-y:auto;padding:12px 0}.drawer-section{margin-bottom:4px}.drawer-section-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ink-3);padding:8px 16px 4px;display:block}.drawer-nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 16px;background:none;border:none;border-left:2px solid transparent;cursor:pointer;text-align:left;transition:background .12s,border-color .12s}.drawer-nav-item:hover{background:var(--cream-2)}.drawer-nav-item--active{background:var(--cream-2);border-left-color:var(--rust)}.drawer-nav-icon{color:var(--ink-3);display:flex;align-items:center;flex-shrink:0}.drawer-nav-item--active .drawer-nav-icon{color:var(--rust)}.drawer-nav-label{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:var(--ink);flex:1}.drawer-nav-item--active .drawer-nav-label{font-weight:600;color:var(--rust-ink)}.drawer-divider{height:1px;background:var(--line);margin:8px 16px}.drawer-shift-info{padding:10px 16px 4px}.drawer-shift-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.drawer-shift-row .shift-label{font-family:Inter,sans-serif;font-size:12px;color:var(--ink-3)}.drawer-shift-row .shift-val{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--ink)}.drawer-footer{padding:10px 8px 16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;flex-shrink:0}.drawer-action-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px;background:none;border:none;border-radius:2px;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--ink);text-align:left;transition:background .12s}.drawer-action-btn:hover{background:var(--cream-2)}.drawer-action-btn--danger{color:var(--rust)}.drawer-action-btn--danger:hover{background:#9a3b1f14}.auth-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 52px);padding:32px 16px}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:44px 36px;width:100%;max-width:460px}.card-logo{width:60px;height:60px;background:var(--ink);border-radius:2px;display:flex;align-items:center;justify-content:center;margin:0 auto 28px}.card-logo span{font-family:Fraunces,serif;font-size:30px;font-weight:600;color:var(--cream);font-variation-settings:"opsz" 40;letter-spacing:-1px;line-height:1}.auth-title{font-family:Fraunces,serif;font-size:28px;font-weight:600;text-align:center;color:var(--ink);margin-bottom:4px;letter-spacing:-.5px;font-variation-settings:"opsz" 40}.auth-store{text-align:center;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:1.5px;color:var(--ink-3);text-transform:uppercase;margin-bottom:28px}.auth-hint{text-align:center;font-family:Inter,sans-serif;font-size:14px;color:var(--ink-2);margin-bottom:28px;line-height:1.6}.form-group{margin-bottom:20px}.form-group label{display:block;font-family:Inter,sans-serif;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}.input-wrapper{position:relative}.form-group input{width:100%;padding:11px 14px;border:1px solid var(--line-2);border-radius:2px;font-family:Inter,sans-serif;font-size:14px;color:var(--ink);background:var(--paper);outline:none;transition:border-color .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-wrapper input{padding-right:44px}.form-group input::placeholder{color:var(--line-2)}.form-group input:focus{border-color:var(--ink)}.input-action{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--ink-3);padding:0;display:flex;align-items:center;transition:color .15s}.input-action:hover{color:var(--ink-2)}.btn-primary{width:100%;padding:13px 20px;background:var(--rust);color:#fff2de;border:none;border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;margin-top:6px;letter-spacing:.2px;transition:background .15s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){background:var(--rust-2)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{width:100%;padding:12px 20px;background:transparent;color:var(--ink-2);border:1px solid var(--line-2);border-radius:2px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;cursor:pointer;margin-top:8px;transition:background .15s,color .15s,border-color .15s}.btn-secondary:hover:not(:disabled){background:var(--cream-2);color:var(--ink);border-color:var(--ink-3)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.shift-actions{display:flex;flex-direction:column;gap:0;margin-top:8px}.input-prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-family:JetBrains Mono,monospace;font-size:14px;color:var(--ink-3);pointer-events:none}.form-group input.has-prefix{padding-left:28px}.error-message{background:#9a3b1f0f;color:var(--rust);border:1px solid rgba(154,59,31,.2);border-radius:2px;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;margin-bottom:20px;font-weight:500;line-height:1.5}.pwa-update-banner{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:8000;background:var(--ink);color:var(--cream);border-radius:2px;padding:12px 16px 12px 20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-toast);font-family:Inter,sans-serif;font-size:13px;white-space:nowrap;border-left:3px solid var(--rust)}.pwa-update-btn{background:var(--rust);color:#fff2de;border:none;border-radius:2px;padding:6px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.pwa-update-btn:hover{background:var(--rust-2)}.pwa-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:8000;background:var(--ink);color:var(--cream);border-radius:2px;padding:12px 20px;font-family:Inter,sans-serif;font-size:13px;box-shadow:var(--shadow-toast);animation:toast-in .3s ease,toast-out .4s ease 3.6s forwards;white-space:nowrap;border-left:3px solid var(--ok)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%) translateY(10px)}}.lock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#1a1410b8;display:flex;align-items:center;justify-content:center;padding:16px}.lock-card{background:var(--paper);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow-modal);padding:40px 32px;width:100%;max-width:360px;text-align:center}.lock-icon-wrapper{width:60px;height:60px;background:var(--cream-2);border:1px solid var(--line);border-radius:2px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--ink-3)}.lock-title{font-family:Fraunces,serif;font-size:22px;font-weight:600;color:var(--ink);margin-bottom:4px;font-variation-settings:"opsz" 40}.lock-subtitle{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:var(--rust);margin-bottom:4px}.lock-hint{font-family:Inter,sans-serif;font-size:13px;color:var(--ink-3);margin-bottom:24px;line-height:1.5}.lock-store{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);margin-top:20px}.global-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#1a141080;display:flex;align-items:center;justify-content:center}.global-nav-modal{background:var(--paper);border:1px solid var(--line);border-radius:2px;box-shadow:var(--shadow-modal);width:340px;max-height:calc(100vh - 80px);overflow-y:auto;display:flex;flex-direction:column}.global-nav-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--line);flex-shrink:0}.global-nav-title{font-family:Fraunces,serif;font-size:16px;font-weight:600;color:var(--ink);font-variation-settings:"opsz" 40}.global-nav-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:2px;cursor:pointer;color:var(--ink-3);transition:background .15s,color .15s}.global-nav-close:hover{background:var(--cream-2);color:var(--ink)}
