@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Nunito:ital,wght@0,200..1000;1,200..1000&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap";:root{--surface:#fef9e8;--surface-low:#f8f4e3;--surface-lowest:#fff;--surface-highest:#e7e3d2;--on-surface:#1d1c12;--primary:#755b00;--primary-container:#f5c842;--on-primary-container:#6c5400;--primary-fixed:#ffe08f;--accent-gold:#e6b800;--sage-50:#f4f7f4;--muted:#5a594d;--outline-variant:#1d1c1226;--success:#4caf7d;--danger:#c53030;--shadow:#e6b8000f}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--surface);color:var(--on-surface);font-family:Nunito,sans-serif;line-height:1.7;overflow-x:hidden}h1,h2,h3,h4,.serif{letter-spacing:.02em;font-family:Cormorant Garamond,serif;font-weight:300}.italic{font-style:italic}.metadata{text-transform:uppercase;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.8rem}button{cursor:pointer;border:none;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1)}button:disabled{cursor:not-allowed;opacity:.5}.glass{-webkit-backdrop-filter:blur(12px);background:#fef9e8cc}.container{width:100%;max-width:1300px;margin:0 auto;padding:0 40px}.btn-primary{background:linear-gradient(135deg, var(--primary-container) 0%, var(--accent-gold) 100%);color:var(--on-primary-container);box-shadow:0 4px 12px var(--shadow);border-radius:24px;padding:14px 32px;font-weight:600}.btn-primary:hover{box-shadow:0 8px 20px var(--shadow);transform:translateY(-2px)}.btn-outline{color:var(--primary);border:1px solid var(--outline-variant);background:0 0;border-radius:24px;padding:14px 32px;font-weight:600}.btn-outline:hover{background:var(--surface-low)}.card{background:var(--surface-lowest);box-shadow:0 12px 32px var(--shadow);border-radius:12px;padding:32px;transition:transform .3s}input,select,textarea{background:var(--surface-highest);border:none;border-radius:8px;outline:none;width:100%;padding:14px;font-family:inherit;transition:all .3s}input:focus{box-shadow:0 0 0 2px var(--primary-fixed)}section{padding:120px 0}.animate-in{animation:.8s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.grid-editorial{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:80px;display:grid}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--surface-highest);border-radius:4px}@media (width<=767px){:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--text-xs:clamp(.68rem, .62rem + .3vw, .75rem);--text-sm:clamp(.8rem, .74rem + .3vw, .875rem);--text-base:clamp(.9rem, .84rem + .3vw, 1rem);--text-lg:clamp(1.1rem, .95rem + .75vw, 1.25rem);--text-xl:clamp(1.25rem, 1rem + 1.25vw, 1.6rem);--text-2xl:clamp(1.6rem, 1.2rem + 2vw, 2.2rem);--text-3xl:clamp(2rem, 1.5rem + 2.5vw, 3rem);--text-hero:clamp(2.1rem, 1.8rem + 3vw, 3.5rem);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--tap-min:48px;--bottom-nav-h:calc(56px + var(--safe-bottom));--modal-header-h:56px}*{-webkit-tap-highlight-color:transparent}body{min-height:100dvh;overflow-x:hidden}h1,h2,h3,h4,h5,h6,p,span,a,li,td,th{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}input,select,textarea{font-size:max(16px,1rem)!important}.m-scroll-x{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.m-scroll-x::-webkit-scrollbar{display:none}.container{padding-left:calc(var(--space-md) + var(--safe-left));padding-right:calc(var(--space-md) + var(--safe-right))}.card{padding:var(--space-lg);border-radius:12px}section{padding:var(--space-2xl) 0}}.nav-links{display:flex}.nav-hamburger,.nav-drawer,.admin-top-bar,.admin-bottom-nav{display:none}.login-root{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{width:100%;max-width:440px;padding:48px}.booking-overlay{justify-content:center;align-items:center;padding:20px;display:flex}.booking-panel{width:100%;max-width:640px;max-height:90vh}@media (width<=767px){.m-stack{flex-direction:column!important;display:flex!important}.m-full{width:100%!important}.m-hide{display:none!important}.m-show{display:flex!important}.m-tap{min-height:var(--tap-min);min-width:var(--tap-min);justify-content:center;align-items:center;display:flex}.m-col-1{grid-template-columns:1fr!important}.m-col-2{grid-template-columns:1fr 1fr!important}.m-text-center{text-align:center!important}nav.glass{padding-left:calc(var(--space-md) + var(--safe-left));padding-right:calc(var(--space-md) + var(--safe-right));height:calc(56px + var(--safe-top))!important;padding-top:var(--safe-top)!important}.nav-links,.nav-cta-desktop{display:none!important}.nav-hamburger{min-width:var(--tap-min);min-height:var(--tap-min);cursor:pointer;color:var(--primary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex!important}.nav-drawer{top:calc(56px + var(--safe-top));background:var(--surface);border-bottom:1px solid var(--outline-variant);padding:var(--space-md);z-index:99;transition:transform .25s cubic-bezier(.4,0,.2,1);display:block;position:fixed;left:0;right:0;transform:translateY(-110%);box-shadow:0 8px 24px #00000014}.nav-drawer.open{transform:translateY(0)}.nav-drawer a{min-height:var(--tap-min);padding:0 var(--space-sm);font-size:var(--text-base);color:var(--on-surface);border-radius:8px;align-items:center;font-weight:600;text-decoration:none;display:flex}.nav-drawer a:active{background:var(--surface-low)}.nav-drawer .btn-primary{width:100%;min-height:var(--tap-min);margin-top:var(--space-sm);border-radius:12px;justify-content:center}header{min-height:100dvh!important;padding-top:calc(56px + var(--safe-top) + var(--space-xl))!important;padding-bottom:var(--space-2xl)!important}header h1{font-size:var(--text-hero)!important;margin-bottom:var(--space-lg)!important;line-height:1.1!important}header p:not(.metadata){font-size:var(--text-lg)!important;margin-bottom:var(--space-xl)!important}.hero-ctas{width:100%;gap:var(--space-sm)!important;flex-direction:column!important}.hero-ctas .btn-primary,.hero-ctas .btn-outline{justify-content:center;width:100%!important;min-height:var(--tap-min)!important;border-radius:var(--space-md)!important}.hero-decoration{width:280px!important;height:280px!important;top:-5%!important;right:-20%!important}#sobre .grid-editorial{gap:var(--space-xl)!important;grid-template-columns:1fr!important}#sobre h2{font-size:var(--text-2xl)!important;margin-bottom:var(--space-lg)!important}#sobre p{font-size:var(--text-base)!important}.about-stats{gap:var(--space-lg)!important;grid-template-columns:repeat(3,1fr)!important}.about-stats>div>div:first-child{font-size:var(--text-xl)!important}#servicos{padding:var(--space-2xl) 0}#servicos h2{font-size:var(--text-2xl)!important;margin-bottom:var(--space-md)!important}#servicos .grid-editorial{gap:var(--space-md)!important;grid-template-columns:1fr!important}#servicos .grid-editorial>div{min-height:unset!important;padding:var(--space-lg)!important}#servicos h3{font-size:var(--text-xl)!important}#servicos p{font-size:var(--text-base)!important}#servicos .grid-editorial>div>div:last-child{margin-top:var(--space-lg)!important}#servicos .btn-primary{border-radius:12px!important}footer{padding:var(--space-2xl) 0 calc(var(--space-2xl) + var(--safe-bottom))!important}footer .grid-editorial{gap:var(--space-xl)!important;grid-template-columns:1fr!important}footer h2{font-size:var(--text-2xl)!important}footer p{font-size:var(--text-base)!important}footer>.container>div:last-child{text-align:center;gap:var(--space-sm)!important;margin-top:var(--space-xl)!important;padding-top:var(--space-lg)!important;flex-direction:column!important}footer a{min-height:var(--tap-min);align-items:center;display:inline-flex}.booking-overlay{z-index:1000;background:#00000080!important;justify-content:stretch!important;align-items:flex-end!important;padding:0!important;display:flex!important;position:fixed!important;inset:0!important}.booking-panel{-webkit-overflow-scrolling:touch;overflow-y:auto;width:100%!important;max-width:100%!important;max-height:92dvh!important;padding:var(--space-lg) var(--space-md) calc(var(--space-lg) + var(--safe-bottom)) var(--space-md)!important;border-radius:20px 20px 0 0!important;animation:.3s cubic-bezier(.4,0,.2,1) slideUp!important}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.booking-panel:before{content:"";background:var(--outline-variant);width:40px;height:4px;margin:0 auto var(--space-lg);border-radius:2px;display:block}.booking-close{min-width:var(--tap-min)!important;min-height:var(--tap-min)!important}.booking-panel h2{font-size:var(--text-xl)!important}.booking-panel p{font-size:var(--text-sm)!important}.service-option{padding:var(--space-md)!important;min-height:var(--tap-min)!important}.booking-datetime{gap:var(--space-md)!important;grid-template-columns:1fr!important}.booking-actions{gap:var(--space-sm)!important;margin-top:var(--space-lg)!important;flex-direction:column-reverse!important}.booking-actions button{width:100%!important;min-height:var(--tap-min)!important;border-radius:12px!important}.booking-summary{border-radius:12px!important}.login-root{min-height:100dvh!important;padding:var(--space-md)!important;padding-top:calc(var(--space-md) + var(--safe-top))!important;padding-bottom:calc(var(--space-md) + var(--safe-bottom))!important;padding-top:max(calc(var(--safe-top) + 20px), 15vh)!important;align-items:flex-start!important}.login-card{width:100%!important;max-width:100%!important;padding:var(--space-xl) var(--space-lg)!important;border-radius:16px!important}.login-card h2{font-size:var(--text-2xl)!important}.login-card .btn-primary{width:100%!important;min-height:var(--tap-min)!important;font-size:var(--text-base)!important;border-radius:12px!important}.login-back{min-width:var(--tap-min)!important;min-height:var(--tap-min)!important;justify-content:center!important;align-items:center!important;display:flex!important}.admin-root{flex-direction:column!important;min-height:100dvh!important}.admin-sidebar{display:none!important}.admin-main{min-height:100dvh;padding:var(--space-md)!important;padding-top:calc(var(--safe-top) + 60px)!important;padding-bottom:calc(var(--bottom-nav-h) + var(--space-md))!important;width:100%!important}.admin-top-bar{height:calc(52px + var(--safe-top));padding-top:var(--safe-top);padding-left:calc(var(--space-md) + var(--safe-left));padding-right:calc(var(--space-md) + var(--safe-right));background:var(--surface);border-bottom:1px solid var(--outline-variant);z-index:200;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;display:flex!important}.admin-top-bar-title{font-family:Cormorant Garamond,serif;font-size:var(--text-lg);color:var(--primary);font-weight:500}.admin-top-bar button{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--danger);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.admin-bottom-nav{height:var(--bottom-nav-h);padding-bottom:var(--safe-bottom);background:var(--surface);border-top:1px solid var(--outline-variant);z-index:200;align-items:stretch;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000f;display:flex!important}.admin-tab-item{cursor:pointer;min-height:56px;color:var(--muted);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;transition:color .15s;display:flex}.admin-tab-item.active{color:var(--primary)}.admin-tab-item svg{width:22px;height:22px}.admin-tab-label{text-transform:uppercase;letter-spacing:.05em;font-family:DM Mono,monospace;font-size:9px;line-height:1}.admin-tab-item.active:before{content:"";background:var(--primary-container);border-radius:0 0 2px 2px;width:24px;height:2px;position:absolute;top:0}.admin-tab-item{position:relative}.admin-main header{margin-bottom:var(--space-xl)!important;align-items:flex-start!important;gap:var(--space-sm)!important;flex-direction:column!important}.admin-main header h2{font-size:var(--text-2xl)!important;line-height:1.2!important}.stats-grid{gap:var(--space-sm)!important;margin-bottom:var(--space-xl)!important;grid-template-columns:1fr 1fr!important}.stats-grid .card{padding:var(--space-md)!important}.stats-grid .card>div{font-size:var(--text-2xl)!important}.stats-grid .card .metadata{font-size:8px!important}.agenda-recent .card{padding:var(--space-md)!important}.agenda-recent h3{font-size:var(--text-xl)!important}.agenda-recent .apt-row{min-height:var(--tap-min);align-items:center;padding:var(--space-sm) 0!important}.apts-table{display:none!important}.apts-card-list{gap:var(--space-sm);flex-direction:column;display:flex!important}.apt-card{background:var(--surface-lowest);padding:var(--space-md);border:1px solid var(--outline-variant);gap:var(--space-sm);border-radius:12px;flex-direction:column;display:flex}.apt-card-header{justify-content:space-between;align-items:flex-start;display:flex}.apt-card-name{font-weight:700;font-size:var(--text-base);color:var(--on-surface)}.apt-card-meta{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:2px;font-family:DM Mono,monospace;font-size:10px}.apt-card-status{text-transform:uppercase;letter-spacing:.06em;border-radius:20px;flex-shrink:0;padding:4px 10px;font-family:DM Mono,monospace;font-size:9px;font-weight:700}.apt-status-pending{color:#92400e;background:#fef3c7}.apt-status-confirmed{color:#065f46;background:#d1fae5}.apt-status-done{color:#374151;background:#e5e7eb}.apt-status-cancelled{color:#991b1b;background:#fee2e2}.apt-card-actions{gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--outline-variant);align-items:center;display:flex}.apt-card-actions select{background:var(--surface-low);min-height:var(--tap-min);border:none;border-radius:8px;flex:1;padding:8px 10px;font-size:max(14px,.875rem)}.apt-delete-btn{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--danger);cursor:pointer;font-size:var(--text-sm);padding:0 var(--space-sm);background:#fee2e2;border:none;border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:flex}.patients-table{display:none!important}.patients-card-list{gap:var(--space-sm);flex-direction:column;display:flex!important}.patient-card{background:var(--surface-lowest);padding:var(--space-md);border:1px solid var(--outline-variant);align-items:center;gap:var(--space-md);min-height:var(--tap-min);border-radius:12px;display:flex}.patient-avatar{background:var(--primary-fixed);width:44px;height:44px;font-family:Cormorant Garamond,serif;font-size:var(--text-lg);color:var(--on-primary-container);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:500;display:flex}.patient-info{flex:1;min-width:0}.patient-name{font-weight:700;font-size:var(--text-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.patient-contact{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.patient-delete-btn{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--danger);cursor:pointer;font-size:var(--text-sm);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.patient-delete-btn:active{background:#fee2e2}.new-patient-form{padding:var(--space-md)!important;grid-template-columns:1fr!important}.patients-header{gap:var(--space-sm)!important;margin-bottom:var(--space-lg)!important;flex-wrap:wrap!important}.patients-header h3{font-size:var(--text-xl)!important}.patients-header .btn-primary{min-height:var(--tap-min)!important;border-radius:10px!important}.calendar-grid{gap:var(--space-lg)!important;grid-template-columns:1fr!important}.time-row{gap:var(--space-sm);align-items:center;display:flex}.time-row input{min-height:var(--tap-min)}.days-grid{gap:var(--space-xs)!important;grid-template-columns:repeat(4,1fr)!important}.days-grid label{min-height:36px;font-size:var(--text-sm);align-items:center;gap:6px;display:flex}.calendar-save-btn{width:100%!important;min-height:var(--tap-min)!important;margin-top:var(--space-lg)!important;border-radius:12px!important}.settings-grid{gap:var(--space-md)!important;grid-template-columns:1fr!important}.settings-grid .card h3{font-size:var(--text-xl)!important}.settings-grid .btn-primary,.settings-grid .btn-outline{width:100%!important;min-height:var(--tap-min)!important;border-radius:12px!important}.service-editor-overlay{align-items:flex-end!important;padding:0!important}.service-editor-modal{animation:.25s cubic-bezier(.4,0,.2,1) slideUp;width:100%!important;padding:var(--space-xl) var(--space-lg) calc(var(--space-xl) + var(--safe-bottom))!important;border-radius:20px 20px 0 0!important}.service-editor-modal input{min-height:var(--tap-min)!important;border-radius:8px!important}.service-editor-actions{gap:var(--space-sm)!important;flex-direction:column-reverse!important}.service-editor-actions button{width:100%!important;min-height:var(--tap-min)!important;border-radius:12px!important}.unlock-root{padding:var(--space-md)!important;padding-top:calc(max(var(--safe-top), 20px) + var(--space-xl))!important;padding-bottom:calc(var(--safe-bottom) + var(--space-md))!important;align-items:flex-start!important;min-height:100dvh!important}.unlock-card{width:100%!important;max-width:100%!important;padding:var(--space-xl) var(--space-lg)!important;border-radius:16px!important}.unlock-card h2{font-size:var(--text-2xl)!important}.unlock-card p{font-size:var(--text-sm)!important}.unlock-card button[type=submit]{width:100%!important;min-height:var(--tap-min)!important;border-radius:12px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
