:root{--emerald-deep:#063d30;--emerald:#075a46;--gold:#d9b86b;--cream:#fff5df;--text:#10231d;--muted:#4a5f57;--on-brand:#fff5df;--card:#ffffff;--border:#e4d6b3;--danger:#9b1c1c;--badge-test-bg:#fde9b8;--badge-test-text:#5c3f00;--radius:10px;--radius-lg:16px;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--cream);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}a{color:var(--emerald)}a:hover{color:var(--emerald-deep)}:focus-visible{outline:3px solid var(--emerald);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--emerald-deep);color:var(--on-brand);padding:8px 12px;z-index:10}.skip-link:focus{left:8px;top:8px}.test-banner{background:var(--badge-test-bg);color:var(--badge-test-text);text-align:center;font-size:14px;padding:4px 16px}.header{background:var(--emerald-deep);color:var(--on-brand)}.header-inner{max-width:1080px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.brand{color:var(--on-brand);text-decoration:none;font-weight:700;font-size:20px;letter-spacing:.2px}.brand span{color:var(--gold)}.brand:hover{color:var(--on-brand)}.header-tools{margin-left:auto;display:flex;gap:8px;align-items:center}.nav{background:var(--emerald)}.nav ul{list-style:none;margin:0 auto;padding:0 8px;max-width:1080px;display:flex;gap:4px;overflow-x:auto}.nav a{display:block;color:var(--on-brand);text-decoration:none;padding:10px 12px;white-space:nowrap;border-bottom:3px solid transparent}.nav a[aria-current=page]{border-bottom-color:var(--gold);font-weight:600}main{max-width:1080px;margin:0 auto;padding:24px 16px 64px}h1{font-size:28px;margin:0 0 16px}h1,h2{color:var(--emerald-deep)}h2{font-size:20px;margin:24px 0 12px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.stack{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}.small{font-size:14px}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#eef3f1;color:var(--emerald-deep)}.badge-test{background:var(--badge-test-bg);color:var(--badge-test-text)}.badge-warn{background:#fdecec;color:var(--danger)}label{display:grid;grid-gap:4px;gap:4px;font-weight:600;font-size:14px}input,select,textarea{font:inherit;padding:10px 12px;border:1px solid #b9ab86;border-radius:var(--radius);background:#fff;color:var(--text);min-height:44px}input[type=checkbox]{min-height:auto;width:20px;height:20px}.checkbox{display:flex;gap:8px;align-items:flex-start;font-weight:400}.btn{font:inherit;font-weight:600;border:0;border-radius:var(--radius);padding:10px 16px;min-height:44px;cursor:pointer;background:var(--emerald-deep);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn,.btn:hover{color:var(--on-brand)}.btn:hover{background:var(--emerald)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--emerald-deep);border:1px solid var(--emerald-deep)}.btn-secondary:hover{background:#eef3f1;color:var(--emerald-deep)}.btn-danger{background:var(--danger)}.btn-small{min-height:36px;padding:6px 12px;font-size:14px}.header .btn-secondary{color:var(--on-brand);border-color:var(--gold)}.header .btn-secondary:hover{background:var(--emerald)}.alert{border-radius:var(--radius);padding:12px 16px;border:1px solid var(--border);background:#fff}.alert-error{border-color:var(--danger);color:var(--danger);background:#fff7f7}.alert-ok{border-color:var(--emerald);color:var(--emerald-deep);background:#f1faf6}table{width:100%;border-collapse:collapse;background:#fff}td,th{text-align:left;padding:8px;border-bottom:1px solid var(--border);vertical-align:top;font-size:14px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.search-form{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}@media (max-width:600px){h1{font-size:24px}.header-inner{padding:10px 16px}}.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}.calendar td,.calendar th{padding:4px;text-align:center;min-width:26px;font-size:12px}.calendar th[scope=row]{text-align:left;position:-webkit-sticky;position:sticky;left:0;background:#fff}.cal-free{background:#f1faf6}.cal-blocked{background:#fdecec;color:var(--danger);font-weight:700}.table-wrap{max-width:100%;position:relative}.msg{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;max-width:90%}.msg-mine{margin-left:auto;background:#f1faf6;border-color:var(--emerald)}.search-form>*{min-width:0}.rating-score{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:38px;border-radius:8px;background:#D9B86B;color:#063D30;padding:4px 8px}fieldset{min-width:0}input[type=file]{min-width:0;max-width:100%}.amenities-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.badge-availability{background:#FAEDE9;color:#984634;border:1px solid #e6c5bd;font-weight:500}.auth-tabs{display:flex;background:var(--emerald-deep);border-radius:12px;padding:3px}.auth-tabs button{flex:1 1;min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--on-brand);font:inherit;cursor:pointer}.auth-tabs button.on{background:var(--gold);color:var(--emerald-deep);font-weight:700}.auth-provider{opacity:.6;display:flex;justify-content:center;gap:8px;align-items:center}.badge-soon{font-size:11px;border:1px solid var(--gold);border-radius:8px;padding:1px 6px}.auth-or{text-align:center;margin:0}.locality-box{position:relative}.locality-list{position:absolute;left:0;right:0;top:100%;z-index:20;margin:2px 0 0;padding:0;list-style:none;background:#fff9ec;border:1px solid var(--border);border-radius:var(--radius);max-height:320px;overflow:auto}.locality-list li{padding:9px 12px;cursor:pointer;border-bottom:1px solid #eee2c6}.locality-list li:hover{background:#f3dc9b}.locality-row{display:grid;grid-template-columns:minmax(0,1fr) 9rem;grid-gap:12px;gap:12px}.legal-doc h2{margin-top:1.2em}.legal-doc h3{margin-top:1em}.legal-doc p{margin:.35em 0;line-height:1.55}.site-footer{max-width:1100px;margin:2rem auto 1rem;padding:0 16px;color:var(--muted,#555)}