:root{--ink:#30203f;--muted:#756b7d;--green:#64358a;--mint:#f0e8f7;--paper:#faf8fc;--line:#e7deed;--gold:#9b6b34}*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper);color:var(--ink)}a{color:var(--green)}header{padding:23px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:750;letter-spacing:.04em;text-decoration:none;font-size:19px}.brand small{display:block;font-size:10px;letter-spacing:.2em;color:var(--muted)}header nav{display:flex;gap:20px;font-size:14px}main{max-width:1200px;margin:auto;padding:45px 24px 65px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:750;color:var(--gold)}h1,h2,h3{line-height:1.15}h1{font-family:Georgia,serif;font-size:clamp(40px,5vw,66px);font-weight:400;margin:15px 0 23px;letter-spacing:-.025em}h2{font-family:Georgia,serif;font-size:30px;font-weight:400}h3{font-size:18px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;margin:10px 0 45px}.hero p{max-width:540px;color:var(--muted)}.address{font-size:14px}.art{min-height:270px;background:var(--green);border-radius:140px 140px 12px 12px;display:grid;place-items:center;position:relative;overflow:hidden}.art:before,.art:after{content:'';position:absolute;border:1px solid #ffffff24;border-radius:140px 140px 0 0;width:60%;height:85%;bottom:-1px}.art:after{width:35%;height:65%}.art span{color:#fff;font:italic 29px Georgia;z-index:1;text-align:center;max-width:180px}.grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:28px;align-items:start}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:30px;margin-bottom:22px}.card h2:first-child{margin-top:0}.steps{display:flex;gap:18px;font-size:13px;margin:25px 0;color:var(--muted)}.steps b{display:inline-grid;place-items:center;background:var(--mint);border-radius:50%;width:25px;height:25px;margin-right:6px}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;margin:0 0 18px;gap:6px}label{font-size:13px;font-weight:650}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:1px solid #d7c7e3;border-radius:6px;padding:11px 12px;background:#fff;color:var(--ink)}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{outline:2px solid #b58bd2;outline-offset:1px}button,.button{display:inline-block;border:0;border-radius:6px;padding:12px 19px;background:var(--green);color:white;cursor:pointer;text-decoration:none;font-weight:650;font-size:14px}button.secondary,.button.secondary{background:var(--mint);color:var(--ink)}button:disabled{opacity:.5;cursor:wait}.fine,small{font-size:12px;color:var(--muted)}.notice{padding:15px 18px;border-radius:7px;background:var(--mint);font-size:14px;margin-bottom:20px}.error{background:#fff0eb;color:#a33b24}.success{background:#e4f4e8;color:#185d36}.hidden{display:none!important}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.5}.check input{width:auto;margin-top:5px}.trap{position:absolute;left:-9999px}.space{padding:14px 0;border-bottom:1px solid var(--line)}.space:first-child{padding-top:0}.space p{margin:5px 0;font-size:13px;color:var(--muted)}.space strong{display:block}.busy{font-size:13px;margin:8px 0;padding:8px 12px;border-left:3px solid var(--gold);background:#faf6ee}footer{padding:22px;text-align:center;font-size:12px;border-top:1px solid var(--line);color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0}.toolbar input,.toolbar select{width:auto;flex:1;min-width:150px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:15px;flex-wrap:wrap}.tabs button{background:transparent;color:var(--muted)}.tabs button.active{background:var(--green);color:white}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:20px}.stat b{font:34px Georgia;display:block}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600}.pill{font-size:11px;display:inline-block;border-radius:20px;padding:3px 9px;background:var(--mint);white-space:nowrap}.pill.pending{background:#fff0d4}.pill.declined,.pill.cancelled{background:#f1e9e6}.pill.blocked{background:#e6eaf2}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line)}.day{min-height:90px;border:1px solid var(--line);padding:7px;font-size:12px;background:white}.day.empty{background:var(--paper)}.dayhead{text-align:center;padding:7px;font-size:11px;background:var(--mint)}.event{font-size:10px;background:var(--mint);border-radius:3px;padding:3px;margin-top:4px;overflow-wrap:anywhere}.modal{position:fixed;inset:0;z-index:10;background:#2b173daa;padding:25px;overflow:auto;display:flex;justify-content:center;align-items:flex-start}.modal .card{width:700px;max-width:100%;margin-top:30px}.close{float:right;background:var(--mint);color:var(--ink);padding:6px 12px}.stack{display:grid;gap:12px}.login{max-width:440px;margin:50px auto}.topline{display:flex;justify-content:space-between;gap:20px;align-items:center}.topline h1{font-size:42px}.detail{white-space:pre-wrap;overflow-wrap:anywhere}.room-edit{border-bottom:1px solid var(--line);padding:15px 0}.statusline{font-size:13px;color:var(--muted)}@media(max-width:750px){.hero,.grid{grid-template-columns:1fr;gap:20px}.hero{margin-top:0}.art{min-height:180px}.row{grid-template-columns:1fr;gap:0}.card{padding:22px}main{padding-top:25px}.stats{gap:8px}.stat{padding:12px}.stat b{font-size:27px}.steps{gap:7px;font-size:11px}header{padding:17px 20px}header nav{gap:12px}.day{min-height:65px;padding:3px}.event{font-size:9px}.topline h1{font-size:32px}}

.brand{display:flex;align-items:center;gap:13px}.brand img{width:150px;height:55px;object-fit:contain}.brand .brand-caption{display:block;border-left:1px solid var(--line);padding-left:13px;font-size:11px;font-weight:600;letter-spacing:.12em;line-height:1.5}.art{background:linear-gradient(145deg,#74409b,#44205f)}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.email-state{font-size:12px;padding:7px 10px;border-radius:6px;background:var(--mint)}@media(max-width:600px){.brand img{width:100px;height:40px}.brand .brand-caption{display:none}header nav{font-size:12px}}
