@import"https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap";:root{--bg: #f6f2ec;--bg-2: #efe7de;--ink: #1c1a18;--muted: #6b645e;--accent: #d06a3a;--accent-2: #0f6f6f;--accent-3: #f2be6a;--card: #ffffff;--border: #e6ded6;--shadow: 0 22px 50px rgba(26, 24, 22, .12);--radius: 18px}*{box-sizing:border-box}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:radial-gradient(1200px 700px at 85% -10%,rgba(208,106,58,.22),transparent 70%),radial-gradient(900px 600px at 0% 5%,rgba(15,111,111,.18),transparent 62%),linear-gradient(180deg,#f9f6f1,#f1e9df);min-height:100vh}body:before,body:after{content:"";position:fixed;inset:auto;width:520px;height:520px;border-radius:50%;filter:blur(40px);opacity:.25;z-index:-1}body:before{top:-180px;right:-120px;background:radial-gradient(circle,rgba(242,190,106,.9),transparent 70%)}body:after{bottom:-220px;left:-160px;background:radial-gradient(circle,rgba(15,111,111,.9),transparent 70%)}h1,h2,h3,h4{font-family:Playfair Display,serif;letter-spacing:-.02em}:focus-visible{outline:3px solid rgba(15,111,111,.35);outline-offset:2px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}#root,.site-root{max-width:1200px;margin:0 auto;padding:1.5rem;color:var(--ink)}.site-root{position:relative}.site-header{position:sticky;top:1rem;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f9f6f1d1;border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:.95rem 1.35rem;margin-bottom:1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 18px 38px #1b1b1b1f}.brand{display:flex;align-items:center;gap:.75rem}.brand img{width:58px;height:58px;border-radius:16px;object-fit:cover;box-shadow:0 10px 20px #0000001f}.brand-text h1{margin:0;font-size:1.4rem}.brand-text p{margin:0;color:var(--muted);font-size:.85rem}.nav{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.nav a{color:var(--ink);text-decoration:none;padding:.45rem .85rem;border-radius:999px;font-size:.95rem;border:1px solid transparent;transition:.2s ease}.nav a:hover{border-color:#d06a3a40;background:#ffffffb3}.nav .cta{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 10px 20px #d06a3a47}.nav .cta:hover{background:#b4572f;border-color:#b4572f}.nav-toggle{display:none;background:#ffffffe6;border:1px solid rgba(208,106,58,.25);border-radius:999px;padding:.55rem .6rem;cursor:pointer;box-shadow:0 10px 20px #1b1b1b1f;align-items:center;justify-content:center;gap:4px;flex-direction:row;transform:rotate(90deg)}.nav-toggle span{display:block;width:2px;height:18px;background:var(--ink);margin:0;border-radius:999px;transition:.2s ease}.primary,.cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accent);color:#fff;padding:.7rem 1.1rem;border-radius:999px;border:none;text-decoration:none;cursor:pointer;font-weight:600;box-shadow:0 16px 28px #d06a3a47;transition:transform .2s ease,box-shadow .2s ease}.primary:hover,.cta:hover{transform:translateY(-1px);box-shadow:0 18px 32px #d06a3a4d}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.05rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--ink);font-weight:600;transition:.2s ease}.secondary:hover{border-color:#0f6f6f59;color:var(--accent-2)}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center;padding:1.75rem 0 2.75rem}.hero-content h2{margin:0 0 .75rem;font-size:3.1rem;line-height:1.05}.hero-content p{margin:0 0 1.5rem;color:var(--muted);font-size:1.08rem}.hero-badges{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.hero-badge{background:#ffffffe6;border:1px solid rgba(208,106,58,.18);padding:.35rem .85rem;border-radius:999px;font-size:.85rem;color:var(--muted)}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.hero-visual{position:relative;display:grid;gap:1rem}.hero-visual .photo-main{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #fff}.hero-visual .photo-accent{position:absolute;right:-10px;bottom:-10px;width:140px;background:#fff;border-radius:20px;padding:.5rem;box-shadow:0 16px 30px #00000024;border:1px solid var(--border);animation:float 6s ease-in-out infinite}.hero-visual .photo-float{position:absolute;left:-16px;top:-14px;width:160px;border-radius:20px;padding:0;overflow:hidden;box-shadow:0 16px 30px #00000024;border:1px solid var(--border);background:#fff;animation:float 7s ease-in-out infinite}.hero-visual .photo-float img{width:100%;height:100%;object-fit:cover}.trust-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:2rem 0}.trust-card{background:#ffffffeb;border-radius:var(--radius);padding:1.1rem 1.2rem;border:1px solid rgba(255,255,255,.6);box-shadow:0 16px 34px #1b1b1b1a;animation:fadeUp .6s ease both}.trust-card h4{margin:0 0 .4rem;font-size:1.1rem}.trust-card p{margin:0;color:var(--muted);font-size:.95rem}.services{padding:2rem 0}.section-head{display:grid;gap:.4rem;margin-bottom:1.1rem}.section-head h2{margin:0}.section-head p{margin:0;color:var(--muted)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.service-card{padding:1.2rem 1.25rem;border-radius:18px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(180deg,#fffffff5,#ffffffe0);box-shadow:0 16px 30px #1b1b1b1a;animation:fadeUp .6s ease both}.service-card-featured{background:linear-gradient(180deg,#0a0a0a99,#0a0a0a40),url(/images/service1.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-featured .service-what,.service-card-featured .service-why,.service-card-featured h3{color:#fff}.service-card-featured .service-why{opacity:.9}.service-card-cleaning{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service2.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-cleaning .service-what,.service-card-cleaning .service-why,.service-card-cleaning h3{color:#fff}.service-card-cleaning .service-why{opacity:.9}.service-card-filling{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service3.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-filling .service-what,.service-card-filling .service-why,.service-card-filling h3{color:#fff}.service-card-filling .service-why{opacity:.9}.service-card-rct{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service4.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-rct .service-what,.service-card-rct .service-why,.service-card-rct h3{color:#fff}.service-card-rct .service-why{opacity:.9}.service-card-extraction{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service5.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-extraction .service-what,.service-card-extraction .service-why,.service-card-extraction h3{color:#fff}.service-card-extraction .service-why{opacity:.9}.service-card-crowns{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service6.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-crowns .service-what,.service-card-crowns .service-why,.service-card-crowns h3{color:#fff}.service-card-crowns .service-why{opacity:.9}.service-card-implants{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service7.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-implants .service-what,.service-card-implants .service-why,.service-card-implants h3{color:#fff}.service-card-implants .service-why{opacity:.9}.service-card-whitening{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service8.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-whitening .service-what,.service-card-whitening .service-why,.service-card-whitening h3{color:#fff}.service-card-whitening .service-why{opacity:.9}.service-card-ortho{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service9.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-ortho .service-what,.service-card-ortho .service-why,.service-card-ortho h3{color:#fff}.service-card-ortho .service-why{opacity:.9}.service-card-gum{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service10.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-gum .service-what,.service-card-gum .service-why,.service-card-gum h3{color:#fff}.service-card-gum .service-why{opacity:.9}.service-card-pediatric{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service11.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-pediatric .service-what,.service-card-pediatric .service-why,.service-card-pediatric h3{color:#fff}.service-card-pediatric .service-why{opacity:.9}.service-card-dentures{background:linear-gradient(180deg,#0a0a0a8c,#0a0a0a33),url(/images/service12.png) center/cover no-repeat;color:#fff;border-color:#fff6}.service-card-dentures .service-what,.service-card-dentures .service-why,.service-card-dentures h3{color:#fff}.service-card-dentures .service-why{opacity:.9}.service-card h3{margin:0 0 .6rem;font-size:1.05rem}.service-card p{margin:0;color:var(--muted);font-size:.94rem}.service-what{margin-bottom:.5rem}.service-why{color:#4f4a45}.signature{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:stretch;padding:2rem 0}.signature-panel{display:flex;flex-direction:column;height:100%;background:#fffffff5;border:1px solid rgba(255,255,255,.65);border-radius:22px;padding:1.6rem;box-shadow:0 18px 34px #1b1b1b1f}.signature-panel-featured{background:linear-gradient(180deg,#050505d9,#0505058c),url(/images/service1.png) center 20%/cover no-repeat;color:#fff;border-color:#fff6}.signature-panel-featured h2,.signature-panel-featured p,.signature-panel-featured li,.signature-panel-featured ul li{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}.signature-panel-featured li{opacity:1}.signature-panel-family{background:linear-gradient(180deg,#050505d9,#0505058c),url(/images/service11.png) center 20%/cover no-repeat;color:#fff;border-color:#fff6}.signature-panel-family h2,.signature-panel-family p,.signature-panel-family li,.signature-panel-family ul li{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}.signature-panel-family li{opacity:1}.signature-points{background:#00000080;border:1px solid rgba(255,255,255,.25);border-radius:12px;padding:.75rem .9rem;margin-top:.9rem}.signature-points p{margin:.35rem 0;color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.6)}.signature-panel ul{margin:1rem 0 0;padding:0;list-style:none}.signature-panel li{padding:.4rem 0;color:var(--muted)}.gallery{padding:2rem 0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1rem}.gallery-card{background:#fffffff0;border:1px solid rgba(255,255,255,.7);border-radius:20px;overflow:hidden;box-shadow:0 16px 30px #1b1b1b1a;animation:fadeUp .6s ease both}.gallery-card img{width:100%;height:180px;object-fit:cover}.gallery-card .caption{padding:.75rem;color:var(--muted);font-size:.9rem}.about,.testimonials,.contact{padding:1.5rem 0}.test-grid{display:grid;gap:1rem}blockquote{background:#ffffffeb;padding:1rem;border-left:4px solid var(--accent);margin:0;border-radius:14px}.contact-grid{display:grid;grid-template-columns:1fr 320px;gap:1.5rem}.contact-form label{display:block;margin-bottom:.75rem}.contact-form input,.contact-form textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:10px}.contact-form textarea{min-height:100px}.contact-info{position:relative;background:#fff;border:1px solid var(--border);border-radius:16px;padding:1.1rem 1.2rem;box-shadow:0 10px 18px #1b1b1b0f}.contact-info h3{margin-top:0;font-size:1.15rem}.contact-info p{margin:.35rem 0;color:var(--muted)}.site-footer{padding:1.75rem 0;text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,.6);margin-top:2rem}@media(max-width:980px){.hero,.signature,.contact-grid{grid-template-columns:1fr}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.nav{position:absolute;top:calc(100% + .75rem);right:1rem;left:1rem;display:none;flex-direction:column;align-items:stretch;gap:.5rem;padding:.9rem;background:#fffffff2;border:1px solid rgba(255,255,255,.8);border-radius:16px;box-shadow:0 18px 36px #1b1b1b1f}.nav.open{display:flex}.nav a{text-align:center}}.booking-grid{display:grid;grid-template-columns:320px 1fr;gap:1rem}.doctors-list{display:grid;gap:.75rem}.doctor-card{padding:.85rem;border-radius:14px;border:1px solid rgba(255,255,255,.7);background:#fffffff2;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 14px 26px #1b1b1b14;position:relative}.doctor-card-main{display:flex;align-items:center;gap:.85rem;min-width:0}.doctor-actions{display:flex;align-items:center;position:relative;z-index:1}.doctor-meta{display:grid;gap:.2rem;min-width:0}.doctor-photo{width:72px;height:72px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.8);background:radial-gradient(circle at 30% 20%,rgba(200,100,59,.15),transparent 55%),#f7f1ea;box-shadow:inset 0 1px #fff9;flex:0 0 auto;position:relative}.doctor-photo img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.doctor-photo-fallback{width:100%;height:100%;display:grid;place-items:center;font-weight:600;color:#8f6a55;letter-spacing:.5px}.doctor-photo-lg{width:110px;height:110px;border-radius:20px}.doctor-card h3{margin:0;font-size:1rem}.doctor-card p{margin:0;color:var(--muted);font-size:.85rem}.doctor-card button{padding:.35rem .6rem;border-radius:999px;background:var(--accent);color:#fff;border:none}.booking-panel{padding:1.1rem;border-radius:18px;border:1px solid rgba(255,255,255,.7);background:#fffffff5;box-shadow:0 16px 30px #1b1b1b1a}.times{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.times button{padding:.4rem .6rem;border-radius:999px;border:1px solid var(--border);background:#faf7f3}.times button.active{background:var(--accent-2);color:#fff;border-color:var(--accent-2)}.appointment-form label{display:block;margin-bottom:.6rem}.appointment-form input,.appointment-form textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:10px}input[type=date]{appearance:none;-webkit-appearance:none;padding:.6rem 2.25rem .6rem .9rem;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,#fff,#fbf8f4),radial-gradient(12px 12px at 92% 50%,rgba(200,100,59,.18),transparent 70%);color:var(--ink);box-shadow:inset 0 1px #fff9;position:relative}input[type=date]:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #0f6b6b26}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.9;filter:hue-rotate(120deg) saturate(1.2);background:transparent;margin-right:-.3rem}.date-picker{display:grid;gap:.35rem;margin-bottom:.6rem}.date-picker-label{font-size:.9rem;color:var(--muted)}.date-picker-input{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,#fff,#fbf8f4);color:var(--ink);cursor:pointer;box-shadow:inset 0 1px #fff9}.date-picker-icon{font-size:1.1rem}.date-picker-popover{background:#fff;border:1px solid var(--border);border-radius:16px;padding:.75rem;box-shadow:0 18px 36px #1b1b1b24;width:min(320px,92vw)}.date-picker-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.date-picker-header button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.2rem .6rem;cursor:pointer}.date-picker-title{font-weight:600}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.date-picker-weekday{text-align:center;font-size:.75rem;color:var(--muted)}.date-picker-day{border:1px solid transparent;background:#f7f3ef;border-radius:10px;padding:.35rem 0;cursor:pointer}.date-picker-day:hover{background:#fff;border-color:var(--border)}.date-picker-day.selected{background:var(--accent-2);color:#fff}.date-picker-day.disabled{opacity:.35;cursor:not-allowed}.booking-confirm{padding:1rem;border-radius:12px;background:#f1fbf6;border:1px solid #cdebdc}.doctor-profile{display:grid;grid-template-columns:1fr 360px;gap:1rem}.doctor-profile .bio{padding:1.1rem;background:#fffffff5;border:1px solid rgba(255,255,255,.7);border-radius:18px;box-shadow:0 16px 30px #1b1b1b1a}.doctor-hero{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:center;margin-bottom:.75rem}.auth-page{display:flex;justify-content:center;padding:2rem}.auth-form{width:100%;max-width:380px;padding:1.6rem;border-radius:18px;border:1px solid rgba(255,255,255,.7);background:#fffffff5;box-shadow:0 16px 30px #1b1b1b1a}.auth-form h2{margin-top:0}.auth-form label{display:block;margin-bottom:1rem}.auth-form input,.auth-form select{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:10px}.auth-form p{text-align:center;margin-top:1rem}.auth-form a{color:var(--accent);text-decoration:none}.form-error{color:#d32f2f;font-size:.9rem;margin:.5rem 0}.form-success{color:#0f7b3b;font-size:.9rem;margin:.5rem 0}.role-badge{display:inline-block;padding:.25rem .6rem;border-radius:12px;font-size:.75rem;font-weight:700;color:#fff;margin:0 .25rem}.role-badge.role-patient{background:var(--accent-2)}.role-badge.role-doctor{background:#4b7bec}.role-badge.role-admin{background:#d94b4b}@media(max-width:820px){.booking-grid,.doctor-profile{grid-template-columns:1fr}.doctor-hero{grid-template-columns:1fr;justify-items:start}}.manager-page{padding:1rem 0}.manager-form{padding:1.6rem;background:#fffffff5;border:1px solid rgba(255,255,255,.7);border-radius:18px;margin-bottom:1.5rem}.manager-form h3{margin-top:0}.manager-form input,.manager-form textarea{display:block;width:100%;padding:.5rem;border:1px solid var(--border);border-radius:10px;margin-bottom:.75rem;font-family:inherit}.manager-form button{margin-right:.5rem}.manager-table{width:100%;border-collapse:collapse;margin-bottom:1rem}.manager-table th,.manager-table td{text-align:left;padding:.75rem;border:1px solid var(--border)}.manager-table th{background:#f7f0e7;font-weight:700}.manager-table button{padding:.35rem .6rem;border-radius:999px;border:none;background:var(--accent);color:#fff;cursor:pointer;margin-right:.5rem}.manager-table button:hover{background:#b1552e}.admin-dashboard,.doctor-dashboard,.patient-dashboard{padding:1rem 0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}.admin-card{padding:1.6rem;background:#fffffff5;border:1px solid rgba(255,255,255,.7);border-radius:18px;text-decoration:none;color:var(--ink);transition:.2s;box-shadow:0 16px 30px #1b1b1b1a}.admin-card:hover{border-color:var(--accent);box-shadow:0 18px 30px #c8643b2e}.admin-card h3{margin:0 0 .5rem}.admin-card p{margin:0;color:var(--muted);font-size:.9rem}.doctor-dashboard ul,.patient-dashboard ul{list-style:none;padding:0}.doctor-dashboard li,.patient-dashboard li{padding:.8rem;border:1px solid rgba(255,255,255,.7);border-radius:14px;margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center;background:#fffffff2}.doctor-dashboard li.muted,.patient-dashboard li.muted{opacity:.6}.doctor-dashboard button,.patient-dashboard button{padding:.35rem .6rem;border-radius:999px;border:none;background:#d94b4b;color:#fff;cursor:pointer}.profile-page{padding:1rem 0}.profile-form{max-width:520px;background:#fffffff5;border:1px solid rgba(255,255,255,.7);border-radius:18px;padding:1.35rem;box-shadow:0 16px 30px #1b1b1b1a}.trust-card:nth-child(2),.service-card:nth-child(2),.gallery-card:nth-child(2),.admin-card:nth-child(2){animation-delay:.08s}.trust-card:nth-child(3),.service-card:nth-child(3),.gallery-card:nth-child(3),.admin-card:nth-child(3){animation-delay:.16s}.trust-card:nth-child(4),.service-card:nth-child(4),.gallery-card:nth-child(4),.admin-card:nth-child(4){animation-delay:.24s}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.profile-form label{display:block;margin-bottom:.9rem}.profile-form input{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:10px}
