*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
[hidden]{display:none !important;}
body{font-family:'Inter',sans-serif;background:#F7F5F0;color:#201E19;min-height:100vh;}

@keyframes flashPulseNeto{0%{transform:scale(1.04);}100%{transform:scale(1);}}
@keyframes tickerMove{0%{transform:translateX(-50%);}100%{transform:translateX(0%);}}
@keyframes dotBlink{0%,100%{opacity:1;}50%{opacity:.25;}}

.accent{color:#FF5A1F;}

/* ---------- HEADER ---------- */
.calc-header{position:sticky;top:0;z-index:50;background:#FFFFFF;border-bottom:1px solid #E7E2D5;}
.calc-nav{
  max-width:1180px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit;}
.brand-dot{width:22px;height:22px;border-radius:7px;background:#FF5A1F;flex-shrink:0;}
.brand-dot.small{width:18px;height:18px;border-radius:6px;}
.brand-name{font-family:'DM Sans',sans-serif;font-weight:800;font-size:18px;letter-spacing:-.01em;}
.brand-name.small{font-size:14px;}
.badge{background:#FFE7DA;color:#C6410C;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;}

.seg{display:flex;gap:6px;background:#F7F5F0;border:1px solid #E7E2D5;border-radius:12px;padding:4px;}
.seg-btn{
  border:none;background:transparent;color:#79715F;font-size:12.5px;font-weight:700;
  padding:8px 14px;border-radius:9px;cursor:pointer;display:flex;align-items:center;gap:7px;
  font-family:'Inter',sans-serif;
}
.seg-btn.active{background:#fff;color:#201E19;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.seg-dot{width:8px;height:8px;border-radius:50%;display:inline-block;}

.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.currency-toggle{display:flex;background:#F7F5F0;border:1px solid #E7E2D5;border-radius:999px;padding:3px;gap:2px;}
.currency-btn{border:none;background:transparent;color:#79715F;font-size:12px;font-weight:700;padding:6px 13px;border-radius:999px;cursor:pointer;font-family:'Inter',sans-serif;}
.currency-btn.active{background:#FF5A1F;color:#fff;}
.icon-btn{background:#F7F5F0;border:1px solid #E7E2D5;color:#79715F;width:30px;height:30px;border-radius:9px;cursor:pointer;font-size:13px;}
.reset-btn{border:1px solid #E7E2D5;background:transparent;color:#79715F;font-size:11.5px;font-weight:700;padding:8px 12px;border-radius:9px;cursor:pointer;font-family:'Inter',sans-serif;}
.reset-btn.armed{border-color:#A6522E;background:#A6522E;color:#fff;}

/* ---------- RATES BAND ---------- */
.rates-band{border-top:1px solid #E7E2D5;background:linear-gradient(90deg,#FFF3EC,#FFF8EE);}
.rates-band-inner{max-width:1180px;margin:0 auto;padding:9px 20px;display:flex;align-items:center;gap:12px;}
.rates-ticker-wrap{flex:1;overflow:hidden;}
.rates-ticker{display:inline-flex;white-space:nowrap;animation:tickerMove 55s linear infinite;}
.rate-card{display:inline-flex;align-items:baseline;gap:7px;padding-right:40px;}
.rate-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.rate-text{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:700;color:#201E19;white-space:nowrap;}
.rate-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.rates-status{flex-shrink:0;display:flex;align-items:center;gap:6px;font-size:11px;color:#79715F;font-weight:600;}
.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;}
.status-dot.live{animation:dotBlink 1.4s ease-in-out infinite;}
.edit-btn{flex-shrink:0;background:none;border:1px solid #E7E2D5;color:#C6410C;font-weight:700;font-size:11px;cursor:pointer;padding:5px 10px;border-radius:8px;font-family:'Inter',sans-serif;}

.rate-edit-panel{max-width:1180px;margin:0 auto;padding:0 20px 14px;display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:#79715F;}
.rate-edit-row{display:flex;align-items:center;gap:8px;}
.rate-edit-row input{width:90px;border:1px solid #E7E2D5;border-radius:7px;padding:5px 7px;font-family:'IBM Plex Mono',monospace;text-align:right;}
.link-btn{background:none;border:none;color:#C6410C;font-weight:700;font-size:11.5px;cursor:pointer;font-family:'Inter',sans-serif;}
.rate-edit-note{color:#AEA48D;}

/* ---------- PANELS ---------- */
.calc-panel{width:100%;}
.panel-booking{background:radial-gradient(1100px 550px at 12% -8%, #E4EEFF 0%, transparent 55%), radial-gradient(900px 480px at 100% 0%, #FFF6DC 0%, transparent 55%), #F7F5F0;}
.panel-airbnb{background:radial-gradient(1100px 550px at 12% -8%, #FFE7E1 0%, transparent 55%), radial-gradient(900px 480px at 100% 0%, #E6FBF8 0%, transparent 55%), #F7F5F0;}
.panel-direct{background:radial-gradient(1100px 550px at 12% -8%, #EAF1E7 0%, transparent 55%), radial-gradient(900px 480px at 100% 0%, #F4EDE0 0%, transparent 55%), #F7F5F0;}
.panel-inner{max-width:1180px;margin:0 auto;padding:28px 20px 70px;}

.calc-title{font-family:'DM Sans',sans-serif;font-weight:800;font-size:clamp(26px,3.6vw,36px);margin:0 0 12px;line-height:1.08;letter-spacing:-.02em;}
.calc-title em{font-style:normal;}
.calc-sub{font-size:13.5px;color:#79715F;margin:0 0 22px;max-width:60ch;line-height:1.55;}

.calc-layout{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start;}
.calc-col-controls{flex:1 1 320px;display:flex;flex-direction:column;gap:16px;}
.calc-col-results{flex:2 1 480px;display:flex;flex-direction:column;gap:16px;}
.calc-col-results.single{flex:2 1 380px;}

.card{background:#fff;border:1px solid #E7E2D5;border-radius:16px;padding:20px;}
.card-title{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;margin:0 0 14px;}

.field{margin-bottom:14px;}
.field:last-child{margin-bottom:0;}
.field label{display:block;font-size:11.5px;color:#79715F;font-weight:600;margin-bottom:6px;}
.field-row{display:flex;gap:10px;margin-bottom:14px;}
.field-row .field{flex:1;margin-bottom:0;}
.field-bordered-top{margin-top:14px;padding-top:14px;border-top:1px dashed #E7E2D5;}

.stepper{display:flex;background:#F7F5F0;border:1px solid #E7E2D5;border-radius:10px;overflow:hidden;}
.stepper.narrow{max-width:186px;}
.stepper-btn{background:#fff;border:none;margin:0;display:flex;align-items:center;justify-content:center;padding:0;width:36px;font-size:17px;font-weight:700;cursor:pointer;flex-shrink:0;}
.stepper-btn.small{width:30px;font-size:15px;}
.stepper-input{flex:1;min-width:0;background:transparent;border:none;text-align:center;line-height:1;font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:600;padding:8px 4px;}
.unit-suffix{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;font-size:11px;color:#AEA48D;}

.accent-booking{color:#003580;}
.accent-airbnb{color:#D70466;}
.accent-direct{color:#2C4F39;}

.airbnb-field{background:#FFF1EE;border-color:#EBEBEB;}
.airbnb-field.narrow{max-width:160px;}
.direct-field{background:#EEEBE2;border-color:#E4E0D4;}
.direct-field.narrow{max-width:186px;}

.hint-box{font-size:11px;color:#79715F;background:#F7F5F0;border:1px dashed #D7D0BE;padding:9px 11px;border-radius:9px;line-height:1.55;margin:0;}
.airbnb-hint{background:#FFF1EE;border-color:#DDDDDD;margin-top:14px;}
.direct-hint{background:#EEEBE2;border-color:#D2CCB9;}

.fee-fixed{display:flex;align-items:center;justify-content:space-between;background:#F7F5F0;border:1px solid #E7E2D5;border-radius:10px;padding:10px 14px;margin-bottom:14px;}
.airbnb-fee-fixed{background:#FFF1EE;border-color:#EBEBEB;}
.fee-fixed span{font-size:12px;color:#79715F;}
.fee-fixed-val{font-family:'IBM Plex Mono',monospace;font-weight:700;color:#00857A;font-size:14px;}

.seg-full{display:flex;background:#F7F5F0;border:1px solid #E7E2D5;border-radius:999px;padding:3px;}
.seg-full-btn{flex:1;text-align:center;border:none;background:transparent;color:#79715F;font-size:12.5px;font-weight:700;padding:8px 14px;border-radius:9px;cursor:pointer;font-family:'Inter',sans-serif;}
.seg-full-btn.active{background:#fff;color:#201E19;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.airbnb-seg{background:#FFF1EE;border-color:#EBEBEB;}

/* ---------- PROMOS ---------- */
.promo-toggle{width:100%;background:none;border:none;padding:0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.promo-toggle-icon{font-size:13px;color:#79715F;}
.promo-summary{font-size:11.5px;color:#79715F;margin:6px 0 0;}
.promo-body{margin-top:14px;}
.promo-deep-warning{font-size:11px;color:#0A2540;background:rgba(254,187,2,.18);border:1px dashed #FEBB02;border-radius:8px;padding:8px 10px;margin:0 0 12px;line-height:1.5;}
.promo-group{margin-bottom:16px;}
.promo-group-title{font-family:'DM Sans',sans-serif;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#0071C2;font-weight:700;margin:0 0 3px;}
.promo-group-desc{font-size:10.5px;color:#AEA48D;margin:0 0 8px;line-height:1.4;}
.promo-card{border:1px solid #E7E2D5;border-radius:10px;background:#F7F5F0;margin-bottom:8px;overflow:hidden;}
.promo-card.selected{border-color:#008009;background:rgba(0,128,9,.06);}
.promo-card.selected.is-deep{border-color:#FEBB02;background:rgba(254,187,2,.14);}
.promo-card.disabled{opacity:.4;pointer-events:none;}
.promo-card-head{display:flex;align-items:center;gap:9px;padding:9px 11px;cursor:pointer;}
.promo-check{width:16px;height:16px;border-radius:5px;border:1px solid #D7D0BE;display:flex;align-items:center;justify-content:center;font-size:10px;color:#008009;flex-shrink:0;background:#fff;}
.promo-card.selected .promo-check{border-color:#008009;}
.promo-card.selected.is-deep .promo-check{border-color:#FEBB02;}
.promo-name{font-size:12.5px;font-weight:600;flex:1;}
.promo-card-body{padding:0 11px 10px;display:flex;align-items:flex-start;gap:9px;flex-wrap:wrap;}
.promo-stepper{display:flex;background:#fff;border:1px solid #E7E2D5;border-radius:8px;overflow:hidden;width:92px;flex-shrink:0;}
.promo-stepper button{background:#F7F5F0;border:none;margin:0;display:flex;align-items:center;justify-content:center;padding:0;width:24px;font-size:13px;font-weight:700;cursor:pointer;}
.promo-stepper input{flex:1;min-width:0;background:transparent;border:none;text-align:center;line-height:1;font-family:'IBM Plex Mono',monospace;font-size:12px;padding:5px 1px;}
.promo-note{font-size:10.5px;color:#AEA48D;flex:1;min-width:120px;line-height:1.45;margin:5px 0 0;}

/* ---------- RESULTS ---------- */
.tier-chips{display:flex;gap:10px;flex-wrap:wrap;}
.tier-chip{
  flex:1;min-width:120px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;
  padding:14px 16px;border-radius:14px;cursor:pointer;text-align:left;font-family:'Inter',sans-serif;
  border:1px solid #E7E2D5;background:#fff;color:#201E19;
}
.tier-chip.selected{border-color:#003580;background:#EFF5FF;color:#003580;}
.tier-chip-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;opacity:.75;}
.tier-chip-neto{font-family:'IBM Plex Mono',monospace;font-size:19px;font-weight:700;}
.tier-chip-neto.flash{animation:flashPulseNeto .5s ease;}

.result-card{background:#fff;border:1px solid #E7E2D5;border-radius:18px;padding:24px;}
.result-card.single-wide{max-width:460px;}
.result-badge{display:inline-flex;align-items:center;gap:8px;background:#EFF5FF;color:#0071C2;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;margin-bottom:12px;}
.result-badge-dot{width:6px;height:6px;border-radius:50%;}
.airbnb-badge{background:#FFF1EE;color:#D70466;}
.direct-badge{background:#EEEBE2;color:#2C4F39;}
.result-title{font-family:'DM Sans',sans-serif;font-size:18px;font-weight:700;margin:0 0 2px;}
.panel-airbnb .result-title,.panel-direct .result-title{font-size:20px;font-weight:800;margin:0 0 18px;}
.result-req{font-size:11px;color:#79715F;margin:0 0 16px;}

.line-item{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;padding:7px 0;border-bottom:1px dashed #E7E2D5;gap:10px;}
.line-item span:first-child{color:#79715F;}
.line-item span:last-child{font-family:'IBM Plex Mono',monospace;font-weight:600;white-space:nowrap;color:#201E19;}
.line-item.deduct span:last-child{color:#CC0633;}
.line-item.discount span:last-child{color:#2C4F39;}
.line-item.strong span:last-child{font-weight:700;}

.neto-block{margin-top:14px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg, rgba(0,128,9,.10), rgba(0,128,9,.03));border:1px solid rgba(0,128,9,.28);display:flex;justify-content:space-between;align-items:center;}
.neto-block.flash{animation:flashPulseNeto .5s ease;}
.neto-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#00660A;font-weight:700;}
.neto-value{font-family:'IBM Plex Mono',monospace;font-size:23px;font-weight:700;color:#00660A;}
.airbnb-neto{background:linear-gradient(135deg, rgba(0,166,153,.10), rgba(0,166,153,.03));border-color:rgba(0,166,153,.25);}
.airbnb-neto .neto-label{color:#00857A;font-size:11.5px;}
.airbnb-neto .neto-value{color:#00857A;font-size:26px;}
.direct-neto{background:linear-gradient(135deg, rgba(61,107,79,.12), rgba(61,107,79,.03));border-color:rgba(61,107,79,.3);}
.direct-neto .neto-label{color:#2C4F39;font-size:11.5px;}
.direct-neto .neto-value{color:#2C4F39;font-size:26px;}

/* ---------- FOOTER ---------- */
.calc-footer{border-top:1px solid #E7E2D5;background:#fff;margin-top:44px;}
.calc-footer-inner{max-width:1180px;margin:0 auto;padding:28px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-text{font-size:12px;color:#AEA48D;margin:0;}
