:root{color:#18322d;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f4ee;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 100% 0,#d0e2d073,#0000 34rem),#f5f4ee;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1{color:#123a30;letter-spacing:-.04em;margin-bottom:.55rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,3.25rem);line-height:1.02}h2{color:#173f35;margin-bottom:.35rem;font-family:Georgia,Times New Roman,serif;font-size:1.55rem}h3{color:#173f35;margin-bottom:.35rem}.muted{color:#67756f;line-height:1.55}.eyebrow{color:#4f7567;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:800}.auth-page{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.auth-card{background:#fffffcf0;border:1px solid #e1e1d6;border-radius:1.5rem;width:min(100%,29rem);padding:2rem 1.5rem;box-shadow:0 24px 70px #1e39301f}.brand-mark,.mini-mark{color:#fff;background:#173f35;place-items:center;font-family:Georgia,Times New Roman,serif;font-weight:700;display:grid}.brand-mark{border-radius:1rem;width:3.25rem;height:3.25rem;margin-bottom:1.6rem;font-size:1.1rem}.form-stack{gap:1rem;margin-top:1.5rem;display:grid}label{color:#365149;gap:.45rem;font-size:.84rem;font-weight:700;display:grid}input,select,textarea{color:#18322d;background:#fff;border:1px solid #ccd3cd;border-radius:.75rem;outline:none;width:100%;font-weight:500;transition:border-color .12s,box-shadow .12s}input,select{height:3rem;padding:0 .85rem}textarea{resize:vertical;padding:.75rem .85rem}input:focus,select:focus,textarea:focus{border-color:#2f7563;box-shadow:0 0 0 3px #2f756324}input:disabled,select:disabled,textarea:disabled{background:#f1f1ec}.field-row{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.field-error{color:#a43838;font-size:.75rem;font-weight:600}.primary-button,.secondary-button{border-radius:.8rem;justify-content:center;align-items:center;min-height:3rem;padding:.7rem 1rem;font-weight:800;display:inline-flex}.primary-button{color:#fff;background:#173f35;border:1px solid #173f35}.primary-button:hover:not(:disabled){background:#245b4d}.primary-button.light{color:#173f35;background:#fff;border-color:#fff;align-self:flex-start;margin-top:.7rem}.primary-button.compact{min-height:2.65rem;padding-inline:1.25rem}.secondary-button{color:#245b4d;background:#fff;border:1px solid #bac8c1}.secondary-button.small{min-height:2.35rem;margin-top:.85rem;padding:.35rem .75rem;font-size:.8rem}.text-button{color:#2a6958;text-underline-offset:.2rem;background:0 0;border:0;font-weight:800;-webkit-text-decoration:underline #2a69584d;text-decoration:underline #2a69584d}.text-button.danger{color:#a33d3d}.alert,.notice{border-radius:.8rem;gap:.25rem;padding:.85rem 1rem;font-size:.86rem;line-height:1.45;display:grid}.alert.error{color:#8f3030;background:#fff1f1;border:1px solid #edc1c1}.alert.success{color:#285d3f;background:#edf8f1;border:1px solid #bfdbc9}.alert.warning{color:#755c1d;background:#fff9e7;border:1px solid #e5d29b}.notice{color:#31584c;background:#edf4f0;border:1px solid #d4ded8}.qr-code{border:.75rem solid #fff;border-radius:1rem;width:min(15rem,100%);margin:1rem auto;display:block;box-shadow:0 8px 24px #1e39301a}.secret-box{text-align:center;background:#eff2ec;border-radius:.8rem;gap:.35rem;margin:1rem 0;padding:.85rem;display:grid}.secret-box span{color:#63736c;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800}.secret-box strong{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.backup-codes{background:#fff;border:1px solid #d8ddd8;border-radius:.8rem;margin:1rem 0;padding:.9rem}.backup-codes summary{cursor:pointer;color:#31584c;font-weight:800}.backup-codes p{color:#67756f;margin:.75rem 0;font-size:.82rem}.backup-codes div{white-space:pre-line;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.7}.loading-pulse{background:#173f35;border-radius:1rem;width:3rem;height:3rem;margin-bottom:1.5rem;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45;transform:scale(.92)}}.app-shell{min-height:100vh;padding-bottom:5.8rem}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f4eee0;border-bottom:1px solid #d0d3cacc;align-items:center;gap:.75rem;height:4.5rem;padding:0 1rem;display:flex;position:sticky;top:0}.mini-mark{border-radius:.75rem;width:2.4rem;height:2.4rem;font-size:.8rem}.topbar div:last-child{gap:.1rem;display:grid}.topbar strong{color:#173f35;font-size:.9rem}.topbar span{color:#748079;font-size:.72rem}.content{width:min(100%,48rem);margin:0 auto}.page{gap:1.2rem;padding:1rem;display:grid}.page-heading,.section-heading,.modal-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-heading{padding:.8rem 0 .2rem}.page-heading h1{font-size:2.5rem}.hero-card{color:#eaf4ef;background:radial-gradient(circle at 86% 16%,#ffffff2b,#0000 9rem),linear-gradient(135deg,#173f35,#2f6e5c);border-radius:1.4rem;padding:1.8rem 1.4rem;position:relative;overflow:hidden;box-shadow:0 18px 45px #173f352e}.hero-card:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:13rem;height:13rem;position:absolute;bottom:-5rem;right:-2rem}.hero-card h1,.hero-card .eyebrow{color:#fff}.hero-card p:not(.eyebrow){color:#d6e8e0;margin-bottom:0}.section{gap:1rem;display:grid}.section-heading h2{margin-bottom:0}.loading-card,.empty-card,.settings-card{background:#fffffce0;border:1px solid #dedfd5;border-radius:1.2rem}.loading-card{color:#6e7a74;padding:1.2rem}.empty-card{text-align:center;padding:1.5rem}.empty-card p{color:#6f7b75;margin-bottom:0;line-height:1.5}.empty-card.tall{place-content:center;min-height:19rem;display:grid}.placeholder-icon{color:#2c6655;background:#e2ede7;border-radius:1.1rem;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:700;display:grid}.stay-stack{gap:.45rem;display:grid}.stay-label{color:#738078;letter-spacing:.1em;text-transform:uppercase;padding-left:.25rem;font-size:.7rem;font-weight:800}.reservation-list{gap:.85rem;display:grid}.reservation-card{background:#fff;border:1px solid #d9ddd6;border-radius:1rem;padding:1.05rem;box-shadow:0 7px 20px #1f3a310d}.reservation-card.cancelled{opacity:.7}.reservation-card-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.reservation-card h3{margin:.18rem 0 0;font-size:1.05rem}.channel{color:#66766f;font-size:.75rem;font-weight:700}.status{text-transform:uppercase;border-radius:999px;flex:none;padding:.3rem .55rem;font-size:.66rem;font-weight:800}.status.confirmed{color:#2e654a;background:#dff0e7}.status.cancelled{color:#6b6868;background:#efeeee}.date-range{color:#3e564f;margin:.8rem 0 .55rem;font-size:.88rem;font-weight:700}.reservation-meta{color:#738078;flex-wrap:wrap;gap:.45rem .8rem;font-size:.78rem;display:flex}.settings-card{gap:1.2rem;padding:1.2rem;display:grid}.settings-heading p{color:#738078;margin-bottom:0;font-size:.84rem;line-height:1.45}.session-list{gap:.7rem;display:grid}.session-row{background:#f2f3ed;border-radius:.75rem;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.8rem;display:flex}.session-row div{gap:.2rem;min-width:0;display:grid}.session-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.session-row span{color:#748079;font-size:.72rem}.bottom-nav{z-index:20;padding:.45rem max(.25rem, env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.25rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffcf2;border-top:1px solid #d8dbd4;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #1f3a3112}.bottom-nav button{color:#7a857f;background:0 0;border:0;border-radius:.75rem;place-content:center;justify-items:center;gap:.35rem;min-height:3.65rem;font-size:.67rem;font-weight:800;display:grid}.nav-dot{background:#c8cfcb;border-radius:999px;width:1.25rem;height:.32rem}.bottom-nav button.active{color:#245b4d}.bottom-nav button.active .nav-dot{background:#2f7563}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c221c85;align-items:end;padding-top:2rem;display:grid;position:fixed;inset:0}.modal{width:min(100%,38rem);max-height:calc(100vh - 2rem);padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));background:#fffef9;border-radius:1.4rem 1.4rem 0 0;margin:0 auto;overflow-y:auto;box-shadow:0 -20px 70px #0a1e1840}.modal-heading h2{margin-bottom:0}.close-button{color:#3f554e;background:#eff1ec;border:0;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;font-size:1.5rem;line-height:1;display:grid}@media (width>=700px){.app-shell{padding-bottom:0}.topbar{padding-inline:max(1rem,50vw - 24rem)}.page{padding:1.5rem}.bottom-nav{border:1px solid #d8dbd4;border-radius:1.15rem;width:min(36rem,100% - 2rem);bottom:1.25rem;left:50%;right:auto;transform:translate(-50%);box-shadow:0 14px 45px #1f3a3124}.content{padding-bottom:6.5rem}.modal-backdrop{align-items:center;padding:2rem}.modal{border-radius:1.4rem;max-height:calc(100vh - 4rem);padding:1.5rem}}@media (width<=430px){.field-row{grid-template-columns:1fr}}
