:root{--ink:#312720;--muted:#76675b;--paper:#f8f5f0;--line:#e9e0d6;--brown:#684936;--gold:#b38763;--white:#fffdfa;--green:#42634b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 system-ui,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button,input,select,textarea{border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);padding:9px 12px}button:hover,a:hover{color:#9c6340}button.primary,.primary{background:var(--brown);color:white;border:0;border-radius:9px;padding:10px 15px;display:inline-block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a26440;outline-offset:2px}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;overflow:auto;background:#fffdfa;border-right:1px solid var(--line);padding:22px 15px;z-index:4}.brand{display:flex;align-items:center;gap:11px;margin:2px 4px 24px;font:700 15px Georgia;letter-spacing:.07em}.monogram{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--brown);color:#fff;font:18px Georgia;flex:none}.brand small,.eyebrow{display:block;font:700 10px/1.5 system-ui;letter-spacing:.17em;color:var(--muted);text-transform:uppercase}.side p{margin:19px 10px 6px}.side a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;margin:2px 0;color:#645347}.side a.active{background:#eee1d4;color:#583a29;font-weight:700}.ico{width:19px;height:19px;flex:none;vertical-align:middle}.top{display:flex;align-items:center;gap:12px;padding:14px 28px;border-bottom:1px solid var(--line);background:#fffdfa;min-height:65px}.push{margin-left:auto}.demo,.pill{display:inline-flex;align-items:center;border-radius:100px;padding:4px 9px;background:#f1e6d9;color:#68452e;font-size:11px;font-weight:700;white-space:nowrap}.good{background:#e8efe6;color:var(--green)}.warn{background:#f9ead8;color:#874c24}.content{max-width:1510px;margin:auto;padding:26px 28px 38px}.hero{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.12}h1{font-size:clamp(32px,4vw,49px);margin:5px 0 8px;letter-spacing:-.035em}h2{font-size:24px;margin-bottom:6px}h3{font-size:15px;margin-bottom:8px}.muted,.hero p,small{color:var(--muted)}.hero p{margin-bottom:0}.banner{position:relative;overflow:hidden;border-radius:17px;background:linear-gradient(110deg,#3a271e,#76513b);color:#fff6ed;padding:22px 25px;margin-bottom:17px}.banner:after,.banner:before{content:"";position:absolute;border:1px solid #e7b99455;border-radius:50%;width:310px;height:310px;right:0;top:-108px;transform:rotate(-26deg) scaleX(.78);pointer-events:none}.banner:after{right:47px}.banner .eyebrow,.banner p{color:#f1d6c1}.banner p{margin:6px 0 0}.banner h2{font-size:30px}.grid{display:grid;gap:15px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.card,.stat{border:1px solid var(--line);border-radius:14px;background:var(--white);padding:17px}.stat b{display:block;font:26px Georgia;margin:6px 0}.stat .ico{float:right;color:var(--brown)}.split{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);margin-bottom:16px}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--muted);font:11px system-ui}.line-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}.line-item:last-child{border:0}.line-item strong{display:block}.bar{height:6px;background:#f0e7de;border-radius:5px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:#9f7355;border-radius:5px}.tabs,.toolbar,.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tabs{margin-bottom:15px}.tabs a{padding:7px 12px;border-radius:8px;color:var(--muted)}.tabs .active{background:#eee1d4;color:#583a29;font-weight:700}.toolbar{margin-bottom:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f6efe7;color:var(--muted);font-size:12px}th,td{padding:11px 13px;border-bottom:1px solid var(--line)}td a{font-weight:700;color:var(--brown);text-decoration:underline;text-underline-offset:3px}.empty{padding:22px;color:var(--muted);text-align:center}.foot{margin-top:20px;font-size:11px;color:var(--muted)}.profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.profile div{background:#f8f2eb;padding:11px;border-radius:9px;overflow-wrap:anywhere}.profile b{display:block}.menu{display:none}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login section{display:grid;align-content:center;padding:clamp(24px,7vw,110px)}.login section:first-child{background:radial-gradient(ellipse at top right,#87614a,#39271e 75%);color:#fff5e9}.login section:first-child .eyebrow{color:#e5c5aa}.login form,.form{display:grid;gap:12px}.form label,.login label{display:grid;gap:4px}.login form{max-width:420px}.login .brand{margin:0 0 28px}.login h1{max-width:550px}.login h2{font-size:32px}dialog{width:min(560px,calc(100vw - 26px));max-height:90vh;border:1px solid var(--line);border-radius:15px;background:var(--white);color:var(--ink);padding:21px}dialog::backdrop{background:#35241977}#notice{position:fixed;bottom:17px;right:17px;background:#422d22;color:white;z-index:10;border-radius:9px;padding:10px 15px;max-width:calc(100% - 34px)}#notice:empty{display:none}.overlay{display:none}@media(max-width:1050px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.shell{display:block}.side{display:none;position:fixed;left:0;top:0;width:min(280px,84vw)}.open .side,.menu,.open .overlay{display:block}.overlay{position:fixed;inset:0;border:0;border-radius:0;background:#32231b55;z-index:3}.top{padding:10px 14px;flex-wrap:wrap;gap:7px}.content{padding:20px 14px}.split,.login{grid-template-columns:1fr}.login section{padding:27px}.hero{align-items:start}.profile{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.crumb{display:none}.hero{display:block}.hero .actions{margin-top:9px}.stat{padding:11px}.stat b{font-size:22px}.card{padding:12px}.kpis{gap:8px}.banner{padding:17px}.profile{grid-template-columns:1fr}.top select{max-width:130px}}
.calendar-scroll{overflow:auto;max-height:640px;border:1px solid var(--line);border-radius:10px}
.booking-calendar{display:grid;grid-template-columns:64px repeat(var(--people),minmax(190px,1fr));min-width:max-content;padding-bottom:14px}
.booking-calendar h3{height:64px;margin:0;padding:10px;background:var(--white);position:sticky;top:0;z-index:2;border-bottom:1px solid var(--line)}
.calendar-person h3 small{display:block;font-weight:400}
.calendar-axis{position:sticky;left:0;z-index:3;background:var(--white)}
.calendar-axis h3{z-index:4}
.calendar-time{position:absolute;left:8px;font-size:12px;color:var(--muted)}
.calendar-track{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#e9e0d6 59px,#e9e0d6 60px)}
.calendar-event{position:absolute;left:5px;right:5px;display:flex;flex-direction:column;align-items:start;gap:2px;padding:7px 9px;border:1px solid #cba98e;border-left:4px solid var(--brown);border-radius:7px;background:#f5e9db;overflow:hidden;font-size:12px;line-height:1.3}
.calendar-event:hover,.calendar-event:focus-visible{background:#ecd9c5;color:var(--ink);z-index:1}
.calendar-event span,.calendar-event small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-event.cancelled{opacity:.65;border-style:dashed}

.signin,.create{max-width:560px;margin:20px auto}td small{display:block}.create input,.create select{min-width:0}.public-hero{padding:clamp(32px,8vw,105px);background:#1b1816;color:#fff;border-radius:20px}.public-hero h1{font-size:clamp(34px,7vw,76px);max-width:14ch}.public-hero .eyebrow{color:#f0cfa1}.public-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-block:24px}.public-topics section{padding:18px;background:#fff;border:1px solid #e9dfd5;border-radius:12px}.public-topics p{margin:0}