    :root { --wine:#641f3d; --dark:#431126; --rose:#d99a9f; --blush:#f7e9e5; --cream:#fffaf4; --ink:#2e1a22; --muted:#74636a; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
    a { color:inherit; text-decoration:none; }
    .topbar { height:76px; padding:0 clamp(22px,7vw,100px); display:flex; align-items:center; justify-content:space-between; position:absolute; inset:0 0 auto; z-index:2; }
    .brand { display:flex; gap:10px; align-items:center; font:700 20px Georgia,serif; }
    .brand span { width:38px; height:38px; border:1px solid; border-radius:50%; display:grid; place-items:center; font-style:italic; }
    nav { display:flex; align-items:center; gap:32px; font-size:14px; font-weight:700; }
    .outline { border:1px solid var(--wine); color:var(--wine); border-radius:99px; padding:10px 18px; }
    .hero { min-height:730px; display:grid; grid-template-columns:1.08fr .92fr; }
    .hero-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:140px clamp(24px,7vw,105px) 70px; }
    .eyebrow { color:var(--wine); font-size:12px; letter-spacing:.2em; font-weight:800; }
    h1,h2 { font:400 clamp(48px,6.5vw,95px)/.98 Georgia,serif; letter-spacing:-.04em; margin:18px 0 24px; }
    h1 em { color:var(--wine); }
    .hero-copy>p:not(.eyebrow),.booking-copy>p:not(.eyebrow) { max-width:540px; color:var(--muted); font-size:18px; line-height:1.7; }
    .button { border:0; cursor:pointer; display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:0 24px; background:var(--wine); color:white; border-radius:99px; font-size:14px; font-weight:800; margin-top:14px; }
    .button:hover { background:var(--dark); transform:translateY(-1px); }
    .hero-art { display:grid; place-items:center; overflow:hidden; background:linear-gradient(150deg,#edc7c5,#b96673); }
    .hero-art::before { content:''; position:absolute; width:360px; height:360px; border:1px solid #fff5; border-radius:50%; }
    .arch { position:relative; width:min(65%,420px); aspect-ratio:.75; background:var(--dark); border-radius:230px 230px 28px 28px; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#f5dcda; box-shadow:0 30px 80px #43112655; text-align:center; }
    .arch span { width:125px; height:125px; border:1px solid #e9b9bd; border-radius:50%; display:grid; place-items:center; font:italic 76px Georgia,serif; }
    .arch p { font:italic 24px/1.3 Georgia,serif; }
    .section { padding:100px clamp(24px,7vw,105px); }
    .services { background:white; }
    .services h2,.booking h2 { max-width:760px; font-size:clamp(44px,5vw,70px); }
    .cards { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #eadeda; margin-top:55px; }
    .cards article { min-height:275px; padding:28px; border-right:1px solid #eadeda; display:flex; flex-direction:column; }
    .cards article:last-child { border-right:0; }.cards small { color:var(--rose); font:italic 20px Georgia,serif; }.cards h3 { font:29px Georgia,serif; margin:35px 0 12px; }.cards p { color:var(--muted); line-height:1.5; }.cards strong { color:var(--wine); margin-top:auto; font-size:14px; }
    .booking { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(35px,7vw,100px); background:var(--blush); }
    .hours { margin-top:36px; display:flex; flex-direction:column; gap:9px; color:var(--muted); }.hours strong { color:var(--wine); margin-bottom:4px; }
    form { background:white; padding:clamp(25px,4vw,48px); border-radius:22px; box-shadow:0 20px 70px #6b273016; }
    label { display:flex; flex-direction:column; gap:7px; margin-bottom:17px; font-size:13px; font-weight:800; }
    input,select,textarea { width:100%; border:1px solid #dacbc8; background:#fffdfa; border-radius:10px; padding:13px 14px; color:var(--ink); font:15px Arial,sans-serif; outline:none; }
    input:focus,select:focus,textarea:focus { border-color:var(--wine); box-shadow:0 0 0 3px #641f3d16; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.message { min-height:20px; margin:16px 0 0; font-size:14px; font-weight:700; }.message.error { color:#a12332; }.message.success { color:#17663a; }
    footer { display:flex; justify-content:space-between; gap:20px; padding:28px clamp(24px,7vw,105px); color:var(--muted); font-size:13px; } footer span { color:var(--wine); font:700 20px Georgia,serif; } footer a { text-decoration:underline; }
    .results { background:var(--cream); }
    .section-intro { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:end; }
    .section-intro>p { color:var(--muted); line-height:1.7; max-width:480px; }
    .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:48px}.results-carousel{position:relative;margin-top:48px}.results-carousel .gallery{display:flex;margin:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.results-carousel .gallery::-webkit-scrollbar{display:none}.results-carousel .gallery>.result-card{flex:0 0 calc(50% - 12px);scroll-snap-align:start}.carousel-button{position:absolute;z-index:2;top:43%;width:48px;height:48px;border:1px solid #e4ceca;border-radius:50%;background:#fffdf8ed;color:var(--wine);box-shadow:0 12px 30px #43112622;font:38px/1 Georgia,serif;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(8px);transition:transform .2s ease,opacity .2s ease}.carousel-button:hover{transform:scale(1.08)}.carousel-button:disabled{opacity:.3;cursor:default;transform:none}.carousel-button[hidden]{display:none}.carousel-prev{left:-24px}.carousel-next{right:-24px}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:22px}.carousel-dots:empty{display:none}.carousel-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#d6b9b8;cursor:pointer;transition:width .2s ease,background .2s ease}.carousel-dots button.active{width:27px;border-radius:99px;background:var(--wine)}
    .result-card { background:white; padding:14px; border-radius:18px; box-shadow:0 14px 40px #6b273010; }
    .photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .photo-pair figure { margin:0; position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:12px; background:#eadeda; }
    .photo-pair img { width:100%; height:100%; object-fit:cover; display:block; }
    .photo-pair figcaption { position:absolute; left:10px; bottom:10px; background:#fffdf8e8; padding:6px 10px; border-radius:99px; color:var(--wine); font-size:11px; font-weight:800; }
    .result-card h3 { margin:18px 8px 6px; font:27px Georgia,serif; }.result-card>p { margin:0 8px 12px; color:var(--muted); line-height:1.5; }
    .empty { color:var(--muted); padding:28px 0; }
    .portal-page { background:var(--blush); }.portal-main { min-height:100vh; padding-top:125px; }.portal-main>h1 { font-size:clamp(50px,7vw,82px); }
    .panel { background:white; padding:clamp(24px,4vw,42px); border-radius:20px; box-shadow:0 18px 60px #6b273012; }.panel h3 { font:30px Georgia,serif; margin-top:0; }.login-form { max-width:440px; margin-top:35px; }
    .google-signin{display:flex;min-height:44px;align-items:center;margin:18px 0 8px}.code-login{margin-top:24px;padding-top:18px;border-top:1px solid #eadfdb}.code-login summary{color:#68213f;font-weight:800;cursor:pointer}.code-login form{margin-top:18px}.google-link-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;padding:20px 24px;border:1px solid #eadfdb}.google-link-card p{margin:5px 0 0}.google-link-card .message:empty{display:none}
    .welcome-row,.panel-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin:34px 0; }.welcome-row h2,.panel-heading h2 { margin:0; font-size:clamp(38px,5vw,62px); }.welcome-row p { color:var(--muted); }
    .appointment-list { display:grid; gap:14px; margin:28px 0; }.appointment { background:white; border-radius:16px; padding:22px; display:grid; grid-template-columns:1fr auto; gap:18px; box-shadow:0 10px 30px #6b27300d; border-left:5px solid #2f8b5d; }.appointment.canceled { opacity:.58; border-left-color:#a12332; }.appointment.completed { border-left-color:#8a7c81; }.appointment h3 { margin:7px 0; font:25px Georgia,serif; }.appointment p { margin:4px 0; color:var(--muted); }.status { font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; color:var(--wine); }
    .post-booking-guide{margin:26px 0;padding:26px;border:1px solid #d9b46b;border-radius:18px;background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:0 16px 42px #6f451218}.post-booking-guide>div>span{display:inline-flex;padding:5px 10px;border-radius:99px;color:#17663a;background:#e7f6ed;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.post-booking-guide h3{margin:12px 0 6px;font:32px Georgia,serif}.post-booking-guide p{margin:5px 0;color:var(--muted)}.post-booking-guide ol{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 10px;padding:0;list-style:none;counter-reset:post-step}.post-booking-guide li{position:relative;padding-left:34px;counter-increment:post-step}.post-booking-guide li::before{content:counter(post-step);position:absolute;left:0;top:8px;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#fff;background:var(--wine);font-size:12px;font-weight:900}.post-booking-guide button{width:100%;min-height:46px}.post-booking-guide.completed{border-color:#91c7a8;background:#f2fbf6}.appointment-needs-action{outline:3px solid #d9b46b;outline-offset:3px;animation:appointmentAttention 1.4s ease 2}@keyframes appointmentAttention{50%{transform:translateY(-3px);box-shadow:0 16px 42px #885f1e24}}
    .text-button,.secondary-button,.manage-card button,.card-actions button { border:1px solid #d8c5c4; background:white; color:var(--wine); border-radius:99px; padding:10px 15px; cursor:pointer; font-weight:700; }.text-button { border:0; text-decoration:underline; background:none; padding-left:0; }
    .tabs { display:flex; gap:8px; margin:40px 0 28px; overflow:auto; }.tabs button { border:1px solid #d8c5c4; color:var(--wine); background:transparent; border-radius:99px; padding:11px 18px; white-space:nowrap; cursor:pointer; font-weight:800; }.tabs button.active { background:var(--wine); color:white; border-color:var(--wine); }.tab-panel { display:none; }.tab-panel.active { display:block; }
    .compact-form { max-width:760px; margin-bottom:25px; }.form-actions,.card-actions,.manage-card>div:last-child { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
    .management-grid { display:grid; gap:12px; }.manage-card { background:white; padding:20px; border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:20px; }.manage-card h3 { margin:0 0 6px; font:24px Georgia,serif; }.manage-card p { color:var(--muted); margin:0 0 7px; }.management-gallery .result-card { opacity:1; }.card-actions { padding:10px 8px 4px; }.admin-controls select { min-width:140px; }
    .client-search{max-width:520px;margin-bottom:20px}.client-grid{display:grid;gap:14px}.client-card{display:grid;grid-template-columns:1fr;gap:22px;background:white;padding:24px;border-radius:16px;box-shadow:0 10px 30px #6b27300d}.client-card h3{margin:0 0 7px;font:27px Georgia,serif}.client-phone{color:var(--wine);font-weight:800}.client-stats{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}.client-code-form{align-self:center}.client-code-form label{margin:0}.client-code-actions{display:flex;gap:8px;margin-top:10px}.reset-result{grid-column:1/-1;margin:0}.reset-result.success{padding:12px 14px;background:#edf8f1;border-radius:10px}
    .admin-client-delete{margin-top:16px}.admin-client-delete:disabled{cursor:not-allowed;opacity:.58}.client-deletion-pending{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#fff0ed;color:#9b2736!important;font-weight:800}
    .client-contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.client-contact-actions .secondary-button,.client-contact-actions .whatsapp-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border-radius:10px;font-size:13px;font-weight:800}.whatsapp-button{border:1px solid #128c4d;color:#fff;background:#128c4d}.whatsapp-button:hover{color:#fff;background:#0d733e}.copy-feedback{min-height:20px;color:var(--muted);font-size:12px;font-weight:800}.copy-feedback.success{color:#17663a}.copy-feedback.error{color:#a12332}.google-linked-badge{display:inline-flex;margin-left:6px;padding:4px 8px;border-radius:99px;color:#2457a7;background:#edf4ff;font-size:10px;font-weight:900;vertical-align:middle}
    .dashboard-session{display:flex;justify-content:flex-end;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:800}.dashboard-session span::before{content:'●';color:#28a86b;margin-right:7px}
    .checkbox-label{display:flex;flex-direction:row;align-items:flex-start;gap:10px;line-height:1.45;font-weight:600}.checkbox-label input{width:19px;min-width:19px;height:19px;min-height:0;margin:1px 0 0;padding:0;accent-color:var(--wine)}.checkbox-label a{text-decoration:underline;color:var(--wine)}.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.install-app{min-height:50px;margin-top:14px}.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.next-client-card{margin-top:18px}.next-client-card h3{margin-bottom:8px}.next-client-card p:last-child{color:var(--muted)}.attendance{display:inline-flex;margin-left:8px;padding:5px 9px;border-radius:99px;background:#fff3d6;color:#855f0a;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.attendance.confirmed{background:#e5f6ec;color:#17663a}.hours-admin-list{display:grid;gap:12px;margin-bottom:20px}.hours-day{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:22px}.hours-day-title{display:flex;align-items:center}.hours-day-title label{margin:0}.hours-day-fields{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px}.hours-day-fields label{margin:0}.audit-list{display:grid;gap:8px}.audit-list article{display:flex;justify-content:space-between;gap:20px;padding:16px 18px;background:white;border:1px solid #eadeda;border-radius:13px}.audit-list article>div{min-width:0;display:flex;flex-direction:column;gap:5px}.audit-list small{color:var(--muted);overflow-wrap:anywhere}.audit-list time{white-space:nowrap;color:var(--muted);font-size:12px}.confirm-button{border:0;background:#17663a;color:white;border-radius:99px;padding:11px 16px;cursor:pointer;font-weight:800}.confirm-button:disabled{opacity:.55}.client-account-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}.danger-zone{width:min(100%,620px);padding:18px;border:1px solid #e0b8b4;border-radius:14px;background:#fff8f6}.danger-zone summary{cursor:pointer;color:#a12332;font-weight:800}.danger-zone p{color:var(--muted)}.danger-zone label{max-width:330px}.privacy-page{max-width:1050px;margin:auto}.privacy-page>h1{font-size:clamp(50px,7vw,78px)}.privacy-content h2{font-size:29px;margin:30px 0 10px}.privacy-content h2:first-child{margin-top:0}.privacy-content p{color:var(--muted);line-height:1.75}
    .metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 22px}.metric-grid article{min-height:135px;padding:22px;border:1px solid #eadeda;border-radius:18px;background:linear-gradient(145deg,#fff,#fff8f5);box-shadow:0 12px 35px #6b27300d;display:flex;flex-direction:column;justify-content:space-between}.metric-grid span{color:var(--muted);font-size:13px;font-weight:800;line-height:1.35}.metric-grid strong{color:var(--wine);font:45px Georgia,serif}.analytics-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.analytics-columns .panel{padding:26px}.rank-list,.active-list{display:grid;gap:4px}.rank-list>div,.active-list>div{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #f0e5e1}.rank-list>div:last-child,.active-list>div:last-child{border-bottom:0}.rank-list span{color:var(--rose);font:italic 18px Georgia,serif}.rank-list code{min-width:0;flex:1;color:var(--ink);font:14px Arial,sans-serif;overflow-wrap:anywhere}.rank-list strong{white-space:nowrap;color:var(--wine);font-size:12px}.active-list i{width:10px;height:10px;border-radius:50%;background:#28a86b;box-shadow:0 0 0 5px #28a86b18}.active-list div div{min-width:0;display:flex;flex-direction:column;gap:4px}.active-list small{color:var(--muted);overflow-wrap:anywhere}.access-log-panel{padding:26px}.access-log-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.access-log-heading h3{margin:0}.access-log-heading small{color:var(--muted)}.access-table-wrap{overflow:auto;margin-top:18px}.access-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}.access-table-wrap th,.access-table-wrap td{padding:12px 14px;border-bottom:1px solid #eee1dd;text-align:left}.access-table-wrap th{color:var(--wine);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.access-table-wrap td:nth-child(3){max-width:340px;white-space:normal;overflow-wrap:anywhere}
    
    body{font-size:16.5px}.hero-copy>p:not(.eyebrow),.booking-copy>p:not(.eyebrow){font-size:19px}.section-intro>p,.result-card>p,.cards p{font-size:16px}.cards h3{font-size:31px}.result-card h3{font-size:29px}nav{font-size:15px}label{font-size:14px}input,select,textarea{font-size:16px}.button{min-height:53px;padding:0 28px;background:linear-gradient(135deg,#7b294b,var(--wine));box-shadow:0 10px 25px #641f3d2b;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover{box-shadow:0 14px 30px #641f3d38}.cards article,.result-card{border:1px solid #eadeda;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.cards article:hover,.result-card:hover{transform:translateY(-5px);border-color:#dcb8b9;box-shadow:0 20px 45px #6b273018}.hero-art{background:radial-gradient(circle at 72% 20%,#f9ddd5 0 10%,transparent 32%),linear-gradient(145deg,#efcbc8,#b95e70 72%,#874057)}.results{background:linear-gradient(180deg,var(--cream),#fbf0eb)}.booking{background:linear-gradient(135deg,#f8ebe7,#f3deda)}
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}
    .promotion-strip{padding-top:52px;padding-bottom:52px;background:var(--dark);color:white;display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:center}.promotion-strip[hidden]{display:none}.promotion-strip .eyebrow{color:#efbdc0}.promotion-strip h2{font-size:clamp(38px,4.5vw,62px);margin-bottom:0}.promotion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.promotion-list article{position:relative;padding:24px;border:1px solid #ffffff26;border-radius:18px;background:#ffffff0d}.promotion-list span{color:#efbdc0;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.promotion-list h3{font:29px Georgia,serif;margin:13px 0 8px}.promotion-list p{color:#f4dedf;margin:0;line-height:1.5}.promotion-list strong{display:block;color:white;font-size:21px;margin-top:16px}.reviews-section{background:white}.reviews-carousel{position:relative;margin-top:46px}.review-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.review-track::-webkit-scrollbar{display:none}.review-track article{flex:0 0 calc(50% - 9px);min-height:250px;padding:32px;border:1px solid #eadeda;border-radius:20px;background:linear-gradient(145deg,#fff,#fff8f5);scroll-snap-align:start;display:flex;flex-direction:column}.review-stars{color:#bd6b40;letter-spacing:.12em}.review-track blockquote{margin:28px 0 22px;font:italic 25px/1.45 Georgia,serif}.review-track article>strong{color:var(--wine);margin-top:auto}.reviews-carousel .review-prev{left:-24px}.reviews-carousel .review-next{right:-24px}.location-section{display:grid;grid-template-columns:1fr .8fr;gap:clamp(35px,8vw,120px);align-items:center;background:var(--cream)}.location-section h2{font-size:clamp(44px,5vw,70px)}.location-section>div>p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.6}.location-card{min-height:310px;padding:40px;border-radius:190px 190px 24px 24px;background:linear-gradient(145deg,#d89499,#7a294a);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 25px 70px #641f3d28}.location-card span{font-size:64px}.location-card strong{font:38px Georgia,serif;margin:14px 0}.location-card small{font-size:14px}.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:10;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 17px;border-radius:99px;background:#168a4b;color:white;box-shadow:0 12px 35px #0a5c313f;font-size:13px;font-weight:900;transition:transform .2s ease}.whatsapp-float[hidden]{display:none}.whatsapp-float:hover{transform:translateY(-3px)}.whatsapp-float strong{width:40px;height:40px;border-radius:50%;background:#ffffff20;display:grid;place-items:center;font-size:21px}.client-appointment-actions{display:flex;gap:8px;align-items:center}.danger-button{border:1px solid #d8a7a7;background:#fff6f4;color:#a12332;border-radius:99px;padding:10px 15px;cursor:pointer;font-weight:800}.reschedule-form{grid-column:1/-1;padding:20px;margin-top:4px;border:1px solid #eadeda;box-shadow:none;background:#fffaf7}.reschedule-form .button{margin-top:0}.report-month{min-width:210px;margin:0}.report-metrics strong{font-size:clamp(27px,3vw,43px)}
    @media(max-width:820px){.hero,.booking{grid-template-columns:1fr}.hero-art{min-height:550px}.cards{grid-template-columns:1fr 1fr}.cards article:nth-child(2){border-right:0}.booking-copy{padding-bottom:15px}}
    @media(max-width:820px){.gallery,.section-intro{grid-template-columns:1fr}.results-carousel .gallery>.result-card{flex-basis:100%}.welcome-row,.panel-heading{align-items:flex-start;flex-direction:column}.appointment{grid-template-columns:1fr}}
    @media(max-width:820px){.promotion-strip,.location-section{grid-template-columns:1fr}.promotion-list{grid-template-columns:1fr 1fr}.review-track article{flex-basis:78%}.client-appointment-actions{align-items:stretch;flex-direction:column}.client-appointment-actions button{width:100%;min-height:44px}}
    @media(max-width:980px){.metric-grid{grid-template-columns:repeat(3,1fr)}.analytics-columns{grid-template-columns:1fr}}
    @media(max-width:1100px){.hours-day{grid-template-columns:1fr}.hours-day-fields{grid-template-columns:repeat(3,1fr)}}
    @media(max-width:520px){nav>a:not(.outline){display:none}.hero-copy{padding-top:115px}.hero-art{min-height:470px}.cards{grid-template-columns:1fr}.cards article{border-right:0;border-bottom:1px solid #eadeda}.form-row{grid-template-columns:1fr}footer{flex-direction:column}.gallery{grid-template-columns:1fr}.manage-card{align-items:flex-start;flex-direction:column}.section{padding-top:72px;padding-bottom:72px}}
    @media(max-width:600px){
      html{scroll-padding-top:68px}
      body{overflow-x:hidden;-webkit-font-smoothing:antialiased}
      .topbar{position:fixed;height:66px;padding:0 16px;background:#fffaf4ed;border-bottom:1px solid #eadeda;backdrop-filter:blur(12px)}
      .brand{font-size:17px;gap:8px}.brand span{width:34px;height:34px}
      nav{gap:8px}nav .outline{min-height:42px;display:inline-flex;align-items:center;padding:0 14px;font-size:0}nav .outline::after{content:'Minha agenda';font-size:12px}
      .hero{display:flex;min-height:0;flex-direction:column;padding-top:66px}
      .hero-copy{min-height:535px;padding:66px 20px 48px;justify-content:center}
      h1{font-size:clamp(50px,15.3vw,64px);line-height:.94;margin:15px 0 22px}
      .hero-copy>p:not(.eyebrow),.booking-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;margin-top:0}
      .eyebrow{font-size:10px;line-height:1.5;letter-spacing:.17em;margin-bottom:12px}
      .hero .button{width:100%;margin-top:16px}
      .hero-art{min-height:360px}.arch{width:64%;max-width:245px;border-radius:150px 150px 22px 22px}.arch span{width:88px;height:88px;font-size:54px}.arch p{font-size:19px}
      .section{padding:64px 18px}.services h2,.booking h2,.section-intro h2{font-size:43px;line-height:1.02;margin:14px 0 22px}
      .cards{margin-top:32px;border:0;gap:12px}.cards article{min-height:210px;padding:24px;border:1px solid #eadeda!important;border-radius:16px}.cards h3{margin-top:24px;font-size:27px}
      .section-intro{gap:4px}.section-intro>p{font-size:15px;line-height:1.6}.results-carousel{margin-top:28px}.gallery{gap:14px}.carousel-button{top:42%;width:42px;height:42px;font-size:32px}.carousel-prev{left:-8px}.carousel-next{right:-8px}.carousel-dots{margin-top:16px}.result-card{padding:10px;border-radius:15px}.photo-pair{gap:6px}.photo-pair figure{border-radius:10px}.result-card h3{font-size:24px;margin-top:15px}
      .booking{gap:24px}.hours{margin-top:24px;font-size:14px}.booking form{padding:22px 16px;border-radius:17px;margin:0 -2px}
      input,select,textarea{font-size:16px;min-height:48px;padding:12px}textarea{min-height:92px}.booking form .button,.compact-form .button,.login-form .button,#client-login .button{width:100%}
      label{font-size:12px;margin-bottom:15px}.message{line-height:1.5}.message a{display:block;margin-top:8px;text-decoration:underline}
      footer{padding:32px 18px;align-items:flex-start;line-height:1.6}
      .portal-main{padding:106px 16px 60px}.portal-main>h1{font-size:50px;line-height:.98}.panel{padding:22px 16px;border-radius:16px}.panel h3{font-size:27px}
      .welcome-row,.panel-heading{gap:12px;margin:28px 0}.welcome-row h2,.panel-heading h2{font-size:40px}.welcome-row .button{width:100%}
      .tabs{position:sticky;top:66px;z-index:3;margin:28px -16px 20px;padding:10px 16px;background:#f7e9e5f2;backdrop-filter:blur(10px)}.tabs button{min-height:42px;padding:9px 15px}
      .appointment{padding:18px 15px;border-radius:13px;gap:14px}.appointment h3{font-size:23px}.appointment p{font-size:14px;line-height:1.45;overflow-wrap:anywhere}.admin-controls,.admin-controls select{width:100%}
      .compact-form{margin-left:0;margin-right:0}.management-grid{gap:10px}.manage-card{padding:17px 15px;border-radius:13px}.manage-card>div:last-child,.card-actions{width:100%}.manage-card button,.card-actions button{flex:1;min-height:42px}
      .client-search{max-width:none}.client-card{grid-template-columns:1fr;padding:18px 15px;gap:17px}.client-code-actions{flex-direction:column}.client-code-actions button{width:100%;min-height:44px}.reset-result{grid-column:auto}.client-stats{font-size:12px;line-height:1.5}
      .promotion-strip{padding-top:45px;padding-bottom:45px;gap:25px}.promotion-strip h2{font-size:40px}.promotion-list{grid-template-columns:1fr}.promotion-list article{padding:20px}.review-track{gap:12px}.review-track article{flex-basis:92%;min-height:235px;padding:24px}.review-track blockquote{font-size:22px}.reviews-carousel .review-prev{left:-8px}.reviews-carousel .review-next{right:-8px}.location-section{gap:28px}.location-card{min-height:260px}.whatsapp-float{right:14px;bottom:14px}.whatsapp-float span{display:none}.whatsapp-float{padding:7px}.reschedule-form{padding:16px 12px}.report-month{width:100%;min-width:0}.report-metrics{grid-template-columns:1fr 1fr}
      .metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-grid article{min-height:112px;padding:16px}.metric-grid article:last-child{grid-column:1/-1}.metric-grid strong{font-size:37px}.analytics-columns .panel,.access-log-panel{padding:20px 15px}.access-log-heading{align-items:flex-start;flex-direction:column}.access-table-wrap{margin-left:-15px;margin-right:-15px}.hero-copy>p:not(.eyebrow),.booking-copy>p:not(.eyebrow){font-size:17px}.section-intro>p,.result-card>p,.cards p{font-size:16px}label{font-size:13px}
      .overview-metrics{grid-template-columns:1fr 1fr}.overview-metrics article:last-child{grid-column:auto}.hours-day{padding:17px 14px}.hours-day-fields{grid-template-columns:1fr 1fr}.hours-day-fields label:last-child{grid-column:1/-1}.audit-list article{flex-direction:column;gap:8px}.hero-actions{width:100%;flex-direction:column;align-items:stretch}.hero-actions .button,.hero-actions .secondary-button{width:100%;justify-content:center}.attendance{display:flex;width:max-content;margin:7px 0 0}.privacy-content h2{font-size:25px}
      input[type=file]{padding:10px 6px;font-size:13px}.management-gallery{gap:14px}
    }
    
    /* Fluxo de conta e dashboard da cliente */
    [hidden]{display:none!important}
    .site-nav .client-link{gap:9px;padding-right:16px;padding-left:10px}
    .client-link-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:#7a294a;font-size:17px}
    .auth-switch{margin:25px 0 0;text-align:center;color:#725e66;font-size:15px}.auth-switch a{color:#721e40;font-weight:900;text-decoration:underline;text-underline-offset:3px}
    .google-registration{display:grid}
    .booking-consent{display:grid!important;grid-template-columns:19px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;width:100%}
    .booking-consent>input{grid-column:1;width:19px!important;height:19px!important;min-height:19px!important;max-height:19px!important;align-self:start!important;margin:2px 0 0!important;padding:0!important}
    .booking-consent>span{grid-column:2;min-width:0;line-height:1.5}
    .review-total{display:inline-flex;margin-top:15px;padding:9px 14px;border-radius:99px;color:#fff;background:#772442;font-size:13px}
    
    .agenda-page{min-height:100vh;background:#f5f2f1}
    .client-dashboard-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}
    .client-sidebar{position:sticky;top:0;z-index:20;height:100vh;padding:24px 17px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#55142f,#350b1d);box-shadow:12px 0 35px #43112618}
    .sidebar-client-brand{display:flex;align-items:center;gap:12px;padding:4px 7px 22px;border-bottom:1px solid #ffffff20}.sidebar-client-brand img{width:46px;height:46px;border-radius:13px;object-fit:cover}.sidebar-client-brand>span{display:flex;flex-direction:column}.sidebar-client-brand strong{font:700 20px Georgia,serif}.sidebar-client-brand small{margin-top:3px;color:#edcbd4;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
    .client-sidebar-label{margin:25px 12px 9px;color:#d9aeba;font-size:10px;font-weight:900;letter-spacing:.16em}
    .client-dashboard-nav{display:grid;gap:5px}.client-dashboard-nav button{display:flex;align-items:center;gap:11px;min-height:48px;padding:10px 12px;border:0;border-radius:11px;color:#f8eaf0;background:transparent;text-align:left;font-size:15px;font-weight:800;cursor:pointer}.client-dashboard-nav button span{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:#ffffff12;font-size:18px}.client-dashboard-nav button.active{color:#50152d;background:#fff8f6;box-shadow:0 10px 26px #1d061126}.client-dashboard-nav button.active span{color:#fff;background:#883653}
    .client-sidebar-footer{display:flex;flex-direction:column;gap:11px;margin-top:auto;padding:20px 10px 2px;border-top:1px solid #ffffff20;font-size:13px}.client-sidebar-footer .text-button{color:#fff;text-align:left;text-decoration:none}
    .client-dashboard-main{min-width:0;background:#f7f4f3}.client-dashboard-topbar{position:sticky;top:0;z-index:12;min-height:78px;padding:12px clamp(20px,3vw,42px);display:flex;align-items:center;border-bottom:1px solid #e8ddda;background:#fffdfcf2;backdrop-filter:blur(14px)}.client-dashboard-topbar>div{display:flex;flex:1;flex-direction:column;gap:3px}.client-dashboard-topbar small{color:#8b747c;font-size:10px;font-weight:900;letter-spacing:.12em}.client-dashboard-topbar strong{color:#381823;font:700 22px Georgia,serif}.client-avatar{display:grid;width:46px;height:46px;place-items:center;border:0;border-radius:50%;color:#fff;background:linear-gradient(145deg,#a04b68,#5c1632);font:700 19px Georgia,serif;box-shadow:0 8px 20px #57152e30;cursor:pointer}.client-menu-toggle,.client-dashboard-overlay{display:none}
    .client-dashboard-content{width:100%;max-width:1450px;margin:auto;padding:clamp(26px,3.5vw,50px)}.client-view{display:none}.client-view.active{display:block}.client-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.client-welcome h1{margin:8px 0 8px;color:#35141f;font-size:clamp(42px,5vw,68px)}.client-welcome p:not(.eyebrow){margin:0;color:#76636a;font-size:16px}.client-welcome .button{margin:0}
    .client-appointment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.client-appointment-grid .appointment{min-width:0;align-content:start;border-left:0;border-top:5px solid #2f8b5d;box-shadow:0 12px 35px #4311260d}.client-appointment-grid .appointment.canceled{border-top-color:#a12332}.client-appointment-grid .appointment.completed{border-top-color:#817278}.empty-dashboard{grid-column:1/-1;min-height:320px;padding:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #dacac6;border-radius:18px;background:#fff;text-align:center}.empty-dashboard>span{font-size:46px;color:#9e7d88}.empty-dashboard h3{margin:14px 0 5px;font:700 30px Georgia,serif}.empty-dashboard p{color:#7a6870}.empty-dashboard .button{margin-top:14px}
    .notification-enabled{display:inline-flex;margin:0 0 18px;padding:8px 12px;border-radius:9px;background:#eaf7ef;color:#17663a}
    .profile-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:18px}.client-profile-form{margin:0}.client-profile-form h2{margin:0 0 24px;font:700 30px Georgia,serif}.client-profile-form>p{color:#75636a;line-height:1.55}.client-profile-form .button{margin-top:5px}.client-profile-form input[readonly]{color:#7f7075;background:#f3efed}.profile-security-stack{display:grid;gap:18px;align-content:start}.google-link-card{display:grid;gap:12px;margin:0}.google-linked-card{display:flex;align-items:center;gap:14px}.google-linked-card>span{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;color:#fff;background:#218855;font-weight:900}.google-linked-card p{margin:4px 0 0;color:#75636a}.agenda-page .danger-zone{margin-top:20px;background:#fff}
    .appointment-review-area{grid-column:1/-1;margin-top:8px;padding-top:17px;border-top:1px solid #eadeda}.client-review-form{padding:18px;border-radius:13px;background:#fff8f5;box-shadow:none}.client-review-form>strong{font:700 22px Georgia,serif}.client-review-form>p{margin:6px 0 14px;color:#76636a}.client-review-form textarea{margin:12px 0 0}.star-rating{display:flex;flex-wrap:wrap;gap:7px}.star-rating button{min-height:38px;padding:7px 11px;border:1px solid #d9c5c1;border-radius:9px;color:#752342;background:#fff;cursor:pointer;font-weight:800}.star-rating button.selected{border-color:#7a294a;color:#fff;background:#7a294a}.review-sent{color:#17663a;font-weight:900}.appointment-review-area>div>p{margin:5px 0;color:#75636a}
    .review-moderation{align-items:flex-start}.review-moderation>div:last-child{justify-content:flex-end}.review-status{display:inline-flex;margin-bottom:9px;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:900;text-transform:uppercase}.review-status.pending{color:#885e05;background:#fff0c9}.review-status.approved{color:#17663a;background:#e6f6ec}.review-status.rejected{color:#a12332;background:#fde7e5}
    
    @media(max-width:980px){.client-appointment-grid{grid-template-columns:1fr}.profile-dashboard-grid{grid-template-columns:1fr}}
    @media(max-width:820px){
      .client-dashboard-shell{display:block}.client-sidebar{position:fixed;inset:0 auto 0 0;width:min(84vw,300px);height:100dvh;transform:translateX(-105%);transition:transform .22s ease}.client-dashboard-shell.menu-open .client-sidebar{transform:translateX(0)}.client-dashboard-overlay{position:fixed;inset:0;z-index:19;display:block;border:0;background:#26101988;opacity:0;pointer-events:none;transition:opacity .22s ease}.client-dashboard-shell.menu-open .client-dashboard-overlay{opacity:1;pointer-events:auto}.client-dashboard-topbar{min-height:69px;padding:10px 14px}.client-menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-right:11px;border:1px solid #dfd1ce;border-radius:11px;background:#fff}.client-menu-toggle i{width:20px;height:2px;border-radius:2px;background:#641f3d}.client-dashboard-content{padding:25px 14px 48px}.client-welcome{align-items:flex-start;flex-direction:column}.client-welcome .button{width:100%}.client-welcome h1{font-size:clamp(39px,11vw,52px)}.client-appointment-grid{grid-template-columns:1fr}.profile-dashboard-grid{grid-template-columns:1fr}.client-profile-form{padding:22px 16px}.empty-dashboard{min-height:270px;padding:30px 18px}
    }
    @media(max-width:370px){.hero-copy{min-height:500px}h1{font-size:47px}.brand{font-size:15px}nav .outline{padding:0 11px}nav .outline::after{content:'Agenda'}.section{padding-left:14px;padding-right:14px}.portal-main{padding-left:12px;padding-right:12px}.tabs{margin-left:-12px;margin-right:-12px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.cards article,.result-card,.reveal{transition:none}.reveal{opacity:1;transform:none}}
    
    /* Painel administrativo em formato de dashboard */
    .admin-page{background:#f5f2f1;color:#291820}.admin-page.admin-authenticated{background:#f7f5f4}.admin-page.admin-authenticated .admin-public-header,.admin-page.admin-authenticated .admin-login-copy,.admin-page.admin-authenticated #login-form{display:none}.admin-page.admin-authenticated .admin-portal-main{padding:0;min-height:100vh}.admin-dashboard[hidden]{display:none!important}.admin-dashboard{display:grid;grid-template-columns:282px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;z-index:20;display:flex;min-width:0;flex-direction:column;padding:24px 18px 18px;overflow-y:auto;color:#fff;background:linear-gradient(180deg,#54162f 0%,#39101f 100%);box-shadow:12px 0 36px #43112614}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px;border-bottom:1px solid #ffffff1c}.sidebar-brand>span{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border:1px solid #ffffff70;border-radius:50%;font:italic 25px Georgia,serif}.sidebar-brand>div{display:flex;min-width:0;flex-direction:column;gap:2px}.sidebar-brand strong{font:700 19px Georgia,serif}.sidebar-brand small{color:#eacbd2;font-size:11px}.sidebar-label{margin:24px 12px 8px;color:#d9aeb9;font-size:10px;font-weight:900;letter-spacing:.16em}.admin-page .admin-sidebar .tabs{position:static;display:flex;flex:1;flex-direction:column;gap:4px;margin:0;padding:0;overflow:visible;background:none;backdrop-filter:none}.admin-page .admin-sidebar .tabs button{display:flex;align-items:center;width:100%;min-height:45px;padding:10px 12px;border:0;border-radius:11px;color:#f7e9ed;background:transparent;text-align:left;font-size:14px;font-weight:700;white-space:normal;transition:background .18s ease,color .18s ease,transform .18s ease}.admin-page .admin-sidebar .tabs button::before{content:attr(data-icon);display:grid;width:27px;height:27px;flex:0 0 27px;margin-right:10px;place-items:center;border-radius:8px;color:#edbdc8;background:#ffffff10;font-size:17px}.admin-page .admin-sidebar .tabs button:hover{background:#ffffff12;transform:translateX(2px)}.admin-page .admin-sidebar .tabs button.active{color:#4b142b;background:#fff7f5;box-shadow:0 9px 24px #1f09132c}.admin-page .admin-sidebar .tabs button.active::before{color:#fff;background:#8a3655}.admin-page .dashboard-session{align-items:stretch;flex-direction:column;gap:9px;margin-top:18px;padding:18px 10px 4px;border-top:1px solid #ffffff1c;color:#e7cbd2;font-size:11px}.admin-page .dashboard-session span::before{color:#60dc9c}.sidebar-logout{min-height:41px;padding:9px 12px;border:1px solid #ffffff2e;border-radius:10px;color:#fff;background:#ffffff0b;text-align:left;font-weight:800;cursor:pointer}.sidebar-logout:hover{background:#ffffff18}.dashboard-workspace{min-width:0;background:#f7f5f4}.dashboard-toolbar{position:sticky;top:0;z-index:12;display:flex;align-items:center;min-height:82px;padding:13px clamp(24px,3.2vw,48px);border-bottom:1px solid #e8dedb;background:#fffdfcf2;box-shadow:0 5px 22px #43112608;backdrop-filter:blur(14px)}.toolbar-heading{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.toolbar-heading span{color:#806b73;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.toolbar-heading strong{overflow:hidden;color:#321923;font:700 23px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.dashboard-site-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid #ddcfcc;border-radius:10px;color:#5d1b37;background:white;font-size:13px;font-weight:800}.dashboard-site-link span{font-size:17px}.dashboard-site-link:hover{border-color:#9c6177;background:#fff8f6}.menu-toggle,.dashboard-overlay{display:none}.dashboard-view{width:100%;max-width:1540px;margin:0 auto;padding:clamp(28px,3.2vw,48px)}.admin-page .tab-panel{min-width:0}.admin-page .tab-panel.active{display:block}.admin-page .panel-heading{align-items:flex-start;margin:0 0 25px}.admin-page .panel-heading h2{margin:5px 0 0;color:#321923;font-size:clamp(36px,3.6vw,50px);line-height:1.02}.admin-page .panel-heading p:not(.eyebrow){max-width:720px;margin:10px 0 0;color:#715e66;font-size:15px;line-height:1.65}.admin-page .eyebrow{margin:0;color:#8c3657;font-size:11px}.admin-page .panel{border:1px solid #eadfdb;border-radius:16px;box-shadow:0 10px 34px #4311260b}.admin-page form.panel{box-shadow:0 10px 34px #4311260b}.admin-page .compact-form{max-width:880px}.admin-page .metric-grid{gap:14px}.admin-page .metric-grid article{min-height:128px;padding:20px;border-color:#e8deda;border-radius:15px;background:#fff;box-shadow:0 8px 26px #43112608}.admin-page .metric-grid span{color:#705d65;font-size:13px}.admin-page .metric-grid strong{color:#722744;font-size:40px}.admin-page .next-client-card{background:linear-gradient(135deg,#fff,#fff5f2)}.admin-page .appointment,.admin-page .client-card,.admin-page .manage-card,.admin-page .audit-list article{border:1px solid #eadfdb;box-shadow:0 7px 24px #43112608}.admin-page input,.admin-page select,.admin-page textarea{border-color:#d8cac7;background:#fff;font-size:16px}.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{border-color:#7a294a;box-shadow:0 0 0 3px #7a294a1c}.admin-page label{color:#4a343d;font-size:13px;line-height:1.4}.admin-page .secondary-button,.admin-page .manage-card button,.admin-page .card-actions button{min-height:42px;border-radius:10px}.admin-page .button{border-radius:10px}.admin-page .access-table-wrap{border:1px solid #eee3df;border-radius:12px}.admin-page .access-table-wrap th{background:#fbf7f5}.admin-page .access-table-wrap tr:last-child td{border-bottom:0}
    @media(max-width:700px){.google-signin>div{max-width:100%}.google-link-card{align-items:flex-start;flex-direction:column}.google-link-card .google-signin{width:100%}.client-contact-actions .secondary-button,.client-contact-actions .whatsapp-button{flex:1 1 145px}.copy-feedback{flex-basis:100%}.post-booking-guide{padding:20px 16px}.post-booking-guide ol{grid-template-columns:1fr}.post-booking-guide li{padding-left:31px}}
    
    /* Localização simples, sem o cartão decorativo */
    .location-section-simple{display:block;text-align:center}.location-section-simple>div{max-width:820px;margin:auto}.location-section-simple>div>p:not(.eyebrow){margin:0 auto 8px}.location-section-simple .button{margin-top:24px}.maps-button{gap:10px}.maps-button-icon{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#ffffff1b;font-size:19px;line-height:1}
    
    @media(max-width:820px){
      .admin-page.admin-authenticated{overflow-x:hidden}.admin-dashboard{display:block}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,315px);height:100dvh;padding:20px 16px 16px;transform:translateX(-105%);transition:transform .24s ease;box-shadow:18px 0 48px #25071355}.admin-dashboard.menu-open .admin-sidebar{transform:translateX(0)}.dashboard-overlay{position:fixed;inset:0;z-index:19;display:block;border:0;background:#2410198c;opacity:0;pointer-events:none;transition:opacity .24s ease}.admin-dashboard.menu-open .dashboard-overlay{opacity:1;pointer-events:auto}.dashboard-workspace{min-height:100vh}.dashboard-toolbar{min-height:70px;padding:10px 14px}.menu-toggle{display:flex;width:44px;height:44px;flex:0 0 44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-right:11px;border:1px solid #e1d3d0;border-radius:11px;background:#fff;color:#5c1b36;cursor:pointer}.menu-toggle i{display:block;width:20px;height:2px;border-radius:2px;background:currentColor}.toolbar-heading span{font-size:9px}.toolbar-heading strong{font-size:19px}.dashboard-site-link{min-height:42px;padding:0 12px;font-size:0}.dashboard-site-link span{font-size:20px}.dashboard-view{padding:24px 15px 52px}.admin-page .panel-heading{gap:15px;margin-bottom:21px}.admin-page .panel-heading h2{font-size:clamp(31px,9.2vw,39px);line-height:1.04}.admin-page .panel-heading p:not(.eyebrow){font-size:15px;line-height:1.6}.admin-page .panel-heading>.secondary-button{width:100%;min-height:45px}.admin-page .metric-grid{grid-template-columns:1fr 1fr;gap:10px}.admin-page .metric-grid article{min-height:110px;padding:15px}.admin-page .metric-grid article:last-child{grid-column:auto}.admin-page .metric-grid span{font-size:12px}.admin-page .metric-grid strong{font-size:33px}.admin-page .panel{padding:20px 15px}.admin-page .panel h3{font-size:25px}.admin-page .compact-form{max-width:none}.admin-page .access-table-wrap{margin-right:-15px;margin-left:-15px;border-right:0;border-left:0;border-radius:0}.admin-page .appointment-list{margin-top:20px}.admin-page .appointment,.admin-page .client-card,.admin-page .manage-card{padding:17px 14px}.admin-page .hours-day-fields{gap:9px}.admin-page .report-month{width:100%}.location-section-simple{padding-right:20px;padding-left:20px}.location-section-simple .button{width:100%;max-width:320px}
    }
    @media(max-width:390px){.dashboard-view{padding-right:12px;padding-left:12px}.admin-page .metric-grid{grid-template-columns:1fr}.admin-page .overview-metrics article:last-child,.admin-page .report-metrics article:last-child{grid-column:auto}.admin-page .metric-grid article{min-height:98px}.admin-page .metric-grid strong{font-size:31px}.toolbar-heading span{display:none}.admin-page .hours-day-fields{grid-template-columns:1fr}.admin-page .hours-day-fields label:last-child{grid-column:auto}}
    @media(prefers-reduced-motion:reduce){.admin-sidebar,.dashboard-overlay,.admin-page .admin-sidebar .tabs button{transition:none}}
    
    /* Tipografia ampliada do painel */
    .admin-page .dashboard-workspace{font-size:17px;line-height:1.55}.sidebar-brand small{font-size:13px}.sidebar-label{font-size:12px}.admin-page .admin-sidebar .tabs button{font-size:16px}.admin-page .dashboard-session{font-size:13px}.sidebar-logout{font-size:14px}.toolbar-heading span{font-size:12px}.toolbar-heading strong{font-size:27px}.dashboard-site-link{font-size:15px}.admin-page .panel-heading p:not(.eyebrow){font-size:17px}.admin-page .eyebrow{font-size:12px}.admin-page .metric-grid span{font-size:15px}.admin-page .metric-grid strong{font-size:44px}.admin-page label{font-size:15px}.admin-page .button,.admin-page .secondary-button,.admin-page .manage-card button,.admin-page .card-actions button,.admin-page .confirm-button,.admin-page .danger-button{font-size:15px}.admin-page .appointment h3,.admin-page .client-card h3{font-size:29px}.admin-page .appointment p,.admin-page .manage-card p{font-size:16px;line-height:1.55}.admin-page .client-stats{font-size:15px}.admin-page .message{font-size:15px}.admin-page .access-table-wrap table{font-size:15px}.admin-page .access-table-wrap th{font-size:12px}.admin-page .rank-list code{font-size:16px}.admin-page .rank-list strong{font-size:14px}.admin-page .active-list small{font-size:14px;line-height:1.5}.admin-page .audit-list small,.admin-page .audit-list time{font-size:14px}.admin-page .status{font-size:12px}.admin-page .attendance{font-size:12px}
    @media(max-width:820px){.admin-page .dashboard-workspace{font-size:16.5px}.admin-page .admin-sidebar .tabs button{font-size:16px}.toolbar-heading strong{font-size:22px}.admin-page .panel-heading h2{font-size:clamp(34px,10vw,42px)}.admin-page .panel-heading p:not(.eyebrow){font-size:16px}.admin-page .eyebrow{font-size:11px}.admin-page .metric-grid span{font-size:14px}.admin-page .metric-grid strong{font-size:36px}.admin-page label{font-size:14px}.admin-page .appointment p,.admin-page .manage-card p{font-size:16px}.admin-page .client-stats{font-size:14px}.admin-page .access-table-wrap table{font-size:14px}}
    
    /* Logo oficial na landing page */
    .brand-logo{display:block;width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:0 6px 18px #43112625}.hero-art .arch .hero-logo{display:block;width:120px!important;max-width:34%;height:auto;border-radius:20px;box-shadow:0 16px 35px #16050d60}.hero-art .arch{gap:16px}.hero-art .arch p{margin:0}
    @media(max-width:600px){.brand-logo{width:38px;height:38px;border-radius:10px}.hero-art .arch .hero-logo{width:92px!important;max-width:38%;border-radius:16px}.hero-art .arch{gap:13px}.hero-art .arch p{margin:0;font-size:18px}}
    
    /* Login e cadastro da cliente */
    .client-page{min-height:100vh;background:#f8f0ed;color:#2d1921}
    .client-topbar{position:fixed;z-index:30;border-bottom:1px solid #eadbd6;background:#fffaf7ed;backdrop-filter:blur(14px)}
    .client-brand{display:flex;align-items:center;gap:11px;color:#641f3d}
    .client-brand img{display:block;width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:0 7px 18px #43112622}
    .client-brand>span{display:flex;flex-direction:column;line-height:1.05}
    .client-brand strong{font:700 19px Georgia,serif}
    .client-brand small{margin-top:4px;color:#8a747c;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
    .client-shell{width:min(100% - 40px,1180px);min-height:100vh;margin:auto;padding:118px 0 70px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,.72fr);gap:clamp(52px,7vw,100px);align-items:center}
    .client-auth-visual{padding:clamp(20px,4vw,54px)}
    .client-auth-visual h1{max-width:650px;margin:18px 0 28px;color:#4a1028;font:400 clamp(54px,6vw,78px)/.96 Georgia,serif;letter-spacing:-.045em}
    .client-auth-visual>p:not(.eyebrow){max-width:590px;color:#705d64;font-size:18px;line-height:1.7}
    .client-auth-visual ul{display:grid;gap:13px;margin:34px 0 0;padding:0;list-style:none;color:#50343f;font-size:16px;font-weight:700}
    .client-auth-visual li{display:flex;align-items:center;gap:11px}
    .client-auth-visual li::before{content:'✓';display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border-radius:50%;color:#fff;background:#8f3a58;font-size:13px}
    .client-auth-card{min-width:0;padding:clamp(28px,4vw,46px);border:1px solid #e5d6d1;border-radius:25px;background:#fffdfb;box-shadow:0 28px 75px #42102217}
    .client-auth-card h2{margin:10px 0 10px;color:#431025;font:700 42px/1.05 Georgia,serif}
    .auth-intro{margin:0 0 27px;color:#77656b;font-size:16px;line-height:1.6}
    .google-auth-block,.client-code-login{display:grid;min-width:0;gap:0}
    .client-auth-card label{color:#482f39;font-size:14px}
    .client-auth-card label>small{color:#8b777e;font-weight:500}
    .consent-line{align-items:flex-start!important;line-height:1.5}
    .consent-line input{margin-top:3px}
    .consent-line a,.auth-footnote a{color:#741d40;font-weight:800;text-decoration:underline;text-underline-offset:3px}
    .remember-toggle{display:flex!important;flex-direction:row!important;align-items:center!important;gap:11px;margin:4px 0 19px!important;cursor:pointer}
    .remember-toggle>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
    .toggle-track{position:relative;width:46px;height:26px!important;min-height:26px!important;max-height:26px!important;flex:0 0 46px;border:1px solid #cdbcb8;border-radius:99px;background:#e9dfdc;transition:background .18s ease,border-color .18s ease}
    .toggle-track i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #32101c35;transition:transform .18s ease}
    .remember-toggle>input:checked+.toggle-track{border-color:#762544;background:#762544}
    .remember-toggle>input:checked+.toggle-track i{transform:translateX(20px)}
    .remember-toggle>input:focus-visible+.toggle-track{outline:3px solid #76254435;outline-offset:2px}
    .remember-toggle>span:last-child{display:flex;flex-direction:column;line-height:1.25}
    .remember-toggle strong{font-size:14px}
    .remember-toggle small{margin-top:2px;color:#88747b;font-size:11px;font-weight:500}
    .google-signin{width:100%;min-width:0;min-height:44px;display:flex;justify-content:center;overflow:hidden}
    .google-signin>div,.google-signin iframe{max-width:100%!important}
    .google-signin img{width:auto!important;height:auto!important;max-width:none!important}
    .google-signin .S9gUrf-YoZ4jf{width:100%!important;height:44px!important;max-height:44px!important}
    .google-signin [role="button"]{width:100%!important;height:44px!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #747775!important;border-radius:22px!important;background:#fff!important;overflow:hidden!important;cursor:pointer}
    .google-signin .nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;padding:0 18px!important}
    .google-signin .nsm7Bb-HzV7m-LgbsSe-Bz112c,.google-signin .LgbsSe-Bz112c{width:18px!important;height:18px!important;flex:0 0 18px!important}
    .google-signin svg{display:block!important;width:18px!important;height:18px!important}
    .google-signin .nsm7Bb-HzV7m-LgbsSe-BPrWId{display:block!important;color:#3c4043!important;font:600 14px Arial,sans-serif!important;white-space:nowrap!important}
    .google-signin .L6cTce{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
    .auth-divider{display:flex;align-items:center;gap:13px;margin:25px 0;color:#9a858b;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
    .auth-divider::before,.auth-divider::after{content:'';height:1px;flex:1;background:#eadeda}
    .client-code-login .button{width:100%;justify-content:center;margin-top:3px}
    .auth-footnote{margin:24px 0 0;text-align:center;color:#7e6970;font-size:14px}
    .restore-account-dialog{width:min(92vw,520px);padding:0;border:0;border-radius:26px;background:transparent;color:var(--ink)}.restore-account-dialog::backdrop{background:#240816b8;backdrop-filter:blur(5px)}.restore-account-card{padding:clamp(28px,6vw,44px);border:1px solid #ead8d2;border-radius:26px;background:#fffaf7;box-shadow:0 28px 90px #16030e66;text-align:center}.restore-account-icon{display:grid;width:58px;height:58px;margin:0 auto 20px;place-items:center;border-radius:50%;background:#f2dce3;color:#761d40;font-size:30px;font-weight:900}.restore-account-card h2{margin:8px 0 15px;color:#431025;font:700 clamp(31px,7vw,42px)/1.05 Georgia,serif}.restore-account-card>p:not(.eyebrow):not(.message){color:#735f66;line-height:1.65}.restore-account-actions{display:grid;gap:11px;margin-top:25px}.restore-account-actions button{width:100%;justify-content:center}.restore-account-dialog[open]{animation:restore-dialog-in .22s ease-out}@keyframes restore-dialog-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
    .client-dashboard{grid-column:1/-1;min-width:0}
    .client-authenticated .client-auth-visual,.client-authenticated #client-empty{display:none}
    .client-authenticated .client-shell{display:block}
    .hero-image-admin-preview{display:block;width:min(100%,360px);aspect-ratio:4/5;margin:0 0 22px;border:1px solid #e1d3cf;border-radius:18px;object-fit:cover;box-shadow:0 13px 35px #43112618}
    
    @media(max-width:900px){
      .client-shell{grid-template-columns:1fr;gap:30px;padding-top:104px}
      .client-auth-visual{max-width:720px;padding:22px 14px 0}
      .client-auth-visual h1{font-size:clamp(48px,9vw,70px)}
      .client-auth-card{width:min(100%,620px);margin:auto}
    }
    
    @media(max-width:600px){
      .client-topbar{height:68px}
      .client-brand img{width:38px;height:38px;border-radius:10px}
      .client-brand strong{font-size:17px}.client-brand small{font-size:8px}
      .client-shell{width:100%;padding:94px 13px 42px}
      .client-auth-visual{padding:12px 8px 4px}
      .client-auth-visual h1{margin:13px 0 18px;font-size:clamp(43px,13vw,58px)}
      .client-auth-visual>p:not(.eyebrow){font-size:16px;line-height:1.6}
      .client-auth-visual ul{display:none}
      .client-auth-card{padding:25px 17px;border-radius:19px}
      .client-auth-card h2{font-size:36px}
      .auth-intro{font-size:15px}
      .client-auth-card input:not([type="checkbox"]){width:100%;box-sizing:border-box}
      .remember-toggle small{font-size:10px}
      .client-dashboard{padding:0 3px}
      .hero-image-admin-preview{width:100%;max-width:310px}
    }
    

    /* Agendamento em etapas v23 */
    .booking-wizard{max-width:760px;min-height:430px;margin:0 auto;padding:28px;overflow:hidden}
    .booking-progress-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
    .booking-progress-header strong{font-size:14px;color:var(--wine)}
    .booking-progress-header span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
    .booking-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:30px}
    .booking-progress span{height:5px;border-radius:999px;background:#eadbd7;transition:background .2s ease,transform .2s ease}
    .booking-progress span.active{background:var(--wine);transform:scaleY(1.15)}
    .booking-step{display:none;min-height:315px;animation:bookingStepIn .22s ease}
    .booking-step.active{display:flex;flex-direction:column}
    .booking-step-count{margin:0 0 8px;color:var(--wine);font-size:13px;font-weight:900;letter-spacing:.08em}
    .booking-step h2{margin:0 0 24px;font:clamp(30px,5vw,42px) Georgia,serif;color:var(--dark)}
    .booking-step label{display:grid;gap:8px}
    .booking-step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:28px}
    .booking-step-actions-end{justify-content:flex-end}
    .booking-step-actions .button,.booking-step-actions .secondary-button{min-width:130px}
    .booking-mini-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
    .booking-mini-profile>div{display:grid;gap:4px;padding:13px 15px;border:1px solid #ead8d2;border-radius:14px;background:#fffaf7}
    .booking-mini-profile span{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#8a737b}
    .booking-mini-profile strong{color:#431025}
    @keyframes bookingStepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
    @media(max-width:620px){
      .booking-wizard{min-height:460px;padding:21px 16px}
      .booking-step{min-height:355px}
      .booking-step h2{font-size:31px}
      .booking-step-actions{gap:9px}
      .booking-step-actions .button,.booking-step-actions .secondary-button{flex:1;min-width:0;padding-left:14px;padding-right:14px}
      .booking-mini-profile{grid-template-columns:1fr}
    }

    /* Perfil e agendamento v23 */
.booking-confirmation-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px}.booking-confirmation-summary>div{display:grid;gap:4px;padding:14px 16px;border:1px solid #ead8d2;border-radius:16px;background:#fffaf7}.booking-confirmation-summary span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a737b}.booking-confirmation-summary strong{color:#431025}.password-recovery-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0}.password-recovery-card p{margin:5px 0 0;color:#75636a;line-height:1.5}.password-recovery-card .secondary-button{flex:none}.restore-account-actions a.button{text-decoration:none;display:flex;align-items:center;justify-content:center}@media(max-width:620px){.booking-confirmation-summary{grid-template-columns:1fr}.password-recovery-card{align-items:stretch;flex-direction:column}.password-recovery-card .secondary-button{width:100%}}
.profile-completion-notice{display:flex;flex-direction:column;gap:4px;margin:0 0 18px;padding:14px 16px;border:1px solid #dfbd77;border-radius:14px;background:#fff8e8;color:#6d4811}.profile-completion-notice strong{font-size:15px}.profile-completion-notice span{font-size:13px;line-height:1.5}.profile-completion-notice[hidden]{display:none}
    

/* Agenda administrativa por status v29 */
.admin-page .agenda-status-tabs{display:flex;gap:9px;margin:0 0 18px;padding:4px;overflow-x:auto;scrollbar-width:none}
.admin-page .agenda-status-tabs::-webkit-scrollbar{display:none}
.admin-page .agenda-status-tabs button{display:inline-flex;align-items:center;gap:9px;min-height:43px;padding:8px 13px;border:1px solid #dfd2ce;border-radius:11px;background:#fff;color:#5b3a47;font-weight:800;white-space:nowrap;cursor:pointer;transition:.18s ease}
.admin-page .agenda-status-tabs button:hover{border-color:#b78a9a;background:#fff9f7}
.admin-page .agenda-status-tabs button.active{border-color:#6f2543;background:#6f2543;color:#fff;box-shadow:0 7px 20px #641f3d20}
.admin-page .agenda-status-tabs button span{display:grid;min-width:24px;height:24px;padding:0 6px;place-items:center;border-radius:999px;background:#f2e8e5;color:#6f2543;font-size:12px}
.admin-page .agenda-status-tabs button.active span{background:#ffffff22;color:#fff}
.admin-page .agenda-table-panel{overflow:hidden;border:1px solid #e8deda;border-radius:16px;background:#fff;box-shadow:0 9px 30px #43112608}
.admin-page .agenda-table-wrap{width:100%;overflow:auto}
.admin-page .agenda-table{width:100%;min-width:1040px;border-collapse:collapse;font-size:14px}
.admin-page .agenda-table th{padding:13px 16px;border-bottom:1px solid #e9dfdc;background:#fbf7f5;color:#745061;font-size:11px;font-weight:900;letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap}
.admin-page .agenda-table td{padding:16px;border-bottom:1px solid #f0e7e4;color:#3d2931;vertical-align:middle}
.admin-page .agenda-table tr:last-child td{border-bottom:0}
.admin-page .agenda-table tbody tr:hover{background:#fffaf8}
.admin-page .agenda-client,.admin-page .agenda-date{display:flex;min-width:145px;flex-direction:column;gap:3px}
.admin-page .agenda-client strong,.admin-page .agenda-date strong{color:#321923;font-size:15px}
.admin-page .agenda-client small,.admin-page .agenda-date small{color:#806d74;font-size:12px}
.admin-page .agenda-notes{max-width:280px;color:#725f67!important;white-space:normal;overflow-wrap:anywhere}
.admin-page .agenda-status-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.admin-page .agenda-status-pill.pending_confirmation{background:#fff0ca;color:#845b00}
.admin-page .agenda-status-pill.confirmed{background:#e4f5ea;color:#17663a}
.admin-page .agenda-status-pill.completed{background:#ece8eb;color:#5e5258}
.admin-page .agenda-status-pill.canceled{background:#fce8e6;color:#a12332}
.admin-page .agenda-status-select{width:100%;min-width:190px;min-height:42px;margin:0;padding:9px 34px 9px 11px;border-radius:10px;font-size:14px}
.admin-page .agenda-empty{padding:36px 20px;color:#806d74;text-align:center}
@media(max-width:820px){
  .admin-page .agenda-status-tabs{margin-right:-15px;padding-right:15px}
  .admin-page .agenda-table-panel{border-radius:13px}
  .admin-page .agenda-table{min-width:940px;font-size:13px}
  .admin-page .agenda-table th,.admin-page .agenda-table td{padding:13px 12px}
}

/* Central de notificações administrativas v30 */
.admin-notification-center{position:relative;flex:0 0 auto;margin-right:10px}
.admin-notification-button{position:relative;display:grid;width:44px;height:44px;place-items:center;border:1px solid #ddcfcc;border-radius:11px;background:#fff;color:#6f2543;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.admin-notification-button:hover,.admin-notification-button[aria-expanded="true"]{border-color:#9c6177;background:#fff8f6;transform:translateY(-1px)}
.admin-notification-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.admin-notification-button #admin-notification-badge{position:absolute;top:-6px;right:-6px;display:grid;min-width:21px;height:21px;padding:0 5px;place-items:center;border:2px solid #fff;border-radius:999px;background:#7b2045;color:#fff;font-size:10px;font-weight:900;line-height:1}
.admin-notification-popover{position:absolute;top:54px;right:0;z-index:40;width:min(420px,calc(100vw - 28px));overflow:hidden;border:1px solid #e4d6d2;border-radius:16px;background:#fff;box-shadow:0 24px 60px #32131f26}
.admin-notification-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 17px;border-bottom:1px solid #eee4e1;background:#fffaf8}
.admin-notification-heading>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.admin-notification-heading strong{color:#341923;font:700 20px Georgia,serif}
.admin-notification-heading small{color:#816c74;font-size:11px}
.admin-notification-heading button{padding:7px 8px;border:0;background:transparent;color:#7b294a;font-size:11px;font-weight:800;cursor:pointer}
.admin-notification-heading button:disabled{opacity:.45;cursor:default}
.admin-notification-list{max-height:min(480px,65vh);overflow:auto}
.admin-notification-item{position:relative;display:grid;width:100%;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:14px 16px;border:0;border-bottom:1px solid #f0e7e4;background:#fff;text-align:left;cursor:pointer;transition:background .16s ease}
.admin-notification-item:last-child{border-bottom:0}
.admin-notification-item:hover{background:#fff9f7}
.admin-notification-item.unread{background:#fff7f4}
.admin-notification-item.unread::after{content:"";position:absolute;top:12px;right:10px;width:7px;height:7px;border-radius:999px;background:#8a2a4e}
.admin-notification-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;background:#f4e7eb;color:#792a49;font-size:17px;font-weight:900}
.admin-notification-item.review .admin-notification-icon{background:#fff1da;color:#91620c}
.admin-notification-content{display:flex;min-width:0;flex-direction:column;gap:5px}
.admin-notification-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.admin-notification-item-head strong{overflow:hidden;color:#3a202a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.admin-notification-item-head time{flex:0 0 auto;color:#97838b;font-size:10px}
.admin-notification-content small{display:-webkit-box;overflow:hidden;color:#715d65;font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.admin-notification-empty{margin:0;padding:28px 18px;color:#806d74;text-align:center;font-size:13px}
.admin-notification-toast{position:fixed;right:22px;bottom:22px;z-index:80;max-width:340px;padding:13px 16px;border:1px solid #e3d4d0;border-radius:12px;background:#fff;color:#43222f;box-shadow:0 20px 45px #35131f2b;font-size:13px;font-weight:800;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.admin-notification-toast.show{opacity:1;transform:translateY(0)}
@media(max-width:820px){.admin-notification-center{margin-right:7px}.admin-notification-button{width:42px;height:42px}.admin-notification-popover{position:fixed;top:72px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 88px)}.admin-notification-list{max-height:calc(100dvh - 180px)}.admin-notification-heading{padding:14px}.admin-notification-item{padding:13px 14px}.admin-notification-toast{right:12px;bottom:14px;left:12px;max-width:none}}

/* v39 — agenda administrativa, uploads e feedback */
.agenda-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:14px;border:1px solid #eadeda;border-radius:16px;background:#fff}
.agenda-toolbar label{margin:0;min-width:180px}.agenda-toolbar label:first-child{flex:1;min-width:240px}
.agenda-payment{display:flex;flex-direction:column;gap:3px}.agenda-payment strong{font-size:12px;color:#8a5c1b}.agenda-payment.paid strong{color:#17663a}.agenda-payment small{color:var(--muted);white-space:nowrap}
.compact-action{display:inline-flex!important;min-height:34px!important;padding:7px 11px!important;font-size:11px!important;margin:2px}
.admin-appointment-dialog{width:min(860px,calc(100% - 24px));max-height:92vh;padding:0;border:0;border-radius:22px;background:transparent}.admin-appointment-dialog::backdrop,.admin-confirm-dialog::backdrop,.client-confirm-dialog::backdrop{background:#2d1722a8;backdrop-filter:blur(3px)}
.admin-appointment-dialog form{margin:0;max-height:92vh;overflow:auto;padding:28px}.admin-appointment-dialog .form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.upload-preview-row label{display:flex;flex-direction:column}.upload-preview{width:100%;aspect-ratio:4/3;object-fit:cover;margin-top:10px;border-radius:14px;border:1px solid #e4d3ce;background:#f8efec}
.admin-confirm-dialog,.client-confirm-dialog{border:0;border-radius:18px;padding:0;width:min(430px,calc(100% - 28px))}.admin-confirm-dialog>div,.client-confirm-dialog>div{padding:24px;background:white}.admin-confirm-dialog h3,.client-confirm-dialog h3{margin:0 0 10px}.admin-confirm-dialog p,.client-confirm-dialog p{color:var(--muted);line-height:1.55}.admin-confirm-dialog>div>div,.client-confirm-dialog>div>div{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.client-toast{position:fixed;right:20px;bottom:20px;z-index:120;max-width:360px;padding:13px 16px;border-radius:13px;background:#17663a;color:#fff;box-shadow:0 16px 40px #0002;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.client-toast.show{opacity:1;transform:none}.client-toast.error{background:#9d2937}
#deletion-pending-controls{padding:14px;border:1px solid #e0b8b4;border-radius:12px;background:#fff2ed}.google-linked-card .text-button{margin-top:8px}
.report-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
@media(max-width:780px){.agenda-toolbar{align-items:stretch}.agenda-toolbar label,.agenda-toolbar label:first-child{width:100%;min-width:0}.admin-appointment-dialog form{padding:18px}.agenda-table{min-width:820px}}

/* v39 refinamentos de upload e diálogos */
.admin-confirm-dialog form>small{display:block;margin:-6px 0 14px;color:var(--muted);font-size:12px}.admin-confirm-dialog label{display:grid;gap:7px;margin:14px 0}.admin-confirm-dialog input{width:100%}.image-load-error{background:#fff4f2}.image-load-error img{object-fit:contain!important;padding:18px;opacity:.75}

.admin-notification-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-notification-heading-actions button{border:0;background:transparent;color:var(--wine);font-size:11px;font-weight:800;cursor:pointer}.admin-notification-heading-actions button:disabled{opacity:.55;cursor:default}

/* ===== Milena Hair v40 ===== */
.business-metrics{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:-8px}.business-metrics article{min-height:116px}.business-metrics strong{font-size:clamp(25px,2.8vw,38px)}
.agenda-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0}.segmented-control{display:inline-flex;padding:4px;border:1px solid #e4d4cf;border-radius:999px;background:#f8eeea}.segmented-control button{border:0;background:transparent;color:var(--muted);padding:9px 15px;border-radius:999px;font-weight:800;cursor:pointer}.segmented-control button.active{background:var(--wine);color:#fff;box-shadow:0 5px 16px #641f3d24}.calendar-period-controls,.agenda-export-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-period-controls strong{min-width:180px;text-align:center;text-transform:capitalize}.agenda-export-actions a{text-decoration:none}.agenda-row-actions{display:flex;gap:7px;flex-wrap:wrap}.agenda-client code,.appointment-protocol{display:block;width:max-content;margin-top:5px;padding:3px 7px;border-radius:7px;background:#f5ebe7;color:#865066;font:700 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.agenda-table td:nth-child(4) strong,.agenda-table td:nth-child(4) small{display:block}.agenda-table td:nth-child(4) small{margin-top:4px;color:var(--muted);font-size:11px}
.agenda-calendar-view{padding:16px;border:1px solid #eadeda;border-radius:20px;background:#fff}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.calendar-day{min-height:150px;padding:10px;border:1px solid #eee1dc;border-radius:13px;background:#fffaf8;overflow:hidden}.calendar-grid.week .calendar-day{min-height:440px}.calendar-day.today{border-color:#9a4966;box-shadow:inset 0 0 0 1px #9a4966}.calendar-day.outside-month{opacity:.45}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;gap:7px}.calendar-day>header strong{font:700 18px Georgia,serif}.calendar-day>header span{color:var(--muted);font-size:9px;text-align:right}.occupancy-bar{height:4px;margin:8px 0;border-radius:99px;background:#eadeda;overflow:hidden}.occupancy-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9a4966,#c9856c)}.calendar-entries{display:grid;gap:5px}.calendar-appointment,.calendar-more{width:100%;border:0;border-radius:8px;padding:7px;text-align:left;cursor:pointer}.calendar-appointment{background:#f4e2df;color:#4c2534}.calendar-appointment time,.calendar-appointment strong,.calendar-appointment small{display:block}.calendar-appointment time{font-size:10px;font-weight:900;color:#852c4d}.calendar-appointment strong{margin:2px 0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-appointment small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-appointment.completed{background:#e7f4eb}.calendar-appointment.no_show,.calendar-appointment.canceled{background:#f1eeee;opacity:.7}.calendar-more{background:transparent;color:var(--wine);font-weight:800;font-size:10px}.agenda-side-grid,.admin-settings-grid,.client-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.panel-heading.compact{margin-bottom:14px}.panel-heading.compact h3,.panel-heading.compact h2{margin:3px 0}.stack-list{display:grid;gap:9px}.stack-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #eee0dc;border-radius:13px;background:#fffaf8}.stack-item>div:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}.stack-item>div:last-child{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.stack-item span,.stack-item small{color:var(--muted)}.stack-item small{font-size:11px}.input-suffix{display:flex;align-items:center;gap:8px}.input-suffix input{flex:1}.input-suffix span{font-size:12px;color:var(--muted)}.special-hours-card small{display:block;margin-top:5px;color:var(--muted)}
.security-event-summary{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.security-event-summary span{padding:7px 10px;border-radius:999px;background:#f4e7e2;color:#744158;font-size:11px}.security-event-summary strong{color:var(--wine)}
.client-history-dialog{width:min(900px,calc(100vw - 28px));max-height:90vh;border:0;padding:0;border-radius:22px;background:transparent}.client-history-dialog::backdrop{background:#24101699;backdrop-filter:blur(4px)}.client-history-dialog>.panel{max-height:90vh;overflow:auto;margin:0}.compact-metrics{grid-template-columns:repeat(5,1fr)}.compact-metrics article{min-height:96px;padding:15px}.compact-metrics strong{font-size:25px}.history-list{display:grid;gap:8px;margin-top:16px}.history-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;border:1px solid #eee1dd;border-radius:13px;background:#fffaf8}.history-item>div{display:flex;min-width:0;flex-direction:column;gap:3px}.history-item span,.history-item small{color:var(--muted);font-size:12px}.client-account-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.maintenance-settings{padding:16px;border:1px solid #ead8d2;border-radius:15px;background:#fff8f5}.maintenance-settings label{margin-bottom:10px}
.recurrence-admin-fields,.recurrence-client-card{padding:14px;border:1px solid #eadbd6;border-radius:14px;background:#fff8f5}.recurrence-client-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.recurrence-client-card small{grid-column:1/-1;color:var(--muted)}
.client-secondary-grid{margin-top:24px}.client-secondary-grid>.panel{padding:22px}.appointment-utility-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.appointment-utility-actions .text-button{font-size:12px}.appointment-change-locked{display:block;margin-top:10px;color:var(--muted)}.waitlist-join-button{margin-top:8px}.history-status{font-weight:800;color:var(--wine)!important;white-space:nowrap}
.maintenance-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 10%,#f5ded8,#f7efeb 50%,#ecdcd7)}.maintenance-card{width:min(600px,100%);padding:48px;border:1px solid #e0c5bd;border-radius:28px;background:#fffdfa;text-align:center;box-shadow:0 28px 80px #4e203124}.maintenance-mark{display:grid;width:68px;height:68px;margin:0 auto 20px;place-items:center;border-radius:50%;background:var(--wine);color:white;font:42px Georgia,serif}.maintenance-card h1{font-size:clamp(42px,7vw,68px);margin:10px 0}.maintenance-card>p:not(.eyebrow){max-width:450px;margin:0 auto 28px;color:var(--muted);font-size:18px;line-height:1.6}
@media(max-width:1180px){.business-metrics{grid-template-columns:repeat(3,1fr)}.calendar-day{min-height:125px;padding:7px}.calendar-appointment small{display:none}}
@media(max-width:820px){.agenda-side-grid,.admin-settings-grid,.client-secondary-grid{grid-template-columns:1fr}.agenda-view-toolbar{align-items:stretch;flex-direction:column}.calendar-period-controls{justify-content:space-between}.calendar-period-controls strong{min-width:0}.agenda-calendar-view{padding:8px;overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:720px}.calendar-grid.week .calendar-day{min-height:360px}.compact-metrics{grid-template-columns:repeat(2,1fr)}.recurrence-client-card{grid-template-columns:1fr}.recurrence-client-card small{grid-column:auto}}
@media(max-width:560px){.business-metrics{grid-template-columns:repeat(2,1fr)}.agenda-export-actions>a{flex:1;text-align:center}.stack-item,.history-item{align-items:flex-start;flex-direction:column}.stack-item>div:last-child{justify-content:flex-start}.maintenance-card{padding:34px 22px}}

/* v40 final — remarcação por arrastar no calendário */
.calendar-appointment[draggable="true"]{cursor:grab;user-select:none}
.calendar-appointment.dragging{opacity:.45;cursor:grabbing}
.calendar-day.drag-over{border-color:#8a3655!important;background:#fff2f3!important;box-shadow:inset 0 0 0 2px #8a365533,0 8px 26px #641f3d12}
.calendar-day.drag-over .occupancy-bar{opacity:.5}
@media (pointer:coarse){.calendar-appointment[draggable="true"]{cursor:pointer}}

/* v41 — painel lateral único após remoção dos lembretes por WhatsApp */
.agenda-side-grid.single{grid-template-columns:1fr}
