:root{--bg-body:#f8fafc;--bg-surface:#fff;--bg-surface-translucent:#ffffffeb;--bg-subtle:#f1f5f9;--bg-mint-soft:#f0fdf4;--bg-mint-light:#ecfdf5;--bg-teal-light:#f0fdfa;--color-primary:#059669;--color-primary-hover:#047857;--color-primary-dark:#065f46;--color-primary-light:#ecfdf5;--color-primary-subtle:#d1fae5;--color-primary-border:#a7f3d0;--color-accent-teal:#0d9488;--color-success:#10b981;--color-success-light:#ecfdf5;--color-success-border:#a7f3d0;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-warning-border:#fde68a;--color-danger:#e11d48;--color-danger-light:#fff1f2;--color-danger-border:#fecdd3;--color-rx-blue:#2563eb;--color-rx-light:#eff6ff;--color-rx-border:#bfdbfe;--text-main:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-inverse:#fff;--border-subtle:#e2e8f0;--border-medium:#cbd5e1;--border-strong:#94a3b8;--border-green:#d1fae5;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 5px #0f172a0d;--shadow-md:0 4px 14px -2px #0f172a0f, 0 2px 6px -1px #0f172a08;--shadow-lg:0 10px 25px -4px #0f172a14, 0 4px 10px -2px #0f172a0a;--shadow-xl:0 20px 35px -6px #0596691f;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-body);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.5}.app-shell{width:100%;min-height:100vh;display:flex}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:998;opacity:0;visibility:hidden;transition:opacity var(--transition-normal), visibility var(--transition-normal);background:#0f172a66;position:fixed;inset:0}.sidebar-backdrop.active{opacity:1;visibility:visible}.app-sidebar{background-color:var(--bg-surface);border-right:1px solid var(--border-subtle);z-index:999;width:275px;transition:transform var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border-subtle);background:linear-gradient(#f0fdf4 0%,#fff 100%);align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;display:flex}.brand-logo{background:linear-gradient(135deg, var(--color-primary) 0%, #047857 100%);color:#fff;border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:flex;box-shadow:0 4px 10px #0596694d}.brand-info h1{color:var(--text-main);letter-spacing:-.02em;font-size:1.05rem;font-weight:800;line-height:1.2}.brand-info p{color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;font-size:.725rem;font-weight:600}.sidebar-role-wrapper{padding:.85rem 1.15rem .6rem}.role-switcher-container{background-color:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-subtle);grid-template-columns:1fr 1fr;padding:4px;display:grid}.role-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .6rem;font-family:inherit;font-size:.78rem;font-weight:600;display:flex}.role-btn:hover{color:var(--text-main)}.role-btn.active{background-color:var(--bg-surface);color:var(--color-primary-dark);box-shadow:var(--shadow-sm);font-weight:700}.sidebar-nav-section{flex:1;padding:.6rem .85rem;overflow-y:auto}.nav-section-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:.5rem .65rem .35rem;font-size:.68rem;font-weight:700}.sidebar-nav{flex-direction:column;gap:3px;display:flex}.tab-btn{border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.65rem .85rem;font-family:inherit;font-size:.86rem;font-weight:500;display:flex;position:relative}.tab-btn i{text-align:center;width:20px;color:var(--text-muted);transition:color var(--transition-fast);font-size:1rem}.tab-btn:hover{background-color:var(--bg-mint-soft);color:var(--color-primary-dark)}.tab-btn:hover i{color:var(--color-primary)}.tab-btn.active{background-color:var(--color-primary-light);color:var(--color-primary-dark);font-weight:700}.tab-btn.active i{color:var(--color-primary)}.tab-btn.pos-highlight{border:1px solid var(--color-primary-border);color:var(--color-primary-dark);background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);margin-bottom:6px;font-weight:700}.tab-btn.pos-highlight i{color:var(--color-primary)}.tab-pill{border-radius:var(--radius-full);background-color:var(--bg-subtle);color:var(--text-secondary);margin-left:auto;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.tab-btn.active .tab-pill{background-color:var(--color-primary-subtle);color:var(--color-primary-dark)}.tab-pill.alert{background-color:var(--color-danger-light);color:var(--color-danger)}.tab-pill.warning{background-color:var(--color-warning-light);color:var(--color-warning)}.sidebar-quick-actions{border-top:1px solid var(--border-subtle);padding:.85rem 1.15rem}.sidebar-footer{border-top:1px solid var(--border-subtle);background-color:#fafafa;padding:.85rem 1.15rem}.warehouse-badge-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.65rem .85rem}.status-indicator-dot{background-color:var(--color-success);width:8px;height:8px;box-shadow:0 0 0 3px var(--color-success-light);border-radius:50%}.app-main-area{flex-direction:column;flex:1;min-width:0;margin-left:275px;display:flex}.app-topbar{background-color:var(--bg-surface-translucent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle);z-index:990;justify-content:space-between;align-items:center;height:64px;padding:0 1.75rem;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:.75rem;display:flex}.breadcrumb-trail{align-items:center;gap:.5rem;display:flex}.topbar-right{align-items:center;gap:.85rem;display:flex}.system-time-pill{color:var(--text-secondary);background-color:var(--bg-mint-soft);border:1px solid var(--color-primary-border);border-radius:var(--radius-full);align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.78rem;font-weight:600;display:flex}.btn-icon{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background-color:var(--bg-surface);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.btn-icon:hover{background-color:var(--bg-subtle);color:var(--text-main);border-color:var(--border-medium)}.notif-badge{background-color:var(--color-danger);color:#fff;border:2px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.mobile-menu-toggle{display:none!important}.main-wrapper{flex:1;padding:1.75rem}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-sm{border-radius:var(--radius-sm);padding:.4rem .75rem;font-size:.78rem}.btn-lg{border-radius:var(--radius-md);padding:.75rem 1.35rem;font-size:.95rem}.btn-block{width:100%}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 2px 8px #05966940}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:0 4px 12px #05966959}.btn-outline-primary{background-color:var(--bg-surface);color:var(--color-primary);border-color:var(--color-primary-border)}.btn-outline-primary:hover{background-color:var(--bg-mint-soft);border-color:var(--color-primary);color:var(--color-primary-dark)}.btn-secondary{background-color:var(--bg-surface);color:var(--text-secondary);border-color:var(--border-subtle)}.btn-secondary:hover{background-color:var(--bg-subtle);color:var(--text-main);border-color:var(--border-medium)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover{background-color:#059669}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{background-color:#be123c}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.75rem;display:grid}.kpi-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;padding:1.25rem;display:flex;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-border);transform:translateY(-2px)}.kpi-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.kpi-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.kpi-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:flex}.kpi-icon.green{background-color:var(--bg-mint-soft);color:var(--color-primary);border:1px solid var(--color-primary-border)}.kpi-icon.blue{background-color:var(--color-rx-light);color:var(--color-rx-blue);border:1px solid var(--color-rx-border)}.kpi-icon.amber{background-color:var(--color-warning-light);color:var(--color-warning);border:1px solid var(--color-warning-border)}.kpi-icon.red{background-color:var(--color-danger-light);color:var(--color-danger);border:1px solid var(--color-danger-border)}.kpi-value{color:var(--text-main);letter-spacing:-.03em;margin-bottom:.35rem;font-size:1.65rem;font-weight:800;line-height:1.1}.kpi-subtext{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.flow-stepper-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.75rem;padding:1.4rem 1.6rem}.flow-title-row{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.flow-title-row h3{color:var(--text-main);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.stepper-pipeline{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid;position:relative}.stepper-stage{background-color:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);flex-direction:column;gap:.4rem;padding:1rem;display:flex;position:relative}.stepper-stage.active{background-color:var(--bg-mint-soft);border-color:var(--color-primary-border);box-shadow:0 0 0 1px var(--color-primary)}.stage-num-badge{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:700;display:inline-flex}.stage-header{justify-content:space-between;align-items:center;display:flex}.stage-name{color:var(--text-main);font-size:.85rem;font-weight:700}.stage-count{color:var(--color-primary-dark);font-size:1.35rem;font-weight:800}.stage-desc{color:var(--text-muted);font-size:.72rem}.charts-grid{grid-template-columns:1.4fr 1fr;gap:1.25rem;margin-bottom:1.75rem;display:grid}.chart-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:1.25rem 1.4rem;display:flex}.chart-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.chart-header h3{color:var(--text-main);align-items:center;gap:.45rem;font-size:.95rem;font-weight:700;display:flex}.canvas-container{flex:1;min-height:220px;position:relative}.table-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.75rem;overflow:hidden}.table-header-row{border-bottom:1px solid var(--border-subtle);background-color:#fafafa;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.4rem;display:flex}.table-header-title{align-items:center;gap:.5rem;display:flex}.table-header-title h3{color:var(--text-main);font-size:1rem;font-weight:700}.table-actions-group{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.table-search-input{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);width:220px;transition:all var(--transition-fast);outline:none;padding:.45rem .85rem .45rem 2.1rem;font-family:inherit;font-size:.82rem}.table-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);width:260px}.search-input-wrapper{position:relative}.search-input-wrapper i{color:var(--text-muted);font-size:.8rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.table-select-filter{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;outline:none;padding:.45rem .75rem;font-family:inherit;font-size:.82rem}.table-select-filter:focus{border-color:var(--color-primary)}.table-responsive{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.84rem}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);white-space:nowrap;background-color:#f8fafc;padding:.85rem 1rem;font-size:.74rem;font-weight:700}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle;padding:.85rem 1rem}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:hover{background-color:#f0fdf4}.status-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.status-badge.in-transit{color:#1d4ed8;background-color:#eff6ff;border:1px solid #bfdbfe}.status-badge.delivered{background-color:var(--bg-mint-soft);color:#065f46;border:1px solid var(--color-primary-border)}.status-badge.reserved{background-color:var(--color-warning-light);color:#b45309;border:1px solid var(--color-warning-border)}.status-badge.critical{background-color:var(--color-danger-light);color:#be123c;border:1px solid var(--color-danger-border)}.status-badge.pending{color:#475467;border:1px solid var(--border-subtle);background-color:#f8fafc}.schedule-tag{border-radius:var(--radius-xs);padding:.15rem .45rem;font-size:.68rem;font-weight:800;display:inline-block}.schedule-tag.rx{background-color:var(--color-rx-light);color:var(--color-rx-blue);border:1px solid var(--color-rx-border)}.schedule-tag.otc{background-color:var(--bg-mint-soft);color:var(--color-primary);border:1px solid var(--color-primary-border)}.pos-layout-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:1.5rem;display:grid}.pos-catalog-panel{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.pos-cart-panel{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.25rem;position:sticky;top:80px}.pos-cart-items-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background-color:#fafafa;max-height:280px;margin:.85rem 0;padding:.5rem;overflow-y:auto}.cart-item-row{border-bottom:1px solid var(--border-subtle);background-color:var(--bg-surface);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:4px;padding:.6rem .5rem;display:flex}.cart-item-row:last-child{border-bottom:none;margin-bottom:0}.qty-stepper{align-items:center;gap:.35rem;display:flex}.qty-btn{border-radius:var(--radius-xs);border:1px solid var(--border-subtle);background-color:var(--bg-surface);width:24px;height:24px;color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.qty-btn:hover{background-color:var(--bg-mint-soft);color:var(--color-primary);border-color:var(--color-primary-border)}.payment-modes-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.75rem 0;display:grid}.pay-mode-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background-color:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;align-items:center;gap:.3rem;padding:.55rem .4rem;font-family:inherit;font-size:.76rem;font-weight:600;display:flex}.pay-mode-btn:hover{border-color:var(--color-primary-border);background-color:var(--bg-mint-soft)}.pay-mode-btn.active{border-color:var(--color-primary);background-color:var(--bg-mint-soft);color:var(--color-primary-dark);box-shadow:0 0 0 1px var(--color-primary);font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background-color:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:650px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) modalPopIn;display:flex;overflow:hidden}@keyframes modalPopIn{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(#f0fdf4 0%,#fff 100%);justify-content:space-between;align-items:center;padding:1.15rem 1.4rem;display:flex}.modal-header h3{color:var(--text-main);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.modal-body{flex:1;padding:1.4rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background-color:#fafafa;justify-content:flex-end;align-items:center;gap:.65rem;padding:1rem 1.4rem;display:flex}.form-group{margin-bottom:1rem}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.35rem;font-size:.78rem;font-weight:700;display:block}.form-input,.form-select,.form-textarea{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-main);transition:all var(--transition-fast);outline:none;padding:.6rem .85rem;font-family:inherit;font-size:.86rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.printable-invoice-wrapper{color:#0f172a;border-radius:var(--radius-md);background-color:#fff;border:1px solid #e2e8f0;padding:1.75rem;font-family:system-ui,-apple-system,sans-serif;font-size:.82rem}.invoice-top-banner{border-bottom:2px solid var(--color-primary);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}.invoice-logo-title h2{color:var(--color-primary-dark);font-size:1.35rem;font-weight:800}.invoice-logo-title p{color:#475467;font-size:.75rem}.invoice-meta-box{text-align:right;font-size:.75rem}.invoice-grid-2{border-radius:var(--radius-sm);background-color:#f8fafc;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;padding:.75rem;display:grid}@media print{body *{visibility:hidden}.printable-invoice-wrapper,.printable-invoice-wrapper *{visibility:visible}.printable-invoice-wrapper{border:none;width:100%;padding:0;position:absolute;top:0;left:0}.no-print{display:none!important}}@media (width<=1024px){.app-sidebar{transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-main-area{margin-left:0}.mobile-menu-toggle,.sidebar-close-btn{display:flex!important}.charts-grid,.pos-layout-grid{grid-template-columns:1fr}.stepper-pipeline{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.main-wrapper{padding:1rem}.stepper-pipeline,.form-row,.form-row-3{grid-template-columns:1fr}.payment-modes-grid{grid-template-columns:repeat(2,1fr)}}
