.rskj-beds {
	--rskj-jkn-blue: #218fc4;
	--rskj-jkn-cyan: #12c3df;
	--rskj-jkn-ink: #171717;
	--rskj-jkn-muted: #555b63;
	--rskj-jkn-surface: #f8f7fb;
	margin: 0 0 2.5rem;
	color: var(--rskj-jkn-ink);
	font-family: Arial, Helvetica, sans-serif;
}

.rskj-beds-appbar {
	display: flex;
	align-items: center;
	gap: .8rem;
	min-height: 68px;
	margin: 0 0 2rem;
	padding: 1rem clamp(1rem, 3vw, 1.75rem);
	background: linear-gradient(112deg, var(--rskj-jkn-cyan), #168dcc 54%, #265eaf);
	color: #fff;
	font-size: clamp(1.15rem, 3vw, 1.45rem);
	font-weight: 800;
	letter-spacing: .01em;
}

.rskj-beds-appbar__mark {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border: 2px solid rgba(255,255,255,.9);
	border-radius: 50%;
	font-size: 1.15rem;
}

.rskj-beds-intro {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	margin: 0 0 1rem;
	padding: 0 clamp(.25rem, 2vw, 1rem);
}

.rskj-beds-intro h2 {
	margin: 0 0 .45rem;
	color: var(--rskj-jkn-ink);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 800;
	text-transform: capitalize;
}

.rskj-beds-intro p { margin: 0; color: var(--rskj-jkn-ink); font-size: 1.05rem; line-height: 1.55; }
.rskj-beds-intro p strong { text-transform: uppercase; }
.rskj-beds-intro p span { color: var(--rskj-jkn-blue); font-weight: 700; }

.rskj-beds-refresh {
	min-height: 44px;
	flex: 0 0 auto;
	border: 2px solid var(--rskj-jkn-blue);
	border-radius: 22px;
	padding: .55rem 1.15rem;
	background: #fff;
	color: #187fae;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.rskj-beds-refresh:hover:not(:disabled), .rskj-beds-refresh:active:not(:disabled) { background: #e8f7fd; }
.rskj-beds-refresh:focus-visible, .rskj-beds-filter:focus-visible { outline: 3px solid #7b4800; outline-offset: 3px; }
.rskj-beds-refresh:disabled { cursor: wait; opacity: .65; }

.rskj-beds-status { min-height: 2.5rem; display: flex; align-items: center; margin: 0 0 .7rem; padding: 0 clamp(.25rem, 2vw, 1rem); color: var(--rskj-jkn-muted); }
.rskj-beds-notice { border: 1px solid #b9dce9; padding: .75rem 1rem; background: #eef9fd; }
.rskj-beds-notice--warning { border-color: #d9a635; background: #fff8e8; color: #604000; }
.rskj-beds-notice--error { border-color: #c92d4b; background: #fff1f3; color: #82152b; }

.rskj-beds-filters { display:flex; flex-wrap:wrap; gap:.65rem; margin:0 0 2rem; padding: 0 clamp(.25rem, 2vw, 1rem); }
.rskj-beds-filter { min-height:44px; padding:.55rem 1.15rem; border:2px solid #57a9c7; border-radius:24px; background:#fff; color:#2788ae; font:inherit; font-weight:700; cursor:pointer; text-transform:uppercase; }
.rskj-beds-filter:hover, .rskj-beds-filter:active, .rskj-beds-filter.is-active { background:var(--rskj-jkn-blue); border-color:var(--rskj-jkn-blue); color:#fff; }

.rskj-beds-list { padding: 0 clamp(.25rem, 2vw, 1rem); }
.rskj-bed-group { margin:0 0 2.3rem; }
.rskj-bed-group__title { margin:0 0 .8rem; color:var(--rskj-jkn-ink); font-size:1.4rem; font-weight:800; text-transform:uppercase; }
.rskj-bed-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; }
.rskj-bed-card { display:grid; grid-template-columns:8rem minmax(0,1fr); min-height:17rem; overflow:hidden; border:0; border-radius:14px; background:var(--rskj-jkn-surface); box-shadow:0 8px 17px rgba(29,48,62,.22); }
.rskj-bed-card__class { display:grid; place-items:center; padding:1rem; background:#269bcf; color:#fff; font-size:1.35rem; font-weight:800; text-align:center; }
.rskj-bed-card__body { align-self:center; padding:1.35rem 1.5rem; }
.rskj-bed-card__body h4 { margin:0 0 1.15rem; color:var(--rskj-jkn-ink); font-size:1.25rem; font-weight:800; text-align:center; text-transform:uppercase; }
.rskj-bed-card__details { display:grid; gap:.48rem; margin:0; }
.rskj-bed-card__details div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; }
.rskj-bed-card__details dt { color:#30343a; }
.rskj-bed-card__details dd { margin:0; color:var(--rskj-jkn-ink); font-weight:500; font-variant-numeric:tabular-nums; }
.rskj-bed-card__term, .rskj-bed-card__updated { display:flex; align-items:center; gap:.55rem; }
.rskj-bed-card__icon { display:inline-grid; place-items:center; width:1.15rem; flex:0 0 1.15rem; color:#4b99cf; font-style:normal; font-weight:800; line-height:1; }
.rskj-bed-card__icon--female { color:#df5f96; }
.rskj-bed-card__icon--calendar { color:#35a88a; }
.rskj-bed-card__updated { margin:.8rem 0 0; color:#30343a; font-size:.92rem; }

@media (max-width: 760px) {
	.rskj-beds { background:#fff; }
	.rskj-beds-appbar { margin-bottom:1.7rem; }
	.rskj-beds-intro { align-items:stretch; flex-direction:column; gap:1rem; padding:0 1.15rem; }
	.rskj-beds-refresh { width:100%; }
	.rskj-beds-status, .rskj-beds-filters, .rskj-beds-list { padding-left:1.15rem; padding-right:1.15rem; }
	.rskj-bed-card-grid { grid-template-columns:1fr; }
}

@media (max-width: 460px) {
	.rskj-beds-appbar { min-height:62px; padding:.8rem 1rem; font-size:1.05rem; }
	.rskj-beds-appbar__mark { width:34px; height:34px; flex-basis:34px; }
	.rskj-beds-intro h2 { font-size:1.45rem; }
	.rskj-beds-filters { gap:.5rem; }
	.rskj-beds-filter { min-height:44px; padding:.45rem .9rem; }
	.rskj-bed-card { grid-template-columns:6.4rem minmax(0,1fr); min-height:16rem; }
	.rskj-bed-card__class { padding:.75rem .4rem; font-size:1.1rem; }
	.rskj-bed-card__body { padding:1.1rem .9rem; }
	.rskj-bed-card__body h4 { font-size:1.06rem; }
	.rskj-bed-card__details dt, .rskj-bed-card__details dd, .rskj-bed-card__updated { font-size:.9rem; }
}

@media (prefers-reduced-motion: reduce) { .rskj-beds-refresh, .rskj-beds-filter { transition:none; } }
