.language-switcher{padding:.35rem .6rem;border:1px solid rgba(255,255,255,.4);border-radius:6px;background:#ffffff26;color:inherit;font-size:.85rem;cursor:pointer;outline:none;transition:background .2s,border-color .2s}.language-switcher:hover,.language-switcher:focus{background:#ffffff40;border-color:#ffffffb3}.language-switcher option{background:#fff;color:#333}.phone-input-group{display:flex;flex-direction:column;gap:.5rem}.phone-input-group label{display:block;font-weight:600;color:#0d0d0d;margin-bottom:.25rem;font-size:.9rem}.phone-input-wrapper{display:flex;gap:.5rem;align-items:stretch}.country-code-select{padding:.75rem .5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff;color:#0d0d0d;cursor:pointer;font-weight:500;width:82px!important;flex-shrink:0;transition:all .2s ease}.country-code-select:hover{border-color:#999}.country-code-select:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 2px #0d0d0d1a}.country-code-select:disabled{background:#f7f7f7;color:#999;cursor:not-allowed}.phone-input{flex:1;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit;background:#fff;color:#0d0d0d;transition:all .2s ease}.phone-input::placeholder{color:#999}.phone-input:hover{border-color:#999}.phone-input:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 2px #0d0d0d1a}.phone-input:disabled{background:#f7f7f7;color:#999;cursor:not-allowed}@media (max-width: 768px){.phone-input-wrapper{gap:.4rem}.country-code-select{width:78px!important;padding:.6rem .4rem;font-size:.85rem}.phone-input{padding:.6rem;font-size:.9rem}}@media (max-width: 480px){.phone-input-wrapper{gap:.35rem}.country-code-select{width:72px!important;padding:.5rem .35rem;font-size:.8rem}.phone-input{padding:.5rem;font-size:.85rem;min-height:40px}}.ailment-combobox{position:relative}.ailment-dropdown{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;max-height:220px;overflow-y:auto;list-style:none;margin:0;padding:0;box-shadow:0 4px 12px #00000026}.ailment-dropdown li{padding:.6rem .85rem;cursor:pointer;font-size:.95rem;color:#333;border-bottom:1px solid #f0f0f0}.ailment-dropdown li:last-child{border-bottom:none}.ailment-dropdown li:hover{background:#f0f0f0;color:#0d0d0d}.ailment-add-new{color:#0d0d0d!important;font-weight:600;background:#f0f0f0}.ailment-add-new:hover{background:#eef0ff!important}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#fff;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.login-card{background:#fff;border-radius:8px;border:1px solid #e5e5e5;padding:2rem;width:100%;max-width:500px}.logo-header{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem}.login-card h1{text-align:center;color:#0d0d0d;margin:0;font-size:1.8rem;font-weight:600}.role-selection{display:flex;flex-direction:column;gap:.75rem}.role-selection h2{text-align:center;margin-bottom:1rem;color:#0d0d0d;font-size:1.1rem;font-weight:500}.role-btn{background:#fff;border:1px solid #d1d5db;padding:1.25rem;border-radius:8px;cursor:pointer;text-align:center;transition:all .2s ease;color:#0d0d0d}.role-btn:hover{border-color:#999;background:#f7f7f7}.role-btn span{font-size:2rem;display:block;margin-bottom:.5rem}.role-btn p{font-size:1rem;font-weight:600;color:#0d0d0d;margin:.4rem 0}.role-btn small{color:#565656;font-size:.85rem;display:block}.login-form{display:flex;flex-direction:column;gap:.75rem}.back-btn{background:none;border:none;color:#0d0d0d;padding:0;margin-bottom:1rem;font-size:.9rem;cursor:pointer;text-align:left;font-weight:500;transition:all .2s ease}.back-btn:hover{color:#565656}.login-form h2{color:#0d0d0d;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.login-form input,.login-form select,.login-form textarea{padding:.7rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;width:100%;box-sizing:border-box;background:#fff;color:#0d0d0d}.login-form input::placeholder,.login-form select::placeholder,.login-form textarea::placeholder{color:#999}.login-form input:focus,.login-form select:focus,.login-form textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 2px #0d0d0d1a}.login-btn{background:#0d0d0d;color:#fff;padding:.7rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;margin-top:.75rem;border:1px solid #0d0d0d;transition:all .2s ease}.login-btn:hover:not(:disabled){background:#2d2d2d;border-color:#2d2d2d}.login-btn:disabled{opacity:.5;cursor:not-allowed}.form-footer{text-align:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e5e5e5}.form-footer p{color:#565656;font-size:.9rem;margin:0}.link-btn{background:none;border:none;color:#0d0d0d;font-weight:500;cursor:pointer;padding:0;text-decoration:none;font-size:.9rem;transition:all .2s ease}.link-btn:hover{color:#565656;text-decoration:underline}.photo-upload{margin:1rem 0}.photo-upload label{display:block;font-weight:500;color:#0d0d0d;margin-bottom:.5rem;font-size:.9rem}.photo-upload input[type=file]{display:block;padding:.75rem;border:2px dashed #d1d5db;border-radius:6px;background:#f7f7f7;cursor:pointer;width:100%}.photo-upload input[type=file]::-webkit-file-upload-button{background:#0d0d0d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500;font-size:.85rem}.photo-preview{width:100%;max-width:150px;height:150px;object-fit:cover;border-radius:8px;margin-top:1rem;border:1px solid #d1d5db}.oauth-logos-container{display:flex;gap:1rem;margin:1.25rem 0;justify-content:center;align-items:center}.oauth-logo-button{width:50px;height:50px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;font-size:0}.oauth-logo-button:hover:not(:disabled){border-color:#999;background:#f7f7f7}.oauth-logo-button:disabled{opacity:.5;cursor:not-allowed}.oauth-logo-button.google:hover,.oauth-logo-button.facebook:hover{border-color:#999}.oauth-logo-button svg{width:28px;height:28px}.oauth-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:#999;font-size:.85rem}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:#e5e5e5}.login-form textarea{font-family:inherit;resize:vertical;min-height:80px}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}@media (max-width: 768px){.login-card{padding:1.5rem}.login-card h1{font-size:1.7rem}.role-btn span{font-size:2rem}.role-btn p{font-size:1rem}.photo-preview{max-width:120px;height:120px}.oauth-logo-button{width:50px;height:50px}.oauth-logo-button svg{width:28px;height:28px}}@media (max-width: 480px){.login-container{min-height:100dvh;padding:.75rem;background:#fff}.login-card{padding:1.25rem;border-radius:8px}.logo-header{gap:.5rem;margin-bottom:1.25rem}.login-card h1{font-size:1.3rem;font-weight:600}.role-selection h2{font-size:1rem;margin-bottom:.75rem;font-weight:500}.role-selection{gap:.5rem}.role-btn{padding:.9rem;border-radius:6px;border:1px solid #d1d5db}.role-btn:hover{border-color:#999}.role-btn span{font-size:1.6rem;margin-bottom:.3rem}.role-btn p{font-size:.9rem;margin:.3rem 0;font-weight:600}.role-btn small{font-size:.8rem}.login-form{gap:.6rem}.login-form h2{font-size:1rem;margin-bottom:.75rem;font-weight:600}.back-btn{margin-bottom:.75rem;font-size:.85rem}.login-form input,.login-form select,.login-form textarea{padding:.65rem;font-size:1rem;min-height:40px;border:1px solid #d1d5db}.login-btn{padding:.65rem;font-size:.9rem;margin-top:.75rem;background:#0d0d0d;color:#fff;border:1px solid #0d0d0d}.login-btn:hover{background:#2d2d2d}.form-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid #e5e5e5}.form-footer p{font-size:.8rem;color:#565656}.link-btn{font-size:.8rem;color:#0d0d0d;font-weight:500}.photo-upload{margin:.75rem 0}.photo-upload label{margin-bottom:.4rem;font-size:.85rem;font-weight:500}.photo-upload input[type=file]{padding:.6rem;border:2px dashed #d1d5db}.photo-upload input[type=file]::-webkit-file-upload-button{padding:.4rem .8rem;font-size:.8rem;background:#0d0d0d;color:#fff}.photo-preview{max-width:100px;height:100px;margin-top:.75rem;border:1px solid #d1d5db}.oauth-logos-container{gap:.75rem;margin:1rem 0}.oauth-logo-button{width:45px;height:45px;border:1px solid #d1d5db}.oauth-logo-button svg{width:24px;height:24px}.oauth-divider{gap:.75rem;margin:1rem 0;font-size:.8rem;color:#999}.oauth-divider:before,.oauth-divider:after{background:#e5e5e5}.login-form textarea{min-height:70px}.error-message{padding:.65rem;margin-bottom:.75rem;font-size:.8rem;border-radius:6px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;pointer-events:auto;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.modal-content{background:#fff;border-radius:8px;width:520px;max-height:85vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a;pointer-events:auto;flex-shrink:0;position:relative;border:1px solid #e5e5e5}@media (max-width: 768px){.modal-content{width:90vw;max-width:500px}}.modal-content h2{padding:1.5rem 1.5rem 1rem;color:#0d0d0d;border-bottom:none;margin:0;font-size:1.25rem;text-align:center;font-weight:600}.close-btn{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:#999;z-index:10;padding:.25rem;transition:color .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#0d0d0d;background:#f7f7f7;border-radius:4px}.modal-footer{display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid #e5e5e5;justify-content:center;flex-wrap:wrap}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-weight:500;color:#0d0d0d;margin-bottom:.5rem;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit;background:#fff;color:#0d0d0d}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#999}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 2px #0d0d0d1a}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.slot-btn{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:center;color:#0d0d0d}.slot-btn:hover{border-color:#999;background:#f7f7f7}.slot-btn.selected{background:#0d0d0d;color:#fff;border-color:#0d0d0d}.slot-btn div{font-size:.85rem;margin:.2rem 0}.slot-btn div:first-child{font-weight:600}.dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem}.date-btn{padding:.7rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:center;font-weight:500;color:#0d0d0d}.date-btn:hover{border-color:#999;background:#f7f7f7}.date-btn.selected{background:#0d0d0d;color:#fff;border-color:#0d0d0d}.times-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.time-btn{padding:.7rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:center;font-weight:500;color:#0d0d0d}.time-btn:hover{border-color:#999;background:#f7f7f7}.time-btn.selected{background:#0d0d0d;color:#fff;border-color:#0d0d0d}.rating-input{display:flex;align-items:center;gap:.5rem;justify-content:center}.star-btn{background:none;border:none;font-size:1.8rem;cursor:pointer;opacity:.3;transition:all .2s ease}.star-btn:hover,.star-btn.active{opacity:1;transform:scale(1.1)}.rating-value{margin-left:1rem;font-weight:500;color:#0d0d0d;font-size:1rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-primary,.btn-secondary{padding:.6rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9rem;min-width:100px}.btn-primary{background:#0d0d0d;color:#fff;border:1px solid #0d0d0d}.btn-primary:hover:not(:disabled){background:#2d2d2d;border-color:#2d2d2d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:#0d0d0d;border:1px solid #d1d5db}@media (max-width: 768px){.modal-content{max-width:90%;max-height:85vh}.form-group input,.form-group select,.form-group textarea{padding:.75rem;font-size:1rem;min-height:40px}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.slot-btn{min-height:80px;padding:.75rem}.dates-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.date-btn{padding:.7rem;font-size:.9rem}.times-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr))}.time-btn{padding:.7rem;font-size:.9rem}.modal-footer,.form-actions{flex-direction:column}.btn-primary,.btn-secondary{padding:.75rem;min-height:44px;font-size:.95rem}}html.modal-open{pointer-events:none}html.modal-open .modal-overlay,html.modal-open .modal-overlay *{pointer-events:auto}@media (max-width: 480px){.modal-content{max-width:calc(100% - .75rem);max-height:90vh;max-height:90dvh;border-radius:10px;margin:.375rem}.modal-content h2{padding:1rem .875rem .65rem;font-size:1.05rem;font-weight:600}.close-btn{top:.65rem;right:.65rem;font-size:1.15rem;padding:.2rem}.modal-body{padding:.875rem}.modal-footer{padding:.875rem;flex-direction:column;gap:.65rem}.form-group{margin-bottom:.875rem}.form-group label{font-size:.85rem;margin-bottom:.35rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{padding:.65rem;font-size:1rem;min-height:40px}.slots-grid{grid-template-columns:repeat(3,1fr);gap:.65rem}.slot-btn{min-height:65px;padding:.4rem .25rem}.slot-btn div{font-size:.75rem;margin:.15rem 0}.dates-grid{grid-template-columns:repeat(2,1fr);gap:.45rem}.date-btn{padding:.55rem;font-size:.8rem}.times-grid{grid-template-columns:repeat(3,1fr);gap:.45rem}.time-btn{padding:.55rem;font-size:.8rem}.rating-input{gap:.3rem;justify-content:center}.star-btn{font-size:1.6rem;opacity:.4}.star-btn:hover,.star-btn.active{opacity:1;transform:scale(1.15)}.rating-value{margin-left:.5rem;font-size:.95rem}.form-actions{flex-direction:column;margin-top:.875rem;gap:.5rem}.btn-primary,.btn-secondary{padding:.65rem .875rem;min-height:40px;font-size:.85rem;width:100%}.modal-header{padding:1rem .875rem}.modal-header h2{font-size:1.05rem}.appointment-type-btn{padding:1.5rem 1rem;font-size:1rem;gap:.75rem}.note-textarea{padding:.75rem;font-size:.9rem}}.note-textarea{width:100%;padding:1rem;border:1px solid #e5e5e5;border-radius:8px;font-family:inherit;font-size:.95rem;line-height:1.5;resize:vertical;transition:border-color .2s}.note-textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 3px #0d0d0d1a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;color:#333;font-size:1.25rem}.appointment-type-btn{padding:1.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:all .2s ease;background:#fff;color:#0d0d0d}.appointment-type-btn:hover{border-color:#999;background:#f7f7f7}.appointment-type-primary{background:#0d0d0d;color:#fff;border:1px solid #0d0d0d}.appointment-type-primary:hover{background:#2d2d2d;border-color:#2d2d2d}.appointment-type-secondary{background:#fff;color:#0d0d0d;border:1px solid #d1d5db}.appointment-type-secondary:hover{background:#f7f7f7;border-color:#999}.btn-book-appointment{background:#0d0d0d;color:#fff;padding:.6rem 1.5rem;border:1px solid #0d0d0d;border-radius:6px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s ease}.btn-book-appointment:hover{background:#2d2d2d;border-color:#2d2d2d}.doctor-card{background:#fff;border-radius:8px;padding:1.25rem;border:1px solid #e5e5e5;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.doctor-card:hover{border-color:#999;background:#f0f0f0}.doctor-card.expanded{border-color:#999}.doctor-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;gap:2rem}.doctor-photo{width:100px;height:100px;border-radius:50%;object-fit:cover;flex-shrink:0}img.doctor-photo{border:2px solid #0d0d0d}.doctor-info h3{font-size:1.1rem;color:#0d0d0d;margin-bottom:.2rem;font-weight:600}.specialization{color:#565656;font-weight:500;margin:.2rem 0;font-size:.9rem}.practice-type-badge{display:inline-block;background:#f7f7f7;color:#565656;font-size:.7rem;font-weight:500;padding:.2rem .5rem;border-radius:4px;margin:.15rem 0;border:1px solid #e5e5e5}.experience{color:#999;font-size:.85rem;margin:.2rem 0}.doctor-rating{text-align:right;white-space:nowrap}.doctor-rating>span{font-size:.95rem;display:flex;align-items:center;gap:.3rem;justify-content:flex-end}.rating-value{font-weight:600;color:#0d0d0d;font-size:.95rem}.rating-count{color:#999;font-size:.8rem;margin:.15rem 0}.bio{color:#565656;margin-bottom:1rem;line-height:1.5;font-size:.9rem}.care-center-info{background:#f7f7f7;padding:.9rem;border-radius:6px;margin-bottom:1rem;border-left:3px solid #0d0d0d}.care-center-info h4{color:#0d0d0d;margin:0 0 .4rem;font-size:.95rem;font-weight:600}.care-center-info p{color:#565656;margin:.2rem 0;font-size:.85rem}.doctor-actions{display:flex;gap:.75rem}.btn-primary{background:#0d0d0d;color:#fff;padding:.6rem 1.2rem;border-radius:6px;border:1px solid #0d0d0d;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;font-size:.9rem}.btn-primary:hover{background:#2d2d2d;border-color:#2d2d2d}.btn-secondary{background:#fff;color:#0d0d0d;padding:.6rem 1.2rem;border-radius:6px;border:1px solid #d1d5db;font-weight:500;cursor:pointer;transition:all .2s ease;flex:1;font-size:.9rem}.btn-secondary:hover{background:#f7f7f7;border-color:#999}.doctor-card-compact{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:1rem;text-align:center;transition:all .2s ease;display:flex;flex-direction:column;align-items:center}.doctor-card-compact:hover{border-color:#999;box-shadow:0 2px 8px #00000014}.compact-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;margin-bottom:.5rem}img.compact-photo{border:2px solid #0d0d0d}.compact-name{font-size:.9rem;font-weight:600;color:#0d0d0d;margin:0 0 .15rem}.compact-specialization{font-size:.78rem;color:#565656;margin:0 0 .4rem}.compact-rating{font-size:.8rem;margin-bottom:.6rem}.compact-rating-count{font-size:.72rem;color:#999;margin-left:.25rem}.btn-view-profile{background:#0d0d0d;color:#fff;border:none;border-radius:6px;padding:.4rem 1rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .2s;width:100%}.btn-view-profile:hover{background:#2d2d2d}@media (max-width: 768px){.doctor-card{padding:1rem}.doctor-header{flex-direction:column;gap:1rem}.doctor-rating{text-align:left}.doctor-actions{flex-direction:column;gap:.75rem}.btn-primary,.btn-secondary{padding:.75rem 1rem;min-height:44px;font-size:.95rem}}@media (max-width: 480px){.doctor-card{padding:.75rem;margin-bottom:.75rem}.doctor-header{flex-direction:row;gap:.75rem;align-items:flex-start;text-align:left}.doctor-photo{width:70px;height:70px;flex-shrink:0}.doctor-info{flex:1;min-width:0}.doctor-info h3{font-size:1rem;margin-bottom:.15rem}.specialization{font-size:.8rem;margin:.1rem 0}.practice-type-badge{font-size:.65rem;padding:.1rem .4rem;margin:.1rem 0}.experience{font-size:.8rem;margin:.1rem 0}.doctor-rating{text-align:right;width:auto}.doctor-rating>span{justify-content:flex-end;font-size:.9rem;gap:.25rem}.rating-value{font-size:.9rem}.rating-count{font-size:.75rem;margin:.1rem 0}.bio{color:#666;margin-bottom:.75rem;line-height:1.4;font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.care-center-info{background:#f0f0f0;padding:.6rem;border-radius:4px;margin-bottom:.75rem;border-left:3px solid #0d0d0d}.care-center-info h4{color:#333;margin:0 0 .3rem;font-size:.9rem;font-weight:600}.care-center-info p{color:#666;margin:.2rem 0;font-size:.8rem}.doctor-actions{flex-direction:row;gap:.5rem}.btn-primary,.btn-secondary{padding:.5rem .75rem;min-height:36px;font-size:.8rem;flex:1}}.doctor-search{display:flex;flex-direction:column;gap:1.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.search-filters{background:#fff;padding:1.25rem;border-radius:8px;border:1px solid #e5e5e5}.search-filters form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.75rem;align-items:flex-end}.search-filters input,.search-filters select{margin:0;padding:.6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff;color:#0d0d0d}.search-filters input::placeholder,.search-filters select::placeholder{color:#999}.search-filters button{background:#0d0d0d;color:#fff;padding:.6rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;border:1px solid #0d0d0d;font-size:.9rem;transition:all .2s ease}.search-filters button:hover:not(:disabled){background:#2d2d2d;border-color:#2d2d2d}.doctors-list{display:grid;gap:1rem}.doctors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;border:1px solid #e5e5e5}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:#999;z-index:10;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:hover{color:#0d0d0d;background:#f7f7f7}@media (max-width: 768px){.doctor-search{gap:1rem}.search-filters{padding:1rem}.search-filters form{grid-template-columns:1fr}.search-filters button{width:100%;min-height:40px}.search-filters input,.search-filters select{min-height:40px;padding:.6rem}}@media (max-width: 480px){.doctor-search{gap:.75rem}.search-filters{padding:.75rem}.search-filters form{grid-template-columns:1fr;gap:.5rem}.search-filters input,.search-filters select{min-height:40px;padding:.6rem;font-size:1rem}.search-filters button{min-height:40px;font-size:.85rem;padding:.6rem 1rem}.doctors-list{gap:.75rem}}.care-center-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000000d;border:1px solid #e5e5e5;transition:all .3s ease}.care-center-card:hover{box-shadow:0 4px 16px #0000001a;border-color:#0d0d0d}.care-center-card.expanded{box-shadow:0 10px 40px #00000026}.center-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:2rem}.center-info h3{font-size:1.3rem;color:#333;margin:0 0 .5rem}.center-info p{margin:.5rem 0;color:#666;font-size:.95rem;line-height:1.4}.address{color:#0d0d0d;font-weight:600}.hours,.phone{color:#666}.center-stats{display:flex;gap:2rem;min-width:fit-content}.stat{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value{font-size:1.8rem;font-weight:700;color:#0d0d0d;line-height:1}.stat-label{font-size:.75rem;color:#999;text-transform:uppercase;margin-top:.5rem;letter-spacing:.5px}.rating-info{display:flex;align-items:center;gap:.75rem;padding:.75rem 0 1rem;margin-bottom:1.5rem;border-bottom:1px solid #eee}.rating-info .stars{font-size:1.2rem;letter-spacing:2px;color:#ffc107}.rating-info .rating-value{font-weight:600;color:#333;font-size:1rem}.rating-info .rating-count{color:#999;font-size:.9rem}.visiting-section{background:#f0f8ff;border-left:4px solid #22c55e;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.visiting-header{font-weight:600;color:#333;margin-bottom:.75rem;font-size:.95rem}.visiting-list{display:flex;flex-direction:column;gap:.5rem}.visiting-doctor{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 0;border-bottom:1px solid rgba(34,197,94,.1);font-size:.9rem}.visiting-doctor:last-child{border-bottom:none}.doctor-name{font-weight:600;color:#333;font-size:.95rem}.doctor-schedule{display:flex;flex-direction:column;gap:.4rem;margin-left:1rem}.schedule-entry{display:flex;gap:1rem;font-size:.85rem}.schedule-entry .day{font-weight:600;color:#666;min-width:40px}.schedule-entry .times{color:#22c55e;font-weight:500}.visiting-days{color:#666;font-size:.85rem}.center-actions{display:flex;gap:1rem}.btn-primary{background:#0d0d0d;color:#fff;padding:.75rem 1.5rem;border-radius:4px;border:none;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d4d;background:#2d2d2d}.btn-secondary{background:#fff;color:#0d0d0d;padding:.75rem 1.5rem;border-radius:4px;border:2px solid #0d0d0d;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1}.btn-secondary:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d33}@media (max-width: 768px){.care-center-card{padding:1rem}.center-header{flex-direction:column;gap:1rem;margin-bottom:1rem}.center-stats{width:100%;justify-content:space-around}.visiting-section{margin-bottom:1rem;padding:.75rem}.visiting-header{font-size:.9rem;margin-bottom:.5rem}.visiting-doctor{padding:.4rem 0;font-size:.85rem;gap:.4rem}.doctor-name{font-size:.9rem}.doctor-schedule{margin-left:.75rem;gap:.3rem}.schedule-entry{gap:.75rem;font-size:.8rem}.schedule-entry .day{min-width:35px}.visiting-days{font-size:.8rem}.center-actions{flex-direction:column;gap:.75rem}.btn-primary,.btn-secondary{min-height:44px}}@media (max-width: 480px){.care-center-card{padding:1rem;margin-bottom:1rem}.center-header{flex-direction:column;gap:1rem;margin-bottom:1rem;align-items:center;text-align:center}.center-info h3{font-size:1.1rem}.center-info p{font-size:.9rem}.center-stats{width:100%;justify-content:space-around;gap:1.5rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.7rem}.visiting-section{margin-bottom:1rem;padding:.75rem}.visiting-header{font-size:.85rem;margin-bottom:.5rem}.visiting-doctor{padding:.35rem 0;flex-direction:column;align-items:flex-start;font-size:.8rem;border-bottom:1px solid rgba(34,197,94,.1);gap:.3rem}.visiting-doctor:last-child{border-bottom:none}.doctor-name{font-size:.85rem}.doctor-schedule{margin-left:.75rem;gap:.25rem;width:100%}.schedule-entry{gap:.5rem;font-size:.75rem}.schedule-entry .day{min-width:35px}.schedule-entry .times{font-size:.75rem}.visiting-days{font-size:.75rem;color:#999;margin-top:.25rem}.center-actions{flex-direction:column;gap:.75rem}.btn-primary,.btn-secondary{padding:.75rem 1rem;min-height:44px;font-size:.9rem}}.care-center-search{display:flex;flex-direction:column;gap:2rem}.search-filters{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000000d}.search-filters form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:1rem;align-items:flex-end}.search-filters input,.search-filters select{margin:0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#666;font-weight:500}.checkbox-label input{cursor:pointer;width:auto;margin:0}.search-filters button{background:#0d0d0d;color:#fff;padding:.75rem 2rem;border-radius:4px;font-weight:600;cursor:pointer;border:none;transition:all .3s ease}.search-filters button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d4d}.search-filters button:disabled{opacity:.6;cursor:not-allowed}.care-centers-list{display:grid;gap:1.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:2rem}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;z-index:10}.results-heading{font-size:1.2rem;color:#333;margin:0 0 1rem;font-weight:600;padding:0 .5rem}@media (max-width: 768px){.search-filters{padding:1rem}.search-filters form{grid-template-columns:1fr;gap:.75rem}.search-filters input{min-height:40px;padding:.75rem}.search-filters button{width:100%;min-height:44px}.checkbox-label{grid-column:1 / -1;min-height:44px;padding:.5rem}.modal-content{max-width:90%;padding:1.5rem}}@media (max-width: 480px){.care-center-search{gap:1rem}.search-filters{padding:1rem;border-radius:8px}.search-filters form{grid-template-columns:1fr;gap:.75rem}.search-filters input{min-height:44px;padding:.75rem;font-size:1rem}.search-filters button{width:100%;min-height:44px;font-size:.9rem}.checkbox-label{min-height:44px;padding:.75rem .5rem;font-size:.9rem}.checkbox-label input{width:20px;height:20px}.care-centers-list{gap:1rem}.modal-overlay{padding:.5rem}.modal-content{max-width:100%;max-height:90vh;max-height:90dvh;padding:1rem;border-radius:12px}.close-btn{font-size:1.25rem}.no-results{padding:1.5rem;font-size:.95rem}.error-message{padding:.75rem;font-size:.9rem}}.my-appointments{background:#fff;border-radius:8px;padding:1.5rem;border:1px solid #e5e5e5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.my-appointments h2{color:#0d0d0d;margin-bottom:1.5rem;font-size:1.3rem;font-weight:600}.filter-chips{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-chip{padding:.5rem 1rem;background:#f7f7f7;color:#565656;border:1px solid #d1d5db;border-radius:6px;font-weight:500;font-size:.85rem;cursor:pointer;transition:all .2s ease}.filter-chip:hover{background:#ececec;border-color:#b4b4b4}.filter-chip.active{background:#0d0d0d;color:#fff;border-color:#0d0d0d}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;padding:1rem;margin-bottom:1.5rem;font-size:.9rem}.loading,.no-data{text-align:center;padding:2rem;color:#999}.appointments-list{display:grid;gap:1rem}.appointment-item{border:1px solid #e5e5e5;border-radius:8px;padding:1.25rem;transition:all .2s ease;display:flex;flex-direction:column;gap:.75rem;background:#fff}.appointment-item:hover{border-color:#999;background:#f7f7f7}.appointment-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;width:100%}.appointment-title{display:flex;flex-direction:column;gap:.5rem;flex:1}.appointment-header h3{color:#0d0d0d;margin:0;font-size:1rem;font-weight:600}.appointment-type-badge{display:inline-block;padding:.3rem .75rem;background:#f7f7f7;color:#565656;border-radius:6px;font-size:.75rem;font-weight:500;width:fit-content;border:1px solid #e5e5e5}.appointment-type-badge.lab{background:#f0fdf4;color:#059669}.appointment-lab{border-left:3px solid #059669}.btn-notes{background:#fff;border:1px solid #9ca3af;color:#374151;padding:.4rem .9rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-notes:hover{border-color:#0d0d0d;color:#0d0d0d}.lab-notes-panel{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.75rem;width:100%}.lab-notes-empty{color:#9ca3af;font-size:.875rem;font-style:italic;margin:0 0 .75rem}.lab-notes-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.lab-note-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.6rem .75rem}.lab-note-text{font-size:.9rem;color:#1f2937;margin-bottom:.25rem}.lab-note-meta{font-size:.78rem;color:#9ca3af;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lab-note-edit-btn,.lab-note-delete-btn{background:none;border:none;cursor:pointer;font-size:.78rem;padding:0;text-decoration:underline}.lab-note-edit-btn{color:#0d0d0d}.lab-note-delete-btn{color:#dc2626}.lab-note-edit textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:.4rem .6rem;font-size:.875rem;resize:vertical;box-sizing:border-box}.lab-note-edit-actions{display:flex;gap:.5rem;margin-top:.4rem}.lab-note-edit-actions button{padding:.3rem .75rem;border-radius:4px;cursor:pointer;font-size:.8rem;border:1px solid #ddd;background:#fff}.lab-note-edit-actions button:first-child{background:#0d0d0d;color:#fff;border:none}.lab-note-add{display:flex;flex-direction:column;gap:.4rem}.lab-note-add textarea{width:100%;border:1px solid #ddd;border-radius:4px;padding:.5rem .75rem;font-size:.875rem;resize:vertical;box-sizing:border-box}.lab-note-add textarea:focus{outline:none;border-color:#0d0d0d}.lab-note-add-btn{align-self:flex-end;padding:.4rem 1rem;background:#0d0d0d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.lab-note-add-btn:disabled{opacity:.5;cursor:not-allowed}.payment-badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.payment-paid{background:#dbeafe;color:#1e40af}.payment-adjusted{background:#dcfce7;color:#15803d}.payment-forfeited{background:#ffedd5;color:#c2410c}.status-badge{padding:.3rem .7rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:.5rem}.badge-blue{background:#dbeafe;color:#1e40af}.badge-green{background:#dcfce7;color:#166534}.badge-red{background:#fee2e2;color:#991b1b}.badge-gray{background:#f3f4f6;color:#374151}.badge-orange{background:#fed7aa;color:#92400e}.appointment-details{display:flex;gap:2rem;flex-wrap:wrap;width:100%}.detail-item{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.appointment-actions{display:flex;gap:1rem;width:100%;margin-top:.5rem}.btn-action{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.85rem;flex:1;min-width:80px;background:#fff;color:#0d0d0d}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action:hover:not(:disabled){border-color:#999;background:#f7f7f7}.btn-cancel{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn-cancel:hover:not(:disabled){background:#fecaca}.btn-reschedule{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.btn-reschedule:hover:not(:disabled){background:#fde68a}.btn-complete{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.btn-complete:hover:not(:disabled){background:#bbf7d0}.btn-no-show{background:#fed7aa;color:#92400e;border:1px solid #fdba74}.btn-no-show:hover:not(:disabled){background:#fdba74}.detail-icon{font-size:1.4rem;display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem}.detail-text{color:#666;font-size:.95rem;font-weight:500}.appointment-info{display:flex;flex-direction:column;gap:.75rem;width:100%}.doctor-info strong{color:#333;font-weight:600}.specialization{color:#999;font-size:.9rem;margin-left:.5rem}.patient-info{color:#666;font-size:.95rem}.location-info{color:#666;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.appointment-datetime{display:flex;gap:1.5rem;flex-wrap:wrap;color:#666;font-size:.95rem}.action-note{padding:.75rem;background:#f9fafb;border-left:3px solid #0d0d0d;border-radius:4px;color:#666;font-size:.9rem}.action-note em{color:#999;font-style:italic}@media (max-width: 1024px){.appointment-details{gap:1.5rem}}@media (max-width: 768px){.my-appointments{padding:1rem}.my-appointments h2{font-size:1.25rem;margin-bottom:1rem}.filter-chips{gap:.5rem;margin-bottom:1rem}.filter-chip{padding:.5rem .9rem;font-size:.8rem}.appointment-item{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.appointment-header{width:100%;flex-direction:row;justify-content:space-between}.appointment-details{gap:1rem;width:100%}.detail-icon{font-size:1.2rem}.detail-text{font-size:.9rem}.appointment-actions{gap:.75rem}.btn-action{padding:.5rem .75rem;font-size:.85rem;min-width:80px}}@media (max-width: 480px){.my-appointments{padding:.75rem}.my-appointments h2{font-size:1.1rem;margin-bottom:.75rem}.filter-chips{gap:.5rem;margin-bottom:.75rem}.filter-chip{padding:.4rem .75rem;font-size:.75rem}.appointment-item{padding:.75rem;gap:.5rem}.appointment-header{gap:.5rem}.appointment-header h3{font-size:1rem}.appointment-type-badge{font-size:.7rem;padding:.2rem .5rem}.appointment-details{gap:.75rem;flex-direction:column}.detail-item{gap:.4rem}.detail-icon{font-size:1rem;min-width:1.5rem}.detail-text{font-size:.85rem}.appointment-actions{gap:.5rem;width:100%}.btn-action{padding:.4rem .6rem;font-size:.75rem;min-width:auto;flex:1}.appointment-info{gap:.5rem}.doctor-info strong{font-size:.95rem}.specialization{font-size:.8rem}.patient-info,.location-info,.appointment-datetime{font-size:.85rem}.action-note{padding:.5rem;font-size:.8rem}.lab-notes-panel{margin-top:.5rem;padding-top:.5rem}.lab-note-item{padding:.5rem}.lab-note-text{font-size:.85rem}.lab-note-meta{font-size:.7rem}.btn-notes{padding:.3rem .7rem;font-size:.75rem}}.appointment-status-modal{max-width:500px}.appointment-status-modal .modal-header h2{margin:0;font-size:1.2rem}.appointment-summary{background:#f0f0f0;border-left:4px solid #0d0d0d;border-radius:6px;padding:1rem;margin-bottom:1.5rem;font-size:.9rem}.appointment-summary p{margin:.5rem 0;display:flex;justify-content:space-between}.appointment-summary p:first-child{margin-top:0}.appointment-summary p:last-child{margin-bottom:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600;font-size:.9rem}.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.form-select:focus,.form-textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 3px #0d0d0d1a}.form-textarea{resize:vertical}.form-hint{margin:.5rem 0 0;font-size:.8rem;color:#999;font-style:italic}.reschedule-modal{max-width:500px}.reschedule-modal .modal-header h2{margin:0;font-size:1.2rem;color:#0d0d0d}.reschedule-modal .appointment-summary{background:#f0f0f0;border-left:4px solid #0d0d0d;border-radius:6px;padding:1rem;margin-bottom:1.5rem;font-size:.9rem}.reschedule-modal .appointment-summary p{margin:.5rem 0}.reschedule-modal .appointment-summary p:first-child{margin-top:0}.reschedule-modal .appointment-summary p:last-child{margin-bottom:0}.reschedule-modal .form-group{margin-bottom:1.5rem}.reschedule-modal .form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600;font-size:.9rem}.reschedule-modal .form-input,.reschedule-modal .form-select,.reschedule-modal .form-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.9rem;transition:border-color .2s;box-sizing:border-box}.reschedule-modal .form-input:focus,.reschedule-modal .form-select:focus,.reschedule-modal .form-textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 3px #0d0d0d1a}.reschedule-modal .form-textarea{resize:vertical}.reschedule-modal .error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;padding:.75rem;margin-bottom:1rem;font-size:.9rem}.past-appointment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.past-appointment-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:1px solid #eee;background:#0d0d0d;color:#fff}.modal-header h2{margin:0;font-size:1.3rem}.close-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:#ffffff4d}.modal-content{padding:2rem}.error-message{padding:.75rem 1rem;background:#fee2e2;color:#991b1b;border-left:4px solid #dc2626;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.appointment-summary{background:#f0f0f0;border-radius:8px;padding:1.5rem;margin-bottom:2rem;border-left:4px solid #0d0d0d}.appointment-summary p{margin:.5rem 0;color:#333;font-size:.95rem}.appointment-summary strong{color:#0d0d0d}.confirm-question{text-align:center}.question-text{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:1.5rem}.button-group{display:flex;gap:1rem;width:100%}.btn-yes,.btn-no,.btn-danger,.btn-secondary,.btn-primary{flex:1;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem}.btn-yes{background:#dcfce7;color:#166534;border:2px solid #22c55e}.btn-yes:hover:not(:disabled){background:#bbf7d0;transform:translateY(-2px)}.btn-no{background:#fee2e2;color:#991b1b;border:2px solid #dc2626}.btn-no:hover:not(:disabled){background:#fecaca;transform:translateY(-2px)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px)}.btn-yes:disabled,.btn-no:disabled,.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.rating-section,.no-show-section{width:100%}.section-title{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:1.5rem}.rating-input{margin-bottom:2rem}.rating-input label{display:block;font-weight:600;color:#333;margin-bottom:.75rem}.stars{display:flex;gap:.5rem;margin-bottom:1rem;justify-content:center}.star{background:none;border:none;font-size:2.5rem;cursor:pointer;color:#ddd;transition:all .2s ease;padding:0}.star.filled{color:#fbbf24}.star:hover{transform:scale(1.2)}.rating-value{text-align:center;color:#0d0d0d;font-weight:600;margin:0}.review-input{margin-bottom:2rem}.review-input label{display:block;font-weight:600;color:#333;margin-bottom:.75rem}.review-input textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;resize:vertical;box-sizing:border-box}.review-input textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 3px #0d0d0d1a}.no-show-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.no-show-btn{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f0f0f0;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.no-show-btn:hover,.no-show-btn.selected{border-color:#0d0d0d;background:#e5e5e5}.no-show-btn .icon{font-size:1.8rem;flex-shrink:0}.no-show-btn .label{font-weight:600;color:#333;font-size:.95rem}@media (max-width: 768px){.past-appointment-modal{max-width:100%;width:95%;max-height:95vh}.modal-header,.modal-content{padding:1.5rem}.button-group{flex-direction:column}.btn-yes,.btn-no,.btn-danger,.btn-secondary,.btn-primary{width:100%}.appointment-summary{padding:1rem}.stars{gap:.25rem}.star{font-size:2rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:auto}.add-medication-modal{position:relative;background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;pointer-events:auto}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;transition:color .2s;z-index:10}.modal-header{padding:2rem 2rem 1rem;border-bottom:1px solid #eee;background:#fff;color:#333}.modal-header h2{margin:0;color:#333;font-size:1.5rem;font-weight:600}.add-medication-form{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.95rem;font-weight:600;color:#333}.form-input,.form-textarea{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;transition:border-color .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 3px #0d0d0d1a}.form-input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.7}.error-message{padding:.75rem 1rem;background:#fee2e2;color:#991b1b;border-radius:6px;font-size:.9rem;border-left:4px solid #dc2626}.btn-primary,.btn-secondary{flex:1;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0d0d0d4d}.btn-secondary:hover:not(:disabled){background:#f0f0f0}.parameter-group{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:.5rem;align-items:flex-end;margin-bottom:.5rem}.btn-add-param,.btn-remove-param{padding:.75rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem}.btn-add-param{background:#f0f4ff;color:#0d0d0d;border:1px dashed #0d0d0d;grid-column:1 / -1;margin-top:.5rem}.btn-add-param:hover{background:#e8ecff}.btn-remove-param{background:#fee2e2;color:#dc2626;padding:.5rem .75rem;min-width:40px}.btn-remove-param:hover{background:#fecaca}.btn-upload-image{padding:.75rem 1rem;background:#f0f4ff;color:#0d0d0d;border:2px dashed #0d0d0d;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-upload-image:hover{background:#e8ecff}.uploaded-images{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.image-preview-item{display:flex;gap:1rem;align-items:flex-start;padding:.75rem;background:#f0f0f0;border-radius:8px;border:1px solid #ddd}.image-preview-thumb{width:80px;height:80px;object-fit:cover;border-radius:6px;border:1px solid #ddd}.image-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.image-name{margin:0;font-size:.9rem;color:#333;word-break:break-all}.btn-remove-image{align-self:flex-start;padding:.4rem .8rem;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-remove-image:hover{background:#fecaca}@media (max-width: 768px){.parameter-group{grid-template-columns:1fr 1fr}}.added-advices-list{background:#f0f0f0;border:1px solid #e5e5e5;border-radius:8px;padding:1rem;margin-bottom:1rem}.added-advice-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#fff;border:1px solid #ddd;border-radius:6px;margin-bottom:.5rem;justify-content:space-between}.added-advice-item:last-child{margin-bottom:0}.advice-type-badge{background:#0d0d0d;color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.75rem;font-weight:600;min-width:80px;text-align:center}.advice-summary{flex:1;font-size:.9rem}.advice-summary strong{display:block;color:#333;margin-bottom:.25rem}.advice-summary div{color:#666;font-size:.85rem}.btn-remove-advice{background:#fee2e2;color:#dc2626;border:none;border-radius:4px;padding:.4rem .6rem;font-size:1rem;cursor:pointer;transition:all .2s}.btn-remove-advice:hover{background:#fecaca}.btn-add-another{padding:.75rem 1rem;background:#f0f4ff;color:#0d0d0d;border:2px dashed #0d0d0d;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem;width:100%}.btn-add-another:hover:not(:disabled){background:#e8ecff}.btn-add-another:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.add-medication-modal{width:95%;max-height:95vh}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-header h2{font-size:1.2rem}.add-medication-form{padding:1.5rem;gap:1rem}.form-group label{font-size:.85rem}.form-input,.form-textarea{font-size:.85rem;padding:.6rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;pointer-events:auto}.modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;position:relative;pointer-events:auto}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;transition:color .2s;z-index:1001}.modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;color:#333;font-size:1.3rem;font-weight:600}.alr-step-bar{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:1rem 1.5rem;border-bottom:1px solid #eee;sticky:top 0;background:#fff;z-index:10}.alr-step-dot{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#f3f4f6;color:#999;font-weight:600;font-size:.9rem;transition:all .2s;border:2px solid #eee}.alr-step-dot.active{background:#667eea;color:#fff;border-color:#667eea}.alr-step-dot.done{background:#22c55e;color:#fff;border-color:#22c55e}.alr-mode-selection{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:.5rem 0 1rem}.alr-mode-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s;gap:.5rem}.alr-mode-card:hover{border-color:#667eea;background:#f8f9ff;box-shadow:0 4px 12px #667eea26}.alr-mode-icon{font-size:2rem;margin-bottom:.25rem}.alr-mode-title{font-weight:700;font-size:.95rem;color:#333}.alr-mode-desc{font-size:.8rem;color:#888;line-height:1.4}.alr-back-link{background:none;border:none;color:#667eea;font-size:.85rem;cursor:pointer;padding:0;margin-bottom:1.25rem;display:inline-flex;align-items:center;gap:.25rem}.alr-back-link:hover{text-decoration:underline}.alr-upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem}.alr-upload-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.25rem 1rem;border:2px solid #667eea;border-radius:8px;background:#f8f9ff;color:#667eea;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.alr-upload-btn:hover{background:#eef0ff;border-color:#764ba2;color:#764ba2}.alr-upload-btn-icon{font-size:1.5rem}.alr-file-list{margin:1.5rem;padding:0;list-style:none}.alr-file-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:.75rem;position:relative}.alr-file-thumb{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid #ddd;flex-shrink:0}.alr-pdf-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:1px solid #ddd;border-radius:4px;font-size:1.5rem;flex-shrink:0}.alr-file-name{flex:1;font-size:.9rem;color:#333;word-break:break-word}.alr-file-size{font-size:.8rem;color:#999;margin-left:auto}.alr-btn-remove-file{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.2rem;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.alr-btn-remove-file:hover{color:#991b1b}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;color:#555;font-size:.85rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.form-input,.form-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit;transition:border-color .2s,background-color .2s;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:#667eea;background:#f8f9ff}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 480px){.form-row{grid-template-columns:1fr}}.alr-review-container{display:flex;flex-direction:column;gap:1.5rem}.alr-result-card{border:1px solid #e0e4f5;border-radius:8px;padding:1.5rem;background:#fff}.alr-result-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.alr-result-card-header h3{margin:0;color:#333;font-size:1rem;font-weight:600}.alr-btn-remove-card{background:none;border:none;color:#dc2626;cursor:pointer;font-size:.9rem;padding:.4rem .8rem;border-radius:4px;transition:background .2s,color .2s}.alr-btn-remove-card:hover{background:#fee2e2;color:#991b1b}.alr-btn-remove-card:disabled{opacity:.5;cursor:not-allowed}.alr-name-mismatch-warning{background:#fef3c7;border:1px solid #fcd34d;border-left:3px solid #f59e0b;color:#92400e;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.85rem;line-height:1.4}.alr-name-mismatch-warning strong{font-weight:600}.alr-fiy-box{background:#eff6ff;border:1px solid #bfdbfe;border-left:3px solid #3b82f6;color:#1e40af;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.85rem;line-height:1.4}.alr-fiy-box ul{margin:0;padding-left:1.2rem}.alr-fiy-box li{margin-bottom:.3rem}.alr-param-grid{display:grid;grid-template-columns:1.5fr 1.2fr .8fr 1.2fr auto;gap:.5rem;align-items:start;margin-bottom:1rem}.alr-param-row-header{display:grid;grid-template-columns:1.5fr 1.2fr .8fr 1.2fr auto;gap:.5rem;margin-bottom:.75rem;font-weight:600;font-size:.8rem;text-transform:uppercase;color:#999}.alr-param-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:inherit}.alr-param-input:focus{outline:none;border-color:#667eea;background:#f8f9ff}.alr-btn-remove-param{background:none;border:none;color:#dc2626;cursor:pointer;padding:.5rem;font-size:1rem;transition:color .2s;height:100%;width:40px;display:flex;align-items:center;justify-content:center}.alr-btn-remove-param:hover{color:#991b1b}.alr-btn-add-param{background:none;border:1px dashed #667eea;color:#667eea;cursor:pointer;padding:.5rem 1rem;border-radius:4px;font-size:.85rem;font-weight:600;transition:all .2s;margin-top:.75rem}.alr-btn-add-param:hover{background:#f8f9ff;border-color:#764ba2;color:#764ba2}.alr-save-progress{text-align:center;padding:2rem}.alr-progress-text{color:#666;font-size:.95rem;margin-bottom:1rem}.alr-progress-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;margin-bottom:1rem}.alr-progress-bar-fill{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;transition:width .3s}.modal-footer{padding:1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.modal-footer-multi{padding:1.5rem;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.modal-footer-multi .modal-footer-left,.modal-footer-multi .modal-footer-right{display:flex;gap:.75rem}.btn-primary,.btn-secondary,.btn-link{padding:.6rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;min-width:120px;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#667eea;border:1px solid #667eea}.btn-secondary:hover:not(:disabled){background:#f8f9ff}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:#667eea;text-decoration:none;padding:0;min-width:auto;cursor:pointer;font-weight:400}.btn-link:hover{text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed}input[type=file].alr-hidden-input{display:none}@media (max-width: 600px){.modal-overlay{padding:0}.modal-content{max-width:100%;width:100%;max-height:100vh;border-radius:8px 8px 0 0}.modal-header{padding:1.25rem 1rem .75rem}.modal-header h2{font-size:1.1rem}.modal-body{padding:1rem}.modal-footer,.modal-footer-multi{padding:1rem;flex-direction:column}.modal-footer-multi .modal-footer-left,.modal-footer-multi .modal-footer-right{width:100%;flex-direction:column}.btn-primary,.btn-secondary{width:100%}.alr-step-bar{gap:1rem;padding:.75rem 1rem}.alr-step-dot{width:32px;height:32px;font-size:.8rem}.alr-mode-selection{grid-template-columns:1fr 1fr;gap:.75rem}.alr-mode-card{padding:1.25rem .75rem}.alr-upload-actions{grid-template-columns:1fr 1fr}.alr-file-list{margin:0}.alr-param-grid,.alr-param-row-header{grid-template-columns:1fr 1fr .5fr auto}.alr-param-input{font-size:.85rem;padding:.4rem}.alr-result-card{padding:1rem}.form-row{grid-template-columns:1fr}}.symptom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;pointer-events:auto}.symptom-modal-content{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;position:relative;pointer-events:auto}.symptom-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;transition:color .2s;z-index:1001}.symptom-modal-close:hover{color:#333}.symptom-modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #eee}.symptom-modal-header h2{margin:0;color:#333;font-size:1.3rem}.symptom-modal-body{padding:1.5rem}.symptom-detail-row{margin-bottom:1.5rem}.symptom-detail-row:last-child{margin-bottom:0}.symptom-detail-row label{display:block;font-weight:600;color:#555;font-size:.85rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.symptom-detail-row p{margin:0;color:#333;font-size:1rem;line-height:1.5}.symptom-status-badge{display:inline-block;background:#d1fae5;color:#065f46;padding:.4rem .8rem;border-radius:4px;font-size:.9rem;font-weight:500}.symptom-note{background:#f9fafb;padding:.75rem;border-left:3px solid #667eea;border-radius:4px;color:#333}.symptom-notes-list{display:flex;flex-direction:column;gap:.75rem}.symptom-note-item{background:#f9fafb;padding:.75rem;border-left:3px solid #667eea;border-radius:4px}.note-date{font-size:.75rem;color:#999;font-weight:600;margin-bottom:.3rem}.symptom-note-item p{margin:0;font-size:.9rem;color:#555}.symptom-modal-footer{padding:1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:.75rem}.symptom-modal-close-btn{padding:.6rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:.9rem;transition:background .2s}.symptom-modal-close-btn:hover{background:#5568d3}@media (max-width: 600px){.symptom-modal-overlay{padding:0}.symptom-modal-content{max-width:100%;width:100%;max-height:90vh;border-radius:8px 8px 0 0}.symptom-modal-header{padding:1.25rem 1rem .75rem}.symptom-modal-header h2{font-size:1.1rem}.symptom-modal-body{padding:1rem}.symptom-detail-row{margin-bottom:1.25rem}}.image-viewer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:2000;pointer-events:auto}.image-viewer-content{position:relative;background:#fff;border-radius:12px;padding:2rem;max-width:90%;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0000004d;pointer-events:auto}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#999;cursor:pointer;transition:color .2s;z-index:10}.close-btn:hover{color:#333}.image-viewer-body{display:flex;flex-direction:column;align-items:center;gap:1rem}.full-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px;border:1px solid #eee}.image-filename{text-align:center;color:#666;font-size:.95rem;margin:0;word-break:break-all;max-width:100%}@media (max-width: 768px){.image-viewer-content{max-width:95%;padding:1.5rem}.full-image{max-height:50vh}.close-btn{font-size:1.5rem;top:.5rem;right:.5rem}}.ai-diagnosis-container{display:flex;flex-direction:column;height:100%;background:#fff;overflow:hidden}.ai-diagnosis-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1.25rem;background:#fff;border-bottom:1px solid #e5e5e5}.ai-diagnosis-header h2{margin:0;font-size:1rem;font-weight:600;color:#0d0d0d}.btn-new-session{padding:.35rem .85rem;background:transparent;color:#0d0d0d;border:1px solid #d1d5db;border-radius:6px;font-weight:500;font-size:.82rem;cursor:pointer;transition:background .15s;white-space:nowrap;flex-shrink:0}.btn-new-session:hover:not(:disabled){background:#f5f5f5}.btn-new-session:disabled{opacity:.4;cursor:not-allowed}.ai-diagnosis-body{display:flex;flex:1;min-height:0;overflow:hidden}.sessions-sidebar{width:220px;flex-shrink:0;background:#fafafa;border-right:1px solid #e5e5e5;overflow-y:auto;padding:.75rem .5rem}.sessions-sidebar h3{margin:0 0 .5rem .5rem;font-size:.7rem;color:#999;text-transform:uppercase;letter-spacing:.6px;font-weight:600}.no-sessions{text-align:center;color:#bbb;padding:1.5rem 0;font-size:.85rem}.sessions-list{list-style:none;padding:0;margin:0}.session-item{padding:.55rem .75rem;border-radius:6px;cursor:pointer;transition:background .15s;margin-bottom:.1rem}.session-item:hover{background:#f0f0f0}.session-item.active{background:#ececec}.session-title{font-size:.85rem;font-weight:500;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-date{font-size:.72rem;color:#aaa;margin-top:.1rem}.session-creator{display:none}.chat-area{flex:1;display:flex;flex-direction:column;background:#fff;min-height:0;overflow:hidden}.empty-state{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;color:#999;gap:.75rem}.empty-icon{font-size:2rem;opacity:.5}.empty-state p{margin:0;font-size:.95rem;color:#888}.empty-state .btn-primary{display:inline-block;width:auto;max-width:220px;padding:.5rem 1.2rem;font-size:.85rem;margin-top:.25rem;flex:none}.chat-area>div[style]{padding:.5rem 1.25rem!important;font-size:.75rem!important;color:#aaa!important;background:transparent!important;border-bottom:1px solid #f0f0f0!important}.messages-container{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.welcome-message{display:flex;flex-direction:column;gap:.75rem;max-width:460px;margin:auto;text-align:center;color:#888;padding:1rem}.welcome-message p{margin:0;font-size:.95rem;line-height:1.6}.disclaimer{background:#fffbeb;border-left:3px solid #f59e0b;padding:.75rem 1rem;border-radius:6px;text-align:left;font-size:.82rem;color:#92400e}.disclaimer strong{display:block;margin-bottom:.25rem;font-size:.8rem}.message{display:flex;flex-direction:column;animation:fadeUp .2s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.message-content{padding:.6rem .9rem;border-radius:14px;max-width:75%;word-wrap:break-word;white-space:pre-wrap;line-height:1.55;font-size:.92rem}.message.user .message-content{background:#0d0d0d;color:#fff;border-bottom-right-radius:4px}.message.assistant .message-content{background:transparent;color:#1a1a1a;padding-left:0;border-bottom-left-radius:4px}.message-time{font-size:.68rem;color:#ccc;margin-top:.2rem;padding:0 .25rem}.ai-markdown{white-space:normal}.ai-markdown p{margin:0 0 .5rem;line-height:1.6}.ai-markdown p:last-child{margin-bottom:0}.ai-markdown ul,.ai-markdown ol{margin:.25rem 0 .5rem 1.25rem;padding:0}.ai-markdown li{margin-bottom:.2rem;line-height:1.5}.ai-markdown strong{font-weight:600;color:#0d0d0d}.ai-markdown em{font-style:italic}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3{font-weight:600;margin:.75rem 0 .25rem;color:#0d0d0d}.ai-markdown h1{font-size:1.1rem}.ai-markdown h2{font-size:1rem}.ai-markdown h3{font-size:.95rem}.ai-markdown code{background:#f4f4f4;padding:.1rem .35rem;border-radius:4px;font-size:.85rem;font-family:monospace}.ai-markdown blockquote{border-left:3px solid #e0e0e0;margin:.5rem 0;padding-left:.75rem;color:#666}.ai-markdown hr{border:none;border-top:1px solid #e5e5e5;margin:.5rem 0}.ai-markdown table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.88rem}.ai-markdown th,.ai-markdown td{border:1px solid #e0e0e0;padding:.4rem .75rem;text-align:left}.ai-markdown th{background:#f5f5f5;font-weight:600}.ai-markdown tr:nth-child(2n){background:#fafafa}.message-content.loading{display:flex;gap:5px;align-items:center;padding:.5rem 0;background:transparent}.message-content.loading span{width:7px;height:7px;border-radius:50%;background:#ccc;animation:blink 1.2s infinite}.message-content.loading span:nth-child(2){animation-delay:.2s}.message-content.loading span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.error-message{padding:.6rem .9rem;background:#fef2f2;color:#b91c1c;border-radius:6px;font-size:.85rem;border-left:3px solid #ef4444}.message-form{display:flex;gap:.5rem;padding:.75rem 1rem;background:#fff;border-top:1px solid #f0f0f0}.message-input{flex:1;padding:.6rem 1rem;border:1px solid #e0e0e0;border-radius:999px;font-size:.9rem;font-family:inherit;outline:none;background:#fafafa;transition:border-color .15s,background .15s}.message-input:focus{border-color:#aaa;background:#fff}.message-input:disabled{background:#f5f5f5;color:#bbb}.btn-send{padding:.6rem 1.1rem;background:#0d0d0d;color:#fff;border:none;border-radius:999px;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-send:hover:not(:disabled){background:#333}.btn-send:disabled{opacity:.35;cursor:not-allowed}.btn-primary{padding:.6rem 1.5rem;background:#0d0d0d;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#333}@media (max-width: 768px){.ai-diagnosis-container{border:none;border-radius:0}.ai-diagnosis-body{flex-direction:column}.sessions-sidebar{width:100%;border-right:none;border-bottom:1px solid #e5e5e5;max-height:130px;padding:.5rem}.message-content{max-width:88%}.messages-container{padding:1rem}.message-form{padding:.6rem .75rem}}.manage-patients-container{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}.manage-patients-loading{text-align:center;color:#999;padding:3rem 1rem;font-size:1rem}.patients-section{background:#fff;border:1px solid #eee;border-radius:12px;padding:2rem}.patients-section h3{margin:0 0 1.5rem;color:#333;font-size:1.3rem;font-weight:600}.no-patients{text-align:center;color:#999;padding:2rem 1rem;background:#f0f0f0;border-radius:8px;border:1px dashed #ddd}.patients-list{display:flex;flex-direction:column;gap:1rem}.patient-card{background:#fff;border:2px solid #eee;border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .3s ease}.patient-card:hover{border-color:#0d0d0d;box-shadow:0 4px 12px #0d0d0d26;transform:translate(4px)}.patient-card-main{display:flex;gap:1rem;flex:1;align-items:center}.patient-card-avatar{flex-shrink:0}.patient-avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #e0e4ff}.patient-card-info{flex:1}.patient-card-info h4{margin:0 0 .25rem;color:#333;font-size:1.1rem;font-weight:600}.patient-description{color:#555;font-size:.85rem;margin:0 0 .25rem}.patient-email{color:#0d0d0d;font-size:.95rem;margin:.25rem 0;font-weight:500}.patient-phone{color:#999;font-size:.9rem;margin:.25rem 0}.patient-card-stats{display:flex;gap:1.5rem}.card-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;background:#f0f0f0;border-radius:8px;border:1px solid #eee;text-align:center;min-width:80px}.card-stat .count{font-size:1.5rem;font-weight:700;color:#0d0d0d}.card-stat .count.upcoming{color:#22c55e}.card-stat .count.past{color:#f97316}.card-stat .label{font-size:.8rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.card-arrow{color:#0d0d0d;font-size:1.5rem;font-weight:600;transition:all .3s ease}.patient-card:hover .card-arrow{color:#2d2d2d;transform:translate(4px)}.patient-details-view{background:#fff;border:1px solid #eee;border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:2rem}.back-btn{align-self:flex-start;padding:.5rem 1rem;border:1px solid #0d0d0d;background:#fff;color:#0d0d0d;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.back-btn:hover{background:#f0f0f0;transform:translate(-2px)}.patient-header{display:flex;align-items:center;gap:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid #f0f0f0}.patient-header-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid #0d0d0d;flex-shrink:0}.patient-header-avatar{width:72px;height:72px;border-radius:50%;background:#0d0d0d;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;flex-shrink:0}.patient-info h2{margin:0 0 .75rem;color:#333;font-size:1.8rem}.patient-info .patient-email{color:#0d0d0d;font-weight:600;margin:.25rem 0}.patient-info .patient-phone{color:#999;margin:.25rem 0}.patient-stats{display:flex;gap:1rem}.stat{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#f0f0f0;border-radius:8px;border:1px solid #eee;min-width:100px}.stat-label{font-size:.8rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:700;color:#0d0d0d;margin-top:.5rem}.stat-value.upcoming{color:#22c55e}.stat-value.past{color:#f97316}.filter-buttons{display:flex;gap:1rem;flex-wrap:wrap}.filter-btn{padding:.75rem 1.5rem;border:2px solid #ddd;background:#fff;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;color:#666}.filter-btn.active{background:#0d0d0d;color:#fff;border-color:transparent;box-shadow:0 4px 12px #0d0d0d4d}.appointments-section{display:flex;flex-direction:column;gap:1rem}.appointments-list{display:flex;flex-direction:column;gap:1.5rem}.appointment-card{background:#f0f0f0;border:1px solid #eee;border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s ease}.appointment-card:hover{border-color:#0d0d0d;box-shadow:0 2px 8px #0d0d0d1a}.appointment-header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.appointment-date{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;background:#fff;border-radius:8px;border:2px solid #0d0d0d}.appointment-date .date{font-size:.9rem;color:#999}.appointment-date .time{font-size:1.2rem;font-weight:700;color:#333;margin-top:.25rem}.appointment-doctor{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;flex:1;min-width:200px}.doctor-name{font-weight:600;color:#333;font-size:1rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.appointment-reason{padding:.75rem;background:#fff;border-left:3px solid #0d0d0d;border-radius:4px;color:#666;font-size:.95rem}.appointment-reason strong{color:#333;margin-right:.5rem}.note-section{padding:1rem;background:#fff;border-radius:8px;border:1px solid #ddd}.note-display{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.note-content{flex:1}.note-content strong{color:#333;display:block;margin-bottom:.5rem}.note-content p{margin:0;color:#666;font-size:.95rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.no-note{color:#999;font-style:italic;flex:1}.edit-note-btn{padding:.5rem 1rem;border:1px solid #0d0d0d;background:#fff;color:#0d0d0d;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease;white-space:nowrap}.edit-note-btn:hover{background:#f0f0f0;transform:translateY(-1px)}.note-editor{display:flex;flex-direction:column;gap:1rem}.note-textarea{width:100%;padding:.75rem;border:2px solid #0d0d0d;border-radius:6px;font-family:inherit;font-size:.95rem;resize:vertical;box-sizing:border-box}.note-textarea:focus{outline:none;border-color:#2d2d2d;box-shadow:0 0 0 3px #0d0d0d1a}.note-actions{display:flex;gap:.75rem;justify-content:flex-end}.save-note-btn,.cancel-note-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .2s ease}.save-note-btn{background:#0d0d0d;color:#fff}.save-note-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0d0d0d4d}.save-note-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-note-btn{background:#eee;color:#333;border:1px solid #ddd}.cancel-note-btn:hover:not(:disabled){background:#ddd}.cancel-note-btn:disabled{opacity:.6;cursor:not-allowed}.appointment-note-section{padding:1rem;background:#fff;border-radius:8px;border:1px solid #ddd;margin-top:.5rem}.note-meta{margin:.5rem 0 0!important;color:#999;font-size:.9rem;font-style:italic}.note-options{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.privacy-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#666;font-size:.95rem}.privacy-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.privacy-checkbox span{font-weight:500}.note-buttons{display:flex;gap:.75rem;justify-content:flex-end}.btn-save,.btn-cancel,.btn-edit-note,.btn-add-note{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-save{background:#0d0d0d;color:#fff}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0d0d0d4d}.btn-cancel{background:#eee;color:#333;border:1px solid #ddd}.btn-cancel:hover{background:#ddd}.btn-edit-note,.btn-add-note{background:#fff;color:#0d0d0d;border:1px solid #0d0d0d}.btn-edit-note:hover,.btn-add-note:hover{background:#f0f0f0;transform:translateY(-1px)}.appointment-info{flex:1}.appointment-info h4{margin:0 0 .5rem;color:#333;font-weight:600;font-size:1rem}.appointment-details{color:#999;font-size:.9rem;margin:.25rem 0}.appointment-type{color:#0d0d0d;font-size:.9rem;margin:.25rem 0;font-weight:500}.appointment-status{display:flex;flex-direction:column;gap:.5rem}.status-badge{display:inline-block;padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;text-transform:capitalize}.status-badge.scheduled{background:#dbeafe;color:#0369a1}.status-badge.completed{background:#dcfce7;color:#166534}.status-badge.no-show{background:#fee2e2;color:#991b1b}.status-badge.cancelled{background:#f3f4f6;color:#6b7280}.no-appointments{text-align:center;color:#999;padding:2rem 1rem;background:#f0f0f0;border-radius:8px;border:1px dashed #ddd}.filter-buttons{display:flex;gap:.5rem}.filter-btn{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem;color:#666;transition:all .2s ease}.filter-btn:hover{border-color:#0d0d0d;color:#0d0d0d}.filter-btn.active{background:#0d0d0d;color:#fff;border-color:transparent}.appointment-cancel-section{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid #f0f0f0}.cancel-appointment-btn{flex:1;padding:.6rem 1rem;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .2s ease}.cancel-appointment-btn:hover:not(:disabled){background:#fecaca;transform:translateY(-1px);box-shadow:0 2px 8px #9c1b1b26}.cancel-appointment-btn:disabled{opacity:.6;cursor:not-allowed}.appointment-actions{display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.appointment-buttons{display:flex;gap:.75rem}.reschedule-appointment-btn{flex:1;padding:.6rem 1rem;background:#dbeafe;color:#1e40af;border:1px solid #93c5fd;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .2s ease}.reschedule-appointment-btn:hover{background:#93c5fd;transform:translateY(-1px);box-shadow:0 2px 8px #1e40af26}.reschedule-form{background:#f0f0f0;border:1px solid #bfdbfe;border-radius:8px;padding:1rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group{flex:1}.form-group label{display:block;font-size:.85rem;font-weight:600;color:#333;margin-bottom:.4rem}.form-group input{width:100%;padding:.6rem;border:1px solid #bfdbfe;border-radius:4px;font-size:.9rem;font-family:inherit}.form-group input:focus{outline:none;border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a}.action-buttons{display:flex;gap:.75rem}.save-reschedule-btn,.cancel-reschedule-btn{flex:1;padding:.6rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.9rem;transition:all .2s ease}.save-reschedule-btn{background:#22c55e;color:#fff}.save-reschedule-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px);box-shadow:0 2px 8px #22c55e33}.save-reschedule-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-reschedule-btn{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.cancel-reschedule-btn:hover:not(:disabled){background:#fecaca}.cancel-reschedule-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.manage-patients-container{gap:1.5rem;padding:1rem 0}.patients-section{padding:1.5rem}.patient-card-main{flex-direction:column;align-items:flex-start;gap:1rem}.patient-card-stats{width:100%;justify-content:space-around}.patient-header{flex-direction:column}.patient-stats{width:100%;justify-content:space-around}.filter-buttons{flex-direction:column}.filter-btn{width:100%}.appointment-header{flex-direction:column;align-items:flex-start}.note-display{flex-direction:column}.edit-note-btn{align-self:flex-start}}.patient-actions-header{display:flex;gap:1rem;margin-bottom:1rem}.btn-add-record{padding:.75rem 1.5rem;background:#0d0d0d;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn-add-record:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0d0d0d4d}.btn-add-record:active{transform:translateY(0)}.patient-section{background:#fff;border:1px solid #eee;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.patient-section h3{margin:0 0 1.5rem;color:#333;font-size:1.1rem;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{margin:0}.btn-section-add{background:none;border:none;cursor:pointer;font-size:1.5rem;padding:.25rem .5rem;color:#0d0d0d;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-section-add:hover{transform:scale(1.15);color:#2d2d2d}.no-items{text-align:center;color:#999;padding:2rem 1rem;background:#f0f0f0;border-radius:8px;border:1px dashed #ddd;margin:0}.records-list,.advices-list{display:flex;flex-direction:column;gap:1rem}.record-item{background:#f0f0f0;border:1px solid #eee;border-left:4px solid #0d0d0d;border-radius:8px;padding:1rem}.record-item.medication{border-left-color:#10b981}.record-item.lab_test{border-left-color:#f59e0b}.record-item.diagnosis{border-left-color:#ef4444}.record-item.doctor_advice{border-left-color:#8b5cf6}.record-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #ddd;gap:1rem}.record-header-left{display:flex;flex-direction:column;gap:.5rem;flex:1}.record-type{display:inline-block;padding:.25rem .75rem;background:#0d0d0d26;border-radius:4px;color:#0d0d0d;font-weight:600;font-size:.75rem;width:fit-content}.record-added-by{font-size:.8rem;color:#666;font-weight:500}.record-added-by strong{color:#333;font-weight:600}.record-date{color:#999;font-size:.85rem;white-space:nowrap;text-align:right}.record-title{margin:0 0 .5rem;color:#333;font-size:.95rem;font-weight:600}.record-description{margin:0;color:#666;font-size:.9rem;line-height:1.4}.advice-item{background:#f0f0f0;border:1px solid #bfdbfe;border-left:4px solid #3b82f6;border-radius:8px;padding:1rem}.advice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #ddd}.doctor-info{display:flex;flex-direction:column;gap:.25rem}.doctor-name{color:#333;font-weight:600;font-size:.95rem}.doctor-spec{color:#0d0d0d;font-size:.85rem}.advice-date{color:#999;font-size:.85rem}.advice-title{margin:0 0 .5rem;color:#333;font-size:.95rem;font-weight:600}.advice-description{margin:0;color:#666;font-size:.9rem;line-height:1.4}.btn-add-diagnosis{padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn-add-diagnosis:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.btn-add-diagnosis:active{transform:translateY(0)}.btn-add-medication{padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn-add-medication:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-add-medication:active{transform:translateY(0)}.btn-add-lab{padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn-add-lab:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.btn-add-lab:active{transform:translateY(0)}.items-list{display:flex;flex-direction:column;gap:1rem}.item-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1rem;transition:all .2s ease}.item-card:hover{box-shadow:0 2px 8px #0000001a}.item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #eee}.item-main{flex:1;display:flex;flex-direction:column;gap:.25rem}.item-title{margin:0;color:#333;font-size:1rem;font-weight:600}.item-actions{display:flex;gap:.5rem}.btn-edit{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:0;color:#0d0d0d;transition:all .2s ease}.btn-edit:hover{transform:scale(1.2)}.btn-delete{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:0;color:#dc2626;transition:all .2s ease}.btn-delete:hover{transform:scale(1.2)}.item-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem;color:#666;line-height:1.5}.item-description{margin:.5rem 0 0;color:#666;font-size:.9rem;line-height:1.4}.diagnosis-item{border-left:none;background:transparent}.diagnosis-item.active{border-left:none}.diagnosis-item.inactive{border-left:none;opacity:.7}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge.active{background:#f4f4f4;color:#0d0d0d}.status-badge.inactive{background:#f4f4f4;color:#666}.lab-item,.advice-item,.medication-item{border-left:none;background:transparent}.medication-item.stopped{border-left:none;background:transparent;opacity:.7}.result-value{color:#0d0d0d;font-weight:600;font-size:.95rem}.parameters-header{padding:.75rem 0 .5rem;border-bottom:2px solid #0d0d0d}.parameters-header-row{display:flex;gap:1rem;font-weight:600;font-size:.9rem;color:#333}.param-header-name{flex:1;min-width:150px}.param-header-value{min-width:100px;text-align:right}.param-header-reference{min-width:120px;text-align:right}.parameters-list{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(59,130,246,.2)}.parameter-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#ffffff80;border-radius:6px;border-left:3px solid #3b82f6}.parameter-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.parameter-name{font-weight:700;color:#333;flex:1;min-width:150px}.parameter-value{color:#0d0d0d;font-weight:600;min-width:100px;text-align:right}.parameter-value.out-of-range{color:#dc2626;font-weight:700;background-color:#fee2e2;padding:.25rem .5rem;border-radius:4px}.parameter-name.no-value,.parameter-value.no-value,.parameter-reference.no-value{color:#bbb;opacity:.6}.parameter-reference{color:#10b981;font-weight:500;min-width:120px;text-align:right;font-size:.9rem}.parameter-range{color:#1e40af;font-size:.9rem;font-weight:500;background:#dbeafe;padding:.4rem .6rem;border-radius:4px;display:inline-block}.btn-expand-parameters{width:100%;padding:.6rem 1rem;margin-top:.5rem;background:#f0f4ff;color:#0d0d0d;border:1px solid #0d0d0d;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.9rem}.btn-expand-parameters:hover{background:#e8ecff;color:#5568d3}.lab-images-gallery{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0;padding:.75rem;background:#ffffff80;border-radius:8px;border:1px solid rgba(59,130,246,.2)}.lab-image-thumb{width:100px;height:100px;object-fit:cover;border-radius:6px;border:2px solid #3b82f6;cursor:pointer;transition:all .2s}.lab-image-thumb:hover{transform:scale(1.1);box-shadow:0 4px 12px #3b82f64d}.lab-pdf-link{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:100px;border-radius:6px;border:2px solid #f59e0b;background:#fef3c7;color:#b45309;text-decoration:none;cursor:pointer;transition:all .2s}.lab-pdf-link:hover{transform:scale(1.1);box-shadow:0 4px 12px #f59e0b4d;background:#fcd34d}.lab-pdf-icon{font-size:2rem;line-height:1}.lab-pdf-text{font-size:.75rem;font-weight:600;margin-top:.25rem}.doctor-info{font-size:.85rem;color:#0d0d0d}.medications-list{display:flex;flex-direction:column;gap:1rem}.medication-item{background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #10b981;border-radius:8px;padding:1rem}.medication-item.stopped{background:#fef2f2;border-color:#fecaca;border-left-color:#ef4444}.medication-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.medication-main{display:flex;align-items:center;gap:1rem}.medication-name{margin:0;color:#333;font-size:1rem;font-weight:600}.medication-status{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;white-space:nowrap}.medication-status.ongoing{background:#dcfce7;color:#15803d}.medication-status.stopped{background:#fee2e2;color:#991b1b}.medication-date{color:#666;font-size:.85rem;white-space:nowrap;text-align:right}.medication-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;padding-top:.75rem;border-top:1px solid #ddd}.medication-details .detail{color:#666;font-size:.9rem;line-height:1.4}.medication-details .detail strong{color:#333;font-weight:600}@media (max-width: 480px){.manage-patients-container{gap:1rem;padding:.5rem 0}.patients-section{padding:1rem}.patient-card{flex-direction:column;align-items:flex-start;padding:1rem}.card-arrow{align-self:flex-end}.patient-details-view{padding:1rem}.patient-header{gap:1rem}.patient-info h2{font-size:1.4rem}.patient-stats{gap:.5rem;width:100%}.stat{min-width:80px;padding:.5rem}.stat-value{font-size:1.5rem}.patient-section{padding:1rem}.record-item,.advice-item{padding:.75rem}.record-title,.advice-title,.doctor-name{font-size:.85rem}.appointment-card{padding:1rem;gap:.75rem}.appointment-date{padding:.5rem;font-size:.85rem}.appointment-date .time,.note-textarea{font-size:1rem}.form-row{flex-direction:column;gap:.75rem}.appointment-buttons{flex-direction:column}.reschedule-appointment-btn,.cancel-appointment-btn{width:100%}.action-buttons{flex-direction:column}.save-reschedule-btn,.cancel-reschedule-btn{width:100%}.patient-actions-header{flex-direction:column}.btn-add-record,.btn-add-medication{width:100%}.medication-header{flex-direction:column;align-items:flex-start}.medication-main{width:100%;flex-direction:column;gap:.5rem}.medication-date{width:100%;text-align:left}.medication-details{grid-template-columns:1fr}}.advice-type{display:inline-block;padding:.25rem .75rem;background:#dbeafe;color:#1e40af;border-radius:6px;font-size:.8rem;font-weight:600;margin-left:.5rem}.advice-medication-details,.advice-lab-details,.advice-followup-details{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem;background:#3b82f60d;border-radius:6px;border-left:3px solid #3b82f6;font-size:.9rem;margin:.75rem 0}.advice-medication-details span,.advice-lab-details span,.advice-followup-details span{display:flex;flex-direction:column;gap:.25rem}.advice-medication-details strong,.advice-lab-details strong,.advice-followup-details strong{color:#1e40af;font-weight:600}.advice-group-card{border:2px solid #e5e5e5!important;background:#fafbff!important}.advice-group-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;border-bottom:2px solid #e5e5e5;margin-bottom:1rem}.doctor-name{margin:0;font-size:1.1rem;color:#333;font-weight:700}.doctor-specialty{display:block;color:#0d0d0d;font-size:.9rem;font-weight:500;margin-top:.25rem}.visit-location{display:inline-block;margin-top:.3rem;font-size:.8rem;color:#555;font-weight:500}.advice-date{color:#666;font-size:.95rem;font-weight:500}.advice-group-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.advice-group-item{display:flex;gap:1rem;padding:.75rem;background:#fff;border-radius:8px;border:1px solid #ddd}.advice-item-type{flex-shrink:0}.type-badge{display:inline-block;padding:.3rem .7rem;background:#f4f4f4;color:#0d0d0d;border:1px solid #e0e0e0;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;text-align:center}.advice-item-content{flex:1}.advice-item-meta{margin:.2rem 0 0;font-size:.85rem;color:#666}.advice-item-title{margin:0 0 .5rem;font-size:1rem;color:#333;font-weight:600}.advice-item-description{margin:.25rem 0;color:#666;font-size:.9rem;line-height:1.4}.advice-item-details{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.5rem;background:#f0f4ff;border-left:3px solid #0d0d0d;border-radius:4px;font-size:.85rem}.advice-item-details div{display:flex;gap:.5rem}.advice-item-details strong{color:#0d0d0d;font-weight:600;min-width:80px}.advice-item-actions{display:flex;gap:.5rem;flex-shrink:0}.advice-group-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #e5e5e5;color:#999;font-size:.85rem;gap:1rem}.footer-info{color:#999;font-size:.85rem}.btn-add-to-group{padding:.5rem 1rem;background:#f0f4ff;color:#0d0d0d;border:1px solid #0d0d0d;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add-to-group:hover{background:#0d0d0d;color:#fff;box-shadow:0 2px 8px #0d0d0d4d}.btn-add-to-group:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.advice-group-card{border:none!important;border-top:1px solid #e5e5e5!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:.75rem 0!important;margin-bottom:0!important}.advice-group-card:first-child{border-top:none!important}.advice-group-header{padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid #e5e5e5}.advice-group-item{display:grid;grid-template-areas:"badge actions" "content content";grid-template-columns:1fr auto;border:none;border-bottom:1px solid #f0f0f0;border-radius:0;background:transparent;padding:.6rem 0;gap:.25rem 0}.advice-group-item:last-child{border-bottom:none}.advice-item-type{grid-area:badge;align-self:center}.advice-item-content{grid-area:content;width:100%}.advice-item-actions{grid-area:actions;align-self:center;display:flex;gap:.25rem}.advice-group-items{gap:0;margin-bottom:.5rem}.type-badge{min-width:unset;width:fit-content;font-size:.68rem;padding:.2rem .55rem;border-radius:999px}.advice-item-title{font-size:.95rem;margin:.2rem 0}.advice-item-description{font-size:.85rem}.advice-item-details{padding:.2rem 0;font-size:.85rem}.advice-item-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-details-view{border:none;border-radius:0;padding:.75rem .5rem;gap:0;background:transparent}.patient-section{border:none;border-radius:0;border-top:1px solid #e5e5e5;background:transparent;padding:1rem 0;margin-bottom:0}.patient-section:first-child{border-top:none}.appointment-card{border:none;border-bottom:1px solid #ebebeb;border-radius:0;background:transparent;padding:.75rem 0}.appointment-card:last-child{border-bottom:none}}.audit-toggle-btn{background:none;border:1px solid #d1d5db;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;color:#6b7280;cursor:pointer;transition:all .15s}.audit-toggle-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.audit-history{margin-top:.5rem;padding:.5rem .75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;gap:.5rem}.audit-entry{padding:.35rem 0;border-bottom:1px solid #f0f0f0}.audit-entry:last-child{border-bottom:none}.audit-header{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.8rem}.audit-who{font-weight:600;color:#374151}.audit-role{font-weight:400;color:#9ca3af}.audit-action{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#e0e7ff;color:#4338ca;padding:.1rem .4rem;border-radius:999px}.audit-when{font-size:.75rem;color:#9ca3af;margin-left:auto}.conversations-list{display:flex;flex-direction:column;height:100%}.conversations-header{padding:1rem;border-bottom:1px solid #e5e5e5;background:#fff}.conversations-header h2{margin:0 0 .75rem;font-size:1.3rem;color:#333}.filter-tabs{display:flex;gap:.5rem}.filter-tabs .tab{padding:.5rem 1rem;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;color:#666;transition:all .3s ease}.filter-tabs .tab.active{background:#0d0d0d;color:#fff}.conversations{flex:1;overflow-y:auto;display:flex;flex-direction:column}.conversation-item{padding:1rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:all .2s ease;background:#fff}.conversation-item:hover{background:#f0f0f0;padding-left:1.2rem}.conversation-item.selected{background:#f0f0f0;border-left:4px solid #0d0d0d;padding-left:calc(1rem - 4px)}.conversation-main{display:flex;flex-direction:column;gap:.25rem}.conversation-header-row{display:flex;justify-content:space-between;align-items:center}.conversation-header-row h3{margin:0;font-size:1rem;color:#333;font-weight:600}.time{font-size:.75rem;color:#999}.specialization{margin:0;font-size:.85rem;color:#565656}.last-message{margin:0;font-size:.9rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-count{display:inline-block;background:#0d0d0d;color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:10px;margin-top:.5rem;align-self:fit-content}.empty-state{padding:2rem 1.5rem;text-align:center;color:#999}.empty-state p{margin:0 0 .5rem;font-size:1rem}.empty-state small{color:#bbb}.loading{padding:2rem;text-align:center;color:#999}@media (max-width: 768px){.conversations-header h2{font-size:1.1rem}.conversation-item{padding:.75rem;min-height:44px;display:flex;align-items:center}.conversation-item:hover{padding-left:.75rem}.filter-tabs .tab{padding:.5rem .8rem;font-size:.85rem}}@media (max-width: 480px){.conversations-header{padding:.75rem}.conversations-header h2{margin:0 0 .5rem;font-size:1rem}.conversation-item{padding:.75rem;min-height:50px}.conversation-header-row h3{font-size:.95rem}.filter-tabs{gap:.5rem}.filter-tabs .tab{padding:.5rem .8rem;font-size:.8rem}.last-message{font-size:.85rem}.time{font-size:.7rem}}.chat-input{display:flex;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid #e5e5e5;background:#fff;align-items:flex-end}.chat-input textarea{flex:1;padding:.75rem;border:1px solid #e5e5e5;border-radius:4px;font-family:inherit;font-size:.95rem;resize:none;max-height:120px;line-height:1.4;transition:all .2s ease}.chat-input textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 3px #0d0d0d1a}.chat-input textarea::placeholder{color:#999}.chat-input .send-btn{padding:.75rem 1.5rem;background:#0d0d0d;color:#fff;border:1px solid #0d0d0d;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.chat-input .send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d4d;background:#2d2d2d;border-color:#2d2d2d}.chat-input .send-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.chat-input{padding:.75rem 1rem;gap:.75rem}.chat-input textarea{padding:.6rem;font-size:.9rem;min-height:40px}.chat-input .send-btn{padding:.6rem 1.2rem;font-size:.9rem;min-height:40px}}@media (max-width: 480px){.chat-input{padding:.75rem;gap:.5rem}.chat-input textarea{padding:.6rem;font-size:1rem;min-height:44px}.chat-input .send-btn{padding:.6rem 1rem;font-size:.85rem;min-height:44px;flex-shrink:0}}.chat-window{display:flex;flex-direction:column;height:100%;background:#fff}.chat-window.empty{justify-content:center;align-items:center;background:#fff}.chat-header{padding:1rem 1.5rem;border-bottom:1px solid #e5e5e5;background:#fff;display:flex;justify-content:space-between;align-items:center}.header-info h2{margin:0 0 .25rem;font-size:1.1rem;color:#333}.header-info .specialization{margin:0;font-size:.85rem;color:#565656}.messages-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;background:#fff}.empty-messages,.loading{display:flex;justify-content:center;align-items:center;height:100%;color:#999;text-align:center}.message{display:flex;align-items:flex-end;gap:.5rem;animation:slideIn .2s ease-out}.message.own{justify-content:flex-end}.message.other{justify-content:flex-start}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-content{max-width:60%;padding:.75rem 1rem;border-radius:8px;word-wrap:break-word}.message.own .message-content{background:#0d0d0d;color:#fff}.message.other .message-content{background:#e5e5e5;color:#333}.message.deleted .message-content{background:#f0f0f0;color:#999;font-style:italic}.message-text{margin:0;line-height:1.4}.message-time{display:block;font-size:.75rem;margin-top:.25rem;opacity:.7}.message.own .message-time{text-align:right}.deleted-text{margin:0;font-size:.9rem;font-style:italic}.delete-btn{opacity:0;transition:opacity .2s ease;background:none;border:none;color:#ccc;cursor:pointer;font-size:.9rem;padding:.25rem .5rem}.message:hover .delete-btn{opacity:1}.delete-btn:hover{color:#f44}.message-actions{position:relative}.reaction-btn{opacity:0;transition:opacity .2s ease;background:none;border:none;font-size:1rem;cursor:pointer;padding:.25rem}.message:hover .reaction-btn{opacity:1}.reaction-picker{position:absolute;bottom:100%;right:0;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:.5rem;display:flex;gap:.5rem;box-shadow:0 4px 12px #0000001a;z-index:100}.reaction-picker .emoji{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.reaction-picker .emoji:hover{background:#f0f0f0;transform:scale(1.2)}.empty-state{text-align:center;color:#999}.empty-state p{margin:0;font-size:1rem}.error-message{padding:.75rem 1rem;background:#fee;color:#c33;border-left:4px solid #c33;margin:.5rem;border-radius:4px}@media (max-width: 768px){.messages-container{padding:1rem;gap:.25rem}.message-content{max-width:85%;padding:.6rem .8rem;font-size:.9rem}.chat-header{padding:.75rem 1rem}.header-info h2{font-size:1rem}.delete-btn,.reaction-btn{opacity:1;font-size:.75rem;padding:.15rem .35rem}.reaction-picker{bottom:auto;top:100%;left:auto;right:0}}@media (max-width: 480px){.messages-container{padding:.75rem;gap:.25rem}.message-content{max-width:90%;padding:.6rem .8rem;font-size:.9rem}.chat-header{padding:.75rem 1rem}.header-info h2{font-size:.95rem}.header-info .specialization{font-size:.8rem}.reaction-picker{position:fixed;bottom:auto;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);z-index:200}.message-time{font-size:.7rem}}.chat-container{display:flex;height:100vh;gap:0;background:#fff;position:relative}.chat-sidebar{width:320px;border-right:1px solid #e5e5e5;overflow-y:auto;background:#fff;display:flex;flex-direction:column}.chat-main{flex:1;display:flex;flex-direction:column;background:#fff}.chat-toggle-btn{display:none;position:absolute;top:1rem;left:1rem;background:#0d0d0d;color:#fff;border:1px solid #0d0d0d;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;z-index:100;transition:all .2s ease}.chat-toggle-btn:hover{background:#2d2d2d;border-color:#2d2d2d}@media (max-width: 768px){.chat-container{flex-direction:column}.chat-sidebar{width:100%;border-right:none;border-bottom:1px solid #e5e5e5;max-height:45vh;max-height:45dvh}.chat-main{flex:1;min-height:0}}@media (max-width: 480px){.chat-toggle-btn{display:block}.chat-sidebar{position:absolute;left:0;top:0;right:0;bottom:0;max-height:100vh;max-height:100dvh;width:100%;border-bottom:none;border-right:none;z-index:50;transform:translate(-100%);transition:transform .3s ease}.chat-sidebar.visible{transform:translate(0);box-shadow:0 0 0 9999px #00000080}.chat-main{position:relative}.chat-toggle-btn.active{left:auto;right:1rem}}.doctor-profile{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000000d;max-width:600px;margin:0 auto}.specialization-badge{display:inline-block;background:#f0f0f0;color:#0d0d0d;padding:.4rem .8rem;border-radius:20px;font-weight:600;margin:.5rem 0}.practice-type-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:.4rem .8rem;border-radius:20px;font-weight:600;margin:.5rem 0}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d4d;background:#2d2d2d}.photo-input-label:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d4d;background:#2d2d2d}@media (max-width: 768px){.doctor-profile{padding:1rem}.form-actions{flex-direction:column}.photo-preview{width:120px;height:120px}.profile-photo-display{width:150px;height:150px}.photo-input-wrapper{max-width:100%}}.patient-dashboard{display:flex;flex-direction:column;height:100vh;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;position:relative}.dashboard-nav{flex:0 0 260px;background:#fff;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;gap:0;padding:0;overflow-y:auto}.nav-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #e5e5e5;flex-shrink:0}.dashboard-content{flex:1;overflow-y:auto;padding:1.5rem;background:#fff}@media (max-width: 768px){.mobile-topbar{display:flex}.dashboard-container{flex-direction:column}.dashboard-nav{position:fixed;left:0;top:0;width:280px;height:100%;z-index:1000;flex:none;border-right:1px solid #e5e5e5;border-bottom:none;flex-direction:column;transform:translate(-100%);transition:transform .25s ease;overflow-y:auto}.dashboard-nav.open{transform:translate(0)}.nav-header,.nav-close-btn{display:flex}.nav-btn{border-left:3px solid transparent;border-bottom:none;padding:.75rem 1.25rem;font-size:.9rem;white-space:normal;flex-shrink:0}.nav-btn.active{border-left-color:#0d0d0d;border-bottom:none}.nav-footer{display:flex}.dashboard-content{padding:1rem}}@media (max-width: 480px){.patient-dashboard{height:100dvh}.mobile-topbar{padding:.5rem .75rem}.hamburger-btn{min-width:36px;min-height:36px;font-size:1.25rem}.mobile-topbar-title{font-size:.85rem}.dashboard-nav{width:260px}.nav-header{padding:.75rem 1rem}.nav-btn{padding:.6rem 1rem;font-size:.85rem;min-height:40px}.dashboard-content{padding:.75rem;overflow-y:auto;-webkit-overflow-scrolling:touch}}.visiting-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.visiting-modal-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.visiting-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#0d0d0d;color:#fff;border-radius:12px 12px 0 0}.visiting-modal-header h2{margin:0;font-size:1.3rem;font-weight:600}.visiting-modal-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.visiting-modal-close:hover{background:#ffffff4d}.visiting-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.visiting-no-slots{text-align:center;color:#999;padding:2rem 1rem}.visiting-no-slots p{margin:0;font-size:1rem}.visiting-slots-container{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.visiting-time-slot{background:#f0fdf4;border:2px solid #22c55e;border-radius:8px;padding:1rem}.visiting-slot-number{font-size:.9rem;font-weight:700;color:#166534;margin-bottom:.75rem}.visiting-slot-content{display:flex;flex-direction:row;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.visiting-input-section{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:150px}.visiting-label{font-size:.85rem;font-weight:600;color:#166534}.visiting-time-badge{font-size:.95rem;font-weight:700;color:#fff;background:#22c55e;padding:.5rem .75rem;border-radius:4px;display:inline-block}.visiting-time-select{padding:.75rem 2.8rem .75rem .75rem;border:2px solid #22c55e;border-radius:4px;font-size:1rem;font-family:inherit;color:#166534;font-weight:700;cursor:pointer;background-color:#fff;min-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12'%3E%3Cpath fill='%23166534' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:14px}.visiting-time-select:hover{border-color:#16a34a;background-color:#f0fdf4}.visiting-time-select:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #22c55e33}.visiting-separator{color:#22c55e;font-weight:700;font-size:.9rem;padding:.75rem .25rem;flex-shrink:0}.visiting-remove-btn{padding:.75rem;background:#fee;border:1px solid #fcc;color:#c33;border-radius:4px;cursor:pointer;font-weight:700;font-size:1rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1.5rem;transition:all .2s ease}.visiting-remove-btn:hover{background:#fdd;border-color:#c33}.visiting-add-btn{width:100%;padding:1rem;background:#dcfce7;border:2px solid #22c55e;color:#166534;border-radius:6px;cursor:pointer;font-weight:700;font-size:1rem;transition:all .2s ease;min-height:48px}.visiting-add-btn:hover{background:#bbf7d0;border-color:#16a34a;transform:translateY(-1px)}.visiting-modal-footer{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #eee;background:#f0f0f0;border-radius:0 0 12px 12px}.visiting-btn-cancel{flex:1;padding:.75rem 1.5rem;background:#eee;border:1px solid #ddd;color:#333;border-radius:4px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease;min-height:44px}.visiting-btn-cancel:hover{background:#ddd;border-color:#ccc}.visiting-btn-confirm{flex:1;padding:.75rem 1.5rem;background:#0d0d0d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease;min-height:44px}.visiting-btn-confirm:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d4d}@media (max-width: 768px){.visiting-modal-overlay{padding:.5rem}.visiting-modal-box{max-width:95vw;max-height:95vh}.visiting-modal-header{padding:1rem}.visiting-modal-header h2{font-size:1.1rem}.visiting-modal-body{padding:1rem}.visiting-slots-container{gap:1rem;margin-bottom:1rem}.visiting-time-slot{padding:.75rem}.visiting-slot-content{gap:.5rem}.visiting-input-section{min-width:120px}.visiting-time-select{font-size:.9rem;min-height:40px}.visiting-remove-btn{width:36px;height:36px;font-size:.9rem}.visiting-modal-footer{flex-direction:column;gap:.75rem;padding:1rem}.visiting-btn-cancel,.visiting-btn-confirm{width:100%}}@media (max-width: 480px){.visiting-modal-header h2{font-size:1rem}.visiting-modal-body{padding:.75rem}.visiting-slot-number{font-size:.8rem}.visiting-label{font-size:.75rem}.visiting-time-select{font-size:.85rem;min-height:38px}.visiting-add-btn{padding:.75rem;font-size:.9rem;min-height:44px}.visiting-modal-footer{padding:.75rem}.visiting-btn-cancel,.visiting-btn-confirm{padding:.6rem 1rem;font-size:.9rem;min-height:44px}}.availability-manager{display:flex;flex-direction:column;gap:1.5rem}.availability-section{background:#fff;border:1px solid #eee;border-radius:12px;padding:2rem}.day-cell{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;border:1px solid #eee}.visiting-times-display{font-size:.65rem;color:#166534;font-weight:600;text-align:center;line-height:1.2;padding-top:.25rem;border-top:1px solid #dcfce7;width:100%}.manage-slots{padding:2rem}.manage-slots-container{display:flex;gap:2rem;min-height:600px}.centers-sidebar{flex:0 0 280px;background:#f0f0f0;border-radius:12px;padding:1.5rem;border:1px solid #eee}.centers-sidebar h3{margin:0 0 1rem;color:#333;font-size:1.1rem}.centers-list{display:flex;flex-direction:column;gap:.75rem}.center-item{padding:1rem;background:#fff;border:2px solid #eee;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:left;border-left:4px solid transparent}.center-item:hover{border-color:#0d0d0d;background:#f5f7ff}.center-item.active{border-color:#0d0d0d;background:#fff;box-shadow:0 2px 8px #0d0d0d33}.center-name{font-weight:600;color:#333;font-size:.95rem;margin-bottom:.25rem}.center-address{font-size:.8rem;color:#666;line-height:1.3}.availability-section{flex:1;background:#fff;border:1px solid #eee;border-radius:12px;padding:2rem}.availability-section h3{margin:0 0 .5rem;color:#333;font-size:1.3rem}.availability-subtitle{color:#666;font-size:.9rem;margin:0 0 2rem;font-style:italic}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#f0f0f0;border-radius:12px;border:2px dashed #0d0d0d}.day-cell{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;border:1px solid #eee}.day-cell:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-2px)}.day-name{font-weight:600;color:#333;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.availability-btn{width:100%;padding:.75rem .5rem;border:none;border-radius:6px;font-weight:600;font-size:.75rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.availability-btn:hover{transform:scale(1.05);box-shadow:0 2px 6px #00000026}.legend{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#f0f0f0;border-radius:8px;margin-bottom:2rem}.legend h4{margin:0;color:#333;font-size:.95rem}.legend-item{display:flex;align-items:center;gap:.75rem}.legend-color{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.legend-label{color:#666;font-size:.9rem;font-weight:500}.btn-save{padding:.75rem 1.5rem;background:#0d0d0d;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;width:100%}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0d0d0d66}.btn-save:disabled{opacity:.6;cursor:not-allowed}.no-data{text-align:center;color:#999;padding:3rem 1rem;font-style:italic}@media (max-width: 768px){.manage-slots-container{flex-direction:column;gap:1.5rem}.centers-sidebar{flex:none}.availability-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;padding:1rem}.day-cell{padding:.75rem .5rem}.availability-btn{font-size:.65rem}}.doctor-ratings{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000000d}.ratings-summary{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #eee}.average-rating{text-align:center;padding:1.5rem;background:#f0f0f0;border-radius:8px}.average-rating h2{color:#0d0d0d;margin:0 0 .5rem;font-size:3rem}.average-rating .stars{font-size:1.5rem;margin:.5rem 0}.average-rating p{color:#666;margin:.5rem 0 0}.rating-distribution{display:flex;flex-direction:column;gap:1rem}.distribution-row{display:flex;align-items:center;gap:.75rem}.star-label{min-width:40px;color:#333;font-weight:600}.progress-bar{flex:1;height:24px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#0d0d0d;transition:width .3s ease}.count{min-width:30px;text-align:right;color:#666;font-weight:600}.ratings-list{margin-top:2rem}.ratings-list h3{color:#333;margin-bottom:1.5rem;font-size:1.3rem}.review-card{border:1px solid #eee;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;transition:all .3s ease}.review-card:hover{box-shadow:0 4px 16px #00000014;border-color:#0d0d0d}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.reviewer-info h4{color:#333;margin:0 0 .25rem;font-size:1rem}.review-date{color:#999;font-size:.85rem}.rating-stars{font-size:1.2rem}.review-text{color:#555;margin:0;line-height:1.6;font-size:.95rem}.no-data{text-align:center;padding:2rem;color:#666}.loading,.error-message{padding:1rem;text-align:center;border-radius:8px}.loading{background:#e5e5e5;color:#0d0d0d}.error-message{background:#fee2e2;color:#991b1b}@media (max-width: 768px){.doctor-ratings{padding:1rem}.ratings-summary{grid-template-columns:1fr;gap:1.5rem}.average-rating h2{font-size:2.5rem}.review-header{flex-direction:column;gap:.75rem}.review-card{padding:1rem;margin-bottom:1rem}}.dashboard-header h1{font-size:1.8rem;margin:0}.doctor-header-info{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.practice-type-tag{font-size:.72rem!important;background:#fff3;color:#fff;padding:.15rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.4);font-weight:600;letter-spacing:.02em}.logout-btn{background-color:#fff3;color:#fff;padding:.5rem 1rem;border-radius:4px;border:1px solid rgba(255,255,255,.3);font-weight:600;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background-color:#ffffff4d}.dashboard-container{display:flex;flex:1;overflow:hidden}.dashboard-nav{width:240px;flex:0 0 240px;background:#fff;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;gap:0;padding:0;overflow-y:auto;overflow-x:hidden;transition:width .25s ease,flex-basis .25s ease;white-space:nowrap}.nav-close-btn{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:.25rem;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.nav-btn{background:none;border:none;padding:.75rem 1.25rem;font-size:.9rem;color:#565656;font-weight:500;border-left:3px solid transparent;cursor:pointer;transition:all .2s ease;text-align:left}.nav-btn:hover{background:#f7f7f7;color:#0d0d0d}.nav-btn.active{color:#0d0d0d;border-left-color:#0d0d0d;background:#f7f7f7}.nav-footer{display:none;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e5e5e5;margin-top:auto;flex-shrink:0}.dashboard-content{flex:1;overflow-y:auto;padding:2rem}@media (max-width: 768px){.mobile-topbar{display:flex}.dashboard-header{display:none}.dashboard-container{flex-direction:column}.nav-toggle-btn{display:none}.dashboard-nav{position:fixed;left:0;top:0;width:280px!important;flex:none!important;height:100%;z-index:1000;border-right:1px solid #e5e5e5;border-bottom:none;flex-direction:column;transform:translate(-100%);transition:transform .25s ease;overflow-y:auto;padding:0}.dashboard-nav.open{transform:translate(0)}.nav-header,.nav-close-btn{display:flex}.nav-btn{border-left:3px solid transparent;border-bottom:none;padding:.75rem 1.25rem;font-size:.9rem;white-space:normal;flex-shrink:0}.nav-btn.active{border-left-color:#0d0d0d;border-bottom:none}.nav-footer{display:flex}.dashboard-content{padding:1rem}}@media (max-width: 480px){.doctor-dashboard{height:100dvh}.mobile-topbar{padding:.5rem .75rem}.hamburger-btn{min-width:36px;min-height:36px;font-size:1.25rem}.mobile-topbar-title{font-size:.85rem}.dashboard-nav{width:260px}.nav-header{padding:.75rem 1rem}.nav-btn{padding:.6rem 1rem;font-size:.85rem;min-height:40px}.dashboard-content{padding:.75rem;overflow-y:auto;-webkit-overflow-scrolling:touch}}.doctor-selector-section{margin-bottom:2rem}.doctor-selector-section h3{color:#333;font-size:1.2rem;margin:0 0 1.5rem;font-weight:600}.doctor-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.doctor-card{background:#fff;border:2px solid #eee;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem}.doctor-card:hover{border-color:#0d0d0d;box-shadow:0 4px 12px #0d0d0d33;transform:translateY(-2px)}.doctor-card.active{border-color:#0d0d0d;background:#f0f0f0;box-shadow:0 4px 16px #0d0d0d4d}.doctor-card-image{width:120px;height:120px;border-radius:50%;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.doctor-card-image img{width:100%;height:100%;object-fit:cover}.doctor-card-content{flex:1;width:100%}.doctor-card-name{font-weight:700;color:#333;font-size:1rem;margin-bottom:.25rem}.doctor-card-specialization{color:#0d0d0d;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.doctor-card-practice-type{color:#2e7d32;font-size:.75rem;font-weight:600;margin-bottom:.25rem}.doctor-card-experience{color:#555;font-size:.78rem}.doctor-card-phone{color:#999;font-size:.75rem;word-break:break-all}.doctor-card-check{position:absolute;top:-10px;right:-10px;width:32px;height:32px;background:#0d0d0d;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;border:3px solid white;box-shadow:0 2px 8px #0d0d0d66}.loading{text-align:center;color:#999;padding:2rem;font-size:1rem}.no-doctors{text-align:center;color:#999;padding:2rem;background:#f0f0f0;border-radius:8px;border:1px dashed #ddd}@media (max-width: 768px){.doctor-cards-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.doctor-card{padding:1rem;gap:.75rem}.doctor-card-image{width:100px;height:100px}.doctor-card-name{font-size:.9rem}.doctor-card-specialization{font-size:.8rem}}@media (max-width: 480px){.doctor-cards-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.doctor-card{padding:.75rem;gap:.5rem}.doctor-card-image{width:80px;height:80px}.doctor-card-name{font-size:.8rem}.doctor-card-specialization{font-size:.7rem}.doctor-card-phone{font-size:.65rem}.doctor-card-check{width:28px;height:28px;font-size:1rem}}.doctor-availability{display:flex;justify-content:center}.doctor-availability-container{display:flex;flex-direction:column;gap:2rem;background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000000d}.availability-card{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000000d;max-width:900px;width:100%}.doctor-selector-group{margin-bottom:2rem}.doctor-selector-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.95rem}.doctor-selector{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit;cursor:pointer}.doctor-selector:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 3px #0d0d0d1a}.error-message{padding:1rem;background:#fee;color:#c33;border-left:4px solid #c33;border-radius:4px;margin-bottom:1rem}.success-message{padding:1rem;background:#efe;color:#363;border-left:4px solid #363;border-radius:4px;margin-bottom:1rem}.weekly-grid{margin-bottom:2rem;border:1px solid #eee;border-radius:8px;overflow:hidden}.grid-header-top{background:#0d0d0d;color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.week-label{text-align:center;flex:1}.week-label h3{margin:0 0 .5rem;font-size:1.2rem}.date-range{margin:0;font-size:.9rem;opacity:.9}.nav-btn{background:#fff3;color:#fff;padding:.6rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:4px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem;white-space:nowrap}.nav-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.grid-header{background:#0d0d0d;color:#fff;padding:1rem}.header-label{font-weight:600;margin-bottom:1rem;font-size:1.1rem}.grid-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem}.day-header{text-align:center;font-weight:600;padding:.5rem;background:#ffffff1a;border-radius:4px;display:flex;flex-direction:column;gap:.25rem}.day-name{font-size:.95rem}.day-date{font-size:.75rem;opacity:.85}.grid-body{background:#fff;padding:1rem}.day-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;align-items:start}.day-cell{display:flex;flex-direction:column;gap:.5rem;position:relative}.day-cell>.type-btn{flex:1}.day-cell.past-day{opacity:.6}.past-day-overlay{position:absolute;top:0;right:0;background:#ddd;color:#666;padding:.2rem .4rem;font-size:.7rem;font-weight:600;border-radius:2px}.type-btn{padding:.5rem;border-radius:4px;border:2px solid #ddd;background:#fff;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;color:#666;min-height:36px}.type-btn:hover:not(:disabled){border-color:#0d0d0d;background:#f0f0f0}.type-btn:disabled{cursor:not-allowed;opacity:.5;border-color:#ddd}.type-btn.active{background:#f0f0f0;border-color:#999;color:#333}.type-btn.appt-only{border-color:#0d0d0d;color:#0d0d0d}.type-btn.appt-only.active{background:#0d0d0d;border-color:#0d0d0d;color:#fff}.type-btn.visiting{border-color:#22c55e;color:#22c55e}.type-btn.visiting.active{background:#22c55e;border-color:#22c55e;color:#fff}.visiting-times-panel{background:#f0fdf4;border:2px solid #22c55e;border-radius:6px;padding:1rem;margin-top:.75rem;font-size:.9rem;width:100%;overflow-x:auto}.panel-title{font-weight:700;color:#166534;margin-bottom:1rem;font-size:1rem}.time-input-group{display:flex;flex-direction:row;gap:.75rem;margin-bottom:.75rem;background:#fff;padding:1rem;border-radius:6px;border:1px solid #d1fae5;position:relative;align-items:center;width:100%;flex-wrap:nowrap;min-width:max-content}.time-input-group .time-slot-label{min-width:70px;margin-bottom:0;font-size:.8rem}.time-input-group .selected-time{min-width:100px;text-align:center}.time-input-group .time-select{width:150px;flex:0 0 150px;min-height:40px}.time-slot-label{font-size:.85rem;font-weight:600;color:#166534;margin-bottom:.25rem}.selected-time{font-size:.95rem;font-weight:700;color:#fff;background:#22c55e;padding:.4rem .75rem;border-radius:4px;margin-bottom:.5rem;display:inline-block}.time-input-group .time-separator{color:#22c55e;font-weight:700;padding:0 .25rem;flex-shrink:0}.time-input-group .remove-time-btn{position:relative;top:auto;right:auto;width:36px;height:36px;padding:0;min-width:36px;min-height:36px;margin-left:auto;flex-shrink:0}.time-select{padding:.75rem 2.8rem .75rem .75rem;border:2px solid #22c55e;border-radius:4px;font-size:1.1rem;font-family:inherit;flex:1;background-color:#fff;cursor:pointer;color:#166534;font-weight:700;min-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12'%3E%3Cpath fill='%23166534' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:14px;width:100%;line-height:1.4}.time-select:hover{border-color:#16a34a;background-color:#f0fdf4}.time-select:active,.time-select:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #22c55e33;background-color:#fff}.time-select option{padding:.75rem;color:#166534;font-weight:700;background-color:#fff;line-height:1.6}.time-select option:checked{background:#22c55e;background-color:#22c55e!important;color:#fff!important;font-weight:700}.time-separator{color:#666;font-weight:600;padding:0 .25rem;flex-shrink:0;font-size:.95rem}.remove-time-btn{padding:.6rem .8rem;background:#fee;border:1px solid #fcc;color:#c33;border-radius:4px;cursor:pointer;font-weight:700;font-size:1rem;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.remove-time-btn:hover{background:#fdd;border-color:#c33;transform:scale(1.05)}.add-time-btn{padding:.75rem 1.25rem;background:#dcfce7;border:2px solid #22c55e;color:#166534;border-radius:4px;cursor:pointer;font-weight:700;font-size:.9rem;width:100%;transition:all .2s ease;min-height:44px;display:flex;align-items:center;justify-content:center;gap:.5rem}.add-time-btn:hover{background:#bbf7d0;border-color:#16a34a;transform:translateY(-1px)}.add-time-btn:active{transform:translateY(0)}.legend{display:flex;gap:2rem;margin-bottom:2rem;padding:1rem;background:#f0f0f0;border-radius:6px}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#666}.legend-color{width:20px;height:20px;border-radius:4px}.legend-color.off{background:#f0f0f0;border:1px solid #ddd}.legend-color.appt{background:#0d0d0d}.legend-color.visit{background:#22c55e}.save-btn{width:100%;padding:.75rem;font-size:1rem;min-height:44px}.loading{text-align:center;color:#999;padding:2rem}.no-results{text-align:center;color:#999;padding:2rem;background:#f0f0f0;border-radius:8px}@media (max-width: 768px){.availability-card{padding:1.5rem}.grid-header-top{flex-wrap:wrap;padding:1rem}.nav-btn{padding:.5rem .75rem;font-size:.85rem}.week-label{width:100%;order:1}.legend{flex-direction:column;gap:.75rem}.day-row{gap:.5rem}.type-btn{padding:.4rem;font-size:.75rem}.time-select{font-size:.85rem;padding:.5rem;min-height:40px}.time-input-group{gap:.5rem;padding:.75rem;margin-bottom:.75rem;flex-direction:row;flex-wrap:wrap}.time-input-group .time-slot-label{min-width:60px;font-size:.75rem}.time-input-group .selected-time{font-size:.75rem;padding:.3rem .5rem;min-width:85px}.time-input-group .time-select{width:120px;flex:0 0 120px;font-size:.85rem;min-height:40px}.time-separator{font-size:.85rem;font-weight:700}.remove-time-btn{position:absolute;top:.5rem;right:.5rem;width:36px;height:36px;min-height:36px;min-width:36px;padding:0}.add-time-btn{min-height:44px;padding:.6rem 1rem;font-size:.85rem}}@media (max-width: 480px){.availability-card{padding:1rem}.doctor-selector{min-height:44px;padding:.75rem;font-size:1rem}.grid-header-top{flex-direction:column;padding:1rem .75rem;gap:.75rem}.nav-btn{width:100%;padding:.5rem;font-size:.8rem}.week-label{width:100%;order:0}.week-label h3{font-size:1rem;margin-bottom:.25rem}.date-range{font-size:.8rem}.grid-header{padding:.75rem}.header-label{font-size:1rem;margin-bottom:.75rem}.grid-days{gap:.25rem}.day-header{padding:.4rem .2rem;font-size:.7rem}.day-name{font-size:.75rem}.day-date{font-size:.65rem}.grid-body{padding:.75rem}.day-row{gap:.4rem}.day-cell{gap:.25rem}.type-btn{padding:.35rem .25rem;font-size:.7rem;min-height:36px}.visiting-times-panel{padding:.75rem;margin-top:.5rem;border:2px solid #22c55e}.panel-title{font-size:.9rem;font-weight:700;margin-bottom:.75rem}.time-input-group{gap:.4rem;padding:.6rem;margin-bottom:.75rem;flex-direction:row;flex-wrap:wrap;position:relative}.time-input-group .time-slot-label{min-width:50px;font-size:.65rem}.time-input-group .selected-time{font-size:.7rem;padding:.25rem .4rem;min-width:70px}.time-input-group .time-select{width:100px;flex:0 0 100px;padding:.5rem;font-size:.8rem;min-height:38px}.time-separator{font-size:.75rem;font-weight:700;padding:0 .15rem}.time-input-group .remove-time-btn{width:32px;height:32px;padding:0;min-height:32px;min-width:32px;position:relative;top:auto;right:auto;margin-left:auto}.add-time-btn{padding:.6rem 1rem;font-size:.85rem;min-height:44px}.legend{flex-direction:column;gap:.5rem;padding:.75rem;font-size:.85rem}.legend-item{gap:.4rem}.legend-color{width:16px;height:16px}.save-btn{min-height:44px;padding:.75rem}.past-day-overlay{font-size:.6rem;padding:.15rem .3rem}}.manage-doctors-container{display:flex;flex-direction:column;gap:2.5rem;padding:2rem 0}.manage-doctors-loading{text-align:center;color:#999;padding:3rem 1rem;font-size:1rem}.doctors-section{background:#fff;border:1px solid #eee;border-radius:12px;padding:2rem}.doctors-section h3{margin:0 0 1.5rem;color:#333;font-size:1.3rem;font-weight:600}.search-box{margin-bottom:1.5rem}.search-input{width:100%;padding:.75rem 1rem;border:2px solid #0d0d0d;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;box-sizing:border-box}.search-input:focus{outline:none;border-color:#2d2d2d;box-shadow:0 0 0 3px #0d0d0d1a}.search-input::placeholder{color:#999}.no-data{text-align:center;color:#999;padding:2rem 1rem;background:#f0f0f0;border-radius:8px;border:1px dashed #ddd;margin:0}.doctors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.doctor-card{background:#fff;border:2px solid #eee;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease;position:relative}.doctor-card:hover:not(.disabled){border-color:#0d0d0d;box-shadow:0 4px 12px #0d0d0d26;transform:translateY(-2px)}.doctor-card.added{background:linear-gradient(135deg,#f0fdf4,#f0f0f0);border-color:#22c55e}.doctor-card.disabled{opacity:.6;pointer-events:none}.doctor-card-avatar{display:flex;justify-content:center}.doctor-avatar-img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #e0e4ff}.doctor-card-header{display:flex;justify-content:space-between;align-items:start;gap:1rem}.doctor-card-header h4{margin:0;color:#333;font-size:1.1rem;font-weight:600;flex:1}.badge{display:inline-block;padding:.25rem .75rem;background:#22c55e;color:#fff;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap}.doctor-card-body{display:flex;flex-direction:column;gap:.5rem}.doctor-card-body p{margin:0;color:#666;font-size:.95rem}.specialization{color:#0d0d0d;font-weight:600}.practice-type{display:inline-block;background:#e8f5e9;color:#2e7d32;font-size:.78rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;width:fit-content}.experience{color:#555;font-size:.85rem}.phone{color:#999;font-size:.9rem}.add-btn{width:100%;padding:.75rem 1rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:#0d0d0d;color:#fff}.add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d0d0d4d}.add-btn:active{transform:translateY(0)}.add-btn.added{background:#22c55e;cursor:not-allowed;box-shadow:none}.add-btn:disabled{opacity:.8;cursor:not-allowed}.remove-btn{width:100%;padding:.75rem 1rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.remove-btn:hover{background:#fecaca;transform:translateY(-1px);box-shadow:0 2px 8px #9c1b1b26}.remove-btn:active{transform:translateY(0)}.error-message{padding:1rem;background:#fee2e2;color:#991b1b;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #dc2626}.success-message{padding:1rem;background:#dcfce7;color:#166534;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #22c55e}@media (max-width: 768px){.manage-doctors-container{gap:1.5rem;padding:1rem 0}.doctors-section{padding:1.5rem}.doctors-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.doctor-card{padding:1rem;gap:.75rem}.doctor-card-header h4{font-size:1rem}}@media (max-width: 480px){.manage-doctors-container{gap:1rem}.doctors-section{padding:1rem}.doctors-grid{grid-template-columns:1fr}.doctor-card{padding:.75rem}.doctor-card-header{flex-wrap:wrap}.doctor-card-header h4{font-size:.95rem;width:100%}.badge{font-size:.75rem}.remove-btn{font-size:.85rem;padding:.5rem .75rem}}.care-center-profile{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000000d;max-width:600px;margin:0 auto}.profile-card h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.profile-content{display:flex;flex-direction:column;gap:1rem}.profile-view{display:flex;flex-direction:column;gap:1.5rem}.profile-item{border-bottom:1px solid #eee;padding-bottom:1rem}.profile-item label{display:block;font-weight:600;color:#0d0d0d;margin-bottom:.5rem;font-size:.9rem;text-transform:uppercase}.profile-item p{color:#333;margin:0;font-size:1rem;line-height:1.5}.description-text{white-space:pre-wrap;word-wrap:break-word}.website-link{color:#0d0d0d;text-decoration:none;font-weight:600;transition:all .3s ease;display:inline-block}.website-link:hover{color:#2d2d2d;text-decoration:underline}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#333;margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#0d0d0d;box-shadow:0 0 0 3px #0d0d0d1a}.form-actions{display:flex;gap:1rem;margin-top:1rem}.btn-primary,.btn-secondary{flex:1;padding:.75rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:#0d0d0d;color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d4d}.btn-secondary{background:#fff;color:#0d0d0d;border:2px solid #0d0d0d}.btn-secondary:hover{background:#f0f0f0}.photo-upload-group{border-bottom:1px solid #eee;padding-bottom:1rem}.photo-upload-container{display:flex;flex-direction:column;gap:1rem;align-items:center}.photo-preview{width:150px;height:150px;border-radius:8px;overflow:hidden;border:2px solid #0d0d0d;background:#f0f0f0}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-input-wrapper{position:relative;width:100%;max-width:300px}.photo-input{display:none}.photo-input-label{display:block;padding:.75rem 1.5rem;background:#0d0d0d;color:#fff;border-radius:4px;font-weight:600;cursor:pointer;text-align:center;transition:all .3s ease}.photo-input-label:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0d0d0d4d}.photo-input:disabled+.photo-input-label{opacity:.6;cursor:not-allowed}.profile-photo-display{width:200px;height:200px;margin:0 auto 1.5rem;border-radius:8px;overflow:hidden;border:3px solid #0d0d0d;background:#f0f0f0}.profile-photo-display img{width:100%;height:100%;object-fit:cover}.error-message{padding:.75rem 1rem;background:#fee2e2;color:#991b1b;border-radius:4px;font-size:.9rem;border-left:4px solid #dc2626;margin-bottom:1rem}@media (max-width: 768px){.care-center-profile{padding:1rem}.form-actions{flex-direction:column}.photo-preview{width:120px;height:120px}.profile-photo-display{width:150px;height:150px}.photo-input-wrapper{max-width:100%}}.lab-services{padding:0}.lab-services-loading{padding:2rem;color:#666}.lab-services-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.lab-services-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.lab-services-header{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.lab-services-add-btn{background:#0d0d0d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.95rem;transition:opacity .2s}.lab-services-add-btn:hover{opacity:.9}.lab-services-empty{text-align:center;padding:3rem 2rem;color:#666;background:#f0f0f0;border-radius:8px;border:1px dashed #ddd}.lab-services-empty p{margin:.5rem 0}.lab-services-list{display:flex;flex-direction:column;gap:1rem}.lab-service-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;transition:box-shadow .2s}.lab-service-card:hover{box-shadow:0 2px 8px #00000014}.lab-service-info{flex:1}.lab-service-name{font-weight:600;font-size:1rem;color:#1f2937;margin-bottom:.25rem}.lab-service-description{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.lab-service-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.lab-service-cost{font-weight:600;color:#059669;font-size:.95rem}.lab-service-cost-na{color:#9ca3af;font-size:.875rem;font-style:italic}.lab-service-prereq{font-size:.8rem;color:#92400e;background:#fef3c7;padding:.2rem .6rem;border-radius:4px}.lab-service-actions{display:flex;gap:.5rem;flex-shrink:0}.lab-service-edit-btn{padding:.4rem 1rem;border:1px solid #0d0d0d;background:#fff;color:#0d0d0d;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.lab-service-edit-btn:hover{background:#0d0d0d;color:#fff}.lab-service-remove-btn{padding:.4rem 1rem;border:1px solid #dc2626;background:#fff;color:#dc2626;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.lab-service-remove-btn:hover{background:#dc2626;color:#fff}.lab-service-edit{width:100%}.lab-service-edit-fields{display:flex;gap:1rem;margin:.75rem 0;flex-wrap:wrap}.lab-service-field{flex:1;min-width:180px}.lab-service-field label{display:block;font-size:.8rem;font-weight:600;color:#374151;margin-bottom:.25rem}.lab-service-field input{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;box-sizing:border-box}.lab-service-field input:focus{outline:none;border-color:#0d0d0d}.lab-service-edit-actions{display:flex;gap:.5rem}.lab-service-save-btn{padding:.4rem 1rem;background:#0d0d0d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.lab-service-save-btn:disabled{opacity:.6;cursor:not-allowed}.lab-service-cancel-btn{padding:.4rem 1rem;border:1px solid #ddd;background:#fff;color:#666;border-radius:4px;cursor:pointer;font-size:.875rem}.lab-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.lab-modal{background:#fff;border-radius:10px;width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;pointer-events:auto}.lab-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #eee}.lab-modal-header h2{margin:0;font-size:1.1rem;color:#1f2937}.lab-modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#666;padding:.25rem .5rem}.lab-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.lab-modal-hint{color:#6b7280;font-size:.875rem;margin:0 0 1rem}.lab-type-selected{display:inline-block;margin-top:.4rem;font-size:.82rem;color:#22c55e;font-weight:600}.lab-modal-field{margin-bottom:1rem}.lab-modal-field label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.35rem}.lab-modal-field input{width:100%;padding:.65rem .9rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;box-sizing:border-box;transition:border-color .2s}.lab-modal-field input:focus{outline:none;border-color:#0d0d0d;background:#f0f0f0}.lab-catalog-list{border:1px solid #e5e7eb;border-radius:6px;max-height:200px;overflow-y:auto;margin-bottom:1rem}.lab-catalog-item{padding:.65rem 1rem;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;border-bottom:1px solid #f3f4f6;transition:background .15s}.lab-catalog-item:last-child{border-bottom:none}.lab-catalog-item:hover{background:#f0f0f0}.lab-catalog-item.selected{background:#ede9fe;border-left:3px solid #0d0d0d}.lab-catalog-name{font-weight:500;color:#1f2937;font-size:.9rem}.lab-catalog-desc{font-size:.8rem;color:#6b7280}.lab-modal-divider{text-align:center;color:#9ca3af;font-size:.8rem;margin:.75rem 0 1rem;position:relative}.lab-modal-selected-type{font-size:1rem;font-weight:600;color:#4c1d95;background:#ede9fe;padding:.6rem 1rem;border-radius:6px;margin-bottom:1.25rem}.lab-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid #eee}.lab-modal-cancel-btn{padding:.6rem 1.25rem;border:1px solid #ddd;background:#fff;color:#666;border-radius:6px;cursor:pointer;font-size:.9rem}.lab-modal-back-btn{padding:.6rem 1.25rem;border:1px solid #0d0d0d;background:#fff;color:#0d0d0d;border-radius:6px;cursor:pointer;font-size:.9rem;margin-right:auto}.lab-modal-next-btn,.lab-modal-save-btn{padding:.6rem 1.5rem;background:#0d0d0d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600}.lab-modal-next-btn:hover,.lab-modal-save-btn:hover{opacity:.9}.lab-modal-save-btn:disabled{opacity:.6;cursor:not-allowed}.doctor-dashboard{display:flex;flex-direction:column;height:100vh;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;position:relative}.mobile-topbar{display:none;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #e5e5e5;background:#fff;flex-shrink:0;position:sticky;top:0;z-index:500}.hamburger-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#0d0d0d;padding:.5rem;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.hamburger-btn:hover{background:#f7f7f7;border-radius:4px}.mobile-topbar-title{font-size:.9rem;font-weight:600;color:#0d0d0d}.nav-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:999}.nav-backdrop.open{display:block}.dashboard-sidebar{width:250px;background:#0d0d0d;color:#fff;padding:2rem 1rem;overflow-y:auto;flex-shrink:0}.dashboard-sidebar h2{margin:0 0 2rem;font-size:1.3rem}.dashboard-nav{display:flex;flex-direction:column;gap:0;padding:0;width:240px;flex:0 0 240px;background:#fff;border-right:1px solid #e5e5e5;overflow-y:auto;overflow-x:hidden;transition:width .25s ease,flex-basis .25s ease;white-space:nowrap}.dashboard-nav.collapsed{width:0;flex:0 0 0;border-right:none}.nav-toggle-btn{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;align-self:flex-start;margin-top:.65rem;background:#fff;border:1px solid #e5e5e5;border-radius:0 6px 6px 0;cursor:pointer;color:#999;font-size:.95rem;line-height:1;padding:.4rem 0;flex-shrink:0;transition:background .15s,color .15s;z-index:1}.nav-toggle-btn:hover{background:#f5f5f5;color:#0d0d0d}.nav-header{display:none;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #e5e5e5;flex-shrink:0}.nav-title{font-size:1.1rem;font-weight:600;color:#0d0d0d}.nav-close-btn{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:.25rem;transition:all .2s ease;width:32px;height:32px;align-items:center;justify-content:center}.nav-close-btn:hover{color:#0d0d0d;background:#f7f7f7;border-radius:4px}.dashboard-nav button{background:none;color:#565656;border:none;padding:.75rem 1.25rem;text-align:left;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s ease;border-left:3px solid transparent}.dashboard-nav button.active{background:#f7f7f7;color:#0d0d0d;border-left-color:#0d0d0d;font-weight:500}.dashboard-nav button:hover{background:#f7f7f7;color:#0d0d0d}.nav-footer{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e5e5e5;margin-top:auto;flex-shrink:0}.dashboard-content{flex:1;padding:2rem;overflow-y:auto}.dashboard-header{background:#0d0d0d;color:#fff;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.dashboard-header h1{margin:0;color:#fff;font-size:1.8rem}.user-info{display:flex;align-items:center;gap:1rem}.user-info span{font-size:1rem}.logout-btn{background-color:#f7f7f7;color:#0d0d0d;padding:.5rem 1rem;border-radius:6px;border:1px solid #d1d5db;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9rem}.logout-btn:hover{background-color:#ececec;border-color:#b4b4b4}.appointment-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.appointment-card{border:1px solid #eee;border-radius:8px;padding:1.5rem;background:#fff;box-shadow:0 2px 4px #0000000d}.appointment-card-field{margin-bottom:.75rem}.appointment-card-label{font-size:.9rem;color:#999}.appointment-card-value{font-weight:600;color:#333}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.9rem;font-weight:600}.status-scheduled{background:#e3f2fd;color:#0d0d0d}.status-other{background:#f0f0f0;color:#666}@media (max-width: 768px){.mobile-topbar{display:flex}.dashboard-header,.nav-toggle-btn{display:none}.dashboard-nav{position:fixed;left:0;top:0;width:280px!important;flex:none!important;height:100%;z-index:1000;border-right:1px solid #e5e5e5;border-bottom:none;flex-direction:column;transform:translate(-100%);transition:transform .25s ease;overflow-y:auto}.dashboard-nav.open{transform:translate(0)}.nav-header,.nav-close-btn{display:flex}.dashboard-nav button{border-left:3px solid transparent;border-bottom:none;padding:.75rem 1.25rem;font-size:.9rem;white-space:normal;flex-shrink:0}.dashboard-nav button.active{border-left-color:#0d0d0d;border-bottom:none}.nav-footer{display:flex}.dashboard-content{padding:1rem}}@media (max-width: 480px){.doctor-dashboard{height:100dvh}.mobile-topbar{padding:.5rem .75rem}.hamburger-btn{min-width:36px;min-height:36px;font-size:1.25rem}.mobile-topbar-title{font-size:.85rem}.dashboard-nav{width:260px}.nav-header{padding:.75rem 1rem}.dashboard-nav button{padding:.6rem 1rem;font-size:.85rem;min-height:40px}.dashboard-content{padding:.75rem;overflow-y:auto;-webkit-overflow-scrolling:touch}}.admin-section{max-width:960px;margin:0 auto}.admin-section h2{margin:0 0 1.25rem;font-size:1.15rem;font-weight:600;color:#0d0d0d}.admin-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.admin-search-form{display:flex;gap:.5rem;flex:1;min-width:200px}.admin-search-input{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;outline:none;transition:border-color .15s}.admin-search-input:focus{border-color:#0d0d0d}.admin-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;background:#fff;cursor:pointer}.admin-select.small{width:65px;padding:.5rem}.admin-btn{padding:.5rem 1rem;background:#0d0d0d;color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap}.admin-btn:hover:not(:disabled){background:#333}.admin-btn:disabled{opacity:.4;cursor:not-allowed}.admin-btn.small{padding:.3rem .6rem;font-size:.78rem}.admin-btn.danger{background:#fee2e2;color:#991b1b}.admin-btn.danger:hover:not(:disabled){background:#fecaca}.admin-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{background:#f9fafb;padding:.6rem .75rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.admin-table td{padding:.55rem .75rem;border-bottom:1px solid #f3f4f6;color:#1f2937}.admin-table tbody tr:hover{background:#f9fafb}.admin-actions-cell{display:flex;gap:.4rem;flex-wrap:wrap}.admin-role-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500}.admin-role-badge.patient{background:#dbeafe;color:#1e40af}.admin-role-badge.doctor{background:#dcfce7;color:#166534}.admin-role-badge.care_center{background:#fef3c7;color:#92400e}.admin-inline-input{padding:.3rem .5rem;border:1px solid #0d0d0d;border-radius:4px;font-size:.85rem;width:100%;max-width:200px}.admin-success{background:#dcfce7;color:#166534;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;margin-bottom:.75rem;border-left:3px solid #22c55e}.admin-error{background:#fee2e2;color:#991b1b;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;margin-bottom:.75rem;border-left:3px solid #dc2626}.admin-loading,.admin-empty{text-align:center;color:#999;padding:2rem 0;font-size:.9rem}.admin-ref-tabs{display:flex;gap:.25rem;margin-bottom:1rem;flex-wrap:wrap;border-bottom:1px solid #e5e7eb;padding-bottom:.5rem}.admin-ref-tab{padding:.4rem .75rem;background:transparent;border:none;border-radius:6px;font-size:.8rem;color:#666;cursor:pointer;transition:all .15s;font-weight:500}.admin-ref-tab:hover{background:#f3f4f6;color:#0d0d0d}.admin-ref-tab.active{background:#0d0d0d;color:#fff}.admin-add-form{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.admin-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.admin-modal{background:#fff;border-radius:10px;padding:1.5rem;width:90%;max-width:420px;box-shadow:0 20px 60px #00000026}.admin-modal h3{margin:0 0 .75rem;font-size:1rem;font-weight:600}.admin-modal p{margin:0 0 .5rem;font-size:.88rem;color:#555}.admin-warning{color:#dc2626!important;font-weight:500}.admin-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.admin-reset-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.admin-or{text-align:center;color:#999;font-size:.8rem}.admin-temp-password{background:#f4f4f5;border-radius:8px;padding:.75rem;text-align:center;margin:.75rem 0}.admin-temp-password code{display:block;font-size:1.1rem;letter-spacing:1px;margin:.5rem 0;color:#0d0d0d;font-weight:600}.admin-prompts-layout{display:flex;gap:1rem;min-height:500px}.admin-prompts-list{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.admin-prompt-card{text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;cursor:pointer;transition:all .15s}.admin-prompt-card:hover{border-color:#0d0d0d}.admin-prompt-card.active{border-color:#0d0d0d;background:#f9fafb}.admin-prompt-card-title{font-size:.85rem;font-weight:600;color:#0d0d0d;margin-bottom:.25rem}.admin-prompt-card-desc{font-size:.72rem;color:#888;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-prompt-card-date{font-size:.68rem;color:#aaa;margin-top:.35rem}.admin-prompt-editor{flex:1;display:flex;flex-direction:column;min-width:0}.admin-prompt-editor-header h3{margin:0 0 .25rem;font-size:1rem;font-weight:600}.admin-prompt-editor-desc{font-size:.78rem;color:#888;margin:0 0 .75rem;line-height:1.4}.admin-prompt-textarea{flex:1;min-height:350px;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:.82rem;line-height:1.6;resize:vertical;outline:none;transition:border-color .15s}.admin-prompt-textarea:focus{border-color:#0d0d0d}.admin-prompt-editor-footer{display:flex;gap:.5rem;margin-top:.75rem}.admin-prompt-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#999;font-size:.9rem}@media (max-width: 768px){.admin-filters{flex-direction:column}.admin-search-form{width:100%}.admin-table{font-size:.8rem}.admin-ref-tabs{gap:.15rem}.admin-ref-tab{font-size:.72rem;padding:.35rem .5rem}.admin-add-form,.admin-prompts-layout{flex-direction:column}.admin-prompts-list{width:100%;flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.admin-prompt-card{min-width:200px}.admin-prompt-textarea{min-height:250px}}.admin-row-deleted{opacity:.6;background:#fef2f2}.admin-status-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.65rem;font-weight:600;margin-left:.4rem;vertical-align:middle}.admin-status-badge.deleted{background:#fee2e2;color:#dc2626}.admin-btn.success{background:#22c55e;color:#fff}.admin-btn.success:hover{background:#16a34a}.admin-modal-wide{max-width:520px;width:90vw}.admin-modal-wide .login-form{padding:0;box-shadow:none;max-width:none}.admin-modal-wide .login-form input,.admin-modal-wide .login-form select{width:100%;padding:.6rem .75rem;border:1px solid #ddd;border-radius:6px;margin-bottom:.75rem;font-size:.9rem}.admin-modal-wide .login-btn{width:100%;padding:.7rem;margin-top:.5rem}.admin-generated-password{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:1rem;margin:1rem 0}.admin-credential-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.admin-credential-row span{font-weight:600;min-width:70px}.admin-credential-row code{background:#f1f5f9;padding:.3rem .6rem;border-radius:4px;font-family:monospace;font-size:.95rem;flex:1}.admin-add-user-dropdown{display:inline-block}.book-lab-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.book-lab-modal{background:#fff;border-radius:10px;width:100%;max-width:460px;display:flex;flex-direction:column;pointer-events:auto}.book-lab-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #eee}.book-lab-header h2{margin:0;font-size:1.1rem;color:#1f2937}.book-lab-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#666;padding:.25rem .5rem}.book-lab-body{padding:1.5rem}.book-lab-service-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.book-lab-service-name{font-size:1.05rem;font-weight:600;color:#1f2937}.book-lab-cost{font-size:1.1rem;font-weight:700;color:#059669}.book-lab-prereq-box{background:#fef3c7;border:1px solid #fde68a;border-radius:6px;padding:.65rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.2rem}.book-lab-prereq-label{font-size:.8rem;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.03em}.book-lab-prereq-text{font-size:.9rem;color:#78350f}.book-lab-description{font-size:.875rem;color:#6b7280;margin:0 0 1rem}.book-lab-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;padding:.65rem 1rem;margin-bottom:1rem;font-size:.875rem}.book-lab-field{margin-bottom:1rem}.book-lab-field label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.35rem}.book-lab-field select{width:100%;padding:.65rem .9rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;background:#fff;cursor:pointer;transition:border-color .2s;box-sizing:border-box}.book-lab-field select:focus{outline:none;border-color:#0d0d0d;background:#f0f0f0}.book-lab-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid #eee}.book-lab-cancel-btn{padding:.6rem 1.25rem;border:1px solid #ddd;background:#fff;color:#666;border-radius:6px;cursor:pointer;font-size:.9rem}.book-lab-confirm-btn{padding:.6rem 1.5rem;background:#0d0d0d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600}.book-lab-confirm-btn:hover{opacity:.9}.book-lab-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.book-lab-payment-summary{display:flex;flex-direction:column;gap:.25rem;background:#f0f0f0;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem}.book-lab-payment-summary-name{font-weight:600;color:#1f2937}.book-lab-payment-summary-date{font-size:.875rem;color:#6b7280}.book-lab-fee-box{background:#0d0d0d;border-radius:10px;padding:1.5rem;text-align:center;color:#fff;margin-bottom:1.25rem}.book-lab-fee-label{font-size:.875rem;opacity:.85;margin-bottom:.25rem}.book-lab-fee-amount{font-size:2.25rem;font-weight:700;letter-spacing:-.5px}.book-lab-payment-notice{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:.875rem 1rem;font-size:.875rem;color:#78350f;line-height:1.5}.care-center-detail{max-width:1200px;margin:0 auto;padding:2rem 1rem;background:#f9f9f9;min-height:100vh}.back-link{background:none;border:none;color:#0d0d0d;font-size:1rem;cursor:pointer;padding:.5rem 0;margin-bottom:1.5rem;font-weight:600;transition:color .3s ease}.back-link:hover{color:#2d2d2d;text-decoration:underline}.error-container{background:#fff;padding:2rem;border-radius:8px;text-align:center;box-shadow:0 2px 8px #0000001a}.error-container h2{color:#dc2626;margin-bottom:1rem}.care-center-header{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a;margin-bottom:2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem}.care-center-photo{width:100%;height:400px;object-fit:cover;border-radius:8px}.care-center-info{display:flex;flex-direction:column;justify-content:flex-start}.care-center-info h1{font-size:2.5rem;color:#333;margin-bottom:1.5rem}.contact-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.contact-info p{font-size:1rem;color:#555;margin:0;line-height:1.6}.website-link-detail{color:#0d0d0d;text-decoration:none;font-weight:600;transition:all .3s ease}.website-link-detail:hover{color:#2d2d2d;text-decoration:underline}.description{margin-top:auto}.description strong{color:#333;display:block;margin-bottom:.5rem}.description p{color:#666;line-height:1.6;margin:0}.doctors-section{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 16px #0000001a}.doctors-section h2{color:#333;font-size:1.8rem;margin-bottom:1.5rem}.no-doctors{color:#999;font-size:1.1rem;text-align:center;padding:2rem}.doctors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.doctor-card{background:#f9f9f9;border:1px solid #eee;border-radius:8px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.doctor-card:hover{border-color:#0d0d0d;box-shadow:0 6px 16px #0d0d0d26;transform:translateY(-4px)}.doctor-photo{width:100%;height:250px;object-fit:cover}.doctor-details{padding:1.5rem;flex:1;display:flex;flex-direction:column}.doctor-details h3{font-size:1.3rem;color:#333;margin:0 0 .5rem}.specialization{color:#0d0d0d;font-weight:600;margin:.25rem 0;font-size:.95rem}.experience{color:#666;font-size:.9rem;margin:.25rem 0}.bio{color:#666;font-size:.9rem;line-height:1.4;margin:.75rem 0;flex-grow:1}.phone{color:#666;font-size:.9rem;margin:.5rem 0 1rem}.book-btn{background:#0d0d0d;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;margin-top:auto}.book-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0d0d0d66}.lab-services-section{background:#fff;border-radius:12px;padding:1.5rem 2rem;margin-top:2rem;box-shadow:0 2px 8px #0000000f}.lab-services-section h2{margin:0 0 1.25rem;font-size:1.4rem;color:#1f2937}.lab-booking-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}.no-lab-services{color:#9ca3af;font-style:italic}.lab-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.lab-service-detail-card{border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .2s,border-color .2s}.lab-service-detail-card:hover{box-shadow:0 4px 12px #0d0d0d1f;border-color:#c4b5fd}.lab-service-detail-name{font-weight:700;font-size:1rem;color:#1f2937}.lab-service-detail-desc{font-size:.875rem;color:#6b7280}.lab-service-detail-prereq{font-size:.8rem;color:#92400e;background:#fef3c7;padding:.3rem .6rem;border-radius:4px}.lab-service-detail-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.lab-service-detail-cost{font-size:1rem;font-weight:700;color:#059669}.lab-service-detail-cost-na{font-size:.875rem;color:#9ca3af;font-style:italic}.lab-book-btn{padding:.45rem 1rem;background:#0d0d0d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:opacity .2s}.lab-book-btn:hover{opacity:.9}@media (max-width: 768px){.care-center-header{grid-template-columns:1fr}.care-center-info h1{font-size:1.8rem}.doctors-grid{grid-template-columns:1fr}.doctors-section{padding:1rem}.lab-services-grid{grid-template-columns:1fr}}.center-rating-summary{margin-top:.5rem;display:flex;align-items:center;gap:.5rem}.center-rating-summary .stars{color:#f59e0b;font-size:1.1rem}.center-rating-summary .rating-text{color:#555;font-size:.95rem}.write-review-btn{margin-top:.75rem;padding:.45rem 1.1rem;background:#0d0d0d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}.write-review-btn:hover{opacity:.9}.reviews-section{margin-top:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f}.reviews-section h2{margin-bottom:1rem}.no-reviews{color:#888}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-card{padding:1rem;border:1px solid #eee;border-radius:6px;background:#fff}.review-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.4rem}.reviewer-name{font-weight:600}.reviewer-role-badge{font-size:.78rem;padding:.15rem .5rem;border-radius:12px;background:#e8f0fe;color:#3b5bdb}.reviewer-role-badge.doctor{background:#e6fef0;color:#1a7f4b}.review-stars{color:#f59e0b}.review-date{color:#999;font-size:.82rem;margin-left:auto}.review-text{margin:0;color:#444;font-size:.95rem}.my-care-centers{padding:1rem}.my-care-centers h2{margin-bottom:1rem}.care-centers-list{display:flex;flex-direction:column;gap:.75rem}.care-center-row{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;background:#fff;border:1px solid #eee;border-radius:8px;gap:1rem}.care-center-row-info{display:flex;flex-direction:column;gap:.2rem}.cc-address{color:#666;font-size:.88rem}.cc-rating{color:#f59e0b;font-size:.88rem}#root{width:100%;height:100%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans,Noto Sans Devanagari,Noto Sans Bengali,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f5f5f5;color:#333}html,body,#root{height:100%}button{cursor:pointer;border:none;font-size:1rem;transition:all .3s ease}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:1rem;padding:.75rem;border:1px solid #ddd;border-radius:4px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem;border:1px solid #f5c6cb}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}.no-data,.no-results{text-align:center;padding:2rem;color:#666;font-size:1rem}
