.portal-shell{padding-top:42px;padding-bottom:70px}.portal-banner{padding:17px 21px;background:#FFF6E5;border:2px solid #D6B56E;border-radius:12px;margin-bottom:32px;color:#513E1E}.portal-banner strong{display:block}.portal-message{padding:13px 20px;background:#E8F4F0;border-radius:9px;margin:15px 0}.portal-hero{text-align:center;margin:46px auto 38px;max-width:750px}.portal-hero p{margin-left:auto;margin-right:auto}.portal-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.portal-choice,.dashboard-card{padding:31px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 28px rgba(16,61,85,.04)}.portal-choice{display:flex;flex-direction:column;align-items:flex-start}.portal-choice p{flex:1}.choice-icon{font-size:2.2rem;color:var(--teal)}.text-button{color:var(--navy);border:0;background:none;text-decoration:underline;cursor:pointer;padding:15px 0;font-size:.98rem;font-weight:750}.portal-choice .text-button{margin-top:8px}.portal-auth{max-width:550px;margin:40px auto;padding:37px;border:1px solid var(--line);border-radius:16px}.portal-auth h1{font-size:2.1rem}.portal-auth form{display:grid;gap:12px}.portal-auth label,.dashboard-card label{display:block;font-weight:750;font-size:.94rem;margin-top:10px}.portal-auth input,.dashboard-card input,.dashboard-card select{font:inherit;width:100%;min-height:52px;border:2px solid #91AAA9;border-radius:8px;padding:10px 13px;background:white;color:var(--text)}.portal-auth form .btn{margin-top:12px}.portal-auth [hidden],.portal-shell [hidden]{display:none!important}.portal-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:24px 0 30px}.portal-dashboard-head p{margin-bottom:5px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.8fr);gap:22px}.dashboard-main{display:grid;gap:22px}.request-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dashboard-card form .btn{margin-top:20px}.dashboard-card h2{font-size:1.65rem}.dashboard-side{align-self:start}.dashboard-side h3{margin-top:30px}.staff-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.staff-metrics>div{background:#ECF5F2;border-radius:12px;padding:22px}.staff-metrics span{display:block;color:var(--muted);font-size:.85rem}.staff-metrics strong{display:block;color:var(--navy);font-size:2.2rem}.portal-toolbar,.portal-toolbar-actions{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}.portal-toolbar select{min-width:140px}.portal-toolbar label{margin:0}.appointment-item{padding:19px 0;border-top:1px solid var(--line)}.appointment-item strong{display:block}.appointment-item p{font-size:.91rem;margin:6px 0}.appointment-item .status{display:inline-block;border-radius:999px;padding:4px 11px;background:#E5F1E9;font-size:.75rem;font-weight:800}.appointment-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.appointment-actions button{font:inherit;padding:9px 17px;border-radius:8px;background:#103D55;color:white;border:0;cursor:pointer}.appointment-actions button:last-child{background:#F1F3F3;color:#173744}.portal-privacy-note{color:var(--muted);font-size:.82rem;margin-top:40px}@media(max-width:740px){.portal-choice-grid,.dashboard-grid,.request-date-grid{grid-template-columns:1fr}.portal-dashboard-head{align-items:flex-start;flex-direction:column}.portal-choice,.dashboard-card{padding:24px}.portal-auth{padding:26px 20px}.staff-metrics{grid-template-columns:1fr 1fr}.staff-metrics>div{padding:17px}}