.book-shell{min-height:100vh;display:flex;flex-direction:column;background:#f5f1ea}.book-main{flex:1 1}.book-footer{background:#1B3A2D;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center}.book-footer p{font-size:.75rem;color:rgba(255,255,255,.4);margin:0}.book-powered a{color:#C49A50;text-decoration:none}.bf-page{min-height:100vh}.bf-hero{height:280px;background-size:cover;background-position:50%;position:relative}.bf-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,58,45,.88) 40%,rgba(27,58,45,.45));display:flex;flex-direction:column;justify-content:center;padding:0 5rem}.bf-eyebrow{font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:#C49A50;margin-bottom:.7rem}.bf-title{font-family:Playfair Display,Georgia,serif;font-size:2.4rem;font-weight:400;color:#fff;margin:0 0 .5rem;line-height:1.1}.bf-subtitle{font-size:.85rem;color:rgba(255,255,255,.7);margin:0}.bf-body{max-width:860px;margin:0 auto;padding:3rem 2rem 5rem}.bf-form{display:flex;flex-direction:column;gap:0}.bf-section{background:#fff;border:1px solid #d8d2c6;padding:2rem 2.5rem;margin-bottom:1.5rem}.bf-section-title{font-family:Playfair Display,Georgia,serif;font-size:1.2rem;font-weight:400;color:#1B3A2D;margin:0 0 1.5rem;padding-bottom:.8rem;border-bottom:1px solid #ede8df}.bf-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.2rem;gap:1.2rem}.bf-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.bf-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#5C5C52;font-weight:500}.bf-req{color:#A07830;margin-left:3px}.bf-hint{font-size:.75rem;color:#999;margin:0}.bf-input{background:#F9F7F4;border:1px solid #d8d2c6;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:.875rem;color:#1E1E1A;outline:none;width:100%;transition:border-color .25s;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.bf-input:focus{border-color:#1B3A2D;background:#fff}.bf-input-err{border-color:#c0392b!important}.bf-textarea{resize:vertical;min-height:100px}.bf-error{font-size:.72rem;color:#c0392b;margin:.2rem 0 0}.bf-error-main{background:#fdf0ef;border:1px solid #f5c6c6;padding:.75rem 1rem;font-size:.82rem}.bf-checkbox{display:flex;align-items:center;gap:.7rem;font-size:.85rem;color:#1E1E1A;cursor:pointer;margin-bottom:.6rem}.bf-checkbox input{width:16px;height:16px;accent-color:#1B3A2D}.bf-checkbox-group{margin:.5rem 0 1rem}.bf-room-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:.5rem}.bf-room-card{border:2px solid #d8d2c6;cursor:pointer;transition:all .25s;position:relative}.bf-room-card:hover{border-color:#A07830}.bf-room-card.selected{border-color:#1B3A2D}.bf-room-img{height:130px;background-size:cover;background-position:50%}.bf-room-info{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.2rem}.bf-room-info strong{font-size:.9rem;color:#1B3A2D}.bf-room-info span{font-size:.72rem;color:#888}.bf-room-info em{font-size:.9rem;color:#A07830;font-style:normal;font-weight:600}.bf-room-card.sold-out{opacity:.6;cursor:not-allowed}.bf-room-card.sold-out:hover{border-color:#D8D2C6}.bf-room-tag{position:absolute;top:.5rem;left:.5rem;padding:.25rem .55rem;font-size:.65rem;letter-spacing:.06em;font-weight:600}.bf-room-tag.full{background:#991B1B;color:#fff}.bf-room-tag.few{background:#FEF3C7;color:#92400E}.bf-room-check{position:absolute;top:.5rem;right:.5rem;background:#1B3A2D;color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem}.bf-price-summary{background:#f0f5f2;border:1px solid #c5d9ce;padding:.85rem 1.2rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#1B3A2D;margin-top:-.5rem}.bf-price-summary strong{font-size:1rem}.bf-direction-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:.5rem}.bf-dir-card{border:2px solid #d8d2c6;padding:1.5rem;cursor:pointer;text-align:center;display:flex;flex-direction:column;gap:.5rem;transition:all .25s}.bf-dir-card:hover{border-color:#A07830}.bf-dir-card.selected{border-color:#1B3A2D;background:#f0f5f2}.bf-dir-icon{font-size:1.4rem}.bf-dir-card span:last-child{font-size:.82rem;color:#1B3A2D;font-weight:500}.bf-info-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:2rem}.bf-info-card{background:#fff;border:1px solid #d8d2c6;padding:1.2rem;display:flex;flex-direction:column;gap:.35rem}.bf-info-card strong{font-size:.82rem;color:#1B3A2D}.bf-info-card span{font-size:.8rem;color:#888}.bf-submit{background:#1B3A2D;color:#fff;border:none;padding:1rem 2.5rem;font-family:Inter,sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .3s;align-self:flex-start}.bf-submit:hover{background:#A07830}.bf-submit:disabled{opacity:.6;cursor:not-allowed}.bs-wrap{max-width:520px;margin:6rem auto;text-align:center;padding:2rem}.bs-icon{width:64px;height:64px;border-radius:50%;background:#1B3A2D;color:#fff;font-size:1.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.bs-title{font-family:Playfair Display,Georgia,serif;font-size:2rem;color:#1B3A2D;margin:0 0 1rem;font-weight:400}.bs-text{font-size:.9rem;color:#5C5C52;line-height:1.7;margin-bottom:.7rem}.bs-actions{gap:1rem;margin-top:2rem;flex-wrap:wrap}.adm-login,.bs-actions{display:flex;justify-content:center}.adm-login{min-height:100vh;background:#1B3A2D;align-items:center}.adm-login-box{background:#fff;padding:3rem;width:380px;text-align:center}.adm-login-title{font-family:Playfair Display,Georgia,serif;font-size:1.8rem;color:#1B3A2D;margin:0 0 .3rem;font-weight:400}.adm-login-title em{font-style:italic;color:#A07830}.adm-login-sub{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#999;margin:0 0 2rem}.adm-pw-input{width:100%;border:1px solid #d8d2c6;padding:.85rem 1rem;font-size:.9rem;outline:none;margin-bottom:.5rem;font-family:Inter,sans-serif}.adm-pw-input:focus{border-color:#1B3A2D}.adm-pw-err{color:#c0392b;font-size:.8rem;margin-bottom:.5rem}.adm-pw-btn{width:100%;background:#1B3A2D;color:#fff;border:none;padding:.9rem;font-family:Inter,sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;margin-top:.5rem;transition:background .3s}.adm-pw-btn:hover{background:#A07830}.adm-powered{font-size:.7rem;color:#ccc;margin-top:2rem}.adm-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:#f5f1ea}.adm-sidebar{background:#1B3A2D;display:flex;flex-direction:column;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.adm-brand{margin-bottom:2rem}.adm-brand span{font-family:Playfair Display,Georgia,serif;font-size:1.2rem;color:#fff;display:block}.adm-brand em{font-style:italic;color:#C49A50}.adm-brand small{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4)}.adm-nav{display:flex;flex-direction:column;gap:.2rem}.adm-nav-label{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);margin:.5rem 0 .3rem;padding-left:.75rem}.adm-nav-btn{background:none;border:none;color:rgba(255,255,255,.6);font-size:.8rem;padding:.55rem .75rem;text-align:left;cursor:pointer;transition:all .2s;font-family:Inter,sans-serif;border-radius:3px}.adm-nav-btn:hover{background:rgba(255,255,255,.08);color:#fff}.adm-nav-btn.active{background:rgba(196,154,80,.2);color:#C49A50}.adm-stats{display:flex;gap:.5rem;margin-top:auto;padding-top:1.5rem}.adm-stat{flex:1 1;background:rgba(255,255,255,.06);padding:.75rem .5rem;text-align:center;border-radius:3px}.adm-stat span{display:block;font-size:1.4rem;color:#fff;font-family:Playfair Display,Georgia,serif}.adm-stat small{font-size:.6rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em}.adm-logout{margin-top:1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);padding:.6rem;font-size:.72rem;cursor:pointer;font-family:Inter,sans-serif;transition:all .2s}.adm-logout:hover{background:rgba(192,57,43,.3);color:#fff;border-color:transparent}.adm-main{padding:2rem 2.5rem;overflow-x:auto}.adm-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.adm-page-title{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;color:#1B3A2D;font-weight:400;margin:0}.adm-refresh{background:none;border:1px solid #d8d2c6;padding:.5rem 1rem;font-size:.72rem;cursor:pointer;color:#5C5C52;transition:all .2s;font-family:Inter,sans-serif}.adm-refresh:hover{border-color:#1B3A2D;color:#1B3A2D}.adm-empty,.adm-loading{padding:4rem;text-align:center;color:#999;font-size:.9rem;background:#fff;border:1px solid #d8d2c6}.adm-table-wrap{overflow-x:auto}.adm-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d8d2c6;font-size:.83rem}.adm-table th{background:#1B3A2D;color:rgba(255,255,255,.8);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.85rem 1rem;text-align:left;font-weight:500}.adm-row{border-bottom:1px solid #ede8df;cursor:pointer;transition:background .2s}.adm-row:hover{background:#faf8f5}.adm-row td{padding:.85rem 1rem;vertical-align:middle}.adm-td-date{color:#999;white-space:nowrap}.adm-type-badge{font-size:.75rem;white-space:nowrap}.adm-row strong{display:block;color:#1B3A2D;margin-bottom:.15rem}.adm-email{font-size:.72rem;color:#999}.adm-detail{color:#5C5C52;font-size:.78rem;max-width:220px}.adm-status{display:inline-block;padding:.25rem .7rem;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;border-radius:2px}.adm-actions{display:flex;gap:.35rem}.adm-act-btn{border:none;width:28px;height:28px;cursor:pointer;font-size:.75rem;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.adm-act-btn:disabled{opacity:.4;cursor:not-allowed}.adm-confirm{background:#1B3A2D;color:#fff}.adm-cancel{background:#c0392b;color:#fff}.adm-pending{background:#A07830;color:#fff}.adm-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:999;display:flex;align-items:center;justify-content:center;padding:1rem}.adm-modal{background:#fff;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:2rem;position:relative}.adm-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;line-height:1}.adm-modal-title{font-family:Playfair Display,Georgia,serif;font-size:1.2rem;color:#1B3A2D;margin:0 0 1.5rem;font-weight:400;padding-right:2rem}.adm-modal-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:1rem}.adm-modal-lbl{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#A07830;display:block;margin-bottom:.25rem}.adm-modal-details p,.adm-modal-grid p{font-size:.85rem;color:#1E1E1A;margin:0}.adm-modal-details{margin-bottom:1rem;padding:1rem;background:#f9f7f4;border:1px solid #ede8df}.adm-modal-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}.adm-act-full{flex:1 1;min-width:100px;border:none;padding:.7rem .5rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:Inter,sans-serif;text-decoration:none;text-align:center;display:inline-block;transition:opacity .2s}.adm-act-full:hover{opacity:.85}.adm-act-full.adm-confirm{background:#1B3A2D;color:#fff}.adm-act-full.adm-cancel{background:#c0392b;color:#fff}.adm-act-full.adm-pending{background:#A07830;color:#fff}.adm-email-link{background:#f5f1ea;color:#1B3A2D!important;border:1px solid #d8d2c6!important}@media (max-width:768px){.book-header{padding:0 1.2rem}.book-nav-links{display:none}.bf-hero-overlay{padding:0 1.5rem}.bf-title{font-size:1.8rem}.bf-body{padding:1.5rem 1rem 4rem}.bf-section{padding:1.5rem}.bf-direction-cards,.bf-grid-2,.bf-info-cards,.bf-room-cards{grid-template-columns:1fr}.bf-submit{width:100%;text-align:center}.adm-shell{grid-template-columns:1fr}.adm-sidebar{position:static;height:auto}.adm-main{padding:1rem}.adm-table{font-size:.75rem}.adm-modal-grid{grid-template-columns:1fr}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,#f0ede8 25%,#e8e2d8 50%,#f0ede8 75%);background-size:600px 100%;animation:shimmer 1.4s linear infinite;border-radius:2px}.skeleton-row{display:flex;gap:12px;padding:16px;border-bottom:1px solid #f0ede8;align-items:center}.skeleton-cell{height:14px;border-radius:2px}.skeleton-avatar{width:32px;height:32px;border-radius:2px;flex-shrink:0}