@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";body{margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}code{font-family:source-code-pro,Menlo,Monaco,Consolas,monospace}*{box-sizing:border-box}:root{--font-display: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--bg-primary: #faf8f5;--bg-card: #ffffff;--bg-header: #1a2f38;--bg-login: #1a2f38;--text-primary: #1a2020;--text-secondary: #5c6b6b;--text-muted: #94a3a3;--text-accent: #1a2f38;--border-color: #e8e2da;--border-hover: #c17c4e;--shadow-card: 0 1px 3px rgba(26,32,32,.04), 0 8px 24px rgba(26,32,32,.06);--shadow-card-hover: 0 2px 8px rgba(26,32,32,.08), 0 12px 32px rgba(26,32,32,.1);--error-bg: #fef0ee;--error-text: #9e2b1a;--error-border: #f0c4bc;--success-bg: #eef6f0;--success-text: #1a5c3a;--success-border: #b8dcc4;--accent-bg: #f5f0eb;--accent-light: #ede4d9;--accent-color: #c17c4e;--btn-gradient: linear-gradient(135deg, #c17c4e 0%, #a0623b 100%);--btn-shadow: 0 4px 14px rgba(193,124,78,.3);--input-bg: #ffffff;--modal-bg: rgba(26,47,56,.6);--calendar-bg: #ffffff;--unavailable-bg: #fef5f3;--unavailable-border: #e8c4b8;--grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E")}[data-theme=dark]{--bg-primary: #141e22;--bg-card: #1c2a30;--bg-header: #0f181c;--bg-login: #0f181c;--text-primary: #e8e2da;--text-secondary: #94a3a3;--text-muted: #5c6b6b;--text-accent: #e0c9b0;--border-color: #2a3a40;--border-hover: #d4956a;--shadow-card: 0 1px 3px rgba(0,0,0,.2), 0 8px 24px rgba(0,0,0,.25);--shadow-card-hover: 0 2px 8px rgba(0,0,0,.3), 0 12px 32px rgba(0,0,0,.35);--error-bg: #2e1a16;--error-text: #f0a899;--error-border: #4a2520;--success-bg: #142e1e;--success-text: #7dd4a0;--success-border: #1e4a2e;--accent-bg: #1e2a28;--accent-light: #2a3632;--accent-color: #d4956a;--btn-gradient: linear-gradient(135deg, #d4956a 0%, #b87a50 100%);--btn-shadow: 0 4px 14px rgba(212,149,106,.2);--input-bg: #1a2830;--modal-bg: rgba(0,0,0,.7);--calendar-bg: #1c2a30;--unavailable-bg: #2e1a16;--unavailable-border: #4a2520}.app{min-height:100vh;background:var(--bg-primary);overflow-x:hidden;position:relative}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:var(--grain);background-repeat:repeat;background-size:256px;pointer-events:none;z-index:0;opacity:.5}.app>*{position:relative;z-index:1}.main-layout{display:grid;grid-template-columns:3fr 2fr;gap:28px;padding:28px 36px;max-width:1120px;margin:0 auto}.card{background:var(--bg-card);border-radius:14px;border:1px solid var(--border-color);box-shadow:var(--shadow-card);padding:28px;overflow:hidden;min-width:0;transition:box-shadow .2s ease}.card-title{margin:0 0 22px;font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--text-primary);letter-spacing:-.01em}.booking-form-card{position:sticky;top:28px;align-self:start}.last-updated{color:var(--text-muted);font-size:.72rem;margin-bottom:14px;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.optional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted);font-style:italic}.pin-error{color:var(--error-text);font-size:.82rem;font-weight:500}.pin-success{color:var(--success-text);background:var(--success-bg);border:1px solid var(--success-border);border-radius:10px;padding:10px 14px;font-size:.82rem;font-weight:500;text-align:center;margin-bottom:14px}.validation-hint{font-size:.75rem;color:var(--text-muted);margin-top:4px;font-weight:500}.validation-error{color:var(--error-text)}@media (max-width: 800px){.main-layout{grid-template-columns:1fr;padding:14px;gap:18px}.card{padding:20px;border-radius:12px}.card-title{font-size:1.3rem;margin-bottom:16px}}@media (max-width: 500px){.main-layout{padding:10px;gap:14px}.card{padding:16px;border-radius:10px}}.theme-toggle-floating{position:fixed;top:20px;right:20px;background:#e8e2da1a;color:#e8e2dacc;border:1px solid rgba(232,226,218,.15);border-radius:8px;padding:7px 11px;font-size:1rem;font-family:var(--font-body);cursor:pointer;transition:all .15s ease;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);line-height:1}.theme-toggle-floating:hover{background:#e8e2da2e;border-color:#e8e2da40}.login-screen{min-height:100vh;background:var(--bg-login);display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.login-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 20% 80%,rgba(193,124,78,.08),transparent),radial-gradient(ellipse 60% 40% at 80% 20%,rgba(100,160,180,.06),transparent);pointer-events:none}.login-card{background:var(--bg-card);border-radius:18px;border:1px solid var(--border-color);box-shadow:0 24px 80px #00000040,0 2px 8px #0000001a;padding:48px 42px;max-width:400px;width:100%;text-align:center;position:relative}.login-card h1{margin:0 0 6px;font-family:var(--font-display);font-size:1.65rem;font-weight:400;color:var(--text-primary);letter-spacing:-.02em}.login-subtitle{color:var(--text-secondary);margin:0 0 28px;font-size:.9rem;font-weight:400}.user-grid{display:flex;flex-direction:column;gap:8px}.user-button{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-card);font-size:.95rem;font-family:var(--font-body);cursor:pointer;transition:all .15s ease}.user-button:hover{border-color:var(--border-hover);background:var(--accent-bg);transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.user-button .user-name{font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.admin-badge{background:var(--accent-bg);color:var(--accent-color);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:6px;border:1px solid var(--border-color);margin-left:8px}.pin-form{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:8px}.pin-input{width:150px;padding:14px;border:1px solid var(--border-color);border-radius:11px;font-size:18px;font-family:var(--font-body);text-align:center;letter-spacing:10px;color:var(--text-primary);background:var(--input-bg);transition:border-color .2s ease,box-shadow .2s ease}.pin-input:focus{outline:none;border-color:var(--border-hover);box-shadow:0 0 0 3px #c17c4e1f}.pin-input::placeholder{color:var(--text-muted);letter-spacing:10px}.pin-login-button{width:100%;max-width:200px;padding:12px;background:var(--btn-gradient);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--btn-shadow);letter-spacing:.01em}.pin-login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #c17c4e66}.pin-login-button:disabled{opacity:.45;cursor:default}.pin-back-button{background:none;border:none;color:var(--text-secondary);font-size:.85rem;font-weight:500;font-family:var(--font-body);cursor:pointer;padding:4px 8px;transition:color .15s ease}.pin-back-button:hover{color:var(--text-primary)}.pin-forgot-button{background:none;border:none;color:var(--text-muted);font-size:.8rem;font-family:var(--font-body);cursor:pointer;padding:4px 8px;transition:color .15s ease}.pin-forgot-button:hover:not(:disabled){color:var(--text-secondary)}.pin-forgot-button:disabled{opacity:.4;cursor:not-allowed}.pin-reset-message{color:var(--success-text);font-size:.82rem;margin-top:4px;text-align:center}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);box-shadow:0 24px 80px #00000040;padding:34px;max-width:360px;width:100%;max-height:90vh;overflow-y:auto}.modal-title{margin:0 0 22px;font-family:var(--font-display);font-size:1.4rem;font-weight:400;color:var(--text-primary);text-align:center;letter-spacing:-.01em}.pin-change-field{margin-bottom:16px}.pin-change-field label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.pin-change-input{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:9px;font-size:1.15rem;font-family:var(--font-body);text-align:center;letter-spacing:8px;color:var(--text-primary);background:var(--input-bg);transition:border-color .15s ease,box-shadow .15s ease}.pin-change-input:focus{outline:none;border-color:var(--border-hover);box-shadow:0 0 0 3px #c17c4e1a}.pin-select{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:9px;font-size:.9rem;font-family:var(--font-body);color:var(--text-primary);background:var(--input-bg);cursor:pointer}.pin-select:focus{outline:none;border-color:var(--border-hover)}.modal-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:10px}.app-header{background:var(--bg-header);padding:18px 36px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid rgba(255,255,255,.06)}.app-header h1{color:#e8e2da;font-family:var(--font-display);font-size:1.35rem;font-weight:400;margin:0;letter-spacing:-.01em}.header-menu-toggle{display:none;background:#e8e2da14;color:#e8e2dad9;border:1px solid rgba(232,226,218,.12);border-radius:8px;padding:6px 10px;font-size:1.1rem;cursor:pointer;transition:background .15s ease;line-height:1}.header-menu-toggle:hover{background:#e8e2da24}.user-info{display:flex;align-items:center;gap:8px;color:#e8e2dabf;font-size:.82rem;flex-wrap:wrap;font-weight:400}.logout-button,.theme-toggle{background:#e8e2da14;color:#e8e2dad9;border:1px solid rgba(232,226,218,.12);border-radius:8px;padding:6px 13px;font-size:.75rem;font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all .15s ease;letter-spacing:.02em;text-transform:uppercase}.theme-toggle{font-size:.95rem;padding:4px 10px;letter-spacing:0;text-transform:none}.logout-button:hover,.theme-toggle:hover{background:#e8e2da24;border-color:#e8e2da33}@media (max-width: 700px){.app-header{padding:14px 16px}.app-header h1{font-size:1.1rem;flex:1}.header-menu-toggle{display:block}.user-info{display:none;width:100%;flex-direction:column;align-items:stretch;gap:6px;padding-top:12px;border-top:1px solid rgba(232,226,218,.1)}.user-info.menu-open{display:flex}.user-info>span{padding:4px 0;font-size:.8rem}.logout-button,.theme-toggle{text-align:center;padding:8px 13px;font-size:.78rem}}.audit-panel{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);background:var(--bg-card);border-left:1px solid var(--border-color);box-shadow:-8px 0 30px #0000001a;z-index:1000;display:flex;flex-direction:column}.audit-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.audit-header h2{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--text-primary)}.audit-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-muted);padding:4px 8px;transition:color .15s ease}.audit-close:hover{color:var(--text-primary)}.audit-list{flex:1;overflow-y:auto;padding:16px 24px}.audit-event{padding:10px 0;border-bottom:1px solid var(--border-color);font-size:.82rem}.audit-event-time{color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:.02em}.audit-event-action{color:var(--text-primary);font-weight:600}.audit-event-user{color:var(--text-secondary)}.error-banner{background:var(--error-bg);color:var(--error-text);border-bottom:1px solid var(--error-border);padding:11px 36px;font-size:.85rem;text-align:center;font-weight:500}.success-banner{background:var(--success-bg);color:var(--success-text);border-bottom:1px solid var(--success-border);padding:11px 36px;font-size:.85rem;text-align:center;font-weight:500}@media (max-width: 800px){.error-banner,.success-banner{padding:10px 16px;font-size:.8rem}}.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;line-height:16px;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}.calendar-section{display:flex;justify-content:center;margin-bottom:20px}.calendar-section .react-calendar{border:none;border-radius:12px;border:1px solid var(--border-color);box-shadow:none;width:100%;font-family:var(--font-body);background:var(--calendar-bg);color:var(--text-primary);padding:4px}.calendar-section .react-calendar__tile--active{background:var(--accent-color);color:#fff;border-radius:8px}.calendar-section .react-calendar__tile--active:enabled:hover,.calendar-section .react-calendar__tile--active:enabled:focus{background:var(--border-hover)}.calendar-section .react-calendar__tile--rangeStart{border-radius:8px 0 0 8px}.calendar-section .react-calendar__tile--rangeEnd{border-radius:0 8px 8px 0}.calendar-section .react-calendar__tile--now{background:var(--accent-bg);border-radius:8px;font-weight:600}.calendar-section .react-calendar__navigation button:enabled:hover{background:var(--accent-bg);border-radius:8px}.calendar-section .react-calendar__navigation button{color:var(--text-primary);font-family:var(--font-body);font-weight:500}.calendar-section .react-calendar__month-view__weekdays{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.calendar-section .react-calendar__tile{color:var(--text-primary);font-family:var(--font-body);transition:background .1s ease}.calendar-section .react-calendar__tile:disabled{color:var(--text-muted)}[data-theme=dark] .calendar-section .react-calendar__tile:enabled:hover,[data-theme=dark] .calendar-section .react-calendar__tile:enabled:focus{background:var(--accent-bg);color:var(--text-primary)}[data-theme=dark] .calendar-section .react-calendar__tile--active:enabled:hover,[data-theme=dark] .calendar-section .react-calendar__tile--active:enabled:focus{background:#a0623b;color:#fff}[data-theme=dark] .calendar-section .react-calendar__tile--now:enabled:hover{background:var(--accent-light)}[data-theme=dark] .calendar-section .react-calendar__tile--hasActive,[data-theme=dark] .calendar-section .react-calendar__tile--range{background:var(--accent-light);color:var(--text-primary)}[data-theme=dark] .calendar-section .react-calendar__tile--hasActive:enabled:hover,[data-theme=dark] .calendar-section .react-calendar__tile--range:enabled:hover{background:var(--accent-bg);color:var(--text-primary)}[data-theme=dark] .calendar-section .react-calendar__tile--rangeStart,[data-theme=dark] .calendar-section .react-calendar__tile--rangeEnd{background:var(--accent-color);color:#fff}[data-theme=dark] .calendar-section .react-calendar__tile--rangeStart:enabled:hover,[data-theme=dark] .calendar-section .react-calendar__tile--rangeEnd:enabled:hover{background:#a0623b;color:#fff}[data-theme=dark] .calendar-section .react-calendar--selectRange .react-calendar__tile--hover{background:var(--accent-light);color:var(--text-primary)}.date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.date-input-group{display:flex;flex-direction:column;gap:5px}.date-input-group label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.date-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:9px;font-size:.9rem;font-family:var(--font-body);color:var(--text-primary);background:var(--input-bg);transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.date-input:focus{outline:none;border-color:var(--border-hover);box-shadow:0 0 0 3px #c17c4e1a}.form-section{display:flex;flex-direction:column;gap:20px}.form-section label,.people-field label,.room-selector>label,.text-field label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.people-field input[type=number]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:9px;font-size:.95rem;font-family:var(--font-body);color:var(--text-primary);background:var(--input-bg);transition:border-color .15s ease,box-shadow .15s ease}.people-field input[type=number]:focus{outline:none;border-color:var(--border-hover);box-shadow:0 0 0 3px #c17c4e1a}.note-field{display:flex;flex-direction:column;gap:5px}.note-field>label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:0}.note-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:9px;font-size:.88rem;font-family:var(--font-body);color:var(--text-primary);background:var(--input-bg);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.note-input:focus{outline:none;border-color:var(--border-hover);box-shadow:0 0 0 3px #c17c4e1a}.note-input::placeholder{color:var(--text-muted)}.note-counter{font-size:.68rem;color:var(--text-muted);text-align:right;letter-spacing:.02em}.calendar-legend{display:flex;justify-content:center;gap:16px;margin-bottom:18px}.legend-item{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-muted);letter-spacing:.01em}.legend-item .cal-indicator{margin:0;flex-shrink:0}.cal-indicator{width:5px;height:5px;border-radius:50%;margin:3px auto 0}.cal-partial{background:var(--accent-color)}.cal-full{background:var(--error-text)}.cancel-edit-button{float:right;background:none;border:none;color:var(--accent-color);font-size:.82rem;font-weight:500;font-family:var(--font-body);cursor:pointer;padding:0;transition:opacity .15s ease}.cancel-edit-button:hover{opacity:.7}.book-button{width:100%;padding:13px;background:var(--btn-gradient);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--btn-shadow);letter-spacing:.01em}.book-button:hover{transform:translateY(-1px);box-shadow:0 6px 22px #c17c4e66}.book-button:active{transform:translateY(0)}.form-divider{border:none;border-top:1px solid var(--border-color);margin:4px 0}.rooms-summary{font-size:.78rem;color:var(--accent-color);background:var(--accent-bg);border-radius:8px;padding:8px 12px;font-weight:500}.recurrence-section{display:flex;flex-direction:column;gap:8px}.recurrence-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recurrence-row select,.recurrence-row input{padding:8px 11px;border:1px solid var(--border-color);border-radius:9px;font-size:.85rem;font-family:var(--font-body);color:var(--text-primary);background:var(--input-bg)}.recurrence-row label{display:flex;align-items:center;gap:6px;font-size:.88rem;color:var(--text-primary);cursor:pointer;font-weight:500}.guests-section{display:flex;flex-direction:column;gap:8px}.guests-section>label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:0}.guest-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 500px){.guest-row{grid-template-columns:1fr}}.guest-input{width:100%;padding:9px 12px;border:1px solid var(--border-color);border-radius:9px;font-size:.88rem;font-family:var(--font-body);color:var(--text-primary);background:var(--input-bg);transition:border-color .15s ease,box-shadow .15s ease}.guest-input:focus{outline:none;border-color:var(--border-hover);box-shadow:0 0 0 3px #c17c4e1a}.guest-input::placeholder{color:var(--text-muted)}.room-checkboxes{display:flex;flex-direction:column;gap:6px}.room-checkbox{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border-color);border-radius:9px;cursor:pointer;transition:all .15s ease;font-size:.9rem;color:var(--text-primary)}.room-checkbox:hover{border-color:var(--border-hover);background:var(--accent-bg)}.room-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.room-checkbox input[type=checkbox]:checked+.room-name{font-weight:600;color:var(--accent-color)}.room-unavailable{opacity:.45;border-color:var(--unavailable-border);background:var(--unavailable-bg);cursor:not-allowed}.room-unavailable:hover{border-color:var(--unavailable-border);background:var(--unavailable-bg)}.room-booked-tag{margin-left:auto;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--error-text)}.booking-count{display:inline-block;background:var(--accent-bg);color:var(--accent-color);font-family:var(--font-body);font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:10px;margin-left:8px;vertical-align:middle;letter-spacing:0;border:1px solid var(--border-color)}.export-button{padding:5px 12px;background:var(--bg-card);color:var(--accent-color);border:1px solid var(--border-color);border-radius:7px;font-size:.72rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.04em}.export-button:hover{border-color:var(--accent-color);background:var(--accent-bg)}.bookings-skeleton{display:flex;flex-direction:column;gap:10px}.skeleton-card{padding:14px 16px;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:8px}.skeleton-line{height:12px;border-radius:6px;background:var(--border-color);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-line-wide{width:75%}.skeleton-line-medium{width:50%}.skeleton-line-narrow{width:30%}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}.booking-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.booking-filters select,.booking-filters input{padding:6px 10px;border:1px solid var(--border-color);border-radius:7px;font-size:.78rem;font-family:var(--font-body);background:var(--input-bg);color:var(--text-primary);transition:border-color .15s ease}.booking-filters select:focus,.booking-filters input:focus{outline:none;border-color:var(--border-hover)}.clear-filters{background:none;border:none;color:var(--text-muted);font-size:.78rem;font-family:var(--font-body);cursor:pointer;padding:6px 4px;transition:color .15s ease}.clear-filters:hover{color:var(--text-primary);text-decoration:underline}.no-bookings{text-align:center;padding:40px 24px;border:1px dashed var(--border-color);border-radius:12px;margin:8px 0}.no-bookings-title{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--text-secondary);margin-bottom:8px}.no-bookings-hint{font-size:.82rem;color:var(--text-muted)}.bookings-list{display:flex;flex-direction:column;gap:10px}.booking-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--border-color);border-radius:10px;transition:all .15s ease;background:var(--bg-card)}@media (max-width: 500px){.booking-card{flex-direction:column;align-items:stretch}.booking-actions{flex-direction:row!important}}.booking-card:hover{box-shadow:var(--shadow-card-hover);border-color:transparent}.booking-info{flex:1;min-width:0}.booking-guest{font-weight:600;color:var(--text-primary);font-size:.9rem;letter-spacing:-.01em}.booking-dates{color:var(--text-secondary);font-size:.78rem;margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.booking-status{display:inline-block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:4px}.status-upcoming{background:#dae8f5;color:#1a4a7a}[data-theme=dark] .status-upcoming{background:#1a2e3e;color:#7ab4de}.status-completed{background:var(--accent-bg);color:var(--accent-color)}.status-checked-in{background:var(--success-bg);color:var(--success-text)}.status-no-show{background:var(--error-bg);color:var(--error-text)}.booking-details{color:var(--text-accent);font-size:.78rem;margin-top:4px;font-weight:500}.booking-by{color:var(--text-muted);font-size:.72rem;margin-top:2px}.booking-note{color:var(--text-secondary);font-size:.78rem;margin-top:3px;font-style:italic}.booking-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0}.edit-button{padding:7px 14px;background:var(--bg-card);color:var(--accent-color);border:1px solid var(--border-color);border-radius:7px;font-size:.75rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s ease}.edit-button:hover{background:var(--accent-bg);border-color:var(--accent-color)}.stop-edit-button{padding:7px 14px;background:var(--accent-bg);color:var(--accent-color);border:1px solid var(--accent-color);border-radius:7px;font-size:.75rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s ease}.stop-edit-button:hover{background:var(--accent-color);color:#fff}.booking-card-editing{border-color:var(--accent-color);box-shadow:0 0 0 2px #c17c4e26}.cancel-button{flex-shrink:0;padding:7px 14px;background:var(--bg-card);color:var(--error-text);border:1px solid var(--error-border);border-radius:7px;font-size:.75rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s ease}.cancel-button:hover{background:var(--error-bg);border-color:var(--error-text)}.cancel-button:disabled{opacity:.4;cursor:default}.confirm-actions{display:flex;flex-direction:row;gap:5px}.booking-relative{font-size:.68rem;color:var(--text-muted);font-style:italic}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;font-size:.8rem;color:var(--text-secondary)}.pagination button{padding:6px 13px;border:1px solid var(--border-color);border-radius:7px;background:var(--bg-card);color:var(--text-primary);font-family:var(--font-body);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s ease}.pagination button:hover:not(:disabled){border-color:var(--border-hover);background:var(--accent-bg)}.pagination button:disabled{opacity:.35;cursor:default}.admin-tabs{display:flex;gap:0;background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:0 36px}.admin-tab{padding:13px 22px;border:none;background:none;font-size:.82rem;font-weight:600;font-family:var(--font-body);color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease;letter-spacing:.01em}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.admin-content{padding:28px 36px;max-width:1100px;margin:0 auto}@media (max-width: 800px){.admin-content{padding:14px}.admin-tabs{padding:0 6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tab{padding:10px 14px;font-size:.78rem;white-space:nowrap}}.add-user-form{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-card);padding:22px 24px}.add-user-form h3{margin:0 0 14px;font-family:var(--font-display);font-size:1.15rem;font-weight:400;color:var(--text-primary)}.add-user-fields{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:22px;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-card)}.admin-table{width:100%;min-width:500px;border-collapse:collapse;background:var(--bg-card)}.admin-table th,.admin-table td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--border-color);font-size:.85rem;color:var(--text-primary)}.admin-table th{background:var(--accent-bg);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.admin-table tr:last-child td{border-bottom:none}.admin-input{padding:6px 10px;border:1px solid var(--border-color);border-radius:7px;font-size:.82rem;font-family:var(--font-body);background:var(--input-bg);color:var(--text-primary);max-width:100%;box-sizing:border-box;transition:border-color .15s ease}.admin-input:focus{outline:none;border-color:var(--border-hover)}@media (max-width: 800px){.add-user-form{padding:16px}.add-user-fields{flex-direction:column;align-items:stretch}.add-user-fields .admin-input{width:100%;box-sizing:border-box}.admin-table th,.admin-table td{padding:8px 10px;font-size:.78rem}.admin-input{font-size:.78rem;padding:5px 8px}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat-card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-card);padding:24px;text-align:center}.stat-value{font-family:var(--font-display);font-size:2.2rem;font-weight:400;color:var(--accent-color);letter-spacing:-.02em}.stat-label{font-size:.72rem;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.activity-heading{font-family:var(--font-display);font-weight:400;font-size:1.15rem;color:var(--text-primary);margin:0 0 12px}.admin-activity-list{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-card);padding:8px 16px}.admin-activity-list .audit-event{padding:10px 0;border-bottom:1px solid var(--border-color);font-size:.82rem}.admin-activity-list .audit-event:last-child{border-bottom:none}.admin-activity-list .audit-event-time{color:var(--text-muted);font-size:.72rem;font-weight:500}.admin-activity-list .audit-event-action{color:var(--text-primary);font-weight:600}.admin-activity-list .audit-event-user{color:var(--text-secondary)}@media (max-width: 800px){.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:18px}.stat-value{font-size:1.6rem}.admin-activity-list{padding:8px 12px}}.log-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-card)}.log-table{width:100%;min-width:480px;border-collapse:collapse;background:var(--bg-card);font-size:.82rem}.log-table th,.log-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.log-table th{background:var(--accent-bg);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.log-table tr:last-child td{border-bottom:none}.log-status{display:inline-block;padding:2px 8px;border-radius:4px;font-weight:700;font-size:.72rem;letter-spacing:.02em}.log-status-200{background:var(--success-bg);color:var(--success-text)}.log-status-300{background:#dae8f5;color:#1a4a7a}.log-status-400{background:#fef5e8;color:#8a5a1a}.log-status-500{background:var(--error-bg);color:var(--error-text)}@media (max-width: 800px){.log-table th,.log-table td{padding:6px 8px;font-size:.72rem}}.settings-panel{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-card);padding:26px}.settings-panel h3{margin:0 0 8px;font-family:var(--font-display);font-size:1.15rem;font-weight:400;color:var(--text-primary)}@media (max-width: 800px){.settings-panel{padding:16px}}
