.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}:root{font-family:Inter,system-ui,sans-serif;color:#111827;background:#0f172a}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#0f172a;background-image:linear-gradient(#0a14268c,#0a1426a6),url(/bg.png);background-size:cover;background-position:center;background-attachment:fixed}.page{max-width:1280px;margin:0 auto;padding:1.25rem;display:grid;gap:1rem}header{margin-bottom:0;color:#f8fafc;text-shadow:0 2px 12px rgba(0,0,0,.38)}header h1{margin:0 0 .55rem}.current-user-row{display:inline-flex;align-items:center;gap:.55rem}.current-user-row select{min-width:180px}.layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:1rem;align-items:start}.overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.overview-label{font-size:.85rem;opacity:.95}.calendar-card{min-height:520px}.calendar-card.is-collapsed{min-height:auto;padding-bottom:.56rem}.calendar-hint{margin-top:.75rem;font-weight:600;color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:.5rem .65rem}.secondary-button{margin-top:.65rem;background:#475569;color:#fff}.side-column{display:grid;gap:1rem;align-content:start}.dev-tools{display:grid;gap:.7rem}.danger-button{background:#b91c1c;color:#fff}.danger-button:disabled{background:#7f1d1d}.dev-message{margin:0;font-size:.9rem;color:#0f172a}.edit-actions{display:flex;gap:.5rem;flex-wrap:wrap}.edit-actions button{font-size:1rem;padding:.55rem 1.4rem;min-height:unset;width:auto}.photo-grid-item{cursor:pointer}.photo-grid-item:hover img{opacity:.88;transition:opacity .15s}.photo-edit-item{display:grid;gap:.4rem}.photo-edit-item img{width:100%;height:84px;object-fit:cover;border-radius:8px;border:1px solid #d1d5db}.card{background:linear-gradient(160deg,#ffffffad,#f8fafc9e);border-radius:16px;padding:1rem;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 16px 40px #0f172a38}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem;border-bottom:1px solid #e2e8f0;padding-bottom:.45rem}.section-header h2{margin:0}.card.is-collapsed{padding:.56rem .72rem;min-height:auto}.card.is-collapsed .section-header{margin-bottom:0;padding-bottom:0;border-bottom:none}.section-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#f1f5f9;border:1px solid #cbd5e1;padding:0;width:28px;min-width:28px;height:28px;aspect-ratio:1 / 1;border-radius:50%;box-shadow:0 1px 2px #0f172a17;transition:background-color .15s ease,border-color .15s ease;cursor:pointer}.section-toggle:hover{background:#e2e8f0;border-color:#94a3b8}.section-toggle:before{content:"";display:block;width:.42rem;height:.42rem;border-right:2px solid #475569;border-top:2px solid #475569;border-radius:1px;transform:rotate(-45deg) translate(-.05rem,.05rem);transform-origin:center;transition:transform .18s ease}.section-toggle[aria-expanded=false]:before{transform:rotate(135deg) translate(-.05rem,.05rem)}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;margin-left:.35rem;padding:0 .4rem;border-radius:999px;background:#dbeafe;color:#1e3a8a;font-size:.8rem;font-weight:700;vertical-align:middle}.form{display:grid;gap:.8rem}label{display:grid;gap:.35rem;font-weight:600}input,select,textarea,button{font:inherit;padding:.6rem;border-radius:8px;border:1px solid #d1d5db}input,select,textarea{width:100%;max-width:100%}button{cursor:pointer;background:#111827;color:#fff;border:none}button:disabled{opacity:.6;cursor:not-allowed}.error{color:#b91c1c;margin-top:.5rem}.booking{border-radius:8px;padding:.78rem;margin-bottom:.7rem;border:1px solid rgba(148,163,184,.18)}.booking p{margin:0 0 .32rem}.booking.provisional{background:#eff6ff}.booking.definitive{background:#ecfdf5}.booking.user-theme-mael-salma,.post-card.user-theme-mael-salma{--user-accent: #00e5ff;--user-soft-bg: #d5f9ff}.booking.user-theme-lena-lucas,.post-card.user-theme-lena-lucas{--user-accent: #d946ef;--user-soft-bg: #f8dcfd}.booking.user-theme-ivan-isa,.post-card.user-theme-ivan-isa{--user-accent: #39ff14;--user-soft-bg: #dcffd2}.booking.user-theme-mael-salma,.booking.user-theme-lena-lucas,.booking.user-theme-ivan-isa{border-left:4px solid var(--user-accent);background:var(--user-soft-bg)}.tile-indicators{display:flex;flex-direction:column;gap:2px;align-items:center;margin-top:2px}.tile-indicators.holiday-only{margin-top:18px}.holiday-name{max-width:92%;font-size:9px;font-weight:700;color:#9f1239;background:#ffe4e6;border-radius:999px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-booking-chip{width:100%;max-width:82px;border:none;border-radius:999px;padding:1px 6px;font-size:10px;line-height:1.3;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-booking-chip.provisional{background:#bfdbfe!important;color:#1e3a8a!important}.day-booking-chip.definitive{background:#bbf7d0!important;color:#065f46!important}.day-booking-chip.user-theme-mael-salma{background:#00e5ff!important;color:#0f172a!important}.day-booking-chip.user-theme-lena-lucas{background:#d946ef!important;color:#fff!important}.day-booking-chip.user-theme-ivan-isa{background:#39ff14!important;color:#0f172a!important}.badge{font-size:10px;border-radius:999px;padding:2px 6px;color:#fff}.badge.provisional{background:#2563eb}.badge.definitive{background:#059669}.album{margin-top:0;width:100%}.past-feed{margin-top:0;display:grid;gap:1rem;width:100%}.booking-page{max-width:700px;margin:0 auto;padding:1rem;display:grid;gap:1rem}.back-button{align-self:start;display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(180deg,#ffffffe0,#f1f5f9e6);border:1px solid rgba(148,163,184,.55);border-radius:999px;padding:.44rem .9rem .44rem .48rem;cursor:pointer;font-size:.92rem;font-weight:600;line-height:1;color:#1e293b;box-shadow:0 6px 16px #0f172a1f,inset 0 1px #ffffffb8;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.back-button-arrow{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:1.08rem;font-weight:700;line-height:1}.back-button-label{transform:translateY(-1px)}.back-button:hover{background:linear-gradient(180deg,#fff,#e2e8f0);border-color:#64748b9e;box-shadow:0 9px 20px #0f172a29,inset 0 1px #ffffffd1;transform:translateY(-1px)}.back-button:active{transform:translateY(0)}.post-card{position:relative;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #cfd9e8;border-radius:14px;padding:1rem;display:grid;gap:.75rem;box-shadow:0 8px 18px #0f172a1a,inset 0 1px #ffffffe6;overflow:hidden}.post-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff8c}.post-card.user-theme-mael-salma,.post-card.user-theme-lena-lucas,.post-card.user-theme-ivan-isa{border-left:5px solid var(--user-accent);background:var(--user-soft-bg)}.post-header{display:flex;justify-content:space-between;align-items:center;gap:.7rem;color:#0f172a;text-shadow:none}.post-title{margin:0;font-size:1.08rem;letter-spacing:.01em}.post-meta{margin:0;color:#334155;font-size:.96rem}.post-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.post-photo-btn{display:block;padding:0;border:none;background:none;border-radius:8px;overflow:hidden;cursor:zoom-in;min-height:0;line-height:0}.post-photo-btn:hover img,.post-photo-btn:focus img{opacity:.88;transform:scale(1.02)}.post-photos img{width:100%;height:auto;object-fit:contain;border-radius:8px;border:1px solid #d1d5db;display:block;transition:opacity .15s,transform .15s}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.lightbox-img{max-width:min(96vw,1400px);max-height:92vh;object-fit:contain;border-radius:6px;box-shadow:0 24px 80px #000000b3;display:block}.lightbox-close{position:fixed;top:1rem;right:1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:40px;height:40px;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;min-height:0;z-index:1201;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-close:hover{background:#ffffff47}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:48px;height:48px;font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;min-height:0;z-index:1201;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s}.lightbox-nav:hover{background:#ffffff4d}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-counter{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);color:#fffc;font-size:.9rem;background:#0006;padding:.25rem .75rem;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1201}@media(max-width:600px){.lightbox-nav{display:none}}.post-note{margin:0;white-space:pre-wrap;word-wrap:break-word;line-height:1.5;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.62rem .72rem}.post-comments{display:grid;gap:.5rem;background:linear-gradient(180deg,#f8fafcb3,#f1f5f99e);border:1px solid #d7e2ef;border-radius:10px;padding:.62rem}.post-comments>strong{font-size:.95rem;color:#0f172a}.comment-item{margin:0;background:#fff;border:1px solid #d9e2ee;border-radius:8px;padding:.5rem .62rem;box-shadow:0 2px 6px #0f172a0d}.comment-actions{margin-left:.5rem;white-space:nowrap}.comment-actions button{background:none;border:none;padding:0;margin:0 .4rem;cursor:pointer;font-size:.85rem;line-height:1;vertical-align:middle;color:#64748b;text-decoration:underline;font-family:inherit}.comment-actions button:hover{color:#334155}.comment-actions button:disabled{opacity:.5;cursor:not-allowed}.comment-edit-form{display:grid;gap:.35rem}.comment-edit-form textarea{font-family:inherit;font-size:inherit;padding:.35rem;border:1px solid #cbd5e1;border-radius:4px;resize:none}.comment-edit-form button{padding:.25rem .75rem;font-size:.85rem;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;transition:background .2s}.comment-edit-form button:first-of-type{background:#0f172a;color:#fff;border-color:#0f172a}.comment-edit-form button:hover{opacity:.8}.comment-form{display:grid;gap:.45rem}.comment-form textarea{min-height:76px;background:#fff;border:1px solid #cbd5e1;box-shadow:inset 0 1px 2px #0f172a0f;resize:none}.comment-form button{font-weight:700;letter-spacing:.01em}.post-delete-btn{justify-self:start;margin-top:.35rem}.react-calendar{width:100%;border:none;border-radius:12px;overflow:hidden;background:#f8fafc;box-shadow:inset 0 0 0 1px #cbd5e1}.react-calendar__navigation button{background:transparent!important;color:#0f172a!important;border:none!important}.react-calendar__tile{position:relative;background:#fff!important;color:#0f172a!important;border:1px solid #e2e8f0!important;border-radius:0!important;min-height:82px;text-align:left;vertical-align:top;padding:6px 4px 4px}.react-calendar__tile abbr{display:block;width:100%;text-align:center;font-weight:700;margin-bottom:2px}.react-calendar__tile.weekend-day{background:#e0f2fe!important;color:#0c4a6e!important;font-weight:700}.react-calendar__tile.holiday-day{background:#fff1f2!important}.react-calendar__month-view__days__day--neighboringMonth{background:#f8fafc!important;color:#94a3b8!important}.react-calendar__month-view__days__day--neighboringMonth .holiday-name{opacity:.6}.react-calendar__month-view__weekdays{border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.react-calendar__month-view__weekdays__weekday{background:#e2e8f0;border-bottom:1px solid #cbd5e1;padding:6px 0;color:#334155}.react-calendar__month-view__days{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background:#eff6ff!important}.react-calendar__tile.custom-range-middle{background:#dbeafe!important;color:#1e3a8a!important;border-top:2px solid #2563eb!important;border-bottom:2px solid #2563eb!important}.react-calendar__tile.custom-range-start,.react-calendar__tile.custom-range-end,.react-calendar__tile.custom-range-single{background:#2563eb!important;color:#fff!important;border-radius:12px!important;border-color:#2563eb!important;box-shadow:inset 0 0 0 2px #1d4ed8}.react-calendar__tile.custom-range-start abbr,.react-calendar__tile.custom-range-end abbr,.react-calendar__tile.custom-range-single abbr{text-decoration:underline;text-underline-offset:2px}.react-calendar__tile.custom-range-start:not(.custom-range-single){border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:2px solid #2563eb!important}.react-calendar__tile.custom-range-end:not(.custom-range-single){border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left:2px solid #2563eb!important}.react-calendar__tile.custom-range-start:enabled:hover,.react-calendar__tile.custom-range-start:enabled:focus,.react-calendar__tile.custom-range-end:enabled:hover,.react-calendar__tile.custom-range-end:enabled:focus,.react-calendar__tile.custom-range-single:enabled:hover,.react-calendar__tile.custom-range-single:enabled:focus{background:#2563eb!important;color:#fff!important}.react-calendar__tile.custom-range-middle:enabled:hover,.react-calendar__tile.custom-range-middle:enabled:focus{background:#dbeafe!important;color:#1e3a8a!important}.react-calendar__navigation__label{font-weight:700;color:#0f172a!important}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background:#e2e8f0!important;border-radius:10px}.react-calendar__navigation button:disabled{color:#64748b!important}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}figure{margin:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}figure img{width:100%;height:160px;object-fit:cover;display:block}figcaption{padding:.5rem;font-size:.85rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:999}.modal{width:min(90vw,420px);max-height:min(92vh,860px);background:#fff;border-radius:12px;padding:1rem;display:grid;gap:.8rem;overflow-y:auto;overflow-x:hidden}.modal .form,.modal label{min-width:0}.modal input[type=file]{width:100%}@media(max-width:1024px){body{background-attachment:scroll}.page{padding:.9rem}.layout{grid-template-columns:1fr;gap:.85rem}.overview-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-card{min-height:auto}.card{padding:.9rem}.post-header{align-items:flex-start;flex-wrap:wrap}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.page{padding:.65rem}.card.is-collapsed{padding:.48rem .62rem}header{margin-bottom:.8rem}header h1{margin:0 0 .55rem;font-size:1.5rem;line-height:1.2}h2{margin:0 0 .55rem;font-size:1.15rem;line-height:1.25}.current-user-row{display:grid;gap:.35rem;width:100%}.overview-strip{grid-template-columns:1fr;gap:.5rem}.current-user-row select{min-width:0;width:100%}.card{border-radius:14px;padding:.75rem}.section-header{align-items:flex-start;gap:.5rem}.section-header h2{font-size:1.06rem}.section-toggle{width:26px;min-width:26px;height:26px;aspect-ratio:1 / 1}.booking{padding:.65rem}.booking p,.post-card p{margin:0}.post-photos{grid-template-columns:1fr}.post-photos img{height:auto}.photo-grid{grid-template-columns:1fr}.react-calendar__tile{min-height:68px;padding:5px 3px 3px}.react-calendar__tile abbr{font-size:.85rem}.holiday-name{font-size:8px;padding:1px 5px}.day-booking-chip{max-width:100%;font-size:9px}.badge{font-size:9px}input,select,textarea,button:not(.section-toggle){min-height:44px}.comment-form button{width:100%}.modal-overlay{place-items:end center}.modal{width:100%;max-width:100%;max-height:92vh;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:.85rem}}
