:root{--bg:#f4f6f9;--card:#fff;--text:#1f2937;--muted:#6b7280;--accent:#832439;--accent-dark:#6c080b;--danger:#dc2626}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
.hero{background:linear-gradient(135deg,#832439,#6c080b);color:#fff;text-align:center;padding:48px 16px}
.hero h1{font-size:2.2rem;margin-bottom:6px}
.wrap{max-width:1100px;margin:0 auto;padding:24px 16px 100px}
.add-box{background:var(--card);padding:18px;border-radius:12px;box-shadow:0 2px 8px #0001;margin-bottom:22px}
.add-box h2{font-size:1.1rem;margin-bottom:12px}
#addForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
input,select,button{font:inherit;padding:10px;border:1px solid #d1d5db;border-radius:8px}
#addForm input:first-child{grid-column:1/-1}
button[type=submit]{background:var(--accent);color:#fff;border:0;cursor:pointer}
button[type=submit]:hover{opacity:.9}
#preview{max-width:200px;max-height:130px;margin-top:12px;border-radius:8px;object-fit:cover}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.filters button{background:#fff;cursor:pointer;border-radius:999px}
.filters button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0001;position:relative;transition:transform .2s}
.card:hover{transform:translateY(-4px)}
.card img{width:100%;height:190px;object-fit:cover;display:block;cursor:pointer}
.card .info{padding:12px}
.card .tag{font-size:.75rem;color:var(--accent);font-weight:600;text-transform:uppercase}
.card h3{font-size:1rem;margin:4px 0}
.card p{font-size:.88rem;color:var(--muted)}
.card .del{position:absolute;top:8px;right:8px;background:var(--danger);color:#fff;border:0;border-radius:50%;width:30px;height:30px;padding:0;cursor:pointer}
.empty{text-align:center;color:var(--muted);margin-top:30px}
.lightbox{position:fixed;inset:0;background:#000d;display:flex;align-items:center;justify-content:center;z-index:99}
.lightbox[hidden]{display:none}
.lightbox figure{max-width:85vw;text-align:center;color:#fff}
.lightbox img{max-width:85vw;max-height:75vh;border-radius:8px}
.lightbox figcaption{margin-top:10px;display:flex;flex-direction:column;gap:4px}
.lb-close,.lb-nav{position:absolute;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer}
.lb-close{top:14px;right:24px}.lb-prev{left:18px}.lb-next{right:18px}
@media(max-width:600px){.hero h1{font-size:1.6rem}}


.back-btn{position:fixed;left:20px;bottom:20px;z-index:50;display:inline-block;padding:12px 26px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:14px;border-radius:8px;box-shadow:0 3px 8px rgba(0,0,0,.25);transition:.2s}
.back-btn:hover{background:var(--accent-dark)}


.cta{background:var(--card);border-top:4px solid var(--accent);border-radius:12px;box-shadow:0 2px 8px #0001;padding:28px 20px;text-align:center;margin-top:34px}
.cta h2{color:var(--accent);font-size:1.3rem;margin-bottom:6px}
.cta p{color:var(--muted);margin-bottom:18px}
.cta-btn{display:inline-block;padding:12px 28px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;border-radius:8px;transition:.2s}
.cta-btn:hover{background:var(--accent-dark)}


.rooms{margin-top:38px}
.rooms h2{color:var(--accent);font-size:1.4rem;margin-bottom:6px}
.rooms-sub{color:var(--muted);font-size:.92rem;margin-bottom:10px}
.rooms-note{color:var(--muted);background:var(--card);padding:16px;border-radius:12px;box-shadow:0 2px 8px #0001}
.rooms-legend{display:flex;gap:8px;margin-bottom:6px}
.rooms-group{margin:22px 0 10px;font-size:1.05rem;padding-left:10px;border-left:5px solid var(--accent)}
.rooms-group.male{border-left-color:#2563eb}
.rooms-group.female{border-left-color:#db2777}
.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.room-card{background:var(--card);border-radius:12px;box-shadow:0 2px 8px #0001;padding:14px;border-top:4px solid var(--accent)}
.room-card.male{border-top-color:#2563eb}
.room-card.female{border-top-color:#db2777}
.room-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.room-free{font-size:.78rem;font-weight:700;color:#166534;background:#dcfce7;padding:2px 10px;border-radius:999px}
.room-free.full{color:#991b1b;background:#fee2e2}
.room-label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 4px}
.bed-chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:8px}
.chip.free{background:#dcfce7;color:#166534}
.chip.taken{background:#e5e7eb;color:#6b7280;text-decoration:line-through}

.rooms-pick{font-size:1rem;margin-bottom:8px}
.chip.pick{text-decoration:none;cursor:pointer;border:1px solid #86efac;transition:.15s}
.chip.pick:hover{background:var(--accent);color:#fff;border-color:var(--accent)}


.bed-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.chip{text-align:center;padding:4px 2px;white-space:nowrap}
.rooms-pick{margin-bottom:14px}