/* ===== 리조트 관리(BLDG 이식) — 콘솔 토큰(styles.css) 위에 얹는 신호등·실루엣·보드·배너 ===== */
/* 신호등 = 기능색(시즌·테마 불변). BLDG 정본: 다크 = 은은한 세이지/앰버/테라코타, 라이트 = 종이 위 진한 변형 */
html[data-theme="light"]{
  --rm-red:#B0655A; --rm-red-bg:#F5E3DE; --rm-red-bd:#D8A79C;
  --rm-amber:#B08D3C; --rm-amber-bg:#F4EBD2; --rm-amber-bd:#D2BC82;
  --rm-green:#4E8B6F; --rm-green-bg:#E4EEE6; --rm-green-bd:#9DC3AE;
  --rm-vac:#8A8578; --rm-vac-bg:transparent; --rm-vac-bd:#CFC7B8;
  --rm-gold:#B89352;
  --rm-sky0:#F3EEE6; --rm-sky1:#EBE3D6; --rm-sky2:#E2D9C9;
  --rm-tower:rgba(23,62,75,.10); --rm-tower-st:rgba(23,62,75,.42); --rm-mullion:rgba(23,62,75,.16);
  --rm-crown:rgba(23,62,75,.14); --rm-ruler:rgba(23,62,75,.30); --rm-dim:rgba(23,62,75,.38); --rm-dimtx:#5b6d74;
  --rm-win:rgba(23,62,75,.06); --rm-winbd:rgba(23,62,75,.22); --rm-base:rgba(23,62,75,.05); --rm-basetx:#7E8A8C;
  --rm-chipbg:#ffffff; --rm-chiptx:#22383F;
  --rm-banner:#7A3A32; --rm-banner-ink:#FBEDE9;
}
html[data-theme="dark"]{
  --rm-red:#E0A090; --rm-red-bg:#5A3030; --rm-red-bd:#8A4A42;
  --rm-amber:#D9BC7A; --rm-amber-bg:#55492C; --rm-amber-bd:#7D6A3C;
  --rm-green:#7FB89A; --rm-green-bg:#274A3E; --rm-green-bd:#3E6B5A;
  --rm-vac:#8FA0B5; --rm-vac-bg:transparent; --rm-vac-bd:#3A4A57;
  --rm-gold:#C9A96A;
  --rm-sky0:#0A1524; --rm-sky1:#0E1B2C; --rm-sky2:#12233A;
  --rm-tower:#10213A; --rm-tower-st:#2A3D55; --rm-mullion:#15263C;
  --rm-crown:#16283C; --rm-ruler:#2A3D55; --rm-dim:#3A4A57; --rm-dimtx:#8FA0B5;
  --rm-win:#0F1D30; --rm-winbd:#24354A; --rm-base:#0C1828; --rm-basetx:#8FA0B5;
  --rm-chipbg:#16283C; --rm-chiptx:#F7F3EA;
  --rm-banner:#7A3A32; --rm-banner-ink:#FBEDE9;
}

/* 사이드바 — 그룹 머리글 · 항목이 많아져도 잘리지 않게 */
.sb-nav{overflow-y:auto;min-height:0}
.sb-group{font-size:9.5px;letter-spacing:.28em;color:var(--sidebar-muted);padding:16px 14px 6px;text-transform:uppercase;font-weight:600}
.sb-nav a .badge.rm{background:var(--rm-red);color:#fff}

/* 신호 칩 · 점 */
.rm-sig{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}
.rm-sig.red{background:var(--rm-red);box-shadow:0 0 0 3px var(--rm-red-bg)} .rm-sig.amber{background:var(--rm-amber);box-shadow:0 0 0 3px var(--rm-amber-bg)}
.rm-sig.green{background:var(--rm-green);box-shadow:0 0 0 3px var(--rm-green-bg)} .rm-sig.vacant{background:transparent;border:1.5px dashed var(--rm-vac-bd)}
.rm-chip{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;padding:4px 10px 4px 8px;border-radius:999px;font-weight:600;white-space:nowrap;border:1px solid transparent}
.rm-chip i{width:7px;height:7px;border-radius:50%;background:currentColor}
.rm-chip.red{background:var(--rm-red-bg);color:var(--rm-red);border-color:var(--rm-red-bd)} .rm-chip.amber{background:var(--rm-amber-bg);color:var(--rm-amber);border-color:var(--rm-amber-bd)}
.rm-chip.green{background:var(--rm-green-bg);color:var(--rm-green);border-color:var(--rm-green-bd)} .rm-chip.vacant{background:var(--rm-vac-bg);color:var(--rm-vac);border-color:var(--rm-vac-bd)}
.rm-chip.vacant i{background:transparent;border:1px dashed var(--rm-vac)}
.rm-dots{display:inline-flex;gap:4px}
.rm-dots b{min-width:26px;text-align:center;font-size:11px;padding:2px 6px;border-radius:999px;font-weight:700;font-family:ui-monospace,Menlo,monospace}
.rm-dots .red{background:var(--rm-red-bg);color:var(--rm-red)} .rm-dots .amber{background:var(--rm-amber-bg);color:var(--rm-amber)} .rm-dots .green{background:var(--rm-green-bg);color:var(--rm-green)} .rm-dots .vacant{border:1px dashed var(--rm-vac-bd);color:var(--rm-vac)}
.rm-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);padding:6px 2px 0}
.rm-legend span{display:inline-flex;align-items:center;gap:7px}
.rm-cards{grid-template-columns:repeat(6,minmax(0,1fr))} .rm-cards .card .n{font-size:28px}
.rm-cards .card.rm-red .n{color:var(--rm-red)} .rm-cards .card.rm-red{border-color:var(--rm-red-bd)} .rm-cards .card.rm-amber .n{color:var(--rm-amber)}
.rm-kicker{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);font-weight:600}
html[data-theme="dark"] .rm-kicker{color:var(--accent)}
.rm-inline-sel{padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-size:12.5px}
.rm-h4{font-size:13px;margin:6px 0 2px}
.rm-form .rm-pick .grid2{margin-bottom:0}
.check.rm-urgent{color:var(--rm-red);font-weight:600}

/* 건물 스위처 칩 */
.rm-switch{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:none}
.rm-switch::-webkit-scrollbar{display:none}
.rm-sw{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:9px 14px;border-radius:999px;font-size:12.5px;font-weight:600;min-height:40px}
.rm-sw small{font-weight:400;font-size:11px;opacity:.75}
.rm-sw.on{border-color:var(--brand);color:var(--brand);background:var(--surface)}
html[data-theme="dark"] .rm-sw.on{border-color:var(--accent);color:var(--accent-soft)}

/* 객실 보드 · 층 존 · 셀 */
.rm-board{display:flex;flex-direction:column;gap:10px}
.rm-row{display:flex;gap:10px;align-items:flex-start}
.rm-fl{flex:0 0 46px;display:flex;flex-direction:column;align-items:center;padding:8px 0;border-radius:10px;border:1px solid var(--line);background:var(--surface2);font-family:var(--serif)}
.rm-fl b{font-size:14px;color:var(--heading)} .rm-fl small{font-size:10px;color:var(--muted)}
.rm-fl.red{border-color:var(--rm-red-bd);box-shadow:inset 3px 0 0 var(--rm-red)} .rm-fl.amber{border-color:var(--rm-amber-bd);box-shadow:inset 3px 0 0 var(--rm-amber)}
.rm-cells{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.rm-cell{width:84px;min-height:50px;text-align:left;padding:7px 8px;border-radius:9px;border:1px solid var(--rm-vac-bd);background:var(--rm-vac-bg);color:var(--ink);font-family:inherit;display:flex;flex-direction:column;gap:2px;transition:transform .12s,box-shadow .12s}
.rm-cell:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}
.rm-cell .lb{font-size:12px;font-weight:700;display:flex;align-items:center;gap:4px;color:var(--heading)}
.rm-cell .lb em{font-style:normal;font-size:7.5px;font-weight:800;background:var(--rm-gold);color:#20140a;padding:1px 3px;border-radius:3px;letter-spacing:.04em}
.rm-cell .st{font-size:9.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rm-cell .hd{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rm-cell.red{background:var(--rm-red-bg);border-color:var(--rm-red-bd)} .rm-cell.red .st{color:var(--rm-red)}
.rm-cell.amber{background:var(--rm-amber-bg);border-color:var(--rm-amber-bd)} .rm-cell.amber .st{color:var(--rm-amber)}
.rm-cell.green{background:var(--rm-green-bg);border-color:var(--rm-green-bd)} .rm-cell.green .st{color:var(--rm-green)}
.rm-cell.vacant{border-style:dashed} .rm-cell.vacant .st{color:var(--rm-vac)}
.rm-zone{border-color:var(--rm-gold)!important}
.rm-zone .sec-h h3{font-size:18px}

/* 실루엣 */
.rm-silwrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}
.rm-silsec .sec-b{padding:18px 20px 20px}
.rm-bname{font-size:22px;color:var(--heading);margin-top:4px}
.rm-bmeta{font-size:12px;color:var(--muted);margin:2px 0 12px}
.rm-silbox{border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.rm-sv{display:block;width:100%;height:auto}
.rm-sv .sky0{stop-color:var(--rm-sky0)} .rm-sv .sky1{stop-color:var(--rm-sky1)} .rm-sv .sky2{stop-color:var(--rm-sky2)}
.rm-sv line{stroke-linecap:round}
.rm-sv .ruler{stroke:var(--rm-ruler)} .rm-sv .dim{stroke:var(--rm-dim)} .rm-sv .dimtx{fill:var(--rm-dimtx);font-family:ui-monospace,Menlo,monospace}
.rm-sv .tower{fill:var(--rm-tower);stroke:var(--rm-tower-st);stroke-width:1.2} .rm-sv .mullion{stroke:var(--rm-mullion)}
.rm-sv .crown{fill:var(--rm-crown);stroke:var(--rm-ruler);stroke-width:1} .rm-sv .ground{stroke:var(--rm-tower-st)}
.rm-sv .warm{fill:var(--rm-gold)} .rm-sv .win{fill:var(--rm-win);stroke:var(--rm-winbd);stroke-width:.8} .rm-sv .winline{stroke:var(--rm-winbd)}
.rm-sv .lobby{fill:var(--rm-gold);opacity:.22;stroke:var(--rm-gold)} .rm-sv .gold{fill:var(--rm-gold);stroke:var(--rm-gold)}
.rm-sv .base{fill:var(--rm-base);stroke:var(--rm-tower-st);stroke-width:.8} .rm-sv .baseline{stroke:var(--rm-tower-st)} .rm-sv .basetx{fill:var(--rm-basetx)}
.rm-sv .glow.red{fill:var(--rm-red)} .rm-sv .glow.amber{fill:var(--rm-amber)}
.rm-sv .chipbg{fill:var(--rm-chipbg)} .rm-sv .chipbd{fill:none;stroke-width:1} .rm-sv .chipbd.red{stroke:var(--rm-red-bd)} .rm-sv .chipbd.amber{stroke:var(--rm-amber-bd)}
.rm-sv .glowdot.red{fill:var(--rm-red)} .rm-sv .glowdot.amber{fill:var(--rm-amber)} .rm-sv .chiptx{fill:var(--rm-chiptx);font-weight:600}
.rm-sv .hit{fill:transparent;cursor:pointer;stroke:transparent;stroke-width:1}
.rm-sv .hit:hover{fill:rgba(201,169,106,.10)} .rm-sv .hit.on{fill:rgba(201,169,106,.14);stroke:var(--rm-gold)}
.rm-lit{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 12px;border-radius:10px;margin-bottom:7px;font-family:inherit;font-size:12.5px;min-height:42px}
.rm-lit b{font-family:var(--serif);color:var(--heading);flex-shrink:0} .rm-lit span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-lit.red{border-color:var(--rm-red-bd)} .rm-lit.amber{border-color:var(--rm-amber-bd)}
.rm-lit:hover{border-color:var(--rm-gold)}

/* 유닛 시트 */
.modal.rm-wide{max-width:780px}
.rm-uh{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}
.rm-utitle{font-size:24px;color:var(--heading);display:flex;align-items:center;gap:8px}
.rm-vip{font-style:normal;font-size:9px;font-weight:800;background:var(--rm-gold);color:#20140a;padding:2px 5px;border-radius:4px;letter-spacing:.06em}
.rm-udetail{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-top:4px}
.rm-holder{border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12.5px;display:flex;flex-direction:column;gap:2px;min-width:160px}
.rm-holder small{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase} .rm-holder b{font-size:14px;color:var(--heading)} .rm-holder span{color:var(--muted);font-size:11.5px}
.rm-tabs{padding:0;margin:0 -20px;padding:0 14px;border-bottom:1px solid var(--line2)}
.rm-tabbody{padding-top:14px}
.rm-blk .rm-blkh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.rm-blk h4{font-size:13.5px}
.rm-form{margin-top:12px;padding:14px;border:1px dashed var(--line);border-radius:12px}
.rm-roomcur{font-size:13.5px;margin-bottom:10px} .rm-roomcur b{font-family:var(--serif);font-size:16px;color:var(--heading)}
.rm-flow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.rm-flowbtn{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 12px;border-radius:999px;font-size:12px;font-family:inherit;min-height:36px}
.rm-flowbtn.on{border-color:var(--brand);color:var(--brand);font-weight:700}
html[data-theme="dark"] .rm-flowbtn.on{border-color:var(--accent);color:var(--accent-soft)}
.rm-flowbtn.out_of_order{color:var(--rm-red)} .rm-flowbtn.inspected,.rm-flowbtn.occupied,.rm-flowbtn.cleaned{color:var(--rm-green)} .rm-flowbtn.cleaning,.rm-flowbtn.checkout_due,.rm-flowbtn.vacated{color:var(--rm-amber)}
.rm-flowbtn:disabled{opacity:.5}

/* 공지 · 긴급알림 */
.rm-notices{display:flex;flex-direction:column;gap:0}
.rm-notice{padding:14px 20px;border-bottom:1px solid var(--line2)} .rm-notice:last-child{border-bottom:none}
.rm-nh{display:flex;align-items:center;justify-content:space-between;gap:10px} .rm-nh b{font-size:15px;color:var(--heading)}
.rm-nb{font-size:13px;line-height:1.6;margin:6px 0;white-space:pre-wrap} .rm-nf{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--muted)}
.rm-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--rm-red-bd);background:var(--rm-red-bg);border-radius:12px;margin-bottom:10px}
.rm-alert .rm-al{display:flex;flex-direction:column;gap:2px;min-width:0} .rm-alert b{color:var(--rm-red);font-size:14px} .rm-alert span{font-size:12.5px} .rm-alert small{font-size:11px;color:var(--muted)}

/* 상단 레드 배너(전 화면) — .main 안 sticky. 상단바·버튼을 덮지 않고 내용을 아래로 민다. 확인 전까지 유지 */
.rm-banner{position:sticky;top:8px;z-index:56;display:flex;align-items:center;gap:12px;margin:12px 34px 0;padding:12px 14px;border-radius:14px;
  background:var(--rm-banner);color:var(--rm-banner-ink);box-shadow:0 18px 40px -16px rgba(0,0,0,.6);animation:rmdrop .25s ease-out;border:1px solid rgba(255,255,255,.14)}
@keyframes rmdrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.rm-banner .rm-bic{display:inline-flex;flex-shrink:0} .rm-banner .rm-bic .i{width:22px;height:22px}
.rm-banner .rm-bt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1} .rm-banner .rm-bt b{font-size:13.5px} .rm-banner .rm-bt span{font-size:11.5px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-banner .rm-ball{color:var(--rm-banner-ink);font-size:12px;opacity:.85;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.rm-banner .rm-back{border:none;background:rgba(255,255,255,.18);color:#fff;font-weight:700;padding:9px 16px;border-radius:9px;font-family:inherit;white-space:nowrap;min-height:38px}
.rm-banner .rm-back:hover{background:rgba(255,255,255,.28)}
@media(max-width:900px){ .rm-banner{margin:8px 20px 0} }
@media(max-width:640px){ .rm-banner{top:calc(52px + env(safe-area-inset-top,0) + 8px);margin:8px 12px 0;padding:10px 12px;gap:8px} .rm-banner .rm-ball{display:none} }
.rm-acts{white-space:normal;flex-wrap:wrap;gap:6px}

/* 점검 리포트 · 인쇄 */
.rm-grades{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px;margin-bottom:8px}
.rm-grade{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;border:1px solid var(--line2);border-radius:8px;padding:6px 8px 6px 10px}
.rm-grade select{padding:5px 8px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-size:12px}
.rm-rephead{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.rm-repmeta{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:2px;text-align:right} .rm-repmeta b{color:var(--ink);margin-left:6px}
.rm-rep td:first-child{color:var(--muted);width:120px}
.rm-g{font-weight:600} .rm-g.bad{color:var(--rm-red)} .rm-g.mid{color:var(--rm-amber)}
.rm-notes{font-size:13px;line-height:1.6;white-space:pre-wrap;border:1px solid var(--line2);border-radius:8px;padding:10px 12px}
.rm-sign{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line);font-size:12.5px} .rm-sign p{margin-bottom:10px;color:var(--muted)} .rm-sign b{margin:0 6px;border-bottom:1px solid var(--ink);padding:0 8px}
@media print{ body *{visibility:hidden} #modal,#modal *{visibility:visible} #modal{position:absolute;inset:0;background:#fff;padding:0} .modal.rm-print{max-width:none;max-height:none;box-shadow:none;border:none;border-radius:0} .rm-noprint,.modal-h .mclose{display:none!important} }

/* 반응형 */
@media(max-width:1100px){ .rm-silwrap{grid-template-columns:minmax(0,1fr)} .rm-cards{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:640px){
  .rm-cards{grid-template-columns:1fr 1fr}
  .rm-cell{width:calc(25% - 4.5px);min-width:0;padding:6px 6px}
  .rm-cell .lb{font-size:11.5px} .rm-cell .st{font-size:9px}
  .rm-cells{gap:6px}
  .rm-fl{flex-basis:40px}
  .rm-switch{margin:0 -2px}
  .rm-utitle{font-size:21px}
  .rm-tabs{margin:0 -14px;padding:0 8px}
  .rm-holder{width:100%}
  .rm-grades{grid-template-columns:1fr 1fr}
  .rm-repmeta{text-align:left}
}

/* ===== 예약현황 — 타임라인 · 시간대 띠 · 미배정 칩 ===== */
.rm-rvcards{grid-template-columns:repeat(5,minmax(0,1fr))}
.rm-rvnav{flex-wrap:wrap} .rm-rvnav .cnt{padding:0 4px}
.rm-unassigned{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 4px}
.rm-unchip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 8px;border:1px solid var(--rm-red-bd);background:var(--rm-red-bg);color:var(--ink);padding:7px 12px 7px 8px;border-radius:18px;font-family:inherit;font-size:12.5px;min-height:38px;text-align:left}
.rm-unchip b,.rm-unchip .mono{white-space:nowrap}   /* 폰에서 이름이 글자 단위로 꺾이던 것(E2E 캡처 20) */
.rm-unchip b{color:var(--heading)} .rm-unchip .mono{font-size:11.5px;color:var(--muted)}
.rm-tlwrap{max-height:70vh;overflow:auto}
.rm-tl{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%}
.rm-tl th,.rm-tl td{padding:0;border-bottom:1px solid var(--line2);border-right:1px solid var(--line2);white-space:nowrap}
.rm-tl thead th{position:sticky;top:0;z-index:3;background:var(--surface);text-align:center;padding:6px 0;font-size:11px;text-transform:none;letter-spacing:0}
.rm-tl th.rm-tld b{display:block;font-size:12px;color:var(--heading)} .rm-tl th.rm-tld small{color:var(--muted);font-size:9.5px}
.rm-tl th.rm-tld.wk small{color:var(--rm-red)} .rm-tl th.rm-tld.today{background:var(--sidebar-active);box-shadow:inset 0 -2px 0 var(--brand)}
html[data-theme="dark"] .rm-tl th.rm-tld.today{box-shadow:inset 0 -2px 0 var(--accent)}
.rm-tl .rm-tlu{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;padding:4px 10px;min-width:92px;font-size:12px}
.rm-tl thead .rm-tlu{z-index:4} .rm-tl .rm-tlu b{color:var(--heading)} .rm-tlf{display:block;font-size:9.5px;color:var(--muted);letter-spacing:.06em}
.rm-tl td.rm-tlc{min-width:44px;height:30px;background:var(--surface)} .rm-tl td.rm-tlc.today{background:var(--sidebar-active)}
.rm-bar{display:block;width:100%;height:26px;margin:2px 0;border-radius:6px;border:1px solid var(--rm-green-bd);background:var(--rm-green-bg);color:var(--rm-green);font-family:inherit;font-size:11px;font-weight:700;text-align:left;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rm-bar small{font-weight:400;opacity:.8} .rm-bar.requested{border-color:var(--rm-amber-bd);background:var(--rm-amber-bg);color:var(--rm-amber)} .rm-bar.completed{border-color:var(--rm-vac-bd);background:transparent;color:var(--rm-vac)}
.rm-bar.now{box-shadow:0 0 0 2px var(--rm-gold)}
.rm-bands{display:flex;flex-direction:column}
.rm-band{display:flex;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line2)} .rm-band:last-child{border-bottom:none} .rm-band.today{background:var(--sidebar-active)}
.rm-bandd{flex:0 0 52px;display:flex;flex-direction:column;font-family:var(--serif)} .rm-bandd b{font-size:15px;color:var(--heading)} .rm-bandd small{font-size:10.5px;color:var(--muted)}
.rm-bandl{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.rm-slot{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 10px;border-radius:10px;font-family:inherit;font-size:12.5px;min-height:40px}
.rm-slot .tm{font-weight:700;color:var(--heading)} .rm-slot .ty{font-size:10.5px;color:var(--muted);letter-spacing:.06em} .rm-slot small{color:var(--muted)}
.rm-slot.golf{border-left:3px solid var(--rm-green)} .rm-slot.screen{border-left:3px solid var(--brand)} .rm-slot.party{border-left:3px solid var(--rm-gold)}
.rm-asg{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--rm-green-bd);border-radius:10px;font-size:12.5px;margin-bottom:10px}
.rm-asg b{color:var(--heading);font-size:14px} .rm-asg.none{border-color:var(--rm-red-bd);border-style:dashed}
@media(max-width:1100px){ .rm-rvcards{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media(max-width:640px){ .rm-rvcards{grid-template-columns:1fr 1fr} .rm-rvcards>.card:last-child:nth-child(odd){grid-column:span 2} .rm-tlwrap{max-height:60vh} .rm-tl .rm-tlu{min-width:72px;padding:4px 6px} .rm-band{padding:10px 12px;flex-direction:column;gap:6px} .rm-bandd{flex-direction:row;gap:6px;align-items:baseline} }
