@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/adb2ac03cdb7d75b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/782fd72d8ca20ddd-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/adb2ac03cdb7d75b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/782fd72d8ca20ddd-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/645c88064de6876a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cccb76cee38030ea-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/645c88064de6876a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cccb76cee38030ea-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Libre Baskerville Fallback;src:local("Times New Roman");ascent-override:76.22%;descent-override:21.22%;line-gap-override:0.00%;size-adjust:127.26%}.__className_1b5fad{font-family:Libre Baskerville,Libre Baskerville Fallback}.__variable_1b5fad{--font-libre-baskerville:"Libre Baskerville","Libre Baskerville Fallback"}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_d9d98a{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_d9d98a{--font-dm-sans:"DM Sans","DM Sans Fallback"}:root{--forest:#1a4d3e;--sage:#3d7a66;--seafoam:#2f9e8a;--tiffany:#2f9e8a;--raz:#1a4d3e;--caribbean:#3d7a66;--brand:#2f9e8a;--brand-deep:#1a4d3e;--brand-soft:#e8f2ee;--brand-green:#3d7a66;--ink:#13251f;--muted:#5c6f68;--paper:#f5f8f6;--card:#ffffff;--line:#d8e5df;--sea:var(--brand);--sea-deep:var(--brand-deep);--sea-soft:var(--brand-soft);--sky:var(--sage);--danger:#c23b4a;--ok:#2f9e8a;--warn:#c47a1a;--shadow:0 12px 32px rgba(19,37,31,0.07);--radius:12px;--font-display:var(--font-libre-baskerville),"Libre Baskerville",Georgia,serif;--font-body:var(--font-dm-sans),"DM Sans",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-size:16px;font-weight:400;letter-spacing:-.011em;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:var(--font-body)}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.22;margin:0 0 .35em;color:var(--ink)}h1{font-size:clamp(1.7rem,3vw,2.25rem)}h2{font-size:clamp(1.2rem,2vw,1.45rem)}h3{font-size:1.05rem;font-weight:700;font-family:var(--font-body);letter-spacing:-.02em}.heading-split{color:var(--ink);font-family:var(--font-display)}.heading-accent{color:var(--seafoam);font-style:italic;font-weight:400}p{margin:0 0 1em;color:var(--muted);font-weight:400}.container{width:min(1140px,calc(100% - 2rem));margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:999px;padding:.85rem 1.7rem;background:var(--forest);color:#fff;font-family:var(--font-body);font-size:.9rem;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.btn:hover{background:var(--sage);transform:translateY(-1px);box-shadow:0 14px 28px rgba(26,77,62,.22)}.btn.secondary{background:#fff;color:var(--forest);border:1.5px solid var(--sage);box-shadow:none}.btn.secondary:hover{background:var(--brand-soft);color:var(--forest);border-color:var(--forest);box-shadow:none}.btn.ghost{background:var(--brand-soft);color:var(--raz)}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:1.25rem}.field{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:1rem}.field label{font-size:.8rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.8rem .95rem;background:#fff;font-size:.95rem;font-weight:500}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(47,158,138,.28);border-color:var(--seafoam)}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.25rem .7rem;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--brand-soft);color:var(--raz)}.badge.warn{background:#fff4e5;color:var(--warn)}.badge.danger{background:#ffe4e6;color:var(--danger)}.badge.ok{background:#e7fbf3;color:#059669}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:.85rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.table td{font-weight:500}.muted{color:var(--muted)}.stack{display:grid;grid-gap:1rem;gap:1rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.grid-2{grid-gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-2,.grid-3{display:grid;gap:1rem}.grid-3{grid-gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.shell{display:grid;min-height:100vh;grid-template-columns:250px 1fr;background:var(--paper)}.shell nav{background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:1.25rem .9rem;display:flex;flex-direction:column;gap:.2rem;position:-webkit-sticky;position:sticky;top:0;height:100vh}.shell nav .brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.35rem .5rem 1rem;border-bottom:1px solid var(--line)}.shell nav .brand-mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(145deg,var(--seafoam),var(--forest));color:#fff;display:grid;place-items:center}.shell nav .brand-text{display:grid;grid-gap:.1rem;gap:.1rem}.shell nav .brand-text strong{font-family:var(--font-display);font-size:.88rem;font-weight:700;letter-spacing:-.02em;text-transform:none;color:var(--ink)}.shell nav .brand-text span{font-size:.72rem;font-weight:500;color:var(--muted);opacity:1}.shell nav a{display:flex;align-items:center;gap:.65rem;padding:.7rem .8rem;border-radius:10px;color:#4b5563;font-size:.88rem;font-weight:600;letter-spacing:-.015em}.shell nav a.active,.shell nav a:hover{background:var(--brand-soft);color:var(--raz)}.shell main{padding:1.35rem 1.5rem 2.5rem;min-width:0}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:.25rem}.stat-card{position:relative;overflow:hidden}.stat-card .stat{font-size:2rem;font-weight:800;letter-spacing:-.04em;margin:.15rem 0 0;color:var(--ink)}.stat-card .stat-icon{position:absolute;right:1rem;top:1rem;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--raz)}.media-card{display:grid;grid-template-columns:120px 1fr;grid-gap:1rem;gap:1rem;align-items:stretch;overflow:hidden;padding:0}.media-card .media{position:relative;min-height:120px}.media-card .media img{width:100%;height:100%;object-fit:cover}.media-card .body{padding:1rem 1rem 1rem 0}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0;background:linear-gradient(145deg,var(--seafoam),var(--forest))}.progress{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--seafoam),var(--forest));border-radius:inherit;animation:bar-fill .8s ease both}.flash{padding:.75rem 1rem;border-radius:10px;background:#ffe4e6;color:var(--danger);margin-bottom:1rem}.flash.ok{background:#e7fbf3;color:#059669}.portal-gate{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff;font-family:var(--font-body)}.portal-gate-visual{position:relative;background:#0f2a22;color:#fff;overflow:hidden;min-height:280px}.portal-gate-img{object-fit:cover;opacity:.45;animation:gate-ken-in 1.1s ease both}.portal-gate-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(15,42,34,.25),rgba(15,42,34,.88))}.portal-gate-visual-copy{position:relative;z-index:1;height:100%;display:grid;align-content:flex-end;grid-gap:.85rem;gap:.85rem;padding:2.5rem;max-width:30rem}.portal-gate-kicker{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tiffany)}.portal-gate-visual-copy .heading-split,.portal-gate-visual-copy h1{margin:0;color:#fff;font-weight:700;font-size:clamp(1.95rem,3.4vw,2.65rem);letter-spacing:-.025em}.portal-gate-visual-copy .heading-accent{color:#9fd9c8;font-style:italic;font-weight:400}.portal-gate-visual-copy p:last-child{margin:0;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.6;font-weight:400}.portal-gate-panel{display:grid;place-items:center;padding:2rem 1.5rem;background:var(--paper)}.portal-gate-panel-inner{width:min(440px,100%);animation:rise-in .55s ease both}.portal-gate-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem}.portal-gate-mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,var(--seafoam),var(--forest));color:#fff;display:grid;place-items:center}.portal-gate-logo strong{display:block;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;text-transform:none}.portal-gate-logo span{display:block;font-size:.8rem;color:var(--muted);font-weight:500}.portal-gate-panel-inner .heading-split,.portal-gate-panel-inner h2{margin:0 0 .35rem;font-weight:700;font-size:1.5rem;letter-spacing:-.02em}.portal-gate-lead{margin:0 0 1.35rem;color:var(--muted)}.portal-gate-cards{display:grid;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.portal-gate-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.85rem;gap:.85rem;align-items:center;padding:1rem 1.05rem;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:.15s ease}.portal-gate-card:hover{transform:translateY(-3px);border-color:var(--seafoam);box-shadow:0 16px 36px rgba(26,77,62,.1)}.portal-gate-card-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--forest)}.portal-gate-card-icon.staff{background:#e4efe9;color:var(--sage)}.portal-gate-card-body{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.portal-gate-card-body strong{font-size:.95rem;font-weight:700}.portal-gate-card-body span{font-size:.84rem;color:var(--muted);line-height:1.4}.portal-gate-card-go{color:var(--tiffany);font-weight:700;font-size:1.15rem}.portal-gate-meta{margin-top:1.35rem;display:grid;grid-gap:.35rem;gap:.35rem}.portal-gate-meta p{margin:0;display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--muted)}.portal-gate-hint{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);line-height:1.55}.portal-gate-hint strong{color:var(--ink)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-visual{position:relative;background:#0f2a22;overflow:hidden;color:#fff;padding:2rem;display:grid;align-content:flex-end}.login-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.login-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(15,42,34,.2),rgba(15,42,34,.92))}.login-visual .copy{position:relative;z-index:1;max-width:26rem}.login-visual .heading-accent{color:#9fd9c8;font-style:italic;font-weight:400}.login-panel{display:grid;place-items:center;padding:2rem;background:var(--paper)}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes gate-ken-in{0%{transform:scale(1.06);opacity:.2}to{transform:scale(1);opacity:.45}}@keyframes bar-fill{0%{width:0}}.rise-in{animation:rise-in .45s ease both}.rise-in-delay-1{animation-delay:.06s}.rise-in-delay-2{animation-delay:.12s}.rise-in-delay-3{animation-delay:.18s}.card{transition:transform .2s ease,box-shadow .2s ease}.card.lift:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(26,26,26,.1)}.portal-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:1.25rem;padding:.85rem 1rem;border-radius:12px;background:#fff;border:1px solid var(--line)}.portal-top .chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:var(--brand-soft);color:var(--raz);font-size:.8rem;font-weight:700}.visit-hero{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:0;gap:0;padding:0;overflow:hidden}.visit-hero .main{padding:1.35rem}.visit-hero .side{background:linear-gradient(160deg,var(--seafoam),var(--forest));color:#fff;padding:1.35rem;display:grid;align-content:space-between;grid-gap:1rem;gap:1rem}.visit-hero .side .big{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,3.5vw,2.5rem);line-height:1;letter-spacing:-.03em}.slot-days{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.slot-day,.slot-time{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .9rem;font-family:var(--font-body);font-size:.85rem;font-weight:700;cursor:pointer;color:var(--ink)}.slot-day.active,.slot-time.active{background:var(--tiffany);border-color:var(--tiffany);color:#fff}.slot-times{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.ring-wrap{width:108px;height:108px;position:relative;display:grid;place-items:center}.ring-wrap svg{position:absolute;inset:0;transform:rotate(-90deg)}.ring-wrap strong{font-size:1.35rem;font-weight:800;position:relative;z-index:1;letter-spacing:-.04em}.pain-chart{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.45rem;gap:.45rem;align-items:end;min-height:120px}.pain-bar{display:grid;grid-gap:.35rem;gap:.35rem;justify-items:center}.pain-bar .bar{width:100%;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,var(--seafoam),var(--forest));min-height:8px}.pain-bar span{font-size:.68rem;color:var(--muted);font-weight:600}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));grid-gap:.5rem;gap:.5rem;overflow-x:auto}.schedule-day{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:160px;padding:.65rem}.schedule-day h4{margin:0 0 .5rem;font-size:.75rem;font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.slot{border-radius:8px;padding:.45rem .5rem;margin-bottom:.4rem;font-size:.75rem;color:#fff;background:var(--tiffany);font-weight:600}.slot.requested{background:var(--warn)}.mobile-nav{display:none}.btn-logout{display:inline-flex;align-items:center;gap:.5rem;width:100%;justify-content:flex-start;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-family:var(--font-body);font-size:.85rem;font-weight:700;cursor:pointer}.btn-logout:hover{background:var(--brand-soft);color:var(--forest);border-color:#c5ddd3}@media (max-width:900px){.shell{grid-template-columns:1fr}.shell>nav{display:none}.shell main{padding:1rem 1rem 5.5rem}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:.45rem .35rem calc(.45rem + env(safe-area-inset-bottom))}.mobile-nav a{display:grid;justify-items:center;grid-gap:.2rem;gap:.2rem;color:#6b7280;font-size:.62rem;font-weight:700;padding:.35rem .2rem;border-radius:10px}.mobile-nav a.active{color:var(--raz);background:var(--brand-soft)}.login-shell,.portal-gate{grid-template-columns:1fr}.login-visual,.portal-gate-visual{min-height:220px}.media-card{grid-template-columns:1fr}.media-card .media{min-height:160px}.media-card .body{padding:1rem}.visit-hero{grid-template-columns:1fr}}