:root{--ink:#171914;--muted:#666b61;--paper:#f4f3ed;--panel:#fffefa;--line:#dedfd7;--sage:#77836e;--sage-dark:#4d5848;--danger:#9a4035}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}body{margin:0;min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid rgba(119,131,110,.35);outline-offset:2px}.eyebrow{color:var(--sage-dark);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:400;line-height:1.04}.auth-page,.foundation-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at top,#ecefe7,var(--paper) 48%)}.auth-card,.foundation-card{width:min(100%,560px);padding:clamp(28px,6vw,56px);border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:0 24px 80px rgba(40,45,35,.09)}.auth-card p,.foundation-card p,.page-heading p{color:var(--muted);line-height:1.65}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 18px;cursor:pointer;font-weight:700;text-decoration:none}.button:disabled{cursor:wait;opacity:.6}.button-primary{background:var(--sage-dark);color:white}.button-secondary{border:1px solid var(--line);background:white;color:var(--ink)}.button-danger{background:var(--danger);color:white}.stack-form{display:grid;gap:18px;margin-top:26px}.stack-form label{display:grid;gap:8px;color:var(--muted);font-size:.86rem;font-weight:700}.stack-form input{min-height:48px;border:1px solid var(--line);border-radius:10px;background:white;padding:10px 12px;color:var(--ink)}.stack-form input:focus{border-color:var(--sage);outline:3px solid rgba(119,131,110,.16)}.form-error{border-left:3px solid var(--danger);padding:10px 12px;color:var(--danger)!important;background:#fff4f1}.mfa-qr{display:block;max-width:100%;height:auto;border:12px solid white;margin-inline:auto}.secret-note{overflow-wrap:anywhere}.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:28px;padding:32px 24px;border-right:1px solid var(--line);background:#20251e;color:#f4f3ed}.admin-sidebar strong{display:block;margin-top:6px;font-family:Georgia,serif;font-size:1.4rem;font-weight:400}.admin-sidebar .eyebrow{color:#b8c2af}.admin-nav{display:grid;gap:4px}.admin-nav a{padding:9px 11px;border-radius:8px;color:#d8ddd3;font-size:.9rem;text-decoration:none}.admin-nav a:focus-visible,.admin-nav a:hover{background:rgba(255,255,255,.08);color:white}.text-button{margin-top:auto;border:0;background:transparent;color:#d8ddd3;cursor:pointer;padding:8px 0}.admin-main{min-width:0;padding:clamp(22px,5vw,64px)}.admin-user{margin-bottom:38px;color:var(--muted);font-size:.82rem;text-align:right}.page-heading{max-width:700px;margin-bottom:32px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px}.empty-state,.metric-card,.record-list article{border:1px solid var(--line);border-radius:16px;background:var(--panel)}.metric-card{display:grid;gap:8px;min-height:160px;padding:22px}.metric-card small,.metric-card span{color:var(--muted)}.metric-card strong{font-family:Georgia,serif;font-size:2.7rem;font-weight:400}.empty-state{padding:36px;color:var(--muted)}.empty-state h2{color:var(--ink);font-family:Georgia,serif;font-weight:400}.record-list{display:grid;gap:10px}.record-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.record-list article div{display:grid;gap:5px}.record-list article span{color:var(--muted);font-size:.82rem}.status{border-radius:999px;padding:5px 9px;background:#eceee8;text-transform:capitalize}.status-confirmed{background:#e1eee0;color:#315438!important}.status-blocked,.status-cancelled{background:#f4e4df;color:#7a3d35!important}.mobile-admin-nav{display:none}.section-block{margin-top:40px}.section-heading{margin-bottom:18px}.detail-card h2,.editor-card h2,.section-heading h2{margin-bottom:6px;font-family:Georgia,serif;font-weight:400}.detail-card p,.editor-card>p,.section-heading p{color:var(--muted);line-height:1.55}.booking-detail,.calendar-layout,.split-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:28px;align-items:start}.editor-stack{display:grid;gap:16px}.full-width{width:100%}.detail-card,.editor-card,.upload-panel{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:22px}.editor-card summary{min-height:44px;cursor:pointer;font-family:Georgia,serif;font-size:1.2rem}.admin-form,.compact-form{display:grid;gap:16px;margin-top:18px}.compact-form{gap:10px}.field{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700}.availability-row input,.field input,.field select,.field textarea,.search-bar input,.search-bar select{min-width:0;min-height:44px;width:100%;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:9px 11px}.field textarea{resize:vertical}.field small{font-weight:400}.compact-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check-row,.inline-actions,.inline-form,.photo-actions,.search-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.checkbox{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--muted);font-size:.86rem;font-weight:700}.checkbox input{width:20px;height:20px}.text-action{min-height:40px;border:0;background:transparent;cursor:pointer;text-decoration:underline}.danger{color:var(--danger)}.record-header{display:flex;justify-content:space-between;gap:18px}.record-header h2{margin-bottom:3px}blockquote{margin:20px 0;border-left:3px solid var(--sage);padding-left:18px;color:var(--ink);font-family:Georgia,serif;font-size:1.15rem;line-height:1.6}.filter-tabs{display:flex;gap:8px;margin-bottom:22px}.filter-tabs a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;text-decoration:none;text-transform:capitalize}.filter-tabs a.active{background:var(--sage-dark);color:white}.nested-editor{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.capacity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.capacity-grid span{display:grid;gap:4px;border-radius:10px;background:#f0f1eb;padding:12px;color:var(--muted)}.capacity-grid strong{color:var(--ink);font-family:Georgia,serif;font-size:1.6rem}.detail-grid,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px}.configuration-note{border-left:3px solid #b58634;padding:12px 14px;background:#fff8e8}.upload-panel{display:grid;gap:16px;margin-bottom:24px}.upload-panel h2{margin-bottom:4px}.upload-panel p{margin:0;color:var(--muted)}.drop-zone{display:grid;min-height:130px;place-items:center;border:2px dashed #aeb5a7;border-radius:14px;background:#f7f8f3;cursor:pointer;text-align:center}.drop-zone input{max-width:100%;padding:14px}.upload-list{display:grid;gap:10px}.upload-list article{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;align-items:center}.upload-list article div{display:grid;gap:3px}.upload-list span{color:var(--muted);font-size:.8rem;text-transform:capitalize}.upload-list progress{width:100%}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.photo-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.photo-frame{position:relative;aspect-ratio:4/3;background:#e5e7df}.photo-frame img{object-fit:cover}.photo-placeholder{display:grid;aspect-ratio:4/3;place-items:center;background:#e7e8e2;color:var(--muted);text-transform:capitalize}.photo-actions,.photo-card .compact-form{padding:14px}.photo-actions{border-top:1px solid var(--line)}.photo-actions button{min-height:40px;border:1px solid var(--line);border-radius:7px;background:white;cursor:pointer;padding:7px 10px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(85px,1fr));overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--line);gap:1px}.calendar-day{min-height:120px;background:var(--panel);padding:10px}.calendar-event{margin-top:8px;border-left:3px solid var(--sage);border-radius:5px;background:#eceee8;padding:6px;font-size:.75rem}.calendar-event small,.calendar-event span{display:block}.calendar-event small{color:var(--muted);text-transform:capitalize}.availability-row{display:grid;grid-template-columns:90px 115px 1fr 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.availability-row button{min-height:40px}.search-bar{margin-bottom:24px}.search-bar input{flex:1 1 280px}.data-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.data-table{width:100%;border-collapse:collapse;min-width:880px}.data-table td,.data-table th{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.data-table small{display:block;margin-top:4px;color:var(--muted)}.action-panel{display:grid;gap:14px}.action-panel form{margin:0}@media (max-width:800px){.admin-shell{display:block}.admin-sidebar{display:none}.mobile-admin-nav{display:block;padding:14px 18px;border-bottom:1px solid var(--line);background:#20251e;color:white}.mobile-admin-nav summary{cursor:pointer;font-weight:700}.mobile-admin-nav .admin-nav{margin-top:12px}.admin-main{padding:24px 18px 48px}.admin-user{margin-bottom:24px;text-align:left}.booking-detail,.calendar-layout,.compact-grid,.detail-grid,.form-grid,.settings-grid,.split-layout{grid-template-columns:1fr}.capacity-grid{grid-template-columns:repeat(2,1fr)}.upload-list article{grid-template-columns:1fr}.availability-row{grid-template-columns:1fr 1fr}.availability-row strong{grid-column:1/-1}.record-list article{align-items:flex-start;flex-direction:column}.setting-row{grid-template-columns:1fr}}