@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#27372b;--green:#2f4b36;--cream:#f8f8f2;--line:#e2e7da;--muted:#77816e;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font:14px/1.6 var(--sans)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.6px}h1{font-size:35px;line-height:1.25}h2{font-size:26px;line-height:1.3}h3{font-size:14px}button:focus-visible,a:focus-visible{outline:3px solid #b29768;outline-offset:3px}input:focus,select:focus{outline:2px solid #91a27e;outline-offset:1px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;color:var(--muted);margin-bottom:12px}.button{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--green);color:white;padding:12px 18px;border:0;border-radius:10px;font-size:12px;font-weight:500;min-height:44px}.button:hover{background:#243d2a}.outline{border:1px solid #d9e0d0;border-radius:9px;background:#fff;padding:8px 13px;font-size:11px}.plain{background:none;border:0;padding:0;font-size:11px;text-align:left}.plain:hover{text-decoration:underline}.badge{display:inline-block;background:#eaf0e0;color:#536840;font-size:10px;padding:5px 10px;border-radius:100px;white-space:nowrap}.badge.muted{background:#eeeede;color:#80866f}.badge.test{background:#fff0d4;color:#8a631b}.notice{font-size:12px;padding:13px 17px;background:#f1eddc;border:1px solid #ded5b9;border-radius:10px;margin-bottom:22px}.notice.error{background:#faeae2;border-color:#edc6af;color:#7c3e28}.login-view{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px 20px;background:radial-gradient(ellipse at top left,#e3eada,transparent 55%),var(--cream)}.login-brand{font:36px var(--serif);text-align:center;margin-bottom:25px}.login-brand span{display:block;font:9px var(--sans);letter-spacing:3px;margin-top:5px}.login-card{width:100%;max-width:440px;background:#fffefa;padding:40px;border:1px solid var(--line);border-radius:22px;box-shadow:0 15px 60px #2f41210a}.login-card h1{font-size:39px;margin-bottom:18px}.login-card>p:not(.eyebrow){font-size:12px;color:var(--muted);margin:15px 0 22px}.login-card .button{width:100%;margin-top:21px}.login-card a{font-size:11px;color:#7a866f}.login-foot{font-size:10px;color:#8b957f;margin-top:25px}label{display:block;font-size:11px;font-weight:500;margin:16px 0 6px}input,select{display:block;width:100%;border:1px solid #dce3d3;border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink);font-size:12px;min-height:42px;margin-top:6px}.login-card input{font-size:16px}.optional{font-size:9px;color:var(--muted);float:right}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-row>*{min-width:0}.small{font-size:10px;color:var(--muted);line-height:1.8;margin:15px 0}.login-card #login-message{color:#8e4932}#owner-app{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;height:100vh;background:#fffefa;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column}.owner-brand{display:flex;align-items:center;gap:11px;padding:0 8px;font:30px var(--serif)}.owner-brand>span{font:10px var(--sans);font-weight:600;letter-spacing:1px}.owner-brand small{display:block;font-size:9px;letter-spacing:.2px;color:#8c957f;font-weight:400;margin-top:5px}aside nav{display:grid;gap:7px;margin-top:50px}aside nav button{border:0;background:none;padding:12px 14px;border-radius:10px;font-size:12px;text-align:left;display:flex;gap:12px;align-items:center;color:#7a846f}aside nav button>span{font-size:19px;line-height:1}aside nav button.selected{background:#eaf0e0;color:#3f5737;font-weight:600}.sidebar-bottom{margin-top:auto;padding:0 12px;font-size:11px}.sidebar-bottom p{font:italic 17px var(--serif);margin:20px 0;color:#9a9f86}.sidebar-bottom .plain{color:#9a6149}main{min-width:0;max-width:1450px;padding:40px 42px}main>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.header-actions{display:flex;align-items:center;gap:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stats article{background:#fffefa;padding:22px;border:1px solid var(--line);border-radius:15px}.stats p{font-size:11px;color:#79836e}.stats strong{font:35px var(--serif);display:block;margin:12px 0 10px}.stats small{font-size:9px;color:#99a28d;display:block;line-height:1.5}.panel{background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:27px}.overview-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:25px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-heading .eyebrow{margin-bottom:7px}.welcome-panel{background:#e8eddc;border-radius:16px;padding:31px}.welcome-panel h2{font-size:34px;line-height:1.35;margin:16px 0}.welcome-panel em{color:#8c9b72}.welcome-panel>p:not(.eyebrow){font-size:11px;color:#7b886b;margin:22px 0}.welcome-panel .button{width:100%;margin-top:25px}.empty{padding:45px 10px;font-size:12px;color:#929c86;text-align:center}.arrival-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #e9eddf;padding:19px 0;font-size:12px}.arrival-row:last-child{border:0}.arrival-row small{display:block;font-size:10px;color:#929b86;margin-top:4px}.status-panel{margin-top:25px}.status-panel p{font-size:11px;color:#87927b;margin-top:12px;max-width:850px}.section-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:26px}.section-toolbar p{font-size:12px;color:#87927b;margin-top:9px}.filters{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:18px;margin-bottom:24px}.filters label{margin:0}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;min-width:850px}th{font-size:9px;letter-spacing:.4px;font-weight:500;color:#89967d;background:#f2f5e9;padding:16px 18px}td{padding:18px;border-top:1px solid #e7ebdf;vertical-align:top}td small{display:block;font-size:9px;color:#8d9a7f;margin-top:5px;overflow-wrap:anywhere}td .plain{font-size:10px;color:#9b6249}.calendar-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:25px}.calendar-layout.below{margin-top:25px}.month-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.month-controls h2{font-size:23px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{font-size:9px;color:#96a087;text-align:center;margin-bottom:11px}.calendar-grid button{background:#f6f7f0;min-height:56px;border:1px solid #e8eddf;border-radius:8px;font-size:12px;text-align:center;padding:8px;line-height:1.2}.calendar-grid button:disabled{opacity:.45}.calendar-grid button.reserved{background:#dfe8d2;border-color:#a7b993;color:#3d552d}.calendar-grid button.owner-block{background:#ede0cb;border-color:#d4ba8e;color:#785d36}.calendar-grid button.checkout-hold{background:#e4e8f0;border-color:#becadc;color:#56647e}.calendar-grid button.today{outline:2px solid #8c9f77;outline-offset:-3px}.legend{display:flex;flex-wrap:wrap;gap:15px;font-size:9px;color:#8b977d;margin-top:20px}.legend span{display:flex;align-items:center;gap:5px}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px}.legend .reserved{background:#bacaa5}.legend .owner-block{background:#d9c19c}.legend .checkout-hold{background:#bdc9dc}.panel form>.button{width:100%;margin-top:22px}.block-row{font-size:12px;border-bottom:1px solid #e9eddf;padding:17px 0}.block-row:first-child{padding-top:25px}.block-row p{font-size:10px;color:#919c82;margin:6px 0 10px}.block-row button{font-size:10px;color:#996248}.property-picker{margin:0;min-width:225px}.property-panels{display:grid;grid-template-columns:1fr 1fr;gap:25px}.property-panels>.panel{padding:0;overflow:hidden}.property-cover{display:block;width:100%;height:250px;object-fit:cover}.property-panel-body{padding:27px}.property-panel-body h2{margin:16px 0 10px}.property-panel-body>p{font-size:11px;color:#87947b;margin-bottom:20px}.property-panel-body .button{width:100%;margin-top:20px}.draft-art{height:250px;background:#ecefdf;display:grid;place-items:center;font-size:90px;color:#b9c4a7}.draft-property .property-panel-body>p:not(.small){line-height:1.9}main>footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#a0a98f;border-top:1px solid var(--line);margin-top:42px;padding-top:21px}[hidden]{display:none!important}@media(max-width:1100px){main{padding:30px 25px}.stats{gap:12px}.stats article{padding:17px}.overview-grid,.calendar-layout{grid-template-columns:1.2fr 1fr}.header-actions{flex-direction:column;align-items:flex-end}h1{font-size:31px}.panel{padding:22px}}@media(max-width:800px){#owner-app{grid-template-columns:1fr}aside{position:static;width:100%;height:auto;padding:18px 20px;border:0;border-bottom:1px solid var(--line)}.owner-brand{font-size:26px}.owner-brand small{display:none}aside nav{display:flex;overflow:auto;gap:7px;margin-top:20px}aside nav button{white-space:nowrap;font-size:10px;padding:9px 11px}aside nav button>span{font-size:14px}.sidebar-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:0 8px;font-size:10px}.sidebar-bottom p{display:none}.sidebar-bottom .plain{font-size:10px}main{padding:26px 20px}main>header{gap:10px;align-items:flex-start;margin-bottom:24px}h1{font-size:28px}.header-actions{gap:10px}.header-actions .outline{font-size:10px}.stats{grid-template-columns:1fr 1fr;gap:13px}.stats article{padding:19px}.stats strong{font-size:32px}.stats small{font-size:8px}.overview-grid,.calendar-layout,.property-panels{grid-template-columns:1fr}.welcome-panel{padding:26px}.welcome-panel h2{font-size:31px}.section-toolbar{align-items:flex-start;flex-direction:column;gap:18px}.filters{grid-template-columns:1fr 1fr;gap:15px}.filters label:first-child{grid-column:1/-1}.panel{padding:22px}.table-wrap{padding:0}.property-picker{width:100%}.calendar-grid button{min-height:48px;font-size:11px}.calendar-layout.below{margin-top:25px}.form-row{gap:11px}input,select{font-size:16px}.property-cover,.draft-art{height:230px}main>footer{flex-direction:column;gap:8px}.login-card{padding:30px}.login-card h1{font-size:35px}.panel-heading h2{font-size:24px}.badge{font-size:9px}.eyebrow{font-size:8px}}
