:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#eef2ff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:#0f172a;background:radial-gradient(circle at top,#667eea29,#0000 38%),linear-gradient(#f8fafc 0%,#eef2ff 100%);min-height:100vh;margin:0}#root{min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}.back-button{letter-spacing:.05em;color:#667eea;cursor:pointer;background:0 0;border:none;margin-bottom:20px;padding:0;font-size:18px;font-weight:500;text-decoration:none;transition:color .3s;display:inline-block}.back-button:hover{color:#764ba2}.app-navbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8fafce0;border-bottom:1px solid #94a3b847;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.brand{color:#0f172a;letter-spacing:-.02em;font-size:18px;font-weight:700;text-decoration:none}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.nav-link,.logout-button{border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .18s,background-color .18s,color .18s,border-color .18s}.nav-link{color:#334155;border:1px solid #0000}.nav-link:hover,.nav-link.active{color:#1d4ed8;background:#667eea1f;border-color:#667eea38}.user-chip{color:#475569;background:#0f172a0f;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600}.logout-button{color:#b91c1c;cursor:pointer;background:#dc262614;border:1px solid #dc262633}.logout-button:hover{background:#dc262624;transform:translateY(-1px)}@media (width<=720px){.app-navbar{flex-direction:column;align-items:flex-start}.nav-links{justify-content:flex-start;width:100%}}.login-container{height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;overflow:hidden}.login-left{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.login-brand h1{text-align:center;margin:0 0 12px;font-size:32px}.login-brand p{opacity:.9;text-align:center;max-width:360px;margin:0 0 40px;font-size:16px}.login-credentials-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border-radius:12px;width:100%;max-width:400px;padding:24px 32px}.login-credentials-panel h3{text-align:center;opacity:.95;margin:0 0 16px;font-size:16px;font-weight:600}.credential-list{flex-direction:column;gap:10px;display:flex}.credential-row{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.cred-email{background:#ffffff26;border-radius:4px;padding:4px 10px;font-family:Courier New,monospace;font-size:13px}.cred-sep{opacity:.6}.cred-pass{background:#ffffff26;border-radius:4px;padding:4px 10px;font-family:Courier New,monospace;font-size:13px}.login-right{background:#f8fafc;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.login-box{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 4px 24px #00000014}.login-box h1{text-align:center;color:#0f172a;margin-bottom:30px;font-size:24px}.form-group label{color:#475569;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-group input{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:12px;font-size:14px;transition:border-color .2s}.form-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{cursor:not-allowed;background-color:#f5f5f5}.login-box button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;width:100%;padding:12px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s}.login-box button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.login-box button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:12px;font-size:14px}.dashboard-container{background-color:#f5f7fa;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.navbar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;padding:20px;display:flex;box-shadow:0 2px 10px #0000001a}.navbar-brand h1{margin:0;font-size:24px}.navbar-menu{align-items:center;gap:30px;display:flex}.navbar-menu a{color:#fff;font-weight:500;text-decoration:none;transition:opacity .3s}.navbar-menu a:hover{opacity:.8}.user-info{opacity:.9;font-size:14px}.logout-btn{color:#fff;cursor:pointer;background-color:#fff3;border:none;border-radius:5px;padding:8px 16px;font-weight:500;transition:background-color .3s}.logout-btn:hover{background-color:#ffffff4d}.dashboard-content{max-width:1200px;margin:40px auto;padding:0 20px}.dashboard-content h2{color:#333;margin-bottom:12px;font-size:32px}.dashboard-subtitle{color:#64748b;margin-bottom:28px;font-size:16px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;display:grid}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;max-width:1200px;margin:10px auto 24px;padding:0 20px;display:grid}.stat-card{background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;padding:18px 16px;display:flex;box-shadow:0 2px 10px #0000000f}.stat-value{color:#0f172a;font-size:28px;font-weight:700}.stat-label{color:#64748b;margin-top:6px;font-size:13px;font-weight:600}.dashboard-card{background:#fff;border-radius:10px;padding:30px;transition:transform .3s,box-shadow .3s;box-shadow:0 2px 10px #00000014}.dashboard-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #0000001f}.dashboard-card h3{color:#333;margin:0 0 10px;font-size:20px}.dashboard-card p{color:#777;margin-bottom:20px;line-height:1.6}.card-link{color:#667eea;font-weight:600;text-decoration:none;transition:color .3s}.card-link:hover{color:#764ba2}.back-link{color:#667eea;margin-bottom:20px;font-weight:500;text-decoration:none;transition:color .3s;display:inline-block}.back-link:hover{color:#764ba2}.patients-container{background-color:#f5f7fa;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.patients-controls{align-items:center;gap:15px;max-width:1200px;margin:30px auto;padding:0 20px;display:flex}.search-input{border:1px solid #ddd;border-radius:5px;flex:1;padding:12px;font-size:14px}.search-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.patients-controls button{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;padding:12px 20px;font-weight:500}.patients-controls button:hover{background-color:#764ba2}.patients-controls button:disabled{opacity:.6;cursor:not-allowed}.patients-table-wrapper{background:#fff;border-radius:10px;max-width:1200px;margin:30px auto;padding:0 20px;overflow:auto;box-shadow:0 2px 10px #00000014}.patients-table{border-collapse:collapse;width:100%;font-size:14px}.patients-table thead{background-color:#f9f9f9;border-bottom:2px solid #eee}.patients-table th{text-align:left;color:#333;padding:15px;font-weight:600}.patients-table td{border-bottom:1px solid #eee;padding:15px}.patients-table tbody tr:hover{background-color:#f9f9f9}.actions{gap:10px;display:flex}.view-btn,.edit-btn,.delete-btn{cursor:pointer;border:none;border-radius:3px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .3s;display:inline-block}.view-btn{color:#fff;background-color:#667eea}.view-btn:hover,.edit-btn:hover,.delete-btn:hover{opacity:.8}.pagination{justify-content:center;align-items:center;gap:15px;max-width:1200px;margin:30px auto;padding:0 20px;display:flex}.pagination button{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;padding:10px 20px;font-weight:500}.pagination button:hover{background-color:#764ba2}.pagination button:disabled{opacity:.5;cursor:not-allowed}.add-btn:hover{background-color:#218838!important}@media (width<=720px){.page-header{flex-direction:column;align-items:flex-start}}.patient-form-container{max-width:800px;margin:30px auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.patient-form-container h1{color:#333;margin-bottom:30px;font-size:28px}.patient-form{background:#fff;border-radius:10px;padding:30px;box-shadow:0 2px 10px #00000014}.form-group input,.form-group textarea,.form-group select{border:1px solid #ddd;border-radius:5px;width:100%;padding:12px;font-family:inherit;font-size:14px;transition:border-color .3s}@media (width<=600px){.form-row{grid-template-columns:1fr}}.patient-details-container{max-width:1000px;margin:30px auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.patient-header{border-bottom:2px solid #eee;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.patient-header h1{color:#333;margin:0;font-size:32px}.edit-btn{color:#fff;cursor:pointer;background-color:#28a745;border:none;border-radius:5px;padding:10px 20px;font-weight:600;text-decoration:none;transition:opacity .3s}.edit-btn:hover{opacity:.8}.patient-info-grid{grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px;display:grid}.info-section{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #00000014}.info-section h2{color:#333;border-bottom:2px solid #eee;margin:0 0 20px;padding-bottom:10px;font-size:18px}.info-row{border-bottom:1px solid #eee;justify-content:space-between;padding:10px 0;display:flex}.info-row:last-child{border-bottom:none}.info-row .label{color:#555;min-width:120px;font-weight:600}.info-row .value{color:#333;text-align:right;flex:1}.appointments-section{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #00000014}.section-header{border-bottom:2px solid #eee;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.section-header h2{color:#333;margin:0;font-size:20px}.add-appointment-btn{color:#fff;background-color:#28a745;border-radius:5px;padding:10px 20px;font-weight:600;text-decoration:none;transition:opacity .3s}.add-appointment-btn:hover{opacity:.8}.appointments-table thead{background-color:#f9f9f9}.appointments-table th{text-align:left;color:#333;border-bottom:2px solid #eee;padding:12px;font-weight:600}.edit-btn-small{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:3px;padding:4px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .3s}.edit-btn-small:hover{opacity:.8}.loading,.error-message{text-align:center;padding:30px;font-size:16px}.loading{color:#667eea}.error-message{color:#c33;background-color:#fee;border-left:4px solid #c33;border-radius:5px}@media (width<=768px){.patient-info-grid{grid-template-columns:1fr}.patient-header{flex-direction:column;align-items:flex-start;gap:15px}}.appointments-container{background-color:#f5f7fa;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;max-width:1200px;margin:30px auto 0;padding:0 20px;display:flex}.page-header h1{color:#333;margin:0}.page-header p{color:#64748b;margin:6px 0 0}.appointments-filters{flex-wrap:wrap;align-items:center;gap:15px;max-width:1200px;margin:30px auto;padding:0 20px;display:flex}.filter-group{align-items:center;gap:10px;display:flex}.filter-group label{color:#333;font-weight:600}.filter-group select,.filter-group input{border:1px solid #ddd;border-radius:5px;padding:8px 12px;font-size:14px}.filter-group select:focus,.filter-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.clear-filters,.refresh-btn{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;padding:8px 16px;font-weight:500}.clear-filters:hover,.refresh-btn:hover{background-color:#764ba2}.clear-filters:disabled,.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.appointments-table-wrapper{background:#fff;border-radius:10px;max-width:1200px;margin:30px auto;padding:0 20px;overflow:auto;box-shadow:0 2px 10px #00000014}.appointments-table{border-collapse:collapse;width:100%;font-size:14px}.appointments-table thead{background-color:#f9f9f9;border-bottom:2px solid #eee}.appointments-table th{text-align:left;color:#333;padding:15px;font-weight:600}.appointments-table td{border-bottom:1px solid #eee;padding:15px}.appointments-table tbody tr:hover{background-color:#f9f9f9}.appointments-table a{color:#667eea;font-weight:500;text-decoration:none}.appointments-table a:hover{text-decoration:underline}.status-badge{text-transform:capitalize;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-pending{color:#856404;background-color:#fff3cd}.status-confirmed{color:#155724;background-color:#d4edda}.status-cancelled{color:#721c24;background-color:#f8d7da}.edit-btn,.delete-btn{cursor:pointer;border:none;border-radius:3px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .3s;display:inline-block}.edit-btn{color:#fff;background-color:#28a745}.delete-btn{color:#fff;background-color:#dc3545}.edit-btn:hover,.delete-btn:hover{opacity:.8}.no-data{text-align:center;color:#999;padding:40px}.add-btn{color:#fff!important;background-color:#28a745!important;border-radius:5px!important;padding:10px 20px!important;font-weight:600!important;text-decoration:none!important}@media (width<=720px){.page-header{flex-direction:column;align-items:flex-start}}.appointment-form-container{max-width:900px;margin:30px auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.appointment-form-container h1{color:#333;margin-bottom:30px;font-size:28px}.appointment-form{background:#fff;border-radius:10px;padding:30px;box-shadow:0 2px 10px #00000014}.form-section{margin-bottom:30px}.form-section h2{color:#333;border-bottom:2px solid #eee;margin-bottom:20px;padding-bottom:10px;font-size:18px}.form-group{margin-bottom:20px}.form-group label{color:#555;margin-bottom:8px;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;width:100%;padding:12px;font-family:inherit;font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{cursor:not-allowed;background-color:#f5f5f5}.form-group.checkbox{align-items:center;gap:10px;display:flex}.form-group.checkbox input{width:auto;margin:0}.form-group.checkbox label{cursor:pointer;margin:0}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-actions{justify-content:center;gap:15px;margin-top:30px;display:flex}.form-actions button{cursor:pointer;border:none;border-radius:5px;padding:12px 30px;font-size:16px;font-weight:600;transition:opacity .3s}.form-actions button[type=submit]{color:#fff;background-color:#28a745}.form-actions button[type=button]{color:#fff;background-color:#999}.form-actions button:hover{opacity:.8}.form-actions button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#c33;background-color:#fee;border-left:4px solid #c33;border-radius:5px;margin-bottom:20px;padding:12px}@media (width<=600px){.form-row{grid-template-columns:1fr}}.app-shell{min-height:100vh}
