/* Studio Aurora — visual premium 2.0, sem alterar contratos JS. */
:root{--rose:#ab667c;--rose-dark:#754153;--rose-soft:#f3e3e7;--berry:#5b3547;--ink:#302631;--muted:#8a7980;--line:#eadfe0;--shadow:0 18px 55px rgba(79,45,58,.055)}
::selection{background:#f3ccd7;color:#482e3e}
html{scroll-padding-top:90px}
button,select,a,input,textarea{accent-color:var(--rose)}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #d8a7b5!important;outline-offset:2px}
[hidden]{display:none!important}
/* Public storefront: updated editorial spacing and polish */
.site-head{position:sticky!important;top:0!important;z-index:90!important;box-shadow:0 5px 28px #6f4d4d08}
.hero{background:radial-gradient(circle at 8% 14%,#fff9f5 0,transparent 42%),linear-gradient(110deg,#faf0ee,#f1e1dc 85%);border-bottom:1px solid #eadbd7}
.hero h1{letter-spacing:-.055em}
.hero-actions .btn.primary{box-shadow:0 15px 32px rgba(118,57,76,.24)}
.hero-image .photo-main{border:9px solid #fff9f5;box-shadow:0 28px 54px #654a4a1e}
.service{border-radius:22px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service:hover{transform:translateY(-6px);box-shadow:0 24px 40px #805a5a18;border-color:#e6c5cf}
.service img{transition:transform .4s ease}
.service:hover img{transform:scale(1.035)}
.category-tabs button{transition:.2s ease}
.booking-card{box-shadow:0 25px 70px #654a4a10}
.hours button{transition:.18s ease}
.hours button:focus-visible{outline:2px solid #955269}
.public-highlights{padding:0 0 75px;background:linear-gradient(#fffaf8,#fdf5f2)}
.public-highlights .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.highlight-item{background:white;border:1px solid var(--line);padding:22px;border-radius:20px;box-shadow:0 16px 35px #74515b0c;display:flex;align-items:flex-start;gap:14px}
.highlight-symbol{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:13px;background:#f5e5e9;color:#995a72;font-size:21px}
.highlight-item strong{display:block;font-size:14px;margin-bottom:5px}
.highlight-item p{font-size:12px;color:var(--muted);line-height:1.65}
.public-team{padding:85px 0;background:#fffaf8}
.public-team .section-head{margin-bottom:33px}
.team-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.public-team-card{padding:26px 23px;border:1px solid var(--line);border-radius:23px;background:white;display:flex;gap:18px;align-items:flex-start;box-shadow:0 16px 45px #5e48510c}
.public-team-avatar{height:64px;width:64px;flex:none;border-radius:19px;background:linear-gradient(140deg,#eac5d0,#d6a5b4);color:#704054;display:grid;place-items:center;font:600 25px Georgia,serif}
.public-team-card h3{font:500 24px Georgia,serif;margin-bottom:5px}.public-team-card small{font-weight:800;font-size:11px;color:var(--rose);display:block;margin-bottom:12px}
.public-team-card p{font-size:12px;color:var(--muted);line-height:1.6}
.public-faq{background:#fff;border-top:1px solid var(--line);padding:80px 0}
.public-faq-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:60px}
.public-faq h2{font-size:clamp(33px,4vw,50px);line-height:1.2;margin:10px 0}
.public-faq p{color:var(--muted);font-size:14px}
.public-faq details{padding:19px 6px;border-bottom:1px solid var(--line)}
.public-faq summary{font-weight:750;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#523d48}
.public-faq summary:after{content:'+';font-size:23px;color:var(--rose)}
.public-faq details[open] summary:after{content:'−'}
.public-faq details p{padding-top:11px;font-size:12px;line-height:1.8}
.mobile-booking-bar{display:none}
/* Administrative layout */
body:has(.admin-layout){background:#faf7f6}
.admin-layout{grid-template-columns:264px minmax(0,1fr);background:#faf7f6}
.sidebar{background:linear-gradient(170deg,#402f3c 0%,#362831 58%,#2c232c 100%);padding:31px 18px 22px;box-shadow:12px 0 35px #34243109;border-right:1px solid #523949}
.sidebar .brand{padding:8px;margin:0 8px 37px;gap:11px}
.sidebar .brand-mark{border:1px solid #a17f8d;background:linear-gradient(145deg,#735164,#593a50);box-shadow:inset 0 1px 4px #ffffff28;color:#ffe8ee;border-radius:16px}
.sidebar-label{color:#bb9aa7;letter-spacing:.21em;font-size:9px;padding-left:8px;margin-bottom:13px}
.sidebar-nav{gap:5px}
.sidebar-nav button{min-height:47px;font-size:13px;font-weight:650;border-radius:11px;padding:12px 14px;color:#e1d4d9;position:relative;transition:background .18s ease,color .18s ease}
.sidebar-nav button span{width:24px;font-size:18px;text-align:center;color:#dcb7c5}
.sidebar-nav button:hover{background:#ffffff14}
.sidebar-nav button.active{background:linear-gradient(105deg,#b77893,#a5637c);color:#fff;box-shadow:0 6px 20px #26151d26}
.sidebar-nav button.active span{color:#fff}
.sidebar-nav button.active:before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 5px 5px 0;background:#fbe0e7}
.sidebar-bottom{margin-top:auto}
.side-status{display:flex;align-items:center;gap:10px;padding:16px 12px;border-top:1px solid #ffffff1e;color:#fff}
.side-status strong{display:block;font-size:12px}
.side-status small{display:block;color:#d7bac4;font-size:10px;margin-top:2px}
.status-orb{height:9px;width:9px;background:#b1d5b8;border:3px solid #8cb19d30;box-shadow:0 0 0 4px #b5d2bb20;border-radius:50%}
.sidebar-bottom a{border:1px solid #ffffff30;background:#ffffff0a;border-radius:12px;padding:12px}
.workspace{padding:35px clamp(20px,3vw,56px) 72px;max-width:1650px;margin:auto}
.workspace-head{margin-bottom:23px}
.workspace-head h1{font:500 clamp(31px,3.2vw,43px)/1.13 'Playfair Display',Georgia,serif;color:#3e2b39;letter-spacing:-.035em;margin:12px 0 8px}
.workspace-head .eyebrow{color:#a5687b}
.header-demo-label{border:1px solid #e2bec9;background:#fff0f4;border-radius:20px;padding:5px 9px;font-size:9px;letter-spacing:.09em;color:#99576c;margin-left:10px}
.header-dot{padding:0 3px}
.workspace-actions{display:flex;align-items:center;gap:16px}
.header-date{color:#8b7680;font-size:11px;white-space:nowrap;font-weight:700}
.workspace-actions .btn.primary{min-height:44px;border-radius:11px;font-size:12px;box-shadow:0 8px 20px #6d344522}
.demo-notice{display:flex;align-items:center;gap:12px;padding:13px 17px;background:#fff;border:1px solid #e8d9df;border-radius:14px;margin-bottom:26px;box-shadow:0 5px 15px #4d344008}
.demo-notice-mark{width:33px;height:33px;border-radius:10px;background:#f8e7eb;color:#a76b7e;display:grid;place-items:center;flex:none;font-size:20px}
.demo-notice>div:nth-child(2){flex:1;min-width:0}
.demo-notice strong{display:block;font-size:12px;color:#684555}
.demo-notice small{display:block;color:#907781;font-size:11px;line-height:1.5}
.demo-notice-actions{display:flex;gap:14px;align-items:center}
.demo-link{border:none;background:transparent;color:#9d5d73;font-size:11px;font-weight:800;padding:6px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.demo-link.subtle{color:#a99ba1}
.overview-welcome{position:relative;overflow:hidden;border-radius:23px;background:linear-gradient(115deg,#53394c,#795266 62%,#a16f86);padding:32px 39px 36px;color:#fff;margin-bottom:29px;min-height:241px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 22px 46px #713f5822}
.overview-welcome:before{content:'';position:absolute;inset:0;background:radial-gradient(closest-side at 82% 70%,#e2acb55a,transparent),linear-gradient(120deg,transparent 45%,#fff1 100%);pointer-events:none}
.welcome-copy{position:relative;z-index:1;max-width:620px}
.welcome-eyebrow{font-size:9px;font-weight:800;letter-spacing:.2em;color:#f1c9d5}
.overview-welcome h2{font:500 clamp(29px,3vw,43px)/1.2 'Playfair Display',Georgia,serif;margin:12px 0;letter-spacing:-.02em}
.overview-welcome h2 em{color:#f2cdd7;font-weight:500}
.overview-welcome p{font-size:12px;color:#f1dce3;max-width:440px;line-height:1.75}
.welcome-actions{display:flex;gap:10px;margin-top:19px}
.welcome-button{border:1px solid #fff4;background:#fff;color:#72465b;padding:9px 18px;min-height:40px;border-radius:11px;font-size:11px;font-weight:800}
.welcome-button span{margin-left:10px}
.welcome-button.secondary{background:transparent;color:#fff;border-color:#ffffff62}
.welcome-decoration{position:relative;z-index:1;padding-right:45px}
.welcome-seal{width:160px;height:160px;border:1px solid #ffffff55;outline:1px solid #ffffff22;outline-offset:8px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transform:rotate(-8deg)}
.welcome-seal span{font-size:25px;color:#f2cdd7}
.welcome-seal strong{font:500 25px 'Playfair Display',serif;letter-spacing:.1em}
.welcome-seal small{font-size:7px;letter-spacing:.22em;color:#f8dfe8}
.dashboard-section-head,.panel-title-row{display:flex;align-items:end;justify-content:space-between;gap:15px}
.dashboard-section-head{margin:0 0 17px}
.dashboard-section-head h3{font:500 25px 'Playfair Display';margin:6px 0 0;color:#44303c}
.dashboard-period{font-size:11px;font-weight:800;color:#8d7180}
.cards{gap:15px}
.metric{background:white;border:1px solid #eee3e5;box-shadow:0 7px 25px #69475009;padding:21px;border-radius:17px;position:relative;overflow:hidden;min-width:0}
.metric:before{content:'';position:absolute;right:0;top:0;width:60px;height:60px;border-radius:0 0 0 100%;background:#f9eff3}
.metric span,.metric small{position:relative;z-index:1}
.metric span{font-weight:700;font-size:11px;letter-spacing:.01em}
.metric strong{position:relative;z-index:1;font:600 clamp(21px,2.7vw,30px)/1.2 'DM Sans',sans-serif;letter-spacing:-.04em;margin:15px 0 7px;color:#4a3442}
.metric small{color:#a47587}
.overview-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 26px}
.overview-quick button{position:relative;background:#fff;border:1px solid #eee3e5;border-radius:16px;min-width:0;padding:14px 15px;text-align:left;box-shadow:0 4px 14px #65435507;transition:.2s}
.overview-quick button:hover{transform:translateY(-3px);border-color:#deb1c1;box-shadow:0 12px 25px #65435515}
.quick-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#f7e9ef;color:#a96880;margin-bottom:11px;font-size:23px}
.overview-quick strong{display:block;font-size:12px;color:#573d4d}
.overview-quick small{display:block;color:#95828c;font-size:10px;margin-top:3px}
.overview-quick button i{font-size:15px;position:absolute;right:14px;top:18px;color:#ab798b;font-style:normal}
.dashboard-insights{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;margin:0 0 3px}
.panel{border-color:#eee3e5;border-radius:19px;box-shadow:0 6px 25px #66475308;padding:25px}
.panel-title-row{align-items:start}
.panel h2{font:500 26px/1.25 'Playfair Display',Georgia,serif;color:#432e3c;letter-spacing:-.02em}
.panel-action{background:#faf0f3;color:#9b5c71;border:1px solid #f0dce2;border-radius:9px;font-size:10px;font-weight:800;padding:8px 12px;white-space:nowrap}
.week-visual{display:flex;align-items:end;gap:13px;min-height:172px;border-bottom:1px solid #e9e0e3;padding:20px 1px 9px}
.week-col{flex:1;min-width:0;text-align:center}
.week-pair{display:flex;align-items:end;justify-content:center;gap:4px;height:118px}
.week-pair span{display:block;width:min(28px,37%);border-radius:8px 8px 3px 3px;min-height:4px;transition:height .3s}
.week-pair .bar-confirmed{background:linear-gradient(#a56581,#c1879f)}
.week-pair .bar-pending{background:#ecd5dd}
.week-col small{display:block;margin-top:8px;font-size:10px;font-weight:700;color:#8a7c83}
.chart-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:10px;color:#8b7b83}
.legend-dot{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px;vertical-align:middle}
.legend-dot.confirmed{background:#a76d87}.legend-dot.pending{background:#ecd5dd}
.dashboard-alerts{display:grid;gap:10px;margin-top:17px}
.dashboard-alert{padding:12px;border:1px solid #f0e4e8;border-radius:12px;background:#fffafc;display:flex;align-items:center;gap:13px}
.dashboard-alert-icon{height:34px;width:34px;flex:none;border-radius:10px;background:#f2e5ec;color:#9b617b;display:grid;place-items:center;font-size:18px}
.dashboard-alert strong{font-size:12px;display:block;color:#513845}
.dashboard-alert span{font-size:10px;color:#8d7c85;display:block;margin-top:3px}
.data-table th{background:#fbf8f8;padding:14px 12px;font-size:10px;letter-spacing:.03em}
.data-table tbody tr:hover{background:#fdf9fb}
.data-table td{padding:15px 12px}
.data-table td strong{white-space:normal}
.data-table tbody tr:last-child td{border-bottom:0}
.inline-actions button{border:1px solid #e6dae0;background:#fff;color:#79566a;border-radius:9px;padding:8px 10px;font-weight:800}
.inline-actions button:hover{background:#faeef2;border-color:#d4afbc}
.inline-actions button:disabled{opacity:.35}
.aga-filter,.agenda-filter-status{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#9b8b92}
.agenda-filter-status{margin-top:-8px;margin-bottom:17px}
.agenda-filter-status span:first-child{font-weight:800;color:#a06379}
.toolbar select,.toolbar input{border-radius:11px;max-width:100%;min-width:125px}
.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:23px}
.report-toolbar h2{font:500 29px 'Playfair Display';margin:7px 0}
.report-toolbar label{min-width:180px}
.month-chart{min-height:200px;display:flex;align-items:end;gap:12px;padding-top:17px;border-bottom:1px solid #eadfe5}
.month-column{flex:1;min-width:0;text-align:center}
.month-column .month-bar{height:150px;display:flex;align-items:end;justify-content:center}
.month-column .month-bar span{display:block;width:60%;max-width:45px;min-height:3px;background:linear-gradient(#ab6f8b,#ddadc0);border-radius:8px 8px 2px 2px}
.month-column small{display:block;margin:8px 0 12px;color:#98858f;font-size:10px}
.top-services{display:grid;gap:16px;margin-top:22px}
.top-service-head{display:flex;justify-content:space-between;gap:12px;font-size:11px}
.top-service-head strong{color:#634359}
.top-service-head span{color:#947887}
.top-service-track{height:8px;border-radius:99px;background:#f4e9ed;margin-top:7px;overflow:hidden}
.top-service-track span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#c991a8,#9f5c78)}
.report-secondary-metrics{margin-top:16px}
.report-empty{color:#9c8993;font-size:12px;padding:24px;text-align:center}
/* Status chips */
.badge{padding:6px 11px;font-size:10px}
.badge.done{background:#eaf6ee;color:#33835a}
.badge.confirm{background:#eef0ff;color:#655a9d}
.badge.cancel{background:#fae9eb;color:#a74f63}
@media(max-width:1150px){
 .overview-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-insights{grid-template-columns:1fr}
}
@media(max-width:820px){
 .admin-layout{display:block}
 .sidebar{position:sticky;top:0;z-index:100;height:auto;padding:11px 16px 12px;background:#3e2f3b;box-shadow:0 10px 28px #34243124}
 .sidebar .brand{margin:0 0 6px;padding:0}
 .sidebar .brand-mark{width:31px;height:31px;font-size:19px;border-radius:9px}
 .sidebar .brand-text strong{font-size:17px}
 .sidebar .brand-text small{font-size:6px;margin-top:2px}
 .sidebar-nav{margin-top:9px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}
 .sidebar-nav::-webkit-scrollbar{display:none}
 .sidebar-nav button{min-height:37px;border:1px solid #ffffff15;padding:8px 12px;font-size:11px}
 .sidebar-nav button span{font-size:16px;width:auto}
 .sidebar-nav button.active{box-shadow:none}
 .workspace{padding:24px 16px 65px}
 .header-date{display:none}
 .welcome-decoration{padding:0 6px}
 .welcome-seal{height:125px;width:125px}
 .welcome-seal strong{font-size:19px}
}
@media(max-width:620px){
 .admin-layout .workspace-head{gap:12px;margin-bottom:17px}
 .workspace-actions{width:100%}
 .workspace-actions .btn{width:100%}
 .header-demo-label{font-size:8px;padding:4px 6px;margin-left:4px}
 .demo-notice{align-items:start;padding:12px;gap:9px;flex-wrap:wrap}
 .demo-notice>div:nth-child(2){flex-basis:calc(100% - 47px)}
 .demo-notice-actions{margin-left:37px}
 .overview-welcome{padding:28px 24px;min-height:0}
 .welcome-decoration{display:none}
 .overview-welcome h2{font-size:32px}
 .dashboard-section-head{align-items:start}
 .dashboard-section-head h3{font-size:22px}
 .overview-quick{gap:9px}
 .overview-quick button{padding:12px}
 .quick-icon{height:32px;width:32px;margin-bottom:8px}
 .overview-quick small{line-height:1.4}
 .metric{padding:15px}
 .metric strong{font-size:clamp(18px,6vw,23px)}
 .cards{gap:10px}
 .panel{padding:17px 15px;margin-bottom:15px}
 .panel h2{font-size:23px}
 .panel-title-row{gap:6px}
 .panel-action{padding:6px 8px;font-size:9px}
 .data-table th,.data-table td{padding:11px 9px}
 .week-visual{gap:6px}
 .week-pair{gap:2px}
 .agenda-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .agenda-toolbar>select,.agenda-toolbar>input{min-width:0;width:100%}
 .agenda-toolbar #agendaPeriod,.agenda-toolbar #agendaProfessional,.agenda-toolbar #agendaSearch{grid-column:1/-1}
 .agenda-toolbar #agendaRange{grid-column:1/-1;min-width:0}
 .agenda-filter-status{flex-wrap:wrap;gap:3px;margin-top:4px}
 .report-toolbar{align-items:stretch;flex-direction:column}
 .report-toolbar label{width:100%}
 .month-chart{gap:5px}
 .month-column small{font-size:9px}
 .team-cards,.public-highlights .wrap{grid-template-columns:1fr}
 .public-faq-layout{grid-template-columns:1fr;gap:25px}
 .public-team{padding:60px 0}
 .public-highlights{padding-bottom:55px}
 .mobile-booking-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:95;background:#fffdfaeb;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:11px 17px calc(11px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:14px}
 .mobile-booking-bar span{font:500 15px Georgia,serif;color:#704359}
 .mobile-booking-bar .btn{font-size:12px;min-height:41px}
 .footer{padding-bottom:95px}
}
@media(min-width:621px) and (max-width:920px){
 .public-highlights .wrap,.team-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-faq-layout{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Comprovante demonstrativo, sem cobrança. */
.booking-success{padding:20px;border:1px solid #c7e1cc;background:#f4fbf6;border-radius:16px;color:#3a6950;box-shadow:0 12px 26px #658f6d0b}
.booking-success strong{font:600 17px 'Playfair Display',Georgia,serif;display:block;margin-bottom:8px}
.booking-success p{font-size:13px;color:#3e6e55;margin:6px 0}
.booking-success small{display:block;color:#59836a;margin:8px 0 13px}
.booking-success .btn{font-size:11px;background:white;color:#376c50;border-color:#b6d9bf}
