@import url('https://fonts.googleapis.com/css2?family=Allura&family=Montserrat:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
  --bg:#fff9f7;
  --surface:#ffffff;
  --surface-soft:#fff1f4;
  --text:#12324a;
  --muted:#657487;
  --pink:#f31f6c;
  --pink-dark:#cf1556;
  --coral:#ff5f68;
  --turquoise:#10bdb7;
  --turquoise-dark:#078f8c;
  --pool:#4bcbe0;
  --lilac:#a86be8;
  --gold:#f6bb31;
  --off:#fff9f7;
  --border:#f1dfe4;
  --danger:#c93b52;
  --warning:#c9791b;
  --success:#0d9d79;
  --navy:#14344d;
  --shadow:0 22px 60px rgba(88,45,67,.12);
  --shadow-soft:0 12px 30px rgba(88,45,67,.07);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(circle at 8% 4%,rgba(243,31,108,.08),transparent 27%),radial-gradient(circle at 88% 10%,rgba(75,203,224,.1),transparent 26%),radial-gradient(circle at 72% 88%,rgba(168,107,232,.07),transparent 28%)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%;display:block}
.container{width:min(1160px,calc(100% - 32px));margin:auto}
.display{font-family:'Playfair Display',Georgia,serif}
.script{font-family:'Allura',cursive}

/* Brand */
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;color:var(--navy)}
.brand-logo{width:46px;height:46px;flex:0 0 auto;filter:drop-shadow(0 8px 16px rgba(243,31,108,.12))}
.brand-copy{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.brand-copy strong{font-family:'Playfair Display',serif;font-size:1.35rem;line-height:1;color:var(--pink)}
.brand-copy em{font-family:'Allura',cursive;font-size:1.68rem;font-style:normal;line-height:1;color:var(--turquoise-dark);font-weight:500}
.brand-mark{width:42px;height:42px;border-radius:15px;background:linear-gradient(145deg,var(--coral),var(--pink));display:grid;place-items:center;color:#fff;box-shadow:0 10px 25px rgba(243,31,108,.22)}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,249,247,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(241,223,228,.86)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.nav-links{display:flex;align-items:center;gap:24px;color:#4e6174;font-size:.92rem;font-weight:600}
.nav-links>a:not(.btn):hover{color:var(--pink)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 19px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--coral),var(--pink));color:#fff;font-weight:800;cursor:pointer;transition:.2s ease;box-shadow:0 10px 24px rgba(243,31,108,.17)}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(243,31,108,.24)}
.btn.secondary{background:linear-gradient(135deg,#e8fbfb,#eaf9ff);color:var(--turquoise-dark);box-shadow:none}
.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--border);box-shadow:none}
.btn.ghost:hover{border-color:#f3a7be;background:#fff7f9}
.btn.danger{background:var(--danger);box-shadow:none}
.btn.success{background:linear-gradient(135deg,var(--turquoise),var(--success));box-shadow:0 10px 24px rgba(16,189,183,.17)}
.btn.block{width:100%}
.btn.small{min-height:40px;padding:0 14px;border-radius:13px;font-size:.86rem}

/* Hero */
.hero{padding:58px 0 38px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:linear-gradient(90deg,#fff0f4,#eefcfd);color:var(--pink-dark);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid #fae2e9}
.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.65rem,5.5vw,5.15rem);line-height:.98;margin:20px 0 18px;letter-spacing:-.04em;color:var(--navy)}
.hero h1 .accent{color:var(--pink)}
.hero h1 .fresh{color:var(--turquoise-dark);font-style:italic}
.hero p{font-size:1.08rem;color:var(--muted);max-width:650px;margin:0}
.hero-slogan{font-family:'Allura',cursive;color:var(--pink);font-size:2rem;margin-top:10px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.trust-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;color:#536777;font-size:.86rem;font-weight:700}
.trust-row span{display:inline-flex;align-items:center;gap:7px}
.trust-dot{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#e9fbf7;color:var(--success);font-size:.73rem}
.hero-card{position:relative;border-radius:38px;padding:12px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,240,245,.88));border:1px solid #f4dce4;box-shadow:var(--shadow);overflow:visible}
.hero-card:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-24px;top:-24px;background:rgba(246,187,49,.18);filter:blur(1px);z-index:-1}
.hero-art{border-radius:30px;width:100%;aspect-ratio:1.18/1;object-fit:cover}
.floating-card{position:absolute;left:-28px;bottom:28px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.96);border:1px solid #f0e0e4;box-shadow:0 18px 38px rgba(42,58,73,.14);min-width:230px}
.floating-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--turquoise),var(--pool));display:grid;place-items:center;color:white;font-size:1.2rem}
.floating-card strong{display:block;font-size:.9rem}.floating-card small{display:block;color:var(--muted)}
.sparkle{position:absolute;color:var(--gold);font-size:1.8rem;filter:drop-shadow(0 5px 10px rgba(246,187,49,.2))}.sparkle.s1{top:28px;left:-18px}.sparkle.s2{right:28px;bottom:-14px;color:var(--pink)}

/* Sections */
.section{padding:72px 0}.section.tint{background:linear-gradient(180deg,rgba(255,240,244,.65),rgba(255,255,255,.7));border-top:1px solid #f7e8ec;border-bottom:1px solid #f7e8ec}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.section-head>div{max-width:720px}
.section h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.035em;margin:0 0 10px;color:var(--navy)}
.section-copy{color:var(--muted);max-width:760px;margin:0 0 26px}
.kicker{color:var(--pink);font-weight:800;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
.card:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-44px;top:-44px;background:var(--card-glow,rgba(243,31,108,.08))}
.card-icon{width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#fff0f4,#fff);display:grid;place-items:center;font-size:1.45rem;margin-bottom:15px;color:var(--pink);border:1px solid #f9e0e8}
.card:nth-child(3n+2){--card-glow:rgba(16,189,183,.1)}.card:nth-child(3n+2) .card-icon{background:#edfcfb;color:var(--turquoise-dark);border-color:#d7f6f4}
.card:nth-child(3n+3){--card-glow:rgba(168,107,232,.1)}.card:nth-child(3n+3) .card-icon{background:#f7f0ff;color:#7e43bd;border-color:#ecddfb}
.card h3{margin:0 0 8px;color:var(--navy);font-size:1.05rem}.card p{color:var(--muted);margin:0;font-size:.93rem}
.service-meta{display:flex;align-items:center;gap:7px;margin-top:15px;font-size:.83rem;font-weight:700;color:#536777}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step-card{text-align:left;padding:28px;border-radius:28px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft)}
.step-number{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--coral),var(--pink));color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:18px;box-shadow:0 9px 18px rgba(243,31,108,.18)}
.step-card:nth-child(2) .step-number{background:linear-gradient(145deg,var(--turquoise),var(--pool));box-shadow:0 9px 18px rgba(16,189,183,.18)}
.step-card:nth-child(3) .step-number{background:linear-gradient(145deg,var(--lilac),#8a55d2);box-shadow:0 9px 18px rgba(168,107,232,.18)}
.step-card h3{margin:0 0 7px}.step-card p{margin:0;color:var(--muted)}
.promise{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:36px;border-radius:34px;background:linear-gradient(135deg,#132f48 0%,#163a53 58%,#0d827f 120%);color:#fff;box-shadow:var(--shadow)}
.promise h2{color:#fff;margin-bottom:12px}.promise p{color:#dbe7ef;margin:0}.promise .script{font-size:2.1rem;color:#ffd363;margin-top:8px}.promise-points{display:grid;grid-template-columns:1fr 1fr;gap:12px}.promise-pill{padding:14px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:.87rem;font-weight:700}
.footer{padding:38px 0 90px;border-top:1px solid var(--border);color:#657487;background:#fff}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-note{font-size:.85rem}
.mobile-cta{display:none}

/* Booking flow */
.booking-page{min-height:100vh;padding:26px 0 52px}
.booking-top{width:min(940px,calc(100% - 28px));margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.booking-top .back-link{font-size:.87rem;color:var(--muted);font-weight:700}
.form-shell{width:min(940px,calc(100% - 28px));margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:32px;box-shadow:var(--shadow);overflow:hidden}
.form-head{padding:28px 30px 22px;background:linear-gradient(135deg,#fff2f5 0%,#f0fbfd 62%,#f7efff 100%);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.form-head:after{content:"✦";position:absolute;right:28px;top:20px;color:var(--gold);font-size:2.4rem;opacity:.75}
.form-head h1{font-family:'Playfair Display',serif;margin:14px 0 4px;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--navy)}.form-head p{margin:0;color:var(--muted)}
.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:22px}.progress span{height:7px;border-radius:99px;background:#f3dce3;transition:.25s}.progress span.active{background:linear-gradient(90deg,var(--coral),var(--pink))}
.progress-labels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:9px;font-size:.7rem;color:#7b8796;font-weight:700}.progress-labels span.active{color:var(--pink)}
.form-body{padding:30px}.step{display:none}.step.active{display:block;animation:fadeUp .28s ease}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step-title{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}.step-badge{width:42px;height:42px;border-radius:14px;background:#fff0f4;color:var(--pink);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.step-title h2{font-family:'Playfair Display',serif;margin:0;color:var(--navy);font-size:1.55rem}.step-title p{margin:2px 0 0;color:var(--muted);font-size:.88rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:17px}.field label{display:block;font-weight:800;font-size:.86rem;margin-bottom:7px;color:#30465b}.field input,.field select,.field textarea{width:100%;border:1.5px solid #e9d7dc;background:#fff;border-radius:15px;padding:13px 14px;outline:none;transition:.18s;color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(243,31,108,.08)}.field small{color:var(--muted)}
.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px;border-top:1px solid #f4e5e9;padding-top:20px}
.service-options{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.service-option{position:relative}.service-option input{position:absolute;opacity:0;pointer-events:none}.service-option label{display:block;padding:18px;border:2px solid #f1e0e5;border-radius:19px;cursor:pointer;min-height:132px;transition:.18s;background:#fff}.service-option label:before{content:"✦";display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff0f4;color:var(--pink);margin-bottom:11px}.service-option:nth-child(2n) label:before{background:#eafcfa;color:var(--turquoise-dark)}.service-option input:checked+label{border-color:var(--pink);background:linear-gradient(145deg,#fff7f9,#fff)}.service-option input:checked+label:after{content:"✓";position:absolute;right:13px;top:13px;width:25px;height:25px;border-radius:50%;background:var(--pink);color:white;display:grid;place-items:center;font-size:.75rem;font-weight:900}.service-option strong{display:block;margin-bottom:5px;color:var(--navy)}.service-option span{color:var(--muted);font-size:.86rem}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.slot{border:1.5px solid #e7d8dd;background:#fff;border-radius:14px;padding:12px 8px;cursor:pointer;font-weight:800;color:#31475a;transition:.18s}.slot:hover{border-color:var(--turquoise);background:#f3fdfd}.slot.selected{background:linear-gradient(135deg,var(--turquoise),#16a9a4);color:#fff;border-color:var(--turquoise);box-shadow:0 9px 18px rgba(16,189,183,.18)}
.notice{padding:14px 16px;border-radius:15px;margin:15px 0;font-size:.9rem}.notice.info{background:#edfafe;color:#22546f;border:1px solid #d6f2fa}.notice.success{background:#eafaf4;color:#146b57;border:1px solid #d4f2e7}.notice.error{background:#fff0f2;color:#9b3042;border:1px solid #f5d4da}.notice.warning{background:#fff8e9;color:#8d5c16;border:1px solid #f5e3b9}
.summary{display:grid;gap:0;border:1px solid var(--border);border-radius:18px;padding:4px 16px;background:#fffafa}.summary-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px dashed #eddce1}.summary-row:last-child{border-bottom:0}.summary-row span:first-child{color:var(--muted)}.summary-row strong{text-align:right;color:var(--navy)}
.confirm-icon{width:76px;height:76px;border-radius:24px;background:linear-gradient(145deg,var(--turquoise),var(--success));display:grid;place-items:center;color:#fff;font-size:2rem;margin-bottom:16px;box-shadow:0 14px 30px rgba(16,189,183,.2)}
.status{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:.75rem;font-weight:800}.status.pending{background:#fff5d8;color:#956312}.status.confirmed{background:#e5faf3;color:#0c7457}.status.completed{background:#eaf4ff;color:#2b5f8a}.status.cancelled{background:#ffe9ed;color:#a0384a}

/* Admin */
.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:#f9f7f7}.sidebar{background:linear-gradient(180deg,#15364f,#102c43);color:#dbe6ed;padding:24px 17px;position:sticky;top:0;height:100vh}.sidebar .brand{color:#fff;margin:0 7px 28px}.sidebar .brand-copy strong{color:#fff}.sidebar .brand-copy em{color:#5ee2dc}.side-nav{display:grid;gap:7px}.side-nav a{padding:12px 14px;border-radius:13px;font-size:.9rem;font-weight:600;transition:.16s}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.1);color:#fff}.side-nav a.active{box-shadow:inset 3px 0 0 var(--coral)}.admin-main{padding:30px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:18px}.admin-top h1{font-family:'Playfair Display',serif;margin:0;color:var(--navy);font-size:2.2rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:white;border:1px solid var(--border);border-radius:19px;padding:19px;box-shadow:var(--shadow-soft)}.stat strong{display:block;font-family:'Playfair Display',serif;font-size:2rem;color:var(--navy)}.stat span{color:var(--muted);font-size:.83rem}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-soft)}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:15px;border-bottom:1px solid #f1e6e9;vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6f7b87;background:#fffafa}td{font-size:.88rem}tr:last-child td{border-bottom:0}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.actions form{margin:0}.login-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 15%,rgba(243,31,108,.12),transparent 30%),radial-gradient(circle at 85% 20%,rgba(16,189,183,.13),transparent 32%),#fff9f7}.login-card{width:min(450px,100%);background:#fff;border:1px solid var(--border);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.login-card h1{font-family:'Playfair Display',serif;color:var(--navy);margin:26px 0 6px}.install-box{width:min(900px,calc(100% - 30px));margin:40px auto;padding:30px;background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow)}

/* Responsive */
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:34px}.hero-card{max-width:680px;margin:auto}.floating-card{left:18px}.cards,.steps-grid{grid-template-columns:1fr 1fr}.promise{grid-template-columns:1fr}.admin-layout{display:block}.sidebar{height:auto;position:relative;padding:14px}.sidebar .brand{margin:0 8px 14px}.side-nav{display:flex;overflow:auto;padding-bottom:4px}.side-nav a{white-space:nowrap}.admin-main{padding:20px}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:680px){
  .container{width:min(100% - 24px,1160px)}.site-header .nav{height:68px}.brand-logo{width:40px;height:40px}.brand-copy strong{font-size:1.15rem}.brand-copy em{font-size:1.4rem}.nav-links>a:not(.btn){display:none}.nav-links{gap:8px}.nav-links .btn{min-height:42px;padding:0 13px;font-size:.78rem;border-radius:13px}
  .hero{padding:38px 0 28px}.hero h1{font-size:clamp(2.45rem,13vw,3.65rem)}.hero p{font-size:.98rem}.hero-actions .btn{flex:1;min-width:150px}.trust-row{gap:10px 14px}.hero-card{border-radius:28px}.hero-art{border-radius:22px}.floating-card{position:relative;left:auto;bottom:auto;margin:-44px 12px 4px}.sparkle.s1{left:8px;top:12px}.section{padding:52px 0}.section-head{align-items:flex-start;display:block}.section-head .btn{margin-top:4px}.cards,.steps-grid{grid-template-columns:1fr}.card,.step-card{border-radius:20px}.promise{padding:25px;border-radius:26px}.promise-points{grid-template-columns:1fr}.footer{padding-bottom:100px}.footer-grid{align-items:flex-start;flex-direction:column}.mobile-cta{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:50}.mobile-cta .btn{width:100%;min-height:54px;border-radius:18px;box-shadow:0 14px 35px rgba(243,31,108,.28)}
  .booking-page{padding:14px 0 28px}.booking-top{width:calc(100% - 24px);margin-bottom:12px}.booking-top .back-link{font-size:0}.booking-top .back-link:before{content:"←";font-size:1.25rem;color:var(--navy)}.form-shell{width:calc(100% - 20px);border-radius:24px}.form-head{padding:21px 20px 17px}.form-head:after{right:16px;top:14px}.progress-labels{display:none}.form-body{padding:20px}.grid-2,.service-options{grid-template-columns:1fr}.service-option label{min-height:112px;padding:15px}.slots{grid-template-columns:repeat(3,1fr)}.step-actions{position:sticky;bottom:-1px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);margin-left:-20px;margin-right:-20px;padding:14px 20px 2px;z-index:5}.step-actions .btn{min-width:124px}.summary-row{font-size:.86rem}.admin-main{padding:14px}.stats{grid-template-columns:1fr 1fr}.admin-top{align-items:flex-start;gap:12px}.admin-top h1{font-size:1.8rem}.admin-top .btn{min-height:40px;padding:0 12px}.login-card,.install-box{padding:21px;border-radius:22px}
}
@media(max-width:390px){.slots{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr}.hero-actions{display:grid}.nav-links .btn{font-size:.72rem;padding:0 10px}.brand-copy em{display:none}}

/* v0.3 — agenda, notificações e autoatendimento */
.disabled-link{pointer-events:none;opacity:.48}
.client-actions{margin-top:22px;padding:18px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,#fff8fa,#f3fdff);display:flex;align-items:center;justify-content:space-between;gap:18px}.client-actions>div:first-child{display:grid;gap:3px}.client-actions strong{color:var(--navy)}.client-actions span{color:var(--muted);font-size:.86rem}.client-actions .actions{margin:0}
.request-history{margin-top:24px}.request-history h2{font-family:'Playfair Display',serif;color:var(--navy);font-size:1.35rem;margin:0 0 12px}.request-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #f1e6e9}.request-item>div{display:grid;gap:2px}.request-item small{color:var(--muted)}.change-status,.change-kind{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:.73rem;font-weight:800;white-space:nowrap}.change-status.pending,.change-kind{background:#fff4d6;color:#8e6115}.change-status.approved{background:#e6faf3;color:#0c7457}.change-status.denied{background:#ffe9ed;color:#9f384b}
.nav-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--coral);color:#fff;font-size:.68rem;font-weight:900;margin-left:auto}.side-nav a{display:flex;align-items:center;gap:8px}
.notification-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-panel{background:#fff;border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:var(--shadow-soft)}.panel-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:14px}.panel-title h2{font-family:'Playfair Display',serif;color:var(--navy);font-size:1.35rem;margin:1px 0 0}.count-bubble{width:38px;height:38px;border-radius:13px;background:#fff0f4;color:var(--pink);display:grid;place-items:center;font-weight:900}.count-bubble.alt{background:#eafcfa;color:var(--turquoise-dark)}.empty-state{padding:22px 10px;color:var(--muted);text-align:center;border:1px dashed #eadde1;border-radius:16px}.notification-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #f1e6e9}.notification-card:last-child{border-bottom:0}.notification-icon{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#fff0f4,#fff);color:var(--pink);display:grid;place-items:center}.notification-content{display:grid;gap:2px;min-width:0}.notification-content strong{color:var(--navy)}.notification-content span,.notification-content small{color:var(--muted);font-size:.8rem}.change-request-card{border:1px solid #f0e2e6;border-radius:18px;padding:15px;margin-bottom:12px;background:#fffcfc}.request-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.request-head>div{display:grid;gap:2px}.request-head span{color:var(--muted);font-size:.8rem}.request-details{display:grid;gap:5px;margin:12px 0;color:#536777;font-size:.84rem}.request-details p{margin:5px 0 0;padding:10px 12px;border-radius:12px;background:#fff4f7;color:#6a4a55}.request-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.mini-note{min-width:0;border:1px solid var(--border);border-radius:12px;padding:10px 11px;outline:none}.mini-note:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(243,31,108,.08)}
.calendar-top .actions{margin:0}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 16px}.calendar-toolbar h2{font-family:'Playfair Display',serif;color:var(--navy);font-size:1.55rem;margin:0;min-width:250px;text-align:center}.calendar-arrow{width:42px;height:42px;border:1px solid var(--border);border-radius:14px;background:#fff;display:grid;place-items:center;font-weight:900;color:var(--navy);box-shadow:var(--shadow-soft)}.calendar-shell{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-soft)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#fff7f9;border-bottom:1px solid var(--border)}.calendar-weekdays div{padding:10px;text-align:center;font-size:.74rem;font-weight:800;color:#6c7884;text-transform:uppercase}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:142px;padding:10px;border-right:1px solid #f2e7ea;border-bottom:1px solid #f2e7ea;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#fcfafb;color:#a2aab1}.calendar-day.today{background:linear-gradient(180deg,#fff8fa,#fff)}.day-number{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:8px}.day-number span{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;font-weight:800}.today .day-number span{background:linear-gradient(135deg,var(--coral),var(--pink));color:#fff}.day-number small{font-size:.61rem;color:var(--muted)}.day-events{display:grid;gap:5px}.calendar-event{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center;padding:6px 7px;border-radius:10px;font-size:.67rem;background:#fff4da;color:#795817;border-left:3px solid var(--gold)}.calendar-event.confirmed{background:#e8faf5;color:#126c59;border-left-color:var(--turquoise)}.calendar-event.completed{background:#edf5ff;color:#315e86;border-left-color:var(--pool)}.calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-block{padding:6px 7px;border-radius:10px;font-size:.64rem;background:#f1f2f4;color:#68737e}.more-events{font-size:.65rem;color:var(--muted);font-weight:700}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;color:var(--muted);font-size:.76rem}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%;background:var(--gold)}.legend-dot.confirmed{background:var(--turquoise)}.legend-dot.completed{background:var(--pool)}.legend-dot.blocked{background:#8a929b}
.week-scroll{overflow:auto;padding-bottom:5px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(190px,1fr));gap:10px;min-width:1330px}.week-day{background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft);min-height:370px}.week-day>header{padding:13px 14px;background:#fff8fa;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.week-day>header span{font-weight:800;color:var(--navy)}.week-day>header strong{font-size:.8rem;color:var(--muted)}.week-day.today>header{background:linear-gradient(135deg,#fff0f4,#effcfd)}.week-events{padding:10px;display:grid;gap:9px}.week-event{padding:12px;border-radius:15px;background:#fff7df;border:1px solid #f9ebc3}.week-event.confirmed{background:#ecfaf6;border-color:#d2f1e8}.week-event.completed{background:#eef6ff;border-color:#d9e9fa}.week-event>div{display:flex;justify-content:space-between;gap:8px;font-size:.72rem}.week-event h3{font-size:.9rem;margin:8px 0 2px;color:var(--navy)}.week-event p,.week-event small{margin:0;color:var(--muted);font-size:.72rem}.week-block{padding:11px;border-radius:14px;background:#f1f2f4;display:grid;gap:2px;color:#636e78}.week-block span{font-size:.72rem}.empty-day{padding:24px 8px;text-align:center;color:#a2aab1;font-size:.78rem}

@media(max-width:1050px){.notification-grid{grid-template-columns:1fr}.calendar-day{min-height:125px;padding:7px}.day-number small{display:none}.calendar-event{grid-template-columns:1fr}.calendar-event span{display:none}}
@media(max-width:680px){.client-actions{display:block}.client-actions .actions{margin-top:13px}.request-item{align-items:flex-start}.notification-card{grid-template-columns:auto 1fr}.notification-card .btn{grid-column:1/-1}.request-actions{grid-template-columns:1fr 1fr}.mini-note{grid-column:1/-1}.calendar-top{display:block}.calendar-top .calendar-actions{margin-top:12px}.calendar-toolbar{justify-content:space-between}.calendar-toolbar h2{font-size:1.25rem;min-width:0}.month-view{overflow:auto}.calendar-weekdays,.calendar-grid{min-width:760px}.calendar-day{min-height:130px}.calendar-event{grid-template-columns:auto 1fr}.calendar-event span{display:block}.calendar-legend{padding-bottom:6px}.admin-panel{padding:15px;border-radius:18px}}

/* v0.4 — orçamento, fotos, e-mail e relatórios */
.quote-estimate{margin:6px 0 18px;padding:18px 19px;border-radius:20px;background:linear-gradient(135deg,#fff0f4,#effcfd);border:1px solid #f1dfe4;display:grid;gap:3px;position:relative;overflow:hidden}.quote-estimate:after{content:'✦';position:absolute;right:18px;top:12px;color:var(--gold);font-size:1.4rem}.quote-estimate span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);font-weight:800}.quote-estimate strong{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--navy)}.quote-estimate small{color:var(--muted);max-width:760px}
input[type=file]{padding:10px;background:#fff}.service-price{display:inline-flex;margin-top:9px;padding:6px 9px;border-radius:10px;background:#fff0f4;color:var(--pink-dark);font-size:.78rem;font-weight:800}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-list{display:grid}.detail-list>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #f2e6ea}.detail-list>div:last-child{border-bottom:0}.detail-list span{color:var(--muted);font-size:.82rem}.detail-list strong{text-align:right;color:var(--navy);font-size:.88rem}.detail-note{margin-top:14px;padding:14px;border-radius:15px;background:#fff7f9}.detail-note span{font-size:.75rem;color:var(--muted);font-weight:800;text-transform:uppercase}.detail-note p{margin:5px 0 0;color:#536777}.money-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:16px}.money-cards>div{padding:16px;border-radius:17px;background:#fff7f9;border:1px solid #f3e3e7;display:grid;gap:5px}.money-cards>div:nth-child(2){background:#edfcfb;border-color:#d8f3f0}.money-cards span{font-size:.75rem;color:var(--muted);font-weight:700}.money-cards strong{font-family:'Playfair Display',serif;color:var(--navy);font-size:1.5rem}.inline-price-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.inline-price-form .field{margin:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-card{display:block;border:1px solid var(--border);border-radius:15px;overflow:hidden;background:#fff}.photo-card img{width:100%;height:135px;object-fit:cover}.photo-card span{display:block;padding:8px 9px;color:var(--muted);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.report-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:20px;padding:15px;margin-bottom:18px;box-shadow:var(--shadow-soft)}.report-filter .field{margin:0;min-width:180px}.report-stats{grid-template-columns:repeat(6,1fr)}.stat.money strong{font-size:1.35rem;color:var(--success)}.report-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:18px}.table-wrap.flat{box-shadow:none;border-radius:15px}.table-wrap.flat table{min-width:520px}.report-ring{width:180px;height:180px;border-radius:50%;margin:14px auto 20px;background:conic-gradient(var(--turquoise) 0 var(--pct,0%),#eaf2f3 var(--pct,0%) 100%);display:grid;place-content:center;text-align:center;border:13px solid #f5fbfb;box-shadow:inset 0 0 0 1px #dff0ef}.report-ring strong{font-family:'Playfair Display',serif;font-size:2rem;color:var(--navy)}.report-ring span{max-width:120px;color:var(--muted);font-size:.69rem;line-height:1.3}.email-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eefaf6;color:#0c7457;font-size:.73rem;font-weight:800}
@media(max-width:1200px){.report-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.detail-grid,.report-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.quote-estimate{padding:15px}.quote-estimate strong{font-size:1.4rem}.detail-list>div{display:grid;gap:3px}.detail-list strong{text-align:left}.money-cards{grid-template-columns:1fr}.inline-price-form{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-card img{height:120px}.report-filter{display:grid;grid-template-columns:1fr 1fr}.report-filter .field{min-width:0}.report-filter .btn{grid-column:1/-1}.report-stats{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.report-stats{grid-template-columns:1fr}.report-filter{grid-template-columns:1fr}.report-filter .btn{grid-column:auto}}


/* v0.5 — sinal, pagamentos e financeiro */
.payment-status{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.payment-status.unpaid{background:#fff0f2;color:#b8364e}.payment-status.partial{background:#fff6dc;color:#9a6811}.payment-status.paid{background:#e6faf4;color:#08745a}.payment-status.compact{margin-top:5px;padding:4px 7px;font-size:.63rem}.nav-badge.alt{background:var(--turquoise);color:#fff}
.payment-stats{grid-template-columns:repeat(3,1fr);margin-bottom:18px}.filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.filter-pills a{padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font-size:.78rem;font-weight:800}.filter-pills a.active{background:linear-gradient(135deg,var(--coral),var(--pink));color:#fff;border-color:transparent}.payment-list{display:grid;gap:12px}.payment-row{background:#fff;border:1px solid var(--border);border-radius:20px;padding:17px;box-shadow:var(--shadow-soft)}.payment-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.payment-main>div{display:grid;gap:2px}.payment-main a strong{color:var(--navy)}.payment-main span:not(.payment-status){color:var(--muted);font-size:.76rem}.payment-progress{margin:13px 0}.payment-progress>div,.payment-track>div{height:9px;border-radius:999px;background:#f3ecee;overflow:hidden}.payment-progress>div span,.payment-track>div span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--turquoise),var(--pool))}.payment-progress small{display:block;margin-top:5px;color:var(--muted);font-size:.7rem}.payment-meta{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;color:var(--muted);font-size:.73rem}.payment-meta strong{color:var(--navy)}.overdue-badge,.ready-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-weight:800}.overdue-badge{background:#fff0f2;color:#b8364e}.ready-badge{background:#e9faf5;color:#08745a}.quick-payment{display:grid;grid-template-columns:160px 170px auto;gap:9px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #f2e7ea}.quick-payment .field{margin:0}.payment-money{grid-template-columns:repeat(4,1fr)}.deposit-box{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-radius:16px;background:#fff8e8;border:1px solid #f6e7bb;margin-bottom:14px}.deposit-box>div{display:grid;gap:2px}.deposit-box span{font-size:.69rem;color:var(--muted);font-weight:700}.deposit-box strong{font-size:.85rem;color:var(--navy)}.deposit-box.ok{background:#ebfaf6;border-color:#d4f1e8}.deposit-box.expired{background:#fff1f3;border-color:#f2d4da}.confirm-gate{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.confirm-gate label{font-size:.77rem;color:#8d5360}.payment-entry{display:grid;grid-template-columns:130px 150px 160px 190px 1fr auto;gap:9px;align-items:end;margin-bottom:14px}.payment-entry .field{margin:0}.transaction-list{display:grid;border-top:1px solid #f0e4e8}.transaction-item{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #f3e9ec}.tx-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#e8faf5;color:#08745a;font-weight:900}.tx-icon.refund{background:#fff0f2;color:#b8364e}.transaction-item>div{display:grid}.transaction-item small{color:var(--muted);font-size:.69rem}.tx-value{color:var(--success)}.tx-value.refund{color:var(--danger)}
.client-payment-card{margin:16px 0;padding:20px;border-radius:22px;background:linear-gradient(135deg,#fff0f4,#edfcfb);border:1px solid #f0dde3;box-shadow:var(--shadow-soft)}.client-payment-card h2{font-family:'Playfair Display',serif;color:var(--navy);margin:8px 0 5px}.client-payment-card p{color:var(--muted)}.client-payment-card small{display:block;color:var(--muted);line-height:1.6}.pix-key{display:grid;gap:3px;padding:13px 14px;border-radius:15px;background:#fff;border:1px dashed #e8bdca;margin:12px 0}.pix-key span{font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);font-weight:800}.pix-key strong{word-break:break-all;color:var(--navy)}.payment-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.payment-track{margin:14px 0}.summary.compact{margin:0 0 12px}
@media(max-width:1100px){.payment-entry{grid-template-columns:repeat(3,1fr)}.payment-entry .payment-note{grid-column:1/3}.payment-money{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.payment-stats{grid-template-columns:1fr 1fr}.quick-payment{grid-template-columns:1fr 1fr}.quick-payment .btn{grid-column:1/-1}.payment-entry{grid-template-columns:1fr 1fr}.payment-entry .payment-note{grid-column:1/-1}.payment-entry .btn{grid-column:1/-1}.deposit-box{grid-template-columns:1fr}.payment-main{align-items:center}}
@media(max-width:480px){.payment-stats{grid-template-columns:1fr}.quick-payment,.payment-entry{grid-template-columns:1fr}.payment-entry .payment-note,.payment-entry .btn,.quick-payment .btn{grid-column:auto}.payment-money{grid-template-columns:1fr}.payment-card-head{display:block}.payment-card-head .payment-status{margin-top:8px}}

/* v0.6 — lembretes e automações */
.reminder-stats{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.reminder-stats .stat:last-child strong{font-size:1.02rem;line-height:1.25}.reminder-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reminder-grid .card h3{margin-bottom:15px}.input-suffix{display:grid;grid-template-columns:1fr auto;align-items:stretch}.input-suffix input{border-radius:14px 0 0 14px}.input-suffix span{display:grid;place-items:center;padding:0 14px;border:1px solid var(--border);border-left:0;border-radius:0 14px 14px 0;background:#fff7f9;color:var(--muted);font-size:.78rem;font-weight:800}.cron-card{overflow:visible}.card-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.card-head-row h3{margin:8px 0}.automation-pill{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}.automation-pill.on{background:#e8faf4;color:#08745a}.automation-pill.off{background:#fff0f2;color:#b8364e}.code-label{display:block;margin:12px 0 6px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.code-box{padding:14px 15px;border-radius:15px;background:#132f48;color:#eef7fb;overflow:auto;border:1px solid #244c67}.code-box code{white-space:nowrap;font-size:.77rem}.muted-block{display:block;margin-top:10px;color:var(--muted);line-height:1.55}.automation-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.7rem;font-weight:800}.automation-status.sent,.automation-status.success{background:#e8faf4;color:#08745a}.automation-status.skipped,.automation-status.disabled{background:#f2f4f6;color:#66717c}.automation-status.failed{background:#fff0f2;color:#b8364e}.automation-status.warning{background:#fff6dc;color:#9a6811}.run-list{display:grid}.run-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f2e7ea}.run-item:last-child{border-bottom:0}.run-item>div{display:grid}.run-item small{color:var(--muted);font-size:.68rem}.run-item>span{font-size:.72rem;font-weight:800;color:var(--turquoise-dark);white-space:nowrap}
@media(max-width:1000px){.reminder-stats{grid-template-columns:1fr 1fr}.reminder-grid{grid-template-columns:1fr}}
@media(max-width:560px){.reminder-stats{grid-template-columns:1fr}.card-head-row{display:block}.automation-pill{margin-top:5px}.code-box code{font-size:.68rem}}

/* v0.7 · recorrências */
.recurring-list{display:grid;gap:14px}.recurring-card{border:1px solid var(--line,#eadfe5);border-radius:22px;padding:18px;background:#fff;box-shadow:0 10px 30px rgba(38,34,51,.05)}.recurring-card.paused{opacity:.78;background:#fbf8fa}.recurring-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.recurring-main h3{margin:2px 0 4px;font-size:1.15rem}.recurring-main p{margin:0;color:var(--muted,#756b74)}.recurring-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.recurring-meta span{background:#fff5f8;border:1px solid #ffe0ea;border-radius:999px;padding:7px 10px;font-size:.82rem}.actions.stack{display:grid;gap:10px}.actions.stack form,.actions.stack .btn{width:100%}.form-panel{max-width:820px}.settings-form small{display:block;color:var(--muted,#756b74);margin-top:6px;line-height:1.4}.btn.danger{background:#b4233c;color:#fff;border-color:#b4233c}.transaction-item[href]{text-decoration:none;color:inherit}.calendar-event .recurring-dot,.week-event .recurring-dot{display:inline-block;width:7px;height:7px;border-radius:99px;background:#f7b500;margin-left:4px;vertical-align:middle}
@media(max-width:720px){.recurring-main{align-items:center}.recurring-meta{display:grid;grid-template-columns:1fr 1fr}.recurring-meta span{border-radius:14px}.form-panel{padding:16px}}

/* Audit hardening: logout is POST-only while retaining sidebar appearance */
.nav-logout{margin:0;padding:0}.nav-logout button{width:100%;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:12px 14px;border-radius:14px}.nav-logout button:hover{background:rgba(255,255,255,.1)}

/* Auditoria v0.7.1 — acessibilidade de teclado e preferência de movimento */
a:focus-visible,.btn:focus-visible,.slot:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(16,189,183,.48);outline-offset:3px}
.service-option input:focus-visible+label{outline:3px solid rgba(16,189,183,.48);outline-offset:3px;border-color:var(--turquoise)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* v0.8 · clientes e cadastro manual */
.search-panel{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:end;margin-bottom:16px}.search-panel .field{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .field{margin:0}.form-grid .span-2{grid-column:1/-1}.admin-panel textarea{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px 13px;resize:vertical;background:#fff;color:var(--text);outline:none}.admin-panel textarea:focus{border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(16,189,183,.08)}
@media(max-width:680px){.search-panel,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.search-panel .btn{width:100%}}

/* v0.9 · gestão diária, busca e experiência mobile do painel */
.sidebar-head{display:flex;align-items:center;justify-content:space-between}.sidebar-close{display:none;border:0;background:rgba(255,255,255,.1);color:#fff;width:38px;height:38px;border-radius:12px;font-size:1.45rem;cursor:pointer}.sidebar-search{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin:0 5px 17px;padding:0 11px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.07)}.sidebar-search span{opacity:.75;font-size:1.15rem}.sidebar-search input{width:100%;height:42px;border:0;outline:0;background:transparent;color:#fff;font-size:.82rem}.sidebar-search input::placeholder{color:#a9bfcc}.admin-mobile-bar,.admin-backdrop{display:none}
.dashboard-date{display:inline-flex;margin-bottom:5px;padding:5px 9px;border-radius:999px;background:#fff0f4;color:var(--pink-dark);font-size:.7rem;font-weight:800}.dashboard-head .section-copy{margin-bottom:0}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.dash-kpi{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:21px;padding:18px;box-shadow:var(--shadow-soft);transition:.18s}.dash-kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.dash-kpi-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-weight:900;background:#fff0f4;color:var(--pink)}.dash-kpi.attention .dash-kpi-icon{background:#fff7dc;color:#a76c0d}.dash-kpi.received .dash-kpi-icon{background:#e9faf5;color:#08745a;font-size:.78rem}.dash-kpi.balance .dash-kpi-icon{background:#eef8ff;color:#2673a5}.dash-kpi div{min-width:0;display:grid}.dash-kpi small{color:var(--muted);font-size:.72rem;font-weight:700}.dash-kpi strong{font-family:'Playfair Display',serif;font-size:1.65rem;color:var(--navy);line-height:1.15;overflow:hidden;text-overflow:ellipsis}.dash-kpi em{font-style:normal;color:var(--muted);font-size:.68rem;margin-top:3px}.quick-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.quick-metrics a{display:flex;align-items:baseline;gap:7px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid #eee3e6}.quick-metrics strong{color:var(--navy);font-size:1.05rem}.quick-metrics span{color:var(--muted);font-size:.68rem}.dashboard-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:18px}.dashboard-grid .admin-panel{margin:0}.today-timeline{display:grid}.today-item{display:grid;grid-template-columns:58px 18px 1fr auto;gap:10px;align-items:center;min-height:76px;border-bottom:1px solid #f2e8eb}.today-item:last-child{border-bottom:0}.today-time{display:grid}.today-time strong{font-size:1rem;color:var(--navy)}.today-time span{font-size:.66rem;color:var(--muted)}.timeline-dot{width:11px;height:11px;border-radius:99px;background:#d9dfe3;box-shadow:0 0 0 5px #f5f6f7}.timeline-dot.pending{background:var(--gold);box-shadow:0 0 0 5px #fff8df}.timeline-dot.confirmed{background:var(--turquoise);box-shadow:0 0 0 5px #eafaf7}.timeline-dot.completed{background:#5794c1;box-shadow:0 0 0 5px #edf6fc}.today-info{min-width:0}.today-info>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.today-info p{margin:2px 0;color:#536777;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-info small{color:var(--muted);font-size:.68rem}.today-info .status{padding:4px 7px;font-size:.6rem}.result-arrow{color:#a3adb5;font-weight:900}.attention-list{display:grid}.attention-item{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #f2e8eb}.attention-item:last-child{border-bottom:0}.attention-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-weight:900}.attention-icon.pending{background:#fff6da;color:#956312}.attention-icon.change{background:#f4ecff;color:#7140a5}.attention-icon.overdue{background:#fff0f2;color:#b8364e}.attention-item div{min-width:0;display:grid}.attention-item strong{font-size:.8rem;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-item small{font-size:.67rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state.roomy{min-height:210px;display:grid;place-items:center;align-content:center;text-align:center;gap:6px}.empty-state.roomy strong{font-family:'Playfair Display',serif;color:var(--navy);font-size:1.25rem}.empty-state.roomy span{color:var(--muted);font-size:.78rem}.empty-state.roomy .btn{margin-top:8px}.workload-chart{height:210px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:9px;padding-top:20px}.workload-day{height:100%;display:grid;grid-template-rows:20px 1fr auto auto;gap:4px;text-align:center;align-items:end}.workload-value{font-size:.65rem;color:var(--muted);min-height:18px}.workload-bar{height:125px;border-radius:10px;background:#f5f0f2;position:relative;overflow:hidden}.workload-bar span{position:absolute;left:0;right:0;bottom:0;border-radius:10px 10px 5px 5px;background:linear-gradient(180deg,var(--pool),var(--turquoise));min-height:4px}.workload-day strong{font-size:.68rem;color:var(--navy)}.workload-day small{font-size:.6rem;color:var(--muted)}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.finance-summary>div{padding:13px;border-radius:15px;background:#fff7f9;border:1px solid #f3e4e8;display:grid}.finance-summary span{font-size:.64rem;color:var(--muted)}.finance-summary strong{font-size:.86rem;color:var(--navy)}.finance-progress{height:10px;border-radius:99px;background:#eef1f2;overflow:hidden;margin:17px 0 7px}.finance-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--turquoise),var(--pool))}.finance-card>small{color:var(--muted);font-size:.67rem}.admin-search-page{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:18px;padding:9px;background:#fff;border:1px solid var(--border);border-radius:19px;box-shadow:var(--shadow-soft)}.admin-search-page input{border:0;outline:0;padding:0 10px;min-width:0;color:var(--text)}.search-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.search-result-list{display:grid}.search-result-item{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #f2e8eb}.search-result-item:last-child{border-bottom:0}.result-icon{width:42px;height:42px;border-radius:14px;background:#fff0f4;color:var(--pink);display:grid;place-items:center;font-weight:900;font-size:.72rem}.result-icon.booking{background:#edfafa;color:var(--turquoise-dark)}.result-icon.recurring{background:#f6efff;color:#7747a9;font-size:1.1rem}.search-result-item>div:nth-child(2){min-width:0;display:grid}.search-result-item strong,.search-result-item span,.search-result-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-item strong{color:var(--navy);font-size:.82rem}.search-result-item span{color:#536777;font-size:.7rem}.search-result-item small{color:var(--muted);font-size:.64rem}.empty-search{padding:45px 20px;text-align:center}.empty-search strong{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--navy)}.empty-search p{color:var(--muted)}.admin-list-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-bottom:14px}.list-search{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;background:#fff;border:1px solid var(--border);border-radius:15px;padding:0 12px}.list-search span{color:var(--muted)}.list-search input{height:42px;border:0;outline:0;background:transparent;min-width:0}.mobile-bookings{display:none}.booking-hero-admin{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;padding:20px;margin-bottom:18px;border-radius:24px;background:linear-gradient(135deg,#15364f,#11485b);color:#fff;box-shadow:0 16px 38px rgba(21,54,79,.16)}.booking-hero-date{height:92px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;align-content:center}.booking-hero-date span,.booking-hero-date small{font-size:.6rem;letter-spacing:.08em;color:#b8d4df;font-weight:800}.booking-hero-date strong{font-family:'Playfair Display',serif;font-size:2.1rem;line-height:1}.booking-hero-main h2{margin:6px 0 2px;font-family:'Playfair Display',serif;font-size:1.45rem}.booking-hero-main p{margin:0;color:#d9e8ee;font-size:.78rem}.booking-hero-main>small{display:block;color:#aecaD5;margin-top:6px;font-size:.7rem}.booking-hero-badges{display:flex;gap:7px;flex-wrap:wrap}.booking-hero-tools{display:grid;gap:8px}.booking-hero-tools a,.booking-hero-tools button{min-width:125px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:9px 11px;font-size:.7rem;font-weight:800;cursor:pointer;text-align:center}.booking-mobile-actions{display:none}
@media(max-width:1180px){.dashboard-kpis{grid-template-columns:1fr 1fr}.quick-metrics{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.search-result-grid{grid-template-columns:1fr}}
@media(max-width:900px){body.admin-menu-open{overflow:hidden}.admin-layout{display:block}.sidebar{position:fixed;z-index:120;top:0;bottom:0;left:0;width:min(310px,86vw);height:100dvh;padding:18px;transform:translateX(-104%);transition:transform .22s ease;overflow:auto;box-shadow:20px 0 60px rgba(9,35,53,.22)}body.admin-menu-open .sidebar{transform:translateX(0)}.sidebar .brand{margin:0}.sidebar-close{display:grid;place-items:center}.sidebar-search{margin-top:18px}.side-nav{display:grid;overflow:visible;padding:0}.side-nav a{white-space:normal}.admin-backdrop{display:block;position:fixed;z-index:110;inset:0;background:rgba(11,28,40,.46);opacity:0;pointer-events:none;transition:.2s}body.admin-menu-open .admin-backdrop{opacity:1;pointer-events:auto}.admin-main{padding:0 18px 28px}.admin-mobile-bar{position:sticky;top:0;z-index:80;height:64px;margin:0 -18px 20px;padding:0 16px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;background:rgba(249,247,247,.94);backdrop-filter:blur(15px);border-bottom:1px solid #eadfe2}.mobile-menu-button,.mobile-search-button{width:40px;height:40px;border-radius:13px;border:1px solid var(--border);background:#fff;color:var(--navy);display:grid;place-items:center;font-size:1.05rem}.mobile-brand{justify-self:center;display:flex;align-items:center;gap:7px;font-size:.86rem;color:var(--navy)}.mobile-brand img{width:28px;height:28px}.dashboard-head{padding-top:2px}.booking-hero-admin{grid-template-columns:74px 1fr}.booking-hero-tools{grid-column:1/-1;grid-template-columns:1fr 1fr}.booking-hero-tools a,.booking-hero-tools button{min-width:0}}
@media(max-width:680px){.dashboard-kpis{grid-template-columns:1fr 1fr;gap:9px}.dash-kpi{grid-template-columns:38px 1fr;padding:13px;gap:9px;border-radius:17px}.dash-kpi-icon{width:38px;height:38px;border-radius:13px}.dash-kpi strong{font-size:1.15rem}.dash-kpi em{display:none}.quick-metrics{display:flex;overflow:auto;margin-left:-18px;margin-right:-18px;padding:0 18px 5px;scrollbar-width:none}.quick-metrics a{min-width:max-content}.dashboard-grid{gap:12px}.panel-title{align-items:flex-start}.today-item{grid-template-columns:49px 14px 1fr auto}.today-info>div .status{display:none}.workload-chart{height:190px;gap:5px}.workload-bar{height:108px}.finance-summary{grid-template-columns:1fr}.admin-search-page{grid-template-columns:1fr}.admin-search-page .btn{width:100%}.admin-list-toolbar{grid-template-columns:1fr 1fr}.admin-list-toolbar .list-search{grid-column:1/-1}.desktop-bookings{display:none}.mobile-bookings{display:grid;gap:10px}.mobile-booking-card{background:#fff;border:1px solid var(--border);border-radius:19px;box-shadow:var(--shadow-soft);overflow:hidden}.mobile-booking-main{display:grid;grid-template-columns:55px 1fr auto;gap:12px;align-items:center;padding:14px}.mobile-booking-date{width:55px;height:59px;border-radius:15px;background:#fff0f4;display:grid;place-items:center;align-content:center;color:var(--pink)}.mobile-booking-date strong{font-family:'Playfair Display',serif;font-size:1.35rem;line-height:1}.mobile-booking-date span{font-size:.56rem;font-weight:900;letter-spacing:.08em}.mobile-booking-main div:nth-child(2){min-width:0}.mobile-booking-main h3{margin:0;font-size:.88rem;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-booking-main p{margin:2px 0;color:#536777;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-booking-main small{display:block;color:var(--muted);font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-booking-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid #f2e8eb;background:#fffafa}.mobile-booking-foot>div{display:flex;align-items:center;gap:5px}.mini-wa{font-size:.67rem;font-weight:800;color:var(--turquoise-dark)}.booking-hero-admin{grid-template-columns:64px 1fr;padding:14px;gap:12px;border-radius:19px}.booking-hero-date{height:72px;border-radius:16px}.booking-hero-date strong{font-size:1.65rem}.booking-hero-main h2{font-size:1.15rem}.booking-hero-tools{display:none}.booking-mobile-actions{position:sticky;bottom:8px;z-index:55;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 0;padding:8px;border-radius:19px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:0 16px 36px rgba(40,39,48,.14)}.booking-mobile-actions .btn{min-height:46px}.admin-top.dashboard-head{display:block}.dashboard-head .actions{margin-top:13px}.dashboard-head .actions .btn{flex:1}.search-result-item{grid-template-columns:38px 1fr auto}.result-icon{width:38px;height:38px}.admin-main{padding-bottom:24px}}
@media(max-width:420px){.dashboard-kpis{grid-template-columns:1fr}.dash-kpi{grid-template-columns:42px 1fr}.dashboard-head .actions{display:grid;grid-template-columns:1fr 1fr}.dashboard-head .actions .btn:first-child{grid-column:1/-1}.booking-hero-badges .payment-status{display:none}}

/* v0.9.1 — fluxo público simplificado */
.express-booking .form-shell{max-width:820px}.express-head .progress{grid-template-columns:repeat(3,1fr)}.express-head .progress-labels{grid-template-columns:repeat(3,1fr)}
.compact-services{grid-template-columns:repeat(2,1fr)}.compact-services .service-option label{min-height:0;padding:15px 16px}.compact-services .service-option label:before{width:32px;height:32px;margin-bottom:8px}.compact-services .service-option span{display:block;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-services .service-option small{display:block;margin-top:7px;color:var(--pink-dark);font-size:.72rem;font-weight:800}
.schedule-pick{margin-top:22px;padding:20px;border-radius:22px;background:linear-gradient(135deg,#fff9fa,#f3fdfd);border:1px solid #f0e1e5}.schedule-pick .field:last-child{margin-bottom:0}.selected-slot-hint{margin-top:10px;padding:10px 12px;border-radius:12px;background:#eafaf5;color:#0b7258;font-size:.82rem}.single-next{justify-content:flex-end}
.essential-contact{margin-top:4px}.city-field{max-width:420px}.optional-details{margin:8px 0 18px;border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden}.optional-details summary{list-style:none;cursor:pointer;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--navy);font-weight:800}.optional-details summary::-webkit-details-marker{display:none}.optional-details summary small{color:var(--muted);font-weight:600;font-size:.72rem;text-align:right}.optional-details[open] summary{background:#fff8fa;border-bottom:1px solid #f3e7ea}.optional-details-body{padding:17px}.grid-3.compact-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.express-estimate{margin-top:12px}.express-summary{background:linear-gradient(135deg,#fffafa,#fbffff)}.review-edit-row{display:flex;justify-content:flex-end;gap:16px;margin:10px 3px 0}.text-action{border:0;background:transparent;color:var(--pink);font-weight:800;font-size:.76rem;cursor:pointer;padding:7px 0}.simple-confirm-note{margin-top:18px}.submit-big{min-width:220px}
@media(max-width:680px){.express-booking .booking-top{margin-bottom:8px}.express-head{padding-bottom:14px}.express-head h1{font-size:1.72rem;margin-top:10px}.express-head p{font-size:.82rem;padding-right:24px}.express-head .progress{margin-top:16px}.compact-services{grid-template-columns:1fr 1fr;gap:9px}.compact-services .service-option label{padding:12px;min-height:112px;border-radius:16px}.compact-services .service-option label:before{display:none}.compact-services .service-option strong{font-size:.84rem;padding-right:18px}.compact-services .service-option span{font-size:.72rem;-webkit-line-clamp:2}.compact-services .service-option small{font-size:.65rem}.schedule-pick{padding:14px;margin:18px -2px 0;border-radius:18px}.slots{grid-template-columns:repeat(3,1fr);gap:8px}.slot{padding:11px 5px}.step-title{margin-bottom:15px}.step-title h2{font-size:1.3rem}.step-title p{font-size:.8rem}.step-badge{width:36px;height:36px;border-radius:12px}.optional-details summary{display:grid;gap:3px;padding:14px}.optional-details summary small{text-align:left}.grid-3.compact-detail-grid{grid-template-columns:repeat(3,1fr);gap:7px}.compact-detail-grid .field label{font-size:.72rem}.compact-detail-grid .field input,.compact-detail-grid .field select{padding:11px 8px}.review-edit-row{justify-content:space-between;gap:10px}.submit-big{min-width:0;flex:1}.step-actions .btn.ghost{flex:0 0 auto}.express-summary .summary-row{display:grid;gap:3px}.express-summary .summary-row strong{text-align:left}.simple-confirm-note{font-size:.8rem}}
@media(max-width:390px){.compact-services{grid-template-columns:1fr}.compact-services .service-option label{min-height:0}.grid-3.compact-detail-grid{grid-template-columns:1fr 1fr}.compact-detail-grid .field:last-child{grid-column:1/-1}.slots{grid-template-columns:repeat(2,1fr)}}


/* v0.9.2 — contato rápido por WhatsApp nas solicitações */
.required-mark{color:var(--pink);font-weight:900}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:.7rem;line-height:1.35}
.wa-svg{width:20px;height:20px;display:block}.wa-icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:13px;background:#25D366;color:#fff;border:1px solid rgba(0,0,0,.04);box-shadow:0 7px 18px rgba(37,211,102,.18);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.wa-icon-btn:hover{transform:translateY(-1px);filter:saturate(1.06);box-shadow:0 10px 22px rgba(37,211,102,.25)}.wa-icon-btn.compact{width:34px;height:34px;border-radius:11px}.wa-icon-btn.compact .wa-svg{width:18px;height:18px}.wa-inline-icon{width:26px;height:26px;display:inline-grid;place-items:center;border-radius:9px;background:#e9fbef;color:#179c4f;vertical-align:middle;margin-left:6px}.wa-inline-icon .wa-svg{width:16px;height:16px}.phone-with-wa{display:inline-flex;align-items:center;gap:2px}.notification-actions{display:flex;align-items:center;gap:8px}.notification-phone{color:#168f4d!important;font-weight:750}.mini-wa{display:inline-flex;align-items:center;gap:6px;color:#168f4d!important}.mini-wa .wa-svg{width:17px;height:17px}.attention-item-actions{grid-template-columns:38px 1fr 34px}.attention-main{min-width:0;display:grid}.attention-main strong,.attention-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-main strong{font-size:.8rem;color:var(--navy)}.attention-main small{font-size:.67rem;color:var(--muted)}
@media(max-width:680px){.notification-card{align-items:center}.notification-actions{gap:6px}.wa-icon-btn{width:42px;height:42px}.phone-with-wa{gap:4px}.mini-wa{font-size:.67rem}.attention-item-actions{grid-template-columns:38px 1fr 36px}}
@media(max-width:680px){.notification-actions{grid-column:1/-1;justify-content:flex-end;width:100%}.notification-actions .btn{grid-column:auto;min-height:42px}.notification-phone{font-size:.74rem!important}}


/* v0.9.3 — auditoria geral de UI/UX */
:root{
  --primary:#d7185c;
  --primary-dark:#b70f49;
  --success-strong:#0b866d;
  --focus:rgba(10,126,121,.42);
  --admin-bg:#f7f5f6;
  --panel-border:#eadfe3;
}
html{font-synthesis:none;text-rendering:optimizeLegibility}
body{min-height:100vh;-webkit-font-smoothing:antialiased}
::selection{background:#ffd5e2;color:var(--navy)}
.sr-only{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}
.skip-link{position:fixed;left:16px;top:12px;z-index:9999;transform:translateY(-150%);padding:10px 14px;border-radius:12px;background:#fff;color:var(--navy);font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:transform .15s}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,.btn:focus-visible,.slot:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
button:disabled,.btn[aria-disabled="true"],.btn.disabled{cursor:not-allowed;opacity:.52;transform:none!important;box-shadow:none!important}
.btn{background:linear-gradient(135deg,#e22663,var(--primary-dark));box-shadow:0 10px 24px rgba(199,18,78,.18)}
.btn:hover{box-shadow:0 14px 30px rgba(199,18,78,.24)}
.btn.success{background:linear-gradient(135deg,var(--success-strong),#076c5d);box-shadow:0 10px 24px rgba(11,134,109,.17)}
.btn.secondary{background:#e9f8f8;color:#086f6c;border:1px solid #caece9}
.btn.danger{background:#b4233c;color:#fff}
.field input[type="checkbox"],.field input[type="radio"]{width:auto!important;min-width:18px;height:18px;padding:0;margin:0 8px 0 0;vertical-align:-3px;accent-color:var(--primary)}
.field label>input[type="checkbox"],.field label>input[type="radio"]{display:inline-block}
.field input,.field select,.field textarea{min-height:48px}
.field textarea{min-height:112px}
.field input::placeholder,.field textarea::placeholder{color:#9ba5ae}
.field input:disabled,.field select:disabled,.field textarea:disabled{background:#f5f3f4;color:#7b858e;cursor:not-allowed}
.notice{position:relative;padding-left:44px;line-height:1.45}
.notice:before{position:absolute;left:15px;top:13px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:900}
.notice.info:before{content:"i";background:#d8f1f9;color:#22546f}
.notice.success:before{content:"✓";background:#d7f2e8;color:#146b57}
.notice.error:before{content:"!";background:#f4d5dc;color:#9b3042}
.notice.warning:before{content:"!";background:#f4e4b8;color:#8d5c16}

/* Público */
.site-header{box-shadow:0 3px 18px rgba(40,39,48,.04)}
.nav-links .btn{min-height:44px}
.hero-actions .btn:first-child{min-width:210px}
.public-ui .card,.public-ui .step-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.public-ui .card:hover,.public-ui .step-card:hover{transform:translateY(-3px);border-color:#e8cfd7;box-shadow:0 18px 42px rgba(88,45,67,.1)}
.booking-page{background:linear-gradient(180deg,#fffafb 0%,#fff 45%,#f7fbfb 100%)}
.form-shell{box-shadow:0 22px 60px rgba(65,43,54,.1)}
.form-head{background:linear-gradient(135deg,#fff3f6 0%,#f2fbfb 60%,#f8f2ff 100%)}
.form-head h1{max-width:720px}
.progress span{height:6px}
.progress span.active{background:linear-gradient(90deg,#e22663,var(--primary-dark))}
.step-title{align-items:center}
.step-badge{box-shadow:inset 0 0 0 1px #f3dce4}
.service-option label{box-shadow:0 4px 14px rgba(62,42,51,.025)}
.service-option input:checked+label{border-color:var(--primary);box-shadow:0 0 0 3px rgba(215,24,92,.08),0 10px 24px rgba(88,45,67,.06)}
.service-option input:checked+label:after{background:var(--primary)}
.slot{min-height:48px}
.slot.selected{background:linear-gradient(135deg,#087a75,#075f5c);border-color:#087a75}
.selected-slot-hint{border:1px solid #d1eee5}
.optional-details summary{min-height:56px}
.summary{background:#fff;border-color:#eadfe3}
.summary-row strong{max-width:68%}
.client-actions{box-shadow:0 8px 24px rgba(50,48,53,.045)}
.public-status-hero{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#fff8fa,#f0fbfb);margin-bottom:18px}
.public-status-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:1.25rem;font-weight:900;background:#fff1d9;color:#92610f}
.public-status-icon.confirmed{background:#e4f7f0;color:#08745a}
.public-status-icon.completed{background:#e8f3ff;color:#2d648e}
.public-status-icon.cancelled{background:#ffecef;color:#a0384a}
.public-status-hero strong{display:block;color:var(--navy);font-family:'Playfair Display',serif;font-size:1.18rem}
.public-status-hero span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.public-next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.public-next-step{padding:14px;border:1px solid var(--border);border-radius:16px;background:#fff}
.public-next-step b{display:block;color:var(--navy);font-size:.82rem}
.public-next-step span{display:block;color:var(--muted);font-size:.72rem;margin-top:3px}

/* Admin shell */
body.admin-ui{background:var(--admin-bg)}
body.admin-ui:before{display:none}
.admin-layout{grid-template-columns:270px minmax(0,1fr);background:var(--admin-bg)}
.sidebar{padding:20px 15px;background:linear-gradient(180deg,#15364f 0%,#102f47 72%,#0e293e 100%);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.sidebar-head{min-height:48px}
.sidebar .brand{margin:0}
.sidebar-create{display:flex;align-items:center;gap:9px;margin:18px 5px 12px;padding:11px 13px;border-radius:14px;background:linear-gradient(135deg,#e22663,var(--primary-dark));color:#fff;font-size:.82rem;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.sidebar-create span{font-size:1.1rem}
.sidebar-search{margin:0 5px 15px}
.nav-section{display:block;padding:12px 14px 5px;color:#8fa9b8;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}
.side-nav{gap:3px}
.side-nav a,.nav-logout button{min-height:42px}
.side-nav a:hover{background:rgba(255,255,255,.075)}
.side-nav a.active{background:rgba(255,255,255,.115);box-shadow:inset 3px 0 0 #ff7184}
.admin-main{min-width:0;padding:28px 28px 40px}
.admin-content{width:min(100%,1480px);margin:0 auto}
.admin-top{margin-bottom:20px}
.admin-top h1{font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:1.1}
.admin-top .section-copy{margin-top:6px;margin-bottom:0}
.admin-top>.actions{margin-bottom:0;justify-content:flex-end}
.admin-panel,.stat,.payment-row,.recurring-card,.table-wrap{border-color:var(--panel-border);box-shadow:0 8px 26px rgba(47,43,50,.045)}
.admin-panel{border-radius:20px}
.panel-title{align-items:center}
.panel-title h2{line-height:1.15}
.stats{gap:12px}
.stat{padding:17px}
.table-wrap{border-radius:18px}
table{font-variant-numeric:tabular-nums}
th{position:sticky;top:0;z-index:2;background:#fff8fa}
tbody tr{transition:background .14s}
tbody tr:hover{background:#fffafb}
td{line-height:1.45}
.actions{margin-bottom:0}
.filter-pills{overflow:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:none}
.filter-pills a{white-space:nowrap}
.filter-pills a.active{background:linear-gradient(135deg,#e22663,var(--primary-dark))}
.admin-list-toolbar{position:sticky;top:10px;z-index:8;padding:8px;border:1px solid var(--panel-border);border-radius:17px;background:rgba(247,245,246,.94);backdrop-filter:blur(10px)}
.list-search{border-color:var(--panel-border)}
.empty-state{background:#fdfbfc;color:#77828c}
.payment-row:hover,.recurring-card:hover{border-color:#ddccd2}
.booking-hero-admin{background:linear-gradient(135deg,#15364f 0%,#104b59 100%);box-shadow:0 14px 34px rgba(21,54,79,.12)}
.booking-primary-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-2px 0 18px;padding:15px 17px;border:1px solid var(--panel-border);border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(47,43,50,.045)}
.booking-primary-copy{min-width:0}
.booking-primary-copy span{display:block;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.booking-primary-copy strong{display:block;color:var(--navy);font-size:.98rem;margin-top:2px}
.booking-primary-copy small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}
.booking-primary-actions>.actions{justify-content:flex-end}
.booking-primary-actions form{margin:0}
.settings-form>.card{border-color:var(--panel-border);box-shadow:0 8px 26px rgba(47,43,50,.04)}
.settings-form>.card h3{font-family:'Playfair Display',serif;font-size:1.2rem}
.settings-save-bar{position:sticky;bottom:14px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 0;padding:12px 14px;border:1px solid var(--panel-border);border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 12px 34px rgba(42,40,47,.12)}
.settings-save-bar span{color:var(--muted);font-size:.76rem}
.admin-bottom-nav{display:none}

/* Login */
.login-card{box-shadow:0 24px 70px rgba(47,33,41,.12)}
.login-card .brand{margin-bottom:4px}

/* Mobile geral */
@media(max-width:900px){
  .admin-main{padding:0 16px 96px}
  .admin-content{width:100%}
  .admin-mobile-bar{margin:0 -16px 18px;padding:0 14px}
  .sidebar-create{margin-top:14px}
  .nav-section{padding-top:14px}
  .admin-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:95;padding:6px;border:1px solid rgba(222,209,215,.94);border-radius:20px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(33,31,37,.18)}
  .admin-bottom-nav a,.admin-bottom-nav button{min-width:0;height:54px;border:0;background:transparent;border-radius:14px;color:#6c7781;display:grid;place-items:center;align-content:center;gap:1px;font:inherit;cursor:pointer}
  .admin-bottom-nav span{font-size:1rem;line-height:1}
  .admin-bottom-nav small{font-size:.58rem;font-weight:800}
  .admin-bottom-nav .active{color:var(--primary);background:#fff0f4}
  .admin-bottom-nav .admin-bottom-create{margin-top:-18px;height:62px;background:linear-gradient(135deg,#e22663,var(--primary-dark));color:#fff;box-shadow:0 9px 24px rgba(199,18,78,.24);border-radius:18px}
  .admin-bottom-nav .admin-bottom-create span{font-size:1.5rem}
  .admin-bottom-nav .admin-bottom-create small{color:#fff}
  .booking-mobile-actions{bottom:78px}
  .admin-list-toolbar{top:72px}
}
@media(max-width:680px){
  .site-header{backdrop-filter:blur(14px)}
  .hero{padding-top:30px}
  .hero-slogan{font-size:1.75rem}
  .trust-row{display:grid;grid-template-columns:1fr 1fr}
  .mobile-cta{bottom:calc(10px + env(safe-area-inset-bottom))}
  .form-shell{width:calc(100% - 16px);border-radius:22px}
  .form-body{padding:18px}
  .step-actions{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .step-actions .btn{min-height:50px}
  .summary-row{align-items:flex-start}
  .summary-row strong{max-width:64%;overflow-wrap:anywhere}
  .public-next-steps{grid-template-columns:1fr}
  .client-actions .actions{display:grid;grid-template-columns:1fr 1fr}
  .client-actions .actions .btn{width:100%}
  .admin-top{display:block}
  .admin-top>.actions{margin-top:12px;display:flex;justify-content:flex-start}
  .admin-top>.actions .btn{flex:1}
  .admin-panel{padding:14px}
  .panel-title{gap:10px}
  .notification-card{padding:12px 0}
  .request-actions{gap:7px}
  .booking-primary-actions{display:block;padding:14px}
  .booking-primary-actions>.actions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}
  .booking-primary-actions>.actions .btn,.booking-primary-actions>.actions form,.booking-primary-actions>.actions form .btn{width:100%}
  .booking-primary-actions>.actions>*:only-child{grid-column:1/-1}
  .settings-save-bar{bottom:80px;display:grid;grid-template-columns:1fr auto}
  .settings-save-bar span{font-size:.68rem}
  .filter-pills{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .table-wrap{box-shadow:none}
}
@media(max-width:420px){
  .trust-row{grid-template-columns:1fr}
  .admin-bottom-nav{left:5px;right:5px}
  .admin-bottom-nav small{font-size:.54rem}
  .booking-primary-actions>.actions{grid-template-columns:1fr}
  .settings-save-bar{grid-template-columns:1fr}
  .settings-save-bar .btn{width:100%}
}

.config-jump{position:sticky;top:10px;z-index:20;display:flex;gap:7px;overflow:auto;margin:-4px 0 14px;padding:8px;border:1px solid var(--panel-border);border-radius:16px;background:rgba(247,245,246,.94);backdrop-filter:blur(12px);scrollbar-width:none}
.config-jump a{white-space:nowrap;padding:8px 11px;border-radius:11px;background:#fff;border:1px solid var(--panel-border);color:#5f6c77;font-size:.7rem;font-weight:800}
.config-jump a:hover{color:var(--primary);border-color:#e7bac8}
.settings-form>.card{scroll-margin-top:90px}
@media(max-width:900px){.config-jump{top:72px;margin-left:-16px;margin-right:-16px;border-radius:0;border-left:0;border-right:0;padding-left:16px;padding-right:16px}}

.admin-ui .card{overflow:visible;border-color:var(--panel-border);box-shadow:0 8px 26px rgba(47,43,50,.04)}
.admin-ui .card:after{display:none}
.day-number .day-link{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;font-weight:800}
.today .day-number .day-link{background:linear-gradient(135deg,#e22663,var(--primary-dark));color:#fff}
@media(max-width:680px){
  .month-view{overflow:visible}
  .calendar-weekdays,.calendar-grid{min-width:0}
  .calendar-weekdays div{padding:7px 2px;font-size:.58rem}
  .calendar-day{min-height:78px;padding:5px}
  .day-number{display:grid;justify-content:center;text-align:center;margin-bottom:5px}
  .day-number small{display:block!important;font-size:.5rem;line-height:1.15;white-space:nowrap;max-width:42px;overflow:hidden;text-overflow:ellipsis}
  .day-number .day-link{width:28px;height:28px;margin:auto;font-size:.72rem}
  .day-events{display:flex;justify-content:center;align-items:center;gap:3px;flex-wrap:wrap}
  .calendar-event{display:block;width:9px;height:9px;padding:0;border:0;border-radius:99px;background:var(--gold);font-size:0;overflow:hidden}
  .calendar-event.confirmed{background:var(--turquoise)}
  .calendar-event.completed{background:var(--pool)}
  .calendar-event strong,.calendar-event span{display:none!important}
  .calendar-block{width:9px;height:9px;padding:0;border-radius:99px;font-size:0;background:#8a929b}
  .more-events{font-size:.5rem}
}


/* v0.9.4 — hotfix de layout do painel e proteção contra CSS antigo em cache */
@media (min-width:901px){
  .admin-layout{
    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    min-height:100vh;
    width:100%;
  }
  .admin-layout>.sidebar{
    grid-column:1;
    grid-row:1;
    width:270px;
    min-width:270px;
  }
  .admin-layout>.admin-main{
    grid-column:2;
    grid-row:1;
    min-width:0;
    width:100%;
    max-width:none;
  }
  .admin-main>.admin-content{
    width:min(100%,1480px);
    max-width:1480px;
    margin-inline:auto;
  }
  .admin-mobile-bar,
  .admin-bottom-nav,
  .admin-backdrop{
    display:none!important;
  }
  .notification-grid{
    width:100%;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
}
@media (max-width:900px){
  .admin-layout{display:block;width:100%}
  .admin-main{width:100%;min-width:0}
  .admin-backdrop{display:block}
}

/* v1.0 — Mercado Pago / Pix automático */
.gateway-config{margin-top:18px;padding:18px;border:1px solid #eadfe4;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fff9fb 100%)}
.gateway-config .panel-title{margin-bottom:12px}
.gateway-config h3{margin:0}
.manual-payment-fallback{margin-top:18px;padding-top:16px;border-top:1px dashed #e5d7dd}
.manual-payment-fallback h4{margin:0 0 12px;color:var(--navy)}
.copy-field{display:flex;gap:8px;align-items:center}
.copy-field input{flex:1;min-width:0}
.payment-shell{max-width:760px}
.mp-pix-card{margin-top:18px;padding:20px;border:1px solid #eadbe2;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fff8fb 100%);box-shadow:0 14px 36px rgba(40,31,38,.07)}
.pix-qr{display:block;width:min(280px,82vw);height:auto;margin:18px auto;border:10px solid #fff;border-radius:18px;box-shadow:0 10px 28px rgba(30,29,34,.1)}
.mp-pix-card textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.45;resize:none;word-break:break-all}
.payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.refresh-payment{margin-top:10px}
.payment-helper{text-align:center;color:var(--muted);font-size:.75rem;margin:10px 0 0}
.payment-approved{text-align:center;padding:18px 4px}
.payment-approved h2{font-family:'Playfair Display',serif;color:var(--navy);margin:8px 0 4px;font-size:1.7rem}
.payment-approved p{color:var(--muted);margin:0 0 14px}
.pix-start-form{margin-top:18px}
.gateway-status-card{margin-top:14px;padding:14px;border:1px solid #e8dce2;border-radius:16px;background:#fffafb}
.gateway-status-card .detail-list{margin-top:8px}
.gateway-status-error{margin-top:10px}
@media(max-width:680px){
  .copy-field{display:grid;grid-template-columns:1fr auto}
  .payment-actions{grid-template-columns:1fr}
  .mp-pix-card{padding:16px}
}

.gateway-refresh-form{margin-top:12px}

.gateway-health{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.gateway-health span{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:700}
.gateway-health .health-ok{background:#e8fbf7;color:#087a70;border:1px solid #bceee6}
.gateway-health .health-warn{background:#fff4e5;color:#8a5412;border:1px solid #f6d7a5}
.gateway-test-form{margin-top:10px}

/* v1.0.1 — configuração persistente do Mercado Pago */
.gateway-config-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}
@media(max-width:680px){.gateway-config-actions .btn{width:100%;justify-content:center}}
