@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Sarabun:wght@300;400;500;600;700&display=swap";:root{--primary:#1e40af;--primary-light:#3b82f6;--primary-hover:#1d4ed8;--secondary:#10b981;--secondary-hover:#059669;--accent:#f59e0b;--accent-light:#fef3c7;--danger:#ef4444;--danger-hover:#dc2626;--bg-main:#f3f4f6;--bg-card:#fff;--border-light:#e5e7eb;--text-dark:#1f2937;--text-muted:#6b7280;--font-title:"Outfit", "Sarabun", sans-serif;--font-body:"Inter", "Sarabun", sans-serif;font-family:var(--font-body);color:var(--text-dark);background-color:var(--bg-main);font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh}h1,h2,h3,h4,h5{font-family:var(--font-title);font-weight:600}.app-container{flex-direction:column;min-height:100vh;display:flex}.navbar{border-bottom:1px solid var(--border-light);z-index:100;background-color:#fff;justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000000d}.logo-section{flex-direction:column;display:flex}.logo-title{color:#1e3a8a;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:800;display:flex}.logo-sub{color:var(--text-muted);letter-spacing:.05em;margin-top:-2px;font-size:.7rem;font-weight:600}.nav-links{gap:1rem;display:flex}.nav-btn{font-family:var(--font-title);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.nav-btn:hover{color:var(--text-dark);background-color:#f3f4f6}.nav-btn.active{color:var(--primary-light);background-color:#eff6ff;border-color:#bfdbfe}.main-content{flex:1;width:100%;max-width:100%;margin:0 auto;padding:1.5rem 2rem}.card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:.5rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.controls-card{background-color:#fff;align-items:center;gap:1.5rem;display:flex}.control-group{flex-direction:column;gap:.35rem;display:flex}.control-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.select-input{cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;outline:none;min-width:250px;padding:.6rem 1rem;font-size:.95rem}.select-input:focus{border-color:var(--primary-light);box-shadow:0 0 0 2px #3b82f626}.btn{cursor:pointer;font-size:.95rem;font-weight:500;font-family:var(--font-title);border:none;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;transition:all .2s;display:inline-flex}.btn-primary{color:#fff;background-color:#06f}.btn-primary:hover{background-color:var(--primary-hover)}.btn-success{color:#fff;background-color:#10b981}.btn-success:hover{background-color:var(--secondary-hover)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}.btn-warning{color:#fff;background-color:#d97706}.btn-warning:hover{background-color:#b45309}.btn-outline{color:var(--text-dark);background-color:#fff;border:1px solid #d1d5db}.btn-outline:hover{background-color:#f9fafb}.sum-badge{color:#854d0e;font-size:1rem;font-weight:700;font-family:var(--font-title);background-color:#fef08a;border:1px solid #fde047;border-radius:.375rem;margin-left:auto;padding:.5rem 1rem}.grid-toolbar{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.table-container{border:1px solid var(--border-light);background-color:#fff;border-radius:.375rem;min-height:320px;margin-bottom:1.5rem;overflow-x:auto}.claims-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.claims-table th{color:#374151;border-bottom:1px solid var(--border-light);white-space:nowrap;background-color:#f9fafb;padding:.75rem .5rem;font-weight:600}.claims-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:.5rem}.claims-table tr:hover{background-color:#fafafa}.claims-table tr:focus-within{z-index:10;position:relative}.grid-input{width:100%;color:var(--text-dark);background-color:#fff;border:1px solid #e5e7eb;border-radius:.25rem;outline:none;padding:.4rem .6rem;font-size:.85rem}.grid-input:focus{border-color:var(--primary-light)}.grid-input:disabled{color:#9ca3af;background-color:#f3f4f6;border-color:#e5e7eb}.grid-select{cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:.25rem;outline:none;width:100%;padding:.4rem .6rem;font-size:.85rem}.grid-select.icd-select{color:#b91c1c;border-color:#f87171;font-weight:600}.grid-select.icd-select:focus{border-color:var(--danger)}.grid-input.amount-input{color:#059669;text-align:right;background-color:#f0fdf4;border-color:#a7f3d0;font-weight:700}.autocomplete-container{width:100%;position:relative}.autocomplete-dropdown{z-index:50;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;max-height:250px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.autocomplete-item{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:.5rem .75rem;font-size:.8rem;transition:background-color .15s}.autocomplete-item:hover{background-color:#eff6ff}.autocomplete-item-title{color:#1e3a8a;font-weight:600}.autocomplete-item-sub{color:var(--text-muted);margin-top:2px;font-size:.75rem}.grid-action-btn{cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;transition:all .15s;display:inline-flex}.grid-action-btn-save{color:#3b82f6}.grid-action-btn-save:hover{color:#1d4ed8;background-color:#eff6ff}.grid-action-btn-delete{color:#ef4444}.grid-action-btn-delete:hover{color:#dc2626;background-color:#fee2e2}.ai-claim-split{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.ai-textarea{width:100%;height:350px;font-family:var(--font-body);resize:none;border:1px solid #d1d5db;border-radius:.375rem;outline:none;margin-bottom:1rem;padding:1rem;font-size:.95rem;line-height:1.5}.ai-textarea:focus{border-color:var(--primary-light);box-shadow:0 0 0 2px #3b82f626}.api-key-input{border:1px solid #d1d5db;border-radius:.375rem;outline:none;width:100%;margin-bottom:1rem;padding:.5rem .75rem;font-size:.85rem}.api-key-input:focus{border-color:var(--primary-light)}.upload-zone{text-align:center;cursor:pointer;background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:.5rem;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;transition:all .2s;display:flex}.upload-zone:hover{border-color:var(--primary-light);background-color:#f1f5f9}.upload-icon{color:#64748b;width:48px;height:48px}.upload-progress-container{margin-top:1.5rem}.progress-bar-bg{background-color:#e2e8f0;border-radius:9999px;width:100%;height:.75rem;margin-top:.5rem;overflow:hidden}.progress-bar-fill{background-color:var(--primary-light);height:100%;transition:width .3s}.progress-text{color:var(--text-dark);justify-content:space-between;font-size:.85rem;font-weight:600;display:flex}.preview-details{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:.375rem;margin:1rem 0;padding:1rem}.preview-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.preview-item-label{color:#1e40af;text-transform:uppercase;font-size:.75rem;font-weight:600}.preview-item-val{color:#1e3a8a;margin-top:.25rem;font-size:1.1rem;font-weight:700}.student-search-bar{gap:.5rem;margin-bottom:1rem;display:flex}.search-input{border:1px solid #d1d5db;border-radius:.375rem;outline:none;flex:1;padding:.6rem 1rem;font-size:.95rem}.search-input:focus{border-color:var(--primary-light)}.student-list-container{border:1px solid var(--border-light);border-radius:.375rem;max-height:400px;overflow-y:auto}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{border:1px solid var(--border-light);background:#fff;border-radius:.5rem;align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon-wrapper{color:#fff;border-radius:.375rem;padding:.75rem}.stat-info{flex-direction:column;display:flex}.stat-val{font-size:1.4rem;font-weight:800}.stat-lbl{color:var(--text-muted);font-size:.75rem}
