@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--secondary:#10b981;--secondary-hover:#059669;--secondary-light:#d1fae5;--danger:#ef4444;--danger-light:#fee2e2;--warning:#f59e0b;--warning-light:#fef3c7;--background:#f8fafc;--surface:#fff;--surface-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border:#e2e8f0;--hero-gradient:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--glass-bg:#ffffffb3;--glass-border:#ffffff80;--glass-shadow:0 8px 32px 0 #1f268712;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--transition-fast:.15s ease-in-out;--transition-normal:.3s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:80px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:Outfit,sans-serif;font-weight:600}.trx-hero h1,.trx-hero h2,.trx-hero h3,.trx-hero p,.trx-hero span:not([class*=badge]):not([class*=chip]),.cb-hero h1,.cb-hero h2,.cb-hero h3,.cb-hero p,.exam-hero h1,.exam-hero h2,.exam-hero h3,.exam-hero p,.db-hero h1,.db-hero h2,.db-hero h3,.db-hero p{color:inherit}.trx-hero,.cb-hero,.exam-hero,.db-hero{color:#fff}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}button{cursor:pointer;background:0 0;border:none;font-family:Inter,sans-serif}input,textarea,select{font-family:Inter,sans-serif}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:transform var(--transition-normal), box-shadow var(--transition-normal);padding:1.5rem}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);padding:1.5rem}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 4px 14px #4f46e563}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 6px 20px #4f46e53b}.btn-secondary{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--surface-hover)}.btn-danger{background-color:var(--danger-light);color:var(--danger)}.btn-danger:hover{background-color:#fecaca}.btn-icon{border-radius:var(--radius-full);transition:background-color var(--transition-fast);justify-content:center;align-items:center;padding:.5rem;display:flex}.btn-icon:hover{background-color:var(--surface-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}.form-group{margin-bottom:1rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-control{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.75rem 1rem}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.badge{border-radius:var(--radius-full);align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background-color:var(--secondary-light);color:var(--secondary-hover)}.badge-warning{background-color:var(--warning-light);color:#b45309}.badge-primary{background-color:var(--primary-light);color:var(--primary)}@media (width>=768px){body{padding-bottom:0}}.layout-wrapper{width:100%;min-height:100vh;display:flex}.sidebar{background-color:var(--surface);border-right:1px solid var(--border);z-index:40;flex-direction:column;width:240px;height:100vh;display:none;position:fixed;top:0;left:0}.sidebar-header{border-bottom:1px solid var(--border);padding:1.5rem}.logo-placeholder{align-items:center;gap:.75rem;display:flex}.logo-icon{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-radius:var(--radius-md);width:32px;height:32px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.logo-placeholder h2{background:linear-gradient(to right, var(--text-primary), var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.25rem}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .5rem;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;display:flex}.nav-item:hover{background-color:var(--surface-hover);color:var(--primary)}.nav-item.active{background-color:var(--primary-light);color:var(--primary)}.sidebar-footer{border-top:1px solid var(--border);padding:1rem}.user-profile{align-items:center;gap:.75rem;display:flex}.avatar{border-radius:var(--radius-full);background-color:var(--primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.125rem;font-weight:600;display:flex}.avatar.sm{width:32px;height:32px;font-size:.875rem}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.user-role{color:var(--text-tertiary);font-size:.75rem}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}.mobile-header{background-color:var(--surface);border-bottom:1px solid var(--border);z-index:30;justify-content:space-between;align-items:center;padding:1rem;display:flex;position:sticky;top:0}.mobile-header h2{background:linear-gradient(to right, var(--text-primary), var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.25rem}.content-container{width:100%;padding:1.5rem 1rem 80px}.bottom-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--glass-border);z-index:40;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000d}.bottom-nav-item{color:var(--text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.75rem 0;display:flex}.bottom-nav-icon{transition:transform var(--transition-fast)}.bottom-nav-item:hover{color:var(--text-secondary)}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.active .bottom-nav-icon{transform:translateY(-2px)}.bottom-nav-label{font-size:.65rem;font-weight:500}@media (width>=768px){.sidebar{display:flex}.mobile-header,.bottom-nav{display:none}.main-content{margin-left:240px}.content-container{padding:1.75rem 2rem 1.75rem 1.5rem}}@media (width>=1280px){.content-container{padding:2rem 2.5rem 2rem 1.5rem}}.offline-indicator{z-index:9999;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);justify-content:center;align-items:center;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideDown;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.offline-indicator.offline{color:#fff;background-color:#ef4444f2}.offline-indicator.reconnected{color:#fff;background-color:#10b981f2}.offline-content{align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:flex}.online-dot{background-color:#fff;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;box-shadow:0 0 0 2px #ffffff4d}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{box-shadow:0 0 #ffffffb3}70%{box-shadow:0 0 0 6px #fff0}to{box-shadow:0 0 #fff0}}.login-container{background:linear-gradient(135deg, var(--primary-light) 0%, var(--secondary-light) 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{width:100%;max-width:420px;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo{justify-content:center;margin-bottom:1rem;display:flex}.logo-icon-lg{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-radius:var(--radius-lg);justify-content:center;align-items:center;width:56px;height:56px;font-size:1.25rem;font-weight:700;display:flex;box-shadow:0 8px 16px #4f46e54d}.login-header h2{background:linear-gradient(to right, var(--text-primary), var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 .5rem;font-size:1.75rem}.login-header p{color:var(--text-secondary);margin:0;font-size:.875rem}.login-error{background-color:var(--danger-light);color:var(--danger);border-radius:var(--radius-md);text-align:center;border:1px solid #fecaca;margin-bottom:1.5rem;padding:.75rem;font-size:.875rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-tertiary);position:absolute;left:1rem}.input-with-icon .form-control{height:48px;padding-left:2.75rem}.login-btn{height:48px;margin-top:.5rem;font-size:1rem;font-weight:600}.login-footer{text-align:center;color:var(--text-tertiary);margin-top:2rem;font-size:.75rem}@media (width<=480px){.login-card{padding:2rem 1.5rem}}.dashboard{flex-direction:column;gap:1.5rem;display:flex}.db-hero-wrapper{margin-bottom:.5rem}.db-hero{background:var(--hero-gradient);border-radius:var(--radius-2xl);color:#fff;box-shadow:var(--shadow-lg), 0 10px 30px #0f172a26;justify-content:space-between;align-items:center;gap:2rem;padding:2.25rem;display:flex;position:relative;overflow:hidden}.db-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#6366f126 0%,#0000 70%);width:300px;height:300px;position:absolute;top:-50%;right:-20%}.db-hero-left{flex:1}.db-hero-badge{color:#a5b4fc;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;background:#6366f133;border:1px solid #6366f14d;margin-bottom:.75rem;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.db-hero h1{letter-spacing:-.025em;margin:0 0 .5rem;font-size:2rem;font-weight:800}.db-hero p{color:#94a3b8;max-width:600px;margin:0;font-size:.9375rem;line-height:1.5}.db-hero-right{flex-shrink:0}.date-display-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.date-display-card svg{color:#38bdf8}.date-display-card div{flex-direction:column;display:flex}.date-display-card strong{font-size:.9375rem}.date-display-card span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;gap:.75rem;padding:1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card.border-primary{border-left:4px solid var(--primary)}.stat-card.border-secondary{border-left:4px solid var(--secondary)}.stat-card.border-success{border-left:4px solid #10b981}.stat-card.border-danger{border-left:4px solid #ef4444}.stat-card-top{justify-content:space-between;align-items:center;display:flex}.stat-card-top h3{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:800}.stat-icon-wrapper{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.bg-primary-light{background-color:var(--primary-light)}.bg-secondary-light{background-color:var(--secondary-light)}.bg-danger-light{background-color:#fef2f2}.bg-warning-light{background-color:#fef3c7}.bg-info-light{background-color:#e0f2fe}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-danger{color:#dc2626}.text-info{color:#0284c7}.stat-card-bottom{flex-direction:column;gap:.125rem;display:flex}.stat-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.75rem;font-weight:700}.stat-subtext{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.75rem;overflow:hidden}.db-main-layout{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=1024px){.db-main-layout{grid-template-columns:1.8fr 1fr}}.db-left-col,.db-right-col{flex-direction:column;gap:1.5rem;display:flex}.quick-actions-section{flex-direction:column;gap:.75rem;display:flex}.section-title{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:800}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.quick-action-btn{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;align-items:center;gap:.875rem;width:100%;padding:1rem;transition:all .2s;display:flex}.quick-action-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.border-primary-hover:hover{border-color:var(--primary)}.border-secondary-hover:hover{border-color:var(--secondary)}.border-success-hover:hover{border-color:#10b981}.border-warning-hover:hover{border-color:#f59e0b}.border-danger-hover:hover{border-color:#ef4444}.border-info-hover:hover{border-color:#0284c7}.action-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.action-text{flex:1}.action-text h4{margin:0 0 .125rem;font-size:.875rem;font-weight:700}.action-text p{color:var(--text-secondary);margin:0;font-size:.75rem}.action-plus{background:var(--surface-hover);width:24px;height:24px;color:var(--text-tertiary);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.quick-action-btn:hover .action-plus{color:#fff;background:#0f172a}.db-table-card,.db-widget-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:1.5rem}.db-widget-card.border-success{border-top:4px solid #10b981}.db-widget-card.border-danger{border-top:4px solid #ef4444}.card-header-flex{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.card-title{margin:0 0 .25rem;font-size:1.125rem;font-weight:800}.card-subtitle{color:var(--text-secondary);margin:0;font-size:.75rem}.widget-title{margin:0 0 .25rem;font-size:1rem;font-weight:800}.widget-subtitle{color:var(--text-secondary);margin:0 0 1rem;font-size:.75rem}.table-responsive{overflow-x:auto}.db-table{border-collapse:collapse;width:100%}.db-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1.5px solid var(--border);background:var(--surface-hover);padding:.75rem 1rem;font-size:.7rem;font-weight:700}.db-table td{border-bottom:1px solid var(--border);padding:.875rem 1rem;font-size:.8125rem}.db-table tr:hover td{background:#f8fafc}.table-patient-cell{flex-direction:column;display:flex}.table-patient-cell strong{color:var(--text-primary)}.table-patient-cell span{color:var(--text-secondary);font-size:.7rem}.payment-method-tag{color:#475569;border-radius:var(--radius-sm);background:#f1f5f9;border:1px solid #cbd5e1;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700}.db-badge{border-radius:var(--radius-full);padding:.25rem .625rem;font-size:.65rem;font-weight:800}.badge-lunas{color:#065f46;background:#d1fae5}.badge-dp{color:#92400e;background:#fef3c7}.badge-belum_bayar{color:#0369a1;background:#e0f2fe}.action-icon-btn{cursor:pointer;border-radius:var(--radius-md);color:var(--text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;transition:all .15s;display:inline-flex}.action-icon-btn:hover{background:var(--primary-light);color:var(--primary)}.btn-link{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-size:.8125rem;font-weight:700;display:inline-flex}.btn-link:hover{color:var(--primary-hover);text-decoration:underline}.drawer-widget-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.drawer-widget-header{background:linear-gradient(135deg,#0f172a,#1e293b);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem 1rem;display:flex}.drawer-widget-header-left{align-items:center;gap:.875rem;display:flex}.drawer-widget-icon{border-radius:var(--radius-lg);background:#ffffff14;border:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.375rem;display:flex}.drawer-widget-title{color:#fff;letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:800}.drawer-widget-sub{color:#94a3b8;margin:.1rem 0 0;font-size:.7rem;font-weight:500}.drawer-widget-total-pill{flex-direction:column;align-items:flex-end;gap:.1rem;display:flex}.drawer-widget-total-label{text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-size:.6rem;font-weight:800}.drawer-widget-total-val{color:#34d399;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:1.125rem;font-weight:800}.drawer-txn-summary{border-bottom:1px solid var(--border);background:#f8fafc;align-items:center;gap:.5rem;padding:.625rem 1.5rem;display:flex}.drawer-txn-count-badge{color:#475569;border-radius:var(--radius-full);background:#e2e8f0;padding:.2rem .6rem;font-size:.7rem;font-weight:700}.drawer-txn-empty{color:#94a3b8;font-size:.7rem;font-style:italic}.drawer-methods-list{flex-direction:column;gap:.5rem;padding:.75rem 1.25rem;display:flex}.drawer-method-card{border-radius:var(--radius-lg);background:#f8fafc;border:1.5px solid #e2e8f0;flex-direction:column;gap:.5rem;padding:.875rem 1rem;transition:all .2s;display:flex}.drawer-method-card.has-amount{box-shadow:0 2px 8px #0000000a}.drawer-method-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.drawer-method-left{align-items:center;gap:.625rem;display:flex}.drawer-method-emoji{flex-shrink:0;font-size:1.25rem;line-height:1}.drawer-method-info{flex-direction:column;gap:.05rem;display:flex}.drawer-method-name{color:#334155;letter-spacing:-.01em;font-size:.875rem;font-weight:800}.drawer-method-desc{color:#94a3b8;font-size:.65rem;font-weight:500}.drawer-method-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.1rem;display:flex}.drawer-method-amount{color:#64748b;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:.9375rem;font-weight:800}.drawer-method-count{color:#94a3b8;font-size:.65rem;font-weight:600}.drawer-method-bar-track{background:#0000000f;border-radius:2px;height:4px;overflow:hidden}.drawer-method-bar-fill{opacity:.85;border-radius:2px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.drawer-method-pct{text-align:right;opacity:.85;font-size:.65rem;font-weight:800}.drawer-grand-total{background:#0f172a;border-top:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.drawer-grand-left{flex-direction:column;gap:.15rem;display:flex}.drawer-grand-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-size:.7rem;font-weight:800}.drawer-grand-trx{color:#475569;font-size:.65rem;font-weight:500}.drawer-grand-amount{color:#34d399;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:800}.drawer-breakdown-list{flex-direction:column;gap:.625rem;display:flex}.drawer-row{color:var(--text-secondary);justify-content:space-between;font-size:.8125rem;display:flex}.drawer-lbl{font-weight:600}.drawer-total-block{border-top:1.5px dashed var(--border);justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.875rem;display:flex}.drawer-total-block span{text-transform:uppercase;color:var(--text-tertiary);font-size:.75rem;font-weight:700}.drawer-total-block strong{color:#059669;font-size:1.125rem;font-weight:800}.rx-widget-list{flex-direction:column;gap:.75rem;display:flex}.rx-widget-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8fafc;padding:.75rem}.rx-widget-header{justify-content:space-between;margin-bottom:.375rem;font-size:.75rem;display:flex}.rx-widget-header strong{color:var(--text-primary)}.rx-widget-header span{color:var(--text-secondary)}.rx-mini-grid{color:var(--text-tertiary);border-radius:var(--radius-sm);border:1px dashed var(--border);text-align:center;background:#fff;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:.375rem;font-size:.7rem;display:grid}.rx-mini-grid span{color:var(--text-primary);font-weight:700}.bg-danger-light-widget{background-color:#fef2f2}.stock-alert-list{flex-direction:column;gap:.5rem;display:flex}.stock-alert-item{border-radius:var(--radius-lg);background:#fff;border:1px solid #fee2e2;justify-content:space-between;align-items:center;padding:.625rem;display:flex}.stock-alert-info{flex-direction:column;display:flex}.stock-alert-info strong{color:#991b1b;font-size:.75rem}.stock-alert-info span{color:#7f1d1d;font-size:.7rem}.stock-alert-badge{color:#b91c1c;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fca5a5;padding:.125rem .375rem;font-size:.65rem;font-weight:700}@media (width<=768px){.db-hero{flex-direction:column;align-items:flex-start;padding:1.5rem}}.invoice-modal-overlay{z-index:1100!important}.invoice-modal{max-width:680px}.invoice-scroll{background:#f1f5f9;padding:1.5rem;overflow-y:auto}.invoice-paper{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;max-width:560px;margin:0 auto;padding:2rem}.inv-header{text-align:center;border-bottom:2px solid var(--primary);margin-bottom:1.25rem;padding-bottom:1.25rem}.inv-logo{background:linear-gradient(to right, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Outfit,sans-serif;font-size:2rem;font-weight:700}.inv-subtitle{color:var(--text-secondary);margin-top:.125rem;font-size:.75rem}.inv-number{background:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);margin-top:.5rem;padding:.25rem .875rem;font-size:.75rem;font-weight:700;display:inline-block}.info-grid{background:var(--surface-hover);border-radius:var(--radius-md);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0;padding:1rem;display:grid}.info-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.125rem;font-size:.65rem}.info-value{font-size:.875rem;font-weight:600}table{border-collapse:collapse;width:100%;margin:1rem 0}table th{background:var(--primary);color:#fff;text-align:left;padding:.625rem;font-size:.75rem}table td{border-bottom:1px dashed var(--border);padding:.625rem;font-size:.875rem}.subtotal-col{text-align:right;font-weight:700}.totals{border-top:2px solid var(--border);margin-top:.5rem}.total-row{justify-content:space-between;padding:.25rem 0;font-size:.875rem;display:flex}.total-grand{color:var(--primary);border-top:1px solid var(--border);margin-top:.25rem;padding:.75rem 0;font-size:1.125rem;font-weight:700}.status-box{text-align:center;border-radius:var(--radius-md);margin:1rem 0;padding:.75rem;font-size:.9375rem;font-weight:700}.status-lunas{background:var(--secondary-light);color:var(--secondary-hover)}.status-dp{background:var(--warning-light);color:#b45309}.footer{text-align:center;color:var(--text-tertiary);border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem;font-size:.75rem}.invoice-prescription-card{border-radius:var(--radius-lg);background:#f8fafc;border:1.5px solid #e2e8f0;margin:1rem 0;padding:1rem;font-size:.8125rem}.rx-card-title{text-transform:uppercase;color:#475569;letter-spacing:.05em;border-bottom:1.5px solid #e2e8f0;margin-bottom:.75rem;padding-bottom:.375rem;font-size:.75rem;font-weight:800}.rx-grid-header,.rx-grid-row{text-align:center;grid-template-columns:1.2fr repeat(4,1fr);align-items:center;padding:.375rem 0;display:grid}.rx-grid-header{color:#64748b;text-transform:uppercase;border-bottom:1px solid #f1f5f9;font-size:.7rem;font-weight:700}.rx-grid-row{color:#334155;border-bottom:1px dashed #f1f5f9}.rx-grid-row .eye-lbl{text-align:left;color:#0f172a;font-weight:700}.rx-card-footer{color:#475569;border-top:1px solid #e2e8f0;justify-content:space-between;margin-top:.75rem;padding-top:.5rem;font-size:.75rem;display:flex}.patient-list-page{flex-direction:column;gap:1.5rem;display:flex}.patient-hero{background:var(--hero-gradient);color:#fff;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.75rem 2rem;display:flex;box-shadow:0 8px 32px #0f172a26}.ph-content{align-items:center;gap:1.25rem;display:flex}.ph-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.ph-content h1{letter-spacing:-.02em;color:#fff;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.ph-content p{color:#ffffffbf;margin:0;font-size:.875rem}.ph-action-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.ph-action-btn:hover{background:#fff3;transform:translateY(-1px)}.patient-layout{flex-direction:column;gap:1.5rem;display:flex}.patient-main{flex-direction:column;flex:1;gap:1rem;min-width:0;display:flex}.patient-sidebar{display:none}.patient-sidebar.active{display:block}@media (width>=1024px){.patient-layout{flex-direction:row;align-items:flex-start}.patient-sidebar{flex-shrink:0;width:360px}.sticky-card{position:sticky;top:1.5rem}}.registration-card{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.registration-header h3{margin:0 0 .25rem;font-size:1.125rem}.registration-header p{color:var(--text-secondary);margin:0;font-size:.8125rem}.form-type-selector{gap:.5rem;display:flex}.type-radio{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);background:var(--background);flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.type-radio input{display:none}.type-radio.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary);box-shadow:0 2px 4px #4f46e51a}.form-grid-single{flex-direction:column;gap:1rem;display:flex}.form-group label{color:var(--text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.form-control{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;width:100%;padding:.75rem;font-size:.875rem;transition:border-color .2s}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.btn-submit-patient{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem;font-size:.9375rem;font-weight:700;transition:all .2s;display:flex}.btn-submit-patient:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.btn-submit-patient:disabled{opacity:.6;cursor:not-allowed}.slide-down{animation:.3s ease-out slideDown}.search-bar-container,.search-input-wrapper{position:relative}.search-icon{color:var(--text-tertiary);position:absolute;top:50%;left:1.25rem;transform:translateY(-50%)}.search-input{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding-top:1rem;padding-bottom:1rem;padding-left:3.25rem;font-size:.9375rem}.patient-list-container{flex-direction:column;gap:.75rem;display:flex}.patient-list-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:1.25rem;padding:1.25rem;transition:all .2s;display:flex}.patient-list-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pli-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;font-weight:700;display:flex;box-shadow:0 4px 10px #4f46e533}.pli-content{flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex}.pli-header{align-items:center;gap:.75rem;display:flex}.pli-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:1.0625rem;font-weight:700;overflow:hidden}.badge{text-transform:uppercase;border-radius:6px;padding:.25rem .5rem;font-size:.65rem;font-weight:800}.badge-success{color:#16a34a;background:#dcfce7}.badge-secondary{color:#64748b;background:#f1f5f9}.pli-details{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.pli-info{color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;display:flex}.truncate-1{white-space:nowrap;text-overflow:ellipsis;max-width:250px;overflow:hidden}.pli-action{color:var(--primary);padding-left:.5rem;font-size:.875rem;font-weight:700}.empty-state{background:var(--surface);border-radius:var(--radius-lg);border:1px dashed var(--border);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-icon{background:var(--surface-hover);border-radius:var(--radius-full);width:64px;height:64px;color:var(--text-tertiary);justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.clinical-modal{max-width:900px}.clinical-header-title{align-items:center;gap:.75rem;display:flex}.border-bottom-success{border-bottom:2px solid var(--secondary)}.border-bottom-warning{border-bottom:2px solid var(--warning)}.clinical-body{flex-direction:column;padding:0;display:flex}.clinical-layout{flex-direction:column;display:flex}@media (width>=768px){.clinical-layout{flex-direction:row}}.clinical-metadata{border-right:1px solid var(--border);background-color:var(--surface);flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem;display:flex}.clinical-rx-data{background-color:var(--surface-hover);flex-direction:column;flex:1.5;gap:1.5rem;padding:1.5rem;display:flex}.section-title-sm{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem;font-weight:700}.flex-center{align-items:center;display:flex}.mr-2{margin-right:.5rem}.rx-table-container{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.rx-table{border-collapse:collapse;width:100%}.rx-table th{background-color:var(--primary-light);color:var(--primary);text-align:center;border-bottom:1px solid var(--border);padding:.75rem;font-size:.75rem;font-weight:700}.rx-table td{border-bottom:1px solid var(--border);text-align:center;padding:1rem .5rem}.rx-table tr:last-child td{border-bottom:none}.rx-row-od{background-color:#ef44440d}.rx-row-os{background-color:#10b9810d}.eye-label{flex-direction:column;justify-content:center;align-items:center;display:flex}.eye-label strong{color:var(--text-primary);font-size:1.25rem}.eye-desc{color:var(--text-tertiary);margin-top:.125rem;font-size:.65rem}.rx-input{text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);width:60px;transition:all var(--transition-fast);padding:.5rem .25rem;font-family:Outfit,monospace;font-size:1rem;font-weight:600}.rx-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.rx-accessories{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:1.5rem;padding:1.25rem;display:flex}.pd-group{flex-direction:column;align-items:center;margin:0;display:flex}.pd-input-wrap{width:80px}.text-lg{font-size:1.25rem}.text-center{text-align:center}.border-dashed{border:1px dashed var(--border)}.bg-secondary{background-color:var(--secondary)!important}.bg-secondary:hover{background-color:var(--secondary-hover)!important}.bg-warning{background-color:var(--warning)!important;color:#fff!important}.bg-warning:hover{background-color:#d97706!important}.mt-auto{margin-top:auto}.patient-detail-page{flex-direction:column;gap:1.5rem;display:flex}.detail-header{align-items:center;gap:1rem;display:flex}.detail-header h2{margin:0;font-size:1.5rem}.patient-profile-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border);flex-direction:column;gap:1.5rem;padding:2rem;display:flex;position:relative;overflow:hidden}.patient-profile-card:before{content:"";background:linear-gradient(to right, var(--primary), var(--secondary));width:100%;height:6px;position:absolute;top:0;left:0}.profile-hero{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.profile-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;justify-content:center;align-items:center;width:80px;height:80px;font-size:2.5rem;font-weight:700;display:flex;box-shadow:0 4px 14px #4f46e566}.profile-info{flex:1}.profile-info h1{color:var(--text-primary);margin:0 0 .5rem;font-size:1.75rem}.edit-btn{border-radius:var(--radius-full);padding:.5rem 1.25rem}.profile-details{border-top:1px dashed var(--border);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;padding-top:1.5rem;display:grid}.detail-item{align-items:flex-start;gap:.75rem;display:flex}.detail-item>div{flex-direction:column;display:flex}.detail-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.detail-value{color:var(--text-primary);font-size:.875rem;font-weight:500}.tabs-container{flex-direction:column;gap:1.5rem;display:flex}.tabs-header{border-bottom:1px solid var(--border);gap:1rem;padding-bottom:1px;display:flex;overflow-x:auto}.tab-btn{color:var(--text-secondary);white-space:nowrap;transition:all var(--transition-fast);border-bottom:2px solid #0000;padding:.75rem 1rem;font-weight:600}.tab-btn:hover{color:var(--primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{min-height:300px}.action-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.action-card{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition-fast);align-items:center;gap:1rem;padding:1.25rem;display:flex}.action-card:hover{box-shadow:var(--shadow-sm);border-color:var(--primary-light);transform:translateY(-2px)}.ac-icon{border-radius:var(--radius-full);width:48px;height:48px;box-shadow:var(--shadow-sm);background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ac-text{flex:1}.ac-text h4{margin:0 0 .25rem;font-size:1rem}.ac-text p{color:var(--text-secondary);margin:0;font-size:.8125rem}.mt-4{margin-top:1rem}.exam-timeline{flex-direction:column;gap:1.5rem;padding-left:28px;display:flex;position:relative}.exam-timeline:before{content:"";background:linear-gradient(to bottom, var(--primary-light), var(--border));width:2px;height:100%;position:absolute;top:0;left:12px}.timeline-item{position:relative}.timeline-dot{border-radius:var(--radius-full);z-index:2;width:28px;height:28px;box-shadow:var(--shadow-sm);border:2px solid #fff;justify-content:center;align-items:center;display:flex;position:absolute;top:1rem;left:-28px;transform:translate(-50%)}.dot-warning{background-color:var(--warning);color:#fff}.dot-success{background-color:var(--secondary);color:#fff}.exam-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);overflow:hidden}.exam-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.exam-card-external{border-left:4px solid var(--warning)}.exam-card-internal{border-left:4px solid var(--secondary)}.exam-card-header{background:var(--surface-hover);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 1rem;display:flex}.tl-date{color:var(--text-tertiary);background:var(--surface);border-radius:var(--radius-full);border:1px solid var(--border);padding:.25rem .75rem;font-size:.75rem;font-weight:600}.exam-meta{border-bottom:1px dashed var(--border);background:var(--surface);flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;display:flex}.exam-meta span{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.rx-inline-table{padding:.75rem 1rem 0}.rx-inline-table table{border-collapse:collapse;width:100%;font-size:.875rem}.rx-inline-table thead th{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;text-align:center;border-bottom:1px solid var(--border);padding:.5rem;font-size:.7rem;font-weight:700}.rx-inline-table tbody td{text-align:center;border-bottom:1px dashed var(--border);padding:.625rem .5rem;font-family:Outfit,monospace;font-size:.9rem;font-weight:600}.rx-inline-table tbody tr:last-child td{border-bottom:none}.row-od td{background-color:#ef44440a}.row-os td{background-color:#10b9810a}.eye-cell{flex-direction:column;justify-content:center;align-items:center;line-height:1.2;display:flex}.eye-cell strong{color:var(--text-primary);font-size:.875rem}.eye-cell small{color:var(--text-tertiary);font-size:.6rem;font-weight:400}.rx-inline-footer{color:var(--text-secondary);border-top:1px solid var(--border);gap:1.5rem;margin-top:.5rem;padding:.75rem 0;font-size:.8125rem;display:flex}.rx-inline-footer strong{color:var(--text-primary)}.no-rx-text{color:var(--text-tertiary);margin:0;padding:.75rem 1rem;font-size:.8125rem;font-style:italic}.exam-notes{border-top:1px dashed var(--border);background:#4f46e50a;gap:.5rem;padding:.75rem 1rem;display:flex}.exam-notes p{color:var(--text-secondary);margin:0;font-size:.8125rem;font-style:italic;line-height:1.6}.comparison-header{margin-bottom:1.5rem}.comparison-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.comp-col{padding:0;overflow:hidden}.comp-col-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.comp-col-header h4{margin:0;font-size:1rem}.comp-col-header span{color:var(--text-secondary);font-size:.75rem;font-weight:600}.bg-success-light{background-color:var(--secondary-light)}.comp-body{padding:1rem}.rx-row{border-bottom:1px dashed var(--border);text-align:center;grid-template-columns:30px 1fr 1fr 1fr 1fr;align-items:center;gap:.5rem;padding:.75rem 0;display:grid}.header-row{color:var(--text-tertiary);border-bottom:1px solid var(--border);padding-bottom:.5rem;font-size:.75rem;font-weight:600}.rx-row strong{color:var(--primary)}.highlight-diff{background-color:var(--danger-light);border-radius:var(--radius-sm);padding-left:.25rem;padding-right:.25rem}.rx-footer{border-top:1px solid var(--border);text-align:center;margin-top:1rem;padding-top:1rem;font-size:.875rem;font-weight:600}.font-bold{font-weight:700}.empty-state-sm{text-align:center;color:var(--text-tertiary);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);padding:2rem}@media (width<=640px){.profile-hero{text-align:center;flex-direction:column}.profile-details{grid-template-columns:1fr}}.trx-history-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s;overflow:hidden}.trx-history-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.trx-history-card.expanded{border-color:var(--primary);box-shadow:0 0 0 2px #4f46e514, var(--shadow-md)}.trx-hist-top{background:var(--surface-hover);-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}.trx-hist-invoice{color:var(--primary);align-items:center;gap:.25rem;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:800;display:flex}.trx-hist-date{color:var(--text-secondary);margin-top:.125rem;font-size:.7rem;display:block}.trx-hist-badges{flex-wrap:wrap;gap:.375rem;display:flex}.trx-expand-icon{color:var(--text-tertiary);align-items:center;display:flex}.trx-hist-quick{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.375rem;padding:.625rem 1.25rem;display:flex}.trx-chip{border-radius:var(--radius-full);border:1px solid;align-items:center;gap:.3rem;padding:.2rem .625rem;font-size:.7rem;font-weight:700;display:inline-flex}.chip-lens{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.chip-frame{color:#7c3aed;background:#fdf4ff;border-color:#e9d5ff}.chip-lensitem{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.chip-service{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.trx-expanded-detail{border-top:1px solid var(--border);background:#fafafe;flex-direction:column;gap:1rem;padding:1rem 1.25rem;animation:.2s slideDown;display:flex}.trx-items-detail-table{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.trx-detail-header{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#0f172a;grid-template-columns:2fr 1fr 1.2fr .5fr 1.2fr;gap:.5rem;padding:.5rem .875rem;font-size:.65rem;font-weight:800;display:grid}.trx-detail-row{border-bottom:1px dashed var(--border);grid-template-columns:2fr 1fr 1.2fr .5fr 1.2fr;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8rem;display:grid}.trx-detail-row:last-child{border-bottom:none}.trx-item-name{color:var(--text-primary);font-weight:600}.trx-type-label{text-transform:capitalize;color:var(--text-secondary);font-size:.65rem;font-weight:700}.trx-rx-linked{border-radius:var(--radius-lg);background:#eef2ff;border:1px solid #c7d2fe;overflow:hidden}.trx-rx-title{color:#fff;background:#4f46e5;padding:.5rem .875rem;font-size:.75rem;font-weight:700}.trx-rx-grid{padding:.5rem .875rem}.trx-rx-header,.trx-rx-row{text-align:center;grid-template-columns:1.2fr repeat(4,1fr);padding:.3rem 0;font-size:.75rem;display:grid}.trx-rx-header{color:#4338ca;text-transform:uppercase;border-bottom:1px solid #c7d2fe;padding-bottom:.375rem;font-size:.65rem;font-weight:800}.trx-rx-row{color:#1e1b4b;border-bottom:1px dashed #c7d2fe;font-weight:600}.trx-rx-row:last-child{border-bottom:none}.trx-totals-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.trx-totals-block{flex-direction:column;gap:.25rem;display:flex}.trx-total-line{color:var(--text-secondary);justify-content:space-between;gap:2rem;font-size:.8125rem;display:flex}.trx-total-line.bold{color:var(--text-primary);font-size:1rem;font-weight:800}.trx-total-line.text-danger{color:#dc2626;font-weight:700}.trx-invoice-btn{white-space:nowrap;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:700;display:inline-flex}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot-frame{background:#7c3aed}.dot-lens{background:#059669}.dot-service{background:#d97706}.exam-page{flex-direction:column;gap:1.25rem;display:flex}.exam-hero{background:var(--hero-gradient);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #4f46e559}.exam-hero:before{content:"";background:#ffffff0d;border-radius:50%;width:200px;height:200px;position:absolute;top:-40px;right:-40px}.exam-hero:after{content:"";background:#ffffff08;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-60px;right:120px}.exam-hero-content{z-index:1;align-items:center;gap:1.25rem;display:flex;position:relative}.exam-hero-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.exam-hero-content h1{letter-spacing:-.02em;color:#fff;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.exam-hero-content p{color:#ffffffb3;margin:0;font-size:.875rem}.exam-hero-stats{z-index:1;background:#ffffff14;border:1px solid #ffffff1f;border-radius:16px;flex-shrink:0;align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex;position:relative}.hero-stat{flex-direction:column;align-items:center;gap:.25rem;display:flex}.hero-stat-num{color:#fff;font-size:1.75rem;font-weight:800;line-height:1}.hero-stat span:last-child{color:#fff9;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.7rem}.hero-stat-div{background:#ffffff26;width:1px;height:40px}.text-success{color:#34d399!important}.text-warning{color:#fbbf24!important}.exam-tab-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.exam-tabs{background:var(--surface-hover,#f1f5f9);border-radius:12px;gap:2px;padding:4px;display:flex}.exam-tab{color:var(--text-secondary,#64748b);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.exam-tab.active{color:#4f46e5;background:#fff;font-weight:600;box-shadow:0 2px 8px #00000014}.exam-tab:not(.active):hover{color:#4f46e5;background:#4f46e514}.exam-toolbar{align-items:center;gap:.75rem;display:flex}.exam-search-wrap{align-items:center;display:flex;position:relative}.exam-search-icon{color:var(--text-secondary,#94a3b8);pointer-events:none;position:absolute;left:.75rem}.exam-search{border:1.5px solid var(--border,#e2e8f0);color:var(--text-primary,#0f172a);background:#fff;border-radius:10px;outline:none;width:260px;padding:.6rem 1rem .6rem 2.25rem;font-size:.875rem;transition:all .2s}.exam-search:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.exam-new-dropdown{position:relative}.btn-exam-new{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.btn-exam-new:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e559}.patient-picker-dropdown{border:1.5px solid var(--border,#e2e8f0);z-index:200;background:#fff;border-radius:16px;min-width:360px;max-height:400px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 20px 60px #00000026}.picker-header{color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border,#f1f5f9);padding:.875rem 1rem;font-size:.75rem;font-weight:600}.picker-patient-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background .15s;display:flex}.picker-patient-row:hover{background:#f8fafc}.picker-patient-info{flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.picker-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:flex}.picker-name{color:var(--text-primary,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.picker-id{color:var(--text-secondary,#64748b);font-size:.75rem}.picker-actions{gap:.375rem;display:flex}.picker-btn-int,.picker-btn-ext{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .65rem;font-size:.7rem;font-weight:600;transition:all .15s;display:flex}.picker-btn-int{color:#4f46e5;background:#ede9fe}.picker-btn-int:hover{color:#fff;background:#4f46e5}.picker-btn-ext{color:#d97706;background:#fef3c7}.picker-btn-ext:hover{color:#fff;background:#d97706}.exam-loading,.exam-error-state,.exam-empty{color:var(--text-secondary,#64748b);text-align:center;border:1.5px dashed var(--border,#e2e8f0);background:#fff;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.exam-loading p,.exam-error-state p,.exam-empty p{margin:0;font-size:.9rem}.exam-error-state h3,.exam-empty h3{color:var(--text-primary,#0f172a);margin:0}.exam-error-state svg{color:#ef4444}.exam-grouped-list{flex-direction:column;gap:1.5rem;display:flex}.patient-exam-group{border:1.5px solid var(--border,#e2e8f0);background:#fff;border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.patient-exam-group-header{border-bottom:1.5px dashed var(--border,#e2e8f0);align-items:center;gap:1rem;padding-bottom:1.25rem;display:flex}.pe-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;font-weight:700;display:flex}.pe-info{flex:1}.pe-name{color:var(--text-primary,#0f172a);font-size:1.125rem;font-weight:700}.pe-id{color:var(--text-secondary,#64748b);font-family:monospace;font-size:.8125rem}.pe-count-badge{background:var(--surface-hover,#f1f5f9);color:var(--text-secondary,#475569);border-radius:20px;padding:.4rem .8rem;font-size:.75rem;font-weight:600}.patient-exam-timeline{flex-direction:column;gap:1.5rem;padding-left:1.5rem;display:flex;position:relative}.patient-exam-timeline:before{content:"";background:#e2e8f0;width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.35rem}.timeline-item{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;flex-direction:column;transition:all .2s;display:flex;position:relative;overflow:hidden}.timeline-item-summary{cursor:pointer;flex-direction:column;gap:.875rem;padding:1.25rem;transition:background .15s;display:flex}.timeline-item-summary:hover{background:#fff}.timeline-item:hover{border-color:#e2e8f0;box-shadow:0 4px 12px #00000008}.animate-slide-down{transform-origin:top;animation:.25s ease-out slideDown}.timeline-dot{border:3px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:1.5rem;left:-1.55rem;box-shadow:0 0 0 1px #cbd5e1}.timeline-item.ext .timeline-dot{background:#d97706;box-shadow:0 0 0 1.5px #fcd34d}.timeline-item.int .timeline-dot{background:#4f46e5;box-shadow:0 0 0 1.5px #a5b4fc}.timeline-item-header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.timeline-date{color:var(--text-primary);font-size:.9375rem;font-weight:700}.exam-source-badge{letter-spacing:.02em;white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.7rem;font-weight:700;display:flex}.badge-int{color:#4f46e5;background:#ede9fe}.badge-ext{color:#d97706;background:#fef3c7}.exam-card-meta{flex-wrap:wrap;gap:.5rem;display:flex}.exam-meta-item{color:var(--text-secondary,#64748b);background:var(--surface-hover,#f8fafc);border-radius:20px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.75rem;display:flex}.exam-meta-item.lens-type{color:#166534;text-transform:capitalize;background:#f0fdf4;font-weight:600}.exam-meta-item.fac{color:#854d0e;background:#fef9c3}.exam-rx-grid{background:#f8fafc;border-top:1px dashed #e2e8f0;border-bottom-right-radius:12px;border-bottom-left-radius:12px;margin-top:-.5rem;padding:0 1.25rem 1.25rem}.rx-col-header{justify-content:space-between;margin-bottom:.625rem;display:flex}.rx-eye-label{text-transform:uppercase;letter-spacing:.06em;border-radius:6px;padding:.2rem .6rem;font-size:.7rem;font-weight:700}.od-label{color:#1d4ed8;background:#dbeafe}.os-label{color:#166534;background:#dcfce7}.rx-values-row{align-items:stretch;gap:.875rem;display:flex}.rx-eye-block{flex:1;grid-template-columns:1fr 1fr;gap:.375rem;display:grid}.rx-divider{background:#e2e8f0;width:1px}.rx-cell{background:#fff;border:1px solid #f1f5f9;border-radius:8px;flex-direction:column;padding:.4rem .6rem;display:flex}.rx-key{color:var(--text-secondary,#94a3b8);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:600}.rx-val{color:var(--text-primary,#0f172a);margin-top:.1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;font-weight:700}.od-block .rx-val{color:#1d4ed8}.os-block .rx-val{color:#166534}.exam-notes{background:#fffbeb;border-top:1px solid #fde68a;align-items:flex-start;gap:.5rem;padding:.875rem 1.25rem;display:flex}.notes-label{flex-shrink:0;font-size:.875rem}.notes-text{color:#92400e;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}.comp-page{flex-direction:column;gap:1rem;display:flex}.comp-selector-card{border:1.5px solid var(--border,#e2e8f0);background:#fff;border-radius:16px;padding:1.25rem 1.5rem}.comp-selector-title{color:var(--text-primary,#0f172a);text-transform:uppercase;letter-spacing:.04em;margin:0 0 1rem;font-size:.875rem;font-weight:700}.comp-selector-grid{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.comp-select-group{flex-direction:column;gap:.375rem;display:flex}.comp-select-label{color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:flex}.comp-empty-state{color:var(--text-secondary,#64748b);text-align:center;border:1.5px dashed var(--border,#e2e8f0);background:#fff;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.comp-empty-state h3{color:var(--text-primary,#0f172a);margin:0;font-size:1.125rem}.comp-empty-state p{margin:0;font-size:.875rem}.comp-result-layout{flex-direction:column;gap:.875rem;display:flex}.comp-legend{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.comp-legend-item{border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.comp-legend-item.match{color:#065f46;background:#d1fae5}.comp-legend-item.diff{color:#92400e;background:#fef3c7}.comp-legend-item.major{color:#991b1b;background:#fee2e2}.comp-legend-item.miss{color:#475569;background:#f1f5f9}.comp-table-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;overflow:hidden}.comp-header-row{background:#f8fafc;border-bottom:2px solid #e2e8f0;grid-template-columns:200px 1fr 1fr;display:grid}.comp-header-param,.comp-header-int,.comp-header-ext{flex-direction:column;gap:.25rem;padding:1rem 1.25rem;display:flex}.comp-header-param{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;justify-content:center;font-size:.75rem;font-weight:700}.comp-header-badge{border-radius:8px;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;font-size:.8125rem;font-weight:700;display:flex}.int-badge{color:#4f46e5;background:#ede9fe}.ext-badge{color:#d97706;background:#fef3c7}.comp-header-date{color:#94a3b8;padding-left:.25rem;font-size:.75rem}.comp-section-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;padding:.625rem 1.25rem;font-size:.75rem;font-weight:700}.comp-data-row{border-bottom:1px solid #f1f5f9;grid-template-columns:200px 1fr 1fr;transition:background .15s;display:grid}.comp-data-row:hover{background:#fafafa}.comp-data-param{color:#475569;align-items:center;padding:.875rem 1.25rem;font-size:.8125rem;font-weight:600;display:flex}.comp-data-int,.comp-data-ext{border-left:1px solid #f1f5f9;align-items:center;padding:.875rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.9375rem;font-weight:700;display:flex}.comp-data-row.cell-match .comp-data-int,.comp-data-row.cell-match .comp-data-ext{color:#059669;background:#f0fdf4}.comp-data-row.cell-diff .comp-data-int,.comp-data-row.cell-diff .comp-data-ext{color:#d97706;background:#fffbeb}.comp-data-row.cell-major .comp-data-int,.comp-data-row.cell-major .comp-data-ext{color:#dc2626;background:#fef2f2}.comp-data-row.cell-miss .comp-data-int,.comp-data-row.cell-miss .comp-data-ext{color:#94a3b8;background:#f8fafc}.comp-data-row.cell-na .comp-data-int,.comp-data-row.cell-na .comp-data-ext{color:#cbd5e1}@media (width<=768px){.exam-hero{flex-direction:column;align-items:flex-start}.exam-hero-stats{justify-content:space-between;width:100%}.exam-tab-bar{flex-direction:column;align-items:stretch}.exam-toolbar{flex-direction:column}.exam-search{width:100%}.exam-cards-grid,.comp-selector-grid{grid-template-columns:1fr}.comp-header-row,.comp-data-row{grid-template-columns:120px 1fr 1fr}.patient-picker-dropdown{min-width:280px;right:-20px}}.trx-page{flex-direction:column;gap:1.25rem;display:flex}.trx-hero{background:var(--hero-gradient);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0f172a33}.trx-hero:before{content:"";background:radial-gradient(circle,#4f46e526 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-50px}.trx-hero-left{z-index:1;align-items:center;gap:1.25rem;display:flex;position:relative}.trx-hero-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.trx-hero-left h1{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#fff!important}.trx-hero-left p{color:#ffffffbf;margin:0;font-size:.875rem}.trx-hero-right{z-index:1;background:#0003;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex;position:relative}.trx-stat{flex-direction:column;gap:.2rem;display:flex}.trx-stat-num{color:#fff;font-size:1.5rem;font-weight:800;line-height:1}.trx-stat span:last-child{color:#fff9;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.7rem}.trx-stat-div{background:#ffffff1a;width:1px;height:32px}.text-amber{color:#fbbf24!important}.btn-trx-new{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:10px;align-items:center;gap:.4rem;margin-left:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #4f46e54d}.btn-trx-new:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 6px 16px #4f46e566}.trx-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.trx-search-wrap{align-items:center;display:flex;position:relative}.trx-search-icon{color:#94a3b8;position:absolute;left:.75rem}.trx-search{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:280px;padding:.6rem 1rem .6rem 2.25rem;font-size:.875rem;transition:all .2s}.trx-search:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.trx-filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.filter-chip{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:.4rem .875rem;font-size:.8125rem;font-weight:600;transition:all .2s}.filter-chip:hover{background:#f8fafc;border-color:#cbd5e1}.filter-chip.active{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 2px 8px #4f46e533}.trx-main-layout-full{width:100%;margin-top:1.25rem}.trx-table-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000006}.trx-table-header{color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1.25rem 1.5rem;font-size:.875rem;font-weight:700}.trx-table-responsive{width:100%;overflow-x:auto}.trx-table{border-collapse:collapse;text-align:left;width:100%}.trx-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1rem 1.5rem;font-size:.75rem;font-weight:700}.trx-table td{vertical-align:middle;color:#334155;border-bottom:1px solid #f1f5f9;padding:1.25rem 1.5rem;font-size:.875rem}.trx-row-clickable{cursor:pointer;transition:all .2s}.trx-row-clickable:hover{background:#f8fafc}.btn-detail-action{color:#16a34a;cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.45rem 1rem;font-size:.8125rem;font-weight:600;transition:all .2s}.btn-detail-action:hover{color:#fff;background:#16a34a;border-color:#16a34a;box-shadow:0 4px 12px #16a34a26}.trx-table-empty{text-align:center;color:#94a3b8;padding:4rem 2rem;font-size:.9375rem}.trx-expand-icon{color:#94a3b8;justify-content:center;align-items:center;transition:transform .25s cubic-bezier(.16,1,.3,1),color .15s;display:inline-flex}.trx-expand-icon-open{color:#4f46e5;transform:rotate(180deg)}.trx-row-active{background:#f5f3ff!important}.trx-row-active td{border-bottom:none!important}.trx-row-active td:first-child{border-left:3px solid #4f46e5}.trx-expand-row td{border-bottom:2px solid #e2e8f0!important;padding:0!important}.trx-expand-cell{background:#f8fafc}.trx-expand-body{animation:.25s cubic-bezier(.16,1,.3,1) expandDown}@keyframes expandDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.detail-panel-inline{padding:1.5rem}.dpi-cols{grid-template-columns:1fr 340px;align-items:start;gap:1.5rem;display:grid}.dpi-left{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.dpi-right{flex-direction:column;gap:1rem;display:flex}.dpi-header{background:linear-gradient(135deg,#f8fafc 0%,#f0f9ff 100%);border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.dpi-inv{color:#4f46e5;margin-bottom:.3rem;font-family:JetBrains Mono,monospace;font-size:.9375rem;font-weight:700}.dpi-meta{color:#64748b;flex-wrap:wrap;gap:.75rem;font-size:.8rem;display:flex}.dpi-meta span{align-items:center;gap:4px;display:flex}.dpi-header-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.trx-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-shrink:0;transition:all .2s;display:flex;position:relative;overflow:hidden}.trx-card:hover{background:#f8fafc;border-color:#cbd5e1}.trx-card-active{background:#f5f3ff;border-color:#4f46e5;box-shadow:0 4px 12px #4f46e514}.trx-card-active:hover{background:#f5f3ff}.trx-card-accent{flex-shrink:0;width:4px}.trx-card-body{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex}.trx-card-row1{justify-content:space-between;align-items:center;display:flex}.trx-pat-name-large{color:#0f172a;letter-spacing:-.015em;font-size:1.05rem;font-weight:800}.trx-pay-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:6px;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.trx-card-row2{justify-content:space-between;align-items:center;display:flex}.trx-inv-field{border:1px solid #e2e8f0;border-radius:6px;align-items:center;font-family:JetBrains Mono,monospace;font-size:.7rem;display:inline-flex;overflow:hidden;box-shadow:0 1px 2px #00000005}.trx-field-label{color:#64748b;background:#f1f5f9;border-right:1px solid #e2e8f0;padding:2px 6px;font-weight:700}.trx-field-val{color:#334155;background:#fff;padding:2px 8px;font-weight:600}.trx-ord-badge{text-transform:uppercase;border-radius:6px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.65rem;font-weight:700;display:flex}.trx-card-row3{justify-content:space-between;align-items:flex-end;margin-top:.25rem;display:flex}.trx-item-pills{gap:.3rem;display:flex}.trx-item-pill{color:#64748b;background:#f1f5f9;border-radius:4px;align-items:center;gap:.2rem;padding:.15rem .4rem;font-size:.65rem;font-weight:600;display:flex}.trx-card-footer-right{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.trx-amount{color:#0f172a;font-size:1rem;font-weight:700}.trx-date{color:#94a3b8;align-items:center;gap:.25rem;font-size:.7rem;display:flex}.trx-card-arrow{color:#4f46e5;opacity:0;transition:all .2s;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.trx-card-active .trx-card-arrow{opacity:1;right:8px}.trx-detail-col{flex:1;min-width:0}.detail-panel{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;overflow:hidden}.detail-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex}.detail-header-left{flex-direction:column;gap:.4rem;display:flex}.detail-header-inv{color:#0f172a;font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:800}.detail-header-meta{color:#64748b;gap:1rem;font-size:.8125rem;font-weight:500;display:flex}.detail-header-meta span{align-items:center;gap:.3rem;display:flex}.detail-header-right{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.detail-pay-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:.3rem .75rem;font-size:.75rem;font-weight:700}.btn-invoice{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:flex}.btn-invoice:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.detail-stepper{border-bottom:1px solid #e2e8f0;justify-content:center;align-items:center;padding:1.5rem;display:flex}.step-item{flex-direction:column;align-items:center;gap:.5rem;width:80px;display:flex}.step-circle{color:#94a3b8;z-index:2;background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;transition:all .3s;display:flex}.step-label{color:#64748b;text-align:center;text-transform:uppercase;font-size:.7rem;font-weight:600}.step-active .step-circle{color:#fff;background:#4f46e5;box-shadow:0 0 0 4px #ede9fe}.step-active .step-label{color:#4f46e5;font-weight:700}.step-done .step-circle{color:#fff;background:#059669}.step-done .step-label{color:#059669}.step-connector{color:#cbd5e1;background:#e2e8f0;flex:1;justify-content:center;align-items:center;height:2px;margin:-20px .5rem 0;display:flex;position:relative}.connector-done{color:#059669;background:#059669}.detail-advance-wrap{background:#fafafa;border-bottom:1px solid #e2e8f0;justify-content:center;padding:1rem 1.5rem;display:flex}.btn-advance{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.5rem;font-size:.875rem;transition:all .2s;display:flex;box-shadow:0 2px 8px #4f46e533}.btn-advance:hover{background:#4338ca;transform:translateY(-1px)}.detail-section{border-bottom:1px solid #e2e8f0;padding:1.5rem}.detail-section-header{color:#0f172a;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;font-weight:700;display:flex}.detail-section-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.product-icon{color:#4f46e5;background:#ede9fe}.service-icon{color:#d97706;background:#fef3c7}.pay-icon{color:#059669;background:#d1fae5}.item-group{flex-direction:column;gap:.75rem;display:flex}.item-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.item-card-left{flex-direction:column;gap:.3rem;display:flex}.item-type-badge{text-transform:uppercase;border-radius:4px;align-items:center;gap:.25rem;width:fit-content;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:flex}.item-price{color:#4f46e5;font-weight:600}.item-orig{color:#94a3b8;font-size:.75rem;text-decoration:line-through}.item-card-name{color:#0f172a;font-size:.9375rem;font-weight:600}.item-card-sub{color:#0f172a;font-size:1rem;font-weight:800}.detail-finance-block{border-top:1px solid #e2e8f0;flex-direction:column;gap:0;display:flex}.bill-card{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1.25rem 1.5rem}.bill-card-header{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:.875rem;font-size:.7rem;font-weight:700}.bill-rows{border-bottom:1px dashed #e2e8f0;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.bill-row{color:#475569;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:500;display:flex}.bill-row span:last-child{color:#0f172a;font-weight:600}.bill-discount span:first-child{color:#dc2626}.bill-discount span:last-child{color:#dc2626!important}.bill-total{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;margin-top:.25rem;padding:.625rem .875rem;box-shadow:0 1px 4px #0000000a}.bill-total span:first-child{color:#0f172a;font-size:.875rem;font-weight:700}.bill-total span:last-child{font-size:1.125rem;font-weight:800;color:#0f172a!important}.bill-payment-rows{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.bill-label-icon{align-items:center;gap:.375rem;display:flex}.bill-paid span:first-child{color:#059669;font-weight:600}.bill-paid span:last-child{font-weight:700;color:#059669!important}.bill-remaining{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.5rem .75rem}.bill-remaining span:first-child{color:#dc2626;font-weight:600}.bill-remaining span:last-child{font-size:1rem;font-weight:800;color:#dc2626!important}.bill-settled{color:#059669;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:700;display:flex}.bill-method-tag{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:.375rem;padding:.35rem .75rem;font-size:.75rem;display:inline-flex}.bill-method-tag strong{color:#0f172a;letter-spacing:.02em;font-weight:700}.pay-action-card{background:#fff;flex-direction:column;gap:.875rem;padding:1.25rem 1.5rem;display:flex}.pay-action-header{color:#0f172a;align-items:center;gap:.625rem;font-size:.9375rem;font-weight:700;display:flex}.pay-remaining-chip{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:20px;align-items:center;gap:.375rem;width:fit-content;padding:.35rem .875rem;font-size:.8125rem;display:inline-flex}.pay-remaining-chip strong{font-size:.9375rem;font-weight:800}.pay-method-select label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.pay-method-pills{flex-wrap:wrap;gap:.375rem;display:flex}.pay-pill{color:#64748b;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:20px;padding:.4rem .875rem;font-size:.8125rem;font-weight:600;transition:all .15s}.pay-pill:hover{color:#4f46e5;background:#eef2ff;border-color:#4f46e5}.pay-pill.active{color:#fff;background:#4f46e5;border-color:#4f46e5;box-shadow:0 2px 8px #4f46e540}.pay-amount-row{align-items:center;gap:.625rem;display:flex}.pay-input-wrap{flex:1;align-items:center;display:flex;position:relative}.pay-prefix{color:#64748b;pointer-events:none;font-size:.875rem;font-weight:600;position:absolute;left:.875rem}.pay-input{color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem .75rem 2.5rem;font-size:.9375rem;font-weight:600;transition:all .2s}.pay-input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.btn-pay-partial{color:#fff;cursor:pointer;white-space:nowrap;background:#4f46e5;border:none;border-radius:10px;flex-shrink:0;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;transition:all .2s}.btn-pay-partial:hover:not(:disabled){background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.btn-pay-partial:disabled{opacity:.45;cursor:not-allowed}.btn-pay-full{color:#059669;cursor:pointer;background:#f0fdf4;border:1.5px solid #059669;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem;font-size:.9375rem;font-weight:700;transition:all .2s;display:flex}.btn-pay-full:hover{color:#fff;background:#059669;box-shadow:0 4px 12px #0596694d}.detail-notes{color:#92400e;background:#fffbeb;border-top:1px solid #fde68a;padding:1rem 1.5rem;font-size:.875rem;font-style:italic}.trx-empty-icon{color:#cbd5e1;margin-bottom:1rem}.trx-list-empty,.trx-detail-empty{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:3rem;display:flex}.trx-detail-empty h3{color:#0f172a;margin:0 0 .5rem}.item-card{background:#fff;border:1px solid #e2e8f0}.item-card-meta{color:#64748b;font-size:.8125rem}.item-group-service .item-card{background:#fffcf2;border-color:#fde68a}@media (width<=900px){.pay-method-pills{gap:.25rem}.pay-pill{padding:.35rem .625rem;font-size:.75rem}.trx-hero{flex-direction:column;align-items:flex-start}.trx-hero-right{flex-wrap:wrap;width:100%}.trx-main-layout{flex-direction:column}.trx-list-col{width:100%;height:400px}.detail-totals-section{flex-direction:column;gap:1.5rem}.totals-grid{max-width:100%}}.new-order-page{flex-direction:column;gap:1.5rem;display:flex}.page-header-wizard{flex-direction:column;gap:.75rem;display:flex}.btn-back{align-self:flex-start;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;display:inline-flex}.header-titles h1{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.header-titles p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.wizard-stepper-full{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex;overflow-x:auto}.wstep{cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.5rem;display:flex}.wstep:hover{background:var(--surface-hover)}.wstep-dot{background:var(--border);width:32px;height:32px;color:var(--text-tertiary);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex}.wstep-info{flex-direction:column;display:flex}.wstep-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem;font-weight:700}.wstep-title{color:var(--text-secondary);white-space:nowrap;font-size:.8125rem;font-weight:600}.wstep.active .wstep-dot{background:var(--primary);color:#fff;box-shadow:0 0 0 4px var(--primary-light)}.wstep.active .wstep-title{color:var(--primary);font-weight:700}.wstep.done .wstep-dot{background:var(--secondary);color:#fff}.wstep.done .wstep-title{color:var(--secondary)}.wstep-line-full{background:var(--border);flex:1;min-width:20px;height:2px}.wstep-line-full.done{background:var(--secondary)}.wizard-container-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.wizard-card-body{min-height:480px;padding:2rem}@media (width<=600px){.wizard-card-body{padding:1.25rem}.wizard-card-footer{padding:1rem 1.25rem}}.wizard-card-footer{background:var(--surface-hover);border-top:1px solid var(--border);align-items:center;gap:1rem;padding:1.25rem 2rem;display:flex}.btn-nav{align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:inline-flex}.btn-checkout{border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:.5rem;padding:.875rem 2rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #10b98140;color:#fff!important;background-color:#10b981!important;border:none!important}.btn-checkout:hover{transform:translateY(-1px);box-shadow:0 6px 16px #05966959;background-color:#059669!important}.btn-checkout:active{transform:translateY(0)}.step-section-header{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1rem}.step-section-header h2{margin:0;font-size:1.35rem;font-weight:700}.step-section-header p{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.patient-step-controls{flex-wrap:wrap;align-items:stretch;gap:.75rem;margin-bottom:1.5rem;display:flex}.patient-step-controls .search-input-wrapper{flex:1;align-items:center;min-width:0;display:flex;position:relative}.patient-step-controls .search-icon{color:var(--text-tertiary);pointer-events:none;z-index:1;position:absolute;left:.875rem}.patient-step-controls .search-input{width:100%;height:100%;padding-left:2.5rem!important}.patient-step-controls .btn{white-space:nowrap;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;gap:.5rem;display:inline-flex}@media (width<=500px){.patient-step-controls{flex-direction:column}.patient-step-controls .btn{width:100%}}.patient-registration-card{border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-xl);background:linear-gradient(135deg,#4f46e505,#10b98105);flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.patient-registration-card h3{color:var(--primary);margin:0;font-size:1.1rem;font-weight:700}.patient-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.full-width-field{grid-column:1/-1}.classification-toggle{gap:1rem;margin-top:.25rem;display:flex}.class-btn{border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-fast);background:#fff;flex:1;padding:.75rem 1rem;font-size:.875rem;font-weight:700}.class-btn.active-umum{border-color:var(--secondary);background:var(--secondary-light);color:var(--secondary-hover);box-shadow:0 0 0 3px #10b9811a}.class-btn.active-bpjs{border-color:var(--primary);background:var(--primary-light);color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.bpjs-field-highlight{border-radius:var(--radius-md);border:1px dashed var(--primary);background:#4f46e50d;padding:.5rem}.patient-selection-grid{scrollbar-width:thin;scrollbar-color:var(--border) transparent;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.875rem;max-height:420px;padding:.25rem;display:grid;overflow-y:auto}@media (width<=600px){.patient-selection-grid{grid-template-columns:1fr;max-height:380px}}.patient-select-card{border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background:#fff;padding:1rem 1.125rem;transition:all .15s;position:relative;overflow:hidden}.patient-select-card:before{content:"";background:0 0;width:3px;transition:background .15s;position:absolute;top:0;bottom:0;left:0}.patient-select-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 16px #4f46e51a}.patient-select-card:hover:before{background:var(--primary)}.patient-select-card.selected{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px #4f46e51f}.patient-select-card.selected:before{background:var(--primary)}.patient-select-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.p-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.umum-avatar{background:linear-gradient(135deg,#059669,#10b981)}.bpjs-avatar{background:linear-gradient(135deg,#4338ca,#4f46e5)}.p-header-details{flex:1;min-width:0}.p-id-label{color:var(--text-tertiary);letter-spacing:.04em;font-family:monospace;font-size:.65rem;font-weight:700}.p-header-details h3{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:.1rem 0 0;font-size:1rem;font-weight:700;overflow:hidden}.classification-badge{border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.03em;flex-shrink:0;padding:.2rem .55rem;font-size:.6rem;font-weight:800}.classification-badge.umum{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.classification-badge.bpjs{background:var(--primary-light);color:var(--primary);border:1px solid #c7d2fe}.patient-select-card-body{flex-direction:column;gap:.3rem;padding-left:.25rem;font-size:.8125rem;display:flex}.p-meta-item{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.p-meta-label{color:var(--text-tertiary);flex-shrink:0;font-size:.75rem;font-weight:500}.p-meta-val{color:#0f172a;text-align:right;font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:700}.bpjs-highlight-text .p-meta-label{color:var(--primary);font-weight:600}.bpjs-highlight-text .p-meta-val{color:var(--primary)}.card-selected-tick{color:var(--primary);background:#fff;border-radius:50%;position:absolute;top:.625rem;right:.625rem;box-shadow:0 2px 6px #4f46e533}.skip-exam-banner{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-xl);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.banner-content{align-items:center;gap:1rem;display:flex}.banner-icon{color:var(--primary)}.banner-content h4{margin:0;font-size:.9375rem;font-weight:700}.banner-content p{color:var(--text-secondary);margin:.125rem 0 0;font-size:.8125rem}.checkbox-toggle-switch{cursor:pointer;align-items:center;gap:.75rem;display:inline-flex}.checkbox-toggle-switch input{display:none}.toggle-slider{background:var(--border);width:52px;height:26px;transition:all var(--transition-fast);border-radius:13px;position:relative}.toggle-slider:before{content:"";width:20px;height:20px;transition:all var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.checkbox-toggle-switch input:checked+.toggle-slider{background:var(--danger)}.checkbox-toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-label{font-size:.8125rem;font-weight:700}.exam-wizard-layout{gap:2rem;display:flex}.exam-metadata-pane{flex-direction:column;flex:1;gap:1.25rem;display:flex}.exam-metadata-pane h3,.exam-refraction-pane h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.exam-refraction-pane{flex-direction:column;flex:1.2;gap:1.25rem;display:flex}.source-segmented-control{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;display:flex;overflow:hidden}.seg-btn{transition:all var(--transition-fast);flex:1;padding:.75rem;font-size:.875rem;font-weight:700}.external-fields-box{border:1px dashed var(--warning);border-radius:var(--radius-md);background:#f59e0b08;flex-direction:column;gap:1rem;padding:1rem;display:flex}.refraction-table-container{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.refraction-header-row{background:var(--primary);color:#fff;text-align:center;grid-template-columns:80px 1fr 1fr 1fr 1fr;gap:.625rem;padding:.625rem;font-size:.75rem;font-weight:700;display:grid}.refraction-row{grid-template-columns:80px 1fr 1fr 1fr 1fr;align-items:center;gap:.625rem;padding:.875rem .625rem;display:grid}.refraction-row.od{border-bottom:1px solid var(--border);background:#ef444408}.refraction-row.os{background:#10b98108}.eye-badge{flex-direction:column;align-items:center;display:flex}.eye-badge.od{color:var(--danger)}.eye-badge.os{color:var(--secondary-hover)}.eye-badge strong{font-size:1.1rem}.eye-badge small{text-transform:uppercase;font-size:.6rem;font-weight:600}.ref-cell{border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;width:100%;padding:.625rem .375rem;font-family:monospace;font-size:.9375rem;font-weight:700}.refraction-specs-row{gap:1.25rem;margin-top:.5rem;display:flex}.products-grid-layout{gap:2rem;display:flex}.stock-catalog-pane{flex-direction:column;flex:1.2;gap:1rem;display:flex}.shopping-cart-pane{border-left:1px solid var(--border);flex-direction:column;flex:1;gap:1.25rem;padding-left:2rem;display:flex}.shopping-cart-pane h3{margin:0;font-size:1.1rem;font-weight:700}.search-box-wrap{position:relative}.search-box-wrap .search-icon{color:var(--text-tertiary);position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.catalog-scroll-area{flex-direction:column;gap:1.5rem;max-height:480px;padding-right:.5rem;display:flex;overflow-y:auto}.catalog-category-section{flex-direction:column;gap:.5rem;display:flex}.catalog-cat-title{color:var(--text-tertiary);letter-spacing:.5px;border-bottom:1px solid var(--border);margin:0;padding-bottom:.25rem;font-size:.75rem;font-weight:800}.catalog-items-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.catalog-item-card{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#fff;flex-direction:column;justify-content:space-between;gap:.75rem;padding:.875rem;display:flex}.catalog-item-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.item-card-details h3{margin:.25rem 0;font-size:.8125rem;font-weight:700}.cat-tag{border-radius:4px;padding:.125rem .375rem;font-size:.55rem;font-weight:800}.tag-frame{background:var(--primary-light);color:var(--primary)}.tag-lens{background:var(--secondary-light);color:var(--secondary-hover)}.tag-service{background:var(--warning-light);color:#b45309}.color-label,.sku-label{color:var(--text-tertiary);font-size:.65rem;display:block}.item-card-action{flex-direction:column;gap:.375rem;display:flex}.price-tag{color:var(--primary);font-size:.875rem;font-weight:800}.stock-badge{color:var(--text-secondary);font-size:.65rem;font-weight:600}.stock-badge.low{color:var(--danger);font-weight:700}.btn-add-cart{background:var(--primary-light);width:100%;color:var(--primary);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.25rem;padding:.375rem;font-size:.75rem;font-weight:700;display:inline-flex}.empty-cart-state{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-tertiary);flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1.5rem;font-size:.875rem;display:flex}.cart-items-list{flex-direction:column;gap:.75rem;max-height:260px;padding-right:.5rem;display:flex;overflow-y:auto}.cart-item-row-new{background:var(--surface-hover);border-radius:var(--radius-lg);border:1px solid var(--border);padding:.75rem}.cart-item-desc{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.cart-item-desc h4{margin:0;font-size:.8125rem;font-weight:700}.type-label{color:var(--text-tertiary);text-transform:capitalize;font-size:.65rem}.cart-item-actions-grid{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.qty-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;align-items:center;padding:2px;display:flex}.qty-picker button{border-radius:var(--radius-sm);background:var(--surface-hover);width:24px;height:24px;font-weight:700}.qty-picker span{text-align:center;min-width:24px;font-size:.8125rem;font-weight:700}.cart-price-input-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;align-items:center;display:flex;overflow:hidden}.currency-lbl{color:var(--text-tertiary);background:var(--surface-hover);padding:0 .375rem;font-size:.7rem}.price-cell-input{text-align:right;border:none;outline:none;width:80px;padding:.25rem;font-size:.8125rem;font-weight:600}.cart-subtotal-val{color:var(--primary);font-size:.875rem;font-weight:700}.btn-remove-item{color:var(--danger);padding:.25rem}.cart-totals-section{border-top:1px dashed var(--border);flex-direction:column;gap:1rem;padding-top:1rem;display:flex}.totals-summary-box{background:var(--primary-light);border-radius:var(--radius-lg);flex-direction:column;gap:.375rem;padding:1rem;display:flex}.summary-row-new{justify-content:space-between;font-size:.875rem;display:flex}.grand-total-row{color:var(--primary);border-top:1px solid #4f46e526;margin-top:.25rem;padding-top:.5rem;font-size:1.125rem;font-weight:800}.pos-checkout-layout{grid-template-columns:1.1fr 1.3fr;align-items:start;gap:2rem;display:grid}@media (width<=900px){.pos-checkout-layout{grid-template-columns:1fr;gap:1.5rem}}.pos-order-summary{border-radius:var(--radius-xl);background:#f8fafc;border:1px solid #e2e8f0;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.pos-summary-header{color:#0f172a;border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;padding-bottom:.75rem;font-weight:700;display:flex}.pos-item-count{color:#475569;border-radius:var(--radius-sm);background:#e2e8f0;padding:.2rem .5rem;font-size:.75rem;font-weight:800}.pos-patient-bar{border-radius:var(--radius-lg);background:#fff;border:1px solid #e2e8f0;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.pos-patient-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.875rem;font-weight:800;display:flex}.pos-patient-name{color:#0f172a;font-size:.9375rem;font-weight:700}.pos-patient-type{color:var(--text-secondary);font-size:.75rem}.pos-items-list{flex-direction:column;gap:.5rem;max-height:200px;padding-right:.25rem;display:flex;overflow-y:auto}.pos-item-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem;display:flex}.pos-item-info{align-items:center;gap:.5rem;min-width:0;display:flex}.pos-item-name{color:#334155;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.pos-item-meta{color:var(--text-tertiary);font-size:.75rem}.pos-item-sub{color:#0f172a;flex-shrink:0;font-weight:700}.pos-item-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.pos-item-dot.dot-frame{background:var(--primary)}.pos-item-dot.dot-lens{background:var(--secondary)}.pos-item-dot.dot-service{background:var(--warning)}.pos-totals-box{border-radius:var(--radius-lg);background:#fff;border:1px solid #e2e8f0;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.pos-total-row{color:#64748b;justify-content:space-between;font-size:.875rem;display:flex}.pos-discount-row{color:var(--danger);font-weight:600}.pos-grand-total-row{color:#0f172a;border-top:1.5px dashed #e2e8f0;justify-content:space-between;margin-top:.25rem;padding-top:.625rem;font-size:1.1rem;font-weight:800;display:flex}.pos-payment-terminal{flex-direction:column;gap:1.25rem;display:flex}.pos-section-label{text-transform:uppercase;color:#64748b;letter-spacing:.05em;margin-bottom:-.25rem;font-size:.75rem;font-weight:800}.pos-method-grid{grid-template-columns:repeat(3,1fr);gap:.625rem;display:grid}.pos-method-btn{border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:center;background:#fff;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .5rem;font-size:.8125rem;font-weight:700;transition:all .15s;display:flex}.pos-method-btn:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.pos-method-btn.active{border-width:2px;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.pay-method-icon{font-size:1.5rem;line-height:1}.pay-method-name{letter-spacing:-.01em;font-size:.9375rem;font-weight:800}.pay-method-desc{color:#94a3b8;margin-top:-.125rem;font-size:.65rem;font-weight:500}.pos-method-btn.active .pay-method-desc{color:inherit;opacity:.8}.pos-amount-display{border-radius:var(--radius-xl);color:#fff;background:#0f172a;padding:1rem 1.25rem}.pos-amount-label{text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;margin-bottom:.25rem;font-size:.65rem;font-weight:700}.pos-amount-input-wrap{align-items:center;display:flex;position:relative}.pos-amount-prefix{color:#34d399;margin-right:.5rem;font-size:1.5rem;font-weight:800}.pos-amount-input{color:#34d399;background:0 0;border:none;outline:none;width:100%;padding:0;font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:800}.pos-amount-input::placeholder{color:#334155}.pos-clear-btn{color:#94a3b8;cursor:pointer;background:#334155;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;display:flex}.pos-clear-btn:hover{color:#fff;background:#475569}.pos-exact-row-single{margin-top:-.5rem}.pos-single-exact-btn{border-radius:var(--radius-lg);color:#047857;cursor:pointer;background:#ecfdf5;border:1.5px dashed #a7f3d0;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem;font-size:.9375rem;font-weight:700;transition:all .2s;display:flex}.pos-single-exact-btn:hover{background:#d1fae5;border-color:#34d399;transform:translateY(-1px)}.pos-single-exact-btn:active{transform:translateY(0)}.pos-calc-result{border-radius:var(--radius-xl);background:#f8fafc;border:1.5px solid #e2e8f0;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.pos-calc-row{color:#64748b;justify-content:space-between;font-size:.875rem;display:flex}.pos-calc-total{color:#0f172a;font-weight:700}.pos-calc-divider{background:#e2e8f0;height:1px;margin:.25rem 0}.pos-calc-highlight{font-size:1.125rem;font-weight:800}.pos-calc-result.kembalian{background:#f0fdf4;border-color:#10b981}.pos-calc-result.kembalian .pos-kembalian{color:#10b981}.pos-calc-result.pas{background:#ecfdf5;border-color:#059669}.pos-calc-result.pas .pos-pas{color:#059669}.pos-calc-result.kurang{background:#fff1f2;border-color:#f43f5e}.pos-calc-result.kurang .pos-sisa{color:#f43f5e}.exam-wizard-layout-new{flex-direction:column;gap:1.5rem;display:flex}.rx-layout-toggle-row{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-xl);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.prescription-selector-box{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.selector-instruction-label{color:var(--text-secondary);font-size:.8125rem;font-weight:700}.selector-options{gap:1rem;display:flex}.radio-label{cursor:pointer;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:700;display:inline-flex}.refraction-panels-grid{gap:1.5rem;display:grid}.refraction-panels-grid.one-column{grid-template-columns:1fr}.refraction-panels-grid.two-columns{grid-template-columns:1fr 1fr}.refraction-panel-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;display:flex;overflow:hidden}.panel-title-bar{border-bottom:1px solid var(--border);padding:.875rem 1.25rem}.panel-title-bar h3{margin:0;font-size:1.05rem;font-weight:800}.panel-body-fields{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.internal-card-border{border-top:4px solid var(--secondary)}.external-card-border{border-top:4px solid var(--warning)}.custom-item-toggle-btn{border:1.5px dashed var(--primary);border-radius:var(--radius-lg);width:100%;color:var(--primary);cursor:pointer;background:linear-gradient(135deg,#4f46e50d,#10b9810d);justify-content:center;align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.custom-item-toggle-btn:hover{background:var(--primary-light);border-style:solid;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e51f}.custom-item-toggle-btn.is-open{border-color:var(--danger);color:var(--danger);background:#ef44440d;border-style:solid}.custom-item-toggle-icon{color:#fff;background:currentColor;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.875rem;font-weight:900;display:flex}.custom-item-toggle-text{text-align:left;flex:1}.custom-item-toggle-badge{background:var(--primary);color:#fff;border-radius:var(--radius-sm);letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;font-size:.6rem;font-weight:800}.custom-item-panel{border:1.5px solid var(--primary);border-radius:var(--radius-xl);background:#fff;flex-direction:column;gap:0;margin-top:.75rem;display:flex;overflow:hidden;box-shadow:0 8px 24px #4f46e51a}.custom-item-panel-header{border-bottom:1px solid var(--border);background:linear-gradient(135deg,#4f46e50f,#10b9810a);align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.custom-item-panel-icon{background:var(--primary);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.25rem;display:flex;box-shadow:0 4px 12px #4f46e533}.custom-item-panel-title{color:var(--primary);margin:0;font-size:.9375rem;font-weight:800}.custom-item-panel-desc{color:var(--text-secondary);margin:.2rem 0 0;font-size:.75rem}.custom-item-category-tabs{border-bottom:1px solid var(--border);background:#f8fafc;gap:0;display:flex}.custom-cat-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.75rem .5rem;font-size:.8125rem;font-weight:700;transition:all .15s;display:flex}.custom-cat-tab:hover{color:var(--primary);background:#4f46e50a}.custom-cat-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#fff}.cat-tab-lens.active{color:var(--secondary-hover);border-bottom-color:var(--secondary)}.cat-tab-frame.active{color:var(--primary);border-bottom-color:var(--primary)}.cat-tab-service.active{color:#b45309;border-bottom-color:var(--warning)}.custom-item-fields{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.custom-item-price-row{align-items:flex-end;gap:.75rem;display:flex}.custom-price-input-wrap{border:1.5px solid var(--border);border-radius:var(--radius-md);align-items:stretch;display:flex;overflow:hidden}.custom-price-prefix{background:var(--surface-hover);color:var(--text-tertiary);border-right:1px solid var(--border);flex-shrink:0;align-items:center;padding:0 .75rem;font-size:.875rem;font-weight:700;display:flex}.custom-price-preview{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.125rem;padding:0 .5rem;display:flex}.custom-price-preview-label{text-transform:uppercase;color:var(--text-tertiary);font-size:.65rem;font-weight:700}.custom-price-preview-val{color:var(--primary);white-space:nowrap;font-size:1.125rem;font-weight:800}.custom-item-submit-btn{background:var(--primary);color:#fff;cursor:pointer;letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;margin:0;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:800;transition:all .2s;display:flex}.custom-item-submit-btn:hover:not(:disabled){background:var(--primary-hover)}.custom-item-submit-btn:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed}.pos-discount-section{border-radius:var(--radius-xl);background:#fffbeb;border:1.5px solid #fde68a;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.pos-discount-input-row{flex-direction:column;gap:.625rem;display:flex}.pos-discount-input-wrap{border-radius:var(--radius-md);background:#fff;border:1.5px solid #fcd34d;align-items:stretch;display:flex;overflow:hidden}.pos-discount-prefix{color:#92400e;background:#fef3c7;border-right:1.5px solid #fcd34d;flex-shrink:0;align-items:center;padding:.5rem .75rem;font-size:.875rem;font-weight:700;display:flex}.pos-discount-input{color:#92400e;background:0 0;border:none;outline:none;width:100%;padding:.5rem .75rem;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700}.pos-discount-presets{flex-wrap:wrap;gap:.375rem;display:flex}.pos-discount-preset-btn{border-radius:var(--radius-sm);color:#92400e;cursor:pointer;background:#fff;border:1.5px solid #fcd34d;padding:.3rem .6rem;font-size:.75rem;font-weight:800;transition:all .15s}.pos-discount-preset-btn:hover{background:#fef3c7;border-color:#f59e0b}.pos-discount-preset-btn.active{color:#fff;background:#f59e0b;border-color:#f59e0b}.pos-discount-preset-btn.reset{color:var(--danger);border-color:#fca5a5}.pos-discount-preset-btn.reset:hover{border-color:var(--danger);background:#fee2e2}.pos-discount-summary{color:#78350f;border-radius:var(--radius-md);background:#fef3c7;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.pos-discount-amount{color:var(--danger);font-size:.9375rem;font-weight:800}.pos-discount-pct{color:#92400e;font-weight:700}@media (width<=900px){.refraction-panels-grid.two-columns{grid-template-columns:1fr}.exam-wizard-layout,.products-grid-layout,.checkout-summary-container{flex-direction:column}.shopping-cart-pane{border-left:none;border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem;padding-left:0}}.stock-page{flex-direction:column;gap:1.5rem;display:flex}.stock-hero{background:var(--hero-gradient);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0f172a33}.stock-hero:before{content:"";background:radial-gradient(circle,#4f46e526 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-50px}.stock-hero-left{z-index:1;align-items:center;gap:1.25rem;display:flex;position:relative}.stock-hero-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.stock-hero-left h1{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#fff!important}.stock-hero-left p{color:#ffffffbf;margin:0;font-size:.875rem}.stock-hero-right{z-index:1;align-items:center;gap:1.5rem;display:flex;position:relative}.btn-stock-new{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.btn-stock-new:hover{background:#fff3;transform:translateY(-1px)}@media (width<=900px){.stock-hero{flex-direction:column;align-items:flex-start}}.stock-filter-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.25rem;display:flex}.search-box-wrap{align-items:center;display:flex;position:relative}.search-box-wrap .search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;left:1rem}.search-box-wrap .search-input{padding-left:2.75rem}.filters-row{align-items:center;gap:1rem;display:flex}.filter-item{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:.5rem;padding:.25rem .75rem;display:flex}.select-clean{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;padding:.25rem 0;font-size:.8125rem;font-weight:700}.stock-table-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.stock-table{border-collapse:collapse;text-align:left;width:100%}.stock-table th{background:var(--surface-hover);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;border-bottom:1px solid var(--border);padding:1rem 1.25rem;font-size:.75rem;font-weight:800}.stock-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:1rem 1.25rem;font-size:.875rem}.item-name-cell{flex-direction:column;display:flex}.item-desc-sub{color:var(--text-secondary);margin-top:.125rem;font-size:.75rem}.item-sku-cell{flex-direction:column;gap:.125rem;display:flex}.sku-badge{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-sm);width:fit-content;padding:.125rem .375rem;font-size:.75rem}.color-sub{color:var(--text-secondary);font-size:.75rem}.price-modal{color:var(--text-secondary);font-size:.8125rem}.price-sell{font-size:.9375rem}.infinite-stock{font-size:1.25rem;font-weight:800}.stock-count-wrap{flex-direction:column;align-items:center;gap:.25rem;display:flex}.stock-warning-badge{background:currentColor;border-radius:99px;padding:.125rem .375rem;font-size:.625rem;font-weight:900}.stock-warning-badge.text-danger{background:#ef44441a}.stock-warning-badge.text-warning{background:#f59e0b1a}.tr-out-stock{background:#ef444405}.tr-low-stock{background:#f59e0b03}.table-input{border:1px solid var(--primary);border-radius:var(--radius-md);text-align:right;outline:none;width:100px;padding:.375rem .5rem;font-family:inherit;font-size:.8125rem}.actions-cell-row{justify-content:center;gap:.5rem;display:flex}.btn-table-action{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;padding:.5rem}.btn-table-action:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--text-secondary)}.btn-table-save{border:1px solid var(--secondary-hover);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#10b9811a;padding:.5rem}.btn-table-save:hover{background:var(--secondary-hover);color:#fff}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1050;background:#0f172a66;justify-content:center;align-items:center;width:100%;height:100%;padding:1.5rem;display:flex;position:fixed;inset:0;overflow:hidden}.modal-content-card{border-radius:var(--radius-xl);border:1px solid var(--border);background:#fff;flex-direction:column;width:100%;max-width:650px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000026}.modal-header{border-bottom:1px solid var(--border);background:var(--surface-hover);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h3{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:800}.close-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;font-weight:300;line-height:1}.close-btn:hover{color:var(--text-primary);background:#0000000d}.modal-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--surface-hover);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.adjust-item-header{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:.25rem;padding:1rem;display:flex}.adjust-item-header h4{margin:.25rem 0 0;font-size:1rem;font-weight:800}.adjust-item-header p{color:var(--text-secondary);margin:0;font-size:.8125rem}.source-segmented-control{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-lg);gap:.25rem;padding:.25rem;display:flex}.seg-btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);background:0 0;border:none;flex:1;padding:.625rem;font-size:.8125rem;font-weight:700}.seg-btn.active-internal{background:var(--primary);color:#fff}.seg-btn.active-external{background:var(--warning);color:#fff}@media (width<=768px){.stock-filter-card{flex-direction:column;align-items:stretch}.filters-row{flex-wrap:wrap}.modal-backdrop{padding:.5rem}.modal-content-card{max-height:95vh}}.reports-page{flex-direction:column;gap:1.5rem;display:flex}.reports-hero{background:var(--hero-gradient);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:-.5rem;padding:1.75rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0f172a33}.reports-hero:before{content:"";background:radial-gradient(circle,#4f46e526 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-50px}.reports-hero-left{z-index:1;align-items:center;gap:1.25rem;display:flex;position:relative}.reports-hero-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.reports-hero-left h1{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#fff!important}.reports-hero-left p{color:#ffffffbf;margin:0;font-size:.875rem}.reports-hero-right{z-index:1;align-items:center;gap:1.5rem;display:flex;position:relative}.btn-report-export{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;align-items:center;gap:.4rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.btn-report-export:hover{background:#fff3;transform:translateY(-1px)}@media (width<=900px){.reports-hero{flex-direction:column;align-items:flex-start}}.reports-controls{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.period-tabs{background:var(--surface-hover);border-radius:var(--radius-lg);gap:.25rem;padding:.25rem;display:flex}.period-tab{border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;border:none;padding:.5rem 1rem;font-size:.8125rem;font-weight:700}.period-tab.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.date-navigator{align-items:center;gap:.75rem;display:flex}.nav-arrow{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);background:0 0;align-items:center;padding:.5rem;display:flex}.nav-arrow:hover{background:var(--surface-hover);color:var(--primary);border-color:var(--primary)}.period-display{color:var(--text-primary);justify-content:center;align-items:center;gap:.5rem;min-width:220px;font-size:.9375rem;font-weight:800;display:flex}.report-type-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.rtype-btn{border:1px solid var(--border);border-radius:var(--radius-xl);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:700;display:flex}.rtype-btn:hover{border-color:var(--primary);color:var(--primary)}.rtype-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e526}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=540px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;border-left-style:solid;border-left-width:4px;align-items:center;gap:1rem;padding:1.25rem;display:flex}.kpi-primary{border-left-color:var(--primary)}.kpi-secondary{border-left-color:var(--secondary)}.kpi-warning{border-left-color:var(--warning)}.kpi-danger{border-left-color:#ef4444}.kpi-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.kpi-primary .kpi-icon{color:var(--primary);background:#4f46e51a}.kpi-secondary .kpi-icon{color:var(--secondary);background:#10b9811a}.kpi-warning .kpi-icon{color:var(--warning);background:#f59e0b1a}.kpi-danger .kpi-icon{color:#ef4444;background:#ef44441a}.kpi-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.75rem;font-weight:600}.kpi-value{color:var(--text-primary);margin:.25rem 0 0;font-size:1.5rem;font-weight:900;line-height:1.2}.charts-row{align-items:flex-start;gap:1rem;display:flex}.flex-2{flex:2}.flex-1{flex:1}@media (width<=768px){.charts-row{flex-direction:column}.flex-2,.flex-1{flex:none;width:100%}}.chart-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;padding:1.5rem}.chart-title{color:var(--text-primary);margin:0 0 1.25rem;font-size:.9375rem;font-weight:800}.bar-chart{align-items:flex-end;gap:.75rem;height:160px;display:flex}.bar-group{flex-direction:column;flex:1;align-items:center;gap:.25rem;height:100%;display:flex}.bar-wrap{background:var(--surface-hover);border-radius:var(--radius-md);flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.bar-fill{background:linear-gradient(to top, var(--primary), #4f46e580);border-radius:var(--radius-md);width:100%;min-height:4px;transition:height .4s}.bar-label{color:var(--text-secondary);font-size:.6875rem;font-weight:700}.bar-value{color:var(--text-tertiary);font-size:.625rem}.payment-breakdown-list{flex-direction:column;gap:1rem;display:flex}.pay-method-row{flex-direction:column;gap:.25rem;display:flex}.pay-method-info{align-items:center;gap:.5rem;display:flex}.pay-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.pay-method-name{font-size:.8125rem;font-weight:800}.pay-count{color:var(--text-secondary);font-size:.75rem}.pay-bar-wrap{align-items:center;gap:.5rem;display:flex}.pay-bar-track{background:var(--surface-hover);border-radius:99px;flex:1;height:6px;overflow:hidden}.pay-bar-fill{border-radius:99px;height:100%;transition:width .4s}.pay-pct{color:var(--text-secondary);text-align:right;width:30px;font-size:.6875rem;font-weight:700}.pay-amount{color:var(--text-primary);font-size:.8125rem;font-weight:800}.empty-chart{text-align:center;color:var(--text-secondary);padding:2rem;font-size:.875rem}.report-table-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.border-warning-left{border-left:4px solid var(--warning)}.report-table-card .chart-title{padding:1.25rem 1.5rem 0}.report-table{border-collapse:collapse;text-align:left;width:100%}.report-table th{background:var(--surface-hover);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;border-bottom:1px solid var(--border);padding:.875rem 1.25rem;font-size:.6875rem;font-weight:800}.report-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.875rem 1.25rem;font-size:.875rem}.report-table tbody tr:last-child td{border-bottom:none}.report-table tbody tr:hover{background:var(--surface-hover)}.rank-num{color:var(--text-secondary);width:40px;font-weight:900}.cat-tag{border-radius:var(--radius-sm);padding:.2rem .4rem;font-size:.625rem;font-weight:800;display:inline-block}.tag-frame{color:var(--primary);background:#4f46e51a}.tag-lens{color:#047857;background:#10b9811a}.tag-service{color:#b45309;background:#f59e0b1a}.tr-warning{background:#f59e0b08}.tr-danger{background:#ef444408}.method-badge{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.6875rem;font-weight:800}.status-pill{border-radius:99px;padding:.25rem .625rem;font-size:.6875rem;font-weight:800}.status-pill.lunas{color:#047857;background:#10b9811a}.status-pill.dp{color:#b45309;background:#f59e0b1a}.status-pill.belum_bayar{color:#b91c1c;background:#ef44441a}.composition-bar-wrap{flex-direction:column;gap:1rem;padding:0 1.5rem 1.5rem;display:flex}.composition-bar{border-radius:var(--radius-lg);height:40px;display:flex;overflow:hidden}.comp-seg{color:#fff;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;transition:all .4s;display:flex}.bpjs-seg{background:var(--primary)}.umum-seg{background:var(--secondary)}.comp-legend{flex-wrap:wrap;gap:1.5rem;display:flex}.leg-item{align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.leg-dot{border-radius:50%;width:12px;height:12px}.bpjs-dot{background:var(--primary)}.umum-dot{background:var(--secondary)}.cashbook-page{flex-direction:column;gap:1.25rem;display:flex}.cb-hero{background:var(--hero-gradient);color:#fff;border-radius:20px;justify-content:space-between;align-items:stretch;gap:1.5rem;padding:1.75rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0f172a33}.cb-hero:before{content:"";background:radial-gradient(circle,#4f46e526 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;top:-100px;right:-50px}.cb-hero-left{z-index:1;flex-direction:column;flex:1;justify-content:center;display:flex;position:relative}.cb-hero-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.cb-hero-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.cb-hero-title h1{letter-spacing:-.02em;color:#fff;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.cb-hero-title p{color:#ffffffb3;margin:0;font-size:.875rem}.cb-net-balance{margin-top:auto}.cb-net-balance .label{color:#fff9;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.75rem}.cb-net-balance .amount{color:#34d399;font-size:2.5rem;font-weight:800;line-height:1}.cb-hero-right{z-index:1;background:#0003;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex;position:relative}.cb-stat{flex-direction:column;gap:.2rem;display:flex}.cb-stat-num{color:#fff;font-size:1.25rem;font-weight:800;line-height:1}.cb-stat-label{color:#fff9;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.7rem}.cb-stat-div{background:#ffffff1a;width:1px;height:32px}.text-emerald{color:#34d399!important}.text-indigo{color:#818cf8!important}.text-rose{color:#fb7185!important}@media (width<=900px){.cb-hero{flex-direction:column;align-items:flex-start}.cb-hero-right{flex-wrap:wrap;justify-content:space-between;width:100%}}.action-buttons-row{gap:1rem;margin-top:.5rem;display:flex}.btn-action{border-radius:var(--radius-md);cursor:pointer;background:var(--surface);box-shadow:var(--shadow-sm);border:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-weight:700;transition:all .2s;display:flex}.btn-expense{color:var(--danger);border-color:#fecaca}.btn-expense:hover,.btn-expense.active{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-income{color:var(--success);border-color:#a7f3d0}.btn-income:hover,.btn-income.active{background:var(--success);color:#fff;border-color:var(--success)}.cashflow-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:.5rem;overflow:hidden}.cashflow-form-card.expense{border-top:4px solid var(--danger)}.cashflow-form-card.income{border-top:4px solid var(--success)}.cf-form-header{border-bottom:1px solid var(--border);background:var(--surface-hover);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.cf-form-header h3{margin:0;font-size:1rem}.btn-close-form{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1}.btn-close-form:hover{color:var(--text-primary)}.cf-form-body{padding:1.25rem}.section-title{margin-bottom:1rem;font-size:1.125rem;font-weight:700}.records-list{flex-direction:column;gap:.75rem;display:flex}.record-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:1rem;padding:1rem;display:flex}.record-icon{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.record-icon.income{color:var(--success);background:#d1fae5}.record-icon.expense{color:var(--danger);background:#fee2e2}.record-details{flex-direction:column;flex:1;gap:.25rem;display:flex}.record-top{justify-content:space-between;align-items:flex-start;display:flex}.record-cat{font-size:.875rem;font-weight:600}.record-amount{font-weight:700}.record-amount.income{color:var(--success)}.record-amount.expense{color:var(--danger)}.record-bottom{color:var(--text-secondary);justify-content:space-between;font-size:.75rem;display:flex}.record-time{color:var(--text-tertiary)}.empty-state-sm{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-tertiary);padding:2rem;font-size:.875rem}.settings-page{flex-direction:column;gap:1.5rem;display:flex}.settings-hero{background:var(--hero-gradient);color:#fff;border-radius:20px;padding:1.75rem 2rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #1e293b33}.settings-hero:after{content:"";background:#ffffff0d;border-radius:50%;width:200px;height:200px;position:absolute;top:-40px;right:-40px}.settings-hero-content{z-index:1;align-items:center;gap:1.25rem;display:flex;position:relative}.settings-hero-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.settings-hero h1{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.settings-hero p{color:#ffffffb3;margin:0;font-size:.875rem}.settings-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:4px;width:max-content;padding:4px;display:flex}.settings-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.settings-tab.active{color:#0f172a;background:#f1f5f9}.settings-tab:hover:not(.active){background:#f8fafc}.settings-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=768px){.settings-grid{grid-template-columns:1fr}}.settings-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex;box-shadow:0 4px 12px #00000005}.settings-card.full-width{width:100%}.settings-card-header{align-items:center;gap:1rem;display:flex}.settings-card-header.flex-between{justify-content:space-between}.settings-card-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.settings-card-icon.wa{background:#16a34a;box-shadow:0 4px 12px #16a34a33}.settings-card-icon.printer{background:#4f46e5;box-shadow:0 4px 12px #4f46e533}.settings-card-title{color:#0f172a;margin:0 0 .25rem;font-size:1.125rem;font-weight:700}.settings-card-subtitle{color:#64748b;margin:0;font-size:.8125rem}.wa-status,.printer-status{border-radius:10px;align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:flex}.connected{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.disconnected{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.wa-connect-box{flex-direction:column;align-items:center;gap:1.25rem;margin-top:1rem;display:flex}.qr-placeholder{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;justify-content:center;align-items:center;width:180px;height:180px;display:flex}.qr-text{color:#94a3b8;font-size:.875rem;font-weight:600}.settings-action-btn{cursor:pointer;color:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.25rem;font-size:.9375rem;font-weight:700;transition:all .2s;display:flex}.wa-btn{background:#16a34a;box-shadow:0 4px 12px #16a34a33}.wa-btn:hover{background:#15803d;transform:translateY(-1px)}.printer-info{color:#64748b;background:#f8fafc;border-radius:10px;margin-bottom:.5rem;padding:1rem;font-size:.875rem;line-height:1.5}.printer-btn{background:#4f46e5;box-shadow:0 4px 12px #4f46e533}.printer-btn:hover{background:#4338ca;transform:translateY(-1px)}.btn-add-staff{background:#0f172a;border-radius:10px;padding:.625rem 1.25rem;font-size:.875rem;box-shadow:0 4px 12px #0f172a26}.btn-add-staff:hover{background:#1e293b;transform:translateY(-1px)}.users-table{border-collapse:collapse;width:100%}.users-table th,.users-table td{text-align:left;border-bottom:1px solid #f1f5f9;padding:1rem 1.25rem;font-size:.875rem}.users-table th{color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;font-size:.75rem;font-weight:600}.users-table tbody tr{transition:background .15s}.users-table tbody tr:hover{background:#f8fafc}.role-badge{text-transform:capitalize;border-radius:20px;padding:.3rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.role-owner{color:#b45309;background:#fef3c7}.role-admin{color:#4f46e5;background:#ede9fe}.role-kasir{color:#1d4ed8;background:#dbeafe}.role-optometris{color:#15803d;background:#dcfce7}.status-badge{border-radius:20px;padding:.3rem .75rem;font-size:.75rem;font-weight:700}.status-badge.active{color:#065f46;background:#d1fae5}.text-primary-dark{color:#0f172a}.mt-3{margin-top:1rem}.btn-outline-danger{color:#dc2626;cursor:pointer;background:#fff;border:1.5px solid #fca5a5;border-radius:12px;width:100%;padding:.875rem;font-size:.9375rem;font-weight:700;transition:all .2s}.btn-outline-danger:hover{background:#fef2f2}.table-responsive{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}
