/* Shared public pages and private panels, v4.0. */
:root{--srm-blue:#183f65;--srm-green:#28614d;--srm-line:#dce5eb}body{background:#f4f7f9;color:#294354;-webkit-font-smoothing:antialiased}.setup-shell,.us-shell{max-width:1200px;margin:0 auto;padding:38px 28px}h1,h2,h3{color:var(--srm-blue);letter-spacing:-.025em}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,4vw,48px);line-height:1.15}h2{font-size:clamp(23px,2.7vw,31px);line-height:1.25}a{text-underline-offset:4px}a:hover{color:var(--srm-green)}.panel,.portal-card,.registration-card,.course-card,.access-card{border:1px solid var(--srm-line);border-radius:12px;box-shadow:0 5px 22px #183f6505;background:white}.panel{padding:28px;margin-top:22px;margin-bottom:22px}.portal-card,.registration-card{transition:box-shadow .18s ease,transform .18s ease}.portal-card:hover,.registration-card:hover{transform:translateY(-2px);box-shadow:0 9px 25px #183f6510}.us-header{padding:18px 0;border-bottom:1px solid var(--srm-line);gap:20px;flex-wrap:wrap}.us-header img{max-width:150px}.us-hero{padding:38px 0 16px}.us-hero h1{margin-bottom:20px}.portal-grid,.public-grid{gap:20px}.public-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.public-grid .panel{margin:0}.public-grid img{width:100%;height:190px;object-fit:contain;background:#f4f7f9;border-radius:7px}.public-grid video{width:100%;max-height:500px;border-radius:8px;background:#183f65}.public-grid article h3{font-family:Georgia,serif;font-size:24px;line-height:1.25}.link-preview{border-radius:8px;background:linear-gradient(135deg,#e7eef3,#f4f7f8);color:#183f65;min-height:130px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font:22px/1.3 Georgia,serif;border-bottom:3px solid #28614d}.btn,button,input,textarea,select{border-radius:7px}.btn,button{min-height:42px}.field input,.field textarea,.field select,input:not([type=checkbox]):not([type=radio]),textarea{max-width:100%;border:1px solid #cbd9e1;background:#fbfdfe;color:#294354;padding:11px 13px;font:inherit}.field{gap:7px}fieldset{border:1px solid var(--srm-line);border-radius:8px;padding:20px;margin:16px 0}legend{font-weight:600;color:#183f65;padding:0 8px}summary{padding:14px 0;cursor:pointer;color:#183f65;font-weight:600}.alert{border-radius:8px}.sidebar{background:#fff;border-right:1px solid var(--srm-line)}.sidebar nav a{border-radius:7px;margin:3px 0}.topbar{background:#fff;border-bottom:1px solid var(--srm-line)}.private-back-link{font:600 13px/1.6 Arial,sans-serif;background:#e9f0f4;color:#183f65;padding:12px 22px}table{font-size:14px}td,th{padding:14px 12px}.setup-shell>section>form.stack{max-width:900px}.setup-shell>section>p{max-width:900px}.pre-wrap{overflow-wrap:anywhere}.public-grid .pre-wrap{font-size:15px}.us-shell>nav{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:14px}.us-shell>nav a{padding:7px 11px;border:1px solid var(--srm-line);border-radius:20px;background:#fff;text-decoration:none}.us-shell>nav a:hover{background:#e9f0f4}.form-grid{gap:20px}
@media(max-width:700px){.setup-shell,.us-shell{padding:24px 16px}.panel{padding:22px 18px}.us-header{gap:14px}.us-header img{max-width:120px}.portal-grid,.public-grid{grid-template-columns:1fr}.us-shell>nav{gap:6px}.us-shell>nav a{font-size:12px;padding:6px 9px}.manage-table{overflow:auto}.field input,.field select,.field textarea{font-size:16px}.private-back-link{text-align:left}.topbar{flex-wrap:wrap;gap:12px}.workspace{min-width:0}.public-grid img{height:210px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.portal-card:hover,.registration-card:hover{transform:none}}

.succession-banner{padding:16px 24px;background:#fff2ca;border-bottom:2px solid #d6a323;color:#583f12;font:14px/1.6 Arial,sans-serif}.succession-banner a{color:#583f12;font-weight:700}

.emergency-code{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;background:#edf3f6;border:1px solid #cad9e2;border-radius:8px;font-size:17px;line-height:1.9}
.public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}

.community-avatar{width:150px;height:150px;object-fit:cover;border-radius:50%;border:3px solid #dce5eb}.field textarea{min-height:90px}fieldset .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}fieldset .field{min-width:0}fieldset input,fieldset textarea{width:100%}@media(max-width:650px){fieldset .form-grid{grid-template-columns:1fr}}
