:root{color:#1f2937;background-color:#f5f7fb;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.app-shell{grid-template:"header header""sidebar content"1fr/260px 1fr;min-height:100vh;display:grid}.header{color:#fff;background:#0f172a;grid-area:header;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.header-logo{object-fit:contain;background:#fff;border-radius:20px;width:auto;height:55px;padding:5px;display:block}.header-user{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;grid-area:sidebar;gap:.25rem;padding:1rem;display:flex}.nav-link{color:#334155;border-radius:.5rem;align-items:center;gap:.6rem;padding:.55rem .75rem;text-decoration:none;display:flex}.nav-link:hover{background:#eef2ff}.nav-link.active{color:#1d4ed8;background:#dbeafe;font-weight:600}.content{grid-area:content;padding:1.25rem}.content h2{margin-top:0}.card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem}.form-row{grid-template-columns:repeat(5,minmax(120px,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.form{gap:.75rem;display:grid}label{gap:.3rem;font-size:.9rem;display:grid}input,button{font:inherit;border:1px solid #cbd5e1;border-radius:.45rem;padding:.55rem .65rem}button{color:#fff;cursor:pointer;background:#1d4ed8;border-color:#1d4ed8}button:hover{background:#1e40af}.secondary-btn{background:#334155;border-color:#94a3b8}.secondary-btn:hover{background:#1e293b}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.55rem .45rem;font-size:.9rem}.login-wrap{background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;min-height:100vh;padding:1rem;display:grid}.login-wrap .card{width:min(420px,100%)}.login-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 32px #0000002e;background:#ffffffeb!important}.login-logo{object-fit:contain;width:auto;height:52px;margin:0 auto 1.25rem;display:block}.error{color:#b91c1c;margin:0;font-size:.9rem}.success{color:#15803d;margin:0;font-size:.9rem}select{font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.45rem;padding:.55rem .65rem}.settings-group{margin-top:1rem}.settings-group-title{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 .35rem;font-size:.9rem}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-top:1rem;display:grid}.stat-card{background:#fff;border-radius:.6rem;flex-direction:column;gap:.35rem;padding:1.25rem 1rem;display:flex;box-shadow:0 1px 4px #00000014}.stat-card-clickable{text-align:left;cursor:pointer;border-bottom:0;border-left:0;border-right:0;width:100%;transition:transform .12s,box-shadow .12s}.stat-card-clickable:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0f172a24}.stat-card-clickable:hover .stat-value,.stat-card-clickable:hover .stat-label{color:#fff}.stat-value{color:#1e293b;font-size:2rem;font-weight:700;line-height:1}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}.calendar-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0 .75rem;display:flex}.calendar-actions{gap:.5rem;display:flex}.calendar-title{color:#0f172a;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;display:grid}.calendar-weekday{text-align:center;color:#64748b;padding:.35rem 0;font-size:.8rem;font-weight:600}.calendar-empty,.calendar-day{border-radius:.55rem;min-height:76px}.calendar-empty{background:#f8fafc;border:1px dashed #e2e8f0}.calendar-day{cursor:pointer;background:#fff;border:1px solid #cbd5e1;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:.45rem;display:flex}.calendar-day.is-selected{border-color:#1d4ed8;box-shadow:0 0 0 1px #1d4ed8}.calendar-day-num{color:#334155;font-weight:600}.calendar-count{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:.12rem .45rem;font-size:.76rem}.appt-list{gap:.5rem;margin-top:1rem;display:grid}.appt-list-item{border:1px solid #e2e8f0;border-radius:.55rem;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.6rem .7rem;display:flex}.patient-card{gap:.9rem;display:grid}.patient-main-tabs,.patient-sub-tabs{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.patient-tab,.patient-sub-tab{color:#0f172a;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:.45rem;padding:.45rem .75rem;font-weight:600}.patient-tab.active,.patient-sub-tab.active{color:#fff;background:#2563eb;border-color:#2563eb}.register-submit-btn{margin-left:auto}.patient-search-row{grid-template-columns:1fr 1fr auto auto;gap:.6rem;margin-bottom:.6rem;display:grid}.patient-results-meta{color:#2563eb;justify-content:flex-end;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:flex}.patient-action-buttons{gap:.45rem;display:flex}.patient-two-col{grid-template-columns:repeat(2,minmax(260px,1fr));gap:1rem;margin:.75rem 0;display:grid}.patient-col{align-content:start;gap:.55rem;display:grid}.patient-inline-two{grid-template-columns:repeat(2,minmax(120px,1fr));gap:.6rem;display:grid}.patient-register-actions{gap:.6rem;margin-top:.7rem;display:flex}.patient-member-top{margin-bottom:.7rem}.patient-member-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:.55rem;margin-bottom:1rem;display:grid}.appointment-modal-overlay{z-index:1200;background:#0f172a6b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.appointment-modal{background:#f3f4f6;border:1px solid #d1d5db;border-radius:.5rem;width:min(1200px,96vw);max-height:92vh;padding:1rem;overflow-y:auto}.appointment-modal-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.appointment-modal-header h3{margin:0}.appointment-modal-form{gap:.9rem;display:grid}.appointment-modal-grid{grid-template-columns:repeat(2,minmax(240px,1fr));align-items:start;gap:.8rem 2rem;display:grid}.appointment-inline-options{flex-wrap:wrap;gap:1rem;margin-top:.35rem;display:flex}.appointment-inline-options label{align-items:center;gap:.35rem;margin:0;font-weight:600;display:inline-flex}.appointment-modal-actions{justify-content:flex-start;display:flex}.appointment-slot-note{color:#1d4ed8;margin:0;font-size:.9rem;font-weight:600}.appt-action-btn{color:#fff;background:#0b78c3;border:1px solid #0b78c3;border-radius:999px;padding:.25rem .7rem;font-size:.9rem;font-weight:700}.appt-action-btn:disabled{opacity:.6;cursor:not-allowed}.checkin-modal{width:min(860px,96vw)}.checkin-section-header{background:#e8f0fe;border-left:4px solid #1d6dc3;border-radius:.25rem;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.45rem .75rem;display:flex}.checkin-section-title{align-items:center;gap:.4rem;display:flex}.checkin-toggle-label{cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:inline-flex}.checkin-visit-grid{grid-template-columns:repeat(2,1fr);gap:.65rem 2rem;margin-bottom:.75rem;display:grid}.checkin-external-row{align-items:flex-end;padding-bottom:.3rem;display:flex}.checkin-checkbox-label{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.checkin-divider{border:0;border-top:1px solid #d1d5db;margin:.75rem 0}.checkin-billing-table{border-collapse:collapse;width:100%;margin-bottom:.75rem;font-size:.9rem}.checkin-billing-table th,.checkin-billing-table td{text-align:center;border:1px solid #d1d5db;padding:.35rem .6rem}.checkin-billing-table th{background:#f0f4ff;font-weight:700}.checkin-billing-table td:first-child{text-align:left;font-weight:600}.checkin-particular-input{border:1px solid #d1d5db;border-radius:.25rem;width:100%;min-width:180px;padding:.3rem .45rem;font-size:.9rem}.checkin-amt-cell{color:#1e293b;font-weight:700}.checkin-num-input{text-align:right;border:1px solid #d1d5db;border-radius:.25rem;width:80px;padding:.22rem .4rem;font-size:.9rem}.checkin-num-input:read-only{color:#64748b;background:#f3f4f6}.checkin-billing-summary{gap:.6rem;margin-bottom:.5rem;display:grid}.checkin-line-items-toolbar{justify-content:flex-start;margin-bottom:.75rem;display:flex}.checkin-line-action-btn{color:#dc2626;background:#fff;border:1px solid #dc2626;border-radius:.25rem;padding:.3rem .55rem;font-size:.85rem;font-weight:700}.checkin-summary-cols{grid-template-columns:1fr 1fr;gap:.4rem 2rem;display:grid}.checkin-summary-left,.checkin-summary-right{flex-direction:column;gap:.4rem;display:flex}.checkin-summary-left label,.checkin-summary-right label{align-items:center;gap:.5rem;display:flex}.checkin-totals{border-top:1px solid #e5e7eb;gap:2rem;padding:.3rem 0;display:flex}.checkin-totals p{margin:0}.checkin-payment-grid{flex-wrap:wrap;align-items:center;gap:1.5rem;padding-top:.4rem;display:flex}.checkin-payment-grid p{margin:0}.checkin-payment-grid label{align-items:center;gap:.5rem;display:inline-flex}.checkin-modal-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:.75rem;display:flex}@media (width<=900px){.app-shell{grid-template-columns:1fr;grid-template-areas:"header""sidebar""content"}.sidebar{white-space:nowrap;border-bottom:1px solid #e5e7eb;border-right:0;flex-direction:row;overflow-x:auto}.header{flex-direction:column;align-items:flex-start}.patient-search-row,.patient-two-col,.patient-member-grid{grid-template-columns:1fr}.appointment-modal-grid{grid-template-columns:1fr;gap:.8rem}.form-row{grid-template-columns:1fr}}
