@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600&display=swap');
:root{
  --green:#145a38;--green-2:#0f4b2f;--green-soft:#eaf1ec;--ink:#161b18;--muted:#78847d;
  --bg:#f5f7f4;--paper:#fff;--line:#e2e6e2;--coral:#ec7c59;--coral-soft:#fbefea;--cream:#faf8f4;
  --shadow:0 3px 14px rgba(17,45,31,.08);--radius:24px;--radius-sm:16px;--danger:#a8413b;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.tiny{font-size:13px;color:var(--muted)}.muted{color:var(--muted)}.serif{font-family:'Playfair Display',serif}.w-full{width:100%}.inline{display:flex;align-items:center;gap:10px}.spread{display:flex;justify-content:space-between;align-items:center;gap:14px}.stack{display:grid;gap:12px}.container{width:min(1120px,92vw);margin:auto}
/* auth */
.auth-shell{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.auth-brand-panel{background:var(--green);color:white;padding:52px clamp(28px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between}.auth-brand{font-size:32px;font-weight:800;letter-spacing:-.04em}.auth-brand-mark{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:17px;background:white;color:var(--green);margin-right:12px}.auth-brand-panel h1{font:500 clamp(48px,6vw,84px)/.96 'Playfair Display',serif;letter-spacing:-.04em;margin:40px 0 20px;max-width:650px}.auth-brand-panel p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.75);max-width:580px}.auth-panel{display:grid;place-items:center;padding:30px}.auth-card{width:min(480px,100%);background:white;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.auth-card h2{font-size:30px;margin:0 0 6px}.tabs{display:flex;padding:5px;background:#f1f3f0;border-radius:14px;margin:24px 0}.tabs button{flex:1;border:0;background:transparent;border-radius:11px;padding:11px;font-weight:800;color:var(--muted)}.tabs button.active{background:white;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}
/* common controls */
.field{margin-bottom:18px}.field label{display:block;font-size:15px;font-weight:600;margin:0 0 8px}.input,textarea,select{width:100%;border:1px solid #dfe3df;background:#fff;border-radius:14px;padding:15px 18px;outline:0;color:var(--ink);box-shadow:0 2px 5px rgba(0,0,0,.03)}textarea{min-height:150px;resize:vertical}.input:focus,textarea:focus,select:focus{border-color:#97ad9e;box-shadow:0 0 0 3px rgba(20,90,56,.08)}.btn{border:0;border-radius:999px;padding:13px 20px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:.15s}.btn.primary{background:var(--green);color:#fff}.btn.coral{background:var(--coral);color:white}.btn.secondary{background:white;border:1px solid var(--line);color:var(--ink);box-shadow:0 2px 6px rgba(0,0,0,.03)}.btn.ghost{background:transparent;color:var(--green)}.btn.danger{background:#fff0ef;color:var(--danger);border:1px solid #f4d1cd}.btn:disabled{opacity:.48;cursor:not-allowed}.msg{display:none;margin-top:12px;padding:12px 14px;border-radius:13px;background:#ecf5ef;color:#245d3d;font-size:13px}.msg.error{background:#fff0ef;color:#943832}
/* owner app shell */
.owner-shell{min-height:100svh}.app-header{height:94px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:35}.head-left{display:flex;align-items:center;gap:20px}.menu-btn{width:40px;height:40px;border:0;background:transparent;font-size:32px;line-height:1;color:#202522;padding:0}.head-title{font-size:29px;font-weight:800;letter-spacing:-.04em;line-height:1.05}.head-greeting{font-size:14px;color:var(--muted);margin-top:2px}.view-page-btn{padding:12px 18px;background:white;border:1px solid var(--line);border-radius:999px;font-weight:700;display:inline-flex;gap:8px;align-items:center;text-decoration:none;box-shadow:var(--shadow)}.owner-main{width:min(900px,calc(100% - 32px));margin:0 auto;padding:34px 0 120px}.trial-banner{background:linear-gradient(135deg,#f7dfd5,#f9ebe5);border:1px solid #e8c1b1;border-radius:25px;padding:28px 32px;margin-bottom:28px;min-height:145px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.trial-banner .trial-text{font-size:21px;font-weight:800;color:#204b36;text-shadow:none;margin-bottom:18px}.trial-banner .btn{background:var(--coral);color:white}.card{background:white;border:1px solid var(--line);border-radius:25px;padding:38px 40px;margin-bottom:28px;box-shadow:0 1px 1px rgba(0,0,0,.01)}.card-title{display:flex;align-items:center;gap:12px;font-size:27px;font-weight:800;letter-spacing:-.03em;margin:0 0 28px}.card-icon{color:var(--green);font-size:28px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.toggle-row{border:1px solid var(--line);border-radius:18px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.toggle-copy strong{font-size:18px}.toggle-copy span{display:block;color:var(--muted);font-size:15px;line-height:1.45;margin-top:3px}.switch{position:relative;display:inline-block;width:60px;height:34px;flex:0 0 auto}.switch input{display:none}.slider{position:absolute;inset:0;background:#e1e7e2;border-radius:999px;transition:.2s}.slider:after{content:"";position:absolute;width:28px;height:28px;left:3px;top:3px;background:white;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.13);transition:.2s}.switch input:checked+.slider{background:var(--green)}.switch input:checked+.slider:after{transform:translateX(26px)}.photo-upload{display:inline-flex;border:1px solid var(--line);background:white;border-radius:999px;padding:13px 20px;font-weight:700;align-items:center;gap:10px}.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.photo-thumb{aspect-ratio:1.15;border-radius:14px;overflow:hidden;position:relative;background:#edf0ed}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb button{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.58);color:white}.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.chip{display:inline-flex;align-items:center;gap:9px;background:#f0f2ef;border-radius:999px;padding:8px 14px;font-size:14px}.chip button{border:0;background:none;font-size:19px;padding:0;line-height:1}.amenity-input{display:grid;grid-template-columns:1fr 70px;gap:10px}.sticky-save{position:fixed;bottom:0;left:0;right:0;z-index:28;background:rgba(250,250,248,.96);backdrop-filter:blur(12px);border-top:1px solid rgba(0,0,0,.04);padding:16px max(18px,calc((100vw - 900px)/2));display:flex;align-items:center;gap:18px}.sticky-save .save-btn{flex:1;max-width:500px;background:var(--green);color:white;border:0;border-radius:999px;padding:17px 22px;font-weight:800;font-size:17px}.form-note{font-size:14px;color:var(--muted);line-height:1.5;margin-top:-8px}.section-view{display:none}.section-view.active{display:block}
/* drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(10,15,12,.35);z-index:59;opacity:0;pointer-events:none;transition:.2s}.drawer{position:fixed;left:0;top:0;bottom:0;width:min(430px,88vw);background:var(--green);color:white;z-index:60;transform:translateX(-102%);transition:.22s;display:flex;flex-direction:column}.drawer.open{transform:none}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer-head{height:94px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.drawer-brand{font-size:30px;font-weight:800;display:flex;align-items:center;gap:14px}.drawer-logo{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:white;color:var(--green);font-size:26px}.drawer-close{border:0;background:transparent;color:white;font-size:34px}.drawer-nav{padding:20px;display:grid;gap:8px}.drawer-nav button{border:0;background:transparent;color:rgba(255,255,255,.72);border-radius:18px;padding:17px 20px;text-align:left;font-size:18px;font-weight:700;display:flex;align-items:center;gap:16px}.drawer-nav button.active{background:rgba(255,255,255,.16);color:#fff}.nav-badge{margin-left:auto;background:var(--coral);color:white;border-radius:999px;min-width:32px;height:32px;padding:0 9px;display:grid;place-items:center;font-size:13px}.drawer-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:24px 36px}.drawer-bottom button{border:0;background:none;color:rgba(255,255,255,.72);font-size:17px;display:flex;align-items:center;gap:12px}
/* overview */
.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:26px}.kpi-card{background:white;border:1px solid var(--line);border-radius:24px;padding:28px}.kpi-card .label{color:var(--muted);font-size:15px;margin-bottom:8px}.kpi-card strong{display:block;font-size:38px;letter-spacing:-.05em}.kpi-card small{color:var(--muted)}.public-link-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.public-link-actions{display:flex;gap:10px}
/* reservations */
.table-card{background:white;border:1px solid var(--line);border-radius:24px;overflow:auto}.reserve-table{width:100%;border-collapse:collapse;min-width:690px}.reserve-table th,.reserve-table td{padding:18px 26px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.reserve-table th{color:#718078;font-size:14px;font-weight:800}.reserve-table td{font-size:15px}.status-pill{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;background:#edf4ef;color:var(--green)}.status-pill.pending{background:#fff4dd;color:#8b6512}.status-pill.cancelled{background:#fff0ef;color:var(--danger)}.pending-card{background:white;border:1px solid #f2dfd6;border-radius:22px;padding:20px 24px;margin-bottom:14px}.pending-card .actions{display:flex;gap:10px;margin-top:14px}
/* billing */
.billing-status{background:white;border:1px solid var(--line);border-radius:24px;padding:26px 32px;margin-bottom:30px}.billing-status .eyebrow{letter-spacing:.26em;text-transform:uppercase;font-size:12px;color:var(--muted);font-weight:800}.billing-status strong{font-size:26px;display:block;margin-top:10px}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.plan-card{background:white;border:2px solid var(--line);border-radius:25px;padding:34px 40px}.plan-card.coral-border{border-color:#f0bda9}.plan-card h3{font-size:27px;margin:0 0 15px}.plan-price{font:500 47px/1 'Playfair Display',serif;margin-bottom:26px}.plan-price span{font:500 20px 'DM Sans',sans-serif;color:var(--muted)}.plan-list{list-style:none;padding:0;margin:0 0 28px}.plan-list li{margin:14px 0;padding-left:30px;position:relative;line-height:1.45}.plan-list li:before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:800}.plan-card .btn{width:100%;font-size:17px}.manage-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;margin-top:24px}
/* notifications */
.notif-tools{display:flex;justify-content:flex-end;margin-bottom:18px}.notification{background:white;border:1px solid #f0dcd3;border-radius:20px;padding:23px 27px;display:grid;grid-template-columns:48px 1fr;gap:18px;margin-bottom:13px}.notification.read{opacity:.65;border-color:var(--line)}.notification-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--coral-soft);color:var(--coral);font-size:21px}.notification-title{font-size:17px}.notification-time{font-size:13px;color:var(--muted);margin-top:5px}
/* admin */
.admin-mobile-header{height:88px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.admin-brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:22px}.admin-brand .mark{width:42px;height:42px;border-radius:13px;background:var(--green);color:white;display:grid;place-items:center}.admin-main{width:min(1180px,calc(100% - 28px));margin:auto;padding:28px 0 70px}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.admin-kpi{background:white;border:1px solid var(--line);border-radius:20px;padding:22px}.admin-kpi .label{font-size:13px;color:var(--muted)}.admin-kpi strong{display:block;font-size:31px;margin-top:4px}.admin-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 20px}.admin-tabs button{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 15px;font-weight:700;white-space:nowrap}.admin-tabs button.active{background:var(--green);color:white;border-color:var(--green)}.admin-panel{display:none}.admin-panel.active{display:block}.movement-list{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden}.movement-row{padding:18px 22px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:15px}.movement-row:last-child{border-bottom:0}.money-positive{color:var(--green);font-weight:800}.admin-table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:22px}.admin-table{width:100%;min-width:900px;border-collapse:collapse}.admin-table th,.admin-table td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.admin-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.admin-login{min-height:100svh;display:grid;place-items:center;padding:24px;background:var(--cream)}
.loading{padding:80px 20px;text-align:center;color:var(--muted)}
@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.app-header{height:92px;padding:0 34px}.owner-main{width:calc(100% - 66px);padding-top:34px}.plan-grid{grid-template-columns:1fr}.admin-kpis{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .auth-panel{padding:18px}.auth-card{padding:24px;border-radius:24px}.app-header{padding:0 34px;height:94px}.head-left{gap:20px}.head-title{font-size:27px}.head-greeting{font-size:14px}.view-page-btn{padding:12px 16px}.owner-main{width:calc(100% - 66px);padding:34px 0 115px}.card{padding:34px 40px;border-radius:25px}.card-title{font-size:26px}.grid2,.grid3{grid-template-columns:1fr}.photo-strip{grid-template-columns:repeat(3,1fr)}.sticky-save{padding:16px 34px;gap:18px}.sticky-save .save-btn{font-size:16px;padding:17px 15px}.kpi-grid{grid-template-columns:1fr}.public-link-card{align-items:flex-start;flex-direction:column}.public-link-actions{width:100%}.public-link-actions .btn{flex:1}.plan-card{padding:34px 40px}.admin-main{width:calc(100% - 30px)}.admin-kpis{grid-template-columns:1fr 1fr;gap:10px}.admin-kpi{padding:18px}.admin-kpi strong{font-size:26px}.movement-row{grid-template-columns:1fr}.trial-banner{padding:28px 34px}.notification{grid-template-columns:42px 1fr;padding:20px}.notification-icon{width:42px;height:42px}.drawer-head{padding:0 34px}.drawer-nav{padding:20px}.drawer{width:62vw;min-width:310px}.drawer-nav button{font-size:18px;padding:17px 20px}.field label{font-size:15px}.input,textarea,select{font-size:18px;padding:15px 19px}.toggle-row{padding:22px 26px}.card .field:last-child{margin-bottom:0}
}
/* Mobile proportions matched to the Android screenshots (physical screenshots are ~2x CSS density). */
@media(max-width:600px){
  .app-header{height:72px;padding:0 17px}.head-left{gap:12px}.menu-btn{width:34px;height:34px;font-size:28px}.head-title{font-size:21px}.head-greeting{font-size:12px}.view-page-btn{padding:10px 13px;font-size:13px}
  .owner-main{width:calc(100% - 32px);padding:18px 0 92px}.trial-banner{padding:20px 18px;min-height:118px;border-radius:20px}.trial-banner .trial-text{font-size:16px;margin-bottom:14px}
  .card{padding:24px 20px;border-radius:22px;margin-bottom:20px}.card-title{font-size:22px;margin-bottom:22px}.card-icon{font-size:22px}.field{margin-bottom:16px}.field label{font-size:14px}.input,textarea,select{font-size:16px;padding:13px 14px;border-radius:13px}textarea{min-height:120px}
  .toggle-row{padding:18px 16px;border-radius:17px}.toggle-copy strong{font-size:16px}.toggle-copy span{font-size:13px}.photo-upload{padding:11px 16px;font-size:14px}.photo-strip{grid-template-columns:repeat(3,1fr)}
  .sticky-save{padding:12px 16px;gap:12px}.sticky-save .save-btn{font-size:14px;padding:14px 12px}.switch{width:52px;height:30px}.slider:after{width:24px;height:24px}.switch input:checked+.slider:after{transform:translateX(22px)}
  .drawer{width:62vw;min-width:0}.drawer-head{height:72px;padding:0 18px}.drawer-brand{font-size:22px}.drawer-logo{width:46px;height:46px;border-radius:14px;font-size:21px}.drawer-nav{padding:14px 10px}.drawer-nav button{font-size:15px;padding:14px 15px;border-radius:15px;gap:12px}.drawer-bottom{padding:20px 24px}.drawer-bottom button{font-size:15px}.nav-badge{min-width:27px;height:27px}
  .kpi-grid{gap:12px}.kpi-card{padding:20px;border-radius:20px}.kpi-card strong{font-size:30px}.plan-card{padding:26px 22px}.plan-card h3{font-size:23px}.plan-price{font-size:39px}.notification{padding:18px 16px}.billing-status{padding:22px 20px}.admin-mobile-header{height:72px;padding:0 16px}
}

.photo-thumb.is-primary{outline:3px solid rgba(20,90,56,.18)}
.photo-actions{position:absolute;inset:auto 6px 6px 6px;display:flex;align-items:center;justify-content:space-between;gap:6px}.primary-badge,.make-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.primary-badge{background:rgba(20,90,56,.92);color:#fff}.make-primary{border:0;background:rgba(255,255,255,.92);color:var(--green)}.video-cover-manager{margin-top:12px}.video-cover-empty{border:1px dashed var(--line);border-radius:18px;padding:18px;color:var(--muted);font-size:14px;line-height:1.5}.video-cover-thumb{position:relative;border-radius:18px;overflow:hidden;background:#edf0ed;border:1px solid var(--line);width:100%;max-width:260px}.video-cover-thumb.landscape{aspect-ratio:16/9}.video-cover-thumb.portrait{aspect-ratio:9/16;max-width:170px}.video-cover-thumb img{width:100%;height:100%;object-fit:cover;display:block}.video-cover-remove{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(0,0,0,.58);color:#fff}

/* Reservaê visual identity */
.auth-brand{display:flex;align-items:center;gap:14px}.auth-brand-icon{width:58px;height:58px;object-fit:contain;border-radius:18px}.auth-main-logo{display:block;width:min(330px,88%);height:auto;margin:0 0 16px}.drawer-brand-icon{width:58px;height:58px;object-fit:contain;border-radius:18px;flex:0 0 auto}.admin-brand-icon{width:44px;height:44px;object-fit:contain;border-radius:13px;flex:0 0 auto}.notification-icon{position:relative}.notification-icon::after{content:"";width:11px;height:11px;border-radius:50%;background:var(--coral);display:block}.drawer-nav button{gap:0}.drawer-bottom button{gap:0}.card-title{gap:0}
@media(max-width:600px){.drawer-brand-icon{width:44px;height:44px;border-radius:14px}.auth-main-logo{width:min(300px,90%)}.admin-brand-icon{width:40px;height:40px}}

.char-count{text-align:right;color:var(--muted);font-size:12px;margin-top:7px}.trial-banner .btn{box-shadow:0 8px 18px rgba(236,124,89,.22)}

/* pricing by date */
.rate-calendar-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:14px}.rate-calendar-head strong{text-align:center;text-transform:capitalize;font-size:18px}.rate-weekdays,.rate-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.rate-weekdays{margin-bottom:8px}.rate-weekdays span{text-align:center;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}.rate-day{min-height:68px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--ink)}.rate-day strong{font-size:16px}.rate-day small{font-size:10px;color:var(--muted)}.rate-day.has-rate{border-color:#edb29e;background:#fff5f1}.rate-day.has-rate small{color:#b65d43;font-weight:800}.rate-editor{margin-top:18px;border:1px solid var(--line);border-radius:18px;background:#fafbf9;padding:18px;display:grid;gap:14px}.rate-editor-fields{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.rate-editor-fields .input{margin:0}.owner-reservation-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.owner-reservation-details summary{font-weight:800;cursor:pointer;color:var(--green)}.owner-reservation-body{display:grid;gap:9px;margin-top:12px;color:#39443d;font-size:14px;line-height:1.45}.acceptance-proof{background:#edf5ef;border-radius:13px;padding:12px 14px}.owner-detail-modal{position:fixed;inset:0;background:rgba(12,23,17,.62);z-index:90;display:grid;place-items:center;padding:20px}.owner-detail-card{width:min(620px,100%);max-height:85svh;overflow:auto;background:#fff;border-radius:24px;padding:26px;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.25)}.owner-detail-card h2{margin:0 0 14px}.owner-detail-close{position:absolute;top:14px;right:14px;border:0;background:#f1f3f0;width:36px;height:36px;border-radius:50%;font-size:24px}
@media(max-width:600px){.rate-days,.rate-weekdays{gap:4px}.rate-day{min-height:56px;border-radius:11px}.rate-day strong{font-size:14px}.rate-day small{font-size:8px}.rate-editor-fields{grid-template-columns:1fr}.rate-editor-fields .btn{width:100%}}
.acceptance-proof details{margin-top:9px}.acceptance-proof summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:700}.acceptance-snapshot{margin-top:9px;padding:11px 12px;border-radius:12px;background:#f7f8f6;color:var(--muted);font-size:12px;line-height:1.5}.acceptance-snapshot strong{color:var(--ink)}

.required-note{font-size:9px;font-weight:700;color:#a56f5f;margin-left:4px;text-transform:none;letter-spacing:0;vertical-align:1px;opacity:.88}.main-photo-preview{margin-top:14px}.main-photo-card{position:relative;width:min(100%,420px);aspect-ratio:16/9;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#eef0ed}.main-photo-card img{width:100%;height:100%;object-fit:cover;display:block}.main-photo-card .primary-badge{position:absolute;left:10px;bottom:10px}.photo-empty{border:1px dashed var(--line);border-radius:16px;padding:16px;color:var(--muted);font-size:13px;background:#fbfcfa}.photo-strip .photo-empty{grid-column:1/-1}

.reservation-code-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef5ef;color:var(--green);font-size:12px;font-weight:900;letter-spacing:.06em}

/* Reservaê admin — business dashboard */
.admin-kpi small{display:block;color:var(--muted);font-size:11px;margin-top:6px;line-height:1.35}.admin-dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.admin-chart-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}.chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.chart-head strong{font-size:18px}.mini-bar-chart{height:210px;display:grid;grid-template-columns:repeat(30,1fr);gap:4px;align-items:end;padding-top:12px}.bar-col{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.bar-col .bar{width:100%;min-height:5px;max-height:150px;border-radius:7px 7px 3px 3px;background:var(--green)}.bar-col .bar-value{font-size:9px;color:var(--muted);height:12px}.bar-col span{font-size:8px;color:var(--muted);height:12px;white-space:nowrap}.segment-list{display:grid;gap:18px}.segment-row{display:grid;gap:8px}.segment-row span{font-size:14px}.segment-track{height:10px;border-radius:999px;background:#edf0ed;overflow:hidden}.segment-track i{display:block;height:100%;border-radius:999px;background:#94a89c}.segment-track i.whatsapp{background:var(--green)}.segment-track i.checkout{background:var(--coral)}.segment-track i.trial{background:#d4a66e}.segment-track i.inactive{background:#b7bdb9}.usage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.usage-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.usage-card span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.usage-card strong{display:block;font-size:24px;margin-top:7px}.client-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:center;margin-bottom:14px}.client-tools .input{margin:0}.filter-chips{display:flex;gap:7px;flex-wrap:wrap}.filter-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800;color:#465149}.filter-chips button.active{background:var(--green);border-color:var(--green);color:#fff}.admin-client-modal{position:fixed;inset:0;z-index:120;background:rgba(12,23,17,.62);display:grid;place-items:center;padding:18px}.admin-client-modal.hidden{display:none}.admin-client-card{position:relative;width:min(760px,100%);max-height:88svh;overflow:auto;background:#fff;border-radius:26px;padding:28px;box-shadow:0 26px 90px rgba(0,0,0,.28)}.admin-client-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f0f2ef;font-size:25px}.client-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-right:46px}.client-modal-head .eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:10px;font-weight:800}.client-modal-head h2{font-size:28px;margin:5px 0 3px}.client-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.client-detail-grid>div{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcfa}.client-detail-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.client-detail-grid strong{font-size:14px;line-height:1.35}.privacy-note{background:#edf5ef;border-radius:16px;padding:14px 16px;color:#355542;font-size:12px;line-height:1.5}.client-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
@media(max-width:900px){.admin-dashboard-grid{grid-template-columns:1fr}.usage-grid{grid-template-columns:1fr 1fr}.client-tools{grid-template-columns:1fr}.client-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.mini-bar-chart{height:170px;gap:2px}.bar-col span{font-size:7px}.usage-grid{grid-template-columns:1fr 1fr}.client-detail-grid{grid-template-columns:1fr}.admin-client-card{padding:22px 18px}.client-modal-head{flex-direction:column}.filter-chips{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-chips button{white-space:nowrap}}

/* assinatura: 1º mês promocional */
.promo-label{display:inline-flex;align-items:center;border-radius:999px;background:#eef5f0;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;margin-bottom:12px}.promo-label.coral-text{background:#fff0eb;color:var(--coral)}.promo-plan-price{display:flex;align-items:flex-end;gap:10px;margin:4px 0 8px}.promo-plan-price strong{font:600 48px/1 'Playfair Display',serif;color:var(--ink)}.promo-plan-price span{font-size:16px;font-weight:700;color:var(--muted);padding-bottom:4px}.regular-plan-price{font-size:15px;color:var(--muted);margin-bottom:24px}.regular-plan-price strong{font-size:16px;display:inline;margin:0;color:var(--ink)}.billing-current{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.billing-current>div{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#fbfcfa}.billing-current span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.billing-current strong{font-size:15px;margin:0}
@media(max-width:700px){.billing-current{grid-template-columns:1fr 1fr}.promo-plan-price strong{font-size:42px}}

.payment-redirect{position:fixed;inset:0;z-index:120;background:rgba(12,25,18,.54);display:grid;place-items:center;padding:20px}.payment-redirect.hidden{display:none}.payment-redirect-card{width:min(430px,100%);background:#fff;border-radius:28px;padding:30px 26px;position:relative;box-shadow:0 24px 70px rgba(0,0,0,.22)}.payment-redirect-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;background:#f3f5f2;border-radius:50%;font-size:24px;color:#526158}.payment-redirect-mark{font-weight:900;color:var(--green);font-size:18px;margin-bottom:18px}.payment-redirect-card h2{font-size:30px;margin:0 0 12px;letter-spacing:-.03em}.payment-redirect-card p{color:var(--muted);line-height:1.55;margin:0 0 18px}.payment-redirect-plan{background:#f6f8f5;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:0 0 16px;font-weight:800;color:var(--green)}

.subscription-manage-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.subscription-manage-actions .btn{min-width:180px}@media(max-width:600px){.subscription-manage-actions{flex-direction:column}.subscription-manage-actions .btn{width:100%}}

/* UX de lançamento — fluxo guiado, planos, fotos e calendário */
.onboarding-card{background:linear-gradient(135deg,#f0f6f2 0%,#fff8f4 100%);border:1px solid #d8e5dc;border-radius:28px;padding:30px 32px;margin-bottom:28px;box-shadow:0 7px 24px rgba(20,90,56,.07)}
.onboarding-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--coral);margin-bottom:8px}.onboarding-card h2{font-size:30px;line-height:1.08;letter-spacing:-.04em;margin:0 0 10px}.onboarding-card>p{margin:0 0 20px;color:var(--muted);line-height:1.55}.onboarding-steps{display:grid;gap:10px;margin:18px 0}.onboarding-step{width:100%;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;text-align:left;border:1px solid #dde6df;background:rgba(255,255,255,.82);border-radius:18px;padding:14px 15px;color:var(--ink)}.onboarding-step:hover{border-color:#a8c7b3}.onboarding-step .step-badge{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-weight:900}.onboarding-step strong{display:block;font-size:15px}.onboarding-step small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.35}.onboarding-step b{font-size:12px;color:var(--green)}.onboarding-step b.done{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e1f1e6;color:var(--green);font-size:16px}.onboarding-main-btn{margin-top:4px;min-width:245px}

.photo-helper{margin:-2px 0 12px}.photo-upload.photo-upload-main,.photo-upload.photo-upload-gallery,.photo-upload.photo-upload-video-cover{width:100%;border:2px dashed #d8ded9;border-radius:20px;padding:22px;background:#fbfcfa;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;cursor:pointer;transition:.16s}.photo-upload.photo-upload-main:hover,.photo-upload.photo-upload-gallery:hover,.photo-upload.photo-upload-video-cover:hover{border-color:var(--coral);background:#fff8f5}.upload-icon{width:48px;height:48px;border-radius:15px;background:var(--coral-soft);color:var(--coral);display:grid;place-items:center;font-size:28px;font-weight:700}.upload-icon.small{width:42px;height:42px;font-size:24px}.upload-copy{min-width:0}.upload-copy strong{display:block;font-size:16px;color:var(--ink);line-height:1.3}.upload-copy small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.4}.upload-cta{background:var(--coral);color:white;border-radius:999px;padding:11px 16px;font-size:13px;font-weight:900;white-space:nowrap}.photo-upload-gallery .upload-cta{background:var(--green)}

.rate-day{transition:.14s ease}.rate-day:hover{border-color:#aabdb0}.rate-day.selected,.rate-day.selected.has-rate{background:var(--coral);border-color:var(--coral);color:#fff;box-shadow:0 7px 16px rgba(236,124,89,.25);transform:translateY(-1px)}.rate-day.selected strong,.rate-day.selected small,.rate-day.selected.has-rate small{color:#fff;font-weight:800}

.plan-card{position:relative;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.plan-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,90,56,.08)}.plan-card-showcase{background:linear-gradient(180deg,#f8fbf8 0%,#f1f7f3 100%);border-color:#c8ddcf}.plan-card-whatsapp{background:linear-gradient(180deg,#f2f8f4 0%,#e9f3ed 100%);border-color:#9fc6ad}.plan-card-checkout{background:linear-gradient(180deg,#fff9f6 0%,#fff0e9 100%);border-color:#efb29e}.plan-card.current-plan{box-shadow:0 0 0 3px rgba(20,90,56,.12),0 10px 24px rgba(20,90,56,.08)}.plan-card.current-plan:before{content:'Seu plano atual';position:absolute;top:16px;right:16px;background:var(--green);color:white;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.plan-card-checkout.current-plan:before{background:var(--coral)}.subscription-manage-card{margin-top:42px!important;padding-top:34px!important;padding-bottom:34px!important}

.feature-plan-note{display:flex;gap:12px;align-items:flex-start;background:#fff4ef;border:1px solid #f3d1c5;border-radius:16px;padding:14px 16px;margin:4px 0 20px;color:#5e463f}.feature-plan-note strong{color:var(--coral);white-space:nowrap}.feature-plan-note span{font-size:13px;line-height:1.45}

.plan-upsell{position:fixed;inset:0;z-index:125;background:rgba(12,25,18,.58);display:grid;place-items:center;padding:20px}.plan-upsell.hidden{display:none}.plan-upsell-card{width:min(450px,100%);background:#fff;border-radius:28px;padding:30px 26px 24px;position:relative;box-shadow:0 26px 80px rgba(0,0,0,.25)}.plan-upsell-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;background:#f3f5f2;border-radius:50%;font-size:24px;color:#526158}.plan-upsell-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--coral-soft);color:var(--coral);font-size:28px;font-weight:900;margin-bottom:12px}.plan-upsell-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:var(--coral)}.plan-upsell-card h2{font-size:30px;letter-spacing:-.04em;margin:6px 0 10px}.plan-upsell-card>p{color:var(--muted);line-height:1.55;margin:0 0 16px}.plan-upsell-benefits{display:grid;gap:9px;margin:0 0 20px;background:#f4f8f5;border-radius:16px;padding:15px 16px;color:var(--green);font-weight:900}.plan-upsell-benefits div{display:flex;gap:9px;align-items:flex-start}.plan-upsell-benefits span{color:#304a3a;font-weight:700;line-height:1.4}.plan-upsell-card .btn+.btn{margin-top:10px}


@media(max-width:600px){
  .onboarding-card{padding:24px 20px;border-radius:23px}.onboarding-card h2{font-size:25px}.onboarding-step{grid-template-columns:36px 1fr auto;padding:12px}.onboarding-step .step-badge{width:31px;height:31px}.onboarding-main-btn{width:100%;min-width:0}
  .photo-upload.photo-upload-main,.photo-upload.photo-upload-gallery,.photo-upload.photo-upload-video-cover{grid-template-columns:auto 1fr;padding:18px 15px}.upload-cta{grid-column:1/-1;text-align:center}.upload-icon{width:43px;height:43px}
  .plan-card{padding:28px 24px}.subscription-manage-card{margin-top:36px!important}
  .feature-plan-note{display:block}.feature-plan-note strong{display:block;margin-bottom:5px}
}

/* Ajustes finais de lançamento — login, suporte, links e biometria */
.auth-visual-panel{background:#f3f6f1;color:var(--ink);padding:40px clamp(28px,4vw,64px);overflow:hidden}.auth-visual-panel .auth-brand{color:var(--green)}.auth-visual-foot{color:#6d7a72!important}.auth-hero-wrap{display:grid;place-items:center;min-height:0}.auth-hero-image{display:block;width:min(760px,100%);height:auto;border-radius:30px;box-shadow:0 22px 70px rgba(20,90,56,.13);border:1px solid rgba(20,90,56,.08)}
.auth-support-link{display:block;text-align:center;margin-top:5px;color:var(--green);font-size:13px;font-weight:800;text-decoration:none}.auth-support-link:hover{text-decoration:underline}.auth-login-help{margin-top:12px;border-radius:13px;background:#fff5ef;border:1px solid #f1d4c8;padding:11px 13px;color:#7b4b3d;font-size:12px;line-height:1.45}
.link-grid{align-items:start}.link-box label{display:block;font-size:14px;font-weight:800;margin-bottom:7px}.link-help{font-size:13px;line-height:1.5;color:var(--muted);margin:9px 2px 0}.manual-block-card .card-title{margin-bottom:8px}.manual-block-card .btn{margin-top:4px}.pending-payment-card{border-color:#c8ddcf;background:linear-gradient(180deg,#fbfdfb,#f4f8f5)}
.actions{display:flex;gap:10px;flex-wrap:wrap}.biometric-lock{position:fixed;inset:0;z-index:300;background:#f4f7f3;display:grid;place-items:center;padding:22px}.biometric-lock-card{width:min(430px,100%);background:white;border:1px solid var(--line);border-radius:30px;padding:34px 28px;text-align:center;box-shadow:0 24px 70px rgba(20,90,56,.14)}.biometric-lock-card img{width:82px;height:82px;border-radius:22px;object-fit:contain;margin-bottom:12px}.biometric-lock-card h2{font-size:29px;letter-spacing:-.04em;margin:4px 0 10px}.biometric-lock-card p{color:var(--muted);line-height:1.55;margin:0 0 20px}.biometric-lock-card .btn+.btn{margin-top:9px}.biometric-lock-card .tiny{margin-top:12px}
@media(max-width:900px){.auth-visual-panel{display:none}.auth-shell{grid-template-columns:1fr}}
@media(max-width:600px){.link-grid{grid-template-columns:1fr}.biometric-lock-card{padding:28px 22px}}

/* Asaas + cancelamento guiado */
.payment-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 14px}.payment-method-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px;text-align:left;display:grid;gap:6px;color:var(--ink);transition:.15s;box-shadow:0 2px 8px rgba(20,90,56,.04)}.payment-method-card:hover{border-color:#9fbeaa;transform:translateY(-1px)}.payment-method-card strong{font-size:16px;color:var(--green)}.payment-method-card span{font-size:13px;line-height:1.45;color:var(--muted)}.pix-auto-fields{border-top:1px solid var(--line);padding-top:18px;margin-top:8px;text-align:left}.pix-qr-card{text-align:center}.pix-qr-image{display:block;width:min(280px,78vw);aspect-ratio:1;object-fit:contain;margin:18px auto;border-radius:18px;border:1px solid var(--line);background:white;padding:10px}.pix-code{min-height:90px!important;font-size:12px;word-break:break-all}.pix-wait-state{margin-top:14px;padding:12px 14px;border-radius:14px;background:#eef6f0;color:var(--green);font-size:13px;font-weight:800}.cancel-request-card{text-align:left}.cancel-request-card>h2,.cancel-request-card>p,.cancel-request-card>.payment-redirect-mark{text-align:center}.cancel-reason-list{display:grid;gap:9px;margin:18px 0}.cancel-reason-list label{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:15px;padding:13px 14px;background:white;cursor:pointer;font-weight:700;font-size:14px}.cancel-reason-list label:has(input:checked){border-color:#d99a86;background:#fff6f2}.cancel-reason-list input{width:18px;height:18px;accent-color:var(--coral);flex:0 0 auto}.cancel-details-field textarea{min-height:105px}.subscription-manage-actions button{font:inherit}
@media(max-width:600px){.payment-method-grid{grid-template-columns:1fr}.payment-method-card{padding:16px}.cancel-reason-list label{font-size:13px;padding:12px}.pix-qr-image{width:min(250px,72vw)}}
.cancellation-admin-box{margin-top:20px;padding:18px;border:1px solid #f0c8bd;background:#fff6f2;border-radius:18px}.cancellation-admin-box strong{display:block;margin-top:6px;color:#7e3f32}.cancellation-admin-box p{margin:10px 0 0;line-height:1.55;color:#5e4d47}.segment-track i.showcase{background:#6c8f79}

/* Correção mobile — modal de pagamento sempre acessível e rolável */
.payment-redirect{
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.payment-redirect-card{
  max-height:calc(100svh - 40px);
  max-height:calc(100dvh - 40px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
@media(max-width:600px){
  .payment-redirect{padding:8px;align-items:start}
  .payment-redirect-card{
    width:100%;
    max-height:calc(100svh - 16px);
    max-height:calc(100dvh - 16px);
    margin:auto 0;
    border-radius:22px;
    padding:22px 18px 18px;
  }
  .payment-redirect-close{right:12px;top:10px;width:34px;height:34px}
  .payment-redirect-mark{font-size:16px;margin-bottom:11px;padding-right:40px}
  .payment-redirect-card h2{font-size:25px;line-height:1.08;margin-bottom:8px;padding-right:38px}
  .payment-redirect-card p{font-size:14px;line-height:1.45;margin-bottom:12px}
  .payment-redirect-plan{padding:11px 13px;margin-bottom:10px;border-radius:15px;font-size:14px}
  .payment-method-grid{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 10px}
  .payment-method-card{padding:12px 10px;border-radius:15px;min-height:92px;align-content:start}
  .payment-method-card strong{font-size:14px;line-height:1.2}
  .payment-method-card span{font-size:11px;line-height:1.35}
  .pix-auto-fields{padding-top:12px;margin-top:6px}
  .pix-auto-fields .field{margin-bottom:11px}
  .pix-auto-fields .field label{font-size:13px;margin-bottom:5px}
  .pix-auto-fields .input{font-size:15px;padding:11px 12px}
  .pix-auto-fields .form-note{font-size:12px;line-height:1.35;margin:0 0 10px!important}
  #pixAutomaticGenerate{position:sticky;bottom:0;z-index:5;margin-top:8px;box-shadow:0 -8px 18px rgba(255,255,255,.92),0 8px 18px rgba(20,90,56,.16)}
}


/* Refinamento visual — login desktop, cobrança e upgrade */
@media(min-width:901px){
  .auth-shell{grid-template-columns:minmax(520px,1.08fr) minmax(480px,.92fr);background:#f8f8f5}
  .auth-visual-panel{position:relative;isolation:isolate;min-height:100svh;padding:42px clamp(36px,5vw,76px);color:#fff;overflow:hidden;background:#0d432f url('/brand/login-cover-hq.png') center 46%/cover no-repeat}
  .auth-visual-panel:before,.auth-visual-panel:after{display:none}
  .auth-visual-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(4,35,23,.78) 0%,rgba(4,35,23,.60) 44%,rgba(4,35,23,.26) 100%),linear-gradient(0deg,rgba(3,25,17,.46) 0%,rgba(3,25,17,.08) 56%,rgba(3,25,17,.18) 100%);z-index:-1}
  .auth-visual-brand{position:relative;color:#fff!important;display:flex;align-items:center;gap:12px;font-size:29px;text-shadow:0 2px 14px rgba(0,0,0,.18)}
  .auth-visual-brand .auth-brand-icon{width:46px;height:46px;border-radius:14px;box-shadow:0 8px 25px rgba(0,0,0,.16)}
  .auth-visual-copy{position:relative;align-self:center;max-width:620px;padding:34px 0 50px}
  .auth-visual-kicker{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:9px 13px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.10);backdrop-filter:blur(8px)}
  .auth-visual-kicker:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(236,124,89,.18)}
  .auth-visual-copy h1{font:500 clamp(52px,5vw,78px)/.98 'Playfair Display',serif;letter-spacing:-.05em;margin:24px 0 19px;max-width:620px;color:#fff;text-wrap:balance;text-shadow:0 4px 28px rgba(0,0,0,.24)}
  .auth-visual-copy p{font-size:18px;line-height:1.58;color:rgba(255,255,255,.88);max-width:545px;margin:0 0 28px;text-shadow:0 2px 16px rgba(0,0,0,.2)}
  .auth-visual-points{display:flex;gap:9px;flex-wrap:wrap}.auth-visual-points span{font-size:12px;font-weight:750;color:#fff;border:1px solid rgba(255,255,255,.26);background:rgba(11,58,37,.44);backdrop-filter:blur(7px);padding:9px 12px;border-radius:999px}
  .auth-visual-foot{position:relative;color:rgba(255,255,255,.72)!important;font-size:12px;letter-spacing:.02em}
  .auth-panel{padding:42px}.auth-card{box-shadow:0 24px 70px rgba(25,45,34,.10);border-color:#e4e8e3}
}
.billing-intro{font-size:15px;color:var(--muted);line-height:1.55;margin:18px 0 14px}.billing-payment-summary{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}.billing-payment-method{border:1px solid var(--line);background:#fbfcfa;border-radius:17px;padding:15px 16px;display:grid;gap:5px}.billing-payment-method b{font-size:15px;color:var(--green);line-height:1.25}.billing-payment-method span{font-size:12px;color:var(--muted);line-height:1.45}.billing-payment-or{align-self:center;color:#97a198;font-size:12px;font-weight:800;text-transform:uppercase}.billing-confirm-note{margin-top:13px;font-size:12px;line-height:1.45;color:#69766e}
.plan-upsell-pricing{margin:0 0 18px}.upgrade-price-delta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:14px;background:#fff4ef;border:1px solid #f2d3c6}.upgrade-price-delta span{font-size:13px;color:#6d756f;font-weight:700}.upgrade-price-delta strong{font-size:17px;color:var(--coral);white-space:nowrap}.payment-confirm-note{margin-top:10px!important;text-align:center;color:#68756d!important}
@media(max-width:600px){
  .billing-payment-summary{grid-template-columns:1fr;gap:8px}.billing-payment-or{text-align:center;height:14px;line-height:14px}.billing-payment-method{padding:13px 14px}.billing-intro{font-size:14px;margin-top:15px}.billing-confirm-note{font-size:11px}
  .plan-upsell-card{max-height:calc(100dvh - 20px);overflow-y:auto;padding:26px 20px 20px}.plan-upsell-card h2{font-size:26px}.plan-upsell-benefits{padding:13px 14px;margin-bottom:14px}.plan-upsell-pricing{margin-bottom:14px}.upgrade-price-row,.upgrade-price-delta{padding:10px 12px}.plan-upsell-card .btn{font-size:13px;padding:12px 14px}
}

.billing-adjustment-card{border-color:#d9e7de;background:linear-gradient(180deg,#fff,#fbfdfb)}
.billing-adjustment-card .actions{display:flex;gap:10px;flex-wrap:wrap}
.billing-change-modal-card .payment-redirect-plan{margin:16px 0;font-size:18px;font-weight:800}

.support-request-card{max-width:560px}.support-topic-list label span{line-height:1.35}.support-request-card .cancel-reason-list{max-height:42vh;overflow:auto;padding-right:3px}@media(max-width:600px){.support-request-card .cancel-reason-list{max-height:39vh}.support-request-card{padding-bottom:max(22px,env(safe-area-inset-bottom))}}


.required-invalid{border-color:#dc6f55!important;box-shadow:0 0 0 3px rgba(220,111,85,.12)!important}
.card.required-invalid{border-color:#dc6f55!important;box-shadow:0 0 0 3px rgba(220,111,85,.10)!important}

/* Gestão de hospedagens — exclusão segura */
.property-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.delete-property-modal-card h2 span{color:var(--green)}
.delete-property-note{display:grid;gap:5px;margin:18px 0;padding:15px 16px;border:1px solid #f1d7d2;background:#fff7f5;border-radius:16px;color:#6f3e37}
.delete-property-note strong{font-size:14px}.delete-property-note span{font-size:13px;line-height:1.5}
.delete-property-modal-card .btn+.btn{margin-top:9px}
@media(max-width:600px){.property-card-head{align-items:flex-start}.property-head-actions{width:100%;justify-content:flex-start;margin-top:12px}.property-head-actions .btn{flex:1;min-width:138px;padding-left:12px;padding-right:12px}.delete-property-modal-card{max-height:88svh;overflow:auto}}

/* Professional locked-feature and Pix availability UX */
.feature-lock-action{width:100%;border:1px solid #f0c9ba;background:#fff8f5;color:var(--coral);border-radius:15px;padding:13px 15px;font:inherit;font-weight:850;margin:-8px 0 18px;cursor:pointer}.feature-locked-form{pointer-events:none;opacity:.48;filter:saturate(.65)}.pix-auto-notice{margin-top:12px;padding:12px 14px;border-radius:14px;background:#fff4ef;border:1px solid #f1d0c3;color:#714839;font-size:13px;line-height:1.48;font-weight:700}.manual-plan-options{display:grid;gap:10px;margin:18px 0}.manual-plan-option{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcfb}.manual-plan-option strong{display:block;color:var(--green);font-size:15px}.manual-plan-option span{display:block;color:var(--muted);font-size:12px;line-height:1.45;margin-top:4px}.manual-plan-option b{white-space:nowrap;color:var(--ink);font-size:14px}.manual-plan-modal-card .btn+.btn{margin-top:9px}@media(max-width:520px){.manual-plan-option{display:block}.manual-plan-option b{display:block;margin-top:9px;font-size:15px}}

/* boleto pós-emissão */
.boleto-created-state{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#f7faf7;text-align:center}.boleto-created-state h3{margin:8px 0 4px;font-size:22px}.boleto-created-state p{margin:0 0 12px}.boleto-created-icon{width:46px;height:46px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:#e4f2e8;color:var(--green);font-size:24px;font-weight:900}.boleto-created-actions{display:grid;gap:9px;margin-top:16px}

/* administração: autonomia e app separado */
.admin-head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-action-card{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfcfb}.admin-action-card .eyebrow{margin-bottom:8px}.admin-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-actions-wrap{display:flex;gap:9px;flex-wrap:wrap}.admin-danger-zone{border-color:#f0d1cc;background:#fffafa}.admin-danger-zone .btn.danger{margin-top:6px}@media(max-width:700px){.admin-edit-grid{grid-template-columns:1fr}.admin-head-actions{width:100%;justify-content:stretch}.admin-head-actions .btn{flex:1}}


/* Reservaê Control Center — operação sem deploy */
.admin-title-row{align-items:flex-start}.admin-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-price-grid{grid-template-columns:repeat(2,1fr)}.admin-list{display:grid;gap:10px}.admin-list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#fbfcfb}.admin-list-row>div:first-child{min-width:0}.admin-list-row .tiny{line-height:1.5;margin-top:3px}.admin-toggle-list{display:grid;gap:10px;margin-bottom:16px}.admin-switch-line{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:16px;padding:14px 15px;background:#fbfcfb}.admin-switch-line>span:first-child{min-width:0}.admin-switch-line strong{display:block;font-size:14px}.admin-switch-line small{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:3px}.admin-check-line{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700;margin:8px 0}.admin-property-list{display:grid;gap:12px}.admin-property-box{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fff}.admin-property-box .field{margin-bottom:10px}.admin-notes-list{display:grid;gap:8px}.admin-note{border-left:3px solid var(--green);background:#f5f8f5;border-radius:0 12px 12px 0;padding:11px 13px;font-size:13px;line-height:1.45}.admin-note small{display:block;color:var(--muted);margin-top:5px}.feature-override-row{display:grid;grid-template-columns:1fr minmax(170px,250px);align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.feature-override-row:last-child{border-bottom:0}.feature-override-row .input{padding:10px 12px;font-size:13px}.automation-policy strong{font-size:13px}.automation-policy .chips{margin-top:8px}.feature-disabled{opacity:.58;filter:saturate(.55);position:relative}.feature-disabled::after{content:"Temporariamente indisponível";position:absolute;top:12px;right:12px;border-radius:999px;padding:6px 9px;background:#fff4ef;color:#7d4939;font-size:10px;font-weight:800;border:1px solid #f0c9ba}.integration-ok{color:var(--green)}
@media(max-width:900px){.admin-control-grid{grid-template-columns:1fr}.admin-price-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.admin-title-row{display:grid;gap:14px}.admin-price-grid{grid-template-columns:1fr}.admin-list-row{display:grid}.admin-list-row .admin-actions-wrap{justify-content:flex-start}.feature-override-row{grid-template-columns:1fr}.admin-switch-line{align-items:flex-start}.admin-client-card{max-height:94dvh}.admin-kpis{grid-template-columns:1fr 1fr}}

/* Sem marcador decorativo artificial no login */
.auth-visual-kicker:before{display:none!important}


.admin-timeline{display:grid;gap:0;margin-top:10px}.admin-timeline-row{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding:8px 0}.admin-timeline-row>span{width:10px;height:10px;border-radius:50%;background:var(--green);margin-top:5px;position:relative}.admin-timeline-row:not(:last-child)>span:after{content:"";position:absolute;left:4px;top:12px;width:2px;height:calc(100% + 10px);background:#dce4df}.admin-timeline-row strong{font-size:13px}

/* Fiscal & contábil */
.fiscal-progress{height:12px;border-radius:999px;background:rgba(20,90,56,.10);overflow:hidden;margin-top:14px}
.fiscal-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#145a38,#ef7f61);border-radius:999px;transition:width .25s ease}
.fiscal-json{min-height:130px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}
.invoice-choice-line{margin:4px 0 14px}
@media(max-width:720px){.fiscal-kpis{grid-template-columns:1fr 1fr}.fiscal-json{min-height:150px}}

.fiscal-decision-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.fiscal-decision-actions .btn{flex:1 1 190px}.fiscal-profile-card{border:1px solid rgba(230,126,96,.35);background:linear-gradient(180deg,#fff,#fff9f6)}

/* Reservaê para Gestores */
.manager-offer-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(20,90,56,.18);background:linear-gradient(135deg,#fbfdfb,#f0f7f2)}
.manager-offer-side{display:flex;flex-direction:column;align-items:flex-end;gap:12px;min-width:220px}.manager-offer-side>strong{font-size:24px;color:var(--green)}
.manager-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#f3f8f4)}
.manager-kpis{grid-template-columns:repeat(3,1fr)}.manager-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:18px;margin-top:18px}
.manager-property-list,.manager-source-list,.manager-upcoming-list{display:grid;gap:10px;margin-top:18px}.manager-property-row,.manager-upcoming-row,.manager-source-row{border:1px solid var(--line);border-radius:17px;padding:15px 16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px}.manager-property-metrics{display:flex;align-items:center;gap:22px;text-align:right}.manager-property-metrics span{display:flex;flex-direction:column;gap:3px}.manager-property-metrics b{font-size:14px}.manager-property-metrics small{font-size:10px;color:var(--muted);white-space:nowrap}.manager-source-row strong{font-size:18px}.manager-upcoming-row>span{font-weight:800;color:var(--green);white-space:nowrap}
.manager-upgrade-modal-card{width:min(560px,100%)}.manager-upgrade-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.manager-upgrade-benefits>div{border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fbfcfa;font-size:13px;font-weight:700}.manager-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.manager-admin-table{overflow:auto}.manager-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;background:#edf5ef;color:var(--green);font-size:11px;font-weight:800}
@media(max-width:900px){.manager-grid{grid-template-columns:1fr}.manager-kpis{grid-template-columns:1fr 1fr}.manager-offer-card{align-items:flex-start;flex-direction:column}.manager-offer-side{align-items:flex-start;min-width:0;width:100%}.manager-offer-side .btn{width:100%}.manager-admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.manager-kpis{grid-template-columns:1fr 1fr}.manager-property-row{align-items:flex-start;flex-direction:column}.manager-property-metrics{width:100%;justify-content:space-between;text-align:left;gap:10px}.manager-upgrade-benefits{grid-template-columns:1fr}.manager-hero{flex-direction:column}.manager-admin-grid{grid-template-columns:1fr}}

/* Reservaê Auth — Google OAuth */
.auth-google-btn{width:100%;border:1px solid #dfe3df;background:#fff;color:#26312b;border-radius:999px;padding:13px 18px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.03);transition:.15s;margin-top:2px}.auth-google-btn:hover{background:#f8faf8;border-color:#cfd7d1}.auth-google-btn:active{transform:translateY(1px)}.auth-google-btn:disabled{opacity:.55;cursor:not-allowed}.auth-google-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px}.auth-divider{display:flex;align-items:center;gap:12px;color:#98a19b;font-size:12px;font-weight:700;margin:16px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e7eae7;flex:1}.auth-divider span{padding:0 3px}

.auth-overlay-open{overflow:hidden}.auth-email-overlay{position:fixed;inset:0;z-index:3000;background:rgba(17,35,25,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:22px}.auth-email-overlay.hidden{display:none}.auth-email-card{width:min(470px,100%);background:#fff;border:1px solid #e2e7e2;border-radius:28px;padding:34px;box-shadow:0 28px 90px rgba(10,30,18,.25);text-align:center}.auth-email-eyebrow{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--coral);margin-bottom:8px}.auth-email-card h2{font-size:30px;line-height:1.08;margin:0 0 10px;color:var(--ink)}.auth-email-card>p{margin:0 auto;color:var(--muted);line-height:1.55;max-width:390px}.auth-email-address{margin:16px 0 10px;padding:11px 14px;border-radius:13px;background:#f5f7f4;color:#26332c;font-size:14px;font-weight:800;word-break:break-word}.auth-email-card .auth-email-tip{font-size:12px;line-height:1.55;margin:0 0 20px;color:#748078}.auth-email-card .btn{margin-top:9px}.auth-email-link{margin:16px auto 0;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-email-link:disabled{opacity:.55;cursor:not-allowed}.auth-email-card .msg{text-align:left;margin-top:14px}
@media(max-width:600px){.auth-email-overlay{padding:14px}.auth-email-card{padding:28px 22px;border-radius:24px}.auth-email-card h2{font-size:27px}}

.auth-field-hint{margin-top:6px;font-size:11px;line-height:1.35;color:var(--muted);font-weight:500}

/* Google Identity Services: login direto pelo Google, sem redirecionar o usuário ao domínio do Supabase. */
.auth-google-btn{box-sizing:border-box;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center;width:100%;overflow:visible}
.auth-google-btn:hover{background:transparent;border-color:transparent}
.auth-google-btn>div{max-width:100%}
.auth-google-fallback{width:100%;min-height:44px;border:1px solid #dfe3df;border-radius:999px;background:#fff;color:#6f7772;font-weight:700}

/* Configuração guiada em etapas */
.config-wizard-active [data-config-step]{display:none}
.config-wizard-active [data-config-step].config-step-active{display:block}
.config-wizard-active #propertySwitcherCard{display:none}
.config-wizard-active #stickySave{display:none!important}
.config-wizard-card{position:relative;z-index:1}
.config-wizard-card.compact-step>.onboarding-eyebrow,.config-wizard-card.compact-step>h2,.config-wizard-card.compact-step>p,.config-wizard-card.compact-step>.manager-early-offer{display:none}.config-wizard-card.compact-step .config-progress{margin-top:0}.faq-example{display:grid;gap:4px}.faq-example span{display:block}.faq-example small{display:block;margin-top:4px;color:var(--muted)}
.manager-early-offer{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:rgba(255,255,255,.82);border:1px solid #dde6df;border-radius:18px;padding:14px 15px;margin:16px 0 18px}.manager-choice-title{grid-column:1/-1;font-weight:900;color:#1f2a24;margin-bottom:2px}.manager-choice-card{appearance:none;text-align:left;border:1px solid #d8e2db;background:#fff;border-radius:16px;padding:14px 15px;cursor:pointer;font:inherit}.manager-choice-card strong{display:block;color:var(--green);font-size:15px}.manager-choice-card span{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:3px}.manager-choice-card.selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(20,90,56,.08);background:#f4faf6}.manager-choice-specialist{border-color:#e6d8d0;background:#fffaf7}
.config-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.config-progress button{height:38px;border-radius:999px;border:1px solid #d5e1d8;background:#fff;color:#718078;font-weight:900}.config-progress button.active{background:var(--green);border-color:var(--green);color:#fff}.config-progress button.done{background:#e5f2e9;border-color:#c9e2d1;color:var(--green)}
.config-step-heading{display:grid;gap:3px;margin:8px 0 16px}.config-step-heading span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--coral)}.config-step-heading strong{font-size:20px;color:var(--ink)}
.config-step-actions{display:flex;justify-content:space-between;gap:12px;margin:18px 0 8px}.section-view:not(.config-wizard-active) #configStepActions{display:none}.config-step-actions .btn{min-width:140px}.config-step-actions #configNext{margin-left:auto}
.config-final-card{border:0;background:transparent;box-shadow:none;padding:0}.config-final-action{margin-top:12px}.config-final-points{display:none}
.booking-approval-box{border:1px solid #d8e5dc;background:#f8fbf9;border-radius:20px;padding:20px;margin:18px 0 22px}.booking-approval-box h3{margin:0 0 6px;font-size:20px}.booking-approval-box>p{margin:0 0 15px;color:var(--muted);font-size:14px;line-height:1.5}.booking-approval-option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px;margin-top:10px;cursor:pointer}.booking-approval-option:has(input:checked){border-color:#7fb493;box-shadow:0 0 0 2px rgba(20,90,56,.08)}.booking-approval-option input{margin-top:3px;width:18px;height:18px;accent-color:var(--green)}.booking-approval-option strong{display:block}.booking-approval-option small{display:block;color:var(--muted);line-height:1.45;margin-top:3px}
.fiscal-decision-actions .selected{border-color:var(--green)!important;background:#eef6f0!important;color:var(--green)!important}
.auth-manager-callout{display:grid;gap:4px;max-width:545px;margin-top:18px;padding:14px 16px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(11,58,37,.42);backdrop-filter:blur(7px);color:#fff;text-decoration:none}.auth-manager-callout strong{font-size:14px}.auth-manager-callout span{font-size:12px;line-height:1.45;color:rgba(255,255,255,.82)}
.approval-pending-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.approval-wait-box{border:1px solid #d8e5dc;background:#f6faf7;border-radius:18px;padding:18px;text-align:center}.approval-wait-box strong{display:block;font-size:20px;color:var(--green);margin-bottom:6px}.approval-countdown{font-weight:900;color:var(--coral);margin-top:8px}

@media(max-width:900px){.config-wizard-card{position:static}.manager-early-offer{grid-template-columns:1fr}.manager-choice-title{grid-column:1}.config-progress{gap:5px}.config-progress button{height:34px;font-size:12px}}
.secure-connection{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #cfe3d8;background:#f2f8f5;border-radius:12px;color:#145a38}.btn.compact{padding:8px 12px;min-height:0}.trial-chip{display:inline-flex;margin:0 0 8px;padding:5px 9px;border-radius:999px;background:#eef7f2;color:#145a38;font-size:12px;font-weight:900}.nav-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ec7c59;margin-left:6px;vertical-align:middle}.approval-highlight{outline:3px solid rgba(236,124,89,.28);outline-offset:2px}

.upload-status{margin:10px 0 4px;font-size:13px;font-weight:800;color:var(--green);display:flex;align-items:center;gap:8px}.upload-status:before{content:"";width:12px;height:12px;border:2px solid #cddbd2;border-top-color:var(--green);border-radius:50%;animation:reservaeSpin .75s linear infinite}@keyframes reservaeSpin{to{transform:rotate(360deg)}}.sync-action-row{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap}.sync-action-row #syncState{margin-left:0}.sync-action-row #syncCalendars:disabled{opacity:.5;cursor:not-allowed}.infinite-warning{color:#735144}.trial-chip{max-width:100%;white-space:normal;line-height:1.35;text-align:left}

/* final launch polish */
.inline-copy-link,.overview-copy-link{border:0;background:transparent;padding:0;color:#1768c7;text-decoration:underline;text-underline-offset:3px;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.inline-copy-link:disabled{color:var(--muted);text-decoration:none;cursor:default}.urlbox{overflow:hidden}.overview-links{display:grid;gap:14px}.overview-link-row{display:grid;gap:5px;padding:12px 0;border-bottom:1px solid var(--line)}.overview-link-row:last-child{border-bottom:0}.overview-link-row>span{font-weight:850}.overview-link-row small{color:var(--muted)}.overview-general-link{margin-top:2px}.drawer-brand-icon{object-fit:cover;background:#145a38;padding:0;border:0}.visibility-note{border-color:#dce8e0;background:#f6faf7;color:#42584b}.delete-property-modal-card #deletePropertyResult{margin:12px 0;color:#8a4038;background:#fff0ef;border-color:#f0d0ca}.delete-property-modal-card .btn+.btn{margin-top:9px}.payment-redirect-card #newPropertyName{margin-bottom:8px}#installAppBtn.hidden{display:none!important}
@media(max-width:600px){.overview-copy-link,.inline-copy-link{font-size:13px}.overview-link-row{padding:10px 0}}

/* QA final: na Visão geral o endereço fica informativo e a ação de copiar volta a ser um botão. */
.overview-link-row .overview-copy-btn{justify-self:start;margin-top:3px}

/* Links públicos escolhidos pelo anfitrião */
.public-slug-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.public-slug-control>span{padding:0 0 0 14px;color:var(--muted);font-size:12px;white-space:nowrap}.public-slug-control .input{border:0;box-shadow:none;border-radius:0;padding-left:4px;min-width:0}.public-slug-control:focus-within{border-color:#7aa68d;box-shadow:0 0 0 3px rgba(20,90,56,.08)}.public-slug-status{margin-top:7px;min-height:18px}.public-slug-status.ok,#portfolioSlugStatus.ok{color:var(--green);font-weight:800}.public-slug-status.error,#portfolioSlugStatus.error{color:#a43f32;font-weight:800}.portfolio-slug-setup{margin:4px 0 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}.portfolio-current-link{margin-top:2px}.portfolio-slug-setup.hidden{display:none}.portfolio-slug-setup>label{display:block;margin-bottom:7px}.public-slug-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.public-slug-actions .tiny{flex:1}.public-slug-actions .btn{flex:0 0 auto}
@media(max-width:600px){.public-slug-control{align-items:stretch;flex-direction:column}.public-slug-control>span{padding:10px 14px 0;white-space:normal}.public-slug-control .input{padding-left:14px}.public-slug-actions{align-items:stretch;flex-direction:column}.public-slug-actions .btn{width:100%}}

/* Refinos finais 29-09: link público na mesma linha + seletor de horário Reservaê */
.public-slug-help{margin:-1px 0 9px;color:var(--muted);font-size:12px;line-height:1.4}
.time-input-shell{position:relative}.reservae-time-input{cursor:pointer;padding-right:48px!important;font-weight:800;letter-spacing:.01em}.time-input-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef6f1;color:var(--green);font-size:18px;pointer-events:none}
.reservae-time-modal{position:fixed;inset:0;z-index:180;background:rgba(15,27,20,.52);display:grid;place-items:center;padding:18px}.reservae-time-modal.hidden{display:none!important}.reservae-time-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.28)}.reservae-time-eyebrow{color:var(--coral);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.reservae-time-card h3{margin:6px 0 18px;font-size:24px;color:var(--ink)}.reservae-time-preview{text-align:center;font-size:54px;line-height:1;font-weight:900;color:var(--green);padding:18px 12px;border-radius:20px;background:#f2f8f5;margin-bottom:18px}.reservae-time-fields{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end}.reservae-time-field label{display:block;font-size:12px;font-weight:800;color:var(--muted);margin:0 0 6px}.reservae-time-field input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 10px;background:#fff;color:var(--ink);font:inherit;font-size:22px;font-weight:900;text-align:center;outline:0}.reservae-time-field input:focus{border-color:#7aa68d;box-shadow:0 0 0 3px rgba(20,90,56,.08)}.reservae-time-colon{font-size:26px;font-weight:900;padding-bottom:12px;color:var(--muted)}.reservae-minute-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.reservae-minute-shortcuts button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);font:inherit;font-size:12px;font-weight:850;padding:8px 11px}.reservae-minute-shortcuts button.active{background:#eef6f1;border-color:#b8d2c2}.reservae-time-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:22px}.reservae-time-actions .btn{width:100%}
@media(max-width:600px){.public-slug-control{align-items:center!important;flex-direction:row!important;overflow-x:auto;scrollbar-width:none}.public-slug-control::-webkit-scrollbar{display:none}.public-slug-control>span{padding:0 0 0 12px!important;white-space:nowrap!important;font-size:10.5px!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;flex:0 0 auto}.public-slug-control .input{padding-left:3px!important;padding-right:10px!important;min-width:92px;flex:1 0 92px}.reservae-time-card{padding:21px;border-radius:23px}.reservae-time-preview{font-size:48px}.reservae-time-fields{gap:7px}}

/* Confirmações próprias do Reservaê */
.reservae-confirm-card{max-width:430px!important}.reservae-confirm-card h2{margin-bottom:8px}.reservae-confirm-card p{margin-bottom:20px}.reservae-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reservae-confirm-actions .btn{margin:0}@media(max-width:520px){.reservae-confirm-actions{grid-template-columns:1fr}.reservae-confirm-actions .btn.primary{order:-1}}

.manual-block-calendar .manual-block-day.is-manual-blocked{border-color:#e98b6e;background:#fff1eb}.manual-block-calendar .manual-block-day.is-manual-blocked small{color:#b75239;font-weight:800}.manual-block-calendar .manual-block-day.is-occupied{background:#f0f2ef;border-color:#d8ded9;color:#8b958f}.manual-block-calendar .manual-block-day.is-occupied small{color:#8b958f;font-weight:700}.manual-block-calendar .manual-block-day.is-past{opacity:.42}.manual-block-calendar .manual-block-day:disabled{cursor:not-allowed}.manual-block-hint{margin-top:12px}


/* Ajuste visual do calendário de bloqueio manual — mobile */
.manual-block-card{overflow:hidden}
.manual-block-card .rate-calendar-head{grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin:18px 0 14px}
.manual-block-card .rate-calendar-head strong{min-width:0;text-align:center;text-transform:none;white-space:nowrap;font-size:18px;line-height:1.2}
#manualBlockPrevMonth,#manualBlockNextMonth{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;font-size:24px;line-height:1;box-shadow:none}
.manual-block-calendar{width:100%;min-width:0;overflow:hidden}
.manual-block-calendar .rate-weekdays,.manual-block-calendar .rate-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%}
.manual-block-calendar .rate-weekdays span{min-width:0;font-size:10px;line-height:1;text-align:center;white-space:nowrap}
.manual-block-calendar .manual-block-day{width:100%;min-width:0;min-height:64px;padding:7px 2px;border-radius:12px;overflow:hidden}
.manual-block-calendar .manual-block-day strong{font-size:15px;line-height:1}
.manual-block-calendar .manual-block-day small{display:block;width:100%;max-width:100%;font-size:8px;line-height:1.05;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:clip;letter-spacing:-.02em}
.manual-block-hint{margin-top:16px;line-height:1.45}

@media(max-width:600px){
  .manual-block-card{padding-left:14px!important;padding-right:14px!important}
  .manual-block-card .spread{display:block}
  .manual-block-card .card-title{font-size:21px!important;line-height:1.14;margin-bottom:7px!important}
  .manual-block-card .muted{font-size:14px;line-height:1.45}
  .manual-block-card .rate-calendar-head{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;margin:14px 0 13px}
  #manualBlockPrevMonth,#manualBlockNextMonth{width:42px;height:42px;min-width:42px;min-height:42px;font-size:23px}
  .manual-block-card .rate-calendar-head strong{font-size:17px}
  .manual-block-calendar .rate-weekdays,.manual-block-calendar .rate-days{gap:4px}
  .manual-block-calendar .rate-weekdays span{font-size:9px}
  .manual-block-calendar .manual-block-day{min-height:56px;padding:6px 1px;border-radius:10px}
  .manual-block-calendar .manual-block-day strong{font-size:14px}
  .manual-block-calendar .manual-block-day small{font-size:7.2px;letter-spacing:-.035em}
  .manual-block-hint{font-size:12px;margin-top:14px}

  /* A tabela de reservas vira cartões no celular para não ficar cortada de lado. */
  .section-view[data-section="reservations"] .table-card{border:0;background:transparent;overflow:visible;border-radius:0}
  .section-view[data-section="reservations"] .reserve-table{display:block;width:100%;min-width:0}
  .section-view[data-section="reservations"] .reserve-table thead{display:none}
  .section-view[data-section="reservations"] .reserve-table tbody{display:grid;gap:12px;width:100%}
  .section-view[data-section="reservations"] .reserve-table tr{display:block;width:100%;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
  .section-view[data-section="reservations"] .reserve-table td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;width:100%;padding:11px 14px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.4;overflow-wrap:anywhere}
  .section-view[data-section="reservations"] .reserve-table td:last-child{border-bottom:0}
  .section-view[data-section="reservations"] .reserve-table td::before{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:2px}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(1)::before{content:"Hóspede"}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(2)::before{content:"Datas"}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(3)::before{content:"Pessoas"}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(4)::before{content:"Origem"}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(5)::before{content:"Valor"}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(6)::before{content:"Status"}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(7){display:flex;gap:8px;flex-wrap:wrap}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(7)::before{display:none}
  .section-view[data-section="reservations"] .reserve-table td:nth-child(7) .btn{padding:9px 12px;font-size:12px}
  .section-view[data-section="reservations"] .reserve-table td[colspan]{display:block;padding:18px 16px;text-align:center}
  .section-view[data-section="reservations"] .reserve-table td[colspan]::before{display:none}
}

.plan-multi-note{margin:-10px 0 18px;color:var(--muted);font-size:14px;line-height:1.5}.payment-extra-properties{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);background:#fbfcfa;border-radius:17px;padding:14px 16px;margin:12px 0 4px}.payment-extra-properties>div:first-child{display:grid;gap:3px}.payment-extra-properties strong{color:var(--green)}.payment-extra-properties span{font-size:12px;color:var(--muted);line-height:1.35}.payment-extra-stepper{display:flex;align-items:center;gap:11px;flex:0 0 auto}.payment-extra-stepper button{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:22px;line-height:1;color:var(--green);font-weight:800}.payment-extra-stepper>strong{min-width:20px;text-align:center;font-size:18px;color:var(--ink)}
@media(max-width:640px){.plan-multi-note{font-size:13px;margin:-4px 2px 14px}.payment-extra-properties{padding:12px 13px}.payment-extra-properties span{font-size:11px}.payment-extra-stepper{gap:8px}.payment-extra-stepper button{width:32px;height:32px}}

.tip-note{border:1px solid var(--line);border-radius:13px;padding:0;background:#fbfcfa;color:var(--muted);overflow:hidden}.tip-note summary{cursor:pointer;list-style:none;padding:10px 12px;font-weight:800;color:var(--green);user-select:none}.tip-note summary::-webkit-details-marker{display:none}.tip-note summary::after{content:'›';float:right;font-size:18px;line-height:1;transition:transform .16s}.tip-note[open] summary::after{transform:rotate(90deg)}.tip-note>div{padding:0 12px 11px;line-height:1.5}

/* aceite legal da plataforma */
.legal-acceptance-card{padding-top:28px;padding-bottom:28px}.legal-acceptance-head{display:flex;gap:14px;align-items:flex-start}.legal-acceptance-head .card-title{margin:0 0 5px;font-size:22px}.legal-acceptance-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.legal-shield{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#e8f3ec;color:var(--green);font-weight:900}.legal-acceptance-check{margin-top:18px;border:1px solid var(--line);border-radius:16px;padding:15px 16px;display:flex;gap:12px;align-items:flex-start;background:#fbfcfa;font-size:14px;line-height:1.5;cursor:pointer}.legal-acceptance-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--green);flex:0 0 auto}.legal-acceptance-check a{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:2px}.legal-acceptance-check.accepted{background:#f1f7f3;border-color:#cfe1d4}.legal-acceptance-status{margin-top:9px}.auth-legal-links{margin-top:14px;text-align:center;font-size:11px;color:var(--muted);line-height:1.5}.auth-legal-links a{color:var(--green);font-weight:700;text-decoration:none}.guest-privacy-note a{color:inherit;font-weight:800;text-decoration:underline}.legal-page{min-height:100svh;background:var(--cream);padding:26px 16px 60px}.legal-page-shell{width:min(820px,100%);margin:auto}.legal-page-brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px;color:var(--green);margin:4px 0 22px;text-decoration:none}.legal-page-brand img{width:38px;height:38px}.legal-document{background:#fff;border:1px solid var(--line);border-radius:26px;padding:clamp(24px,5vw,48px);box-shadow:var(--shadow)}.legal-document h1{font:500 clamp(36px,6vw,56px)/1.02 'Playfair Display',serif;margin:0 0 8px;letter-spacing:-.035em}.legal-document .legal-version{color:var(--muted);font-size:12px;margin-bottom:28px}.legal-document h2{font-size:20px;margin:28px 0 8px}.legal-document p,.legal-document li{font-size:14px;line-height:1.7;color:#475149}.legal-document ul{padding-left:20px}.legal-document a{color:var(--green);font-weight:700}.legal-callout{background:#f1f7f3;border:1px solid #d8e8dd;border-radius:16px;padding:15px 16px;margin:18px 0;color:#315742!important}.legal-back{display:inline-flex;margin-top:18px;color:var(--green);font-weight:800;text-decoration:none}@media(max-width:600px){.legal-acceptance-card{padding:22px 20px}.legal-acceptance-head .card-title{font-size:20px}.legal-acceptance-check{padding:14px}.legal-document{border-radius:20px}}

/* Materiais / placas com QR Code */
.materials-hero{overflow:hidden}.materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plaque-card{min-width:0}.plaque-preview{display:block;width:100%;height:auto;aspect-ratio:1/1;border:1px solid var(--line);border-radius:20px;background:#fbf7ef;margin:16px 0 10px;box-shadow:0 10px 30px rgba(20,90,56,.08)}.plaque-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.plaque-actions .btn{flex:1 1 210px}.plaque-price-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.plaque-price-box>div{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.plaque-price-box span{display:block;font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.plaque-price-box strong{display:block;margin-top:5px;font-size:20px;color:var(--green)}.plaque-price-box .plaque-total{background:#eef5ef}.plaque-price-box .tiny{grid-column:1/-1;border:0;padding:0;background:transparent}.materials-grid .sync-action-row{align-items:stretch}.materials-grid .sync-action-row .input{flex:1 1 220px}.materials-grid .sync-action-row .btn{flex:0 0 auto}
@media(max-width:820px){.materials-grid{grid-template-columns:1fr}.plaque-price-box{grid-template-columns:1fr}.plaque-price-box .tiny{grid-column:auto}.plaque-actions .btn{flex:1 1 100%}}
