.login-container{min-height:100vh;background-color:#fffbf7;display:flex;align-items:center;justify-content:center;padding:2rem}.login-content{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;width:100%;background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;min-height:600px;border:1px solid #e8e8e8}.login-left{background-color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:center}.logo-section{display:flex;align-items:center;gap:.5rem;margin-bottom:3rem}.logo-icon{width:112px;height:112px;object-fit:contain}.logo-text{display:flex;flex-direction:column}.logo-name{font-size:1.875rem;font-weight:800;color:#ff7a00;letter-spacing:-.025em}.logo-tagline{font-size:.875rem;font-weight:700;color:#94a3b8;letter-spacing:.1em;text-transform:uppercase}.headline-section{margin-bottom:2rem}.headline-main{font-size:2.8125rem;font-weight:800;color:#0f172a;margin-bottom:2rem;line-height:1.1}.headline-main .headline-accent{color:#ff7a00;font-weight:800}.description{font-size:1.25rem;color:#64748b;line-height:1.75;margin-bottom:3rem;max-width:500px}.feature-cards{display:flex;flex-direction:column;gap:1.5rem}.feature-card{display:flex;flex-direction:column;gap:.25rem;padding:1.5rem;background-color:#ffedd580;border-radius:1rem;border:1px solid #ffedd5}.feature-header{display:flex;align-items:center;gap:1rem;margin-bottom:0}.feature-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%;color:#ff7a00;box-shadow:0 1px 2px #0000000d}.feature-icon .material-symbols-outlined{font-size:24px}.feature-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0}.feature-description{font-size:1rem;color:#64748b;line-height:1.5;margin:0}.login-right{background-color:#fffbf7;padding:3rem;display:flex;flex-direction:column;position:relative}.dark-mode-toggle{position:absolute;top:2rem;right:2rem;font-size:1.5rem;cursor:pointer}.signin-section{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:400px;margin:0 auto;width:100%}.signin-title{font-size:1.875rem;font-weight:700;color:#0f172a;margin-bottom:.75rem}.signin-subtitle{font-size:1rem;color:#64748b;margin-bottom:2.5rem}.social-login-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.social-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.75rem;background-color:#fff;font-size:.9rem;color:#0f172a;cursor:pointer;transition:all .2s;font-weight:500;box-shadow:0 1px 2px #0000000d}.social-button:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e1}.social-button:hover:not(:disabled){border-color:#f93;background-color:#fff5eb}.social-button:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px;flex-shrink:0}.sso-icon{font-size:1.25rem;color:#0f172a}.divider{display:flex;align-items:center;text-align:center;margin:1rem 0;color:#94a3b8;font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid #e2e8f0}.divider span{padding:0 1rem}.error-message{background-color:#ffe5e5;color:#dc3545;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.875rem;font-weight:600;color:#334155}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.75rem;font-size:1rem;transition:all .2s;background-color:#fff;color:#0f172a}.form-group input:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a001a}.password-label{display:flex;justify-content:space-between;align-items:center}.forgot-link{font-size:.875rem;font-weight:600;color:#ff7a00;cursor:pointer;background:none;border:none;padding:0;text-decoration:none}.forgot-link:hover{color:#ff8a1a;text-decoration:underline}.forgot-link:hover{text-decoration:underline}.password-input-wrapper{position:relative}.password-input-wrapper input{width:100%;padding-right:3rem}.password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:#94a3b8;display:flex;align-items:center;justify-content:center}.password-toggle .material-symbols-outlined{font-size:1.25rem}.checkbox-group{flex-direction:row;align-items:center;gap:.5rem}.checkbox-group input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#ff7a00;border-color:#cbd5e1}.checkbox-group label{font-size:.875rem;color:#64748b}.signin-button{padding:1rem 1.5rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:.5rem;box-shadow:0 10px 15px -3px #ff7a0033,0 4px 6px -2px #ff7a001a}.signin-button:hover:not(:disabled){background-color:#ff8a1a;transform:scale(.98)}.signin-button:disabled{opacity:.6;cursor:not-allowed}.create-account-section{text-align:center;margin-top:2rem;font-size:1rem;color:#64748b}.create-account-link{background:none;border:none;color:#ff7a00;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.create-account-link:hover{color:#ff8a1a;text-decoration-thickness:2px}.security-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #e2e8f0}.security-badge{display:flex;align-items:center;gap:.5rem;font-size:.625rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.badge-icon{font-size:.875rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:12px;max-width:500px;width:90%}.modal-content h3{margin-bottom:.5rem;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.modal-description{font-size:.9rem;color:#64748b;margin-bottom:1.5rem;font-family:Plus Jakarta Sans,sans-serif}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{padding:.75rem 1.5rem;border-radius:8px;border:none;cursor:pointer;font-size:.9rem}.modal-actions button[type=button]{background-color:#f5f5f5;color:#1f1f1f}.modal-actions button[type=submit]{background-color:#f93;color:#fff}.login-mode-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;background:#f1f5f9;border-radius:.75rem;padding:.25rem}.login-mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .75rem;border:none;border-radius:.6rem;font-size:.85rem;font-weight:600;cursor:pointer;background:transparent;color:#64748b;transition:all .15s}.login-mode-tab .material-symbols-outlined{font-size:1rem}.login-mode-tab:hover:not(.active){background:#e2e8f0;color:#334155}.login-mode-tab.active{background:#fff;color:#ff7a00;box-shadow:0 1px 3px #00000014}.otp-hint{font-size:.825rem;color:#64748b;margin:-.5rem 0 0;line-height:1.5}.otp-delivery-info{display:flex;align-items:flex-start;gap:.6rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.75rem;padding:.75rem 1rem;font-size:.875rem;color:#166534;line-height:1.5}.otp-mail-icon{font-size:1.25rem;color:#16a34a;flex-shrink:0;margin-top:.05rem}.otp-code-input{font-size:1.5rem!important;letter-spacing:.35em;text-align:center;font-weight:700;padding:.75rem 1rem!important}.otp-actions{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:-.5rem}.otp-actions-sep{color:#cbd5e1;font-size:.875rem}.otp-link{background:none;border:none;color:#ff7a00;font-size:.825rem;font-weight:600;cursor:pointer;padding:0}.otp-link:hover:not(:disabled){text-decoration:underline}.otp-link:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 968px){.login-content{grid-template-columns:1fr}.login-left{display:none}}.dashboard-container{min-height:100vh;background-color:#fffbf7}.dashboard-ribbon{background-color:#fff;border-bottom:1px solid #E2E8F0;padding:1.25rem 2rem;box-shadow:0 1px 3px #0000000d}.dashboard-main{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-content{display:flex;flex-direction:column;gap:2rem}.create-patient-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fff7ed;color:#ff7a00;border:1px solid #FF7A00;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s,color .2s}.create-patient-button:hover{background-color:#ff7a00;color:#fff}.create-patient-button .material-symbols-outlined{font-size:1.25rem}.patient-info-placeholder{background-color:#fff;border-radius:12px;padding:2rem;text-align:center;color:#94a3b8;font-family:Plus Jakarta Sans,sans-serif;border:1px dashed #CBD5E1}.feature-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem}.feature-cards-grid.disabled{opacity:.5;pointer-events:none}.feature-card{background-color:#fff;border-radius:2rem;padding:2rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;text-align:left;position:relative}.feature-card:hover:not(.disabled){box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.feature-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.feature-card-icon-container{width:56px;height:56px;min-width:56px;border-radius:1rem;background-color:#fff7ed;display:flex;align-items:center;justify-content:center;color:#ff7a00;transition:all .3s;flex-shrink:0}.feature-card-icon-container .material-symbols-outlined{font-size:1.875rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.action-card:hover .feature-card-icon-container{transform:scale(1.1);background-color:#ff7a00;color:#fff}.feature-card-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;font-family:Plus Jakarta Sans,sans-serif;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.feature-card-description{font-size:.875rem;color:#64748b;line-height:1.625;margin:0;font-family:Plus Jakarta Sans,sans-serif}.coming-soon-badge{display:inline-block;padding:.25rem .75rem;background-color:#fffbf7;color:#ff7a00;border:1px solid #FF7A00;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:Plus Jakarta Sans,sans-serif;align-self:flex-start;margin-top:auto}.health-actions-section{margin-top:0}.health-actions-section.disabled{opacity:.5;pointer-events:none}.health-actions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.health-actions-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:.5rem;font-family:Plus Jakarta Sans,sans-serif}.health-actions-icon{color:#ff7a00;font-size:1.5rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.carousel-controls{display:flex;gap:.5rem}.carousel-button{width:36px;height:36px;border-radius:50%;border:1px solid #E2E8F0;background-color:#fff;color:#0f172a;font-size:1.25rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-family:Plus Jakarta Sans,sans-serif}.carousel-button:hover:not(:disabled){background-color:#f8fafc;border-color:#ff7a00;color:#ff7a00}.carousel-button:disabled{opacity:.5;cursor:not-allowed}.health-actions-carousel{display:flex;gap:1.5rem;overflow-x:auto;padding-bottom:.5rem;scroll-behavior:smooth}.health-actions-carousel::-webkit-scrollbar{height:6px}.health-actions-carousel::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.health-actions-carousel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.health-actions-carousel::-webkit-scrollbar-thumb:hover{background:#94a3b8}.health-action-card{min-width:320px;border-radius:1.5rem;padding:1.5rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:1rem}.health-action-card:hover:not(.disabled){box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.action-button{padding:.75rem 1.5rem;background-color:#fffbf7;color:#ff7a00;border:1px solid #FF7A00;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;align-self:flex-start;margin-top:auto;width:100%}.action-button:hover:not(:disabled){background-color:#ff7a00;color:#fff;border-color:#ff7a00}.action-button:disabled{opacity:.6;cursor:not-allowed}.signup-welcome-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.signup-welcome-modal-content{background-color:#fff;border-radius:1rem;padding:2rem;max-width:560px;width:92%;position:relative;border:1px solid #E2E8F0;box-shadow:0 12px 28px #0f172a2e}.signup-welcome-close-button{position:absolute;top:.75rem;right:.75rem;border:none;background:transparent;border-radius:999px;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer}.signup-welcome-close-button:hover{background-color:#f1f5f9;color:#0f172a}.signup-welcome-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 .75rem;line-height:1.4;font-family:Plus Jakarta Sans,sans-serif}.signup-welcome-message{font-size:1rem;color:#334155;margin:0 0 1.25rem;font-family:Plus Jakarta Sans,sans-serif}.signup-welcome-button{background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer}.signup-welcome-button:hover{background-color:#ff8a1a}@media (max-width: 768px){.dashboard-main{padding:1rem}.ribbon-content{flex-direction:column;gap:1rem;align-items:flex-start}.feature-cards-grid{grid-template-columns:1fr}.health-actions-header{flex-direction:column;align-items:flex-start;gap:1rem}.health-action-card{min-width:280px}.coming-soon-modal-content{padding:1.5rem}.coming-soon-title{font-size:1.5rem}.signup-welcome-modal-content{padding:1.5rem}.signup-welcome-title{font-size:1.25rem}}.create-visit-container{min-height:100vh;background-color:#fffbf7}.create-visit-ribbon{background-color:#fff;border-bottom:1px solid #E2E8F0;padding:1.25rem 2rem;box-shadow:0 1px 3px #0000000d}.create-visit-main{max-width:1400px;margin:0 auto;padding:2rem}.create-visit-content{display:flex;flex-direction:column;gap:2.5rem}.create-visit-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0;font-family:Plus Jakarta Sans,sans-serif}.patient-select{padding:.75rem 1rem;border:1px solid #E2E8F0;border-radius:.75rem;font-size:1rem;background-color:#fff;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif;cursor:pointer;transition:all .2s;min-width:250px;max-width:400px;flex:1}.patient-select:disabled{opacity:.6;cursor:not-allowed}.patient-info-section{margin-bottom:1rem}.patient-info-actions{display:flex;align-items:center;gap:.75rem}.view-visits-button{padding:.375rem .875rem;background-color:#f1f5f9;color:#475569;border:1px solid #E2E8F0;border-radius:.5rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.375rem}.view-visits-button:hover{background-color:#e2e8f0;color:#334155;border-color:#cbd5e1}.view-visits-button .material-symbols-outlined{font-size:1rem}.condition-icon{font-size:1rem;color:#fff;line-height:1}.patient-info-placeholder{background-color:#fff;border-radius:12px;padding:2rem;text-align:center;color:#94a3b8;font-family:Plus Jakarta Sans,sans-serif;border:1px dashed #CBD5E1;display:flex;flex-direction:column;align-items:center;gap:1rem}.select-patient-button{padding:.5rem 1.5rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif}.select-patient-button:hover{background-color:#ff8a1a}.patient-info-loading{background-color:#fff;border-radius:12px;padding:2rem;text-align:center;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.required{color:#ef4444}.form-input::placeholder{color:#94a3b8}.visit-records-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.visit-record-card{background-color:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0;display:flex;flex-direction:column;transition:all .3s;position:relative}.visit-record-card:hover:not(.disabled){box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.visit-record-card.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.visit-record-icon-container{width:56px;height:56px;min-width:56px;border-radius:1rem;background-color:#fff7ed;display:flex;align-items:center;justify-content:center;color:#ff7a00;flex-shrink:0}.visit-record-icon-container .material-symbols-outlined{font-size:1.875rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.visit-record-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;font-family:Plus Jakarta Sans,sans-serif;line-height:1.3}.visit-record-description{font-size:.875rem;color:#64748b;line-height:1.625;margin:0 0 1.5rem;font-family:Plus Jakarta Sans,sans-serif}.visit-record-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:auto}.upload-button,.record-button{padding:.75rem 1.5rem;background-color:#fffbf7;color:#ff7a00;border:1px solid #FF7A00;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.upload-button:hover,.record-button:hover:not(:disabled){background-color:#ff7a00;color:#fff;border-color:#ff7a00}.record-button.recording{background-color:#ef4444;color:#fff;border-color:#ef4444}.record-button.recording:hover{background-color:#dc2626;border-color:#dc2626}.upload-button:disabled,.record-button:disabled{opacity:.6;cursor:not-allowed}.uploaded-files-list{display:flex;flex-direction:column;gap:.5rem;width:100%}.uploaded-files-list .remove-file-button{align-self:flex-start}.uploaded-file-info{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f0fdf4;color:#16a34a;border-radius:.5rem;font-size:.875rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:500}.uploaded-file-info .material-symbols-outlined{font-size:1.125rem;color:#16a34a}.remove-file-button{background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s;border-radius:.25rem}.remove-file-button:hover{background-color:#f1f5f9;color:#ef4444}.remove-file-button .material-symbols-outlined{font-size:1rem}.upload-button.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.recording-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fef2f2;color:#ef4444;border-radius:.5rem;font-size:.875rem;font-family:Plus Jakarta Sans,sans-serif;font-weight:500}.recording-dot{width:8px;height:8px;border-radius:50%;background-color:#ef4444;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.coming-soon-badge{position:absolute;top:1rem;right:1rem;color:#ff7a00;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-family:Plus Jakarta Sans,sans-serif;border:none;background:none;padding:0}.coming-soon-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coming-soon-modal-content{background-color:#fff;border-radius:1.5rem;padding:2rem;max-width:500px;width:90%;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.coming-soon-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s}.coming-soon-close-button:hover{background-color:#f1f5f9;color:#0f172a}.coming-soon-close-button .material-symbols-outlined{font-size:1.5rem}.coming-soon-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.coming-soon-gif{width:100%;max-width:400px;height:auto;border-radius:.75rem}.coming-soon-fallback{padding:2rem}.coming-soon-icon{font-size:4rem;color:#ff7a00;margin-bottom:1rem}.coming-soon-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.submit-section{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;padding-top:1rem;border-top:1px solid #E2E8F0}.submit-section-error,.prescription-error-text{color:#dc2626;font-size:.875rem;margin:0;align-self:flex-start}.submit-button{padding:.875rem 2rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif}.submit-button:hover:not(:disabled){background-color:#ff8a1a}.patient-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.patient-modal-content{background-color:#fff;border-radius:1.5rem;padding:0;max-width:500px;width:90%;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.patient-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #E2E8F0}.patient-modal-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0;font-family:Plus Jakarta Sans,sans-serif}.patient-modal-close-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s}.patient-modal-close-button:hover{background-color:#f1f5f9;color:#0f172a}.patient-modal-close-button .material-symbols-outlined{font-size:1.5rem}.patient-modal-body{padding:2rem;display:flex;flex-direction:column;gap:1rem}@media (max-width: 768px){.create-visit-main{padding:1rem}.ribbon-content{flex-direction:column;gap:1rem;align-items:flex-start}.ribbon-actions{width:100%;justify-content:space-between}.form-row,.visit-records-grid{grid-template-columns:1fr}.create-visit-title{font-size:1.5rem}.step-title{font-size:1.25rem}}.record-visit-container{min-height:100vh;background-color:#fffbf7;padding:2rem;max-width:720px;margin:0 auto}.record-visit-loading{padding:2rem;text-align:center;color:#64748b}.record-visit-header{margin-bottom:1.5rem}.record-visit-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.record-visit-back{display:inline-flex;align-items:center;padding:.5rem 0;background:none;border:none;color:#64748b;font-size:.9rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif}.record-visit-back:hover{color:#334155}.record-visit-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .25rem;font-family:Plus Jakarta Sans,sans-serif}.record-visit-subtitle{font-size:.875rem;color:#64748b;margin:0;font-family:Plus Jakarta Sans,sans-serif}.record-visit-controls{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.record-visit-btn{padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;border:none;border-radius:.75rem;cursor:pointer;transition:background-color .2s,opacity .2s;font-family:Plus Jakarta Sans,sans-serif}.record-visit-btn:disabled{opacity:.5;cursor:not-allowed}.record-visit-btn-start{background:#22c55e;color:#fff}.record-visit-btn-start:hover:not(:disabled){background:#16a34a}.record-visit-btn-pause{background:#f59e0b;color:#fff}.record-visit-btn-pause:hover:not(:disabled){background:#d97706}.record-visit-btn-stop{background:#ef4444;color:#fff}.record-visit-btn-stop:hover:not(:disabled){background:#dc2626}.record-visit-status{font-size:.8125rem;color:#64748b;margin-bottom:1rem;min-height:1.25rem;font-family:Plus Jakarta Sans,sans-serif}.record-visit-status.active{color:#16a34a}.record-visit-status.error,.record-visit-error-text{color:#dc2626}.record-visit-transcript-box{background:#fff;border:1px solid #E2E8F0;border-radius:.75rem;padding:1rem;min-height:200px;max-height:50vh;overflow-y:auto;font-family:Plus Jakarta Sans,sans-serif}.record-visit-transcript-placeholder{color:#94a3b8;font-size:.875rem}.record-visit-turn{margin-bottom:1rem}.record-visit-turn:last-child{margin-bottom:0}.record-visit-turn-id{font-size:.75rem;font-weight:600;color:#64748b;display:block;margin-bottom:.25rem}.record-visit-turn-time{color:#94a3b8;font-weight:500}.record-visit-turn-uuid{color:#818cf8;font-weight:500;margin-left:.25rem}.record-visit-turn-text{color:#1e293b;font-size:.9375rem;line-height:1.5;padding-left:.25rem}.recorder-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.recorder-modal-content{background-color:#fffbf7;border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000040;max-width:640px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;font-family:Plus Jakarta Sans,sans-serif}.recorder-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #E2E8F0;background-color:#fff}.recorder-modal-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0}.recorder-modal-close{background:none;border:none;cursor:pointer;padding:.375rem;display:flex;align-items:center;justify-content:center;color:#64748b;border-radius:.5rem;transition:all .2s}.recorder-modal-close:hover{background-color:#f1f5f9;color:#1e293b}.recorder-modal-close .material-symbols-outlined{font-size:1.5rem}.recorder-modal-waveform{padding:1.5rem;min-height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:1px solid #E2E8F0}.recorder-modal-waveform-inner{display:flex;align-items:center;justify-content:center;width:100%;max-width:560px}.recorder-modal-canvas{width:100%;max-width:560px;height:140px;border-radius:.75rem;background:#fff;box-shadow:inset 0 1px 3px #0000000f;border:1px solid #E2E8F0;display:block}.recorder-modal-waveform-placeholder{color:#94a3b8;font-size:.875rem;padding:1rem;text-align:center}.recorder-modal-controls{display:flex;gap:.75rem;padding:1rem 1.5rem;flex-wrap:wrap;justify-content:center;background-color:#fff;border-bottom:1px solid #E2E8F0}.recorder-modal-btn{padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;border:none;border-radius:.75rem;cursor:pointer;transition:background-color .2s,opacity .2s;display:flex;align-items:center;gap:.5rem}.recorder-modal-btn:disabled{opacity:.5;cursor:not-allowed}.recorder-modal-btn .material-symbols-outlined{font-size:1.25rem}.recorder-modal-btn-start{background:#22c55e;color:#fff}.recorder-modal-btn-start:hover:not(:disabled){background:#16a34a}.recorder-modal-btn-pause{background:#f59e0b;color:#fff}.recorder-modal-btn-pause:hover:not(:disabled){background:#d97706}.recorder-modal-btn-stop{background:#ef4444;color:#fff}.recorder-modal-btn-stop:hover:not(:disabled){background:#dc2626}.recorder-modal-status{font-size:.8125rem;color:#64748b;padding:.5rem 1.5rem;min-height:1.25rem}.recorder-modal-status.active{color:#16a34a}.recorder-modal-status.error,.recorder-modal-error-text{color:#dc2626}.recorder-modal-transcript-collapsible{flex:1;min-height:0;display:flex;flex-direction:column;margin:0 1.5rem 1.5rem}.recorder-modal-transcript-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 0;border:none;background:none;cursor:pointer;font:inherit;color:#64748b;font-size:.875rem;font-weight:600;text-align:left;border-radius:.5rem;transition:color .2s,background-color .2s}.recorder-modal-transcript-toggle:hover{color:#1e293b;background-color:#f1f5f9}.recorder-modal-transcript-arrow{display:inline-flex;align-items:center;justify-content:center;font-size:.5rem;line-height:1;width:1rem;color:#94a3b8;transition:transform .2s}.recorder-modal-transcript-arrow.expanded{transform:rotate(90deg)}.recorder-modal-transcript-box{min-height:120px;max-height:40vh;overflow-y:auto;padding:1rem 1.5rem;background-color:#fff;border:1px solid #E2E8F0;border-radius:.75rem;margin-top:.25rem}.recorder-modal-transcript-placeholder{color:#94a3b8;font-size:.875rem}.recorder-modal-turn{margin-bottom:1rem}.recorder-modal-turn:last-child{margin-bottom:0}.recorder-modal-turn-id{font-size:.75rem;font-weight:600;color:#64748b;display:block;margin-bottom:.25rem}.recorder-modal-turn-time{color:#94a3b8;font-weight:500}.recorder-modal-turn-uuid{color:#818cf8;font-weight:500;margin-left:.25rem}.recorder-modal-turn-text{color:#1e293b;font-size:.9375rem;line-height:1.5;padding-left:.25rem}.visit-insights-container{min-height:100vh;background-color:#fffbf7}.access-error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background-color:#fef2f2;border-bottom:1px solid #FECACA;color:#b91c1c;font-weight:500}.access-error-banner .material-symbols-outlined{font-size:1.25rem;flex-shrink:0}.access-error-back-button{margin-left:auto;padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;font-size:.9rem}.access-error-back-button:hover{background-color:#b91c1c}.visit-insights-ribbon{background-color:#fff;border-bottom:1px solid #E2E8F0;padding:1.25rem 2rem;box-shadow:0 1px 3px #0000000d}.ribbon-nav-button{padding:.5rem 1rem;background-color:#f1f5f9;color:#64748b;border:none;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif}.ribbon-nav-button:hover:not(:disabled){background-color:#e2e8f0;color:#475569}.ribbon-nav-button:disabled{opacity:.5;cursor:not-allowed}.visit-insights-main{max-width:1400px;margin:0 auto;padding:2rem}.visit-insights-content{display:flex;flex-direction:column;gap:2rem}.visit-insights-title-section{margin-bottom:1.5rem}.patient-info-section{margin-bottom:2rem}.patient-info-card{background-color:#fff;border-radius:12px;padding:.75rem 1.25rem;box-shadow:0 2px 4px #0000000d;border:1px solid #E2E8F0}.patient-info-content{display:flex;flex-direction:column;gap:.5rem}.patient-info-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.patient-info-name{font-size:1.25rem;font-weight:700;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif}.patient-info-details{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.patient-info-age{font-size:.875rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.25rem}.age-icon{font-size:1rem;color:#64748b}.patient-info-gender{font-size:.875rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.25rem}.gender-icon{font-size:.875rem}.patient-condition-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background-color:#ff7a00;color:#fff;border-radius:9999px;font-size:.75rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif}.condition-icon{font-size:1rem;color:#fff}.full-profile-button{padding:.375rem .875rem;background-color:transparent;color:#ff7a00;border:1px solid #FF7A00;border-radius:.5rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.25rem}.full-profile-button:hover{background-color:#ff7a00;color:#fff}.visit-artifacts-section{margin-bottom:1.5rem;margin-top:0;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.visit-artifacts-admin-downloads{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.artifact-download-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f0fdf4;border:1px solid #BBF7D0;border-radius:.5rem;font-size:.8125rem;font-weight:500;color:#166534;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif}.artifact-download-button:hover{background:#dcfce7;border-color:#86efac}.artifact-download-icon{font-size:1rem;flex-shrink:0}.artifact-download-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-download-arrow{font-size:1rem;flex-shrink:0}.artifact-download-loading,.artifact-download-empty{font-size:.8125rem;color:#64748b}.visit-artifacts-label{font-size:.75rem;color:#64748b;font-weight:500;font-family:Plus Jakarta Sans,sans-serif}.visit-artifacts-list{display:flex;flex-direction:column;gap:.5rem;width:100%}.visit-artifacts-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.visit-artifact-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;font-family:Plus Jakarta Sans,sans-serif;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid}.visit-artifact-chip-processed{background-color:#f0fdf4;border-color:#86efac;color:#166534}.visit-artifact-chip-failed{background-color:#fef2f2;border-color:#fecaca;color:#b91c1c}.visit-artifact-chip-processing{background-color:#f0f9ff;border-color:#bae6fd;color:#0c4a6e}.visit-artifact-chip-pending{background-color:#f8fafc;border-color:#e2e8f0;color:#64748b}.visit-artifact-chip-icon{font-size:1rem;flex-shrink:0}.visit-artifact-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visit-artifacts-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.visit-artifacts-legend-item{display:inline-flex;align-items:center;gap:.375rem}.visit-artifacts-legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.visit-artifacts-legend-processed .visit-artifacts-legend-dot{background-color:#22c55e}.visit-artifacts-legend-failed .visit-artifacts-legend-dot{background-color:#ef4444}.visit-artifacts-legend-processing .visit-artifacts-legend-dot{background-color:#0ea5e9;animation:pulse 2s ease-in-out infinite}.visit-artifacts-legend-pending .visit-artifacts-legend-dot{background-color:#94a3b8}.visit-artifact-link{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:#f8fafc;border:1px solid #E2E8F0;border-radius:.5rem;text-decoration:none;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;max-width:fit-content}.visit-artifact-link:hover{background-color:#f1f5f9;border-color:#cbd5e1}.visit-artifact-icon{font-size:1rem;color:#64748b;flex-shrink:0}.visit-artifact-name{font-size:.8125rem;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.visit-artifact-item{display:flex;flex-direction:column;gap:.5rem;width:100%}.visit-artifact-status{display:flex;align-items:center;margin-left:0}.artifact-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif}.artifact-status-processing{background-color:#f0f9ff;color:#0c4a6e;border:1px solid #BAE6FD}.artifact-status-completed{background-color:#f0fdf4;color:#14532d;border:1px solid #BBF7D0}.artifact-status-error{background-color:#fef2f2;color:#991b1b;border:1px solid #FECACA}.artifact-status-pending{background-color:#f8fafc;color:#475569;border:1px solid #E2E8F0}.artifact-status-icon{font-size:1rem}.artifact-status-processing .artifact-status-icon{animation:pulse 2s ease-in-out infinite}.artifact-status-text{font-size:.75rem;font-weight:600}.coming-soon-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.coming-soon-modal-content{background-color:#fff;border-radius:1.5rem;padding:2rem;max-width:500px;width:100%;position:relative;box-shadow:0 20px 25px -5px #0000001a}.coming-soon-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:background-color .2s;color:#64748b}.coming-soon-close-button:hover{background-color:#f1f5f9}.coming-soon-content{display:flex;flex-direction:column;align-items:center;text-align:center}.coming-soon-gif{width:100%;max-width:300px;height:auto;border-radius:1rem;margin-bottom:1rem}.coming-soon-fallback{display:flex;flex-direction:column;align-items:center;gap:1rem}.coming-soon-icon{font-size:4rem;color:#ff7a00}.coming-soon-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0;font-family:Plus Jakarta Sans,sans-serif}.coming-soon-message{font-size:1rem;color:#64748b;margin:0;font-family:Plus Jakarta Sans,sans-serif}.visit-insights-header{display:flex;justify-content:space-between;align-items:flex-start;margin:0;padding:0;line-height:1}.visit-insights-header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.visit-insights-title{font-size:1.75rem;font-weight:800;color:#1e293b;margin:0;padding:0;font-family:Plus Jakarta Sans,sans-serif;letter-spacing:-.01em;line-height:1;display:block}.visit-meta-info{display:flex;align-items:center;gap:.5rem;margin:0;padding:0;margin-top:.25rem;flex-wrap:wrap;font-family:Plus Jakarta Sans,sans-serif;line-height:1.4}.visit-meta-item{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#64748b}.visit-meta-label{font-weight:500;color:#94a3b8}.visit-meta-value{font-weight:500;color:#1e293b}.visit-meta-transcription-processed{color:#10b981;font-weight:500}.visit-meta-separator{font-size:.875rem;color:#cbd5e1;font-weight:400}.last-updated-badge{display:flex;align-items:center;gap:.5rem;color:#ff7a00;font-size:.875rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif}.last-updated-badge .material-symbols-outlined{font-size:1rem}.delete-session-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fef2f2;color:#dc2626;border:1px solid #FECACA;border-radius:.75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif}.delete-session-button:hover:not(:disabled){background-color:#dc2626;color:#fff;border-color:#dc2626}.delete-session-button:disabled{opacity:.5;cursor:not-allowed}.delete-session-button .material-symbols-outlined{font-size:1.125rem}.transcription-status-indicator{display:flex;justify-content:center;align-items:center;margin:1.5rem auto 2rem;font-family:Plus Jakarta Sans,sans-serif}.transcription-status-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #BAE6FD;border-radius:1rem;box-shadow:0 4px 6px -1px #0ea5e91a,0 2px 4px -1px #0ea5e90f;width:200px;height:200px;position:relative;overflow:hidden;aspect-ratio:1}.transcription-status-content:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 3s infinite}.transcription-status-icon{font-size:1.5rem;color:#0ea5e9;animation:pulse-gentle 2s ease-in-out infinite,iconFadeIn .5s ease-in-out;flex-shrink:0}.transcription-status-text{font-size:.875rem;font-weight:600;color:#0c4a6e;min-height:1.5rem;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4}.transcription-text-rotating{display:inline-block;animation:textFadeIn .6s ease-in-out}@keyframes textFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes iconFadeIn{0%{opacity:0;transform:scale(.8) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.transcription-error-indicator{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;background-color:#fef2f2;border:1px solid #FECACA;border-radius:1rem;margin:1.5rem auto 2rem;width:200px;height:200px;color:#dc2626;font-family:Plus Jakarta Sans,sans-serif;font-size:.875rem;text-align:center;aspect-ratio:1}.transcription-error-indicator .material-symbols-outlined{font-size:1.25rem}@keyframes pulse-gentle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes shimmer{0%{left:-100%}to{left:100%}}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.summary-section{margin-bottom:0;display:flex;flex-direction:column}.section-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.5rem}.section-title-icon{font-size:1.5rem;color:#ff7a00}.summary-card{background-color:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;min-height:200px}.summary-card-bordered{background-color:#fff;border-radius:1.5rem;border:1px solid #E2E8F0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden;min-height:200px;display:flex;flex-direction:column;height:100%}.summary-card-header{padding:1.5rem 2rem;border-bottom:1px solid #F1F5F9;background-color:#fafbfc;display:flex;align-items:center;justify-content:space-between}.summary-card-header-left{display:flex;align-items:center;gap:.75rem}.summary-header-icon{font-size:1.5rem;color:#ff7a00}.summary-card-title{font-size:1.125rem;font-weight:700;color:#1e293b;margin:0;font-family:Plus Jakarta Sans,sans-serif}.summary-card-status-dots{display:flex;gap:.5rem}.status-dot{width:.75rem;height:.75rem;border-radius:50%}.status-dot-green{background-color:#10b981}.status-dot-gray{background-color:#e2e8f0}.status-dot-loading{background-color:#10b981;animation:dot-pulse 1.4s ease-in-out infinite}.status-dot-1{animation-delay:0s}.status-dot-2{animation-delay:.2s}.status-dot-3{animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.summary-card-body{padding:2rem;flex:1;min-height:0}.summary-scrollable{max-height:710px;overflow-y:auto;overflow-x:hidden}.summary-scrollable::-webkit-scrollbar{width:8px}.summary-scrollable::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.summary-scrollable::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.summary-scrollable::-webkit-scrollbar-thumb:hover{background:#94a3b8}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.loading-text{font-size:1rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif;margin:0}.summary-loading{min-height:200px}.summary-spinner{width:50px;height:50px;border:4px solid #F1F5F9;border-top-color:#ff7a00;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{display:flex;align-items:flex-start;gap:.5rem;padding:1rem;background-color:#fef2f2;border:1px solid #FECACA;border-radius:.5rem;color:#dc2626;font-family:Plus Jakarta Sans,sans-serif}.error-message .material-symbols-outlined{font-size:1.5rem;flex-shrink:0}.error-message-content{display:flex;flex-direction:column;gap:.75rem;flex:1}.error-message-content>span{line-height:1.5}.retry-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;align-self:flex-start}.retry-button:hover:not(:disabled){background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 4px #dc262633}.retry-button:disabled{opacity:.5;cursor:not-allowed}.retry-button .material-symbols-outlined{font-size:1rem}.retry-button:disabled .material-symbols-outlined{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.summary-content{padding:.5rem 0}.summary-text{font-size:1rem;line-height:1.6;color:#1e293b;font-family:Plus Jakarta Sans,sans-serif;white-space:pre-wrap}.structured-summary{display:flex;flex-direction:column;gap:1.5rem}.structured-summary-section{display:flex;flex-direction:column;gap:.75rem}.structured-summary-title{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.75rem}.structured-summary-title .structured-summary-indicator{width:4px;height:1.5rem;background-color:#ff7a00;border-radius:2px;flex-shrink:0}.structured-summary-section-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;gap:.75rem}.structured-summary-section-title .structured-summary-indicator,.structured-summary-indicator{width:4px;height:1.25rem;background-color:#ff7a00;border-radius:2px;flex-shrink:0}.structured-summary-section-content{font-size:.95rem;line-height:1.6;color:#475569;font-family:Plus Jakarta Sans,sans-serif;margin:0;padding-left:1.5rem;white-space:pre-wrap}.care-plan-content{display:flex;flex-direction:column;gap:.75rem;padding-left:1.5rem}.care-plan-item{display:flex;flex-direction:column;gap:.25rem}.care-plan-label{font-size:.9rem;font-weight:600;color:#1e293b;font-family:Plus Jakarta Sans,sans-serif}.care-plan-value{font-size:.95rem;line-height:1.6;color:#475569;font-family:Plus Jakarta Sans,sans-serif;white-space:pre-wrap}.placeholder-text{padding:2rem;text-align:center;color:#94a3b8;font-family:Plus Jakarta Sans,sans-serif;font-style:italic}.recommendations-section{margin-bottom:0;display:flex;flex-direction:column}.recommendations-content-wrapper{display:flex;flex-direction:column}.recommendations-content{padding:0;flex:1;min-height:0}.recommendations-scrollable{max-height:710px;overflow-y:auto;overflow-x:hidden}.recommendations-scrollable::-webkit-scrollbar{width:8px}.recommendations-scrollable::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.recommendations-scrollable::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.recommendations-scrollable::-webkit-scrollbar-thumb:hover{background:#94a3b8}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.health-action-card-modern{padding:1.25rem;border-radius:1rem;background-color:#fff;border:1px solid #E2E8F0;transition:all .2s;cursor:pointer;box-shadow:0 1px 2px #0000000d}.health-action-card-gradient-orange{background:linear-gradient(to bottom right,#fff,#ffedd54d)}.health-action-card-gradient-blue{background:linear-gradient(to bottom right,#fff,#dbeafe4d)}.health-action-card-gradient-green{background:linear-gradient(to bottom right,#fff,#d1fae54d)}.health-action-card-gradient-purple{background:linear-gradient(to bottom right,#fff,#e9d5ff4d)}.health-action-card-modern:hover{border-color:#ff7a0066;box-shadow:0 4px 6px -1px #0000001a}.action-content-modern{display:flex;gap:1rem}.action-icon-bg{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.action-icon-bg-blue{background-color:#dbeafe;color:#3b82f6}.action-icon-bg-orange{background-color:#fed7aa;color:#f97316}.action-icon-bg-green{background-color:#d1fae5;color:#10b981}.action-icon-bg-purple{background-color:#e9d5ff;color:#a855f7}.health-action-card-modern:hover .action-icon-bg-blue,.health-action-card-modern:hover .action-icon-bg-orange,.health-action-card-modern:hover .action-icon-bg-green,.health-action-card-modern:hover .action-icon-bg-purple{background-color:#ff7a001a}.action-icon-modern{width:1.5rem;height:1.5rem;object-fit:contain}.action-text-modern{flex:1;display:flex;flex-direction:column;gap:.5rem}.action-header-modern{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.action-title-modern{font-size:1rem;font-weight:700;color:#1e293b;margin:0;font-family:Plus Jakarta Sans,sans-serif}.action-tag{font-size:.625rem;font-weight:800;text-transform:uppercase;padding:.125rem .5rem;border-radius:.25rem;font-family:Plus Jakarta Sans,sans-serif}.action-tag-blue{color:#3b82f6;background-color:#dbeafe}.action-tag-orange{color:#f97316;background-color:#fed7aa}.action-tag-green{color:#10b981;background-color:#d1fae5}.action-tag-purple{color:#a855f7;background-color:#e9d5ff}.action-description-modern{font-size:.875rem;color:#64748b;line-height:1.5;margin:0;font-family:Plus Jakarta Sans,sans-serif}.action-cta-modern{margin-top:.75rem}.action-link-button{padding:.75rem 1.5rem;background-color:#fffbf7;color:#ff7a00;border:1px solid #FF7A00;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.action-link-button:hover{background-color:#ff7a00;color:#fff;border-color:#ff7a00}.health-action-card{border-radius:1.5rem;padding:1.5rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0;transition:all .2s;display:flex;flex-direction:column;gap:1rem}.health-action-card-orange{background:linear-gradient(to bottom right,#fff,#ffedd54d)}.health-action-card-blue{background:linear-gradient(to bottom right,#fff,#dbeafe4d)}.health-action-card-green{background:linear-gradient(to bottom right,#fff,#d1fae54d)}.health-action-card-purple{background:linear-gradient(to bottom right,#fff,#e9d5ff4d)}.health-action-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.action-content{display:flex;gap:1rem;flex:1}.action-icon{width:64px;height:64px;object-fit:contain;flex-shrink:0}.action-text{flex:1;display:flex;flex-direction:column;gap:.5rem}.action-category{font-size:1rem;font-weight:700;color:#0f172a;margin:0;font-family:Plus Jakarta Sans,sans-serif}.action-description{font-size:.9rem;color:#64748b;line-height:1.5;margin:0;font-family:Plus Jakarta Sans,sans-serif}.action-button{padding:.75rem 1.5rem;background-color:#fffbf7;color:#ff7a00;border:1px solid #FF7A00;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;align-self:flex-start}.action-button:hover{background-color:#ff7a00;color:#fff}.action-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #E2E8F0;display:flex;flex-direction:column;gap:1rem}.action-details-header{display:flex;justify-content:flex-end;margin-bottom:0;padding-bottom:0}.action-collapse-icon{background:none;border:none;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;border-radius:.375rem;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif}.action-collapse-icon:hover{background-color:#f1f5f9;color:#475569}.action-collapse-icon .material-symbols-outlined{font-size:1.5rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.action-detail-section{display:flex;flex-direction:column;gap:.5rem}.action-detail-title{font-size:.9rem;font-weight:700;color:#1e293b;margin:0;font-family:Plus Jakarta Sans,sans-serif;text-transform:uppercase;letter-spacing:.05em}.action-detail-content{padding:.75rem;background-color:#f8fafc;border-radius:.5rem}.action-detail-text{font-size:.9rem;line-height:1.6;color:#475569;margin:0;font-family:Plus Jakarta Sans,sans-serif}.action-detail-json{font-size:.85rem;line-height:1.5;color:#475569;margin:0;font-family:Courier New,monospace;white-space:pre-wrap;word-wrap:break-word}.action-detail-list{margin:0;padding-left:1.5rem;list-style-type:disc}.action-detail-list-item{font-size:.9rem;line-height:1.6;color:#475569;font-family:Plus Jakarta Sans,sans-serif;margin-bottom:.5rem}.summary-skeleton-list{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.summary-skeleton-line{width:100%}.recommendations-skeleton-list{display:flex;flex-direction:column;gap:1rem}.health-action-card-skeleton{border-radius:1rem;padding:1.25rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0;background-color:#fff;display:flex;gap:1rem;align-items:flex-start}.skeleton-icon{width:64px;height:64px;background-color:#e2e8f0;border-radius:.5rem;flex-shrink:0;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:.75rem}.skeleton-line{height:1rem;background-color:#e2e8f0;border-radius:.25rem;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-title{width:60%;height:1.25rem}.skeleton-text{width:100%}.skeleton-text.short{width:80%}.skeleton-button{width:120px;height:2.5rem;background-color:#e2e8f0;border-radius:.75rem;flex-shrink:0;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 1024px){.content-grid{grid-template-columns:1fr}}.delete-confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.delete-confirm-modal-content{background-color:#fff;border-radius:1.5rem;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column;gap:1.5rem}.delete-confirm-header{display:flex;align-items:center;gap:.75rem}.delete-confirm-icon{font-size:2rem;color:#dc2626}.delete-confirm-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0;font-family:Plus Jakarta Sans,sans-serif}.delete-confirm-body{display:flex;flex-direction:column;gap:1rem}.delete-confirm-message{font-size:1rem;color:#1e293b;margin:0;font-family:Plus Jakarta Sans,sans-serif;line-height:1.5}.delete-confirm-details{font-size:.9rem;color:#64748b;margin:0;font-family:Plus Jakarta Sans,sans-serif;font-weight:600}.delete-confirm-list{margin:0;padding-left:1.5rem;list-style-type:disc;color:#475569;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;line-height:1.8}.delete-confirm-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:#fef2f2;border:1px solid #FECACA;border-radius:.5rem;color:#dc2626;font-size:.875rem;font-family:Plus Jakarta Sans,sans-serif}.delete-confirm-error .material-symbols-outlined{font-size:1.25rem}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:.5rem}.delete-confirm-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;border:none}.delete-confirm-button-cancel{background-color:#f1f5f9;color:#64748b}.delete-confirm-button-cancel:hover:not(:disabled){background-color:#e2e8f0;color:#475569}.delete-confirm-button-delete{background-color:#dc2626;color:#fff}.delete-confirm-button-delete:hover:not(:disabled){background-color:#b91c1c}.delete-confirm-button:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-button .material-symbols-outlined{font-size:1.125rem}.delete-spinner{animation:spin 1s linear infinite}@media (max-width: 640px){.visit-insights-header{flex-direction:column;align-items:flex-start;gap:1rem}.visit-insights-header-actions{width:100%;justify-content:space-between}.last-updated-badge{align-self:flex-end}.patient-name-header{font-size:1.75rem}.visit-insights-title{font-size:1.5rem}.visit-meta-info{flex-direction:column;align-items:flex-start;gap:.25rem}.visit-meta-separator{display:none}}@media (max-width: 768px){.visit-insights-main{padding:1rem}.ribbon-actions{gap:.75rem}.ribbon-nav-button,.ribbon-logout-button{padding:.5rem .75rem;font-size:.85rem}.health-action-card{padding:1rem}.action-content{flex-direction:column;gap:.75rem}.action-icon{width:48px;height:48px}}.browse-visits-container{min-height:100vh;background-color:#fffbf7}.browse-visits-ribbon{background-color:#fff;border-bottom:1px solid #E2E8F0;padding:1.25rem 2rem;box-shadow:0 1px 3px #0000000d}.ribbon-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.ribbon-logo{display:flex;align-items:center;gap:.5rem}.ribbon-logo-icon{width:40px;height:40px;object-fit:contain}.ribbon-logo-text{display:flex;flex-direction:column;gap:.125rem}.ribbon-logo-name{font-size:1.5rem;font-weight:800;color:#ff7a00;letter-spacing:-.025em;font-family:Plus Jakarta Sans,sans-serif;line-height:1.2}.ribbon-logo-tagline{font-size:.75rem;font-weight:700;color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;font-family:Plus Jakarta Sans,sans-serif;line-height:1.2}.ribbon-actions{display:flex;align-items:center;gap:1.5rem}.ribbon-nav-button{padding:.5rem 1rem;background-color:transparent;color:#64748b;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif}.ribbon-nav-button:hover{background-color:#f8fafc;border-color:#ff7a00;color:#ff7a00}.ribbon-user-info{font-size:.9rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.ribbon-logout-button{padding:.5rem 1rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:Plus Jakarta Sans,sans-serif}.ribbon-logout-button:hover{background-color:#ff8a1a}.browse-visits-main{max-width:1400px;margin:0 auto;padding:2rem}.browse-visits-content{display:flex;flex-direction:column;gap:2rem}.browse-visits-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.browse-visits-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0;font-family:Plus Jakarta Sans,sans-serif}.create-visit-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:Plus Jakarta Sans,sans-serif}.create-visit-button:hover:not(:disabled){background-color:#ff8a1a}.create-visit-button:disabled{opacity:.5;cursor:not-allowed}.create-visit-button .material-symbols-outlined{font-size:1.25rem}.patient-selector-section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.patient-select-label{font-size:.9rem;font-weight:600;color:#334155;font-family:Plus Jakarta Sans,sans-serif;white-space:nowrap}.patient-select{padding:.75rem 1rem;border:1px solid #E2E8F0;border-radius:.75rem;font-size:1rem;background-color:#fff;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif;min-width:250px;cursor:pointer}.patient-select:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a001a}.patient-info-section{margin-top:.5rem}.patient-info-card{background-color:#fff;border:1px solid #E2E8F0;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.patient-info-content{display:flex;flex-direction:column;gap:1rem}.patient-info-header{display:flex;justify-content:space-between;align-items:center}.patient-info-name{font-size:1.5rem;font-weight:700;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif}.patient-info-details{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.patient-info-age,.patient-info-gender{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.age-icon,.gender-icon{font-size:1.25rem;color:#94a3b8}.patient-info-conditions{display:flex;flex-wrap:wrap;gap:.5rem}.patient-condition-tag{display:flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background-color:#f1f5f9;border-radius:.5rem;font-size:.85rem;color:#475569;font-family:Plus Jakarta Sans,sans-serif}.condition-icon{font-size:1rem;color:#64748b}.filters-section{background-color:#fff;border:1px solid #E2E8F0;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#334155;font-family:Plus Jakarta Sans,sans-serif}.filter-label .material-symbols-outlined{font-size:1.125rem;color:#64748b}.filter-input,.filter-select{padding:.625rem .875rem;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.9rem;background-color:#fff;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif;transition:border-color .2s}.filter-input:focus,.filter-select:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a001a}.filter-input::placeholder{color:#94a3b8}.visits-list-section{margin-top:1rem}.loading-message,.empty-message,.placeholder-message{text-align:center;padding:3rem 2rem;color:#64748b;font-size:1rem;font-family:Plus Jakarta Sans,sans-serif}.visits-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.visit-card{background-color:#fff;border:1px solid #E2E8F0;border-radius:1rem;padding:1.5rem;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:1rem}.visit-card:hover{border-color:#ff7a00;box-shadow:0 4px 12px #ff7a0026;transform:translateY(-2px)}.visit-card-header{display:flex;justify-content:space-between;align-items:center}.visit-date{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif}.visit-date .material-symbols-outlined{font-size:1.25rem;color:#64748b}.visit-type-badge{padding:.375rem .75rem;background-color:#f1f5f9;border-radius:.5rem;font-size:.85rem;font-weight:600;color:#475569;font-family:Plus Jakarta Sans,sans-serif}.visit-card-body{display:flex;flex-direction:column;gap:.75rem}.visit-detail-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;font-family:Plus Jakarta Sans,sans-serif}.visit-detail-label{display:flex;align-items:center;gap:.375rem;font-weight:600;color:#64748b;min-width:80px}.visit-detail-label .material-symbols-outlined{font-size:1rem;color:#94a3b8}.visit-detail-value{color:#0f172a;flex:1}.visit-status-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.status-badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:.5rem;font-size:.8rem;font-weight:600;font-family:Plus Jakarta Sans,sans-serif}.status-completed{background-color:#d1fae5;color:#065f46}.status-processing{background-color:#dbeafe;color:#1e40af}.status-failed{background-color:#fee2e2;color:#991b1b}.status-badge .material-symbols-outlined{font-size:.875rem}.visit-card-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:.5rem;border-top:1px solid #F1F5F9}.visit-arrow{display:flex;align-items:center;color:#ff7a00;transition:transform .2s}.visit-card:hover .visit-arrow{transform:translate(4px)}.visit-arrow .material-symbols-outlined{font-size:1.25rem}@media (max-width: 768px){.browse-visits-header{flex-direction:column;align-items:flex-start}.filters-row,.visits-list{grid-template-columns:1fr}.ribbon-actions{flex-wrap:wrap;gap:.75rem}}.admin-console-container{min-height:100vh;background-color:#fffbf7}.admin-console-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:Plus Jakarta Sans,sans-serif;color:#64748b}.admin-console-ribbon{background-color:#fff;border-bottom:1px solid #E2E8F0;padding:1.25rem 2rem;box-shadow:0 1px 3px #0000000d}.admin-console-ribbon-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.admin-console-logo{display:flex;align-items:center;gap:.5rem;cursor:pointer}.admin-console-logo:hover{opacity:.9}.admin-console-logo-icon{width:40px;height:40px;object-fit:contain}.admin-console-logo-text{display:flex;flex-direction:column;gap:.125rem}.admin-console-logo-name{font-size:1.5rem;font-weight:800;color:#ff7a00;letter-spacing:-.025em;font-family:Plus Jakarta Sans,sans-serif;line-height:1.2}.admin-console-logo-tagline{font-size:.75rem;font-weight:700;color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;font-family:Plus Jakarta Sans,sans-serif;line-height:1.2}.admin-console-actions{display:flex;align-items:center;gap:1rem}.admin-console-create-user-button{padding:.5rem 1rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.admin-console-create-user-button:hover{background-color:#e66d00}.admin-console-back-button{padding:.5rem 1rem;background-color:transparent;color:#64748b;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.9rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s,color .2s}.admin-console-back-button:hover{background-color:#f8fafc;color:#0f172a}.admin-console-user-info{font-size:.9rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.admin-console-logout-button{padding:.5rem 1rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.admin-console-logout-button:hover{background-color:#e66d00}.admin-console-main{max-width:1200px;margin:0 auto;padding:2rem}.admin-console-content{background-color:#fff;border-radius:1rem;padding:2rem;box-shadow:0 1px 3px #0000000d;border:1px solid #E2E8F0}.admin-console-title{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;font-family:Plus Jakarta Sans,sans-serif}.admin-console-subtitle{font-size:.95rem;color:#64748b;margin:0 0 1.5rem;font-family:Plus Jakarta Sans,sans-serif}.admin-console-filters{margin-bottom:1.5rem}.admin-console-filter-row{display:flex;gap:1rem;flex-wrap:wrap}.admin-console-search-input{flex:1;min-width:200px;padding:.625rem 1rem;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.95rem;font-family:Plus Jakarta Sans,sans-serif}.admin-console-search-input:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 2px #ff7a0033}.admin-console-role-select{padding:.625rem 1rem;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.95rem;font-family:Plus Jakarta Sans,sans-serif;min-width:140px}.admin-console-search-button{padding:.625rem 1.25rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:.95rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.admin-console-search-button:hover{background-color:#e66d00}.admin-console-error{padding:1rem;background-color:#fef2f2;color:#dc2626;border-radius:.75rem;margin-bottom:1rem;font-family:Plus Jakarta Sans,sans-serif}.admin-console-table-wrapper{overflow-x:auto}.admin-console-loading-table{padding:2rem;text-align:center;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.admin-console-table{width:100%;border-collapse:collapse;font-family:Plus Jakarta Sans,sans-serif}.admin-console-table th{text-align:left;padding:.875rem 1rem;background-color:#f8fafc;color:#64748b;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #E2E8F0}.admin-console-table td{padding:.875rem 1rem;border-bottom:1px solid #E2E8F0;color:#0f172a;font-size:.95rem}.admin-console-table tbody tr:hover{background-color:#fffbf7}.admin-console-empty{text-align:center;color:#64748b;padding:2rem}.admin-console-role-badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.8rem;font-weight:600}.admin-console-role-admin{background-color:#fee2e2;color:#991b1b}.admin-console-role-doctor{background-color:#dbeafe;color:#1e40af}.admin-console-role-patient,.admin-console-role-user{background-color:#f1f5f9;color:#475569}.admin-console-count{margin-top:1rem;font-size:.9rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.admin-console-delete-button{padding:.35rem .75rem;background-color:#fee2e2;color:#dc2626;border:1px solid #FECACA;border-radius:.5rem;font-size:.85rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.admin-console-delete-button:hover:not(:disabled){background-color:#fecaca}.admin-console-delete-button:disabled{opacity:.6;cursor:not-allowed}.admin-console-row-deleted{background-color:#f1f5f9!important;opacity:.75}.admin-console-row-deleted td{color:#94a3b8}.admin-console-scheduled-badge{font-size:.8rem;color:#64748b;font-style:italic;white-space:nowrap}.admin-console-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-console-modal{background-color:#fff;border-radius:1rem;padding:1.5rem;max-width:480px;width:100%;box-shadow:0 25px 50px -12px #00000040}.admin-console-modal-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.admin-console-modal-message{font-size:.95rem;color:#475569;line-height:1.5;margin:0 0 1.5rem;font-family:Plus Jakarta Sans,sans-serif}.admin-console-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.admin-console-modal-cancel{padding:.5rem 1rem;background-color:transparent;color:#64748b;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.95rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif}.admin-console-modal-cancel:hover{background-color:#f8fafc}.admin-console-modal-confirm{padding:.5rem 1rem;background-color:#dc2626;color:#fff;border:none;border-radius:.75rem;font-size:.95rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif}.admin-console-modal-confirm:hover{background-color:#b91c1c}.create-user-container{min-height:100vh;background-color:#fffbf7}.create-user-ribbon{background-color:#fff;border-bottom:1px solid #E2E8F0;padding:1.25rem 2rem;box-shadow:0 1px 3px #0000000d}.create-user-ribbon-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.create-user-logo{display:flex;align-items:center;gap:.5rem;cursor:pointer}.create-user-logo:hover{opacity:.9}.create-user-logo-icon{width:40px;height:40px;object-fit:contain}.create-user-logo-text{display:flex;flex-direction:column;gap:.125rem}.create-user-logo-name{font-size:1.5rem;font-weight:800;color:#ff7a00;letter-spacing:-.025em;font-family:Plus Jakarta Sans,sans-serif;line-height:1.2}.create-user-logo-tagline{font-size:.75rem;font-weight:700;color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;font-family:Plus Jakarta Sans,sans-serif;line-height:1.2}.create-user-actions{display:flex;align-items:center;gap:1rem}.create-user-dashboard-button{padding:.5rem 1rem;background-color:transparent;color:#64748b;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.9rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s,color .2s}.create-user-dashboard-button:hover{background-color:#f8fafc;color:#0f172a}.create-user-back-button{padding:.5rem 1rem;margin-bottom:1.5rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:.9rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s,color .2s}.create-user-back-button:hover{background-color:#e66d00}.create-user-user-info{font-size:.9rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.create-user-logout-button{padding:.5rem 1rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:.9rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.create-user-logout-button:hover{background-color:#e66d00}.create-user-main{max-width:700px;margin:0 auto;padding:2rem}.create-user-content{background-color:#fff;border-radius:1rem;padding:2rem;box-shadow:0 1px 3px #0000000d;border:1px solid #E2E8F0}.create-user-title{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;font-family:Plus Jakarta Sans,sans-serif}.create-user-subtitle{font-size:.95rem;color:#64748b;margin:0 0 1.5rem;font-family:Plus Jakarta Sans,sans-serif}.create-user-error{padding:1rem;background-color:#fef2f2;color:#dc2626;border-radius:.75rem;margin-bottom:1rem;font-family:Plus Jakarta Sans,sans-serif}.create-user-success{padding:1rem;background-color:#f0fdf4;color:#15803d;border-radius:.75rem;margin-bottom:1rem;font-family:Plus Jakarta Sans,sans-serif}.create-user-form{display:flex;flex-direction:column;gap:1.5rem}.create-user-section{padding-bottom:1.5rem;border-bottom:1px solid #E2E8F0}.create-user-section:last-of-type{border-bottom:none;padding-bottom:0}.create-user-section-title{font-size:1.1rem;font-weight:600;color:#0f172a;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.create-user-field-row{margin-bottom:1rem}.create-user-field-row:last-child{margin-bottom:0}.create-user-row-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.create-user-label{display:block;font-size:.9rem;font-weight:500;color:#334155;margin-bottom:.375rem;font-family:Plus Jakarta Sans,sans-serif}.create-user-label .required{color:#dc2626}.create-user-hint{font-weight:400;color:#94a3b8;font-size:.85rem;margin-left:.25rem}.create-user-input,.create-user-select{width:100%;padding:.625rem 1rem;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.95rem;font-family:Plus Jakarta Sans,sans-serif;box-sizing:border-box}.create-user-input:focus,.create-user-select:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 2px #ff7a0033}.create-user-select{cursor:pointer;background-color:#fff}.create-user-checkbox-row{display:flex;align-items:center;gap:.5rem}.create-user-checkbox{width:1.125rem;height:1.125rem;accent-color:#FF7A00;cursor:pointer}.create-user-checkbox-label{font-size:.95rem;color:#334155;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif}.create-user-submit-row{padding-top:1rem}.create-user-submit-button{padding:.75rem 1.5rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.create-user-submit-button:hover:not(:disabled){background-color:#e66d00}.create-user-submit-button:disabled{opacity:.6;cursor:not-allowed}.create-user-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.create-user-modal-content{background-color:#fff;border-radius:1rem;padding:2rem;max-width:400px;width:90%;box-shadow:0 10px 40px #00000026;text-align:center}.create-user-modal-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.create-user-modal-message{font-size:.95rem;color:#64748b;margin:0 0 .5rem;font-family:Plus Jakarta Sans,sans-serif;line-height:1.5}.create-user-modal-sub{font-size:.9rem;color:#334155;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.create-user-modal-coming-soon{font-size:.9rem;color:#64748b;margin:0 0 1rem;font-style:italic;font-family:Plus Jakarta Sans,sans-serif}.create-user-modal-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.create-user-modal-button{padding:.75rem 1.5rem;background-color:#f1f5f9;color:#334155;border:1px solid #E2E8F0;border-radius:.75rem;font-size:1rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s,border-color .2s}.create-user-modal-button:hover{background-color:#e2e8f0}.create-user-modal-button.create-user-modal-primary{background-color:#ff7a00;color:#fff;border-color:#ff7a00}.create-user-modal-button.create-user-modal-primary:hover{background-color:#e66d00}.create-user-modal-dashboard-button{padding:.75rem 1.5rem;margin-top:.5rem;background-color:transparent;color:#64748b;border:1px solid #E2E8F0;border-radius:.75rem;font-size:1rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s,color .2s}.create-user-modal-dashboard-button:hover{background-color:#f1f5f9;color:#334155}.create-patient-container{min-height:100vh;background-color:#fffbf7}.create-patient-ribbon{background-color:#fff;border-bottom:1px solid #E2E8F0;padding:1.25rem 2rem;box-shadow:0 1px 3px #0000000d}.create-patient-main{max-width:1400px;margin:0 auto;padding:2rem}.create-patient-title{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;font-family:Plus Jakarta Sans,sans-serif}.create-patient-subtitle{font-size:.95rem;color:#64748b;margin:0 0 2rem;font-family:Plus Jakarta Sans,sans-serif}.create-patient-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 1024px){.create-patient-grid,.create-patient-action-choice,.medical-history-cards{grid-template-columns:1fr}}.create-patient-left,.create-patient-right{display:flex;flex-direction:column;gap:1.5rem}.create-patient-section{background-color:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0}.create-patient-section-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 1.5rem;font-family:Plus Jakarta Sans,sans-serif;padding-bottom:1rem;border-bottom:2px solid #F1F5F9}.create-patient-error{padding:1rem;background-color:#fef2f2;color:#dc2626;border-radius:.75rem;margin-bottom:1rem;font-family:Plus Jakarta Sans,sans-serif}.create-patient-form{display:flex;flex-direction:column;gap:0}.create-patient-field-row{margin-bottom:1rem}.create-patient-field-row:last-of-type{margin-bottom:1.5rem}.create-patient-row-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.create-patient-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin-bottom:1.5rem}.create-patient-label{display:block;font-size:.9rem;font-weight:500;color:#334155;margin-bottom:.375rem;font-family:Plus Jakarta Sans,sans-serif}.create-patient-label .required{color:#dc2626}.create-patient-hint{font-weight:400;color:#94a3b8;font-size:.85rem;margin-left:.25rem}.create-patient-input,.create-patient-select{width:100%;padding:.625rem 1rem;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.95rem;font-family:Plus Jakarta Sans,sans-serif;box-sizing:border-box}.create-patient-input:focus,.create-patient-select:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 2px #ff7a0033}.create-patient-select{cursor:pointer}.create-patient-submit-button{padding:.75rem 1.5rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.create-patient-submit-button:hover:not(:disabled){background-color:#e66d00}.create-patient-submit-button:disabled{opacity:.6;cursor:not-allowed}.create-patient-action-choice{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center;background-color:#fff;border-radius:1.5rem;padding:1.5rem 2rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0}.create-patient-action-col{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.create-patient-dashboard-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#f1f5f9;color:#475569;border:1px solid #E2E8F0;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .2s}.create-patient-dashboard-button:hover{background-color:#e2e8f0;color:#334155;border-color:#cbd5e1}.create-patient-dashboard-button .material-symbols-outlined{font-size:1.25rem}.create-patient-action-label{font-size:.875rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.create-patient-action-or{font-size:1rem;font-weight:600;color:#94a3b8;font-family:Plus Jakarta Sans,sans-serif}.medical-history-section{background-color:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0;transition:opacity .2s}.medical-history-section.disabled{opacity:.6;pointer-events:none}.medical-history-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 1.5rem;font-family:Plus Jakarta Sans,sans-serif;padding-bottom:1rem;border-bottom:2px solid #F1F5F9}.medical-history-placeholder{font-size:.95rem;color:#94a3b8;margin:0;font-family:Plus Jakarta Sans,sans-serif;text-align:center;padding:2rem 0}.medical-history-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.medical-history-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:2rem;background-color:#fffbf7;border:2px dashed #E2E8F0;border-radius:1.25rem;cursor:pointer;transition:all .2s;text-align:center}.medical-history-card-button{border:none;font-family:inherit;width:100%}.medical-history-card:hover{border-color:#ff7a00;background-color:#fff7ed}.medical-history-card.disabled{opacity:.6;pointer-events:none;cursor:not-allowed}.medical-history-limits{font-size:.875rem;color:#64748b;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.medical-history-submit{margin-top:1rem;width:100%}.medical-history-success-section{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.medical-history-success{font-size:.95rem;color:#16a34a;margin:0;font-family:Plus Jakarta Sans,sans-serif}.medical-history-dashboard-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.medical-history-dashboard-button .material-symbols-outlined{font-size:1.25rem}.medical-history-icon{font-size:4rem!important;color:#ff7a00;margin-bottom:1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 48}.medical-history-card-label{font-size:1.125rem;font-weight:700;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif;margin-bottom:.25rem}.medical-history-card-hint{font-size:.875rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.medical-history-error{font-size:.875rem;color:#dc2626;margin:1rem 0 0;font-family:Plus Jakarta Sans,sans-serif}.medical-history-uploads{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}.medical-history-file{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:#f0fdf4;border-radius:.75rem;font-size:.9rem;font-family:Plus Jakarta Sans,sans-serif}.medical-history-file .material-symbols-outlined:first-child{color:#16a34a;font-size:1.25rem}.medical-history-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.medical-history-remove{background:none;border:none;cursor:pointer;padding:.25rem;color:#64748b;display:flex;align-items:center;justify-content:center}.medical-history-remove:hover{color:#dc2626}.create-patient-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.create-patient-modal-content{background-color:#fff;border-radius:1rem;padding:2rem;max-width:440px;width:90%;box-shadow:0 10px 40px #00000026;text-align:center}.create-patient-modal-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.create-patient-modal-message{font-size:.95rem;color:#64748b;margin:0 0 .75rem;font-family:Plus Jakarta Sans,sans-serif;line-height:1.5}.create-patient-modal-patient-info{font-size:1rem;color:#334155;margin:0 0 1rem;padding:.75rem 1rem;background-color:#f8fafc;border-radius:.5rem;font-family:Plus Jakarta Sans,sans-serif}.create-patient-modal-question{font-size:.95rem;color:#475569;margin:0 0 1.5rem;font-family:Plus Jakarta Sans,sans-serif;line-height:1.5}.create-patient-modal-actions{display:flex;gap:1rem;justify-content:center}.create-patient-modal-cancel{padding:.75rem 1.5rem;background-color:#f1f5f9;color:#475569;border:1px solid #E2E8F0;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .2s}.create-patient-modal-cancel:hover:not(:disabled){background-color:#e2e8f0;color:#334155}.create-patient-modal-confirm{padding:.75rem 1.5rem;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.create-patient-modal-confirm:hover:not(:disabled){background-color:#e66d00}.create-patient-modal-cancel:disabled,.create-patient-modal-confirm:disabled{opacity:.6;cursor:not-allowed}.camera-modal-content{background-color:#fff;border-radius:1rem;padding:1.5rem;max-width:480px;width:90%;box-shadow:0 10px 40px #00000026;text-align:center}.camera-modal-video-wrap{position:relative;width:100%;aspect-ratio:4/3;background-color:#000;border-radius:.75rem;overflow:hidden;margin:1rem 0}.camera-modal-video{width:100%;height:100%;object-fit:cover}.camera-capture-button{display:inline-flex;align-items:center;gap:.5rem}.camera-capture-button .material-symbols-outlined{font-size:1.25rem}.visit-step-section{background-color:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 1px 2px #0000000d;border:1px solid #E2E8F0}.step-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #F1F5F9}.step-number{width:40px;height:40px;border-radius:50%;background-color:#ff7a00;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;font-family:Plus Jakarta Sans,sans-serif}.step-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0;font-family:Plus Jakarta Sans,sans-serif}.visit-details-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.9rem;font-weight:600;color:#334155;font-family:Plus Jakarta Sans,sans-serif}.form-input{padding:.75rem 1rem;border:1px solid #E2E8F0;border-radius:.75rem;font-size:1rem;background-color:#fff;color:#0f172a;font-family:Plus Jakarta Sans,sans-serif;transition:all .2s}.form-input:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a001a}.visit-records-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.visit-record-card{background-color:#f8fafc;border-radius:1rem;padding:1.5rem;border:1px solid #E2E8F0;display:flex;flex-direction:column;transition:all .3s}.visit-record-card.disabled{opacity:.5;pointer-events:none}.visit-record-card.active{border-color:#ff7a00;border-width:2px}.visit-record-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.visit-record-icon-container{width:48px;height:48px;min-width:48px;border-radius:.75rem;background-color:#fff7ed;display:flex;align-items:center;justify-content:center;color:#ff7a00;flex-shrink:0}.visit-record-icon-container .material-symbols-outlined{font-size:1.5rem}.visit-record-title{font-size:1rem;font-weight:700;color:#0f172a;margin:0;font-family:Plus Jakarta Sans,sans-serif}.visit-record-description{font-size:.8125rem;color:#64748b;line-height:1.5;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.visit-record-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.upload-button,.record-button{padding:.5rem 1rem;background-color:#fffbf7;color:#ff7a00;border:1px solid #FF7A00;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Plus Jakarta Sans,sans-serif;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.upload-button:hover,.record-button:hover:not(:disabled){background-color:#ff7a00;color:#fff}.upload-button.disabled,.record-button:disabled{opacity:.6;cursor:not-allowed}.uploaded-file-info{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#f0fdf4;border-radius:.5rem;font-size:.875rem}.uploaded-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-button{background:none;border:none;cursor:pointer;padding:.25rem;color:#64748b}.remove-file-button:hover{color:#dc2626}.prescription-error-text{font-size:.8125rem;color:#dc2626;margin:.5rem 0 0}.submit-section{margin-top:1rem}.submit-section-error{font-size:.875rem;color:#dc2626;margin:0 0 1rem}.submit-button{padding:.75rem 1.5rem;width:100%;background-color:#ff7a00;color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:#e66d00}.submit-button:disabled{opacity:.6;cursor:not-allowed}.patient-signup-container{min-height:100vh;background-color:#fffbf7}.patient-signup-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background-color:#fff;border-bottom:1px solid #E8E8E8;box-shadow:0 1px 3px #0000000d}.patient-signup-header-inner{display:flex;align-items:center;gap:.75rem}.patient-signup-header-actions{display:flex;align-items:center;gap:1rem}.patient-signup-logo{height:40px;width:auto;object-fit:contain}.patient-signup-logo-text{display:flex;flex-direction:column}.patient-signup-logo-name{font-size:1.875rem;font-weight:800;color:#ff7a00;letter-spacing:-.025em;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-logo-tagline{font-size:.875rem;font-weight:700;color:#94a3b8;letter-spacing:.1em;text-transform:uppercase;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-title{font-size:1.25rem;font-weight:700;color:#ff7a00;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-header-signup-label{font-size:.95rem;font-weight:600;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-back{padding:.75rem 1rem;font-size:.9rem;font-weight:600;color:#64748b;background:#fff;border:1px solid #E2E8F0;border-radius:.75rem;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .2s}.patient-signup-back:hover{background-color:#fff5eb;border-color:#f93;color:#0f172a}.patient-signup-main{max-width:480px;margin:0 auto;padding:2rem 1.5rem}.patient-signup-heading{font-size:1.875rem;font-weight:700;color:#0f172a;margin:0 0 .5rem;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-subheading{font-size:1rem;color:#64748b;margin:0 0 1.5rem;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-doctor-link{color:#ff7a00;font-weight:600;text-decoration:underline;text-underline-offset:4px}.patient-signup-doctor-link:hover{color:#ff8a1a;text-decoration-thickness:2px}.patient-signup-error{padding:.75rem 1rem;background-color:#ffe5e5;color:#dc3545;border-radius:8px;margin-bottom:1rem;font-size:.9rem;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-form{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a;border:1px solid #E8E8E8}.patient-signup-field{margin-bottom:1rem}.patient-signup-field label{display:block;font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.5rem;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid #E2E8F0;border-radius:.75rem;font-family:Plus Jakarta Sans,sans-serif;box-sizing:border-box;background-color:#fff;color:#0f172a;transition:all .2s}.patient-signup-input:focus{outline:none;border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a001a}.patient-signup-password-wrapper{position:relative}.patient-signup-password-wrapper .patient-signup-input{padding-right:3rem}.patient-signup-password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;color:#94a3b8;display:flex;align-items:center;justify-content:center}.patient-signup-password-toggle .material-symbols-outlined{font-size:1.25rem}.patient-signup-password-hint{margin-top:.35rem;font-size:.8rem;color:#64748b;font-family:Plus Jakarta Sans,sans-serif}.password-rules-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.password-rule{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-family:Plus Jakarta Sans,sans-serif;transition:color .15s}.password-rule.passing{color:#16a34a}.password-rule.failing{color:#94a3b8}.password-rule-icon{font-size:.9rem;flex-shrink:0}.patient-signup-file-input{width:100%;font-size:.9rem;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-file-list{margin:.5rem 0 0;padding:0;list-style:none;font-size:.85rem;color:#475569}.patient-signup-file-list li{display:flex;align-items:center;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid #F1F5F9}.patient-signup-remove-file{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 .25rem}.patient-signup-remove-file:hover{color:#dc2626}.patient-signup-submit{width:100%;margin-top:.5rem;padding:1rem 1.5rem;font-size:1.125rem;font-weight:700;color:#fff;background-color:#ff7a00;border:none;border-radius:.75rem;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .2s;box-shadow:0 10px 15px -3px #ff7a0033,0 4px 6px -2px #ff7a001a}.patient-signup-submit:hover:not(:disabled){background-color:#ff8a1a;transform:scale(.98)}.patient-signup-submit:disabled{opacity:.6;cursor:not-allowed}.patient-signup-success-card{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a;border:1px solid #E8E8E8;text-align:center}.patient-signup-success-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 1rem;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-success-message{font-size:1rem;color:#64748b;margin:0 0 1.5rem;line-height:1.5;font-family:Plus Jakarta Sans,sans-serif}.patient-signup-success-button{padding:1rem 1.5rem;font-size:1.125rem;font-weight:700;color:#fff;background-color:#ff7a00;border:none;border-radius:.75rem;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:all .2s;box-shadow:0 10px 15px -3px #ff7a0033,0 4px 6px -2px #ff7a001a}.patient-signup-success-button:hover{background-color:#ff8a1a;transform:scale(.98)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fffbf7}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input{font-family:inherit}a{text-decoration:none;color:inherit}.ribbon-admin-button{padding:.5rem 1rem;background-color:transparent;color:#64748b;border:1px solid #E2E8F0;border-radius:.75rem;font-size:.9rem;font-weight:500;cursor:pointer;font-family:Plus Jakarta Sans,sans-serif;transition:background-color .2s,color .2s}.ribbon-admin-button:hover{background-color:#fff7ed;color:#ff7a00;border-color:#ff7a00}.patient-error-message{color:#b91c1c;font-weight:500;margin-top:.5rem}
