:root{--brown:#2b1a12;--gold:#c7a064;--gold-dark:#896337;--cream:#f8f4ee;--paper:#fffdf9;--ink:#241813;--muted:#6f625b;--border:#dfd3c3;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans)}a{color:var(--gold-dark);text-underline-offset:3px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}header{background:var(--brown);color:var(--cream);padding:20px max(24px,calc((100vw - 1150px)/2));display:flex;align-items:center;gap:32px;min-height:92px}.brand{display:flex;flex-direction:column;text-align:center;text-decoration:none;color:var(--gold);line-height:1.15}.brand span{font:600 25px var(--serif);letter-spacing:.16em}.brand i{font:italic 14px var(--serif);letter-spacing:.28em}header nav{margin-left:auto;display:flex;gap:24px}header nav a{color:#eadbc9;font-size:14px;text-decoration:none}.header-caption{font:italic 18px var(--serif);color:#d4b98f}main{max-width:1150px;margin:auto;padding:40px 24px 64px;min-height:75vh}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2}h1{font-size:clamp(32px,4vw,46px);margin:8px 0 14px}h2{font-size:26px;margin:0 0 10px}h3{font-size:22px}.eyebrow{color:var(--gold-dark);font-size:13px;font-weight:700;letter-spacing:.18em;margin:0 0 10px}.page-heading{margin-bottom:28px}.page-heading>p:last-child,.section-title p{color:var(--muted);margin:4px 0}.panel{background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:28px;margin-bottom:24px}.booking-shell{max-width:920px;margin:auto}.stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.stepper span{position:relative;padding:11px 14px;border-bottom:3px solid var(--border);color:var(--muted);font-size:14px}.stepper span.current{border-color:var(--gold-dark);color:var(--brown)}.stepper span.done{border-color:var(--gold);color:var(--gold-dark)}.stepper b{margin-left:6px}.wizard-stage{overflow:hidden}.wizard-card{min-height:450px}.wizard-slide{will-change:transform,opacity}.slide-next{animation:slideNext .32s ease}.slide-back{animation:slideBack .32s ease}@keyframes slideNext{from{opacity:.35;transform:translateX(45px)}to{opacity:1;transform:none}}@keyframes slideBack{from{opacity:.35;transform:translateX(-45px)}to{opacity:1;transform:none}}.section-title{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.number{color:var(--gold-dark);font-size:14px;border:1px solid var(--border);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex:none}.services{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service{background:#fff;text-align:left;border:1px solid var(--border);border-radius:7px;padding:18px;color:var(--ink);display:flex;flex-direction:column;gap:8px;min-height:105px}.service strong{font:400 20px/1.3 var(--serif)}.service:hover,.slot:hover,.week-day:hover:not(:disabled){border-color:var(--gold-dark)}.service.selected,.slot.selected,.week-day.selected{background:#f1e5d4;border-color:var(--gold-dark);box-shadow:inset 0 0 0 1px var(--gold-dark)}.muted,.hint,small{color:var(--muted)}.hint,small{font-size:14px}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.week-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:16px}.icon-button{width:44px;padding:7px;font-size:24px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-day{border:1px solid var(--border);border-radius:7px;background:#fff;padding:10px 4px;display:flex;flex-direction:column;align-items:center;color:var(--ink)}.week-day span{font-size:12px;text-transform:uppercase;color:var(--muted)}.week-day strong{font:25px var(--serif)}.week-day small{font-size:11px}.week-day:disabled{background:#f3eee8}.slots{display:flex;flex-wrap:wrap;gap:9px;min-height:95px;align-content:flex-start;margin-top:24px}.slot{border:1px solid var(--border);border-radius:5px;background:#fff;padding:10px 16px}.slots p{width:100%}.final-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:28px}.booking-summary{background:#f5eee4;border-radius:8px;padding:22px;align-self:start}.booking-summary h3{margin:6px 0 18px}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;min-height:44px;padding:10px 18px;text-decoration:none;font-size:14px;font-weight:600;border:1px solid transparent}.primary{background:var(--brown);color:#fff}.secondary{border-color:var(--border);color:var(--brown);background:var(--paper)}.danger{background:#f7e5df;color:#822f24;border-color:#e8bdb0}.full{width:100%}label{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;font-size:14px;font-weight:600}input,select{min-width:0;width:100%;border:1px solid var(--border);border-radius:5px;padding:11px 12px;color:var(--ink);background:#fff;font-size:16px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.wide{grid-column:1/-1}.birthday{display:flex;gap:16px;border:0;padding:0;margin:0}.birthday label:first-of-type{width:100px}.birthday label:last-of-type{flex:1}.birthday legend{font-size:14px;font-weight:600;margin-bottom:10px}.check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}.check input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--brown)}.empty{padding:24px 10px;color:var(--muted);text-align:center}.success{max-width:680px;margin:40px auto;text-align:center;padding:50px 30px}.success p{margin:20px 0}.large{font-size:22px}.login{max-width:460px;margin:36px auto}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:26px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:12px 2px;color:var(--muted)}.tabs button.current{border-color:var(--gold-dark);color:var(--brown);font-weight:600}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:22px}.stats>div{display:flex;align-items:center;gap:18px;border-left:2px solid var(--gold);padding-left:18px}.stats strong{font:36px var(--serif)}.stats span{font-size:14px;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;flex-wrap:wrap}.admin-actions{justify-content:flex-end}.calendar-panel{padding:22px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.calendar-move,.calendar-controls{display:flex;align-items:center;gap:10px}.calendar-move h2{text-transform:capitalize;text-align:center;min-width:230px;margin:0}.calendar-controls input{width:auto}.view-switch{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-switch button{border:0;border-right:1px solid var(--border);background:#fff;padding:9px 13px}.view-switch button:last-child{border:0}.view-switch button.current{background:var(--brown);color:#fff}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays span{font-size:13px;color:var(--muted);text-align:center;padding:10px}.calendar{border-top:1px solid var(--border);border-left:1px solid var(--border)}.day{min-height:125px;padding:7px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0}.day.outside{background:#f3eee7}.day-number{display:grid;place-items:center;border:0;background:none;width:29px;height:29px;border-radius:50%;margin-bottom:6px}.today .day-number{background:var(--brown);color:#fff}.event,.birthday-event{width:100%;display:block;text-align:left;border:0;border-radius:3px;font-size:12px;padding:5px 7px;margin-bottom:5px;overflow-wrap:anywhere}.event small{display:block;font-size:12px;color:inherit}.pending{background:#f5e5c9;color:#765015}.confirmed{background:#e2ebe4;color:#315440}.cancelled,.rejected{background:#eee6e2;color:#75584b}.birthday-event{background:#f2e2e8;color:#754358}.legend{display:flex;gap:15px;align-items:center;margin:0 0 15px;font-size:13px}.badge{border-radius:20px;padding:4px 10px;font-size:12px;white-space:nowrap}.booking-row{width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;border:0;border-bottom:1px solid var(--border);text-align:left;background:transparent;padding:20px 8px;color:var(--ink);font-size:14px}.booking-row strong,.booking-row small{display:block}.filters{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.filters label:first-child{flex:1;min-width:200px}.service-form{display:grid;grid-template-columns:minmax(180px,1fr) 95px 115px 125px auto;gap:12px;align-items:end;border-top:1px solid var(--border);padding:22px 0}.service-form label{margin:0}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.link{background:none;border:0;color:var(--gold-dark);text-decoration:underline}dialog{border:1px solid var(--border);border-radius:10px;background:var(--paper);padding:32px;width:min(920px,calc(100vw - 32px));max-height:92vh;color:var(--ink)}dialog::backdrop{background:rgba(30,18,12,.55)}dialog .close{float:right;font-size:24px;padding:0 12px;position:sticky;top:0;z-index:2}#notice{display:none}#notice.show{display:block;position:fixed;z-index:10000;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--brown);color:#fff;padding:16px 24px;border-radius:5px;box-shadow:0 5px 25px #0003}#notice.error{background:#832f24}footer{max-width:1150px;margin:auto;border-top:1px solid var(--border);padding:24px;display:flex;gap:24px;color:var(--muted);font-size:14px}footer a{margin-left:auto}.honeypot{position:absolute;left:-10000px}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:#fff;padding:10px}.skip:focus{top:10px}
@media(max-width:800px){.final-grid{grid-template-columns:1fr}.calendar-panel{overflow-x:auto}.calendar,.weekdays{min-width:700px}.calendar-toolbar{align-items:flex-start}.service-form{grid-template-columns:1fr 90px 100px}.stats{gap:12px}.week-day small{display:none}}
@media(max-width:650px){header{padding:18px 20px}.header-caption{display:none}header nav{gap:14px}main{padding:28px 14px 45px}.panel{padding:20px}.services,.fields{grid-template-columns:1fr}.stepper b{display:none}.stepper span{text-align:center}.week-days{gap:4px}.week-day{padding:8px 2px}.week-day strong{font-size:21px}.stats{grid-template-columns:1fr}.calendar-controls{width:100%;justify-content:space-between}.calendar-move{width:100%;justify-content:space-between}.calendar-move h2{min-width:0;font-size:21px}.booking-row{align-items:flex-start;flex-wrap:wrap}.booking-row>span:first-child{width:100%}.service-form{grid-template-columns:1fr 1fr}.service-form>label:first-child{grid-column:1/-1}.tabs{overflow:auto}.tabs button{white-space:nowrap}.birthday label:first-of-type{width:82px}footer{flex-wrap:wrap}footer a{margin-left:0}dialog{padding:18px}}
@media(prefers-reduced-motion:reduce){.wizard-slide{animation:none}}

/* Navegação estável */
.week-nav{display:grid;grid-template-columns:44px minmax(150px,230px) 44px;width:min(100%,350px);margin:0 auto 18px;gap:12px}.week-nav strong{display:block;text-align:center;white-space:nowrap}.calendar-move{display:grid;grid-template-columns:44px 150px 44px;gap:8px}.calendar-move h2{min-width:0;width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 17px/1.2 var(--sans)}

/* Área de gestão */
.admin-main{max-width:1280px;background:#f5f6f8}.admin-main .admin-heading{margin-bottom:18px}.admin-main .admin-heading h1{font:700 30px/1.15 var(--sans);margin:2px 0}.admin-main .eyebrow{font:700 11px var(--sans);color:#7a8088}.admin-main .tabs{gap:6px;background:#fff;border:1px solid #dfe2e6;border-radius:8px;padding:5px;margin-bottom:20px}.admin-main .tabs button{padding:9px 15px;border:0;border-radius:5px}.admin-main .tabs button.current{background:#2f3338;color:#fff}.admin-main .panel{background:#fff;border-color:#e0e3e7;border-radius:8px;box-shadow:0 1px 2px #1f29370a}.calendar-overview{display:flex;align-items:stretch;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-main .stats{flex:1;margin:0;gap:10px}.admin-main .stats>div{background:#fff;border:1px solid #e0e3e7;border-left:1px solid #e0e3e7;border-radius:7px;padding:13px 16px;gap:10px}.admin-main .stats strong{font:700 25px var(--sans)}.calendar-overview .admin-actions{display:flex;align-items:center;gap:8px}.admin-main .calendar-toolbar{padding-bottom:16px;border-bottom:1px solid #eceef1}.admin-main .view-switch button.current{background:#34383d}.admin-main .primary{background:#34383d}.admin-main .calendar{border-color:#e5e7ea}.admin-main .day{border-color:#e5e7ea}.admin-main .day.outside{background:#f7f8f9}
.agenda-list{display:grid;gap:12px}.agenda-day{border:1px solid #e2e5e8;border-radius:7px;overflow:hidden;background:#fff}.agenda-day>header{min-height:auto;background:#f5f6f8;color:#30343a;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;gap:20px}.agenda-day>header div{display:flex;gap:10px;align-items:baseline}.agenda-day>header span{text-transform:capitalize;font-weight:700}.agenda-day>header strong,.agenda-day>header b{font-size:13px;color:#6d737c}.agenda-day.is-today>header{box-shadow:inset 3px 0 #896337}.agenda-day>div{padding:0 12px}.day-empty{color:#9297a0;font-size:13px;margin:12px 2px}.birthday-row{width:100%;border:0;border-top:1px solid #eceef1;background:#fff;padding:13px 8px;text-align:left;display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;color:#34383d}.birthday-row span{color:#754358;font-size:13px}.birthday-row small{font-size:13px}
input[type=date]{cursor:pointer}
@media(max-width:760px){.calendar-overview{display:block}.calendar-overview .admin-actions{margin-top:12px}.admin-main .stats{grid-template-columns:1fr}.calendar-move{grid-template-columns:44px minmax(110px,1fr) 44px;width:100%}.calendar-move h2{width:auto}.birthday-row{grid-template-columns:1fr}.agenda-day>header div{display:block}.admin-main .tabs{overflow-x:auto}}

/* Popups e agenda compacta */
#service-new{display:block}#service-new label,#service-new input{width:100%}dialog form{width:100%}
.agenda-day>summary,.agenda-day>header{min-height:auto;background:#f5f6f8;color:#30343a;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;gap:20px}.agenda-day>summary{cursor:pointer;list-style:none}.agenda-day>summary::-webkit-details-marker{display:none}.agenda-day>summary:before{content:'▾';margin-right:2px;color:#727780}.agenda-day:not([open])>summary:before{content:'▸'}.agenda-day>summary>div,.agenda-day>header>div{display:flex;gap:10px;align-items:baseline;flex:1}.agenda-day>summary span,.agenda-day>header span{text-transform:capitalize;font-weight:700}.agenda-day>summary strong,.agenda-day>summary b,.agenda-day>header strong,.agenda-day>header b{font-size:13px;color:#6d737c}.agenda-day.is-today>summary,.agenda-day.is-today>header{box-shadow:inset 3px 0 #896337}.agenda-day-body{padding:0 12px}.birthday-row{grid-template-columns:130px 1fr}.record-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 24px}.record-heading h2{margin:3px 0}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e4e6e9;border:1px solid #e4e6e9;border-radius:7px;overflow:hidden}.record-grid>div{display:flex;flex-direction:column;gap:4px;background:#fff;padding:16px;min-width:0}.record-grid small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7d838b}.record-grid strong,.record-grid a{overflow-wrap:anywhere}.record-actions{justify-content:flex-end;margin-top:22px}.history-title{margin-top:30px}.history-list{border-top:1px solid #e4e6e9}.history-list>div{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:16px;align-items:center;padding:13px 4px;border-bottom:1px solid #e4e6e9}.history-service{display:flex;min-width:0;flex-direction:column;gap:4px}.history-service strong{overflow-wrap:anywhere}.history-service small,.history-date{font-size:13px;color:#6f757d}.history-service small{display:block}
@media(max-width:650px){#service-new,.record-grid{grid-template-columns:1fr}.history-list>div{grid-template-columns:minmax(0,1fr) auto}.history-date{grid-column:1}.history-list .badge{grid-column:2;grid-row:1/3}.agenda-day>summary>div,.agenda-day>header>div{display:block}.record-heading{display:block}.record-heading>.badge{display:inline-block;margin-top:8px}}

/* Sistema visual da gestão */
body:has(.admin-main){background:#f5f6f8}body:has(.admin-main) footer span{display:none}.admin-main{font-size:14px}.admin-main h2,.admin-main h3{font-family:var(--sans);font-weight:700;color:#2f343a}.admin-main .panel{padding:22px}.admin-main input,.admin-main select,dialog input,dialog select{border-color:#d9dde2;border-radius:6px;min-height:42px}.admin-main .secondary,.admin-main .primary,.admin-main .danger,dialog .secondary,dialog .primary,dialog .danger{border-radius:6px}.admin-main .toolbar h2{margin:0}.admin-main .filters{background:#f7f8f9;border:1px solid #e4e7ea;border-radius:7px;padding:14px}.admin-main .filters label{margin:0}.admin-main .service-form{border-color:#e6e8eb}.admin-main .service-form:hover{background:#fafbfc}.admin-main .booking-row{display:grid;grid-template-columns:minmax(220px,1fr) 180px 105px;gap:20px;align-items:center;padding:14px 10px;border-color:#e6e8eb}.admin-main .booking-row:hover{background:#f7f8fa}.agenda-day .booking-row>span:nth-child(2){font-variant-numeric:tabular-nums}.agenda-day .booking-row{grid-template-columns:minmax(220px,1fr) 80px 105px}.record-heading{padding-right:58px;align-items:center}.record-status{display:inline-flex;align-items:center;gap:8px;border-radius:6px;padding:9px 13px;font-size:13px;font-weight:700;white-space:nowrap}.record-status i{width:8px;height:8px;border-radius:50%;background:currentColor}.record-status.confirmed{background:#e2ebe4;color:#315440}.record-status.pending{background:#f5e5c9;color:#765015}.record-status.cancelled,.record-status.rejected{background:#eee6e2;color:#75584b}.confirm-dialog{text-align:center;max-width:520px;margin:auto;padding:12px 8px}.confirm-dialog .confirm-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;background:#f7e5df;color:#8b3025;font-size:24px;font-weight:800}.confirm-dialog h2{font-family:var(--sans);font-weight:700}.confirm-dialog>p{color:#626871}.confirm-dialog .actions{justify-content:center;margin-top:24px}
@media(max-width:700px){.admin-main .booking-row,.agenda-day .booking-row{grid-template-columns:1fr 70px}.admin-main .booking-row>span:last-child{grid-column:2;grid-row:1}.admin-main .booking-row>span:first-child{width:auto}.record-heading{padding-right:45px}.record-status{margin-top:10px}.admin-main .service-form{grid-template-columns:1fr}.admin-main .service-form>label:first-child{grid-column:auto}}
.form-actions,.service-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-actions{flex-wrap:nowrap}.service-actions .secondary,.service-actions .danger{padding-inline:14px}
@media(max-width:700px){.service-actions{justify-content:flex-start}.form-actions>*{flex:1}}

/* Cabeçalho alinhado dos popups de marcação */
dialog{position:relative}dialog .close{position:absolute;top:32px;right:32px;float:none;width:44px;height:44px;min-height:44px;padding:0}.record-heading{align-items:flex-start;padding-right:0}.record-status{min-height:44px;margin-right:56px;padding:9px 14px;align-self:flex-start}
@media(max-width:650px){dialog .close{top:18px;right:18px}.record-status{margin-right:52px;margin-top:0}.record-heading{padding-right:0}}

/* Paleta exclusiva da área de gestão */
body:has(.admin-main),body:has(#login){--admin-bg:#f3f5f7;--admin-surface:#ffffff;--admin-text:#17202a;--admin-muted:#667085;--admin-border:#d8dee6;--admin-primary:#2457a7;--admin-primary-hover:#1c478b;--admin-soft:#edf2f7;--admin-success-bg:#e7f4ec;--admin-success:#17633a;--admin-warning-bg:#fff3d8;--admin-warning:#805400;--admin-danger-bg:#fbe9e8;--admin-danger:#a02d2a;--admin-birthday-bg:#f1ebfa;--admin-birthday:#684097;background:var(--admin-bg);color:var(--admin-text)}
body:has(.admin-main)>header,body:has(#login)>header{display:none}
.admin-main .legend{gap:10px}.admin-main .legend button{border:1px solid transparent;font:inherit;cursor:pointer;transition:opacity .15s,box-shadow .15s,background .15s}.admin-main .legend button.selected{box-shadow:inset 0 0 0 1px currentColor}.admin-main .legend button:not(.selected){background:#fff;color:var(--admin-muted);border-color:var(--admin-border);opacity:.62}.admin-main .legend .birthday-filter.selected{background:var(--admin-birthday-bg);color:var(--admin-birthday)}
.service small{display:block;flex:1;line-height:1.45}.admin-main .service-form{grid-template-columns:minmax(180px,1fr) 90px 115px 115px 115px auto}.admin-main .service-description{grid-column:1/-1}
.mail-failure-count{background:#f8ded8!important;color:#8a261d!important}.mail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.mail-summary div{border:1px solid #dce2e9;border-radius:8px;padding:18px;background:#f8fafc}.mail-summary strong{display:block;font-size:26px;color:#1f2937}.mail-summary span{font-size:13px;color:#687386}.mail-list{border-top:1px solid #dce2e9}.mail-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr) auto;gap:16px;align-items:center;padding:17px 10px;border-bottom:1px solid #e5e9ee}.mail-recipient,.mail-time{display:flex;flex-direction:column;gap:5px;min-width:0}.mail-recipient strong,.mail-recipient small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row small{color:#687386}.mail-result{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.mail-result .retry-mail{padding:6px 10px;font-size:12px;white-space:nowrap}.mail-status{display:inline-flex;justify-content:center;min-width:76px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.mail-status.sent{background:#e2f2e8;color:#17643a}.mail-status.failed{background:#f8ded8;color:#8a261d}.mail-status.pending{background:#fff0cf;color:#7a4b00}.mail-error{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:6px;background:#fff3f1;color:#8a261d;font-size:13px;overflow-wrap:anywhere}@media(max-width:700px){.mail-summary{grid-template-columns:1fr}.mail-row{grid-template-columns:1fr auto}.mail-time{grid-column:1}.mail-result{grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end}.mail-status{grid-column:auto;grid-row:auto}}
.brand{min-width:100px;align-items:center;line-height:1}.brand .brand-main{position:relative;padding-bottom:.42rem;font:600 1.45rem var(--serif);letter-spacing:.16em}.brand .brand-main::after{content:"";position:absolute;bottom:0;left:50%;width:76px;height:1px;transform:translateX(-50%);background:currentColor;opacity:.86}.brand .brand-sub{display:block;margin-top:.3rem;font:italic .72rem var(--serif);letter-spacing:.28em}body:has(.admin-main)>header .brand,body:has(#login)>header .brand{color:var(--gold)}
body:has(.admin-main)>header,body:has(#login)>header{background:#18212c;color:#fff}body:has(.admin-main)>header .brand,body:has(#login)>header .brand{color:#fff}body:has(.admin-main)>header .header-caption,body:has(#login)>header .header-caption{color:#cbd3dc}body:has(.admin-main)>header nav a,body:has(#login)>header nav a{color:#e4e9ef}
.admin-main{background:var(--admin-bg);color:var(--admin-text)}.admin-main a{color:var(--admin-primary)}.admin-main .eyebrow{color:var(--admin-muted)}.admin-main .panel{background:var(--admin-surface);border-color:var(--admin-border);box-shadow:0 1px 3px #1018280d}.admin-main .tabs{background:var(--admin-surface);border-color:var(--admin-border)}.admin-main .tabs button{color:var(--admin-muted)}.admin-main .tabs button.current{background:var(--admin-text);color:#fff}.admin-main .primary{background:var(--admin-primary);border-color:var(--admin-primary);color:#fff}.admin-main .primary:hover{background:var(--admin-primary-hover)}.admin-main .secondary{background:#fff;border-color:var(--admin-border);color:#344054}.admin-main .secondary:hover{background:var(--admin-soft)}.admin-main .danger{background:var(--admin-danger-bg);border-color:#efc1bf;color:var(--admin-danger)}.admin-main input,.admin-main select{border-color:var(--admin-border);color:var(--admin-text)}.admin-main input:focus-visible,.admin-main select:focus-visible,.admin-main button:focus-visible{outline-color:#7aa7e8}.admin-main .stats>div{background:var(--admin-surface);border-color:var(--admin-border)}.admin-main .filters,.admin-main .agenda-day>summary,.admin-main .agenda-day>header{background:#f7f9fb;border-color:var(--admin-border)}.admin-main .calendar,.admin-main .day,.admin-main .service-form,.admin-main .booking-row,.admin-main .history-list,.admin-main .history-list>div{border-color:var(--admin-border)}.admin-main .day.outside{background:#f6f7f9}.admin-main .today .day-number{background:var(--admin-primary);color:#fff}.admin-main .view-switch{border-color:var(--admin-border)}.admin-main .view-switch button{border-color:var(--admin-border);color:#475467}.admin-main .view-switch button.current{background:var(--admin-primary);color:#fff}.admin-main .pending,.admin-main .event.pending{background:var(--admin-warning-bg);color:var(--admin-warning)}.admin-main .confirmed,.admin-main .event.confirmed{background:var(--admin-success-bg);color:var(--admin-success)}.admin-main .cancelled,.admin-main .rejected{background:var(--admin-danger-bg);color:var(--admin-danger)}.admin-main .birthday-event,.admin-main .birthday-row span{background:var(--admin-birthday-bg);color:var(--admin-birthday)}.admin-main .birthday-row span{background:transparent}.admin-main .agenda-day.is-today>summary,.admin-main .agenda-day.is-today>header{box-shadow:inset 3px 0 var(--admin-primary)}
body:has(.admin-main) dialog{background:var(--admin-surface);border-color:var(--admin-border);color:var(--admin-text);font-family:var(--sans);box-shadow:0 20px 60px #10182833}body:has(.admin-main) dialog::backdrop{background:#10182880}body:has(.admin-main) dialog h1,body:has(.admin-main) dialog h2,body:has(.admin-main) dialog h3{font-family:var(--sans);font-weight:700;color:var(--admin-text)}body:has(.admin-main) dialog .eyebrow{color:var(--admin-muted)}body:has(.admin-main) dialog a{color:var(--admin-primary)}body:has(.admin-main) dialog input,body:has(.admin-main) dialog select{border-color:var(--admin-border);color:var(--admin-text)}body:has(.admin-main) dialog .primary{background:var(--admin-primary);border-color:var(--admin-primary);color:#fff}body:has(.admin-main) dialog .primary:hover{background:var(--admin-primary-hover)}body:has(.admin-main) dialog .secondary{background:#fff;border-color:var(--admin-border);color:#344054}body:has(.admin-main) dialog .secondary:hover{background:var(--admin-soft)}body:has(.admin-main) dialog .danger{background:var(--admin-danger-bg);border-color:#efc1bf;color:var(--admin-danger)}body:has(.admin-main) dialog .close{background:#fff;border-color:var(--admin-border);color:#344054}body:has(.admin-main) dialog .record-grid{background:var(--admin-border);border-color:var(--admin-border)}body:has(.admin-main) dialog .record-grid>div{background:#fff}body:has(.admin-main) dialog .record-status.confirmed{background:var(--admin-success-bg);color:var(--admin-success)}body:has(.admin-main) dialog .record-status.pending{background:var(--admin-warning-bg);color:var(--admin-warning)}body:has(.admin-main) dialog .record-status.cancelled,body:has(.admin-main) dialog .record-status.rejected{background:var(--admin-danger-bg);color:var(--admin-danger)}body:has(.admin-main) dialog .confirm-icon{background:var(--admin-danger-bg);color:var(--admin-danger)}body:has(.admin-main) dialog .service.selected,body:has(.admin-main) dialog .slot.selected,body:has(.admin-main) dialog .week-day.selected{background:#e8f0fb;border-color:var(--admin-primary);box-shadow:inset 0 0 0 1px var(--admin-primary)}body:has(.admin-main) dialog .number{color:var(--admin-primary);border-color:var(--admin-border)}body:has(.admin-main) dialog .stepper span.current{border-color:var(--admin-primary);color:var(--admin-text)}body:has(.admin-main) dialog .stepper span.done{border-color:#7aa7e8;color:var(--admin-primary)}body:has(.admin-main) dialog .booking-summary{background:var(--admin-soft)}
body:has(.admin-main) dialog .wizard-card{background:var(--admin-surface);border-color:var(--admin-border);box-shadow:none}body:has(.admin-main) dialog .section-title p,body:has(.admin-main) dialog .muted,body:has(.admin-main) dialog .hint{color:var(--admin-muted)}body:has(.admin-main) dialog .stepper span{background:#fff;border-color:var(--admin-border);color:var(--admin-muted)}body:has(.admin-main) dialog .stepper span.current{background:#edf3fc;border-color:var(--admin-primary);color:var(--admin-primary)}body:has(.admin-main) dialog .stepper span.done{background:#f5f8fc;border-color:#7aa7e8;color:var(--admin-primary)}body:has(.admin-main) dialog .service,body:has(.admin-main) dialog .slot,body:has(.admin-main) dialog .week-day{background:#fff;border-color:var(--admin-border);color:var(--admin-text)}body:has(.admin-main) dialog .service strong,body:has(.admin-main) dialog .week-day strong{font-family:var(--sans);font-weight:700}body:has(.admin-main) dialog .service:hover,body:has(.admin-main) dialog .slot:hover,body:has(.admin-main) dialog .week-day:hover:not(:disabled){border-color:var(--admin-primary);background:#f7f9fc}body:has(.admin-main) dialog .service.selected,body:has(.admin-main) dialog .slot.selected,body:has(.admin-main) dialog .week-day.selected{background:#e8f0fb;border-color:var(--admin-primary);color:var(--admin-primary);box-shadow:inset 0 0 0 1px var(--admin-primary)}body:has(.admin-main) dialog .week-day:disabled{background:#f3f5f7;color:#98a2b3}body:has(.admin-main) dialog .booking-summary{background:var(--admin-soft);border:1px solid var(--admin-border)}body:has(.admin-main) dialog .number{background:#edf3fc;color:var(--admin-primary);border-color:#b8cbea}
body:has(#login) footer span{display:none}
.admin-client-choice{display:grid;gap:18px}.admin-client-choice>label{margin:0}.choice-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice-switch button{width:100%}.choice-switch button.selected{background:var(--admin-primary);border-color:var(--admin-primary);color:#fff}.choice-switch button:disabled{cursor:not-allowed;opacity:.45}
.tabs .review-count{margin-left:5px;background:var(--admin-danger-bg);color:var(--admin-danger);padding:2px 7px}.duplicate-panel{margin-bottom:18px;border-left:4px solid var(--admin-warning)!important}.duplicate-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.duplicate-heading h2{margin:3px 0}.duplicate-heading>div>p:last-child{margin:5px 0 0;color:var(--admin-muted)}.duplicate-total{display:grid;place-items:center;min-width:38px;height:38px;border-radius:50%;background:var(--admin-warning-bg);color:var(--admin-warning);font-weight:800}.duplicate-list{display:grid;margin-top:18px;border-top:1px solid var(--admin-border)}.duplicate-list>button{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:18px;align-items:center;padding:14px 8px;border:0;border-bottom:1px solid var(--admin-border);background:#fff;text-align:left;color:var(--admin-text)}.duplicate-list>button:hover{background:#f8fafc}.duplicate-list strong,.duplicate-list small{display:block}.duplicate-list small,.duplicate-list>button>span:nth-child(2){color:var(--admin-muted);font-size:13px}.duplicate-list b{color:var(--admin-primary)}.client-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-card{border:1px solid var(--admin-border);border-radius:8px;padding:18px;background:#fff;min-width:0}.compare-card h3{margin:5px 0 18px;overflow-wrap:anywhere}.compare-card dl{margin:0;display:grid;gap:12px}.compare-card dl div{min-width:0}.compare-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--admin-muted)}.compare-card dd{margin:3px 0 0;overflow-wrap:anywhere}.match-reason{margin:6px 0 0;color:var(--admin-primary);font-weight:700}.match-explanation{margin-top:16px;padding:13px 16px;border-radius:7px;background:var(--admin-soft);color:var(--admin-muted);font-size:13px}.match-explanation p{margin:5px 0}.match-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}
.merge-fields{display:grid;gap:12px}.merge-field{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;border:0}.merge-field legend{width:100%;margin:0 0 7px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--admin-muted)}.merge-field label{display:flex;gap:10px;align-items:flex-start;margin:0;padding:13px;border:1px solid var(--admin-border);border-radius:7px;cursor:pointer;min-width:0}.merge-field label:has(input:checked){border-color:var(--admin-primary);background:#edf3fc;box-shadow:inset 0 0 0 1px var(--admin-primary)}.merge-field input{width:17px;height:17px;min-height:17px;margin:2px 0 0;flex:0 0 auto}.merge-field span{overflow-wrap:anywhere;min-width:0}.merge-field small{display:block;margin-bottom:3px;color:var(--admin-muted)}.merge-preview{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}.merge-preview span{padding:6px 9px;border-radius:5px;background:var(--admin-soft);color:var(--admin-text);font-size:13px}
@media(max-width:500px){.choice-switch{grid-template-columns:1fr}}
@media(max-width:700px){.duplicate-list>button{grid-template-columns:1fr}.client-comparison,.merge-field{grid-template-columns:1fr}.match-actions>*{width:100%}}

/* Popups fixos e largura estável entre secções */
html{overflow-y:scroll}.modal-open{overflow:hidden}dialog{position:fixed!important;inset:0!important;margin:auto!important;max-height:min(90vh,900px);max-height:min(90dvh,900px);overflow:auto;overscroll-behavior:contain}dialog[open]{display:block}#service-new{width:100%;overflow:hidden}#service-new label{width:100%;max-width:none}#service-new input:not([type=checkbox]){display:block;width:100%;max-width:none}#service-new .check{display:flex;width:100%;align-items:center;gap:10px}#service-new .check input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0}#service-new>button{width:auto;min-width:170px}.admin-main .filters>label:last-child{min-width:210px}.admin-main .filters select{width:100%}
