#chf-app{--chf-bg:#fff;--chf-card:#fff;--chf-text:#1d2433;--chf-muted:#6b7385;--chf-line:#e3e7ef;--chf-brand:#1f5eff;--chf-brand-d:#1748c9;--chf-green:#0f9d58;--chf-amber:#b26a00;--chf-red:#c62828;
	max-width:1040px;margin:0 auto;color:var(--chf-text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
#chf-app *{box-sizing:border-box}
#chf-app [hidden]{display:none!important}
#chf-app h2{margin:0;font-size:1.4rem}
#chf-app h3{margin:0 0 4px;font-size:1.05rem;line-height:1.3}
.chf-muted{color:var(--chf-muted)}
.chf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.chf-loading{padding:40px;text-align:center;color:var(--chf-muted)}
#chf-app:not([data-state=loading]) .chf-loading{display:none}
.chf-card{background:var(--chf-card);border:1px solid var(--chf-line);border-radius:14px;padding:20px;box-shadow:0 2px 10px rgba(20,30,60,.05)}

/* buttons */
.chf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:11px 18px;font:600 15px/1 inherit;cursor:pointer;text-decoration:none!important;transition:background .15s}
.chf-btn:disabled{opacity:.6;cursor:wait}
.chf-btn-primary{background:var(--chf-brand);color:#fff!important}
.chf-btn-primary:hover{background:var(--chf-brand-d)}
.chf-btn-ghost{background:transparent;color:var(--chf-muted);border:1px solid var(--chf-line)}
.chf-btn-ghost:hover{color:var(--chf-text)}

/* login */
.chf-login-card{max-width:360px;margin:40px auto;text-align:center}
.chf-login-icon{font-size:42px;margin-bottom:6px}
#chf-login-form{display:flex;flex-direction:column;gap:12px;margin-top:16px}
#chf-pin{text-align:center;font-size:22px;letter-spacing:.35em;padding:12px;border:1px solid var(--chf-line);border-radius:10px}
.chf-error{color:var(--chf-red);margin:0;font-size:14px}

/* search */
.chf-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}
.chf-search{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.chf-field{display:flex;flex-direction:column;gap:4px}
.chf-field label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--chf-muted)}
.chf-field input{padding:10px 12px;border:1px solid var(--chf-line);border-radius:9px;font:inherit;width:100%;background:#fff;color:var(--chf-text)}
.chf-field input:focus,#chf-pin:focus,.chf-toolbar select:focus{outline:2px solid var(--chf-brand);outline-offset:-1px}
.chf-span2{grid-column:span 2}
.chf-submit{justify-content:flex-end}
.chf-submit .chf-btn{width:100%}

/* links + status */
.chf-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0 4px}
.chf-links-label{font-weight:600;font-size:14px;color:var(--chf-muted)}
.chf-chip{padding:7px 12px;border:1px solid var(--chf-line);border-radius:999px;font-size:14px;color:var(--chf-text)!important;text-decoration:none!important;background:#fff}
.chf-chip:hover{border-color:var(--chf-brand);color:var(--chf-brand)!important}
.chf-status{margin:14px 0;color:var(--chf-muted)}
.chf-status:empty{display:none}
.chf-status-err{color:var(--chf-red)}
.chf-spin{display:inline-block;width:14px;height:14px;border:2px solid var(--chf-line);border-top-color:var(--chf-brand);border-radius:50%;animation:chf-spin .8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes chf-spin{to{transform:rotate(360deg)}}

/* toolbar + summary */
.chf-toolbar{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0 10px}
.chf-toolbar label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--chf-muted)}
.chf-toolbar select{padding:7px 10px;border:1px solid var(--chf-line);border-radius:8px;font:inherit;background:#fff;color:var(--chf-text)}
.chf-summary{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 16px;background:#f3f6ff;border-radius:12px;font-size:14px;margin-bottom:14px}

/* results */
.chf-results{display:flex;flex-direction:column;gap:12px}
.chf-hotel{display:grid;grid-template-columns:170px 1fr 190px;gap:16px;background:#fff;border:1px solid var(--chf-line);border-radius:14px;padding:14px;align-items:start}
.chf-img img,.chf-noimg{width:170px;height:130px;object-fit:cover;border-radius:10px;display:block;background:#eef1f6}
.chf-noimg{display:flex;align-items:center;justify-content:center;font-size:34px}
.chf-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.chf-badges:empty{display:none}
.chf-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.03em}
.chf-badge-cheap{background:#e3f6ec;color:var(--chf-green)}
.chf-badge-value{background:#e8eeff;color:var(--chf-brand)}
.chf-badge-deal{background:#fff3df;color:var(--chf-amber)}
.chf-stars{color:#f5a623;font-size:13px;white-space:nowrap}
.chf-meta{font-size:14px}
.chf-rating{display:inline-block;background:var(--chf-brand);color:#fff;font-weight:700;font-size:13px;padding:1px 7px;border-radius:6px}
.chf-amen{font-size:13px;color:var(--chf-muted);margin-top:6px}
.chf-compare{margin-top:8px;font-size:14px}
.chf-compare summary{cursor:pointer;color:var(--chf-brand);font-weight:600}
.chf-compare ul{list-style:none;margin:8px 0 0;padding:0;max-width:320px}
.chf-compare li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--chf-line)}
.chf-compare li.chf-best b{color:var(--chf-green)}
.chf-price{text-align:right;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.chf-night{font-size:1.6rem;font-weight:800;line-height:1.1}
.chf-night small{font-size:13px;font-weight:500;color:var(--chf-muted)}
.chf-total{font-size:13px;color:var(--chf-muted)}
.chf-save{font-size:13px;color:var(--chf-green);font-weight:600}
.chf-price .chf-btn{margin-top:8px;width:100%}
.chf-link{font-size:13px;color:var(--chf-muted)!important}

@media (max-width:820px){
	.chf-search{grid-template-columns:repeat(2,1fr)}
	.chf-hotel{grid-template-columns:110px 1fr}
	.chf-img img,.chf-noimg{width:110px;height:100px}
	.chf-price{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left}
	.chf-price .chf-btn{width:auto;margin-top:0}
}
@media (max-width:480px){
	.chf-search{grid-template-columns:1fr}
	.chf-span2{grid-column:auto}
}
.chf-hotel.chf-hotel-free{grid-template-columns:1fr 190px}
@media (max-width:820px){.chf-hotel.chf-hotel-free{grid-template-columns:1fr}}
.chf-submit{flex-direction:row;align-items:flex-end;gap:8px}
.chf-btn-stop{background:#fdecea;color:var(--chf-red);border:1px solid #f5c2bd;flex:0 0 auto}
.chf-btn-stop:hover{background:#fbd9d5}
.chf-links{flex-direction:column;align-items:stretch}
.chf-links-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chf-chip-more{background:#f7f8fb}
.chf-links-note{font-size:12px;color:var(--chf-muted)}
/* view switch */
.chf-toolbar{align-items:center}
.chf-views{display:inline-flex;border:1px solid var(--chf-line);border-radius:10px;overflow:hidden;background:#fff}
.chf-views button{border:0;background:transparent;padding:8px 14px;font:600 14px/1 inherit;color:var(--chf-muted);cursor:pointer}
.chf-views button+button{border-left:1px solid var(--chf-line)}
.chf-views button.is-on{background:var(--chf-brand);color:#fff}
.chf-filters{display:flex;flex-wrap:wrap;gap:14px}

/* by booking site */
.chf-sitetabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px}
.chf-sitetab{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--chf-line);background:#fff;border-radius:12px;padding:10px 14px;font:700 14px/1.2 inherit;color:var(--chf-text);cursor:pointer;text-align:left}
.chf-sitetab small{font-weight:500;font-size:12px;color:var(--chf-muted)}
.chf-sitetab.is-on{border-color:var(--chf-brand);box-shadow:0 0 0 2px var(--chf-brand) inset;background:#f3f6ff}
.chf-sitepanel{background:#fff;border:1px solid var(--chf-line);border-radius:14px;padding:16px}
.chf-sitepanel h3{margin-bottom:8px!important}
.chf-sitelist{list-style:none;margin:0;padding:0}
.chf-siterow{display:grid;grid-template-columns:28px 1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--chf-line)}
.chf-siterow:first-child{border-top:0}
.chf-rank{width:26px;height:26px;border-radius:50%;background:#eef1f6;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.chf-siterow:first-child .chf-rank{background:#e3f6ec;color:var(--chf-green)}
.chf-siterow-main .chf-muted{font-size:13px}
.chf-siterow-price{text-align:right;white-space:nowrap}
.chf-siterow-price b{font-size:1.15rem}
.chf-siterow-price small{display:block;font-size:12px;color:var(--chf-muted)}
.chf-lowest{color:var(--chf-green);font-weight:700}

/* price table */
.chf-tablewrap{overflow-x:auto;border:1px solid var(--chf-line);border-radius:14px;background:#fff}
.chf-table{border-collapse:collapse;width:100%;font-size:14px;margin:0}
.chf-table th,.chf-table td{padding:10px 12px;border-bottom:1px solid var(--chf-line);text-align:right;white-space:nowrap}
.chf-table thead th{background:#f7f8fb;font-size:13px;vertical-align:bottom}
.chf-table th small{display:block;font-weight:500;color:var(--chf-muted);font-size:11px}
.chf-table tbody th{text-align:left;font-weight:600;white-space:normal;min-width:180px}
.chf-table thead th:first-child{text-align:left}
.chf-table td a{color:var(--chf-text)!important;text-decoration:none!important}
.chf-table td a:hover{text-decoration:underline!important}
.chf-cell-best{background:#e3f6ec}
.chf-cell-best a{color:var(--chf-green)!important;font-weight:800}
.chf-na{color:#c0c5d0}
.chf-legend{padding:1px 6px;border-radius:4px;color:var(--chf-green);font-weight:700}
.chf-tablenote{font-size:13px;margin:0 0 8px}

@media (max-width:640px){
	.chf-siterow{grid-template-columns:28px 1fr;row-gap:6px}
	.chf-siterow-price{grid-column:2;text-align:left}
	.chf-siterow .chf-btn{grid-column:2}
}
/* per-site prices under each hotel */
.chf-sitestrip{grid-column:1 / -1;border-top:1px dashed var(--chf-line);padding-top:10px;margin-top:2px}
.chf-sitestrip-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--chf-muted);margin-bottom:6px}
.chf-sitestrip-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.chf-sp{display:flex;flex-direction:column;gap:1px;border:1px solid var(--chf-line);border-radius:10px;padding:8px 10px;text-decoration:none!important;color:var(--chf-text)!important;background:#fff;transition:border-color .15s,box-shadow .15s}
.chf-sp:hover{border-color:var(--chf-brand);box-shadow:0 2px 8px rgba(31,94,255,.12)}
.chf-sp-name{font-size:12px;color:var(--chf-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chf-sp-price{font-size:1.05rem;font-weight:800}
.chf-sp-sub{font-size:11px;color:var(--chf-muted)}
.chf-sp-best{border-color:#9ad9b6;background:#effaf4}
.chf-sp-best .chf-sp-price,.chf-sp-best .chf-sp-sub{color:var(--chf-green);font-weight:700}
.chf-sp-check{background:#f7f8fb}
.chf-sp-check .chf-sp-price{font-size:.95rem;color:var(--chf-brand)}
