/* Teams2Go member front end: tiles, join page, menu view, meal page. */
.rsl-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 270px)); gap: 20px; justify-content: center; margin: 0 auto; }
.rsl-tile { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 24px; background: #fff; border: 1px solid #e3e3e3; border-radius: 8px; text-decoration: none; transition: box-shadow .15s, transform .15s; }
.rsl-tile:hover, .rsl-tile:focus-visible { box-shadow: 0 6px 20px rgba(0,0,0,.12); transform: translateY(-2px); }
.rsl-tile__logo { max-width: 100%; max-height: 100%; object-fit: contain; }
.rsl-tile__name { font-size: 1.4em; font-weight: 700; text-align: center; color: #222; }
.rsl-join { max-width: 560px; margin: 0 auto; }
.rsl-join__team { text-align: center; margin-bottom: 24px; }
.rsl-join__logo { max-width: 160px; max-height: 160px; margin: 0 auto 8px; }
.rsl-join__login-heading { margin-top: 40px; }
.rsl-join__message { text-align: center; }
.rsl-menu-wrap { max-width: 1140px; margin: 0 auto; padding: 24px 20px 48px; box-sizing: border-box; }
.rsl-menu__date { margin: 32px 0 12px; padding-bottom: 6px; border-bottom: 2px solid #e3e3e3; }
.rsl-menu__meals { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.rsl-menu__meal { border: 1px solid #e3e3e3; border-radius: 8px; padding: 16px; background: #fff; display: flex; flex-direction: column; gap: 10px; }
.rsl-menu__meal img { width: 100%; height: 150px; object-fit: cover; border-radius: 6px; }
.rsl-menu__meal h4 { margin: 0; }
.rsl-menu__meal p { margin: 0; color: #555; font-size: .95em; flex: 1; }
.rsl-menu__ordered { padding: 14px 16px; background: #f4faf6; border: 1px solid #cfe8d8; border-radius: 8px; }
.rsl-menu__empty { padding: 24px; text-align: center; color: #555; }
.rsl-menu__team-select { margin-bottom: 20px; }
.rsl-order { margin: 16px 0; padding: 16px; border: 1px solid #e3e3e3; border-radius: 8px; background: #fafafa; }
.rsl-order label { display: block; font-weight: 600; margin: 8px 0 4px; }
.rsl-order select, .rsl-order input[type="text"], .rsl-order textarea { width: 100%; max-width: 420px; }
.rsl-order textarea { min-height: 70px; }
.rsl-order__note { display: block; margin-top: 8px; color: #555; }
.rsl-order__check { display: block; font-weight: 400; margin: 4px 0; }
.rsl-order__none-inline { display: block; margin-top: 6px; color: #a00; }
