*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#f0f4f8;color:#1e293b;-webkit-font-smoothing:antialiased}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;background:#f0f4f8}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:10}.header-logo{display:flex;align-items:center}.header-logo-img{height:38px;width:auto;max-width:170px;object-fit:contain;display:block;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%)}input[type=date]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0;padding:0;min-height:1.2em}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.logo-icon{width:36px;height:36px;border-radius:50%;background:#0284c7;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.logo-title{font-weight:700;font-size:16px;display:block;line-height:1.2}.logo-subtitle{font-size:10px;font-weight:600;color:#0284c7;letter-spacing:1.5px;display:block}.tab-toggle{display:flex;background:#f1f5f9;border-radius:10px;padding:3px}.tab-btn{padding:7px 18px;border:none;border-radius:8px;background:transparent;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.tab-btn.active{background:#fff;color:#0f172a;box-shadow:0 1px 3px #0000001a}.main-content{padding:16px}.page h1{font-size:24px;font-weight:700;margin-bottom:4px}.page-subtitle{color:#94a3b8;font-size:14px;margin-bottom:20px}.card{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.card-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.plus-icon{background:#e0f2fe;color:#0284c7}.card-header h3{font-size:16px;font-weight:600}.card-subtitle{font-size:13px;color:#94a3b8;margin-top:2px}.field-label{display:block;font-size:13px;font-weight:500;color:#334155;margin:14px 0 6px}.field-input{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;background:#fff;outline:none;height:46px;line-height:normal;transition:border .2s}.field-input:focus{border-color:#0284c7}select.field-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%2394a3b8' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.payment-section{background:#f8fafc;border-radius:12px;padding:16px;margin-top:14px}.payment-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rupee-badge{width:28px;height:28px;border-radius:50%;background:#e0f2fe;color:#0284c7;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.payment-title{font-size:12px;font-weight:700;color:#0284c7;letter-spacing:1px}.rupee-input{display:flex;align-items:center;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff;width:100%;min-width:0;max-width:100%;box-sizing:border-box;height:46px;transition:border .2s}.rupee-input:focus-within{border-color:#0284c7}.rupee-prefix{padding:0 6px 0 14px;color:#94a3b8;font-size:14px;flex-shrink:0}.rupee-input input{border:none;outline:none;flex:1;min-width:0;width:100%;height:100%;padding:0 14px 0 0;font-size:14px;color:#1e293b;background:transparent}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;box-sizing:border-box}.field-half{min-width:0;width:100%;display:flex;flex-direction:column}.field-half .field-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 320px){.field-row{grid-template-columns:1fr;gap:8px}}.btn-primary{display:block;width:100%;padding:16px;margin-top:20px;background:#0f172a;color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#1e293b}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.recent-tests{margin-top:28px}.recent-tests-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.recent-tests-header h2{font-size:20px;font-weight:700}.subtitle{font-size:13px;color:#94a3b8;margin-top:2px}.search-box{display:flex;align-items:center;gap:6px;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;background:#fff}.search-icon{font-size:14px}.search-box input{border:none;outline:none;font-size:13px;width:110px;color:#1e293b}.test-card{background:#fff;border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 1px 3px #0000000f}.test-card-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.avatar{width:40px;height:40px;border-radius:50%;background:#e0f2fe;color:#0284c7;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.patient-info{flex:1}.patient-info strong{display:block;font-size:15px}.patient-mobile{font-size:13px;color:#94a3b8}.status-badge{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:20px}.status-dot{width:7px;height:7px;border-radius:50%}.status-badge.ready{color:#059669;background:#ecfdf5}.status-badge.ready .status-dot{background:#059669}.status-badge.pending{color:#ea580c;background:#fff7ed}.status-badge.pending .status-dot{background:#ea580c}.test-card-details{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.test-name{display:block;font-size:15px;font-weight:600}.test-meta{display:block;font-size:12px;color:#94a3b8;margin-top:2px}.detail-right{text-align:right}.test-amount{font-size:16px;font-weight:700;display:block}.test-payment-info{font-size:12px;color:#94a3b8;display:block;margin-top:2px}.test-card-actions{display:flex;flex-wrap:wrap;gap:8px}.action-btn{padding:7px 14px;border-radius:20px;border:1px solid #e2e8f0;background:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;color:#64748b}.action-btn:hover{background:#f1f5f9}.action-btn.active-green{background:#059669;color:#fff;border-color:#059669}.action-btn.active-teal{background:#0d9488;color:#fff;border-color:#0d9488}.action-btn.active-gray{background:#64748b;color:#fff;border-color:#64748b}.date-toggle-bar{background:#fff;border-radius:14px;padding:6px;margin-bottom:16px;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0}.date-mode-toggle{display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:4px}.date-mode-btn{flex:1;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;text-align:center}.date-mode-btn:hover:not(.active){color:#1e293b;background:#fff9}.date-mode-btn.active{background:#fff;color:#0284c7;font-weight:600;border-color:#e2e8f0;box-shadow:0 1px 3px #00000014}.date-range-bar{display:flex;gap:12px;margin-bottom:20px;animation:slideDown .25s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.date-range-bar label{flex:1;min-width:0;font-size:12px;font-weight:600;color:#64748b;display:flex;flex-direction:column;gap:4px}.date-range-bar input{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;outline:none}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.stat-card{border-radius:16px;padding:18px;box-shadow:0 1px 3px #0000000f}.stat-card-white{background:#fff}.stat-card-yellow{background:#fef9c3}.stat-card-orange{background:#ffe4d6}.stat-card-mint{background:#d1fae5}.stat-icon{font-size:18px;margin-bottom:10px}.stat-title{font-size:13px;font-weight:500;color:#64748b}.stat-value{font-size:24px;font-weight:700;margin:4px 0}.stat-subtitle{font-size:12px;color:#94a3b8}.chart-card{margin-bottom:20px}.chart-card h3{font-size:16px;font-weight:700;margin-bottom:2px}.vendor-dues{margin-bottom:24px}.vendor-dues h3{font-size:18px;font-weight:700;margin-bottom:2px}.vendor-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:16px;margin-top:12px;box-shadow:0 1px 3px #0000000f}.vendor-avatar{background:#ffe4d6;color:#c2410c}.vendor-info{flex:1}.vendor-info strong{display:block;font-size:14px}.vendor-meta{font-size:12px;color:#94a3b8}.vendor-amount{text-align:right}.vendor-total{display:block;font-size:16px;font-weight:700;color:#059669}.vendor-label{font-size:10px;font-weight:600;color:#94a3b8;letter-spacing:.5px}.loading-text,.empty-text{text-align:center;color:#94a3b8;padding:24px 0;font-size:14px}
