.room-card{background:rgba(var(--background-rgb,233, 239, 245), .85);background-color:color-mix(in srgb, var(--background) 85%, transparent);text-align:start;outline:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);cursor:pointer;border:none;border-radius:36px;width:100%;padding:0;transition:transform .2s ease-out,box-shadow .2s ease-out;display:block;position:relative;overflow:hidden;box-shadow:0 18px 45px #00000024}.room-card:hover{transform:translateY(-2px);box-shadow:0 24px 70px #00000029}.room-card:active{transform:translateY(0)scale(.99)}.room-card:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.room-card__image-wrap{padding:1.5rem 1.5rem 0}.room-card__image-inner{aspect-ratio:16/9;background:linear-gradient(to bottom right, var(--muted), color-mix(in srgb, var(--accent) 25%, transparent));border-radius:28px;position:relative;overflow:hidden;box-shadow:0 4px 6px #00000012}.room-card__placeholder{width:100%;height:100%;color:var(--muted-foreground);justify-content:center;align-items:center;display:flex}.room-card__placeholder-inner{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.room-card__placeholder-icon-wrap{background:color-mix(in srgb, var(--background) 70%, transparent);outline:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:1rem;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex;box-shadow:0 1px 2px #0000000d}.room-card__placeholder-icon{width:1.5rem;height:1.5rem}.room-card__placeholder-label{font-size:.75rem;font-family:var(--font-birzia);font-weight:700}.room-card__hover-overlay{pointer-events:none;background:linear-gradient(to top, color-mix(in srgb, var(--background) 55%, transparent), transparent, transparent);opacity:0;transition:opacity .2s;position:absolute;inset:0}.room-card:hover .room-card__hover-overlay{opacity:1}.room-card__badge{top:.5rem;outline:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;position:absolute;inset-inline-end:.5rem;box-shadow:0 1px 2px #0000000d}.room-card__body{text-align:center;padding:1.25rem 1.5rem 1.5rem}.room-card__title-row{flex-direction:column;align-items:center;gap:.5rem;display:flex}.room-card__title{text-overflow:ellipsis;white-space:nowrap;width:100%;font-family:var(--font-birzia);color:var(--foreground);margin:0;font-size:1.125rem;font-weight:700;overflow:hidden}@media (min-width:640px){.room-card__title{font-size:1.25rem}}.room-card__status-badge{font-size:.75rem;font-family:var(--font-birzia);outline:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:9999px;flex-shrink:0;align-items:center;gap:.25rem;padding:.25rem .625rem;font-weight:700;display:inline-flex}.room-card__status-badge--readonly{background-color:var(--muted);color:var(--muted-foreground)}.room-card__status-badge--editable{background-color:color-mix(in srgb, var(--color-lime) 70%, transparent);color:#000}.room-card__status-icon{width:.875rem;height:.875rem}.room-card__details{background:linear-gradient(to bottom right, var(--background), color-mix(in srgb, var(--background) 80%, transparent), color-mix(in srgb, var(--accent) 10%, transparent));color:var(--muted-foreground);outline:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:24px;grid-template-columns:1fr;gap:.375rem;margin-top:1rem;padding:.75rem 1rem;font-size:.75rem;display:grid;box-shadow:0 1px 2px #0000000d}@media (min-width:640px){.room-card__details{font-size:.875rem}}.room-card__detail-row{justify-content:space-between;align-items:center;gap:.5rem;margin:0;display:flex}.room-card__detail-label{font-family:var(--font-birzia);font-weight:400}.room-card__detail-value{font-family:var(--font-birzia);color:color-mix(in srgb, var(--foreground) 80%, transparent);font-weight:700}
.rooms-picker__header{border-bottom:1px solid #ffffff26;flex-shrink:0;padding:1.75rem 1.5rem 1.25rem;position:relative}.rooms-picker__title{text-align:center;font-family:var(--font-birzia);color:#fff;margin:0 0 .5rem;font-size:1.875rem;font-weight:700;line-height:1.2}@media (min-width:640px){.rooms-picker__title{font-size:2.25rem}}.rooms-picker__description{text-align:center;max-width:46ch;font-family:var(--font-birzia);color:#ffffffbf;margin:0 auto;font-size:1rem;font-weight:400}@media (min-width:640px){.rooms-picker__description{font-size:1.125rem}}.rooms-picker__count-wrap{justify-content:center;margin-top:.5rem;display:flex}.rooms-picker__count-badge{font-size:.75rem;font-family:var(--font-birzia);color:#ffffffe6;background:#ffffff1a;border-radius:9999px;outline:1px solid #fff3;padding:.25rem .75rem;font-weight:700;box-shadow:0 1px 2px #0000000d}.rooms-picker__body{padding:1.25rem 1.5rem 1.5rem}.rooms-picker__body--scrollable{overscroll-behavior:contain;flex:1;min-height:0;padding:0 1.5rem 1.5rem;overflow-y:auto}.rooms-picker__loading-wrap{padding:1.5rem 0}@media (min-width:640px){.rooms-picker__loading-wrap{padding:2rem 0}}.rooms-picker__empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 0;display:flex}.rooms-picker__empty-text{color:#ffffffb3;margin:0}.rooms-picker__footer{justify-content:center;margin-top:1.25rem;display:flex}.rooms-picker__back-btn{background-color:var(--color-olive);width:100%;max-width:340px;height:3rem;font-family:var(--font-birzia);color:#fff;cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;font-size:1.125rem;font-weight:700;text-decoration:none;transition:background-color .15s;display:flex}.rooms-picker__back-btn:hover{background-color:color-mix(in srgb, var(--color-olive) 90%, transparent)}
@keyframes room-picker-pulse{0%,to{opacity:.4}50%{opacity:.85}}.room-picker-skeleton-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:640px){.room-picker-skeleton-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width:1024px){.room-picker-skeleton-grid{grid-template-columns:repeat(3,1fr)}}.room-picker-skeleton-grid__item{animation:1.8s ease-in-out infinite room-picker-pulse}.room-card-skeleton{background:#ffffff1a;border-radius:36px;outline:1px solid #ffffff26;overflow:hidden;box-shadow:0 18px 45px #00000024}.room-card-skeleton__image-wrap{padding:1.5rem 1.5rem 0}.room-card-skeleton__image{aspect-ratio:16/9;background:#ffffff26;border-radius:28px;position:relative;overflow:hidden}.room-card-skeleton__body{text-align:center;padding:1.25rem 1.5rem 1.5rem}.room-card-skeleton__title-line{background:#ffffff26;border-radius:.5rem;max-width:220px;height:1.5rem;margin:0 auto .75rem}.room-card-skeleton__badge-line{background:#ffffff26;border-radius:9999px;width:8rem;height:1.75rem;margin:0 auto}.room-card-skeleton__details{background:#ffffff1a;border-radius:24px;outline:1px solid #ffffff1a;flex-direction:column;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;display:flex}.room-card-skeleton__detail-line{background:#ffffff26;border-radius:4px;max-width:100%;height:.75rem;margin:0 auto}.room-card-skeleton__detail-line--short{max-width:90%}
.room-tab-bar{bottom:1rem;z-index:50;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:absolute;inset-inline-end:1rem}.room-tab-bar__panel{bottom:3rem;border:1px solid var(--border);background:color-mix(in srgb, var(--background) 95%, transparent);-webkit-backdrop-filter:blur(8px);border-radius:1rem;flex-direction:column;gap:.25rem;min-width:180px;padding:.5rem;display:flex;position:absolute;inset-inline-end:0;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.room-tab-bar__room-item{position:relative}.room-tab-bar__room-btn{width:100%;font-size:.875rem;font-family:var(--font-birzia);-webkit-user-select:none;user-select:none;cursor:pointer;background:0 0;border:none;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:700;transition:background-color .15s;display:flex}.room-tab-bar__room-btn--active{background-color:var(--color-olive);color:#fff}.room-tab-bar__room-btn--inactive{color:var(--foreground)}.room-tab-bar__room-btn--inactive:hover{background-color:var(--muted)}.room-tab-bar__room-icon{flex-shrink:0;width:1rem;height:1rem}.room-tab-bar__rename-input{color:#fff;width:100px;font-size:.875rem;font-family:var(--font-birzia);background:0 0;border:none;outline:none;padding:0;font-weight:700}.room-tab-bar__room-name{text-overflow:ellipsis;white-space:nowrap;text-align:start;flex:1;overflow:hidden}.room-tab-bar__more-btn{cursor:pointer;background:0 0;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;transition:background-color .15s;display:inline-flex}.room-tab-bar__more-btn--active{color:#fffc}.room-tab-bar__more-btn--active:hover{background-color:#ffffff1a}.room-tab-bar__more-btn--inactive{color:var(--muted-foreground)}.room-tab-bar__more-btn--inactive:hover{background-color:color-mix(in srgb, var(--muted-foreground) 10%, transparent)}.room-tab-bar__more-icon{width:1rem;height:1rem}.room-tab-bar__action-menu{inset-inline-end:.5rem;z-index:10;border:1px solid var(--border);background-color:var(--background);border-radius:.75rem;min-width:140px;margin-top:.25rem;position:absolute;top:100%;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.room-tab-bar__delete-btn{width:100%;font-size:.875rem;font-family:var(--font-birzia);color:var(--destructive);cursor:pointer;background:0 0;border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:700;transition:background-color .15s;display:flex}.room-tab-bar__delete-btn:hover{background-color:color-mix(in srgb, var(--destructive) 10%, transparent)}.room-tab-bar__delete-icon{flex-shrink:0;width:1rem;height:1rem}.room-tab-bar__trigger{cursor:pointer;border:1px solid var(--border);background:color-mix(in srgb, var(--background) 90%, transparent);-webkit-backdrop-filter:blur(8px);border-radius:9999px;align-items:center;gap:.5rem;height:2.5rem;padding:.5rem 1rem;transition:background-color .15s;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.room-tab-bar__trigger:hover{background-color:var(--background)}.room-tab-bar__trigger-icon{width:1rem;height:1rem;color:var(--color-olive);flex-shrink:0}.room-tab-bar__trigger-name{font-size:.875rem;font-family:var(--font-birzia);color:var(--foreground);font-weight:700}.room-tab-bar__chevron{width:1rem;height:1rem;color:var(--muted-foreground);flex-shrink:0;transition:transform .2s}.room-tab-bar__chevron--open{transform:rotate(180deg)}