.er-app{--er-accent:#4f46e5;--er-accent2:#6366f1;--er-ink:#1e2233;--er-muted:#7a8095;--er-line:#e9ebf2;--er-bg:#f6f7fb;--er-green:#16a34a;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--er-ink);background:var(--er-bg);
  padding:18px;border-radius:14px;max-width:100%;width:100%;margin:0;line-height:1.45;}
.er-app *{box-sizing:border-box;}

/* header */
.er-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.er-brand{display:flex;align-items:center;gap:12px;}
.er-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--er-accent),#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;}
.er-brand-name{font-size:22px;font-weight:800;}
.er-brand-name span{color:var(--er-accent);}
.er-brand-sub{font-size:12px;color:var(--er-muted);margin-top:-2px;}
.er-top-actions{display:flex;gap:10px;flex-wrap:wrap;}
.er-btn{border:none;border-radius:10px;padding:11px 18px;font-size:14px;font-weight:600;cursor:pointer;}
.er-btn-light{background:#fff;border:1px solid var(--er-line);color:var(--er-ink);}
.er-btn-primary{background:linear-gradient(135deg,var(--er-accent),#7c3aed);color:#fff;box-shadow:0 6px 16px rgba(79,70,229,.3);}

/* cards */
.er-card{background:#fff;border:1px solid var(--er-line);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 1px 3px rgba(20,24,40,.04);}
.er-card-title{font-weight:700;font-size:16px;color:var(--er-accent);margin-bottom:14px;}
.er-muted{color:var(--er-muted);font-size:13px;font-weight:400;}

/* inputs */
.er-app .er-input{width:100%;min-height:46px;height:auto;padding:11px 14px;border:1px solid #d6d9e4;border-radius:11px;
  font-size:14px;line-height:1.5;background:#fff;color:var(--er-ink);font-family:inherit;
  -webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s;}
.er-app select.er-input{padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12'><path d='M3 4.5L6 7.5L9 4.5' stroke='%237a8095' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;}
.er-app .er-input::placeholder{color:#aab0c0;}
.er-app .er-input:hover{border-color:#b9c0d4;}
.er-app .er-input:focus{outline:none;border-color:var(--er-accent);box-shadow:0 0 0 3px rgba(79,70,229,.14);background:#fff;}
.er-field label{display:block;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--er-muted);margin-bottom:6px;font-weight:600;}
.er-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.er-row{display:flex;gap:8px;}
.er-row .er-input{flex:1;}

/* config row 2 */
.er-config-row2{display:grid;grid-template-columns:1.4fr 1.2fr .8fr .8fr;gap:14px;align-items:center;margin-top:16px;}
.er-hotelopts{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:12px;}
.er-stepper-wrap{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:13px;}
.er-stepper{display:inline-flex;align-items:center;border:1px solid #d6d9e4;border-radius:9px;overflow:hidden;background:#fff;}
.er-stepper button{border:none;background:#f1f2f7;width:34px;height:34px;font-size:18px;cursor:pointer;color:var(--er-ink);}
.er-stepper span{min-width:34px;text-align:center;font-weight:700;}
.er-nights-box{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;padding:12px;font-size:13px;}
.er-nights-split{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap;}
.er-ns-pill{color:#4f46e5;font-weight:600;}.er-reg-pill{color:#475569;font-weight:600;}

/* trip bar */
.er-tripbar{display:flex;gap:18px;flex-wrap:wrap;background:#f1f5ff;border-radius:10px;padding:12px 14px;margin-top:14px;font-size:13px;color:#3b4252;}

/* main layout */
.er-main{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start;}
.er-sidebar{position:sticky;top:16px;}

/* day cards */
.er-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.er-day{border:1px solid var(--er-line);border-radius:12px;padding:12px;background:#fff;}
.er-empty{padding:30px;text-align:center;color:var(--er-muted);width:100%;}
.er-day-head{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:8px;}
.er-day-no{background:var(--er-accent);color:#fff;font-size:12px;font-weight:700;border-radius:6px;padding:3px 9px;}
.er-ddate{font-size:11px;padding:5px;width:118px;}
.er-place{font-size:13px;margin-bottom:8px;}
.er-place input{border:none;border-bottom:1px dashed #cbd2e0;font-size:13px;color:var(--er-accent);font-weight:600;width:60%;padding:2px;}
.er-vhead{display:flex;justify-content:space-between;font-size:11px;color:var(--er-muted);margin-bottom:4px;}
.er-vrow{display:grid;grid-template-columns:1fr 40px;gap:5px;align-items:center;margin-bottom:6px;}
.er-vrow .er-input{padding:6px;font-size:12px;}
.er-vrate,.er-vtot{display:none;}
.er-vremove{grid-column:2;display:none;}
.er-vrow:hover .er-vremove{display:block;background:none;border:none;color:#dc2626;cursor:pointer;}
.er-addveh{width:100%;border:1px dashed #c7d2fe;background:#f5f7ff;color:var(--er-accent);border-radius:8px;padding:7px;font-size:12px;font-weight:600;cursor:pointer;margin-bottom:8px;}
.er-hwrap{border-top:1px solid var(--er-line);padding-top:8px;}
.er-hlabel{font-size:12px;color:var(--er-muted);margin-bottom:4px;}
.er-dhcat{font-size:12px;padding:7px;}
.er-hnight{margin-top:8px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:8px;font-size:12px;color:#065f46;}
.er-hnight-ns{background:#eef2ff;border-color:#c7d2fe;color:#3730a3;}
.er-checkout{margin-top:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px;font-size:12px;color:#9a3412;}
.er-manual{font-size:11px;color:var(--er-muted);margin-top:8px;}
.er-manual input{margin-top:4px;}
.er-daytot{display:flex;justify-content:space-between;border-top:1px solid var(--er-line);margin-top:10px;padding-top:8px;font-size:13px;}

/* add-ons */
.er-addons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.er-addon{display:flex;flex-direction:column;gap:4px;border:1px solid var(--er-line);border-radius:10px;padding:12px;cursor:pointer;position:relative;transition:.15s;}
.er-addon:hover{border-color:var(--er-accent);}
.er-addon input{position:absolute;top:10px;right:10px;}
.er-addon-name{font-size:12px;font-weight:600;padding-right:18px;}
.er-addon-price{font-size:15px;font-weight:700;color:var(--er-accent);}
.er-note{background:#eef2ff;border-radius:10px;padding:12px 14px;font-size:12px;color:#475569;}

/* sidebar summary */
.er-sum-row{display:flex;justify-content:space-between;font-size:14px;margin:8px 0;}
.er-sum-sub{display:flex;justify-content:space-between;font-size:12px;color:var(--er-muted);margin:4px 0 4px 14px;}
.er-sum-divider{border-top:1px dashed var(--er-line);margin:10px 0;}
.er-sum-subtotal{font-size:16px;font-weight:700;}
.er-markup{background:#eef2ff;border-radius:10px;padding:12px;margin:14px 0;}
.er-markup-title{font-weight:700;font-size:13px;margin-bottom:8px;}
.er-markup-step{width:100%;justify-content:space-between;font-weight:700;}
.er-final{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:16px;text-align:center;}
.er-final-label{font-size:13px;color:#047857;}
.er-final-price{font-size:30px;font-weight:800;color:var(--er-green);margin:4px 0;}
.er-final-sub{font-size:11px;color:#059669;}
.er-qs{display:flex;justify-content:space-between;font-size:13px;margin:7px 0;}
.er-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;}
.er-act{border:1px solid var(--er-line);background:#fff;border-radius:10px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;cursor:pointer;color:var(--er-accent);}
.er-msg{font-size:13px;margin-top:8px;min-height:16px;}
.er-msg.ok{color:var(--er-green);}.er-msg.err{color:#dc2626;}

/* responsive */
@media(max-width:1200px){
  .er-config-row2{grid-template-columns:1fr 1fr;}
}
@media(max-width:980px){
  .er-main{grid-template-columns:1fr;}
  .er-grid{grid-template-columns:1fr 1fr;}
  .er-sidebar{position:static;}
  .er-addons-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:760px){
  .er-app{padding:12px;}
  .er-top{flex-direction:column;align-items:stretch;}
  .er-top-actions{justify-content:stretch;}
  .er-top-actions .er-btn{flex:1;}
  .er-grid{grid-template-columns:1fr 1fr;}
  .er-config-row2{grid-template-columns:1fr;}
  .er-addons-grid{grid-template-columns:1fr 1fr;}
  .er-days{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
  .er-tripbar{flex-direction:column;gap:8px;}
}
@media(max-width:480px){
  .er-grid{grid-template-columns:1fr;}
  .er-addons-grid{grid-template-columns:1fr;}
  .er-days{grid-template-columns:1fr;}
  .er-ddate{width:100%;}
}
@media print{
  .er-top-actions,.er-addveh,.er-actions,.er-note{display:none;}
}

/* ---------- engagement polish ---------- */
.er-app{background:linear-gradient(180deg,#f7f8ff 0%,#f4f5fb 100%);}
.er-card{transition:box-shadow .2s ease,transform .2s ease;}
.er-config{background:linear-gradient(180deg,#faf9ff 0%,#ffffff 60%);border-color:#e7e3fb;}
.er-card-title{display:flex;align-items:center;gap:8px;font-size:17px;letter-spacing:-.01em;}
.er-grid{gap:16px;}
.er-config-row2{margin-top:18px;}
.er-hotelopts{background:linear-gradient(135deg,#fff7ed,#fff1e0);}
.er-nights-box{background:linear-gradient(135deg,#eef2ff,#e7ecff);}
.er-ns-pill,.er-reg-pill{background:#fff;border-radius:20px;padding:3px 11px;display:inline-block;box-shadow:0 1px 2px rgba(20,24,40,.05);}
.er-tripbar{background:linear-gradient(135deg,#eef2ff,#f3f0ff);border:1px solid #e4e6f5;}
.er-stepper{border-radius:11px;}
.er-stepper button{transition:background .15s;}
.er-stepper button:hover{background:#e6e8f5;}
.er-btn{transition:transform .12s ease,box-shadow .12s ease;}
.er-btn:hover{transform:translateY(-1px);}
.er-btn-primary:hover{box-shadow:0 9px 22px rgba(79,70,229,.4);}
.er-day{transition:border-color .15s,box-shadow .15s;}
.er-day:hover{border-color:#c7d2fe;box-shadow:0 6px 18px rgba(79,70,229,.08);}
.er-addon{transition:border-color .15s,box-shadow .15s,transform .15s;}
.er-addon:hover{box-shadow:0 6px 16px rgba(79,70,229,.1);transform:translateY(-1px);}
