@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";html,body,#root{height:100%;width:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary)}a{font-weight:500;color:var(--accent-blue);text-decoration:none;transition:.2s}a:hover{color:var(--accent-blue-dark)}button{border-radius:8px;border:1px solid var(--border-color);padding:.6em 1.2em;font-size:.95rem;font-weight:500;font-family:inherit;background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .2s ease}button:hover{background:var(--bg-hover);border-color:var(--accent-blue)}button:focus{outline:none;box-shadow:0 0 0 2px var(--accent-blue-light)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600}.container{width:100%;max-width:1200px;margin:auto}.mobile-menu-btn{display:none;position:fixed;top:20px;left:20px;z-index:1001;background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary);width:44px;height:44px;border-radius:var(--radius-md);font-size:22px;cursor:pointer;transition:all .25s var(--ease-out);box-shadow:0 1px 3px #0000000f}.mobile-menu-btn:hover{background:var(--bg-surface-3);border-color:var(--accent);color:var(--accent)}.sidebar{position:fixed;left:0;top:0;height:100vh;background:var(--bg-surface);border-right:1px solid var(--border-light);display:flex;flex-direction:column;z-index:1000;overflow:hidden;transition:width .3s var(--ease-out)}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.logo-container{display:flex;align-items:center;gap:12px}.logo-icon{font-size:28px;color:var(--accent);flex-shrink:0}.auth-logo-img{width:34px;height:34px;object-fit:contain;flex-shrink:0}.logo-text{font-size:20px;font-weight:700;letter-spacing:.5px;color:var(--accent)}.collapse-btn{background:transparent;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .25s var(--ease-out)}.collapse-btn:hover{background:var(--bg-surface-3);color:var(--accent)}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.nav-item{display:flex;align-items:center;gap:14px;padding:12px 16px;margin-bottom:4px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-secondary);font-weight:500;transition:all .2s var(--ease-out);cursor:pointer;position:relative;border:none}.nav-item:hover{background:var(--bg-surface-3);color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:var(--accent-light);color:var(--accent);font-weight:600}.nav-item.active .nav-icon{color:var(--accent)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--accent);border-radius:0 3px 3px 0}.nav-icon{font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-text{font-size:14px;font-weight:inherit;white-space:nowrap}.sidebar-footer{padding:16px;border-top:1px solid var(--border-light)}.user-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-surface-3);border-radius:var(--radius-md);border:none}.user-avatar{width:38px;height:38px;border-radius:50%;border:2px solid var(--accent);flex-shrink:0;object-fit:cover}.user-avatar-initial{width:38px;height:38px;border-radius:50%;flex-shrink:0;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.user-info{overflow:hidden}.user-name{font-size:14px;font-weight:600;color:var(--text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{width:100%;background:transparent;border:none;font-family:inherit;margin-top:8px;color:var(--text-secondary)}.logout-btn:hover{background:var(--bg-surface-3)!important;color:var(--text-primary)!important}.logout-btn .nav-icon{color:inherit}.mobile-overlay{display:none;position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}@media(max-width:768px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.sidebar{transform:translate(-100%);transition:transform .3s var(--ease-out);width:260px!important;box-shadow:none}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 24px #00000014}.mobile-overlay{display:block}.collapse-btn.desktop-only{display:none}}.app-layout{display:flex;min-height:100vh;background:var(--bg-body)}.main-content{flex:1;margin-left:260px;min-height:100vh;overflow-y:auto;padding:32px;transition:margin-left .3s var(--ease-out);background:var(--bg-body)}.sidebar-collapsed .main-content{margin-left:80px}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:6px}.main-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.page-container{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.page-title{font-size:24px;font-weight:700;color:var(--text-heading)}@media(max-width:1024px){.main-content{padding:24px}}@media(max-width:768px){.main-content{margin-left:0;padding:20px 16px}}.page-transition{animation:pageIn .3s ease-out}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard{padding:32px;max-width:860px;margin:0 auto}.dashboard-header{margin-bottom:24px}.dashboard-title{font-size:28px;font-weight:700;color:var(--text-heading, #0f172a);margin-bottom:6px}.dashboard-subtitle{font-size:15px;color:var(--text-secondary, #475569)}.summary-row{display:flex;gap:24px;margin-bottom:24px}.summary-card{display:flex;align-items:center;gap:18px;flex:1;background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #f1f5f9);border-radius:var(--radius-lg, 16px);padding:24px;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04));transition:border-color .2s,box-shadow .2s,transform .2s}.summary-card:hover{border-color:var(--accent, #4f6ef7);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .06));transform:translateY(-2px)}.summary-icon-wrap{width:52px;height:52px;border-radius:var(--radius-md, 12px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-label{font-size:12px;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.6px;font-weight:500;margin-bottom:4px}.summary-value{font-size:30px;font-weight:700;color:var(--text-heading, #0f172a);line-height:1}.summary-unit{font-size:14px;font-weight:400;color:var(--text-secondary, #475569)}.detail-card{background:var(--bg-surface, #ffffff);border:1px solid var(--border-light, #f1f5f9);border-radius:var(--radius-lg, 16px);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04));transition:border-color .2s}.detail-card:hover{border-color:var(--border-default, #e2e8f0)}.detail-card-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.detail-icon-wrap{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-card-title{font-size:16px;font-weight:600;color:var(--text-heading, #0f172a)}.tag-list{display:flex;flex-wrap:wrap;gap:10px}.tag{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500}.tag-yellow{background:#f59e0b14;color:#b45309;border:1px solid rgba(245,158,11,.2)}.tag-red{background:#ef444414;color:#dc2626;border:1px solid rgba(239,68,68,.15)}.empty-text{font-size:13px;color:var(--text-muted, #94a3b8);font-style:italic}.visits-list{display:flex;flex-direction:column;gap:0}.visit-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border-light, #f1f5f9);gap:12px;flex-wrap:wrap}.visit-row:last-child{border-bottom:none;padding-bottom:0}.visit-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.visit-dot{width:9px;height:9px;border-radius:50%;background:var(--accent, #4f6ef7);flex-shrink:0}.visit-hospital{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-meta{font-size:12px;color:var(--text-secondary, #475569)}.visit-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.visit-date{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted, #94a3b8)}.download-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--accent-light, #eef2ff);border:1px solid rgba(79,110,247,.2);color:var(--accent, #4f6ef7);border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.download-btn:hover{background:#4f6ef726;border-color:var(--accent, #4f6ef7)}@media(max-width:768px){.dashboard{padding:80px 16px 24px}.summary-row{flex-direction:row}.visit-row{flex-direction:column;align-items:flex-start}.visit-right{width:100%;justify-content:space-between}}@media(max-width:420px){.summary-row{flex-direction:column;gap:16px}}.hospitals-wrapper{background-color:var(--bg-body);min-height:100vh;padding:2rem;font-family:Inter,system-ui,sans-serif;color:var(--text-primary)}.page-header{max-width:1000px;margin:0 auto 2rem}.header-content{display:flex;align-items:center;gap:1rem}.page-title{font-size:1.5rem;font-weight:700;margin:0;color:var(--text-heading)}.search-bar-container{display:flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:0 16px;margin:0 auto 20px;max-width:1000px;box-shadow:var(--shadow-xs);transition:border-color .2s,box-shadow .2s}.search-bar-container:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #4f6ef71f}.search-icon{color:var(--text-muted);font-size:1.2rem;margin-right:12px;flex-shrink:0}.hospital-search-input{flex:1;border:none;padding:14px 0;font-family:inherit;font-size:.95rem;color:var(--text-primary);background:transparent}.hospital-search-input:focus{outline:none}.hospital-search-input::placeholder{color:var(--text-muted)}.data-table{width:100%;max-width:1000px;margin:0 auto;border-collapse:separate;border-spacing:0;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.data-table th{background:var(--bg-surface-2);padding:14px 1rem;text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-default)}.data-table th svg{vertical-align:-2px;margin-right:4px}.data-table td{padding:1rem;border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background .15s}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background-color:var(--bg-hover)}.badge{display:inline-block;background:var(--accent-light);color:var(--accent);padding:4px 12px;border-radius:99px;font-size:.78rem;font-weight:600;white-space:nowrap}.date-cell{display:flex;flex-direction:column;gap:2px}.date-cell strong{color:var(--text-primary)}.date-cell small{color:var(--text-muted);font-size:.78rem}.icon-back-btn{background:var(--bg-surface);border:1px solid var(--border-default);padding:8px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;color:var(--text-secondary);transition:all .2s}.icon-back-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1000px;margin:0 auto}.detail-card{background:var(--bg-surface);padding:1.5rem;border-radius:var(--radius-md);border:1px solid var(--border-default);box-shadow:var(--shadow-card)}.detail-card h3{display:flex;align-items:center;gap:.5rem;margin-top:0;font-size:1.05rem;font-weight:600;color:var(--text-heading);border-bottom:1px solid var(--border-default);padding-bottom:.75rem}.full-width{grid-column:1 / -1;background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.full-width:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent);border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.card-header-flex{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-default);padding-bottom:1rem;margin-bottom:1.25rem}.card-header-flex h3{border-bottom:none;padding-bottom:0;margin-bottom:0;display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:600;color:var(--text-heading)}.card-header-flex h3 svg{color:var(--accent)}.report-item{display:flex;justify-content:space-between;padding:.75rem;background:var(--bg-surface-2);border-radius:var(--radius-sm);margin-bottom:.5rem}.download-link{color:var(--accent);text-decoration:none;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:4px;transition:color .15s}.download-link:hover{color:var(--accent-hover)}.file-list{display:flex;flex-direction:column;gap:10px;padding:0 20px 20px}.file-item{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all .2s ease}.file-item:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm);background:var(--bg-hover)}.file-info{display:flex;align-items:center;gap:12px}.file-icon{font-size:1.6rem;color:var(--accent);padding:10px;background:var(--accent-light);border-radius:var(--radius-sm);flex-shrink:0}.file-name{margin:0 0 2px;font-weight:600;font-size:.9rem;color:var(--text-heading)}.file-size{font-size:.75rem;color:var(--text-muted)}.file-actions{display:flex;gap:8px;align-items:center;opacity:.6;transition:opacity .2s}.file-item:hover .file-actions{opacity:1}.action-icon{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px;font-size:1rem;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-icon:hover{background:var(--bg-hover);border-color:var(--border-hover)}.action-icon.view{color:var(--accent);border-color:var(--accent-light)}.action-icon.view:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent-hover)}.action-icon.edit{color:var(--warning)}.action-icon.edit:hover{background:#fffbeb;border-color:var(--warning)}.action-icon.delete{color:var(--error)}.action-icon.delete:hover{background:#fef2f2;border-color:var(--error)}.action-buttons-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-small{padding:6px 14px;font-size:.8rem;border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:500;font-family:inherit;transition:all .15s ease;background:var(--accent);color:#fff}.btn-small:hover{background:var(--accent-hover)}.btn-small.outline{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary)}.btn-small.outline:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-small.outline-primary{background:var(--bg-surface);border:1px solid var(--accent);color:var(--accent)}.btn-small.outline-primary:hover{background:var(--accent);color:#fff}.btn-small.outline-danger{background:var(--bg-surface);border:1px solid var(--error);color:var(--error)}.btn-small.outline-danger:hover{background:var(--error);color:#fff}.btn-primary{background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:8px}.modal-overlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-surface);border-radius:var(--radius-lg);padding:24px;width:450px;max-width:90%;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:20px}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-default);padding-bottom:12px}.modal-header h2{font-size:1.25rem;margin:0;color:var(--text-heading)}.modal-header button{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-muted);transition:color .15s}.modal-header button:hover{color:var(--text-primary)}.modal-body{display:flex;flex-direction:column;gap:12px}.form-group-row{display:flex;gap:12px}.form-group-row input{flex:1}.modal-body input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-surface-2);font-family:inherit;font-size:.9rem;color:var(--text-primary);box-sizing:border-box;transition:border-color .15s}.modal-body input:focus{outline:none;border-color:var(--accent)}.modal-footer{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border-default)}.empty-state{color:var(--text-muted);font-size:.9rem}.text-center{text-align:center}.font-bold{font-weight:600;color:var(--text-heading)}.content-area{max-width:1000px;margin:0 auto}@media(max-width:768px){.hospitals-wrapper{padding:1rem}.details-grid{grid-template-columns:1fr}.data-table th,.data-table td{padding:10px 8px;font-size:.82rem}}.reports-container{padding:2rem 2.5rem;background-color:var(--bg-body);min-height:100vh;font-family:Inter,system-ui,sans-serif;color:var(--text-primary)}.reports-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.reports-header h1{font-size:1.5rem;font-weight:700;color:var(--text-heading);margin:0}.btn-primary{background:var(--accent);color:#fff;padding:10px 20px;border-radius:var(--radius-sm);border:none;display:flex;align-items:center;gap:8px;font-weight:600;font-family:inherit;font-size:.9rem;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.refresh-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.refresh-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.refresh-icon{display:flex;align-items:center}.reports-controls{margin-bottom:20px}.search-box{background:var(--bg-surface);border:1px solid var(--border-default);padding:10px 16px;border-radius:var(--radius-md);display:flex;align-items:center;width:400px;max-width:100%;box-shadow:var(--shadow-xs);transition:border-color .2s,box-shadow .2s;color:var(--text-muted)}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #4f6ef71f}.search-box input{border:none;background:transparent;margin-left:10px;width:100%;outline:none;color:var(--text-primary);font-family:inherit;font-size:.9rem}.search-box input::placeholder{color:var(--text-muted)}.reports-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.reports-table th{text-align:left;padding:14px 16px;background:var(--bg-surface-2);color:var(--text-secondary);font-size:.75rem;font-weight:600;border-bottom:1px solid var(--border-default);text-transform:uppercase;letter-spacing:.05em}.reports-table td{padding:14px 16px;border-bottom:1px solid var(--border-light);font-size:.875rem;color:var(--text-primary);transition:background .15s}.reports-table tr:last-child td{border-bottom:none}.reports-table tbody tr:hover td{background-color:var(--bg-hover)}.id-cell{font-weight:600;color:var(--accent);font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.report-name{font-weight:600;color:var(--text-heading)}.reports-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;border-radius:4px}.selected-row td{background-color:var(--accent-light)!important}.action-cell{display:flex;gap:8px;justify-content:flex-end}.action-btn{padding:8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;font-size:1rem}.action-btn:hover{background:var(--bg-surface-3);color:var(--accent);border-color:var(--border-default)}.action-btn.view:hover{color:var(--accent);background:var(--accent-light)}.action-btn.download:hover{color:var(--success);background:var(--success-light)}.action-btn.remove:hover{color:var(--error);background:#fef2f2;border-color:#fecaca}.bulk-bar{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--text-heading);padding:14px 28px;border-radius:var(--radius-md);color:#fff;box-shadow:0 12px 32px #0f172a40;z-index:100}.bulk-content{display:flex;align-items:center;gap:18px}.count-info{font-weight:600;font-size:.9rem;white-space:nowrap}.divider{width:1px;height:20px;background:#fff3}.bulk-content button{background:transparent;border:none;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.875rem;font-family:inherit;transition:color .15s}.bulk-content button:hover{color:#fff}.close-icon{cursor:pointer;opacity:.6;transition:opacity .15s}.close-icon:hover{opacity:1}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.modern-loader{width:36px;height:36px;border:3px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.loader-text{color:var(--text-muted);font-size:.9rem}@media(max-width:768px){.reports-container{padding:1rem}.search-box{width:100%}.reports-table th,.reports-table td{padding:10px 8px;font-size:.8rem}}.allergies-container{padding:var(--space-8);max-width:1400px;margin:0 auto;animation:fadeInUp var(--duration-slow) var(--ease-out)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.page-title{font-size:26px;font-weight:800;color:var(--text-heading);margin-bottom:2px;letter-spacing:-.02em}.page-subtitle{font-size:14px;color:var(--text-secondary);font-weight:400}.refresh-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 20px;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-xs)}.refresh-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary);transform:translateY(-1px)}.refresh-btn.loading .refresh-icon{animation:spin .8s linear infinite}.refresh-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.refresh-icon{display:flex;align-items:center;font-size:15px}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);gap:var(--space-4)}.loader-text{font-size:14px;color:var(--text-muted);font-weight:500}.allergy-summary{display:flex;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap}.summary-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);flex:1;min-width:170px;box-shadow:var(--shadow-card);transition:all var(--duration-normal) var(--ease-out)}.summary-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.summary-icon{width:46px;height:46px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.summary-icon.high{background:var(--error-light);color:var(--error)}.summary-icon.medium{background:var(--warning-light);color:var(--warning)}.summary-icon.low{background:var(--success-light);color:var(--success)}.summary-value{font-size:24px;font-weight:800;color:var(--text-heading);line-height:1;margin-bottom:2px}.summary-label{font-size:12px;color:var(--text-muted);font-weight:500}.allergies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.allergy-card{background:var(--bg-surface);border:1px solid var(--border-light);border-left:4px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);transition:all var(--duration-normal) var(--ease-out)}.allergy-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--border-hover)}.allergy-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.allergy-title-section{display:flex;align-items:center;gap:var(--space-3)}.severity-indicator{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.allergy-name{font-size:15px;font-weight:700;color:var(--text-heading);margin-bottom:2px}.allergy-category{font-size:12px;font-weight:600;display:inline-block;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-surface-3)}.allergy-actions{display:flex;gap:6px}.icon-btn{width:32px;height:32px;padding:0;background:var(--bg-surface-2);border:1px solid var(--border-light);color:var(--text-muted);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:all var(--duration-fast) ease;flex-shrink:0}.icon-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.icon-btn.delete:hover{background:var(--error-light);color:var(--error);border-color:var(--error)}.allergy-content{display:flex;flex-direction:column;gap:var(--space-3)}.severity-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;text-transform:capitalize;width:fit-content;letter-spacing:.01em}.section-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-weight:600}.symptoms-list{display:flex;flex-wrap:wrap;gap:6px}.symptom-tag{padding:4px 10px;background:var(--bg-surface-3);border:1px solid var(--border-light);border-radius:var(--radius-full);font-size:12px;color:var(--text-secondary);font-weight:500;transition:background var(--duration-fast) ease}.symptom-tag:hover{background:var(--bg-hover)}.notes-text{font-size:13px;color:var(--text-secondary);line-height:1.6;padding:10px 14px;background:var(--bg-surface-2);border-radius:var(--radius-sm);border-left:3px solid var(--accent)}.allergy-footer{border-top:1px solid var(--border-light);padding-top:10px;margin-top:4px}.date-added{font-size:11px;color:var(--text-muted);font-weight:500}.emergency-card{background:var(--bg-surface);border:1px solid var(--error);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.emergency-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.emergency-header h2{font-size:16px;font-weight:700;color:var(--error)}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease;box-shadow:var(--shadow-xs)}.emergency-content{display:flex;flex-direction:column;gap:10px}.emergency-item{display:flex;align-items:baseline;gap:10px;padding:10px 14px;background:var(--bg-surface-2);border-radius:var(--radius-sm)}.emergency-label{font-size:12px;color:var(--text-muted);white-space:nowrap;min-width:160px;font-weight:500}.emergency-value{font-size:14px;font-weight:600;color:var(--text-primary)}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal{background:var(--bg-surface);border-radius:var(--radius-xl);padding:var(--space-8);width:440px;max-width:92%;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:var(--space-5);position:relative;animation:fadeInScale var(--duration-normal) var(--ease-spring)}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:20px;font-weight:700;color:var(--text-heading);letter-spacing:-.01em}.modal-header button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface-3);border:none;border-radius:var(--radius-sm);font-size:18px;cursor:pointer;color:var(--text-secondary);transition:all var(--duration-fast) ease}.modal-header button:hover{background:var(--bg-hover);color:var(--text-heading)}.modal-body{display:flex;flex-direction:column;gap:var(--space-3)}.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:10px 14px;border-radius:var(--radius-md);border:1.5px solid var(--border-default);background:var(--bg-surface-3);font-size:14px;color:var(--text-primary);transition:all var(--duration-fast) ease;outline:none;font-family:var(--font-sans)}.modal-body input::placeholder,.modal-body textarea::placeholder{color:var(--text-muted)}.modal-body input:hover,.modal-body select:hover,.modal-body textarea:hover{border-color:var(--border-hover)}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:var(--accent);background:var(--bg-surface);box-shadow:var(--shadow-glow)}.modal-body textarea{resize:vertical;min-height:80px}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2)}.modal-footer .btn-primary{padding:10px 24px;font-size:14px;border-radius:var(--radius-md)}@media(max-width:768px){.allergies-container{padding:80px 16px 24px}.page-header{flex-direction:column;align-items:flex-start}.allergies-grid{grid-template-columns:1fr}.allergy-summary{flex-direction:column}.emergency-item{flex-direction:column;gap:4px}.emergency-label{min-width:unset}}@media(max-width:500px){.modal{padding:var(--space-5)}.modal-body input,.modal-body select,.modal-body textarea{padding:8px 12px;font-size:13px}.modal-footer .btn-primary{padding:8px 18px;font-size:13px}}.prescriptions-page{padding:0}.pres-page-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;color:var(--text-heading)}.pres-page-header h1{font-size:22px;font-weight:700;margin:0}.pres-search-wrap{position:relative;margin-bottom:18px}.pres-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:16px;pointer-events:none}.pres-search-input{width:100%;padding:11px 40px 11px 42px;background:var(--bg-surface);border:1.5px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;transition:all .2s ease;box-sizing:border-box}.pres-search-input::placeholder{color:var(--text-muted)}.pres-search-input:focus{border-color:var(--accent);box-shadow:var(--shadow-glow)}.pres-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;border:none;background:var(--bg-surface-3);color:var(--text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:all .2s}.pres-search-clear:hover{background:var(--border-default);color:var(--text-primary)}.pres-tabs{display:flex;gap:4px;background:var(--bg-surface-3);padding:4px;border-radius:var(--radius-md);margin-bottom:20px}.pres-tab{flex:1;padding:10px 16px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s var(--ease-out);font-family:var(--font-sans)}.pres-tab.active{background:var(--bg-surface);color:var(--accent);box-shadow:var(--shadow-sm)}.pres-tab:hover:not(.active){color:var(--text-secondary)}.report-dl-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent-light);border:1px solid rgba(79,110,247,.15);color:var(--accent);border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-sans);transition:all .2s;flex-shrink:0}.report-dl-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.pres-empty{text-align:center;padding:60px 20px;color:var(--text-muted);background:var(--bg-surface);border-radius:var(--radius-lg);border:1px dashed var(--border-default)}.pres-list{display:flex;flex-direction:column;gap:12px}.pres-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s var(--ease-out);box-shadow:var(--shadow-xs)}.pres-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.pres-card.open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.pres-card-header{display:flex;align-items:center;padding:16px 20px;cursor:pointer;gap:16px}.pres-card-left{display:flex;align-items:center;gap:14px;flex:1}.pres-card-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.pres-card-left h3{margin:0;font-size:15px;font-weight:600;color:var(--text-heading)}.pres-sub{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.pres-card-right{text-align:right;flex-shrink:0}.pres-date{display:block;font-size:13px;font-weight:600;color:var(--text-primary)}.pres-hospital{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.pres-chevron{font-size:12px;color:var(--text-muted);flex-shrink:0}.pres-card-body{padding:0 20px 20px;border-top:1px solid var(--border-light)}.pres-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:16px}.pres-detail-grid label{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}.pres-detail-grid p{margin:0;font-size:14px;color:var(--text-primary)}.pres-status{display:inline-block;padding:3px 10px;border-radius:var(--radius-full, 9999px);font-size:12px;font-weight:600;text-transform:capitalize}.pres-status.completed{background:var(--success-light);color:var(--success)}.pres-status.pending{background:var(--warning-light);color:var(--warning)}.pres-med-section{margin-top:16px}.pres-med-section>label{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.pres-med-table{width:100%;border-collapse:collapse;background:var(--bg-surface-2);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.pres-med-table th{text-align:left;padding:10px 12px;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;background:var(--bg-surface-3);border-bottom:1px solid var(--border-default)}.pres-med-table td{padding:10px 12px;font-size:13px;color:var(--text-primary);border-top:1px solid var(--border-light)}.pres-med-table td:nth-child(2){font-weight:600;color:var(--text-heading)}.pres-notes-box{margin-top:16px;background:var(--accent-light);border:1px solid rgba(79,110,247,.12);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:12px 14px}.pres-notes-box>label{display:block;font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:700}.pres-notes-box>p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.aadhaar-verify{background:var(--bg-surface-2, #f8fafc);border:1px solid var(--border-default, #e2e8f0);border-radius:14px;padding:20px;margin-top:16px}.av-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-heading, #0f172a);margin-bottom:8px}.av-badge{margin-left:auto;font-size:10px;font-weight:500;padding:3px 8px;border-radius:20px;background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.av-desc{font-size:12px;color:#64748b;margin:0 0 16px;line-height:1.5}.av-desc strong{color:#22c55e}.av-upload-area{border:2px dashed var(--border-default, #e2e8f0);border-radius:12px;padding:32px 20px;text-align:center;cursor:pointer;transition:all .25s;color:#475569}.av-upload-area:hover{border-color:#3b82f666;background:#3b82f60a;color:#60a5fa}.av-upload-area p{margin:10px 0 4px;font-size:13px;font-weight:500}.av-upload-area span{font-size:11px;opacity:.7}.av-preview-area{display:flex;flex-direction:column;gap:12px}.av-preview-img-wrap{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--border-default, #e2e8f0);max-height:200px}.av-preview-img{width:100%;max-height:200px;object-fit:contain;display:block;background:var(--bg-surface-3, #f1f5f9)}.av-remove-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#ef4444e6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s}.av-remove-btn:hover{transform:scale(1.1)}.av-action-buttons{display:flex;gap:10px}.av-scan-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.av-scan-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.av-retry-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.av-retry-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b59}.av-retry-btn:active{transform:translateY(0)}.av-newimg-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--bg-surface-3, #f1f5f9);color:var(--text-muted, #94a3b8);border:1px solid var(--border-default, #e2e8f0);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.av-newimg-btn:hover{background:var(--bg-hover, #eef2f7);color:var(--text-primary, #1e293b);border-color:var(--border-hover, #cbd5e1);transform:translateY(-1px)}.av-newimg-btn:active{transform:translateY(0)}.av-progress{padding:4px 0}.av-progress-bar{height:6px;background:var(--bg-surface-3, #f1f5f9);border-radius:3px;overflow:hidden}.av-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;transition:width .3s}.av-progress-text{display:flex;align-items:center;gap:6px;font-size:12px;color:#60a5fa;margin:8px 0 0}.av-spin{animation:av-spin 1s linear infinite}@keyframes av-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.av-error{display:flex;align-items:center;gap:6px;padding:10px 14px;margin-top:12px;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#f87171;font-size:12px}.av-results{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid var(--border-default, #e2e8f0)}.av-results--verified{border-color:#22c55e4d}.av-results--partial{border-color:#f59e0b4d}.av-results--mismatch{border-color:#ef44444d}.av-results-header{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:600}.av-results--verified .av-results-header{background:#22c55e1a;color:#22c55e}.av-results--partial .av-results-header{background:#f59e0b1a;color:#f59e0b}.av-results--mismatch .av-results-header{background:#ef44441a;color:#ef4444}.av-comparison-grid{padding:12px;display:flex;flex-direction:column;gap:8px}.av-comp-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;background:var(--bg-surface, #ffffff)}.av-comp-row--match{border-left:3px solid #22c55e}.av-comp-row--mismatch{border-left:3px solid #ef4444}.av-comp-row--notfound{border-left:3px solid #64748b}.av-comp-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.av-comp-row--match .av-comp-icon{background:#22c55e26;color:#22c55e}.av-comp-row--mismatch .av-comp-icon{background:#ef444426;color:#ef4444}.av-comp-row--notfound .av-comp-icon{background:#64748b26;color:#64748b}.av-comp-content{flex:1;min-width:0}.av-comp-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px}.av-comp-values{display:flex;flex-direction:column;gap:2px}.av-comp-val{font-size:12px;color:#94a3b8}.av-comp-val strong{color:#64748b;font-weight:500;margin-right:4px}.av-comp-extra{display:inline-block;margin-top:4px;font-size:10px;padding:2px 8px;border-radius:10px}.av-comp-extra--ok{background:#22c55e1f;color:#22c55e}.av-comp-extra--warn{background:#ef44441f;color:#f87171}.av-tips{padding:10px 16px 14px;border-top:1px solid var(--border-light, #f1f5f9)}.av-tips-title{font-size:11px;font-weight:600;color:#64748b;margin:0 0 6px}.av-tips-list{margin:0;padding:0 0 0 16px;list-style-type:disc}.av-tips-list li{font-size:11px;color:#475569;line-height:1.7}@media(max-width:500px){.aadhaar-verify{padding:14px}.av-upload-area{padding:24px 14px}.av-action-buttons{flex-direction:column}}.profile-container{padding:var(--space-8);max-width:1000px;margin:0 auto;animation:fadeInUp var(--duration-slow) var(--ease-out)}.profile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.page-title{font-size:26px;font-weight:800;color:var(--text-heading);letter-spacing:-.02em}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 22px;background:var(--accent);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--duration-normal) var(--ease-out);box-shadow:0 2px 8px #4f6ef740}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #4f6ef759}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary.save{background:var(--success);box-shadow:0 2px 8px #10b98140}.btn-primary.save:hover{background:#059669;box-shadow:0 4px 16px #10b98159}.profile-main-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6);box-shadow:var(--shadow-card)}.profile-avatar-section{display:flex;align-items:center;gap:var(--space-6)}.avatar-container{position:relative;flex-shrink:0}.avatar-container img{width:96px;height:96px;border-radius:var(--radius-xl);border:3px solid var(--accent-light);object-fit:cover;box-shadow:var(--shadow-sm)}.avatar-container .avatar-initial{width:96px;height:96px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 100%);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:800;box-shadow:0 4px 16px #4f6ef74d;border:3px solid var(--accent-light)}.avatar-upload{position:absolute;bottom:-6px;right:-6px;width:32px;height:32px;background:var(--accent);border:2px solid var(--bg-surface);color:var(--text-inverse);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:all var(--duration-fast) ease;box-shadow:var(--shadow-sm)}.avatar-upload:hover{background:var(--accent-hover);transform:scale(1.05)}.profile-basic-info h2{font-size:22px;font-weight:700;color:var(--text-heading);margin-bottom:4px;letter-spacing:-.01em}.profile-basic-info p{font-size:14px;color:var(--text-secondary);margin-bottom:2px}.member-since{font-size:12px;color:var(--text-muted)!important;font-weight:500}.profile-tabs{display:flex;gap:4px;margin-bottom:var(--space-6);background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:5px;flex-wrap:wrap;box-shadow:var(--shadow-xs)}.profile-tab{display:flex;align-items:center;gap:var(--space-2);padding:9px 20px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) ease;flex:1;justify-content:center;white-space:nowrap}.profile-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.profile-tab.active{background:var(--accent);color:var(--text-inverse);box-shadow:0 2px 8px #4f6ef740}.tab-content{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.form-section{display:flex;flex-direction:column;gap:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-5)}.form-section h3{font-size:15px;font-weight:700;color:var(--text-heading);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light);margin-bottom:var(--space-1)}.section-title{font-size:15px;font-weight:700;color:var(--text-heading);padding-bottom:10px;border-bottom:1px solid var(--border-light)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select{padding:10px 14px;background:var(--bg-surface-3);border:1.5px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;outline:none;transition:all var(--duration-fast) ease;width:100%;font-family:var(--font-sans)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:hover:not(:disabled),.form-group select:hover:not(:disabled){border-color:var(--border-hover)}.form-group input:focus,.form-group select:focus{border-color:var(--accent);background:var(--bg-surface);box-shadow:var(--shadow-glow)}.form-group input:disabled,.form-group select:disabled{background:var(--bg-surface-2);color:var(--text-muted);opacity:.75;cursor:not-allowed;border-color:var(--border-light)}.form-group select option{background:var(--bg-surface);color:var(--text-primary)}.input-icon{position:relative;display:flex;align-items:center}.input-icon svg{position:absolute;left:12px;color:var(--text-muted);font-size:16px;pointer-events:none}.input-icon input{padding-left:38px!important}.medical-history{display:flex;flex-direction:column;gap:var(--space-5)}.medical-card{background:var(--bg-surface-2);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-5)}.medical-card h3{font-size:15px;font-weight:700;color:var(--text-heading);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.medical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.medical-item{display:flex;flex-direction:column;gap:4px}.medical-item label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:block;font-weight:600}.medical-item input{padding:10px 14px;background:var(--bg-surface-3);border:1.5px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;outline:none;transition:all var(--duration-fast) ease;width:100%;font-family:var(--font-sans)}.medical-item input:hover:not(:disabled){border-color:var(--border-hover)}.medical-item input:focus{border-color:var(--accent);background:var(--bg-surface);box-shadow:var(--shadow-glow)}.medical-item input:disabled{background:var(--bg-surface-2);color:var(--text-muted);opacity:.75;cursor:not-allowed;border-color:var(--border-light)}.medical-item p{font-size:14px;font-weight:600;color:var(--text-primary)}.medication-list,.conditions-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.medication-list li,.conditions-list li{font-size:14px;color:var(--text-secondary);padding:10px 14px;background:var(--bg-surface);border-radius:var(--radius-sm);border-left:3px solid var(--accent);transition:background var(--duration-fast) ease}.medication-list li:hover,.conditions-list li:hover{background:var(--bg-hover)}.security-settings{display:flex;flex-direction:column;gap:var(--space-4)}.security-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);background:var(--bg-surface-2);border:1px solid var(--border-light);border-radius:var(--radius-md);gap:var(--space-4);flex-wrap:wrap}.security-card h3{font-size:14px;font-weight:700;color:var(--text-heading);margin-bottom:3px}.security-card p{font-size:13px;color:var(--text-secondary)}.security-desc{font-size:12px;color:var(--text-secondary)}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--duration-fast) ease;white-space:nowrap;box-shadow:var(--shadow-xs)}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.toggle-switch{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-surface-3);border:1px solid var(--border-default);border-radius:var(--radius-full);transition:all .3s ease}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:50%;transform:translateY(-50%);background:var(--text-muted);border-radius:50%;transition:all .3s ease}.toggle-switch input:checked+.toggle-slider{background:var(--accent-light);border-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{background:var(--accent);transform:translate(20px,-50%)}.notification-settings{display:flex;flex-direction:column;gap:var(--space-5)}.notification-group h3{font-size:13px;font-weight:700;color:var(--text-muted);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.06em}.notification-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--bg-surface-2);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:var(--space-2);gap:var(--space-4);transition:background var(--duration-fast) ease}.notification-item:hover{background:var(--bg-hover)}.notification-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.notification-desc{font-size:12px;color:var(--text-muted)}.password-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.password-modal{background:var(--bg-surface);padding:var(--space-8);width:420px;max-width:92%;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:var(--space-3);animation:fadeInScale var(--duration-normal) var(--ease-spring)}.password-modal input{padding:10px 14px;border-radius:var(--radius-md);border:1.5px solid var(--border-default);background:var(--bg-surface-3);color:var(--text-primary);font-size:14px;outline:none;transition:all var(--duration-fast) ease;font-family:var(--font-sans)}.password-modal input:focus{border-color:var(--accent);background:var(--bg-surface);box-shadow:var(--shadow-glow)}.password-dialog-overlay{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.password-dialog{background:var(--bg-surface);padding:var(--space-8);border-radius:var(--radius-xl);width:400px;max-width:92%;display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-xl);animation:fadeInScale var(--duration-normal) var(--ease-spring)}.password-dialog h2{font-size:20px;font-weight:700;color:var(--text-heading);margin-bottom:var(--space-2);letter-spacing:-.01em}.password-dialog label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--space-1)}.password-dialog input{padding:10px 14px;border:1.5px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface-3);color:var(--text-primary);font-size:14px;outline:none;transition:all var(--duration-fast) ease;font-family:var(--font-sans)}.password-dialog input::placeholder{color:var(--text-muted)}.password-dialog input:hover{border-color:var(--border-hover)}.password-dialog input:focus{border-color:var(--accent);background:var(--bg-surface);box-shadow:var(--shadow-glow)}@media(max-width:768px){.profile-container{padding:80px 16px 24px}.profile-avatar-section{flex-direction:column;text-align:center}.form-grid,.form-row,.medical-grid{grid-template-columns:1fr}.profile-tabs{flex-direction:column}.security-card{flex-direction:column;align-items:flex-start}.tab-content,.profile-main-card{padding:var(--space-5)}}:root{--bg-root: var(--bg-body, #f4f7fb);--bg-card: var(--bg-surface, #ffffff);--bg-input: var(--bg-surface-3, #f1f5f9);--bg-input-focus: var(--accent-light, #eef2ff);--border-card: var(--border-default, #e2e8f0);--border-input: var(--border-default, #e2e8f0);--border-focus: var(--accent, #4f6ef7);--blue-primary: var(--accent, #4f6ef7);--blue-dark: var(--accent-hover, #3b5bdb);--blue-accent: var(--accent, #4f6ef7);--blue-glow: var(--accent-glow, rgba(79, 110, 247, .25));--blue-soft: rgba(79, 110, 247, .06);--blue-soft-border: rgba(79, 110, 247, .15);--text-primary: var(--text-heading, #0f172a);--text-secondary: #475569;--text-muted: #94a3b8;--text-label: var(--accent, #4f6ef7);--error: #ef4444;--error-bg: rgba(239, 68, 68, .08);--error-border: rgba(239, 68, 68, .25);--success-grad: linear-gradient(135deg, #10b981, #22c55e);--success-glow: rgba(16, 185, 129, .25);--radius-card: 20px;--radius-input: 12px;--radius-btn: 12px;--shadow-card: 0 8px 30px rgba(0, 0, 0, .08);--shadow-btn: 0 4px 14px rgba(79, 110, 247, .25);--shadow-btn-hover: 0 8px 24px rgba(79, 110, 247, .35)}.auth-page{min-height:100vh;background:var(--bg-root);display:flex;align-items:center;justify-content:center;font-family:Outfit,Segoe UI,sans-serif;padding:24px 16px;position:relative;overflow:hidden}.auth-glow{position:fixed;border-radius:50%;pointer-events:none;z-index:0}.auth-glow--tr{top:-130px;right:-130px;width:420px;height:420px;background:radial-gradient(circle,rgba(37,99,235,.14),transparent 70%)}.auth-glow--bl{bottom:-110px;left:-110px;width:380px;height:380px;background:radial-gradient(circle,rgba(74,124,254,.09),transparent 70%)}.auth-glow--mid{top:38%;left:18%;width:220px;height:220px;background:radial-gradient(circle,rgba(29,78,216,.07),transparent 70%)}.auth-container{position:relative;z-index:1;width:100%;max-width:500px}.auth-brand{text-align:center;margin-bottom:26px}.auth-logo-placeholder{width:68px;height:68px;border-radius:18px;background:#f1f5ff;border:2px dashed #c7d7ff;color:#2563eb;display:flex;align-items:center;justify-content:center;margin:0 auto 13px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-logo-img{width:68px;height:68px;border-radius:18px;object-fit:contain;display:block;margin:0 auto 13px}.auth-brand-name{font-size:30px;font-weight:900;letter-spacing:.07em;background:linear-gradient(135deg,#1d4ed8,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-brand-sub{color:var(--text-secondary);font-size:11px;margin-top:5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.auth-card{background:var(--bg-card);border-radius:var(--radius-card);padding:34px 30px;border:1px solid var(--border-card);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:65%;height:1px;background:linear-gradient(90deg,transparent,rgba(74,124,254,.35),transparent);pointer-events:none}.auth-heading{color:var(--text-primary);font-size:21px;font-weight:800;margin-bottom:5px;letter-spacing:-.3px}.auth-subheading{color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:22px}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-fields{display:flex;flex-direction:column;gap:12px}.auth-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-field{display:flex;flex-direction:column;gap:4px}.auth-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--text-label);text-transform:uppercase;display:block}.auth-input{width:100%;background:var(--bg-input);border:1.5px solid var(--border-input);border-radius:var(--radius-input);color:var(--text-primary);padding:10px 13px;font-size:13.5px;font-family:Outfit,Segoe UI,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;display:block}.auth-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b6fd424;background:var(--bg-input-focus)}.auth-input::placeholder{color:#94a3b8}.auth-input--error{border-color:var(--error)!important}.auth-input--error:focus{box-shadow:0 0 0 3px #f871711a}.auth-input-date{color-scheme:dark}select.auth-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 12 12'%3E%3Cpath fill='%233d5280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}select.auth-input option{background:#fff;color:#1e293b}.auth-input-wrap{position:relative}.auth-input-wrap .auth-input{padding-right:42px}.auth-eye-btn{position:absolute;right:11px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:15px;color:var(--text-secondary);padding:0;line-height:1;display:flex;align-items:center}.auth-field-error{font-size:10.5px;color:var(--error);margin-top:2px}.auth-upload-box{width:100%;background:var(--bg-input);border:1.5px dashed var(--border-input);border-radius:var(--radius-input);padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:border-color .2s,background .2s;text-align:center}.auth-upload-box:hover{border-color:var(--border-focus);background:var(--bg-input-focus)}.auth-upload-box--error{border-color:var(--error)}.auth-upload-icon{font-size:22px}.auth-upload-text{font-size:12px;color:var(--text-secondary);font-weight:500}.auth-upload-text span{color:var(--blue-accent);font-weight:700}.auth-upload-hint{font-size:10.5px;color:var(--text-muted)}.auth-upload-input{display:none}.auth-upload-preview{position:relative;width:100%;border-radius:var(--radius-input);overflow:hidden;border:1.5px solid var(--border-focus);background:var(--bg-input)}.auth-upload-preview img{width:100%;height:110px;object-fit:cover;display:block}.auth-upload-remove{position:absolute;top:6px;right:6px;background:#000000b3;border:none;border-radius:50%;width:22px;height:22px;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.auth-upload-name{padding:6px 10px;font-size:11px;color:var(--text-secondary);font-family:Outfit,Segoe UI,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-alert{background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;padding:9px 12px}.auth-alert p{color:var(--error);font-size:12px;margin:0}.auth-forgot{text-align:right;margin-top:-4px}.auth-forgot a{color:var(--blue-accent);font-size:12px;font-weight:600;text-decoration:none;transition:all .2s ease;display:inline-block}.auth-forgot a:hover{color:var(--blue-dark);text-decoration:underline;transform:translate(2px)}.auth-btn-primary{width:100%;background:linear-gradient(135deg,var(--blue-primary),var(--blue-dark));color:#fff;border:none;border-radius:var(--radius-btn);padding:12px;font-weight:800;font-size:14.5px;cursor:pointer;letter-spacing:.03em;box-shadow:var(--shadow-btn);font-family:Outfit,Segoe UI,sans-serif;transition:transform .18s,box-shadow .18s;display:block;margin-top:4px}.auth-btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.01);box-shadow:0 6px 24px #3b82f673,0 2px 8px #3b82f64d;filter:brightness(1.12);background:linear-gradient(135deg,#4f8ff7,var(--blue-dark))}.auth-btn-primary:active:not(:disabled){transform:translateY(0) scale(.99);filter:brightness(.95);box-shadow:var(--shadow-btn)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:none}.auth-switch{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-card);text-align:center}.auth-switch p{color:var(--text-secondary);font-size:13px;font-weight:500}.auth-link-btn{color:var(--blue-accent);font-weight:700;font-size:13px;cursor:pointer;background:none;border:none;padding:0;font-family:Outfit,Segoe UI,sans-serif;text-decoration:underline;text-underline-offset:3px;transition:all .2s ease}.auth-link-btn:hover{color:var(--blue-dark);transform:scale(1.02)}.auth-otp{text-align:center}.auth-otp-icon{width:60px;height:60px;border-radius:50%;background:#eef4ff;border:1.5px solid #c7d7ff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:26px}.auth-otp-email{color:var(--blue-accent);font-size:14px;font-weight:700;margin-bottom:18px}.auth-otp-demo{background:var(--blue-soft);border:1px solid var(--blue-soft-border);border-radius:9px;padding:7px 13px;margin-bottom:20px;font-size:12px;color:var(--text-secondary)}.auth-otp-demo strong{color:var(--blue-accent);letter-spacing:2px}.auth-otp-boxes{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.auth-otp-box{width:44px;height:52px;text-align:center;font-size:20px;font-weight:800;background:var(--bg-input);border:2px solid var(--border-input);border-radius:11px;color:var(--text-primary);outline:none;font-family:Outfit,Segoe UI,sans-serif;transition:border-color .2s}.auth-otp-box:focus{border-color:var(--blue-accent);box-shadow:0 0 0 3px #4a7cfe21}.auth-otp-box--filled{border-color:var(--blue-accent);background:#4a7cfe17}.auth-otp-box--error{border-color:var(--error)}.auth-otp-resend{color:var(--text-secondary);font-size:13px;margin-bottom:8px}.auth-otp-resend span{color:var(--blue-accent);font-weight:700}.auth-otp-back{color:var(--text-secondary);font-size:12px;cursor:pointer;background:none;border:none;font-family:Outfit,Segoe UI,sans-serif}.auth-otp-back:hover{color:var(--blue-accent)}.auth-success{text-align:center;padding:8px 0}.auth-success-icon{width:68px;height:68px;border-radius:50%;background:var(--success-grad);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:28px;box-shadow:0 8px 28px var(--success-glow)}.auth-success h2{color:var(--text-primary);font-size:22px;font-weight:800;margin-bottom:8px}.auth-success p{color:var(--text-secondary);font-size:13.5px;font-weight:500;margin-bottom:26px}.auth-footer{text-align:center;color:var(--text-muted);font-size:11px;margin-top:16px;font-weight:600;letter-spacing:.05em}@media(max-width:520px){.auth-card{padding:26px 18px}.auth-grid-2{grid-template-columns:1fr}.auth-brand-name{font-size:26px}.auth-otp-box{width:37px;height:45px;font-size:17px}}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--bg-body: #f4f7fb;--bg-surface: #ffffff;--bg-surface-2: #f8fafc;--bg-surface-3: #f1f5f9;--bg-hover: #eef2f7;--bg-active: #e8edff;--bg-input: #f1f5f9;--bg-overlay: rgba(15, 23, 42, .5);--text-heading: #0f172a;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--text-disabled: #cbd5e1;--text-inverse: #ffffff;--accent: #4f6ef7;--accent-hover: #3b5bdb;--accent-light: #eef2ff;--accent-glow: rgba(79, 110, 247, .25);--patient-color: #4f6ef7;--doctor-color: #10b981;--hospital-color: #06b6d4;--admin-color: #7c3aed;--patient-light: #eef2ff;--doctor-light: #ecfdf5;--hospital-light: #ecfeff;--admin-light: #f5f3ff;--success: #10b981;--success-light: #ecfdf5;--warning: #f59e0b;--warning-light: #fffbeb;--error: #ef4444;--error-light: #fef2f2;--info: #3b82f6;--info-light: #eff6ff;--border-light: #f1f5f9;--border-default: #e2e8f0;--border-hover: #cbd5e1;--border-focus: var(--accent);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .14);--shadow-glow: 0 0 0 3px var(--accent-glow);--shadow-card: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.03);--shadow-card-hover: 0 4px 20px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.04);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.55, 0, 1, .45);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--z-dropdown: 100;--z-sticky: 200;--z-modal: 500;--z-toast: 700;--z-tooltip: 900}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-body);color:var(--text-primary);line-height:1.6;overflow-x:hidden;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) ease}a:hover{color:var(--accent-hover)}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-sans);font-size:14px}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out)}.animate-fade-in-down{animation:fadeInDown var(--duration-slow) var(--ease-out)}.animate-scale-in{animation:fadeInScale var(--duration-normal) var(--ease-spring)}.animate-slide-left{animation:slideInLeft var(--duration-slow) var(--ease-out)}.animate-slide-right{animation:slideInRight var(--duration-slow) var(--ease-out)}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-breathe{animation:breathe 4s ease-in-out infinite}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:60ms}.stagger-children>*:nth-child(3){animation-delay:.12s}.stagger-children>*:nth-child(4){animation-delay:.18s}.stagger-children>*:nth-child(5){animation-delay:.24s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.36s}.stagger-children>*:nth-child(8){animation-delay:.42s}.nx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-md);transition:all var(--duration-normal) var(--ease-out);white-space:nowrap;position:relative;overflow:hidden}.nx-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.1),transparent);pointer-events:none}.nx-btn-primary{background:var(--accent);color:var(--text-inverse);box-shadow:0 2px 8px #4f6ef74d}.nx-btn-primary:hover{background:var(--accent-hover);box-shadow:0 4px 16px #4f6ef766;transform:translateY(-1px)}.nx-btn-primary:active{transform:translateY(0);box-shadow:0 1px 4px #4f6ef74d}.nx-btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);box-shadow:var(--shadow-xs)}.nx-btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-1px)}.nx-btn-ghost{background:transparent;color:var(--text-secondary)}.nx-btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.nx-btn-danger{background:var(--error);color:var(--text-inverse);box-shadow:0 2px 8px #ef44444d}.nx-btn-danger:hover{background:#dc2626;box-shadow:0 4px 16px #ef444466;transform:translateY(-1px)}.nx-btn-sm{padding:6px 14px;font-size:13px}.nx-btn-lg{padding:14px 28px;font-size:16px}.nx-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.nx-input{width:100%;padding:10px 14px;background:var(--bg-input);border:1.5px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;transition:all var(--duration-fast) ease;outline:none}.nx-input::placeholder{color:var(--text-muted)}.nx-input:hover{border-color:var(--border-hover)}.nx-input:focus{border-color:var(--accent);background:var(--bg-surface);box-shadow:var(--shadow-glow)}.nx-textarea{resize:vertical;min-height:80px}.nx-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.nx-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2);letter-spacing:.01em}.nx-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);transition:all var(--duration-normal) var(--ease-out)}.nx-card:hover{box-shadow:var(--shadow-card-hover)}.nx-card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--border-hover)}.nx-table-wrap{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.nx-table{width:100%;border-collapse:collapse}.nx-table thead{background:var(--bg-surface-2);border-bottom:1px solid var(--border-default)}.nx-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.nx-table td{padding:14px 16px;font-size:14px;color:var(--text-primary);border-top:1px solid var(--border-light)}.nx-table tbody tr{transition:background var(--duration-fast) ease}.nx-table tbody tr:hover{background:var(--bg-hover)}.nx-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-full);white-space:nowrap}.nx-badge-success{background:var(--success-light);color:var(--success)}.nx-badge-warning{background:var(--warning-light);color:var(--warning)}.nx-badge-error{background:var(--error-light);color:var(--error)}.nx-badge-info{background:var(--info-light);color:var(--info)}.nx-badge-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}.nx-badge-patient{background:var(--patient-light);color:var(--patient-color)}.nx-badge-doctor{background:var(--doctor-light);color:var(--doctor-color)}.nx-badge-hospital{background:var(--hospital-light);color:var(--hospital-color)}.nx-badge-admin{background:var(--admin-light);color:var(--admin-color)}.nx-modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--duration-fast) ease}.nx-modal{background:var(--bg-surface);border-radius:var(--radius-xl);padding:var(--space-8);max-width:520px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:fadeInScale var(--duration-normal) var(--ease-spring)}.nx-modal-title{font-size:20px;font-weight:700;color:var(--text-heading);margin-bottom:var(--space-2)}.nx-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-light);background:var(--bg-surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.nx-pagination-info{font-size:13px;color:var(--text-muted)}.nx-pagination-controls{display:flex;align-items:center;gap:var(--space-2)}.nx-pagination-btn{padding:6px 12px;font-size:13px;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);transition:all var(--duration-fast) ease}.nx-pagination-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.nx-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.nx-pagination-select{padding:4px 8px;border-radius:var(--radius-xs);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:13px}.nx-loader{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.nx-skeleton{background:linear-gradient(90deg,var(--bg-surface-3) 25%,var(--bg-surface-2) 50%,var(--bg-surface-3) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.nx-toast{position:fixed;bottom:24px;right:24px;padding:14px 20px;background:var(--text-heading);color:var(--text-inverse);border-radius:var(--radius-md);font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);z-index:var(--z-toast);animation:fadeInUp var(--duration-normal) var(--ease-spring)}.nx-stat-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);box-shadow:var(--shadow-card);transition:all var(--duration-normal) var(--ease-out)}.nx-stat-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.nx-stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.nx-stat-value{font-size:24px;font-weight:800;color:var(--text-heading);line-height:1.2}.nx-stat-label{font-size:13px;color:var(--text-muted);font-weight:500}.nx-welcome-banner{background:linear-gradient(135deg,#4f6ef7,#7c3aed);border-radius:var(--radius-xl);padding:var(--space-8);color:#fff;position:relative;overflow:hidden;min-height:160px;display:flex;align-items:center;box-shadow:0 4px 24px #4f6ef740}.nx-welcome-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.nx-welcome-banner:after{content:"";position:absolute;bottom:-30%;left:30%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);border-radius:50%}.nx-welcome-text{position:relative;z-index:1}.nx-welcome-text h1{font-size:28px;font-weight:800;margin-bottom:4px}.nx-welcome-text p{font-size:15px;opacity:.85;font-weight:400}.nx-empty{text-align:center;padding:var(--space-16) var(--space-8);color:var(--text-muted)}.nx-empty-icon{width:64px;height:64px;margin:0 auto var(--space-4);background:var(--bg-surface-3);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--text-disabled)}.nx-empty h3{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2)}.nx-empty p{font-size:14px}@media(max-width:768px){:root{--space-6: 16px;--space-8: 20px;--space-10: 28px;--space-12: 36px;--space-16: 48px}}.hover-lift{transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.hover-scale{transition:transform .15s var(--ease-out)}.hover-scale:hover{transform:scale(1.02)}.hover-scale:active{transform:scale(.98)}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}.hide-mobile{display:block}.show-mobile{display:none}@media(max-width:768px){.hide-mobile{display:none!important}.show-mobile{display:block!important}.nx-card{padding:var(--space-4)}.nx-stat-card{padding:var(--space-3);gap:var(--space-3)}.nx-stat-icon{width:40px;height:40px;font-size:18px}.nx-stat-value{font-size:20px}.nx-welcome-banner{padding:var(--space-6);min-height:120px}.nx-welcome-banner h1{font-size:22px}.nx-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:480px){.nx-modal{padding:var(--space-5);width:95%}.nx-btn-lg{padding:12px 20px;font-size:14px}}*{scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}@media print{.no-print{display:none!important}body{background:#fff!important}}::selection{background:var(--accent-light);color:var(--accent)}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;width:100%}.modern-loader{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.loader-text{margin-top:16px;color:var(--text-secondary);font-weight:500;font-size:14px}.refresh-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease}.refresh-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.refresh-btn.loading{opacity:.7;cursor:not-allowed}.refresh-btn.loading .refresh-icon{animation:spin 1s linear infinite}.refresh-icon{font-size:18px;display:flex;align-items:center;justify-content:center}.skeleton{background:linear-gradient(90deg,var(--bg-surface-3) 25%,var(--bg-surface-2) 50%,var(--bg-surface-3) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;width:60%;margin-bottom:8px}.skeleton-title{height:22px;width:40%;margin-bottom:12px}.skeleton-card{height:120px;border-radius:var(--radius-lg)}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-row{height:48px;margin-bottom:4px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
