:root{--primary:#2f4fb2;--primary-dark:#20397f;--secondary:#d9eef1;--accent:#f4c9e8;--accent-warm:#f7df88;--background:#fbfaf7;--surface:#fffdf8;--surface-soft:#f6f1ed;--text:#172b5f;--text-secondary:#52607f;--text-light:#8790aa;--border:#dbe0ef;--error:#c2414b;--success:#26735d;--warning:#b7791f;--info:#4567c8;--shadow:#2f4fb21f}*{box-sizing:border-box}html,body,#__next{min-height:100%}body{background:linear-gradient(180deg, #d9eef147 0, #fbfaf700 260px), var(--background);color:var(--text);letter-spacing:0;margin:0;font-family:Avenir Next,Nunito Sans,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.page{background:linear-gradient(180deg, #d9eef12e 0, #fbfaf700 340px), var(--background);min-height:100vh}.centered-page{justify-content:center;align-items:center;min-height:100vh;padding:48px 24px;display:flex}.content-wrap{width:100%;max-width:1200px;margin:0 auto}.form-shell{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:0 18px 42px var(--shadow);border-radius:28px;padding:32px}.header-block{text-align:center;margin-bottom:32px}.icon-badge{width:80px;height:80px;color:var(--primary);background:linear-gradient(135deg,#f4c9e8b8,#d9eef1d9);border-radius:999px;justify-content:center;align-items:center;margin:0 auto 24px;display:flex}.page-title{margin:0 0 8px;font-size:32px;font-weight:800;line-height:40px}.page-subtitle{color:var(--text-secondary);margin:0;font-size:16px;line-height:24px}.form-grid,.form-row{gap:16px;display:grid}.form-row.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:8px;display:grid}.field label{color:var(--primary);font-size:14px;font-weight:700}.input,.textarea,.date-input{border:1px solid var(--border);width:100%;color:var(--text);background:#fffdf8eb;border-bottom-color:#2f4fb28c;border-radius:16px;padding:14px 16px;transition:border-color .16s,box-shadow .16s,background .16s}.input:focus,.textarea:focus,.date-input:focus{border-color:#2f4fb2c7;outline:none;box-shadow:0 0 0 4px #d9eef1e6}.textarea{resize:vertical;min-height:140px}.primary-button,.secondary-button,.ghost-button,.danger-button{border:none;border-radius:999px;padding:14px 18px;font-weight:800;transition:opacity .2s,transform .2s,box-shadow .2s}.primary-button{background:var(--primary);color:var(--surface);box-shadow:0 10px 22px #2f4fb23d}.secondary-button{color:var(--primary);background:#d9eef1c7}.ghost-button{color:var(--primary);background:0 0}.danger-button{color:var(--error);background:#c2414b1f}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.danger-button:hover{transform:translateY(-1px)}.start-consultation-button.locked{color:var(--text-light);cursor:not-allowed;opacity:.85;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#e5e7eb}.start-consultation-button.locked:active{transform:none}.action-toggle-button{text-align:center;white-space:nowrap;flex:0 0 148px;width:148px}.file-picker-button{width:fit-content}.visually-hidden-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button-row{flex-wrap:wrap;gap:12px;display:flex}.message-box,.info-box,.demo-box{border:1px solid var(--border);border-radius:18px;padding:16px}.message-box.error{color:var(--error);background:#dc26260f;border-color:#dc262633}.message-box.success{color:var(--success);background:#05966914;border-color:#05966933}.info-box,.demo-box{text-align:center;background:#d9eef19e}.text-link{color:var(--primary);text-align:center;font-weight:600;display:block}.top-gradient{z-index:100;color:var(--primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#eef1f9;border-bottom:1px solid #2f4fb21f;position:relative}.top-bar{justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.admin-top-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.admin-top-bar .nav-actions{justify-self:end}.nav-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.nav-message-link{white-space:nowrap}.nav-menu{position:relative}.icon-button{justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:inline-flex}.nav-menu-panel{background:var(--surface);border:1px solid var(--border);min-width:220px;color:var(--text);z-index:120;border-radius:18px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 18px 38px #2f4fb22e}.nav-menu-panel a{color:var(--text);padding:13px 16px;font-weight:600;display:block}.nav-menu-panel a:hover{color:var(--primary);background:#f4c9e84d}.nav-welcome{text-align:center;justify-self:center;align-items:center;min-height:48px;font-weight:600;line-height:20px;display:inline-flex}.top-gradient .ghost-button,.top-gradient .secondary-button{box-shadow:none;border:1px solid #2f4fb238}.top-gradient .ghost-button{color:var(--primary);background:0 0}.top-gradient .secondary-button{color:var(--primary);background:#d9eef1b3}.logo-row{align-items:center;gap:12px;font-size:22px;font-weight:800;display:flex}.hero{text-align:center;flex-direction:column;align-items:center;padding:96px 24px 72px;display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;position:absolute}.hero:before{opacity:.55;clip-path:polygon(0 18%,100% 0,88% 70%,20% 100%);background:repeating-linear-gradient(100deg,#2f4fb22e 0 2px,#0000 2px 8px),linear-gradient(90deg,#d9eef1b8,#f4c9e866);width:min(520px,42vw);height:160px;bottom:14px;left:0}.hero:after{opacity:.44;clip-path:polygon(10% 10%,98% 0,82% 85%,0 100%);background:repeating-linear-gradient(84deg,#20397f2e 0 2px,#0000 2px 9px),linear-gradient(135deg,#f7df889e,#d9eef14d);width:min(380px,34vw);height:130px;top:28px;right:28px}.hero-slides{z-index:1;justify-items:center;width:100%;min-height:350px;display:grid;position:relative}.hero-slide{opacity:0;pointer-events:none;flex-direction:column;grid-area:1/1;align-items:center;width:100%;transition:opacity .7s,transform .7s;display:flex;transform:translateY(10px)}.hero-slide.active{opacity:1;pointer-events:auto;transform:translateY(0)}.hero-eyebrow{z-index:1;color:var(--primary);margin:0 0 22px;font-size:17px;font-weight:800;position:relative}.hero-title{z-index:1;max-width:900px;margin:0 0 16px;font-size:clamp(48px,8vw,88px);font-weight:800;line-height:.98;position:relative}.hero-copy{z-index:1;max-width:760px;color:var(--text-secondary);margin:0 auto 32px;font-size:18px;line-height:30px;position:relative}.hero-slide .hero-copy{margin-bottom:0}.hero-testimonial-slide{justify-content:center}.hero-testimonial-quote{max-width:880px;color:var(--text);margin:0 auto 18px;font-size:clamp(28px,4.6vw,50px);font-weight:800;line-height:1.12}.hero-testimonial-name{color:var(--text-secondary);margin:0;font-size:17px;font-weight:800}.hero .primary-button{z-index:1;min-width:150px;margin-top:20px;position:relative}.service-ribbon{white-space:nowrap;background:var(--accent);color:var(--primary);--service-ribbon-offset:0px;border-block:1px solid #2f4fb21a;padding:12px 24px;font-size:18px;font-weight:800;overflow:hidden}.service-ribbon-track{width:max-content;transform:translate3d(var(--service-ribbon-offset), 0, 0);will-change:transform;gap:44px;display:flex}.service-ribbon-track span:after{content:">";margin-left:44px;font-size:14px;display:inline-block}.section{padding:30px 24px}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:28px;box-shadow:0 12px 28px #2f4fb214}.centered-section{text-align:center}.centered-section .page-subtitle{max-width:760px;margin-left:auto;margin-right:auto}.section-title{color:var(--primary);margin:0 0 20px;font-size:32px;line-height:40px}.testimonials-section{gap:20px;display:grid}.testimonial-section-header{text-align:center;max-width:780px;margin:0 auto}.testimonial-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.testimonial-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;align-content:start;gap:12px;min-height:220px;padding:22px;display:grid;box-shadow:0 10px 24px #2f4fb214}.testimonial-card blockquote{color:var(--text);margin:0;font-size:18px;font-weight:700;line-height:28px}.testimonial-context,.testimonial-name{margin:0}.testimonial-context{color:var(--primary);font-size:13px;font-weight:800}.testimonial-name{color:var(--text-secondary);font-size:14px;font-weight:700}.testimonial-page-row{justify-content:center;gap:8px;display:flex}.testimonial-page-button{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--primary);border-radius:999px;font-weight:800}.testimonial-page-button.active{border-color:var(--primary);background:var(--primary);color:var(--surface)}.feature-grid,.stats-grid,.consultation-list{gap:16px;display:grid}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat-card,.feature-card,.consultation-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:0 10px 24px #2f4fb214}.stat-card{text-align:center}.feature-card{text-align:center;background:linear-gradient(180deg, #d9eef14d, #fffdf800 46%), var(--surface);flex-direction:column;align-items:center;display:flex}.feature-card h3,.feature-card p{margin-left:auto;margin-right:auto}.stat-card.active{border-color:var(--primary);box-shadow:0 16px 28px #2f4fb229}.stat-number{margin:0 0 8px;font-size:32px;font-weight:700}.stat-label{color:var(--text-secondary);margin:0}.dashboard-view-switch{justify-items:center;gap:5px;display:grid}.dashboard-view-label{color:var(--primary);font-size:13px;font-weight:800;line-height:16px}.dashboard-view-toggle{border:1px solid var(--border);background:#f6f1edd1;border-radius:999px;gap:4px;padding:3.8px;display:inline-flex}.dashboard-view-button{min-width:89px;color:var(--text-secondary);background:0 0;border:none;border-radius:999px;padding:9.5px 13px;font-size:95%;font-weight:800;transition:background .16s,color .16s,box-shadow .16s}.dashboard-view-button.active{background:var(--primary);color:var(--surface);box-shadow:0 8px 18px #2f4fb233}.dentist-profile-view{justify-items:center;gap:22px;display:grid}.dentist-avatar-picker{aspect-ratio:1;background:linear-gradient(180deg, #d9eef17a, #fffdf8db), var(--surface);width:min(330px,100%);color:var(--primary);border:2px solid #2f4fb238;border-radius:999px;transition:border-color .16s,box-shadow .16s,transform .16s;overflow:hidden;box-shadow:0 18px 42px #2f4fb21f}.dentist-avatar-picker:hover,.dentist-avatar-picker:focus-visible{border-color:#2f4fb27a;transform:translateY(-1px);box-shadow:0 22px 48px #2f4fb229}.dentist-avatar-picker:focus-visible{outline-offset:4px;outline:3px solid #d9eef1e6}.dentist-avatar-picker img{object-fit:cover;width:100%;height:100%;display:block}.dentist-avatar-empty{align-content:center;place-items:center;gap:12px;height:100%;padding:28px;font-weight:800;display:grid}.dentist-profile-placeholder{align-items:center;gap:18px;width:100%;display:flex}.profile-avatar-placeholder{width:72px;height:72px;color:var(--primary);background:#d9eef1c7;border-radius:999px;flex:none;place-items:center;display:grid}.consultation-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.message-row{cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.message-row:hover,.message-row:focus-visible{border-color:#2f4fb273;box-shadow:0 16px 30px #2f4fb224}.message-row:focus-visible{outline-offset:3px;outline:3px solid #d9eef1e6}.consultation-meta{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.scheduled-time-meta{color:var(--primary);margin-top:6px;font-weight:700}.status-badge{white-space:nowrap;border-radius:999px;justify-content:space-between;align-items:center;gap:14px;min-width:94px;max-width:100%;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.detail-list{gap:12px;margin-top:16px;display:grid}.availability-grid{gap:8px;display:grid}.availability-heading{display:none}.availability-row{border:1px solid var(--border);background:#f6f1edb8;border-radius:18px;grid-template-columns:minmax(120px,1fr) minmax(320px,2.8fr);align-items:center;gap:12px;padding:12px;display:grid}.availability-time-control{grid-template-columns:minmax(110px,.75fr) minmax(0,1.25fr);align-items:center;min-height:48px;display:grid;overflow:hidden}.availability-any-time-label{justify-self:start;transition:transform .22s,opacity .16s}.availability-time-control.any-time .availability-any-time-label{justify-self:end;transform:translate(50%)}.availability-time-control.specific-time .availability-any-time-label{justify-self:start;transform:translate(0)}.availability-specific-hours-shell{opacity:1;min-width:0;transition:opacity .22s,transform .22s,visibility .22s;transform:translate(0)}.availability-time-control.any-time .availability-specific-hours-shell{visibility:hidden;opacity:0;pointer-events:none;transform:translate(16px)}.specific-hours-button{justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;padding:10px 14px;display:inline-flex}.specific-hours-icon{width:22px;height:22px;color:var(--primary);place-items:center;display:inline-grid;position:relative}.specific-hours-icon:before{content:"";background:conic-gradient(#f4c9e8f2 0deg 58deg,#0000 58deg 360deg);border-radius:999px;position:absolute;inset:3px}.specific-hours-icon svg{z-index:1;position:relative}.specific-hours-panel{background:#fffdf8eb;border:1px solid #2f4fb224;border-radius:16px;gap:10px;margin-top:10px;padding:12px;display:grid;box-shadow:0 10px 22px #2f4fb214}.specific-hours-grid{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;display:grid}.specific-hour-cell{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-secondary);border-radius:12px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s}.specific-hour-cell:hover{transform:translateY(-1px)}.specific-hour-cell.selected{border-color:var(--primary);color:var(--primary);background:#d9eef1c7}.specific-hours-save{justify-self:end;min-width:120px}.checkbox-label{color:var(--text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.availability-summary{border:1px solid var(--border);background:#f6f1edb8;border-radius:18px;gap:10px;padding:14px;display:grid}.availability-summary-row{color:var(--text-secondary);grid-template-columns:minmax(110px,.8fr) minmax(120px,1fr) minmax(180px,1.5fr);align-items:center;gap:12px;display:grid}.availability-summary-row strong{color:var(--text)}.detail-row{color:var(--text-secondary);align-items:center;gap:10px;display:flex}.detail-row strong{color:var(--text)}.divider{border:none;border-top:1px solid var(--border);margin:16px 0}.documents-list,.time-grid{flex-wrap:wrap;gap:12px;display:flex}.evidence-upload-form{border-top:1px solid var(--border);gap:12px;padding-top:16px;display:grid}.time-grid{justify-content:center}.pill-button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:12px 16px}.pill-button:disabled{cursor:not-allowed;opacity:.42}.pill-button.active{border-color:var(--primary);color:var(--primary);background:#d9eef1b8}.evidence-preview-button{text-align:left;align-items:center;display:inline-flex}.evidence-preview{gap:16px;display:grid}.evidence-preview-image{object-fit:contain;border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;width:100%;max-height:70vh}.empty-state{text-align:center;color:var(--text-secondary);padding:48px 24px}.footer{text-align:center;background:var(--accent);color:var(--primary);margin-top:36px;padding:56px 24px 64px}.footer-links{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.role-toggle{gap:12px;display:flex}.role-button{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 16px;display:flex}.role-button.active{background:var(--primary);color:var(--surface);border-color:var(--primary)}.helper-text{color:var(--text-light);margin:0;font-size:13px}.modal-backdrop{z-index:50;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:20px;width:min(720px,100%);max-height:85vh;padding:24px;overflow:auto;box-shadow:0 24px 50px #0f172a40}.modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.modal-header h3{margin:0}.message-detail{gap:18px;display:grid}.message-body{color:var(--text-secondary);white-space:pre-wrap;line-height:1.7}.video-session{gap:16px;display:grid}.video-stage{min-height:280px;color:var(--surface);text-align:center;background:#0f172a;border-radius:16px;place-items:center;padding:32px;display:grid;position:relative;overflow:hidden}.video-stage h3,.video-stage p{margin:0}.camera-stage{place-items:stretch stretch;padding:0}.camera-stage video{object-fit:cover;width:100%;height:100%;min-height:280px;transform:scaleX(-1)}.camera-overlay{pointer-events:none;background:linear-gradient(#0f172aad 0%,#0f172a1f 42%,#0f172ab8 100%);flex-direction:column;justify-content:space-between;padding:20px;display:flex;position:absolute;inset:0}.camera-status{width:fit-content;max-width:100%;color:var(--text);background:#ffffffe6;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:.88rem;font-weight:700;display:inline-flex}.camera-status.ready{color:#047857}.camera-status.blocked,.camera-status.unsupported{color:var(--error)}.folder-view{gap:0;display:grid}.folder-tabs{scrollbar-width:none;align-items:flex-end;gap:6px;display:flex;overflow:auto hidden}.folder-tabs::-webkit-scrollbar{display:none}.folder-tab{border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;background:#edf4fb;border-bottom:none;border-radius:10px 10px 0 0;padding:12px 16px;font-weight:700}.folder-tab.active{background:var(--surface);color:var(--primary);position:relative;top:1px}.folder-page{border:1px solid var(--border);background:var(--surface);border-radius:0 12px 12px;min-height:220px;padding:20px}.text-button{color:var(--primary);background:0 0;border:none;font-weight:600}.spinner-card{text-align:center;padding:64px 24px}@media (max-width:768px){.hero-title{font-size:36px;line-height:44px}.form-row.two-col,.top-bar,.consultation-card-header{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.button-row,.role-toggle,.dentist-profile-placeholder{flex-direction:column}.nav-actions{flex-flow:row;justify-content:center;width:100%}.nav-actions>a,.nav-actions>button,.nav-actions>.nav-menu{flex:none}.admin-top-bar .nav-actions{justify-self:stretch}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.stat-card{border-radius:999px;align-content:center;min-height:46px;padding:6px 4px;display:grid;box-shadow:0 6px 14px #2f4fb212}.stat-card.active{box-shadow:0 8px 16px #2f4fb224}.stat-number{margin-bottom:1px;font-size:15px;line-height:17px}.stat-label{text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:12px;overflow:hidden}.availability-row,.availability-summary-row{grid-template-columns:1fr}}
