:root{--bg:#f5f1e8;--paper:#fffdf8;--ink:#1c2b2b;--muted:#6d7672;--line:#ddd5c6;--gold:#a77b2d;--gold2:#cfad68;--green:#1f5b50;--green2:#287264;--red:#a94a3f;--shadow:0 14px 40px rgba(53,45,27,.09);--radius:18px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#f0e2c2 0,transparent 28%),var(--bg);color:var(--ink);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{max-width:1440px;margin:0 auto;padding:32px 34px 18px;display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--gold);text-transform:uppercase}.topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:36px;margin:4px 0 5px;font-weight:500}.topbar p,.panel-head p{margin:0;color:var(--muted)}.top-actions{display:flex;gap:8px;flex-wrap:wrap}.layout{max-width:1440px;margin:0 auto;padding:0 34px 40px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}.main-column{display:grid;gap:18px}.side-column{min-width:0}.panel{background:rgba(255,253,248,.97);border:1px solid rgba(167,123,45,.18);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.sticky{position:sticky;top:18px}.panel-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.panel-head h2,.summary-head h2{margin:0 0 2px;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:24px}.step{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-weight:800;flex:0 0 auto}.grid{display:grid;gap:14px}.cols-2{grid-template-columns:1fr 1fr}.field{display:grid;gap:7px;min-width:0}.field>span{font-size:12px;font-weight:800;letter-spacing:.04em;color:#46524e}.field.full{grid-column:1/-1}.field small{color:var(--muted)}input,select{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:11px 12px;font:inherit;outline:none}input:focus,select:focus{border-color:var(--gold2);box-shadow:0 0 0 3px rgba(207,173,104,.18)}#stay-anchor{height:132px;padding:4px}#stay-anchor option{padding:7px 9px;border-radius:7px}.poi-toolbar{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:12px;align-items:start}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;cursor:pointer;color:#53615c}.chip.active{background:var(--green);border-color:var(--green);color:#fff}.poi-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;margin:12px 2px 8px}.counter{font-weight:800;color:var(--green)}.poi-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:420px;overflow:auto;padding:2px}.poi-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;text-align:left;cursor:pointer;display:grid;gap:5px;transition:.15s ease}.poi-card:hover{transform:translateY(-1px);border-color:var(--gold2);box-shadow:0 7px 18px rgba(80,63,32,.08)}.poi-card.selected{background:#edf6f2;border-color:#75a798}.poi-name{font-weight:750}.badge{display:inline-flex;width:max-content;border-radius:999px;background:#f3efe6;color:#71644d;padding:3px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.constraint-switch{display:flex;gap:10px;flex-wrap:wrap}.constraint-switch label{border:1px solid var(--line);background:white;padding:9px 11px;border-radius:10px;cursor:pointer}.constraint-note{font-size:12px;color:var(--muted);margin:10px 0 14px}.selected-list{display:grid;gap:9px}.empty-state{color:var(--muted);border:1px dashed var(--line);border-radius:12px;padding:18px;text-align:center}.selected-row{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;display:grid;grid-template-columns:minmax(180px,1fr) 120px minmax(180px,auto) 34px;gap:10px;align-items:end}.selected-row .name-wrap{align-self:center}.selected-row .name-wrap strong{display:block}.selected-row .mini{color:var(--muted);font-size:11px}.constraint-box{display:grid;grid-template-columns:1fr 1fr;gap:7px}.constraint-box.order{grid-template-columns:1fr}.remove-btn,.icon-btn{border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer;color:var(--muted)}.remove-btn{height:42px;font-size:18px}.remove-btn:hover{color:var(--red);border-color:#d9a7a0}.summary-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.status-dot{width:11px;height:11px;border-radius:50%;background:#bbb;box-shadow:0 0 0 4px rgba(0,0,0,.04)}.status-dot.ok{background:#3b8d74}.status-dot.bad{background:#b75a4b}.summary{display:grid;grid-template-columns:1fr auto;gap:7px 10px;margin:0 0 18px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:750;text-align:right;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline{display:flex;gap:6px}.inline input{min-width:0}.icon-btn{width:42px;flex:0 0 42px;font-size:20px}.validation{margin:12px 0;display:grid;gap:6px;font-size:12px}.validation .err{color:var(--red)}.validation .ok{color:var(--green)}.btn{border:1px solid transparent;border-radius:11px;padding:10px 14px;font:inherit;font-weight:750;cursor:pointer}.btn.primary{background:var(--green);color:white}.btn.primary:hover{background:var(--green2)}.btn.secondary{background:#eee6d6;color:#4f442f}.btn.ghost{background:transparent;border-color:var(--line);color:#52605b}.btn.wide{width:100%;margin-top:8px}.optional{font:600 11px/1 system-ui;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.privacy-note{color:var(--muted);font-size:11px;margin:14px 2px 0}dialog{width:min(900px,92vw);height:min(78vh,760px);border:1px solid var(--line);border-radius:16px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.22)}dialog::backdrop{background:rgba(20,30,28,.45)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500}pre{margin:0;padding:18px;overflow:auto;height:calc(100% - 65px);background:#17221f;color:#e7efe9;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:1050px){.layout{grid-template-columns:1fr}.sticky{position:static}.poi-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.topbar{padding:22px 16px 14px;display:block}.top-actions{margin-top:14px}.layout{padding:0 16px 28px}.cols-2,.poi-toolbar{grid-template-columns:1fr}.poi-list{grid-template-columns:1fr}.selected-row{grid-template-columns:1fr 1fr}.selected-row .name-wrap{grid-column:1/-1}.remove-btn{grid-column:2;justify-self:end;width:42px}}
/* V2: hard limit + forced anchors */
.counter.limit{color:var(--red)}
.poi-card.disabled{opacity:.42;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.anchor-note{margin-top:13px;padding:10px 12px;border-radius:11px;background:#f6f0e2;color:#665b48;font-size:12px;border:1px solid #e9ddc5}
.fixed-anchor-pill{min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);background:#f6f3ec;color:#59635f}
.fixed-anchor-pill.start{background:#e8f4ef;border-color:#9dc9ba;color:var(--green)}
.fixed-anchor-pill.end{background:#f6ecda;border-color:#ddc48e;color:#745a24}

/* V3: interface language */
.ui-lang{display:grid;gap:4px;min-width:150px}.ui-lang>span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ui-lang select{padding:8px 10px;background:rgba(255,255,255,.7)}


/* V4 submission state */
.submission-status {
  margin-top: 10px;
  min-height: 22px;
  font-size: 13px;
  line-height: 1.45;
}
.submission-status.ok { color: #8fd5ae; }
.submission-status.err { color: #ef9b9b; }
.submission-status.busy { color: #d9cda9; }
.btn[disabled] { opacity: .6; cursor: not-allowed; }


/* V5: one-time access-code gate */
.access-code-dialog{width:min(500px,92vw);height:auto;max-height:90vh;padding:0;overflow:hidden;border:1px solid rgba(167,123,45,.28);border-radius:18px;background:var(--paper);color:var(--ink)}
.access-code-dialog::backdrop{background:rgba(18,27,25,.62);backdrop-filter:blur(2px)}
.access-code-card{padding:24px;display:grid;gap:16px}
.access-code-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.access-code-head h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:27px}
.access-code-help{margin:0;color:var(--muted);line-height:1.55}
#access-code-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:16px}
.access-code-message{min-height:22px;font-size:13px;line-height:1.45}
.access-code-message.err{color:var(--red)}
.access-code-message.busy{color:var(--gold)}
.access-code-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:2px}
.access-code-actions .btn{min-width:120px}
@media(max-width:520px){.access-code-card{padding:20px 16px}.access-code-actions{display:grid;grid-template-columns:1fr}.access-code-actions .btn{width:100%}}


/* CUSTOM POI V1 — isolated builder prototype */
.custom-poi-entry,.custom-stay-entry{margin:12px 2px 2px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.custom-poi-entry small,.custom-stay-entry small{color:var(--muted);max-width:620px}.custom-poi-dialog{width:min(650px,94vw);height:auto;max-height:92vh;padding:0;overflow:auto;border:1px solid rgba(167,123,45,.28);border-radius:18px;background:var(--paper);color:var(--ink)}.custom-poi-dialog::backdrop{background:rgba(18,27,25,.62);backdrop-filter:blur(2px)}.custom-poi-card{padding:24px;display:grid;gap:16px}.custom-poi-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.custom-poi-head h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:27px}.custom-poi-unverified{display:inline-flex;border-radius:999px;background:#f8e5d6;color:#8a4d27;border:1px solid #e5b993;padding:5px 8px;font-size:10px;font-weight:850;letter-spacing:.07em}.custom-poi-intro{margin:0;color:var(--muted)}.custom-poi-warning{border:1px solid #e4cf9f;background:#fbf5e6;border-radius:12px;padding:12px 14px}.custom-poi-warning strong{display:block;color:#6f5621;margin-bottom:4px}.custom-poi-warning p{margin:0;color:#665b48;font-size:12px;line-height:1.55}.custom-poi-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#46524e}.custom-poi-consent input{width:auto;margin-top:2px;flex:0 0 auto}.custom-poi-message{min-height:20px;font-size:12px}.custom-poi-message.err{color:var(--red)}.custom-poi-actions{display:flex;justify-content:flex-end;gap:9px}.custom-poi-actions .btn{min-width:120px}.selected-row.custom-poi-row{border-color:#d7b875;background:#fffaf0}.custom-poi-mini{color:#8a6226!important;font-weight:750}.custom-poi-summary{color:#8a6226!important}.submission-status.warn{color:#9a7027}@media(max-width:520px){.custom-poi-card{padding:20px 16px}.custom-poi-actions{display:grid;grid-template-columns:1fr}.custom-poi-actions .btn{width:100%}}

/* V6: certified standard constraints — max 3 order positions OR one exact time */
.constraint-status{margin:-2px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#faf7ef;color:#5b625f;font-size:12px;font-weight:750}
.constraint-status.order{background:#eef6f2;border-color:#b8d2c8;color:var(--green)}
.constraint-status.time{background:#f8f0df;border-color:#dec99b;color:#755b25}
.constraint-status.none{color:var(--muted)}
.constraint-status.limit{box-shadow:inset 0 0 0 1px rgba(167,123,45,.16)}
.selected-row select:disabled,.selected-row input:disabled{background:#f3f0e9;color:#9a9d99;cursor:not-allowed}
.constraint-box.exact-time{grid-template-columns:1fr}
.constraint-box.exact-time .field{min-width:150px}
.constraint-cap{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}


/* V7: exclusive POI / restaurant time-window model */
.individual-plan-note{margin:8px 0 14px;padding:10px 12px;border-left:3px solid var(--gold2);background:#fbf6e9;color:#665b48;border-radius:0 10px 10px 0;font-size:12px;line-height:1.5}
.constraint-switch label:has(input:disabled){opacity:.62;cursor:not-allowed;background:#f4f1ea}
.constraint-switch label.restaurant-mode-active{opacity:1;background:#eef6f2;border-color:#9dc9ba;color:var(--green)}
.restaurant-window-field{padding-top:2px}.meal-window-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.restaurant-policy-note{margin-top:14px;border:1px solid #e4cf9f;background:#fbf5e6;border-radius:12px;padding:12px 14px;display:grid;gap:4px}.restaurant-policy-note strong{color:#6f5621}.restaurant-policy-note span{color:#665b48;font-size:12px;line-height:1.5}.restaurant-constraint-note{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5}.constraint-status.restaurant{background:#edf6f2;border-color:#9dc9ba;color:var(--green)}
@media(max-width:720px){.meal-window-grid{grid-template-columns:1fr}}
.constraint-box.poi-time-window{grid-template-columns:1fr 1fr}
.constraint-box.poi-time-window .constraint-cap{grid-column:1/-1}
@media(max-width:720px){.constraint-box.poi-time-window{grid-template-columns:1fr}}


/* V8: sample plan viewer + anonymous preference survey */
.sample-plans-launcher{display:flex;align-items:center;gap:10px;min-height:46px;border:1px solid rgba(167,123,45,.38);border-radius:13px;padding:7px 12px;background:linear-gradient(135deg,#fffaf0,#f4ead4);color:var(--ink);cursor:pointer;box-shadow:0 6px 18px rgba(80,63,32,.07);text-align:left}.sample-plans-launcher:hover{border-color:var(--gold2);transform:translateY(-1px)}.sample-plans-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--green);color:#fff;flex:0 0 auto}.sample-plans-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sample-plans-launcher-copy{display:grid;line-height:1.15}.sample-plans-launcher-copy strong{font-size:12px}.sample-plans-launcher-copy small{margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap}
.sample-plans-dialog{width:min(1080px,96vw);height:min(92vh,900px);padding:0;overflow:hidden;border:1px solid rgba(167,123,45,.28);border-radius:20px;background:var(--paper);color:var(--ink)}.sample-plans-card{height:100%;display:grid;grid-template-rows:auto auto auto minmax(260px,1fr) auto auto;gap:12px;padding:22px}.sample-plans-head,.preference-survey-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.sample-plans-head h2,.preference-survey-head h2{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:28px}.dialog-x{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:25px;line-height:1;cursor:pointer;flex:0 0 auto}.dialog-x:hover{color:var(--ink);border-color:var(--gold2)}.sample-plans-intro,.preference-survey-intro{margin:0;color:var(--muted);max-width:850px;line-height:1.6}.sample-plan-tabs{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sample-plan-tab{border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 13px;cursor:pointer;display:grid;gap:2px;text-align:left;color:var(--ink)}.sample-plan-tab span{font-size:11px;color:var(--muted)}.sample-plan-tab.active{border-color:#80ae9f;background:#edf6f2;box-shadow:inset 0 0 0 1px rgba(31,91,80,.12)}.sample-plan-tab.active strong{color:var(--green)}.sample-plan-viewer{min-height:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#e8e6e0}.sample-plan-viewer iframe{display:block;width:100%;height:100%;min-height:430px;border:0;background:#fff}.sample-plan-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.sample-download{text-decoration:none;display:inline-flex;align-items:center;gap:6px}.sample-plan-footnote{margin:0;color:var(--muted);font-size:11px;text-align:right}
.preference-survey-dialog{width:min(900px,96vw);height:min(94vh,930px);padding:0;overflow:hidden;border:1px solid rgba(167,123,45,.28);border-radius:20px;background:var(--paper);color:var(--ink)}.preference-survey-card{height:100%;overflow:auto;padding:24px}.survey-anonymous-note{margin:16px 0;display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border:1px solid #bad5cb;border-radius:13px;background:#eef7f3}.survey-lock{position:relative;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:0;flex:0 0 auto}.survey-lock::before{content:"";width:9px;height:8px;border:2px solid currentColor;border-radius:2px;box-sizing:border-box}.survey-lock::after{content:"";position:absolute;width:7px;height:6px;border:2px solid #fff;border-bottom:0;border-radius:6px 6px 0 0;transform:translateY(-6px)}.survey-anonymous-note strong{display:block;color:var(--green);margin-bottom:3px}.survey-anonymous-note p{margin:0;color:#52635e;font-size:12px;line-height:1.5}.survey-progress-row{position:sticky;top:-24px;z-index:2;margin:0 -24px 14px;padding:10px 24px;display:flex;justify-content:space-between;gap:12px;background:rgba(255,253,248,.96);border-bottom:1px solid rgba(221,213,198,.8);backdrop-filter:blur(6px);font-size:12px;color:var(--muted)}.survey-progress-row strong{color:var(--green)}.survey-questions{display:grid;gap:12px}.survey-question{margin:0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px}.survey-question legend{padding:0 4px;font-weight:800;line-height:1.45}.survey-question legend span{color:var(--gold)}.survey-options{display:grid;gap:7px;margin-top:10px}.survey-option{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border:1px solid #ebe5da;border-radius:10px;cursor:pointer;background:#fffdf9}.survey-option:hover{border-color:#d9c59c;background:#fffaf0}.survey-option:has(input:checked){border-color:#89b3a5;background:#eef7f3}.survey-option input{width:auto;margin:3px 0 0;flex:0 0 auto;accent-color:var(--green)}.survey-option span{line-height:1.45}.survey-status{min-height:22px;margin-top:14px;font-size:13px}.survey-status.busy{color:var(--gold)}.survey-status.ok{color:var(--green);font-weight:750}.survey-status.err{color:var(--red)}.survey-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:760px){.sample-plans-launcher{width:100%;justify-content:flex-start}.sample-plans-dialog,.preference-survey-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0}.sample-plans-card{padding:16px;grid-template-rows:auto auto auto minmax(240px,1fr) auto auto}.sample-plans-head h2,.preference-survey-head h2{font-size:23px}.sample-plan-viewer iframe{min-height:360px}.sample-plan-actions{display:grid;grid-template-columns:1fr}.sample-plan-actions .btn{width:100%;justify-content:center}.sample-plan-footnote{text-align:left}.preference-survey-card{padding:18px 14px}.survey-progress-row{top:-18px;margin:0 -14px 12px;padding:10px 14px}.survey-actions{display:grid;grid-template-columns:1fr}.survey-actions .btn{width:100%}}

/* HSS / HSP V1 — isolated product-mode selector */
.planner-service-content{
  display:grid;
  gap:18px;
}

.service-mode-panel{
  border-color:rgba(31,91,80,.28);
}

.hsp-package-choice{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
}

.hsp-package-choice input{
  width:18px;
  height:18px;
  margin:2px 0 0;
  flex:0 0 auto;
  accent-color:var(--green);
}

.hsp-package-choice span{
  display:grid;
  gap:2px;
}

.hsp-package-choice strong{
  color:var(--ink);
  font-size:14px;
}

.hsp-package-choice small{
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.hsp-package-choice:has(input:checked){
  border-color:#75a798;
  background:#edf6f2;
}

.hsp-package-choice:has(input:disabled){
  cursor:default;
}

.service-mode-button:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.service-mode-switch{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.service-mode-button{
  min-height:86px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  padding:13px 14px;
  text-align:left;
  cursor:pointer;
  display:grid;
  gap:5px;
  align-content:center;
  font:inherit;
}

.service-mode-button strong{
  font-size:14px;
}

.service-mode-button span{
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.service-mode-button:hover{
  border-color:var(--gold2);
}

.service-mode-button.active{
  border-color:#75a798;
  background:#edf6f2;
  box-shadow:inset 0 0 0 1px rgba(31,91,80,.12);
}

.service-mode-button.active strong{
  color:var(--green);
}

.service-mode-button:focus-visible{
  outline:3px solid rgba(207,173,104,.35);
  outline-offset:2px;
}

.service-mode-note{
  min-height:20px;
  margin-top:12px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.sweet-spot-service-content{
  display:grid;
  gap:18px;
}

.sweet-spot-placeholder{
  border:1px dashed #9dc9ba;
  border-radius:13px;
  background:#f2f8f5;
  padding:16px;
}

.sweet-spot-placeholder strong{
  color:var(--green);
}

.sweet-spot-placeholder p{
  margin:5px 0 0;
  color:var(--muted);
  line-height:1.55;
}
@media(max-width:720px){
  .service-mode-switch{
    grid-template-columns:1fr;
  }
}

/* HSS / HSP V1 — hidden contract */
.planner-service-content[hidden],
.sweet-spot-service-content[hidden],
#planner-side-content[hidden],
#sweet-spot-side-content[hidden],
#planner-side-column[hidden]{
  display:none!important;
}
/* HSS / HSP V1 — local configuration screen */
.hss-poi-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,460px);
  gap:12px;
}

.hss-poi-list{
  max-height:520px;
}

.hss-selected-block{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.hss-selected-block h3{
  margin:0 0 10px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:500;
}

.hss-selected-list{
  display:grid;
  gap:8px;
}

.hss-selected-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  padding:10px 12px;
}

.hss-selected-row strong{
  display:block;
}

.hss-selected-row small{
  display:block;
  margin-top:2px;
  color:var(--muted);
}

.hss-remove{
  min-width:84px;
}

.hss-hotel-picker{
  margin-top:14px;
}

#hss-hotel-list{
  min-height:220px;
  padding:4px;
}

#hss-hotel-list option{
  padding:7px 9px;
}









@media(max-width:720px){
  .hss-selected-row{
    grid-template-columns:1fr;
  }

  .hss-remove{
    width:100%;
  }
}

/* HOTEL STAR FILTER V1 — shared Planner / HSS / HSP UI only */
.hotel-star-filter{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.hotel-star-filter-copy{display:grid;gap:2px;min-width:220px}
.hotel-star-filter-copy strong{font-size:12px;font-weight:850;letter-spacing:.04em;color:#46524e}
.hotel-star-filter-copy small{color:var(--muted);font-size:11px}
.hotel-star-filter-buttons{justify-content:flex-end}
.hotel-star-chip{min-width:58px;min-height:44px;font-weight:850;text-align:center}
.hotel-star-chip:disabled{opacity:.68;cursor:not-allowed}
@media(max-width:720px){.hotel-star-filter{align-items:stretch}.hotel-star-filter-buttons{justify-content:flex-start}.hotel-star-chip{flex:0 0 72px}}

/* HSP UX PATCH 4 — responsive header grouping */
.topbar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(0,1.4fr);
  align-items:start;
  gap:24px;
}
.topbar>div:first-child{min-width:0}
.top-actions{
  min-width:0;
  display:grid;
  gap:12px;
}
.top-actions-utilities{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.top-actions-workflow{
  display:flex;
  justify-content:flex-end;
  align-items:stretch;
  gap:12px;
  flex-wrap:wrap;
}
.top-actions-local{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.top-actions-order{
  display:flex;
  align-items:center;
  padding-inline-start:12px;
  border-inline-start:1px solid var(--line);
}
.top-actions-order .btn{
  min-height:44px;
  white-space:normal;
}
.top-actions-local .btn{
  min-height:44px;
  white-space:normal;
}
@media(max-width:1100px){
  .topbar{
    grid-template-columns:1fr;
    gap:16px;
  }
  .top-actions-utilities,
  .top-actions-workflow{
    justify-content:flex-start;
  }
}
@media(max-width:720px){
  .topbar{
    padding:22px 16px 14px;
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .topbar h1{
    font-size:clamp(26px,7vw,36px);
    overflow-wrap:anywhere;
  }
  .top-actions{
    margin-top:0;
    width:100%;
  }
  .top-actions-utilities{
    align-items:stretch;
  }
  .top-actions-utilities .ui-lang{
    width:100%;
  }
  .top-actions-workflow,
  .top-actions-local,
  .top-actions-order{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    gap:8px;
  }
  .top-actions-order{
    padding-inline-start:0;
    padding-top:12px;
    border-inline-start:0;
    border-top:1px solid var(--line);
  }
  .top-actions-local .btn,
  .top-actions-order .btn{
    width:100%;
    min-height:44px;
  }
}
/* Existing Site navigation: scoped to the standalone builder. */
.builder-home-link{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none}
.builder-home-link:hover{text-decoration:underline}
.builder-home-link:focus-visible{outline:3px solid currentColor;outline-offset:4px;border-radius:4px}
