.first-access-page{background-color:#fff;place-items:center;min-height:100vh;padding:24px;display:grid}.access-card{text-align:center;width:min(420px,100%)}.brand-title{color:#1f4ea8;letter-spacing:.02em;margin:0;font-size:clamp(2.5rem,8vw,3.5rem);font-weight:800;line-height:.95}.brand-subtitle{color:#3b69bf;margin:18px 0 36px;font-size:clamp(1rem,2.5vw,1.9rem);font-weight:600}.primary-action{color:#fff;cursor:pointer;background-color:#2e6be5;border:none;border-radius:999px;place-items:center;width:100%;height:56px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 10px 20px #2e6be547}.primary-action:hover{transform:scale(1.02);box-shadow:0 14px 30px #2e6be559}.primary-action:focus-visible{outline-offset:2px;outline:3px solid #fff}.secondary-action{color:#1f4ea8;background-color:#eaf2ff;border-radius:999px;place-items:center;width:100%;height:56px;margin:20px 0 36px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 10px 20px #0000001a}.secondary-action:hover{transform:scale(1.02);box-shadow:0 14px 28px #0000002e}.secondary-action:focus-visible{outline-offset:2px;outline:3px solid #2e6be5}.admin-access-link{color:#2e6be5;margin:-20px 0 28px;font-weight:700;text-decoration:underline;display:inline-block}.support-message{color:#2d5eb8;margin:0;font-size:1.25rem;line-height:1.35}.auth-page{background-color:#fff;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background-color:#f5f9ff;border-radius:28px;width:min(460px,100%);padding:28px;box-shadow:0 20px 40px #00000026}.auth-title{color:#2e6be5;margin:0;font-size:2rem}.auth-subtitle{color:#325b9a;margin:10px 0 22px}.auth-form{gap:8px;display:grid}.auth-label{color:#1d4f9a;font-size:.92rem;font-weight:600}.auth-input{border:1px solid #c8d3db;border-radius:14px;height:44px;margin-bottom:8px;padding:0 14px}.auth-input:focus{border-color:#2e6be5;outline:none;box-shadow:0 0 0 3px #2e6be529}.auth-submit{color:#fff;cursor:pointer;background-color:#2e6be5;border:none;border-radius:999px;height:48px;margin-top:8px;font-weight:700;transition:transform .2s,box-shadow .2s}.auth-submit:hover{transform:scale(1.01);box-shadow:0 10px 24px #2e6be559}.auth-social-divider{color:#4c6ba5;align-items:center;gap:10px;margin:14px 0 10px;font-size:.9rem;display:flex}.auth-social-divider:before,.auth-social-divider:after{content:"";background-color:#c9d8f2;flex:1;height:1px}.auth-social-group{gap:10px;display:grid}.auth-google-slot{min-height:42px}.auth-social-button{cursor:pointer;border:none;border-radius:999px;height:44px;font-weight:700}.auth-social-button.apple{color:#fff;background-color:#1849b3}.auth-social-button.google{color:#1f4ea8;background-color:#fff;border:1px solid #b7cbee}.auth-footer{color:#1f4f96;margin:18px 0 10px}.auth-feedback{color:#1d3f8f;background-color:#eef4ff;border-radius:12px;margin:12px 0 4px;padding:10px 12px;font-size:.95rem}.auth-switch-mode{color:#2e6be5;cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0;font-weight:700}.auth-footer a,.back-link{color:#2e6be5;font-weight:600;text-decoration:none}.back-link{display:inline-block}.dashboard-page{background-color:#fff;flex-direction:column;align-items:center;min-height:100vh;padding:0 24px 30px;display:flex}.dashboard-header{background-color:#e7f0ff;border-radius:0;justify-content:space-between;align-items:center;width:calc(100% + 48px);max-width:none;margin:0 0 18px;padding:16px 18px;display:flex}.dashboard-brand{color:#123b86;margin:0;font-size:clamp(1.25rem,3vw,2rem);font-weight:800}.dashboard-brand-subtitle{color:#19499e;margin:2px 0 0;font-size:clamp(.95rem,2.2vw,1.45rem);font-weight:600}.dashboard-user-icon{cursor:pointer;background:0 0;border:2px solid #2e6be5;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.dashboard-user-icon svg{stroke:#2e6be5;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.dashboard-hero{text-align:center;width:min(1000px,100%)}.dashboard-title{color:#1f4ea8;margin:8px 0 10px;font-size:clamp(2.1rem,6vw,4rem);font-weight:800}.dashboard-subtitle{color:#3a69bf;margin:0 0 14px;font-size:clamp(1rem,2.4vw,2rem);font-weight:600}.dashboard-meta{color:#4b74ba;margin:0 0 22px;font-size:1rem}.dashboard-grid{grid-template-columns:repeat(2,minmax(300px,1fr));gap:20px;max-width:700px;margin:0 auto 24px;display:grid}.dashboard-item{color:#1f4ea8;cursor:pointer;background-color:#2e6be5;border-radius:24px;align-content:center;justify-items:center;gap:12px;min-height:160px;padding:20px;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 14px 30px #2e6be559}.dashboard-item:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 18px 34px #2e6be56b}.dashboard-item-icon{color:#fff;opacity:.95;font-size:1.3rem}.dashboard-item-title{color:#fff;letter-spacing:.02em;text-shadow:0 2px 8px #09245459;margin:0;font-size:clamp(1.3rem,2.2vw,2rem);font-weight:800}.dashboard-callout{color:#3d6dc3;margin:0;font-size:clamp(1.6rem,3.3vw,3rem);font-weight:800}.dashboard-callout-subtitle{color:#fff;margin:8px 0 22px;font-size:clamp(1.05rem,2.3vw,1.8rem);font-weight:600}.dashboard-logout{color:#1849b3;cursor:pointer;background-color:#dbe9ff;border:none;border-radius:999px;padding:12px 26px;font-weight:700;transition:transform .2s}.dashboard-logout:hover{transform:scale(1.03)}.dashboard-admin{color:#fff;cursor:pointer;background-color:#2e6be5;border:none;border-radius:999px;margin-bottom:12px;margin-right:10px;padding:12px 26px;font-weight:700}.admin-page{background-color:#fff;min-height:100vh;padding:24px}.admin-card{background-color:#f5f9ff;border-radius:22px;max-width:1200px;margin:0 auto;padding:22px;box-shadow:0 18px 36px #00000024}.admin-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-header h1{color:#2e6be5;margin:0 0 6px}.admin-header p{color:#33526f;margin:0}.admin-header-actions{align-items:center;gap:8px;display:flex}.admin-header-actions button,.admin-header-actions a{color:#2e6be5;cursor:pointer;background-color:#eef4ff;border:none;border-radius:999px;padding:10px 14px;font-weight:700;text-decoration:none}.admin-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.admin-stats article{text-align:center;background-color:#f7faff;border-radius:14px;padding:10px}.admin-stats h3{color:#2e6be5;margin:0}.admin-stats p{margin:4px 0 0;font-size:.9rem}.admin-feedback{color:#234162;background-color:#f3f8ff;border-radius:12px;margin:14px 0 0;padding:10px 12px}.admin-tabs{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-tabs button{color:#2e6be5;cursor:pointer;background-color:#fff;border:1px solid #c8d7eb;border-radius:999px;padding:8px 14px;font-weight:700}.admin-tabs button.active{color:#fff;background-color:#2e6be5;border-color:#2e6be5}.admin-list{gap:10px;margin-top:14px;display:grid}.admin-row{border:1px solid #dbe5ef;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.admin-row p{color:#263f58;margin:0;font-size:.92rem}.admin-row button{color:#1f4ea8;cursor:pointer;background-color:#dce9ff;border:none;border-radius:999px;padding:8px 12px;font-weight:700}.admin-inline-actions{gap:8px;display:flex}.admin-inline-actions button:first-child{color:#2a5dc2;background-color:#eaf2ff}.admin-inline-actions button:last-child{color:#1849b3;background-color:#dbe9ff}.admin-empty{background-color:#f5f9ff;border-radius:10px;margin:14px 0 0;padding:10px}.consultas-section{width:min(1200px,100%);margin:0 auto}.consultas-toolbar{background-color:#fff;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.consultas-search{background:#f3f8ff;border:none;border-radius:999px;flex:1;min-width:220px;padding:12px 16px;font-size:.95rem}.consultas-search:focus{outline:2px solid #2e6be5}.consultas-filters{align-items:center;gap:8px;display:flex}.consultas-filters select{background-color:#f3f8ff;border:none;border-radius:999px;padding:10px 14px}.consultas-timer{color:#2e6be5;background-color:#eef4ff;border:none;border-radius:999px;padding:10px 14px;font-weight:700}.consultas-banner{color:#0f2f6d;text-align:center;background:#eaf2ffeb;border:2px solid #9fc0ff;border-radius:22px;margin-top:14px;padding:16px;font-weight:700}.consultas-content{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.consultas-calendar-card,.consultas-list-card{text-align:left;background-color:#fff;border-radius:22px;padding:22px;box-shadow:0 16px 34px #00000024}.consultas-calendar-card h3,.consultas-list-card h3{color:#2e6be5;text-transform:capitalize;margin:0 0 14px}.calendar-weekdays{color:#2e6be5;text-align:center;grid-template-columns:repeat(7,1fr);gap:8px;font-weight:700;display:grid}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;margin-top:10px;display:grid}.calendar-cell{place-items:center;min-height:40px;display:grid}.calendar-cell.empty{visibility:hidden}.calendar-day{color:#0f2436;background:0 0;border:none;border-radius:999px;width:38px;height:38px}.calendar-day.has-appointment{background-color:#eaf2ff;border:2px solid #2e6be5}.consultas-list{gap:12px;display:grid}.consulta-item{border:1px solid #dbe5ef;border-radius:16px;padding:12px 14px}.consulta-date{color:#0f2436;margin:0;font-weight:700}.consulta-doctor{color:#1f3a56;margin:6px 0 8px}.consulta-tags{gap:8px;display:flex}.item-actions{gap:8px;margin-top:10px;display:flex}.item-actions button{color:#2e6be5;cursor:pointer;background-color:#eef4ff;border:none;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700}.tag{text-transform:lowercase;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700}.tag.type{color:#2e6be5;background-color:#eef4ff}.tag.status.agendada{color:#fff;background-color:#2e6be5}.tag.status.confirmada{color:#fff;background-color:#1f5fe0}.tag.status.pendente{color:#0f2f6d;background-color:#8fb3f5}.consultas-add-button,.consultas-back-button{cursor:pointer;border:none;border-radius:999px;width:100%;margin-top:14px;padding:12px 16px;font-weight:700}.consultas-add-button{color:#fff;background-color:#2e6be5}.consultas-back-button{color:#2e6be5;background-color:#eef4ff}.consultas-empty{background:#f6f9ff;border-radius:12px;margin:0;padding:12px}.schedule-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px;display:grid}.schedule-form label{color:#1f3a56;gap:6px;font-size:.9rem;display:grid}.schedule-form input,.schedule-form select{border:1px solid #c8d3db;border-radius:12px;padding:10px 12px}.schedule-form .consultas-add-button{grid-column:1/-1}.lembretes-section{text-align:left;width:min(1200px,100%);margin:0 auto}.lembretes-config-card{background-color:#fff;border:2px solid #2e6be5;border-radius:22px;padding:18px;box-shadow:0 12px 28px #0000001a}.lembretes-config-card h3{color:#2e6be5;margin:0 0 8px}.lembretes-config-card p{margin:0 0 12px}.lembretes-days{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.day-option{color:#2e6be5;cursor:pointer;background-color:#fff;border:2px solid #2e6be5;border-radius:999px;padding:8px 16px;font-weight:700}.day-option.active{color:#fff;background-color:#2e6be5}.lembretes-header{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.lembretes-header h3{color:#2e6be5;margin:0}.lembretes-new-button{color:#fff;cursor:pointer;background-color:#2e6be5;border:none;border-radius:999px;padding:10px 16px;font-weight:700}.lembretes-feedback{margin-top:10px}.lembretes-list{gap:14px;margin-top:12px;display:grid}.lembrete-item{background-color:#fff;border:1px solid #dbe5ef;border-radius:20px;padding:16px}.lembrete-item.urgent{border-color:#5d8ee8;box-shadow:0 0 0 2px #5d8ee83d}.lembrete-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.lembrete-top h4{margin:0}.lembrete-top span{color:#64748b;font-size:.9rem}.lembrete-item p{margin:8px 0}.lembrete-tags{align-items:center;gap:8px;display:flex}.chat-section{width:min(1200px,100%);margin:0 auto}.chat-card{background-color:#fff;border-radius:24px;padding:16px;box-shadow:0 16px 32px #0000001f}.chat-header{justify-content:space-between;align-items:center;display:flex}.chat-header h3{color:#2e6be5;margin:0}.chat-online{color:#fff;background-color:#2e6be5;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700}.chat-messages{gap:10px;min-height:180px;max-height:320px;margin-top:14px;padding-right:4px;display:grid;overflow:auto}.chat-bubble{border-radius:14px;max-width:80%;padding:10px 12px}.chat-bubble p{margin:0}.chat-bubble span{opacity:.7;margin-top:4px;font-size:.75rem;display:block}.chat-bubble.bot{background-color:#f3f6f9;justify-self:start}.chat-bubble.user{background-color:#dcecff;justify-self:end}.chat-bubble.system{background-color:#edf4ff;justify-self:center}.chat-typing{color:#64748b;margin:0;font-size:.9rem}.chat-ai-banner{color:#2a4d83;background-color:#eaf2ff;border-radius:14px;margin-top:12px;padding:12px;font-size:.9rem}.chat-input-row{grid-template-columns:34px 1fr 34px 38px;align-items:center;gap:8px;margin-top:12px;display:grid}.chat-input-row input[type=text]{border:1px solid #dbe5ef;border-radius:999px;height:40px;padding:0 14px}.chat-attach,.chat-voice-btn,.chat-send-btn{cursor:pointer;border:none;border-radius:50%;place-items:center;width:34px;height:34px;font-size:1rem;display:grid}.chat-attach{background-color:#f2f7ff}.chat-attach input{display:none}.chat-voice-btn{background-color:#eef4ff}.chat-send-btn{color:#1f3a56;background-color:#9ec1ff}.chat-features-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.chat-feature-card{text-align:center;cursor:pointer;background-color:#fff;border:none;border-radius:18px;padding:14px;box-shadow:0 12px 24px #0000001a}.chat-feature-card h4{color:#2e6be5;margin:0 0 6px}.chat-feature-card p{color:#1f3a56;margin:0;font-size:.9rem}.chat-feature-card.attach-feature input{display:none}.profile-overlay{background-color:#00000047;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.profile-panel{background-color:#fff;border-radius:20px;width:min(760px,100%);padding:20px;box-shadow:0 24px 40px #0003}.profile-panel-header{justify-content:space-between;align-items:center;display:flex}.profile-panel-header h3{color:#2e6be5;margin:0}.profile-panel-header button{cursor:pointer;background:#fff;border:1px solid #c8d3db;border-radius:999px;padding:8px 14px}.profile-avatar{color:#2e6be5;border:3px solid #2e6be5;border-radius:50%;place-items:center;width:96px;height:96px;margin:16px auto 18px;font-weight:700;display:grid}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;display:grid}.profile-label{color:#2e6be5;margin:0 0 4px;font-size:.82rem;font-weight:700}.profile-value{color:#1f1f1f;margin:0;font-size:.95rem}@media (width<=640px){.brand-subtitle{margin-bottom:28px;font-size:1.25rem}.primary-action,.secondary-action{height:52px}.admin-access-link{margin-bottom:24px;display:block}.support-message{font-size:1.1rem}.auth-card{padding:22px}.dashboard-page{padding-inline:16px}.dashboard-grid{grid-template-columns:1fr;gap:14px}.dashboard-admin{width:100%;margin-right:0}.dashboard-item{min-height:132px}.admin-page,.admin-card{padding:16px}.admin-header{flex-direction:column}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-row,.consultas-toolbar,.consultas-filters{flex-direction:column;align-items:stretch}.consultas-content,.schedule-form{grid-template-columns:1fr}.lembretes-header{flex-direction:column;align-items:stretch;gap:10px}.chat-input-row{grid-template-columns:34px 1fr}.chat-voice-btn,.chat-send-btn{justify-self:start}.chat-features-grid,.profile-grid{grid-template-columns:1fr}}:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}
