/* Rosmalen Sky — Hotel Manager (dashboard). All rules scoped under .hm-app */
.hm-app{--navy:#130A67;--navy2:#251C82;--orange:#FF6F00;--cream:#F4F1E9;--paper:#FBFAF6;--line:#E5E1D8;--muted:#6B6880;--text:#26233a;--pos:#1d7a4d;box-sizing:border-box;font-family:'Inter',system-ui,sans-serif;color:var(--text)}
.hm-app *{box-sizing:border-box}
.hm-app .hm-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;background:var(--navy);color:#fff;border-radius:14px;position:sticky;top:8px;z-index:5;box-shadow:0 6px 20px rgba(19,10,103,.18)}
.hm-app .hm-bar h2{margin:0;font-family:'Poppins',sans-serif;font-size:19px;font-weight:700;letter-spacing:-.3px;flex:0 0 auto}
.hm-app .hm-bar .hm-spacer{flex:1 1 auto}
.hm-app .hm-count{font-size:13px;opacity:.75}
.hm-app .hm-status{font-size:13px;font-weight:600;min-height:16px}
.hm-app .hm-status.ok{color:#9ff0c4}
.hm-app .hm-status.err{color:#ffb4a8}
.hm-app button{font-family:inherit;cursor:pointer;border:none;border-radius:9px;font-weight:700;font-size:13px;transition:filter .15s,background .15s}
.hm-app .hm-btn{background:var(--orange);color:#fff;padding:9px 16px}
.hm-app .hm-btn:hover{filter:brightness(1.06)}
.hm-app .hm-btn.ghost{background:rgba(255,255,255,.14);color:#fff}
.hm-app .hm-btn.ghost:hover{background:rgba(255,255,255,.24)}
.hm-app .hm-btn[disabled]{opacity:.55;cursor:not-allowed;filter:none}
.hm-app .hm-wrap{display:grid;grid-template-columns:290px 1fr;gap:16px;margin-top:14px;align-items:start}
@media(max-width:820px){.hm-app .hm-wrap{grid-template-columns:1fr}}
/* left list */
.hm-app .hm-list{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:8px;max-height:70vh;overflow:auto}
.hm-app .hm-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;cursor:pointer;margin-bottom:4px;border:1px solid transparent}
.hm-app .hm-item:hover{background:#fff}
.hm-app .hm-item.sel{background:#fff;border-color:var(--navy);box-shadow:0 2px 8px rgba(19,10,103,.08)}
.hm-app .hm-item .nm{font-weight:700;font-size:14px;line-height:1.2;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-app .hm-item .cy{font-size:12px;color:var(--muted)}
.hm-app .hm-item .del{background:transparent;color:#b5372a;font-size:15px;padding:4px 7px;border-radius:8px}
.hm-app .hm-item .del:hover{background:#fde8e4}
.hm-app .hm-empty{padding:26px 16px;text-align:center;color:var(--muted);font-size:14px}
/* editor */
.hm-app .hm-editor{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.hm-app .hm-sec{margin-bottom:20px}
.hm-app .hm-sec>h3{margin:0 0 10px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.4px}
.hm-app .hm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.hm-app .hm-grid.g3{grid-template-columns:repeat(3,1fr)}
.hm-app .hm-grid.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:620px){.hm-app .hm-grid,.hm-app .hm-grid.g3,.hm-app .hm-grid.g4{grid-template-columns:1fr 1fr}}
.hm-app .hm-f{display:flex;flex-direction:column;gap:5px}
.hm-app .hm-f.full{grid-column:1/-1}
.hm-app .hm-f>label{font-size:12px;font-weight:600;color:var(--muted)}
.hm-app input[type=text],.hm-app input[type=number],.hm-app input[type=date],.hm-app select,.hm-app textarea{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-family:inherit;font-size:14px;color:var(--text);background:#fff;outline:none}
.hm-app input:focus,.hm-app select:focus,.hm-app textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(19,10,103,.08)}
.hm-app textarea{resize:vertical;min-height:52px}
.hm-app .hm-check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;padding-top:22px}
.hm-app .hm-check input{width:17px;height:17px;accent-color:var(--orange);cursor:pointer}
/* repeatable rows */
.hm-app .hm-rows{display:flex;flex-direction:column;gap:8px}
.hm-app .hm-row{display:flex;gap:8px;align-items:center}
.hm-app .hm-row input{flex:1}
.hm-app .hm-rm{background:#fde8e4;color:#b5372a;padding:8px 11px;border-radius:8px;flex:0 0 auto}
.hm-app .hm-rm:hover{background:#f9d3cc}
.hm-app .hm-add{background:var(--cream);color:var(--navy);padding:8px 14px;align-self:flex-start;border:1px dashed var(--navy)}
.hm-app .hm-add:hover{background:#efeadd}
.hm-app .hm-chips{display:flex;flex-wrap:wrap;gap:7px}
.hm-app .hm-chip{display:inline-flex;align-items:center;gap:7px;background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:5px 6px 5px 12px;font-size:13px;font-weight:600}
.hm-app .hm-chip button{background:transparent;color:#b5372a;font-size:14px;line-height:1;padding:0 4px}
/* room cards */
.hm-app .hm-room{border:1px solid var(--line);border-radius:11px;padding:12px;background:var(--paper)}
.hm-app .hm-room+.hm-room{margin-top:10px}
.hm-app .hm-room .rh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.hm-app .hm-room .rh b{font-size:13px;color:var(--navy)}
.hm-app .hm-none{color:var(--muted);font-size:13px;padding:6px 0}
/* onboarding (no hotels yet) */
.hm-app .hm-onboard{max-width:660px}
.hm-app .hm-onboard h3{margin:0 0 8px;font-family:'Poppins',sans-serif;font-size:18px;color:var(--navy);text-transform:none;letter-spacing:0}
.hm-app .hm-onboard p{color:var(--muted);font-size:14px;line-height:1.65;margin:0 0 18px}
.hm-app .hm-ob-btns{display:flex;gap:10px;flex-wrap:wrap}
.hm-app .hm-ob-btns .sec{background:#fff;color:var(--navy);border:1px solid var(--navy);padding:9px 16px}
.hm-app .hm-ob-btns .sec:hover{background:var(--cream)}
/* photo thumbnails + upload */
.hm-app .hm-thumbs{display:flex;flex-wrap:wrap;gap:10px}
.hm-app .hm-thumb{position:relative;width:120px;height:84px;border-radius:9px;overflow:hidden;border:1px solid var(--line);background:var(--cream)}
.hm-app .hm-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hm-app .hm-thumb-x{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:rgba(19,10,103,.72);color:#fff;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.hm-app .hm-thumb-x:hover{background:#b5372a}
.hm-app .hm-upload{display:flex;align-items:center;justify-content:center;text-align:center;width:120px;height:84px;padding:6px;border-radius:9px;border:1px dashed var(--navy);background:var(--cream);color:var(--navy);font-weight:700;font-size:13px;cursor:pointer}
.hm-app .hm-upload:hover{background:#efeadd}
.hm-app .hm-upload.busy{opacity:.6;pointer-events:none}
/* map location picker */
.hm-app .hm-map-block{margin-top:16px}
.hm-app .hm-map-label{display:block;font-size:12px;font-weight:700;color:var(--navy);margin-bottom:6px}
.hm-app .hm-map-search-wrap{position:relative;margin-bottom:8px;max-width:560px}
.hm-app .hm-map-search{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--text);background:#fff}
.hm-app .hm-map-search:focus{outline:none;border-color:var(--navy)}
.hm-app .hm-map-results{position:absolute;z-index:1200;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 28px rgba(19,10,103,.16);max-height:250px;overflow:auto}
.hm-app .hm-map-results:empty{display:none}
.hm-app .hm-geo-item{display:block;width:100%;text-align:left;padding:9px 12px;font-size:13px;line-height:1.35;border:none;border-bottom:1px solid var(--line);background:#fff;cursor:pointer;color:var(--text)}
.hm-app .hm-geo-item:last-child{border-bottom:none}
.hm-app .hm-geo-item:hover{background:var(--cream)}
.hm-app .hm-geo-loading,.hm-app .hm-geo-empty{padding:9px 12px;font-size:13px;color:var(--muted)}
.hm-app .hm-map{height:340px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--cream)}
.hm-app .hm-map .leaflet-container{height:100%;width:100%;font:inherit}
.hm-app .hm-coords{margin-top:6px;font-size:12px;color:var(--muted)}
