:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.loading-indicator{text-align:center;padding:1rem;color:#666}.end-message{text-align:center;padding:1rem;color:#666;font-style:italic}.appointments-list{display:flex;flex-direction:column;gap:1rem;padding:1rem;max-width:800px;margin:0 auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{width:100%;max-width:500px;padding:2rem;position:relative}.form-container{max-width:600px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid rgba(109,93,252,.4);border-radius:.5rem;background:#ffffff1a;color:inherit;font-size:1rem}.modal-content .form-group input,.modal-content .form-group select{width:calc(100% - 2rem)}.modal-content form{padding:0 1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#6d5dfc}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding:0 1rem}.secondary-button{background:transparent;border:1px solid #6d5dfc;color:#6d5dfc;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.secondary-button:hover{background:#6d5dfc1a}body,#root{margin:0;font-family:Arial,sans-serif;background:linear-gradient(145deg,#1e1e2f,#2a2a3e);color:#fff;min-height:100vh;display:flex;justify-content:center;align-items:center}.app-container{width:90%;max-width:1200px;display:flex;flex-direction:column;align-items:center}.app-header{text-align:center;margin-bottom:2rem}.logo{font-size:2.5rem;font-weight:700;background:linear-gradient(90deg,#6d5dfc,#d36eff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dashboard{display:flex;flex-wrap:wrap;gap:1.5rem}.card{flex:1;min-width:250px;padding:1.5rem;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.2);text-align:center}.card h2{margin-bottom:1rem}.card p{margin-bottom:1.5rem;font-size:.9rem;color:#d3d3d3}.action-button{padding:.8rem 1.5rem;font-size:1rem;border-radius:25px;background:linear-gradient(90deg,#6d5dfc,#d36eff);color:#fff;border:none;cursor:pointer;transition:transform .2s ease-in-out}.action-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #6d5dfc99}.note-preview{text-align:left;padding:.5rem}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.note-header h3{margin:0;color:#fff;font-size:1.1rem}.note-header span{color:#d3d3d3;font-size:.9rem}.note-content{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin:0;line-height:1.4}.card.glass{transition:all .2s ease-in-out}.card.glass:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000004d}.visualizer{margin:20px 0;display:flex;justify-content:center}.upload-zone{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:2rem auto;max-width:600px}.upload-zone.drag-active{background:#6d5dfc1a;transform:scale(1.02)}.file-types{font-size:.8rem;color:#d3d3d3;margin-top:.5rem}.loading-indicator{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:40px;height:40px;border:3px solid rgba(109,93,252,.3);border-radius:50%;border-top-color:#6d5dfc;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-container{width:90%;max-width:1200px;margin:0 auto;padding:2rem 0}.page-container h1{text-align:center;margin-bottom:2rem;background:linear-gradient(90deg,#6d5dfc,#d36eff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.note-detail-page{margin-top:2rem}.section-header{display:flex;align-items:center;gap:1rem;cursor:pointer;margin-bottom:1rem}.toggle-button{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:0}.transcript-content{white-space:pre-wrap;margin-top:1rem}.copy-button{padding:.3rem 1rem;border-radius:15px;background:#6d5dfc33;border:1px solid rgba(109,93,252,.5);color:#fff;cursor:pointer;transition:all .2s ease-in-out}.copy-button:hover{background:#6d5dfc4d}.copy-feedback{display:block;color:#6d5dfc;font-size:.9rem;margin:.5rem 0}.soap-notes-section{margin-top:2rem}.soap-notes-section p{white-space:pre-wrap}.note-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.patient-name{font-size:2rem;margin:0 0 .5rem;color:var(--text-primary)}.appointment-date{font-size:1.1rem;margin:0;color:var(--text-secondary);font-weight:400}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;cursor:pointer}.section-header h3{margin:0}.toggle-button{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:1.2rem;padding:.5rem}.copy-button{background:none;border:1px solid var(--border-color);color:var(--text-primary);padding:.25rem 1rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.copy-button:hover{background:var(--background-secondary)}.notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#6d5dfce6;color:#fff;padding:1rem 2rem;border-radius:8px;z-index:1000;box-shadow:0 4px 6px #0000001a;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.transcript-content,.soap-notes-section p{white-space:pre-wrap;line-height:1.6;color:var(--text-primary)}.actions{margin-top:2rem;display:flex;justify-content:flex-end}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(145deg,#1e1e2f,#2a2a3e)}.login-box{width:100%;max-width:400px;padding:2.5rem;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.2)}.login-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:2rem;background:linear-gradient(90deg,#6d5dfc,#d36eff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;width:100%}.login-input{width:100%;box-sizing:border-box;padding:.8rem 1rem;font-size:1rem;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:#fff;transition:all .2s ease-in-out}.login-input::placeholder{color:#ffffff80}.login-input:focus{outline:none;border-color:#6d5dfc;background:#ffffff1a}.login-button{padding:.8rem 1.5rem;font-size:1rem;border-radius:25px;background:linear-gradient(90deg,#6d5dfc,#d36eff);color:#fff;border:none;cursor:pointer;transition:transform .2s ease-in-out;margin-top:.5rem}.login-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #6d5dfc99}.login-button:active{transform:translateY(0)}.signup-section{margin-top:2rem;text-align:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.signup-section p{color:#ffffffb3;margin-bottom:1rem}.signup-button{padding:.8rem 1.5rem;font-size:1rem;border-radius:25px;background:transparent;color:#fff;border:1px solid rgba(109,93,252,.5);cursor:pointer;transition:all .2s ease-in-out}.signup-button:hover{background:#6d5dfc1a;transform:translateY(-2px);box-shadow:0 4px 10px #6d5dfc4d}.signup-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(145deg,#1e1e2f,#2a2a3e);padding:2rem}.signup-box{width:100%;max-width:800px;padding:2.5rem;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.2)}.signup-title{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:2rem;background:linear-gradient(90deg,#6d5dfc,#d36eff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.plans-container{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.plan-card{flex:1;min-width:250px;padding:1.5rem;border-radius:15px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);cursor:pointer;transition:all .2s ease-in-out;position:relative;overflow:hidden}.plan-card.selected{border-color:#6d5dfc;background:#6d5dfc1a}.plan-card.disabled{opacity:.7;cursor:not-allowed}.coming-soon-banner{position:absolute;top:20px;right:-30px;background:#ffffff1a;padding:5px 40px;transform:rotate(45deg);font-size:.8rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.plan-card h3{margin-bottom:1rem;color:#fff}.plan-price{font-size:1.8rem;color:#fff;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.plan-price .amount{font-weight:700}.plan-price .period{font-size:1rem;color:#ffffffb3}.original-price{text-decoration:line-through;color:#ffffff80;font-size:1.2rem;margin-bottom:.5rem}.plan-card ul{list-style:none;padding:0;margin:0 0 1.5rem}.plan-card li{margin-bottom:.5rem;color:#ffffffb3;font-size:.9rem}.plan-card li:before{content:"✓";margin-right:.5rem;color:#6d5dfc}.plan-select-button{width:100%;padding:.8rem;border-radius:25px;background:transparent;color:#fff;border:1px solid rgba(109,93,252,.5);cursor:pointer;transition:all .2s ease-in-out}.plan-select-button:not(:disabled):hover{background:#6d5dfc1a}.plan-select-button:disabled{cursor:not-allowed;opacity:.5}.pricing-link{text-align:center;margin-bottom:2rem}.pricing-link a{color:#6d5dfc;text-decoration:none;font-size:.9rem;transition:color .2s ease-in-out}.pricing-link a:hover{color:#d36eff}.signup-form{display:flex;flex-direction:column;gap:1.2rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:200px}.form-group{display:flex;flex-direction:column;position:relative;width:100%}.signup-input{width:100%;box-sizing:border-box;padding:.8rem 1rem;font-size:1rem;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:#fff;transition:all .2s ease-in-out}.signup-input::placeholder{color:#ffffff80}.signup-input:focus{outline:none;border-color:#6d5dfc;background:#ffffff1a}.specialty-group{position:relative}.specialty-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:#2e2e42f2;border:1px solid rgba(255,255,255,.2);border-radius:8px;margin-top:4px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.specialty-option{padding:.8rem 1rem;cursor:pointer;transition:background .2s ease-in-out}.specialty-option:hover{background:#6d5dfc33}.signup-submit-button{padding:.8rem 1.5rem;font-size:1rem;border-radius:25px;background:linear-gradient(90deg,#6d5dfc,#d36eff);color:#fff;border:none;cursor:pointer;transition:transform .2s ease-in-out;margin-top:.5rem}.signup-submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #6d5dfc99}.signup-submit-button:active{transform:translateY(0)}.terms-checkbox-container{margin:1.5rem 0 1rem;display:flex;align-items:center;justify-content:center}.terms-label{display:flex;align-items:center;cursor:pointer;font-size:.95rem;color:#fffc}.terms-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:4px;margin-right:10px;cursor:pointer;position:relative;transition:all .2s ease-in-out}.terms-checkbox:checked{background:#6d5dfc4d;border-color:#6d5dfc}.terms-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#6d5dfc;font-size:12px}.terms-checkbox:hover{border-color:#6d5dfcb3}.terms-link{color:#6d5dfc;text-decoration:none;transition:color .2s ease-in-out}.terms-link:hover{color:#d36eff;text-decoration:underline}.error-message{background:#dc35451a;border:1px solid rgba(220,53,69,.3);color:#ff6b6b;border-radius:8px;padding:.75rem;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.specialty-dropdown::-webkit-scrollbar{width:8px}.specialty-dropdown::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.specialty-dropdown::-webkit-scrollbar-thumb{background:#6d5dfc80;border-radius:4px}.specialty-dropdown::-webkit-scrollbar-thumb:hover{background:#6d5dfcb3}.password-requirements{margin-top:.5rem;font-size:.85rem;color:#ffffffb3}.requirement-list{list-style:none;padding:0;margin:.5rem 0}.requirement-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem;transition:color .2s ease-in-out}.requirement-item.met{color:#4caf50}.requirement-item.not-met{color:#ffffff80}.requirement-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:.8rem}.requirement-icon.met{color:#4caf50}.requirement-icon.not-met{color:#ffffff4d}
