@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#163d32;--green-light:#eaf1eb;--ink:#233b31;--muted:#758079;--bg:#f4f6f3;--line:#e0e6df;--gold:#cbaa70;--danger:#a63f35}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 'Manrope',sans-serif}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px}h2{font-size:18px;letter-spacing:-.4px;line-height:1.4}h3{font-size:16px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}img{display:block;object-fit:cover;max-width:100%}:focus-visible{outline:3px solid #b39153;outline-offset:3px}.hidden,[hidden]{display:none!important}.muted{color:var(--muted);margin-top:8px}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#778577;margin-bottom:12px;display:block}.btn{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:7px;padding:11px 19px;font-size:14px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:44px;white-space:normal;transition:background .15s}.btn:hover{background:#295c46}.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:#edf2ec}.btn.small{padding:7px 12px;min-height:36px;font-size:13px}.btn.danger-outline{background:#fff;border-color:#ebc8c0;color:var(--danger);margin-top:20px}.full{width:100%}.brand{display:flex;gap:12px;align-items:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;line-height:1}.brand small{display:block;font:10px/2.3 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.18em;opacity:.6}.brand-mark{border:1px solid currentColor;border-radius:50% 50% 5px 5px;width:34px;height:42px;display:grid;place-items:center;font-family:Georgia,serif;font-size:24px;flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--green);color:#edf3eb;display:flex;flex-direction:column;padding:34px 20px;z-index:20}.sidebar>.brand{margin:0 8px 46px}.sidebar-label{font-size:10px;letter-spacing:.17em;color:#9db4a7;margin:0 14px 14px}.nav-item{display:flex;gap:13px;align-items:center;width:100%;background:transparent;color:#c5d3ca;border:0;padding:13px 15px;border-radius:7px;text-align:left;margin:4px 0;font-weight:600}.nav-item>span{font-size:21px;line-height:1;width:24px;text-align:center}.nav-item.active{background:#315848;color:#fff}.nav-item:hover{background:#274e3f}.sidebar-bottom{margin-top:auto;border-top:1px solid #3d5e4f;padding-top:22px;display:flex;gap:10px;align-items:center;font-size:12px}.sidebar-bottom small{display:block;font-size:10px;color:#acbfb1}.host-avatar{width:34px;height:34px;background:#cbaa70;color:#1b372a;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.sidebar-bottom button{border:0;background:transparent;color:#fff;font-size:23px;margin-left:auto}.workspace{margin-left:245px;min-height:100vh}.topbar{height:83px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 40px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb span{margin-left:12px}.breadcrumb span:last-child{color:var(--ink)}.topbar-actions{display:flex;gap:10px}.main{padding:34px 40px 60px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.page-heading .eyebrow{margin-bottom:8px}.page-heading .muted{font-size:14px}.save-state{font-size:12px;padding:5px 11px;border:1px solid var(--line);border-radius:20px;background:#fff;white-space:nowrap}.save-state.dirty{background:#fff6df;color:#805d22;border-color:#e6d5ad}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.metric{padding:23px;background:#fff;border:1px solid var(--line);border-radius:10px}.metric-label{font-size:13px;color:var(--muted)}.metric-value{font-size:34px;line-height:1.3;font-weight:700;margin:12px 0 6px;letter-spacing:-1px}.metric-note{font-size:12px;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:25px;margin-bottom:24px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.card-head p{font-size:13px;color:var(--muted);margin-top:5px}.overview-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px}.overview-row{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:17px 0}.overview-row img,.room-placeholder{width:56px;height:52px;border-radius:7px;background:var(--green-light);display:grid;place-items:center;color:#809381;flex-shrink:0}.overview-row small{display:block;color:var(--muted);font-size:12px}.overview-row .pill{margin-left:auto}.pill{display:inline-flex;border-radius:30px;padding:4px 10px;background:var(--green-light);font-size:12px;color:#42634b;white-space:nowrap}.pill.warning{background:#fff1d8;color:#8a622a}.pill.busy{background:#f6e8e2;color:#96503a}.pill.neutral{background:#eef0ef;color:#68796e}.next-steps{background:#eef2ec}.next-steps h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px}.next-steps .btn{margin-top:22px}.check-item{display:flex;gap:10px;padding-top:18px;font-size:13px}.check-item span{color:#729475}.sync-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:15px 0}.sync-row small{display:block;color:var(--muted)}.units-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px}.unit-sidebar{align-self:start;padding:20px}.unit-sidebar .card-head{gap:8px}.unit-list{margin-top:16px;display:grid;gap:7px}.unit-item{width:100%;border:1px solid transparent;background:#f6f8f5;border-radius:7px;text-align:left;padding:13px;color:var(--ink)}.unit-item.selected{border-color:#7e9f84;background:#edf4eb}.unit-item strong,.unit-item small{display:block}.unit-item small{font-size:12px;color:var(--muted);margin-top:4px}.editor-title{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:20px}.editor-title h2{font-size:22px}.editor-actions{display:flex;gap:8px}.icon-btn{width:38px;height:38px;min-width:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:18px}label{display:block;margin:19px 0 7px;font-size:13px;font-weight:700}input,select,textarea{border:1px solid #d8e0d7;border-radius:6px;background:#fff;color:var(--ink);width:100%;padding:11px 12px;min-height:44px}textarea{resize:vertical;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check-label{display:flex;align-items:center;gap:10px;font-weight:600}.check-label input{width:18px;height:18px;min-height:0;accent-color:var(--green)}.hint{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.6}.subheading{margin:28px 0 10px;padding-top:24px;border-top:1px solid var(--line)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.unit-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-box{background:#f8faf7;border:1px solid var(--line);border-radius:8px;padding:13px;min-width:0}.photo-preview{height:150px;width:100%;border-radius:5px;background:#e9eee6;object-fit:cover}.photo-empty{height:150px;display:grid;place-items:center;background:#e9eee6;border-radius:5px;color:#6f826e;font-size:13px}.photo-box input{font-size:12px;padding:8px}.photo-box label{font-size:12px;margin-top:10px}.photo-actions{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:10px}.photo-actions button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:5px 9px;color:var(--ink);min-height:34px}.photo-actions button:last-child{color:var(--danger)}.upload-label{display:block;text-align:center;border:1px dashed #aebdab;background:#fff;padding:8px;border-radius:5px;cursor:pointer;font-weight:600;min-height:36px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 20px}.calendar-head h3{text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-grid .dow{text-align:center;font-size:12px;color:var(--muted);padding:8px 0}.calendar-day{border:1px solid #e0e7dc;border-radius:7px;background:#f6f9f3;min-height:55px;color:#466047;font-size:14px;position:relative}.calendar-day.manual{background:#af694e;border-color:#af694e;color:#fff}.calendar-day.imported{background:#e3eaf7;border-color:#c0cde5;color:#435e92;cursor:default}.calendar-day.today:after{content:'';width:4px;height:4px;background:currentColor;position:absolute;bottom:7px;left:calc(50% - 2px);border-radius:50%}.calendar-day.past{opacity:.5}.calendar-legend{display:flex;gap:15px;margin-top:22px;font-size:12px;flex-wrap:wrap}.calendar-legend span:before{content:'';display:inline-block;width:9px;height:9px;background:#dce7d5;margin-right:6px;border-radius:2px}.calendar-legend .manual-key:before{background:#af694e}.calendar-legend .airbnb-key:before{background:#a7b9dc}.button-stack{display:grid;gap:10px;margin-top:22px}.block-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.file-label{margin:0;cursor:pointer}.faq-row{display:grid;grid-template-columns:1fr auto;gap:15px;border-top:1px solid var(--line);padding:15px 0}.faq-row>.icon-btn{margin-top:20px}.admin-footer{display:flex;justify-content:space-between;padding:22px 40px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:#183e30;color:#fff;box-shadow:0 8px 40px #12251b30;padding:14px 22px;border-radius:8px;z-index:100;font-size:14px}.toast.error{background:#883e33}.confirm-dialog{width:min(440px,calc(100% - 32px));border:1px solid var(--line);border-radius:12px;padding:30px;color:var(--ink)}.confirm-dialog::backdrop{background:#152e2266;backdrop-filter:blur(2px)}.confirm-dialog p{color:var(--muted);margin-top:15px}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:26px}.empty{padding:30px 10px;color:var(--muted);text-align:center;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:var(--green);color:white;padding:55px 65px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story .eyebrow{color:#c8b483}.login-story h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(50px,5vw,80px);font-weight:500;line-height:1.1;margin:20px 0}.login-story p:not(.eyebrow){color:#c5d3c6;font-size:16px;line-height:1.8}.login-foot{font-size:12px;letter-spacing:.08em;color:#a1b3a5}.login-side{display:grid;place-items:center;padding:40px}.login-form{width:min(390px,100%)}.login-form h2{font-size:29px;letter-spacing:-1px}.login-form>.muted{margin:12px 0 35px}.login-form .btn{margin-top:24px;justify-content:space-between}.password-wrap{position:relative}.password-wrap input{padding-right:80px}.password-wrap button{position:absolute;right:10px;top:10px;border:0;background:transparent;color:var(--muted);font-size:12px;min-height:26px}.back-link{display:block;margin-top:24px;color:var(--muted);font-size:13px}.form-message{font-size:13px;color:var(--danger);margin-top:14px}@media(min-width:1600px){.main{padding-top:45px}}@media(max-width:1200px){.sidebar{width:215px;padding:30px 14px}.workspace{margin-left:215px}.main{padding:28px 24px}.topbar{padding:0 24px}.metrics{gap:12px}.metric{padding:18px}.overview-grid{grid-template-columns:1.4fr 1fr}.units-layout{grid-template-columns:220px minmax(0,1fr)}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-layout{grid-template-columns:1fr}.calendar-layout>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:24px}.login-story{padding:45px}}@media(max-width:900px){.sidebar{position:relative;width:100%;padding:18px 20px}.sidebar>.brand{margin:0 0 18px}.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;gap:6px}.nav-item{min-width:max-content;width:auto;margin:0;font-size:13px;padding:9px 13px}.nav-item>span{display:none}.workspace{margin:0}.topbar{height:72px}.main{padding:28px 22px}.page-heading h1{font-size:28px}.metrics{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1.4fr 1fr}.login-story{padding:30px}.login-side{padding:30px}}@media(max-width:620px){.login-screen{grid-template-columns:1fr}.login-story{min-height:auto;padding:25px}.login-story>div,.login-foot{display:none}.login-side{padding:45px 24px}.sidebar{padding:16px}.sidebar>.brand{font-size:24px}.topbar{padding:10px 16px;gap:8px}.breadcrumb{display:none}.topbar-actions{width:100%;justify-content:space-between}.topbar-actions .btn{font-size:13px;padding:10px 14px}.main{padding:25px 16px}.page-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:24px}.page-heading h1{font-size:27px}.page-heading .eyebrow{font-size:10px}.metrics{gap:10px}.metric{padding:16px}.metric-value{font-size:30px}.overview-grid,.units-layout,.form-grid,.settings-grid,.calendar-layout>div:last-child{grid-template-columns:1fr}.card{padding:20px;margin-bottom:18px}.card-head{gap:10px;align-items:start;flex-wrap:wrap}.overview-row{gap:10px}.overview-row .pill{font-size:10px;white-space:normal;text-align:center}.unit-sidebar{padding:16px}.unit-list{display:flex;overflow:auto}.unit-item{min-width:170px;max-width:220px;flex-shrink:0}.photo-grid,.unit-photos{grid-template-columns:1fr 1fr;gap:10px}.photo-box{padding:9px}.photo-preview,.photo-empty{height:115px}.calendar-grid{gap:4px}.calendar-day{min-height:43px}.calendar-legend{gap:10px;font-size:11px}.editor-title{align-items:start}.editor-actions{flex-direction:column}.sync-row{align-items:start}.sync-row .pill{white-space:normal;text-align:center}.admin-footer{padding:20px 16px;gap:15px}.admin-footer span:last-child{display:none}.btn{min-height:44px}.hint{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
