:root{--oms-sidebar-width: 250px;--oms-header-height: 56px;--oms-bg: #f5f6fa;--oms-sb-bg: #1f2937;--oms-sb-bg-darker: #111827;--oms-sb-text: #d1d5db;--oms-sb-text-strong: #ffffff;--oms-sb-section: #9ca3af;--oms-sb-hover-bg: #374151;--oms-sb-active-bg: #2563eb;--oms-sb-active-text: #ffffff;--oms-sb-border: rgba(255, 255, 255, .08);--oms-sb-disabled: #6b7280}body{background-color:var(--oms-bg);font-size:14px;min-height:100vh;color:#1f2937}@media(max-width:575.98px){.form-control,.form-select{font-size:16px}}@media(max-width:991.98px){.btn,.nav-link{min-height:44px}}.app-sidebar.offcanvas-lg,.app-sidebar{--bs-offcanvas-bg: var(--oms-sb-bg);--bs-offcanvas-color: var(--oms-sb-text);--bs-offcanvas-width: var(--oms-sidebar-width);--bs-offcanvas-border-color: var(--oms-sb-border);background-color:var(--oms-sb-bg)!important;color:var(--oms-sb-text)!important;width:var(--oms-sidebar-width)}.app-sidebar .sidebar-brand{height:var(--oms-header-height);display:flex;align-items:center;padding:0 1rem;color:var(--oms-sb-text-strong)!important;font-weight:700;font-size:1.05rem;border-bottom:1px solid var(--oms-sb-border);background-color:var(--oms-sb-bg-darker)}.app-sidebar .sidebar-brand i{color:#60a5fa}.app-sidebar .offcanvas-header{background-color:var(--oms-sb-bg-darker)!important;border-bottom:1px solid var(--oms-sb-border);color:var(--oms-sb-text-strong)!important}.app-sidebar .offcanvas-title{color:var(--oms-sb-text-strong)!important;font-weight:700;display:flex;align-items:center}.app-sidebar .offcanvas-title i{color:#60a5fa}.app-sidebar .sidebar-section-label{padding:.85rem 1rem .3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.6px;color:var(--oms-sb-section)!important;font-weight:600}.app-sidebar .nav,.app-sidebar .nav-link,.app-sidebar a.nav-link,.app-sidebar a.nav-link:link,.app-sidebar a.nav-link:visited{color:var(--oms-sb-text)!important}.app-sidebar .nav-link{padding:.65rem 1rem;border-radius:0;display:flex;align-items:center;gap:.65rem;font-size:.9rem;font-weight:500;border-left:3px solid transparent;transition:all .15s ease;text-decoration:none}.app-sidebar .nav-link:hover{background-color:var(--oms-sb-hover-bg)!important;color:var(--oms-sb-text-strong)!important}.app-sidebar .nav-link.active{background-color:var(--oms-sb-active-bg)!important;color:var(--oms-sb-active-text)!important;font-weight:600;border-left-color:#60a5fa}.app-sidebar .nav-link.disabled,.app-sidebar a.nav-link.disabled{color:var(--oms-sb-disabled)!important;cursor:not-allowed;pointer-events:auto;opacity:.7}.app-sidebar .nav-link.disabled:hover{background-color:transparent!important;color:var(--oms-sb-disabled)!important}.app-sidebar .nav-link i{width:18px;font-size:1rem;text-align:center;flex-shrink:0}@media(min-width:992px){.app-sidebar{position:fixed;top:0;left:0;height:100vh;z-index:1030;overflow-y:auto;box-shadow:2px 0 8px #0000001a}.app-main{margin-left:var(--oms-sidebar-width)}}.app-sidebar::-webkit-scrollbar{width:6px}.app-sidebar::-webkit-scrollbar-track{background:var(--oms-sb-bg-darker)}.app-sidebar::-webkit-scrollbar-thumb{background:var(--oms-sb-hover-bg);border-radius:3px}.app-header{height:var(--oms-header-height);background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 1rem;position:sticky;top:0;z-index:1020;box-shadow:0 1px 3px #0000000a}.app-content{padding:1rem}@media(min-width:768px){.app-content{padding:1.25rem 1.5rem}}.page-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.page-header h1{font-size:1.25rem;font-weight:600;margin:0}.stat-card{border-radius:.5rem;border:1px solid #e5e7eb;background:#fff;padding:1rem;transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000000f}.stat-card .stat-icon{width:42px;height:42px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-card .stat-value{font-size:1.5rem;font-weight:700;line-height:1}.stat-card .stat-label{font-size:.8rem;color:#6b7280;margin-top:.25rem}.table{font-size:.875rem}.table>:not(caption)>*>*{padding:.5rem .75rem}.table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;border-bottom:2px solid #e5e7eb;font-weight:600}.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#1e3a8a,#1e40af,#2563eb)}.auth-card{width:100%;max-width:420px;background:#fff;border-radius:.75rem;padding:2rem;box-shadow:0 10px 30px #00000040}.auth-brand{text-align:center;margin-bottom:1.5rem}.auth-brand h2{font-weight:700;color:#1f2937;margin-bottom:.25rem}.auth-brand p{color:#6b7280;font-size:.85rem;margin:0}.empty-state{text-align:center;padding:2.5rem 1rem;color:#6b7280}.empty-state i{font-size:3rem;color:#d1d5db;margin-bottom:.5rem}.loader-overlay{position:fixed;inset:0;background:#ffffffb3;display:none;align-items:center;justify-content:center;z-index:9999}.loader-overlay.active{display:flex}.save-indicator.is-saved .save-dot{background:#10b981}.save-indicator.is-saving .save-dot{background:#f59e0b;animation:pulse 1s infinite}.save-indicator.is-offline .save-dot{background:#f97316}.save-indicator.is-failed .save-dot{background:#ef4444}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media print{body{background:#fff}.no-print{display:none!important}}.order-page #qrReader{width:100%!important;max-width:480px;margin:0 auto}.order-page #qrReader video{width:100%!important;height:auto!important;border-radius:8px}.order-page #qrReader__dashboard_section_csr button,.order-page #qrReader__dashboard_section_swaplink{font-size:12px!important}.order-page .article-result{border:2px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s ease}.order-page .article-result.is-success{border-color:#10b981;background:#ecfdf5;animation:flashSuccess .5s ease}.order-page .article-result.is-error{border-color:#ef4444;background:#fef2f2;animation:flashError .5s ease}@keyframes flashSuccess{0%{background:#10b981;transform:scale(1.02)}to{background:#ecfdf5;transform:scale(1)}}@keyframes flashError{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.order-page .order-submit-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid #e5e7eb;padding:.85rem 1rem;margin:1rem -1rem -1rem;z-index:100;box-shadow:0 -2px 8px #0000000d}.order-page .item-row.just-added{animation:highlightRow 1s ease}@keyframes highlightRow{0%{background:#fef3c7}to{background:transparent}}.order-page .scanner-disabled-fallback{background:#fef3c7;border:1px dashed #f59e0b;border-radius:8px;padding:1rem;text-align:center;color:#92400e;font-size:.85rem}.save-indicator.is-saved .save-text:before{content:""}.save-indicator.is-saving .save-text:before{content:""}.save-indicator.is-offline .save-text:before{content:""}.save-indicator.is-failed .save-text:before{content:""}#recoveryBanner{animation:recoveryPulse .4s ease}@keyframes recoveryPulse{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}body.app-offline .app-header:after{content:"OFFLINE MODE - Changes saved locally";display:block;position:absolute;top:100%;left:0;right:0;background:#f59e0b;color:#fff;text-align:center;padding:4px;font-size:.75rem;font-weight:600;z-index:1020}.order-submit-bar{margin-top:1rem;padding:.75rem 0}@media(max-width:767.98px){.order-page>.card{margin-bottom:.5rem!important}.order-page .nav-tabs .nav-link{padding:.65rem .75rem;font-size:.9rem;min-height:44px}.article-result .form-control,.article-result .form-select{font-size:.95rem;min-height:42px}.article-result .btn{min-height:42px;font-size:.95rem}#itemsTableWrap .table{font-size:.85rem}#itemsTableWrap .qty-input{min-width:64px;font-size:.95rem;height:36px}#itemsTableWrap td{padding:.5rem .4rem}.order-submit-bar{position:sticky;bottom:0;background:#fff;padding:.75rem;margin:.75rem -.5rem 0;border-top:1px solid #dee2e6;z-index:50;box-shadow:0 -3px 10px #0000000f}.order-submit-bar .btn-lg{font-size:1rem;padding:.65rem 1rem}.recovery-banner{padding:.75rem!important;font-size:.875rem}.recovery-banner .btn{font-size:.85rem}#customerModal .modal-body{padding:1rem .75rem}#customerModal .form-control,#customerModal .form-control-lg{font-size:1rem;min-height:42px}.page-header{padding:.75rem 0}.page-header h1{font-size:1.25rem}.app-sidebar .nav-link{padding:.7rem 1rem}.table-responsive{-webkit-overflow-scrolling:touch}.btn-group-sm .btn{min-width:32px;min-height:32px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=search],input[type=password],select,textarea{font-size:16px!important}}@media(min-width:768px)and (max-width:991.98px){.order-page .card{margin-bottom:.75rem}}@media print{.app-sidebar,.app-header,.order-submit-bar,.save-indicator,.recovery-banner,.breadcrumb{display:none!important}.app-main{margin-left:0!important;padding:0!important}}.save-indicator{position:fixed;bottom:1rem;right:1rem;z-index:1080;display:inline-flex!important;align-items:center;gap:.5rem;background:#fff;border:1px solid #dee2e6;border-radius:999px;padding:.4rem .85rem;font-size:.78rem;color:#495057;box-shadow:0 2px 10px #00000014;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease}.save-indicator.d-none{display:none!important}.save-indicator .save-dot{width:8px;height:8px;border-radius:50%;background:#6c757d;flex-shrink:0;display:inline-block}.save-indicator .save-text{font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis}.save-indicator .save-time{color:#868e96;font-size:.7rem;margin-left:.15rem}.save-indicator.is-saving .save-dot{background:#ffc107;animation:save-pulse 1s ease-in-out infinite}.save-indicator.is-saved .save-dot{background:#198754}.save-indicator.is-offline .save-dot{background:#6c757d}.save-indicator.is-failed .save-dot{background:#dc3545;animation:save-pulse .8s ease-in-out infinite}@keyframes save-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media(max-width:767.98px){.save-indicator{bottom:5.5rem;right:.6rem;left:auto;font-size:.72rem;padding:.35rem .7rem;max-width:220px;box-shadow:0 2px 8px #0000001f}.save-indicator .save-time{display:none}}body.app-offline{box-shadow:inset 0 3px #6c757d}
