.portal main{max-width:1050px;margin:0 auto;padding:40px 24px 70px}.portal header{gap:18px;max-width:1150px;margin:auto}.portal header>a:last-child{font-size:.8rem}.portal h1{font-size:clamp(2.4rem,7vw,4rem);margin-bottom:12px}.portal h2{font-size:clamp(1.5rem,4vw,2rem)}.portal .intro{max-width:630px}.portal .card{padding:clamp(22px,4vw,36px);border-radius:20px;min-width:0}.portal .welcome{background:#eae5dc}.portal .portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.portal .portal-grid>.card{margin:0}.portal .actions{gap:12px;align-items:center;flex-wrap:wrap}.portal .button,.portal button{font-size:.9rem;line-height:1.5;padding:14px 21px;min-height:48px}.portal .button.secondary{background:transparent;color:#2c2925;border:1px solid #b8b0a4}.portal .portal-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.portal .portal-tabs a{border:1px solid #d1c8ba;padding:10px 16px;border-radius:30px;text-decoration:none;font-size:.85rem;min-height:44px}.portal .portal-section{scroll-margin-top:24px;margin-top:36px}.portal .journal-entry{padding:20px 0;border-top:1px solid #ded8ce}.portal .journal-entry:first-of-type{border-top:0}.portal .journal-entry h3{margin:0 0 8px}.portal .status-pill{display:inline-block;color:#514530;background:#eee7d9;border-radius:8px;padding:5px 9px;font-size:.78rem}.portal .empty{color:#676159;font-size:.92rem;line-height:1.8}.portal .post{border-top:1px solid #ded8ce;padding:20px 0}.portal .post:first-of-type{border-top:0}.portal .post p{white-space:pre-wrap;overflow-wrap:anywhere}.portal .appointment-time{font-family:'Cinzel',Georgia,serif;font-size:1.4rem;margin:6px 0}.portal .text-button{background:none;color:#423b32;text-decoration:underline;padding:4px 0;min-height:44px}.portal .account-settings{margin-top:38px;font-size:.9rem}.portal .account-settings summary{padding:14px 0;cursor:pointer}.portal .portal-footer{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;padding:25px 6%;border-top:1px solid #d7cfc2;font-size:.75rem}.portal .account-line{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:.85rem}.portal .error{color:#a22a25}.portal .badge{font-size:.75rem;letter-spacing:.08em;color:#726346}.portal a:focus-visible,.portal button:focus-visible,.portal summary:focus-visible{outline:3px solid #8b7245;outline-offset:4px}.skip-portal{position:absolute;left:10px;top:-100px;background:#fff;padding:15px;z-index:10}.skip-portal:focus{top:10px}.portal textarea{min-height:140px}.portal .post-tools{display:flex;gap:12px;flex-wrap:wrap}.portal .note{font-size:.85rem}.portal #link-form{border:2px solid #b09b70}.portal [hidden]{display:none!important}@media(max-width:650px){.portal main{padding:28px 20px 50px}.portal .portal-grid{grid-template-columns:1fr}.portal .actions>.button,.portal .actions>button{flex:1 1 auto;text-align:center}.portal header{padding:20px}.portal .intro{font-size:1rem}.portal .portal-tabs{gap:7px}.portal .portal-tabs a{padding:9px 12px}.portal .portal-footer{display:grid}.portal h1{overflow-wrap:anywhere}}@media print{.portal header,.portal-tabs,.account-settings,.portal .actions,.portal-footer{display:none}}

.portal .login-card{max-width:640px;margin-left:auto;margin-right:auto}.portal .login-card input{display:block;width:100%;box-sizing:border-box;font-size:16px;min-height:52px}.portal .login-card label{display:block;margin:20px 0 8px}.portal #login-code{font-size:1.5rem;letter-spacing:.2em;max-width:330px}.portal .login-address{overflow-wrap:anywhere}.portal .login-card form>button{width:100%;margin-top:10px}.portal .login-card .actions{margin-top:20px}
