:root{--forest:#24392e;--green:#355b46;--mint:#c8ebe2;--paper:#f4faf8;--ink:#24332b;--muted:#637169;--line:#d3e2dc;--gold:#a36f20}*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;min-height:100vh}a{color:var(--green);font-weight:700}h1,h2,p{margin-top:0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#dff5ef,transparent 40%),var(--paper)}.auth-card{width:min(100%,520px);padding:38px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(27,59,45,.1)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.76rem;font-weight:800;color:#4c8581}.auth-card h1{font-family:Georgia,serif;font-size:clamp(2.1rem,7vw,3.2rem);line-height:1.05}.intro{color:var(--muted);line-height:1.7}form{display:grid;gap:18px}label{display:grid;gap:7px;font-weight:700}input{width:100%;padding:14px 16px;border:1px solid #afc6bd;border-radius:13px;font:inherit;background:#fff}input:focus{outline:3px solid rgba(65,139,132,.18);border-color:#418b84}button,.button{display:inline-flex;justify-content:center;border:0;border-radius:999px;padding:14px 22px;background:var(--green);color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.secondary{background:#e5f2ee;color:var(--forest)}small{font-weight:400;color:var(--muted)}.check{grid-template-columns:auto 1fr;align-items:start;font-weight:400}.check input{width:auto;margin-top:3px}.switch{text-align:center;margin:24px 0 0}.error,.success{padding:14px 16px;border-radius:14px;line-height:1.6}.error{background:#fff0ed;color:#8a2c20}.success{background:#e5f6ed;color:#205a36;margin-bottom:20px}.portal-head{display:flex;align-items:center;justify-content:space-between;padding:18px max(22px,calc((100vw - 1120px)/2));background:var(--forest);color:#fff}.portal-head form{display:block}.portal{max-width:1120px;margin:auto;padding:55px 22px}.welcome{padding:34px;border-radius:28px;background:linear-gradient(135deg,#315744,#4a8170);color:#fff}.welcome h1{font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,4rem)}.panel{margin-top:28px;padding:26px;border:1px solid var(--line);border-radius:24px;background:#fff}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:999px;background:var(--mint);font-weight:800}.empty{padding:34px;text-align:center;border:1px dashed #b9cec5;border-radius:18px;color:var(--muted)}.booking{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line)}code{font-family:ui-monospace,monospace}@media(max-width:600px){.auth-card{padding:26px 20px;border-radius:20px}.portal-head{align-items:flex-start;gap:15px}.portal{padding-top:28px}}

