/* xp500 Klub – formularze i mapa w ciemnym stylu motywu Quasar */

.xp500k { line-height: 1.5; }
.xp500k-box { background: rgba(255, 255, 255, 0.03); border: 1px solid #333; border-radius: 4px; padding: 14px 16px; margin: 0 0 18px; }
.xp500k-box h3 { color: #3D9FD0; font-size: 1.25em; margin: 18px 0 10px; }
.xp500k-box h3:first-of-type { margin-top: 0; }
.xp500k-h2 { color: #3D9FD0; font-size: 1.4em; margin: 24px 0 12px; }
.xp500k-narrow { max-width: 380px; }
.xp500k-small { font-size: 0.9em; color: #999; }
.xp500k-private { font-size: 0.6em; font-weight: normal; color: #888; border: 1px solid #444; border-radius: 10px; padding: 1px 8px; vertical-align: middle; margin-left: 6px; }

.xp500k label { display: block; margin: 0 0 10px; }
.xp500k label > span { display: block; font-size: 0.9em; color: #aaa; margin-bottom: 3px; }
.xp500k input[type=text], .xp500k input[type=email], .xp500k input[type=password], .xp500k input[type=date],
.xp500k input[type=number], .xp500k input[type=file], .xp500k select, .xp500k textarea {
	width: 100%; box-sizing: border-box; background: #1b1b1b; border: 1px solid #444; border-radius: 3px;
	color: #ddd; font: inherit; padding: 7px 8px; color-scheme: dark;
}
.xp500k input:focus, .xp500k select:focus, .xp500k textarea:focus { border-color: #3D9FD0; outline: none; }
.xp500k input[type=file] { padding: 5px; }
.xp500k label.xp500k-check { display: flex; gap: 8px; align-items: flex-start; }
.xp500k label.xp500k-check > span { display: inline; font-size: 1em; color: inherit; margin: 0; }
.xp500k label.xp500k-check input { margin-top: 4px; flex: none; }
.xp500k-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0 12px; }
.xp500k-row-log { grid-template-columns: 150px 120px 1fr 100px; }
.xp500k-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.xp500k-btn { display: inline-block; background: #3D9FD0; color: #fff !important; border: 0; border-radius: 3px; padding: 8px 18px; font: inherit; font-weight: bold; cursor: pointer; text-decoration: none; }
.xp500k-btn:hover { background: #5bb3df; }
.xp500k-btn:disabled { opacity: 0.6; cursor: wait; }
.xp500k-btn.secondary { background: #444; }
.xp500k-btn.secondary:hover { background: #555; }
.xp500k-btn.danger { background: #a33; }
.xp500k-link { background: none; border: 0; padding: 0; color: #3D9FD0; cursor: pointer; font: inherit; font-size: 0.9em; text-decoration: underline; }

.xp500k-msg { border-radius: 3px; padding: 10px 12px; margin: 0 0 16px; }
.xp500k-msg.ok { background: #1d331d; border: 1px solid #3c7a3c; }
.xp500k-msg.err { background: #3a1e1e; border: 1px solid #7a3c3c; }

.xp500k-badge { display: inline-block; border-radius: 10px; padding: 0 8px; margin-left: 4px; font-size: 0.85em; font-weight: normal; background: #23401f; color: #9d9; white-space: nowrap; }
.xp500k-badge.soon { background: #4d3d10; color: #fd6; }
.xp500k-badge.late { background: #551b1b; color: #f99; }
.xp500k-summary ul { margin: 0; padding-left: 18px; }
.xp500k-summary li { margin: 3px 0; }

.xp500k-bike-row { display: grid; grid-template-columns: 260px 1fr; gap: 16px; }
.xp500k-photo img.xp500k-bike { display: block; width: 100%; height: auto; border: 1px solid #333; border-radius: 3px; margin-bottom: 8px; }
.xp500k-nophoto { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; border: 1px dashed #444; border-radius: 3px; color: #666; margin-bottom: 8px; }

.xp500k-table { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
.xp500k-table th, .xp500k-table td { border-bottom: 1px solid #333; padding: 6px 6px 6px 0; text-align: left; vertical-align: top; }
.xp500k-table th { color: #aaa; font-weight: normal; font-size: 0.9em; }
.xp500k-inline { display: inline; margin: 0; }
.xp500k-log-add { margin-top: 12px; }

.xp500k-danger-zone summary { cursor: pointer; color: #c66; }
.xp500k-danger-zone[open] summary { margin-bottom: 10px; }

/* Mapy */
.xp500k-map { height: 460px; border: 1px solid #333; border-radius: 4px; margin: 0 0 12px; background: #222; }
.xp500k-map-small { height: 300px; }
#rt-mainbody .xp500k-map img { max-width: none; }
.xp500k-pops { max-height: 260px; overflow-y: auto; }
.xp500k-pop { color: #222; font-size: 13px; line-height: 1.4; }
.xp500k-pop + .xp500k-pop { border-top: 1px solid #ddd; margin-top: 8px; padding-top: 8px; }
.xp500k-pop img { display: block; width: 100%; height: auto; border-radius: 3px; margin-bottom: 4px; }
.xp500k-pop span { color: #555; }

/* Galeria klubowiczów */
.xp500k-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
#rt-mainbody .xp500k-card { margin: 0; background: rgba(255, 255, 255, 0.03); border: 1px solid #333; border-radius: 4px; overflow: hidden; }
.xp500k-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
#rt-mainbody .xp500k-card figcaption { padding: 8px 10px; font-size: 0.9em; text-align: left; color: #ccc; margin: 0; }
.xp500k-card figcaption span { color: #999; }

/* Widżet w prawym panelu */
.xp500k-widget-hello { margin: 8px 0 2px 18px; color: #aaa; }
.xp500k-widget-due { margin: 2px 0 2px 18px; font-size: 0.9em; }

@media (max-width: 767px) {
	.xp500k-bike-row, .xp500k-row-log { grid-template-columns: 1fr; }
	.xp500k-map { height: 360px; }
	.xp500k-table { font-size: 0.9em; }
}
