:root{--bg:#f5f8fb;--surface:#fff;--text:#12202f;--muted:#607080;--border:#dce5ec;--accent:#0f6f78;--accent-2:#134963;--game:#101820;--radius:16px;--shadow:0 14px 38px rgba(16,32,48,.08);--max:1180px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(var(--max),calc(100% - 2rem));margin:auto}.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:1rem}.brand{font-weight:800;letter-spacing:.02em;color:var(--accent-2)}.nav-links{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.75rem 1.1rem;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}.button.secondary{background:transparent;color:var(--accent-2);border:1px solid var(--border)}.hero{padding:7rem 0 5rem;background:linear-gradient(135deg,#f9fcfd,#e9f4f5)}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--accent)}h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.02;margin:.4rem 0 1.25rem}.lead{font-size:1.18rem;color:var(--muted);max-width:68ch}.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.section{padding:4.5rem 0}.auth-shell{width:min(560px,calc(100% - 2rem));margin:4rem auto}.form-grid{display:grid;gap:1rem}label{font-weight:700}input{width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;font:inherit;background:#fff}.flash{padding:1rem;border-radius:12px;margin-bottom:1rem;background:#eef7f0}.flash.error{background:#fff0f0}.site-footer{padding:2.5rem 0;border-top:1px solid var(--border);color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--border)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:999}@media(max-width:820px){.hero-grid,.grid-3{grid-template-columns:1fr}.nav-links{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* One-time initialization */
.install-container { max-width: 760px; }
.nav-form{display:inline-flex;margin:0}.nav-toggle{display:none}.nav-toggle:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid currentColor;outline-offset:3px}@media(max-width:820px){.nav{align-items:flex-start;padding:.75rem 0}.nav-toggle{display:inline-flex}.nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start}.nav-links[data-open="true"]{display:flex}}
@media(max-width:820px){.nav{flex-wrap:wrap}}

/* Academic Core v0.2.0 */
.page-title{font-size:clamp(2.25rem,5vw,4rem);margin:.2rem 0 1.25rem;line-height:1.05}.small-title{font-size:clamp(2rem,4vw,3rem)}.subheading{margin:2.5rem 0 1rem}.muted{color:var(--muted)}.small{font-size:.9rem}.lead.compact{max-width:60ch}.section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.5rem}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.35rem;color:var(--text);display:flex;flex-direction:column;gap:.5rem;text-decoration:none}.metric-card:hover{text-decoration:none;border-color:#a9cdd1}.metric-card strong{font-size:2.4rem;line-height:1;color:var(--accent)}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.academic-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1.5rem;align-items:start}.sticky-card{position:sticky;top:96px}.table-card{padding:0;overflow:hidden}.table-card>p{padding:1.5rem}.table-scroll{overflow:auto}.badge{display:inline-flex;padding:.25rem .6rem;border-radius:999px;background:#e9f4f5;color:var(--accent-2);font-size:.82rem;font-weight:800}.form-grid textarea,.form-grid select,.org-switcher select{width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;font:inherit;background:#fff}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.check{display:flex;gap:.6rem;align-items:center;font-weight:600}.check input{width:auto}.notice{padding:1rem 1.2rem;border:1px solid #b9d9dd;background:#eef8f9;border-radius:12px;margin:0 0 1rem}.org-switcher{display:inline-flex;max-width:220px}.org-switcher select{padding:.55rem .7rem;font-size:.88rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.course-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.course-card h3{margin:.8rem 0 .35rem}.metric-inline{font-size:2.3rem;font-weight:800;color:var(--accent);margin:.25rem 0}.invite-summary{display:grid;gap:.75rem;margin:1.25rem 0}.invite-summary div{padding:.8rem;border:1px solid var(--border);border-radius:12px}.invite-summary dt{font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:800}.invite-summary dd{margin:.25rem 0 0;font-weight:700}.invite-shell{margin-top:2rem}
@media(max-width:1050px){.academic-layout{grid-template-columns:1fr}.sticky-card{position:static}.metric-grid,.action-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.metric-grid,.action-grid,.course-card-grid,.form-columns{grid-template-columns:1fr}.org-switcher{max-width:100%;width:100%}}

/* Academic Core v0.2.1 — CRUD, accessible validation, translation tabs, assignment editor */
:root{--danger:#b42318;--danger-bg:#fff1f0;--danger-border:#f4b4ae;--success:#137333;--warning:#8a5a00}
.form-card{padding:1.4rem}.form-card-heading,.editor-header,.editor-footer{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.form-card-heading h2,.editor-header h2{margin:.1rem 0 .35rem}.compact-eyebrow{font-size:.68rem;margin:0}.text-link{font-weight:700;white-space:nowrap}.form-field{display:grid;gap:.4rem}.form-field label{display:block}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;font:inherit;background:#fff;color:var(--text)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent);outline:3px solid rgba(15,111,120,.14);outline-offset:1px}.form-field.has-error input,.form-field.has-error textarea,.form-field.has-error select,[aria-invalid="true"]{border-color:var(--danger)!important;background:#fffafa}.form-field.has-error input:focus,.form-field.has-error textarea:focus,.form-field.has-error select:focus,[aria-invalid="true"]:focus{outline-color:rgba(180,35,24,.18)}.field-error-message{margin:0;color:var(--danger);font-size:.88rem;font-weight:650;line-height:1.4}.field-help{margin:.45rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}.form-summary{padding:.9rem 1rem;border-radius:12px;margin:0 0 1rem}.form-summary.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:#7a1a13}.form-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}.button.compact,button.compact{padding:.46rem .72rem;font-size:.82rem}.button.ghost,button.ghost{background:#f2f6f8;color:var(--accent-2);border:1px solid var(--border)}.button.danger,button.danger{background:var(--danger);color:#fff}.row-actions{display:flex;gap:.42rem;flex-wrap:wrap;align-items:center}.row-actions form{margin:0;display:inline-flex}.actions-column{min-width:270px}.badge-draft{background:#eef2f6;color:#455463}.badge-active,.badge-published{background:#e9f7ef;color:#176b38}.badge-archived,.badge-closed{background:#f2f2f2;color:#5f6368}
.translation-editor{display:grid;gap:.9rem}.language-tabs{display:inline-flex;gap:.3rem;padding:.25rem;background:#eef3f6;border-radius:12px;width:max-content;max-width:100%}.language-tab{background:transparent;color:var(--accent-2);padding:.55rem .85rem;border-radius:9px;font-weight:750}.language-tab[aria-selected="true"]{background:#fff;box-shadow:0 2px 9px rgba(16,32,48,.1);color:var(--text)}[data-tab-panel][hidden]{display:none!important}.translation-editor [data-tab-panel]{display:grid;gap:1rem}
.editor-card{margin-top:1.5rem;padding:0;overflow:hidden;scroll-margin-top:95px}.editor-header{padding:1.5rem 1.6rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#fbfdfe)}.editor-form{display:grid}.editor-section{border:0;border-bottom:1px solid var(--border);padding:1.45rem 1.6rem;margin:0;min-width:0}.editor-section legend{font-size:1.12rem;font-weight:800;padding:0;margin:0 0 1rem}.editor-grid{display:grid;gap:1rem}.editor-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-footer{padding:1.25rem 1.6rem;align-items:center;background:#fbfdfe}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.option-card{border:1px solid var(--border);border-radius:14px;padding:1rem;align-items:flex-start;background:#fff}.option-card span{display:grid;gap:.2rem}.option-card small{color:var(--muted);font-weight:400;line-height:1.4}.option-card input{margin-top:.3rem}.section-heading .page-title{margin-bottom:.35rem}
@media(max-width:1050px){.academic-layout{grid-template-columns:1fr}.sticky-card{position:static}.actions-column{min-width:220px}.editor-grid.two,.option-grid{grid-template-columns:1fr}.editor-header,.editor-footer{flex-direction:column}.editor-footer .form-actions{width:100%;justify-content:flex-end}}
@media(max-width:680px){.section{padding:2.5rem 0}.form-columns{grid-template-columns:1fr}.row-actions{min-width:210px}.editor-section,.editor-header,.editor-footer{padding:1.1rem}.language-tabs{width:100%}.language-tab{flex:1}.form-actions{width:100%}.form-actions .button,.form-actions button{flex:1}.actions-column{min-width:210px}}

/* Academic Core v0.2.2 — responsive records, member management, profile and platform admin */
:root{--surface-soft:#f9fbfc;--accent-soft:#eaf5f6;--danger-soft:#fff3f2;--max:1280px}
body{overflow-x:hidden}.container,.academic-layout,.management-grid,.record-card,.editor-grid,.profile-grid,.security-grid{min-width:0}.eyebrow{overflow-wrap:anywhere}.first-subheading{margin-top:0}
.academic-layout{grid-template-columns:minmax(0,1.35fr) minmax(400px,.65fr);gap:1.75rem}.record-list{display:grid;gap:1rem}.record-card{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.8fr) auto;gap:1.15rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem}.record-card h2{font-size:1.12rem;line-height:1.3;margin:.1rem 0 .35rem}.record-main{min-width:0}.record-main p{margin:.3rem 0 0}.record-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:800;margin-bottom:.25rem}.record-meta{display:grid;gap:.42rem;color:var(--muted);font-size:.9rem;min-width:0}.record-meta b{color:var(--text)}.record-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.compact-record{grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr) auto}.assignment-record,.course-record,.cohort-record{align-items:start}
.action-menu{position:relative}.action-menu>summary{list-style:none}.action-menu>summary::-webkit-details-marker{display:none}.action-menu-panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:30;min-width:240px;display:grid;gap:.2rem;padding:.5rem;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:0 16px 38px rgba(16,32,48,.18)}.action-menu-panel form{margin:0}.action-menu-panel button{width:100%;justify-content:flex-start;background:transparent;color:var(--text);border-radius:9px;padding:.65rem .75rem;font-weight:650}.action-menu-panel button:hover{background:#f2f6f8}.action-menu-panel button.danger-text,.danger-text{color:var(--danger)!important}.menu-note{display:block;color:var(--muted);font-size:.78rem;line-height:1.35;padding:.5rem .7rem;max-width:250px}
.management-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}.management-sidebar{display:grid;gap:1rem;position:sticky;top:92px}.member-record{grid-template-columns:minmax(0,1.1fr) minmax(180px,.55fr) minmax(270px,.8fr)}.member-controls{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;min-width:0}.inline-control-form{display:flex;align-items:center;gap:.45rem;min-width:0}.inline-control-form select{min-width:145px;padding:.55rem .7rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:inherit}.bulk-card{scroll-margin-top:95px}.bulk-result{margin-top:1rem;padding:.85rem 1rem;border:1px solid #b9d9dd;background:#eef8f9;border-radius:12px}.bulk-result ul{margin:.55rem 0 0;padding-left:1.2rem;font-size:.86rem}.inline-form{margin-top:1rem}.danger-text.button{background:transparent;border-color:var(--danger-border)}
.profile-shell{max-width:1120px}.profile-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:1.2rem}.profile-card h2{margin-top:0}.avatar-block{display:flex;gap:1rem;align-items:center;margin:1rem 0 1.2rem}.profile-avatar{width:112px;height:112px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 5px 18px rgba(16,32,48,.14);background:var(--accent-soft)}.profile-avatar.placeholder{display:grid;place-items:center;font-size:2.5rem;font-weight:800;color:var(--accent-2)}.security-card{margin-top:1.2rem;scroll-margin-top:95px}.security-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:2rem;align-items:start}.security-grid h3{margin:.2rem 0 .8rem}.security-action{padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}
.admin-nav-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.admin-nav-card{color:var(--text);text-decoration:none;transition:transform .16s ease,border-color .16s ease}.admin-nav-card:hover{text-decoration:none;transform:translateY(-2px);border-color:#a9cdd1}.admin-nav-card h2{font-size:1.1rem;margin:0 0 .4rem}.admin-nav-card p{color:var(--muted);margin:0}.code-value code{white-space:normal;overflow-wrap:anywhere;background:#f4f7f9;padding:.35rem .5rem;border-radius:8px}
@media(max-width:1100px){.record-card,.compact-record{grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr)}.record-actions{grid-column:1/-1;justify-content:flex-start}.member-record{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr)}.member-controls{grid-column:1/-1;justify-content:flex-start}.management-grid{grid-template-columns:1fr}.management-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:1fr}.admin-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .container{width:min(100% - 1.25rem,var(--max))}.site-header{backdrop-filter:none}.nav{padding:.7rem 0;align-items:center}.nav-toggle{margin-left:auto}.nav-links[data-open="true"]{display:flex;position:absolute;left:.625rem;right:.625rem;top:calc(100% + .35rem);width:auto;padding:.8rem;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 38px rgba(16,32,48,.16);align-items:stretch;gap:.15rem}.nav-links[data-open="true"] a,.nav-links[data-open="true"] .nav-form,.nav-links[data-open="true"] .org-switcher{width:100%}.nav-links[data-open="true"] a{padding:.65rem .7rem;border-radius:9px}.nav-links[data-open="true"] a:hover{background:#f2f6f8;text-decoration:none}.nav-links[data-open="true"] .nav-form button{width:100%;justify-content:flex-start}.nav-links[data-open="true"] .org-switcher select{width:100%}
  .section{padding:2.2rem 0}.page-title{font-size:clamp(2.05rem,11vw,3.1rem);line-height:1.02}.small-title{font-size:2.15rem}.lead{font-size:1.02rem}.eyebrow{font-size:.68rem;letter-spacing:.11em;line-height:1.55}.section-heading{display:grid;align-items:start}.section-heading>.button{width:100%;border-radius:12px}.metric-grid,.action-grid,.admin-nav-grid,.management-sidebar,.security-grid{grid-template-columns:1fr}.metric-card strong{font-size:2rem}
  .record-card,.compact-record,.member-record{grid-template-columns:1fr;gap:.75rem;padding:1rem}.record-meta{padding-top:.65rem;border-top:1px solid var(--border)}.record-actions,.member-controls{grid-column:auto;justify-content:flex-start;width:100%}.inline-control-form{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.inline-control-form select{min-width:0;width:100%}.record-actions>.button{flex:1;min-width:120px}.action-menu{margin-left:auto}.action-menu-panel{position:fixed;left:.75rem;right:.75rem;top:auto;bottom:calc(env(safe-area-inset-bottom) + .75rem);min-width:0;max-height:65vh;overflow:auto}.action-menu-panel button{padding:.85rem}
  .academic-layout{display:grid;grid-template-columns:1fr!important}.sticky-card{position:static}.form-card{padding:1.1rem}.editor-card{border-radius:14px}.editor-section,.editor-header,.editor-footer{padding:1rem}.editor-grid.two,.option-grid,.form-columns{grid-template-columns:1fr}.editor-footer .form-actions{display:grid;grid-template-columns:1fr;width:100%}.editor-footer .form-actions .button,.editor-footer .form-actions button{width:100%}.language-tabs{width:100%}.language-tab{flex:1}
  .profile-heading{margin-bottom:.6rem}.avatar-block{align-items:flex-start}.profile-avatar{width:92px;height:92px}.profile-grid{gap:1rem}.security-card{margin-top:1rem}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .table-scroll{overflow:visible}.table-card{overflow:visible}.table-card table{display:block}.table-card thead{display:none}.table-card tbody{display:grid;gap:.8rem}.table-card tr{display:grid;background:#fff;border:1px solid var(--border);border-radius:14px;padding:.85rem;box-shadow:var(--shadow)}.table-card td{display:grid;grid-template-columns:minmax(105px,.42fr) minmax(0,1fr);gap:.6rem;padding:.5rem 0;border:0;min-width:0;overflow-wrap:anywhere}.table-card td::before{content:attr(data-label);font-weight:800;color:var(--muted)}
}
@media(max-width:480px){.container{width:calc(100% - 1rem)}.page-title{font-size:2.25rem}.admin-metrics{grid-template-columns:1fr}.record-actions{display:grid;grid-template-columns:1fr auto}.record-actions>.button{width:100%}.inline-control-form{grid-template-columns:1fr}.inline-control-form .button{width:100%}.avatar-block{display:grid}.form-actions{display:grid}.form-actions .button,.form-actions button{width:100%}}

/* v0.2.3 — Platform Administration, compact avatars, account menu */
.profile-avatar{flex:0 0 112px;min-width:112px;aspect-ratio:1/1}.profile-avatar.placeholder{overflow:hidden;line-height:1}
.member-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;justify-content:stretch}.inline-control-form{display:grid;grid-template-columns:minmax(145px,1fr) auto;gap:.55rem;width:100%}.member-controls>.action-menu{margin-left:0}
.account-menu{position:relative}.account-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:999px;padding:.52rem .8rem;color:var(--accent-2);font-weight:750;background:#fff;white-space:nowrap}.account-menu>summary::-webkit-details-marker{display:none}.account-menu-panel{position:absolute;right:0;top:calc(100% + .45rem);z-index:35;min-width:190px;padding:.45rem;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 38px rgba(16,32,48,.18);display:grid;gap:.15rem}.account-menu-panel a,.account-menu-panel button{display:flex;width:100%;justify-content:flex-start;padding:.65rem .75rem;border-radius:9px;background:transparent;color:var(--text);font-weight:650}.account-menu-panel a:hover,.account-menu-panel button:hover{background:#f2f6f8;text-decoration:none}.account-menu-panel form{margin:0}
.admin-edit-card{grid-template-columns:minmax(0,1.2fr) minmax(310px,1fr) auto}.admin-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}.wide-panel{min-width:min(380px,calc(100vw - 2rem))}.compact-admin-form{padding:.35rem}.compact-admin-form .form-field{gap:.25rem}.compact-admin-form label{font-size:.82rem}.admin-filter-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(180px,.55fr) auto;gap:1rem;align-items:end;margin-bottom:1.2rem}.admin-filter-form .form-actions{margin:0}.admin-user-card{grid-template-columns:minmax(300px,1.1fr) minmax(360px,1fr) auto}.admin-user-identity{display:flex;gap:.9rem;align-items:center}.admin-user-avatar{width:58px;height:58px;flex:0 0 58px;aspect-ratio:1;border-radius:50%;object-fit:cover;background:var(--accent-soft);border:2px solid #fff;box-shadow:0 3px 12px rgba(16,32,48,.12)}.admin-user-avatar.placeholder{display:grid;place-items:center;font-size:1rem;font-weight:850;color:var(--accent-2)}.admin-user-meta{gap:.35rem}.membership-chip-list,.permission-chip-list{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.membership-chip{display:inline-flex;align-items:center;padding:.28rem .5rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);font-size:.76rem;color:var(--text);line-height:1.3}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.role-card{min-width:0}.role-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.role-card h2{margin:0}.permission-fieldset{border:0;padding:0;margin:0;min-width:0}.permission-fieldset legend{font-weight:800;margin-bottom:.8rem}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.permission-check{display:flex;align-items:flex-start;gap:.55rem;border:1px solid var(--border);border-radius:12px;padding:.7rem;background:var(--surface-soft);font-weight:500}.permission-check input{width:auto;margin-top:.25rem}.permission-check span{display:grid;gap:.1rem;min-width:0}.permission-check small{color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.settings-shell{max-width:1040px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.3rem}.settings-card h2{margin-top:0}.settings-wide{grid-column:1/-1}.readonly-setting{padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#f4f7f9;font-weight:700}.settings-toggle-list{display:grid;gap:.8rem}.setting-toggle{display:flex;align-items:flex-start;gap:.7rem;border:1px solid var(--border);border-radius:13px;padding:.9rem;background:var(--surface-soft);font-weight:500}.setting-toggle input[type="hidden"]{display:none}.setting-toggle input[type="checkbox"]{width:auto;margin-top:.3rem}.setting-toggle span{display:grid;gap:.18rem}.setting-toggle small{color:var(--muted);font-weight:400;line-height:1.45}.email-change-card{margin-top:1.2rem;scroll-margin-top:95px}.email-change-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:2rem;align-items:start}.email-change-grid h2{margin-top:0}.confirm-shell{max-width:720px}.confirm-card{padding:2rem}
@media(max-width:1100px){.admin-edit-card,.admin-user-card{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)}.admin-edit-card .record-actions,.admin-user-card .record-actions{grid-column:1/-1;justify-content:flex-start}.admin-filter-form{grid-template-columns:1fr 220px}.admin-filter-form .form-actions{grid-column:1/-1}.role-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}}
@media(max-width:820px){.profile-avatar{flex-basis:92px;min-width:92px}.member-controls{grid-template-columns:1fr auto}.inline-control-form{grid-template-columns:minmax(0,1fr) auto}.nav-links[data-open="true"] .account-menu{width:100%}.nav-links[data-open="true"] .account-menu>summary{width:100%;border-radius:9px}.nav-links[data-open="true"] .account-menu-panel{position:static;min-width:0;margin-top:.3rem;box-shadow:none;border-radius:9px}.admin-edit-card,.admin-user-card{grid-template-columns:1fr}.admin-metadata-grid{grid-template-columns:1fr}.admin-filter-form{grid-template-columns:1fr}.admin-filter-form .form-actions{grid-column:auto}.admin-user-identity{align-items:flex-start}.permission-grid{grid-template-columns:1fr}.email-change-grid{grid-template-columns:1fr}.wide-panel{position:fixed;left:.75rem;right:.75rem;bottom:calc(env(safe-area-inset-bottom) + .75rem);top:auto;max-height:75vh;overflow:auto;min-width:0}}
@media(max-width:480px){.member-controls{grid-template-columns:1fr}.member-controls>.action-menu{margin-left:0}.inline-control-form{grid-template-columns:1fr}.admin-user-avatar{width:52px;height:52px;flex-basis:52px}.role-card-head{display:grid}.confirm-card{padding:1.2rem}}
.admin-create-card{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:1.5rem;align-items:end;margin:0 0 1.2rem;scroll-margin-top:95px}.admin-create-card h2{margin:.1rem 0 .35rem}.admin-create-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr) auto;gap:.8rem;align-items:end}.admin-create-form .form-actions{margin:0}
@media(max-width:900px){.admin-create-card,.admin-create-form{grid-template-columns:1fr}.admin-create-form .form-actions{width:100%}.admin-create-form .form-actions button{width:100%}}

/* v0.2.4 — NursEscape branding, global navigation/footer and design-system refinement */
:root{
  --brand-midnight:#072A52;
  --brand-navy:#0A335E;
  --brand-clinical-blue:#093764;
  --brand-muted-blue:#608099;
  --brand-deep-teal:#0D5968;
  --brand-dark-teal:#0C7A79;
  --brand-teal:#1C928C;
  --brand-bright-teal:#0C8F88;
  --brand-aqua:#0EA398;
  --brand-soft-aqua:#59BDB6;
  --brand-pale-aqua:#88CFC9;
  --brand-blue-gray:#A5B3BF;
  --brand-clinical-gray:#BCD6D8;
  --brand-ice:#DAEBEC;
  --brand-neutral-gray:#737373;
  --bg:#F4F7FA;
  --surface:#FFFFFF;
  --surface-soft:#F7FAFB;
  --text:#102A43;
  --muted:#686F75;
  --border:#D6E1E6;
  --accent:#0D5968;
  --accent-2:#0A335E;
  --accent-soft:#DAEBEC;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 14px 36px rgba(7,42,82,.08);
  --shadow-soft:0 8px 24px rgba(7,42,82,.06);
  --max:1220px;
}
body{background:var(--bg);color:var(--text)}
.public-shell{background:#fff}.application-shell{background:var(--bg)}
h1,h2,h3,h4,h5,h6{color:var(--brand-midnight);letter-spacing:-.018em}
a{color:var(--brand-deep-teal);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--brand-navy)}
.muted,.lead,.field-help,.menu-note{color:var(--muted)}
.eyebrow,.record-kicker{color:var(--brand-deep-teal)}
.panel,.card,.record-card,.metric-card,.admin-nav-card{border-color:var(--border);box-shadow:var(--shadow-soft)}
.panel:hover,.card:hover{border-color:#C6D8DD}
.button,button{min-height:44px;background:var(--brand-navy);color:#fff;transition:background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.button:hover,button:hover{background:var(--brand-midnight);color:#fff;text-decoration:none}
.button:active,button:active{transform:translateY(1px)}
.button.secondary,button.secondary{background:#fff;color:var(--brand-navy);border:1px solid #BFCFD8}
.button.secondary:hover,button.secondary:hover{background:var(--brand-ice);border-color:var(--brand-muted-blue);color:var(--brand-midnight)}
.button.ghost,button.ghost{background:#F3F7F9;color:var(--brand-navy);border:1px solid var(--border)}
.button.ghost:hover,button.ghost:hover{background:var(--brand-ice)}
.button.danger,button.danger{background:var(--danger)}
.button.compact,button.compact{min-height:40px}
input,select,textarea,.form-field input,.form-field textarea,.form-field select{border-color:#C9D7DE;background:#fff;color:var(--text);min-height:44px}
input:focus-visible,select:focus-visible,textarea:focus-visible,.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--brand-dark-teal);outline:3px solid rgba(14,163,152,.23);outline-offset:2px}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--brand-aqua);outline-offset:3px}
.skip-link:focus{left:1rem;top:1rem;background:#fff;color:var(--brand-midnight);padding:.65rem .85rem;border:2px solid var(--brand-navy);border-radius:10px;box-shadow:var(--shadow);z-index:9999}

/* Header */
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #DCE6EA;box-shadow:0 2px 12px rgba(7,42,82,.035);backdrop-filter:blur(12px)}
.nav{min-height:78px;gap:1.25rem}.nav--app{min-height:74px}
.brand-image{display:flex;align-items:center;flex:0 0 auto;line-height:0}
.brand-image picture{display:block}.brand-image img{display:block;width:clamp(166px,14vw,205px);height:auto;max-height:56px;object-fit:contain}
.nav--app .brand-image img{width:clamp(150px,12vw,184px)}
.nav-links{gap:.78rem;flex-wrap:nowrap;font-size:.93rem}
.nav-links>a:not(.button){padding:.48rem .18rem;color:var(--brand-deep-teal);font-weight:600;white-space:nowrap}
.nav-links>a:not(.button):hover{text-decoration:none;color:var(--brand-navy)}
.nav-cta{padding:.62rem .92rem;min-height:40px}
.language-switch{display:inline-flex;align-items:center;gap:.2rem;border-left:1px solid var(--border);padding-left:.55rem}
.language-switch a{display:grid;place-items:center;min-width:34px;height:34px;border-radius:9px;color:var(--brand-deep-teal);font-size:.82rem;font-weight:800;text-decoration:none}
.language-switch a[aria-current="true"]{background:var(--brand-ice);color:var(--brand-navy)}
.language-switch a:hover{background:#EFF6F6}
.account-menu>summary{min-height:40px;display:flex;align-items:center;border-color:#C8D7DE;color:var(--brand-navy);background:#fff;padding:.5rem .85rem}
.account-menu>summary::after{content:"⌄";margin-left:.45rem;font-size:.78rem;color:var(--brand-muted-blue)}
.account-menu-panel{border-color:#C8D7DE;box-shadow:0 18px 42px rgba(7,42,82,.16)}
.account-menu-panel a,.account-menu-panel button{color:var(--brand-midnight)}
.account-menu-panel a:hover,.account-menu-panel button:hover{background:var(--brand-ice)}
.org-switcher select{border-color:#C8D7DE;color:var(--brand-navy);font-weight:650}

/* Public hero and page framing */
.public-hero{position:relative;overflow:hidden;padding:clamp(5rem,8vw,7.5rem) 0 clamp(4rem,7vw,6rem);background:linear-gradient(135deg,#FFFFFF 0%,#F3FAFA 48%,#DAEBEC 100%)}
.public-hero::after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-150px;bottom:-230px;background:radial-gradient(circle at 35% 35%,rgba(14,163,152,.24),rgba(28,146,140,.08) 48%,transparent 72%);pointer-events:none}
.public-hero .hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1.16fr) minmax(320px,.74fr);gap:clamp(2rem,5vw,4.5rem)}
.public-hero h1{color:var(--brand-midnight);max-width:12ch}
.public-hero .lead{color:#556B7A;max-width:62ch}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.hero-brand-card{display:grid;place-items:center;text-align:center;padding:clamp(1.5rem,3vw,2.25rem);background:rgba(255,255,255,.92);border-color:#CFE0E3}
.hero-institution-logo{width:min(285px,80%);height:auto;max-height:230px;object-fit:contain;margin-bottom:1rem}
.hero-brand-card p{margin:.25rem 0;color:#5D6F7C}
.public-feature-section{background:#fff}.feature-card{position:relative;overflow:hidden;padding:1.65rem}
.feature-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand-navy),var(--brand-teal))}
.feature-card h2{font-size:1.25rem;margin:.1rem 0 .65rem}.feature-card p{margin:0;color:#60717E}
.public-page-section{min-height:46vh;background:linear-gradient(180deg,#F8FBFC,#FFFFFF)}
.public-page-shell{max-width:980px}.public-page-card{margin-top:1.3rem;padding:clamp(1.5rem,3vw,2.5rem)}
.public-page-card .lead{margin:0}.sitemap-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem;margin-top:1rem}
.sitemap-links a{padding:.7rem .85rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft);font-weight:700}
.sitemap-links a:hover{background:var(--brand-ice);text-decoration:none}

/* Academic/admin consistency */
.section{padding:clamp(2.8rem,5vw,4.75rem) 0}
.page-title{color:var(--brand-midnight)}
.metric-card strong{color:var(--brand-dark-teal)}
.metric-card:hover,.admin-nav-card:hover{border-color:var(--brand-pale-aqua)}
.badge{background:#EAF6F5;color:var(--brand-deep-teal)}
.notice,.bulk-result{border-color:#B8DAD8;background:#F1FAF9}
.form-summary.error,.flash.error{border-color:var(--danger-border)}
.flash{margin-top:1rem;border:1px solid #CBE0D0;box-shadow:var(--shadow-soft)}
.action-menu-panel{border-color:#C8D7DE;box-shadow:0 18px 42px rgba(7,42,82,.18)}
.action-menu-panel button:hover{background:var(--brand-ice)}

/* Definitive member-action overlap fix: controls use their own full-width row. */
.member-record{grid-template-columns:minmax(0,1.25fr) minmax(190px,.6fr)}
.member-controls{grid-column:1/-1;display:grid;grid-template-columns:minmax(330px,430px) 44px;justify-content:end;align-items:center;gap:.7rem;min-width:0;padding-top:.78rem;border-top:1px solid var(--border)}
.inline-control-form{display:grid;grid-template-columns:minmax(150px,1fr) max-content;gap:.6rem;width:100%;min-width:0;align-items:center}
.inline-control-form select{width:100%;min-width:0}
.member-controls>.action-menu{width:44px;min-width:44px;margin:0}
.member-controls>.action-menu>summary{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border-radius:12px}

/* Footer */
.site-footer{margin-top:0;border-top:0}
.site-footer--public{padding:3.5rem 0 0;background:var(--brand-midnight);color:#EAF4F5}
.footer-grid{display:grid;grid-template-columns:minmax(260px,1.65fr) minmax(210px,1fr) minmax(150px,.65fr) minmax(190px,.85fr);gap:2rem 2.5rem;align-items:start}
.footer-brand-column p{max-width:46ch;color:#C8D9E2;margin:1rem 0 1.25rem}
.footer-nursescape-logo{display:block;width:min(260px,100%);padding:.6rem .75rem;background:#fff;border-radius:14px}
.footer-nursescape-logo img{display:block;width:100%;height:auto}
.institution-logos{display:flex;gap:.75rem;flex-wrap:wrap;align-items:stretch}
.institution-logo-card{display:grid;place-items:center;width:142px;min-height:112px;padding:.65rem;background:#fff;border:1px solid rgba(255,255,255,.3);border-radius:14px;overflow:hidden}
.institution-logo-card img{display:block;max-width:100%;max-height:96px;width:auto;height:auto;object-fit:contain}
a.institution-logo-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.footer-column h2{font-size:1rem;color:#fff;margin:0 0 .9rem;letter-spacing:.01em}
.footer-column address{display:grid;gap:.55rem;font-style:normal;color:#CAD9E0;margin-bottom:.8rem}
.footer-column a,.footer-bottom a{color:#CFF5F1;text-decoration:none}
.footer-column a:hover,.footer-bottom a:hover{color:#fff;text-decoration:underline}
.footer-link-list{display:grid;gap:.5rem}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:2.5rem;padding:1.05rem 0;border-top:1px solid rgba(218,235,236,.18);font-size:.78rem;color:#BFD0D8;flex-wrap:wrap}
.site-footer--app{padding:1.25rem 0;background:#EDF4F5;border-top:1px solid #D3E1E5;color:#657681;font-size:.82rem}
.app-footer-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.app-footer-links{display:flex;gap:1rem;flex-wrap:wrap}.app-footer-links a{font-weight:650}

@media(max-width:1180px){
  .nav-links{gap:.55rem;font-size:.88rem}.brand-image img{width:170px}.nav--app .brand-image img{width:154px}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .public-hero .hero-grid{grid-template-columns:1fr}.public-hero h1{max-width:14ch}.hero-brand-card{max-width:640px}
}
@media(max-width:820px){
  .nav{min-height:70px;padding:.55rem 0}.brand-image img,.nav--app .brand-image img{width:158px;max-height:48px}
  .nav-toggle{min-height:42px;padding:.58rem .9rem;background:var(--brand-navy)}
  .nav-links[data-open="true"]{top:calc(100% + .45rem);border-color:#C8D7DE;box-shadow:0 20px 46px rgba(7,42,82,.18)}
  .nav-links[data-open="true"] a:not(.button){padding:.7rem .75rem}
  .nav-links[data-open="true"] .nav-cta{width:100%}
  .language-switch{width:100%;border-left:0;border-top:1px solid var(--border);padding:.55rem 0 0;margin-top:.25rem;justify-content:flex-start}
  .public-hero{padding:4rem 0 3.5rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}
  .sitemap-links{grid-template-columns:1fr}
  .member-record{grid-template-columns:1fr}.member-controls{grid-column:auto;grid-template-columns:minmax(0,1fr) 44px;justify-content:stretch;width:100%}.inline-control-form{grid-template-columns:minmax(0,1fr) max-content}
  .footer-grid{grid-template-columns:1fr;gap:2rem}.footer-brand-column{max-width:620px}.footer-bottom{align-items:flex-start;flex-direction:column}.app-footer-row{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .brand-image img,.nav--app .brand-image img{width:145px}.nav-toggle{padding:.55rem .78rem}
  .public-hero h1{font-size:clamp(2.4rem,12vw,3.4rem)}
  .member-controls{grid-template-columns:1fr}.member-controls>.action-menu{width:100%}.member-controls>.action-menu>summary{width:100%}.inline-control-form{grid-template-columns:1fr}.inline-control-form .button{width:100%}
  .institution-logo-card{width:calc(50% - .4rem);min-width:120px}.footer-nursescape-logo{width:230px;max-width:100%}
}

/* v0.2.5 — unified navigation, light global footer and contact experience */
.header-container{width:min(1520px,calc(100% - 2rem));margin-inline:auto}
.site-header--global{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);border-bottom:1px solid #DCE6EA;box-shadow:0 2px 14px rgba(7,42,82,.045);backdrop-filter:blur(12px)}
.nav--global{min-height:66px;gap:1rem;position:relative}
.brand-lockup{display:inline-flex;align-items:center;gap:.48rem;flex:0 0 auto;color:inherit;text-decoration:none;line-height:1}
.brand-lockup:hover{text-decoration:none}
.brand-mark{display:block;width:42px;flex:0 0 42px;line-height:0}
.brand-mark img{display:block;width:42px;height:auto;max-height:42px;object-fit:contain}
.brand-wordmark{display:inline-flex;align-items:flex-start;font-size:1.36rem;font-weight:850;letter-spacing:-.045em;white-space:nowrap}
.brand-wordmark-nurs{color:var(--brand-navy)}
.brand-wordmark-escape{color:var(--brand-teal)}
.brand-wordmark sup{color:#737373;font-size:.42em;letter-spacing:0;margin:.08rem 0 0 .12rem}
.nav-links--global{margin-left:auto;gap:.58rem;font-size:.85rem;align-items:center;flex-wrap:nowrap}
.nav-links--global>a:not(.button){padding:.48rem .14rem;color:var(--brand-deep-teal);font-weight:650;white-space:nowrap;position:relative}
.nav-links--global>a:not(.button):hover{color:var(--brand-navy);text-decoration:none}
.nav-links--global>a[aria-current="page"]{color:var(--brand-navy)}
.nav-links--global>a[aria-current="page"]::after{content:"";position:absolute;left:.14rem;right:.14rem;bottom:.18rem;height:2px;border-radius:999px;background:var(--brand-teal)}
.nav-separator{width:1px;height:24px;background:#DCE6EA;margin:0 .08rem}
.nav-links--global .nav-cta{padding:.58rem .82rem;font-size:.83rem}
.nav-toggle--icon{display:none;width:44px;height:44px;padding:0;border-radius:12px;background:#fff;color:var(--brand-navy);border:1px solid #C8D7DE}
.nav-toggle--icon:hover{background:var(--brand-ice)}
.hamburger-icon{display:grid;gap:4px;width:20px}
.hamburger-icon span{display:block;width:100%;height:2px;border-radius:99px;background:currentColor}
.account-menu-org{display:grid;gap:.3rem;padding:.55rem .7rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:.15rem 0}
.account-menu-org label{font-size:.75rem;color:var(--muted)}
.account-menu-org .org-switcher{width:100%;max-width:none}
.account-menu-org .org-switcher select{width:100%;font-size:.82rem;padding:.5rem .6rem}

.site-footer--global{padding:0;margin-top:0;border:0;background:#fff;color:var(--text)}
.footer-main{background:#F7FAFB;border-top:1px solid #D9E5E9;padding:3.3rem 0 2.7rem}
.footer-global-grid{display:grid;grid-template-columns:minmax(285px,1.45fr) minmax(155px,.72fr) minmax(180px,.82fr) minmax(250px,1.12fr);gap:2.4rem;align-items:start}
.footer-brand-column p{margin:1rem 0 1.25rem;color:#566A79;max-width:48ch;font-size:.92rem}
.footer-nursescape-logo{display:block;width:min(250px,100%);padding:0;background:transparent;border-radius:0;line-height:0}
.footer-nursescape-logo img{display:block;width:100%;height:auto}
.institution-logos--light{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.15rem}
.institution-logo-link{display:grid;place-items:center;width:150px;height:92px;padding:.2rem;text-decoration:none;border-radius:10px;transition:transform .15s ease,background .15s ease}
.institution-logo-link:hover{transform:translateY(-2px);background:#EEF5F6;text-decoration:none}
.institution-logo-link img{display:block;max-width:100%;max-height:88px;width:auto;height:auto;object-fit:contain}
.footer-column h2{font-size:.94rem;line-height:1.3;color:var(--brand-navy);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.055em}
.footer-link-list{display:grid;gap:.56rem}
.footer-column a{color:#315C77;text-decoration:none}
.footer-column a:hover{color:var(--brand-teal);text-decoration:underline}
.footer-contact-list{display:grid;gap:.62rem;font-style:normal;margin:0}
.footer-contact-list a{display:grid;grid-template-columns:22px 1fr;gap:.55rem;align-items:start;line-height:1.45}
.footer-contact-list a>span:first-child{color:var(--brand-teal);font-weight:800;text-align:center}
.social-icons{display:flex;align-items:center;gap:.48rem;margin-top:1.15rem;flex-wrap:wrap}
.social-icon{display:grid!important;place-items:center;width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid #D8E4E8;text-decoration:none!important;transition:transform .15s ease,box-shadow .15s ease}
.social-icon:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(7,42,82,.12)}
.social-icon svg{width:19px;height:19px;fill:currentColor}
.social-facebook{color:#1877F2!important}.social-instagram{color:#C13584!important}.social-tiktok{color:#111!important}.social-linkedin{color:#0A66C2!important}
.footer-copyright-bar{background:var(--brand-midnight);color:#EAF3F5;border-top:3px solid var(--brand-teal)}
.footer-copyright-inner{min-height:58px;padding:.85rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;font-weight:550}
.footer-copyright-inner a{color:#A9E5E0;text-decoration:none;font-weight:700}
.footer-copyright-inner a:hover{color:#fff;text-decoration:underline}

.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1.35rem;align-items:start;margin-top:1.6rem}
.contact-form{padding:1.7rem}
.contact-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field-group{display:grid;gap:.42rem}
.field-group input,.field-group textarea,.field-group select{width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;font:inherit;background:#fff;color:var(--text)}
.field-group textarea{resize:vertical;min-height:170px}
.field-group input:focus,.field-group textarea:focus,.field-group select:focus{border-color:var(--brand-teal);outline:3px solid rgba(28,146,140,.14);outline-offset:1px}
.field-error{margin:0;color:var(--danger);font-size:.86rem;font-weight:650;line-height:1.4}
.error-notice{border-color:var(--danger-border);background:var(--danger-bg);color:#7A1A13}
.privacy-consent-field{margin-top:.15rem}
.contact-consent{align-items:flex-start;font-weight:550;line-height:1.5}
.contact-consent input{margin-top:.25rem;flex:0 0 auto}
.contact-consent a{font-weight:750}
.honeypot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-info-card{position:sticky;top:92px;padding:1.6rem}
.contact-info-card h2{font-size:1.2rem;margin:.1rem 0 1rem}
.contact-info-list{display:grid;gap:1rem;margin-bottom:1.3rem}
.contact-info-list>div{display:grid;gap:.18rem}
.contact-info-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}
.contact-info-list a{font-weight:700;overflow-wrap:anywhere}

.admin-metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.contact-filter-form{margin:1.4rem 0}
.contact-admin-list{display:grid;gap:1rem}
.contact-admin-card{padding:1.35rem 1.45rem}
.contact-admin-card.is-new{border-left:4px solid var(--brand-teal)}
.contact-admin-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.contact-admin-title-row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.contact-admin-title-row h2{font-size:1.12rem;margin:0}
.contact-admin-sender{margin:.35rem 0 0;color:var(--muted)}
.contact-admin-meta{display:grid;gap:.18rem;text-align:right;color:var(--muted);font-size:.8rem}
.contact-message-details{margin:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.75rem 0}
.contact-message-details summary{cursor:pointer;font-weight:750;color:var(--brand-navy)}
.contact-message-body{margin-top:.75rem;white-space:normal;line-height:1.7;overflow-wrap:anywhere}
.contact-admin-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.contact-status-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:.55rem;align-items:center}
.contact-status-form select{min-height:42px}
.badge.status-new{background:#E5F7F4;color:#0C6A66}.badge.status-read{background:#EDF3F7;color:#365D75}.badge.status-replied{background:#EAF5EC;color:#2E6B3E}.badge.status-archived{background:#F1F1F1;color:#626262}

@media(max-width:1240px){
  .header-container{width:min(100% - 1.25rem,1520px)}
  .nav-toggle--icon{display:inline-grid;place-items:center;margin-left:auto}
  .nav-links--global{display:none}
  .nav-links--global[data-open="true"]{display:flex;position:absolute;left:0;right:0;top:calc(100% + .45rem);width:auto;padding:.85rem;background:#fff;border:1px solid #C8D7DE;border-radius:14px;box-shadow:0 20px 46px rgba(7,42,82,.18);flex-direction:column;align-items:stretch;gap:.12rem;max-height:calc(100vh - 92px);overflow:auto}
  .nav-links--global[data-open="true"]>a:not(.button){width:100%;padding:.72rem .78rem;border-radius:9px}
  .nav-links--global[data-open="true"]>a[aria-current="page"]{background:var(--brand-ice)}
  .nav-links--global[data-open="true"]>a[aria-current="page"]::after{display:none}
  .nav-links--global[data-open="true"] .nav-cta{width:100%;border-radius:10px}
  .nav-links--global[data-open="true"] .nav-separator{width:100%;height:1px;margin:.35rem 0;background:var(--border)}
  .nav-links--global[data-open="true"] .account-menu{width:100%}
  .nav-links--global[data-open="true"] .account-menu>summary{width:100%;border-radius:9px}
  .nav-links--global[data-open="true"] .account-menu-panel{position:static;min-width:0;margin-top:.3rem;box-shadow:none;border-radius:9px}
  .nav-links--global[data-open="true"] .language-switch{width:100%;border-left:0;border-top:1px solid var(--border);padding:.55rem 0 0;margin-top:.25rem;justify-content:flex-start}
  .footer-global-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:820px){
  .nav--global{min-height:62px;padding:.45rem 0}
  .brand-mark{width:36px;flex-basis:36px}.brand-mark img{width:36px;max-height:36px}
  .brand-wordmark{font-size:1.18rem}
  .footer-main{padding:2.5rem 0 2rem}
  .footer-global-grid{grid-template-columns:1fr;gap:2rem}
  .footer-brand-column{max-width:640px}
  .footer-copyright-inner{align-items:flex-start;flex-direction:column;gap:.35rem}
  .contact-layout{grid-template-columns:1fr}
  .contact-info-card{position:static}
  .contact-name-grid{grid-template-columns:1fr}
  .contact-admin-head{display:grid}
  .contact-admin-meta{text-align:left}
  .contact-admin-actions{align-items:stretch;display:grid}
  .contact-admin-actions>.button{width:100%}
  .contact-status-form{grid-template-columns:1fr}
  .contact-status-form .button{width:100%}
}

@media(max-width:480px){
  .header-container{width:calc(100% - 1rem)}
  .brand-wordmark{font-size:1.08rem}
  .brand-mark{width:33px;flex-basis:33px}.brand-mark img{width:33px;max-height:33px}
  .nav-toggle--icon{width:42px;height:42px}
  .institution-logos--light{gap:.65rem}
  .institution-logo-link{width:calc(50% - .35rem);height:84px;min-width:120px}
  .contact-form{padding:1.2rem}
}

/* v0.2.6 — UI polish: readable global navigation, robust contact consent and refined footer */
@media(min-width:1241px){
  .nav-links--global{font-size:.975rem;gap:.68rem}
  .nav-links--global .nav-cta{font-size:.95rem}
  .nav--global{min-height:70px}
}

/* Contact form: keep the consent checkbox and its copy together at every viewport. */
.contact-page .public-page-shell{max-width:1120px}
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(270px,320px);gap:1.75rem}
.contact-form{min-width:0}
.privacy-consent-field{min-width:0;margin-top:.35rem}
.contact-consent{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:start!important;justify-content:start;gap:.75rem;width:100%;min-width:0;font-weight:550;line-height:1.55;cursor:pointer}
.contact-consent input[type="checkbox"]{appearance:auto;width:20px!important;height:20px!important;min-width:20px;min-height:20px;padding:0!important;margin:.16rem 0 0!important;border-radius:4px!important;box-shadow:none!important;accent-color:var(--brand-navy);flex:none}
.contact-consent span{display:block;min-width:0;overflow-wrap:anywhere}
.contact-form .form-actions{margin-top:.25rem}
.contact-info-card{min-width:0}

/* Footer logo sizing and static presentation. */
.footer-nursescape-logo{width:min(280px,100%)}
.institution-logos--light{gap:1.15rem}
.institution-logo-link{width:165px;height:102px;padding:.15rem;border-radius:8px;transition:none!important;background:transparent!important}
.institution-logo-link:hover,.institution-logo-link:focus-visible{transform:none!important;background:transparent!important;box-shadow:none!important;text-decoration:none}
.institution-logo-link img{max-height:98px}

/* Clean monochrome contact pictograms instead of text/emoji glyphs. */
.footer-contact-list a{grid-template-columns:22px minmax(0,1fr);gap:.65rem}
.footer-contact-icon{display:block;width:19px;height:19px;margin-top:.12rem;color:var(--brand-deep-teal);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Social brand icons stay recognisable but do not jump on hover. */
.social-icon{transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}
.social-icon:hover{transform:none;box-shadow:none;opacity:.86}

.footer-copyright-inner{font-size:.945rem;line-height:1.5}

@media(max-width:820px){
  .contact-page .public-page-shell{max-width:none}
  .contact-layout{grid-template-columns:minmax(0,1fr);gap:1.25rem}
  .contact-form{padding:1.35rem}
  .contact-info-card{width:100%}
  .footer-nursescape-logo{width:min(270px,100%)}
  .institution-logo-link{width:165px;height:100px}
  .institution-logo-link img{max-height:96px}
}

@media(max-width:480px){
  .contact-form{padding:1.15rem}
  .contact-consent{grid-template-columns:20px minmax(0,1fr);gap:.7rem;font-size:.96rem}
  .contact-consent input[type="checkbox"]{width:19px!important;height:19px!important;min-width:19px;min-height:19px}
  .footer-nursescape-logo{width:min(255px,100%)}
  .institution-logos--light{gap:.75rem}
  .institution-logo-link{width:calc(50% - .4rem);height:96px;min-width:125px}
  .institution-logo-link img{max-height:92px}
  .footer-copyright-inner{font-size:.92rem}
}

/* v0.3.0 — Room Package Platform */
.room-package-heading{align-items:flex-end}.room-package-hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.room-spec-card{display:flex;gap:1rem;align-items:flex-start}.room-spec-card h2{margin:.1rem 0 .45rem;font-size:1.08rem}.room-spec-card p{margin:0 0 .8rem;color:var(--muted)}.room-spec-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:15px;background:var(--brand-ice);color:var(--brand-navy);font-weight:900;letter-spacing:.04em}.room-spec-card.security .room-spec-icon{background:#eef5fb}.room-spec-card.sdk .room-spec-icon{background:#eaf8f6;color:var(--brand-deep-teal)}.room-spec-card code{display:block;overflow:auto;padding:.65rem .75rem;background:#f4f7f9;border-radius:10px;font-size:.78rem}.room-spec-pills{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.8rem}.room-spec-pills span{font-size:.78rem;border:1px solid var(--border);border-radius:999px;padding:.25rem .55rem;background:#fff}.room-package-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,360px);gap:1.5rem;align-items:start}.room-section-heading{display:flex;align-items:center;gap:.6rem}.room-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.room-package-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:1.25rem;box-shadow:var(--shadow-soft);transition:border-color .15s,box-shadow .15s}.room-package-card.is-selected{border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(28,146,140,.08),var(--shadow-soft)}.room-package-card-top{display:flex;justify-content:space-between;align-items:center}.room-cube{font-size:2rem;color:var(--brand-teal)}.room-package-card h3{margin:.7rem 0 .4rem;font-size:1.25rem}.room-package-card p{color:var(--muted)}.room-meta-list{display:grid;gap:.45rem;margin:1rem 0}.room-meta-list div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding-top:.45rem}.room-meta-list dt{font-weight:700}.room-meta-list dd{margin:0;color:var(--muted);text-align:right}.room-upload-panel{position:sticky;top:92px}.room-dropzone{display:grid;place-items:center;text-align:center;gap:.35rem;border:1.5px dashed var(--brand-soft-aqua);border-radius:18px;padding:1.2rem;background:#f8fcfc;cursor:pointer}.room-dropzone input{margin-top:.5rem;max-width:100%}.room-dropzone-icon{font-size:1.7rem;color:var(--brand-teal)}.room-version-section{margin-top:2.25rem}.room-version-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.4rem}.room-version-card .record-main{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.room-binding-section{border-color:var(--brand-pale-aqua)!important;background:linear-gradient(135deg,#fff,#f6fbfb)}.room-binding-current{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1rem}.room-binding-current p{margin:.25rem 0 0}.room-binding-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:end}.manifest-preview{max-height:520px;overflow:auto;background:#071d35;color:#eaf8f6;padding:1rem;border-radius:16px}.break-word{overflow-wrap:anywhere}.learner-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.learner-room-card{overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-soft)}.learner-room-visual{min-height:150px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#59bdb6 0,#1c928c 28%,#0a335e 78%);color:#fff;font-size:4rem}.learner-room-body{padding:1.25rem}.learner-room-body h2{margin:.65rem 0 .35rem}.room-attempt-meter{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:1rem 0}.dashboard-room-card{text-decoration:none;color:inherit}.dashboard-room-card>span{color:var(--brand-deep-teal);font-weight:800}.room-player-page .site-header,.room-player-page .site-footer{display:none}.room-player-page main{min-height:100vh}.room-player-shell{height:100vh;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#061b32}.room-player-topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem 1rem;background:#fff;border-bottom:1px solid #dce7ec}.room-player-topbar>div{display:flex;gap:.8rem;align-items:center}.room-player-brand{font-weight:900;color:var(--brand-navy)}.room-player-status{font-size:.9rem}.room-player-secure-note{padding:.4rem 1rem;background:#eaf8f6;color:#0d5968;font-size:.8rem;text-align:center}.room-runtime-frame{display:block;width:100%;height:100%;border:0;background:#fff}.empty-room-library{padding:2rem;text-align:center}
@media(max-width:1050px){.room-package-hero-grid{grid-template-columns:1fr}.room-package-layout,.room-version-grid{grid-template-columns:1fr}.room-upload-panel{position:static}.learner-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.room-library-grid,.learner-room-grid{grid-template-columns:1fr}.room-binding-form{grid-template-columns:1fr}.room-player-topbar{align-items:flex-start}.room-player-status{flex-wrap:wrap;justify-content:flex-end}.room-player-secure-note{font-size:.72rem}}
.admin-upgrade-page{max-width:1050px}.upgrade-count{display:inline-flex;padding:.45rem .7rem;border-radius:999px;font-size:.72rem;font-weight:850}.upgrade-count.has-pending{background:#fff4db;color:#7b5300}.upgrade-count.is-clear{background:#e7f6f2;color:#176b5f}.upgrade-safety-note{padding:1rem 1.15rem;margin-bottom:1rem;border:1px solid #c8dce0;border-radius:14px;background:#f3f9f9}.upgrade-safety-note p{margin:.2rem 0 0;color:var(--muted)}.migration-list{display:grid;gap:.65rem}.migration-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--border);border-radius:15px;background:#fff}.migration-card.is-pending{border-color:#d7c489;background:#fffdf7}.migration-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#edf3f6;color:var(--brand-navy);font-weight:900}.is-pending .migration-icon{background:#fff1c9;color:#7d5500}.migration-main h2{font-size:.92rem;margin:0}.migration-main p,.migration-main small{margin:0;color:var(--muted);font-size:.7rem}.migration-action form{margin:0}@media(max-width:820px){.migration-card{grid-template-columns:36px minmax(0,1fr)}.migration-action{grid-column:1/-1}.migration-action button{width:100%}}

/* v0.3.0.3 dedicated room management */
.room-management-page .container{max-width:1240px}.room-back-link{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.15rem;color:var(--brand-deep-teal);font-weight:800;text-decoration:none}.room-back-link:hover{text-decoration:underline}.room-management-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:end;margin-bottom:2rem}.room-management-hero .page-title{margin-bottom:.45rem}.room-management-meta{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1rem;color:var(--muted)}.room-management-kpis{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:.7rem}.room-management-kpis>div{min-width:105px;padding:.85rem 1rem;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.room-management-kpis strong{display:block;font-size:1.6rem;color:var(--brand-navy);line-height:1}.room-management-kpis span{display:block;margin-top:.35rem;font-size:.78rem;color:var(--muted)}.room-management-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}.room-management-main{min-width:0}.room-version-list{gap:1rem}.room-version-card-dedicated{display:grid;grid-template-columns:minmax(150px,.85fr) minmax(280px,1.4fr) auto;gap:1.15rem;align-items:center}.room-version-title-row{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.room-version-title-row strong{font-size:1.2rem}.room-version-meta{display:grid;gap:.35rem;min-width:0}.room-version-meta span{min-width:0;overflow-wrap:anywhere}.room-version-actions{justify-content:flex-end;align-items:center;flex-wrap:wrap}.room-version-actions form{margin:0}.room-version-upload-card{position:sticky;top:92px}.room-version-upload-card h2{margin-top:.1rem}.room-version-upload-card small{display:block;margin-top:.35rem;color:var(--muted)}
@media(max-width:980px){.room-management-hero{grid-template-columns:1fr}.room-management-kpis{grid-template-columns:repeat(3,1fr)}.room-management-layout{grid-template-columns:1fr}.room-version-upload-card{position:static}.room-version-card-dedicated{grid-template-columns:1fr}.room-version-actions{justify-content:flex-start}}
@media(max-width:620px){.room-management-kpis{grid-template-columns:1fr}.room-management-kpis>div{display:flex;justify-content:space-between;align-items:center}.room-management-kpis span{margin-top:0}.room-management-meta{align-items:flex-start;flex-direction:column;gap:.45rem}.room-version-actions{display:grid;grid-template-columns:1fr}.room-version-actions .button,.room-version-actions form,.room-version-actions button{width:100%}}

/* v0.3.0.7 learner cohort management */
.member-group-editor{grid-column:1/-1;border-top:1px solid var(--border);padding-top:.75rem;margin-top:.05rem}
.member-group-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;font-weight:750;color:var(--brand-navy);list-style:none;padding:.2rem 0}
.member-group-editor>summary::-webkit-details-marker{display:none}
.member-group-editor>summary::after{content:"+";display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border);border-radius:9px;font-size:1.1rem;line-height:1;color:var(--brand-navy);margin-left:auto}
.member-group-editor[open]>summary::after{content:"−"}
.member-group-editor .status-badge{margin-left:.25rem;margin-right:.25rem;white-space:nowrap}
.member-group-editor-body{padding:.8rem 0 .15rem}
.member-group-form{display:grid;gap:.85rem}
.member-group-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;border:0;padding:0;margin:0}
.member-group-option{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;min-width:0}
.member-group-option:has(input:checked){border-color:var(--brand-teal-dark);background:var(--brand-ice)}
.member-group-option input{margin-top:.18rem;flex:0 0 auto}
.member-group-option span{display:grid;gap:.15rem;min-width:0}
.member-group-option strong{overflow-wrap:anywhere}
.member-group-option small{color:var(--muted);font-size:.8rem}
@media(max-width:680px){.member-group-options{grid-template-columns:1fr}.member-group-editor>summary{align-items:flex-start;flex-wrap:wrap}.member-group-editor .status-badge{margin-left:0}}


/* v0.3.0.8 — learner group control polish + visible learner progress */
.member-group-options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.member-group-option{display:grid;grid-template-columns:1.15rem minmax(0,1fr);align-items:center;gap:.75rem;min-height:64px}
.member-group-option input[type="checkbox"]{appearance:auto;-webkit-appearance:checkbox;width:1.15rem!important;height:1.15rem!important;min-width:1.15rem;max-width:1.15rem;padding:0!important;margin:0!important;border-radius:3px;box-shadow:none;accent-color:var(--brand-dark-teal)}
.member-group-option span{min-width:0;line-height:1.35}
.member-group-option strong,.member-group-option small{display:block}
.member-group-option small{margin-top:.15rem}
.dashboard-progress-card{display:flex;flex-direction:column;gap:.65rem}
.dashboard-progress-card h2{margin-bottom:0}
.dashboard-progress-value{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap}
.dashboard-progress-value strong{font-size:2.3rem;line-height:1;color:var(--brand-deep-teal)}
.dashboard-progress-value span{font-size:.88rem;color:var(--muted);font-weight:700}
.nursescape-progress{display:block;width:100%;height:.7rem;border:0;border-radius:999px;overflow:hidden;background:var(--brand-ice)}
.nursescape-progress::-webkit-progress-bar{background:var(--brand-ice);border-radius:999px}
.nursescape-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--brand-dark-teal),var(--brand-aqua));border-radius:999px}
.nursescape-progress::-moz-progress-bar{background:var(--brand-dark-teal);border-radius:999px}
.learner-room-heading-row,.learner-room-progress-label,.room-score-line{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.room-state-badge{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);font-size:.74rem;font-weight:800;color:var(--brand-deep-teal);white-space:nowrap}
.learner-room-progress-block{display:grid;gap:.5rem;padding:1rem 0 .85rem;border-top:1px solid var(--border)}
.learner-room-progress-label,.room-score-line{font-size:.86rem;color:var(--muted)}
.learner-room-progress-label strong,.room-score-line strong{color:var(--text)}
.room-score-line{padding-top:.15rem}
@media(max-width:680px){.member-group-options{grid-template-columns:1fr}.learner-room-heading-row{align-items:flex-start;flex-wrap:wrap}}

/* v0.3.1 Room Management & Results */
.page-action-cluster{display:flex;gap:.65rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.inline-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.room-library-toolbar{display:flex;gap:.4rem;flex-wrap:wrap;margin:-.5rem 0 1.2rem}.room-library-toolbar a{display:inline-flex;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--brand-navy);text-decoration:none;font-weight:800;font-size:.84rem}.room-library-toolbar a.is-active{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}
.room-package-card-rich{padding:0;overflow:hidden}.room-cover-wrap{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--brand-midnight),var(--brand-teal));overflow:hidden}.room-cover-image,.learner-room-visual-cover img,.room-management-cover img{width:100%;height:100%;display:block;object-fit:cover}.room-cover-fallback{width:100%;height:100%;min-height:150px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,var(--brand-soft-aqua) 0,var(--brand-teal) 30%,var(--brand-navy) 78%);color:#fff;font-size:4rem}.room-cover-status{position:absolute;top:.8rem;right:.8rem;box-shadow:0 4px 18px rgba(7,42,82,.14)}.room-package-card-content{padding:1.2rem}.room-card-meta-pills{display:flex;gap:.4rem;flex-wrap:wrap;margin:.65rem 0}.room-card-meta-pills span{display:inline-flex;padding:.28rem .55rem;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);color:var(--brand-deep-teal);font-size:.76rem;font-weight:800}.room-card-actions,.learner-room-actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.room-card-actions .button,.learner-room-actions .button{margin:0}
.room-management-hero-rich{grid-template-columns:220px minmax(0,1fr) auto;align-items:center}.room-management-cover{aspect-ratio:16/9;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-soft);background:#fff;border:1px solid var(--border)}.room-management-copy{min-width:0}.room-management-primary-actions{justify-content:flex-start;margin-top:1rem}.room-management-layout-wide{grid-template-columns:minmax(0,1fr) 360px}.room-management-sidebar-stack{display:grid;gap:1rem;position:sticky;top:92px}.room-management-sidebar-stack .room-version-upload-card{position:static}.room-assignment-heading{margin-top:2rem}.room-metadata-card h2,.room-danger-zone h2{margin-top:0}.room-danger-zone{border-color:var(--danger-border)}.room-danger-zone form+form{margin-top:.65rem}
.results-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;margin:1.25rem 0}.results-kpi-grid .metric-card{min-width:0}.results-kpi-grid .metric-card strong{font-size:1.7rem}.results-filter-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.8rem;align-items:end;margin-bottom:1.5rem}.results-filter-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.results-filter-actions .button,.results-filter-actions button{white-space:nowrap}.results-list{display:grid;gap:.8rem}.result-attempt-card{display:grid;grid-template-columns:minmax(190px,1fr) minmax(240px,1.25fr) minmax(180px,.9fr) minmax(130px,.55fr) auto;gap:1rem;align-items:center;padding:1rem 1.1rem}.result-user-block{display:flex;align-items:center;gap:.75rem;min-width:0}.result-user-block>div:last-child,.result-context-block,.result-progress-block,.result-score-block,.result-action-block{display:grid;gap:.25rem;min-width:0}.result-user-block strong,.result-context-block strong{overflow-wrap:anywhere}.result-user-block small,.result-context-block span,.result-context-block small,.result-progress-block small,.result-score-block small,.result-action-block small{color:var(--muted)}.result-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--brand-ice);color:var(--brand-navy);font-weight:900}.result-score-block{text-align:center;justify-items:center}.result-score-block>strong{font-size:1.35rem;color:var(--brand-navy)}.result-action-block{justify-items:end}.room-state-badge.large{font-size:.9rem;padding:.45rem .75rem}
.attempt-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:1rem;margin:1rem 0 2rem}.attempt-summary-card{display:grid;gap:1rem}.attempt-summary-card h2{margin:0}.attempt-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.attempt-stat-grid>div{display:grid;gap:.25rem;padding:.85rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.attempt-stat-grid span{color:var(--muted);font-size:.8rem}.attempt-stat-grid strong{font-size:1.05rem;overflow-wrap:anywhere}.result-detail-list{display:grid;gap:.65rem;margin:0}.result-detail-list div{display:grid;grid-template-columns:minmax(110px,.6fr) minmax(0,1fr);gap:.8rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.result-detail-list div:last-child{border:0;padding-bottom:0}.result-detail-list dt{font-weight:800}.result-detail-list dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.event-timeline{display:grid;gap:.7rem}.event-item{display:grid;grid-template-columns:minmax(200px,.4fr) minmax(0,1fr);gap:1rem;align-items:start}.event-item>div{display:grid;gap:.2rem}.event-item small{color:var(--muted)}.event-item details{min-width:0}.event-item pre,.state-details pre,.docs-grid pre{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#071d35;color:#eaf8f6;padding:1rem;border-radius:14px;font-size:.8rem}.state-details{margin-top:1rem}.state-details summary,.event-item summary{cursor:pointer;font-weight:800;color:var(--brand-deep-teal)}
.narrow-result-container{max-width:900px}.learner-result-hero{text-align:center;display:grid;justify-items:center;gap:.55rem;padding:2rem}.learner-result-hero .page-title{margin:.1rem 0}.result-success-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e9f7ef;color:#176b38;font-size:2rem;font-weight:900}.learner-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.learner-result-grid .card{display:grid;gap:.55rem}.learner-result-grid .card>span{color:var(--muted);font-weight:700}.learner-result-grid .card>strong{font-size:1.8rem;color:var(--brand-navy)}.learner-result-grid .card>small{color:var(--muted)}.learner-result-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.room-player-stage{position:relative;min-height:0}.room-completion-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:1.25rem;background:rgba(6,27,50,.68);backdrop-filter:blur(6px)}.room-completion-overlay[hidden]{display:none}.room-completion-card{width:min(560px,100%);display:grid;justify-items:center;text-align:center;gap:.8rem;padding:2rem;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.25)}.room-completion-card h2{margin:0;font-size:1.65rem}.room-completion-card p{margin:0;color:var(--muted)}.room-completion-score{display:flex;gap:.8rem;align-items:baseline;padding:.65rem 1rem;border-radius:14px;background:var(--surface-soft)}.room-completion-score strong{font-size:1.35rem;color:var(--brand-navy)}
.docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.docs-grid .card{min-width:0}.docs-grid h2{margin-top:0}.docs-sdk-card{grid-column:1/-1}.docs-rules{margin-top:1rem}.docs-rules h2{margin-top:0}
.learner-room-visual-cover{min-height:170px;padding:0;overflow:hidden}.learner-room-visual-cover img{aspect-ratio:16/9}.learner-room-actions{margin-top:.4rem}
@media(max-width:1200px){.results-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-attempt-card{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(180px,.9fr);}.result-score-block{text-align:left;justify-items:start}.result-action-block{grid-column:2/-1;display:flex;align-items:center;justify-content:flex-end;gap:.8rem}.room-management-hero-rich{grid-template-columns:180px minmax(0,1fr)}.room-management-hero-rich .room-management-kpis{grid-column:1/-1}.room-management-layout-wide{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:900px){.results-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.results-filter-actions{grid-column:1/-1}.attempt-detail-grid{grid-template-columns:1fr}.room-management-layout-wide{grid-template-columns:1fr}.room-management-sidebar-stack{position:static}.room-management-hero-rich{grid-template-columns:160px minmax(0,1fr)}.docs-grid{grid-template-columns:1fr}.docs-sdk-card{grid-column:auto}}
@media(max-width:700px){.page-action-cluster{justify-content:flex-start}.results-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-filter-bar{grid-template-columns:1fr}.result-attempt-card{grid-template-columns:1fr}.result-action-block{grid-column:auto;justify-content:flex-start;display:flex}.result-score-block{justify-items:start}.attempt-stat-grid,.learner-result-grid{grid-template-columns:1fr}.event-item{grid-template-columns:1fr}.room-management-hero-rich{grid-template-columns:1fr}.room-management-cover{max-width:100%;width:100%}.room-management-hero-rich .room-management-kpis{grid-column:auto}.room-card-actions,.learner-room-actions{display:grid;grid-template-columns:1fr}.room-card-actions .button,.learner-room-actions .button{width:100%}.result-detail-list div{grid-template-columns:1fr;gap:.2rem}}


/* v0.3.2 Verifiable Certificates */
.certificate-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.certificate-card{position:relative;overflow:hidden;display:grid;gap:.7rem;border-color:#c9dfe1;background:linear-gradient(145deg,#fff 0%,#fbfefe 62%,#eef8f7 100%)}.certificate-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;bottom:-80px;border:24px solid rgba(28,146,140,.055)}.certificate-card.is-revoked{filter:saturate(.72);background:#fafafa}.certificate-card-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.certificate-seal{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--brand-navy);color:#fff;font-size:1.35rem;font-weight:900;box-shadow:0 8px 22px rgba(10,51,94,.16)}.certificate-card h2{margin:0;font-size:1.25rem;color:var(--brand-navy)}.certificate-card p{margin:0}.certificate-mini-meta{display:grid;gap:.55rem;margin:.35rem 0 0}.certificate-mini-meta div{display:grid;gap:.2rem}.certificate-mini-meta dt{font-size:.78rem;color:var(--muted);font-weight:800}.certificate-mini-meta dd{margin:0}.certificate-code{display:inline-block;max-width:100%;padding:.45rem .65rem;border-radius:9px;background:#f1f5f7;color:var(--brand-midnight);font-size:.82rem;overflow-wrap:anywhere}.certificate-card-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.4rem;position:relative;z-index:1}.certificate-empty{text-align:center;display:grid;justify-items:center;padding:2rem}.certificate-empty-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--brand-ice);color:var(--brand-teal);font-size:2rem;font-weight:900}
.certificate-result-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.1rem;align-items:center;border-color:#b9dcd9;background:linear-gradient(135deg,#fff,#f4fbfa);margin:1rem 0}.certificate-result-card.muted-certificate{grid-template-columns:1fr;background:var(--surface-soft);border-color:var(--border)}.certificate-result-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--brand-navy);color:#fff;font-size:1.8rem;font-weight:900}.certificate-result-copy{min-width:0}.certificate-result-copy h2{margin:.15rem 0 .35rem}.certificate-result-copy p{margin:.25rem 0}.certificate-result-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.instructor-certificate-callout{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;border-color:#c5dfde;background:#f8fcfc}.instructor-certificate-callout h2{margin:.15rem 0 .35rem}.instructor-certificate-callout.is-revoked{border-color:#e3bcbc;background:#fff7f7}.certificate-card.is-revoked .certificate-seal{background:#9a3f3f}
.certificate-kpis{grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px}.certificate-filter-bar{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,.6fr) auto;gap:.8rem;align-items:end;margin-bottom:1.25rem}.certificate-record-list{display:grid;gap:.8rem}.certificate-record{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) minmax(120px,.45fr) auto;gap:1rem;align-items:center}.certificate-record h2{margin:.35rem 0 .1rem;font-size:1.08rem}.certificate-record p{margin:.1rem 0}.certificate-record-context,.certificate-record-meta{display:grid;gap:.25rem;min-width:0}.certificate-record-context>*{overflow-wrap:anywhere}.certificate-record-context span,.certificate-record-context small,.certificate-record-meta span{color:var(--muted)}.certificate-record-actions{display:flex;justify-content:flex-end;gap:.45rem;align-items:center;flex-wrap:wrap}.certificate-revoke-menu{position:relative}.certificate-revoke-menu>summary{list-style:none;cursor:pointer;padding:.48rem .7rem;border:1px solid #e1b9b9;border-radius:10px;color:#8c2d2d;font-weight:800;font-size:.82rem}.certificate-revoke-menu>summary::-webkit-details-marker{display:none}.certificate-revoke-menu[open] form{position:absolute;z-index:20;right:0;top:calc(100% + .45rem);width:min(340px,82vw);padding:1rem;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px rgba(7,42,82,.16)}.certificate-revoke-menu textarea{width:100%;margin-top:.4rem}.certificate-revoke-menu button{margin-top:.65rem;width:100%}
.narrow-verification-container{max-width:940px}.verification-hero{text-align:center;display:grid;justify-items:center;gap:.5rem;padding:2.1rem}.verification-hero.valid{border-color:#acd9cf;background:linear-gradient(145deg,#fff,#f1fbf8)}.verification-hero.invalid{border-color:#e4c0c0;background:linear-gradient(145deg,#fff,#fff7f7)}.verification-mark{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-size:2.1rem;font-weight:900;background:#e4f5ef;color:#176b55}.verification-hero.invalid .verification-mark{background:#faeaea;color:#a12e2e}.verification-hero h1{margin:.15rem 0;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--brand-navy)}.verification-hero p{max-width:700px;margin:.25rem auto;color:var(--muted)}.verification-details{margin-top:1rem}.verification-institution{display:grid;gap:.25rem;text-align:center;padding-bottom:1rem;border-bottom:1px solid var(--border)}.verification-institution strong{font-size:1.15rem;color:var(--brand-navy)}.verification-institution span{color:var(--muted)}.verification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem;margin:1.15rem 0}.verification-grid div{display:grid;gap:.2rem;padding:.7rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.verification-grid dt{font-size:.78rem;font-weight:800;color:var(--muted)}.verification-grid dd{margin:0;font-weight:750;overflow-wrap:anywhere}.certificate-revocation{padding:1rem;border-radius:14px;background:#fff0f0;border:1px solid #e6bcbc;color:#762b2b}.certificate-revocation p{margin:.35rem 0}.certificate-fingerprints{margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}.certificate-fingerprints h2{font-size:1rem;margin:0 0 .65rem}.certificate-fingerprints>div{display:grid;gap:.25rem;margin:.5rem 0}.certificate-fingerprints span{font-size:.78rem;color:var(--muted);font-weight:800}.certificate-fingerprints code{padding:.5rem;background:#f3f6f8;border-radius:8px;overflow-wrap:anywhere;font-size:.74rem}
@media(max-width:1050px){.certificate-record{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)}.certificate-record-actions{justify-content:flex-start}.certificate-filter-bar{grid-template-columns:1fr 1fr}.certificate-filter-bar .results-filter-actions{grid-column:1/-1}.certificate-result-card{grid-template-columns:auto 1fr}.certificate-result-actions{grid-column:1/-1;padding-left:74px}}
@media(max-width:720px){.certificate-card-grid,.verification-grid{grid-template-columns:1fr}.certificate-record,.certificate-filter-bar{grid-template-columns:1fr}.certificate-filter-bar .results-filter-actions{grid-column:auto}.certificate-kpis{grid-template-columns:1fr 1fr}.certificate-result-card{grid-template-columns:1fr;justify-items:start}.certificate-result-actions{grid-column:auto;padding-left:0}.instructor-certificate-callout{align-items:flex-start;flex-direction:column}.certificate-record-actions{justify-content:flex-start}.certificate-revoke-menu[open] form{left:0;right:auto}.certificate-card-actions{display:grid;grid-template-columns:1fr}.certificate-card-actions .button{width:100%}}
@media(max-width:460px){.certificate-kpis{grid-template-columns:1fr}.verification-hero{padding:1.5rem}.certificate-code{font-size:.72rem}.certificate-result-actions{display:grid;width:100%;grid-template-columns:1fr}.certificate-result-actions .button{width:100%}}

/* v0.3.3 — public content release */
.public-hero--content{padding:clamp(4.6rem,7vw,7rem) 0 clamp(3.5rem,6vw,5rem);background:linear-gradient(135deg,#fff 0%,#f5fbfb 44%,#e1f0f0 100%)}
.public-hero--content::before{content:"";position:absolute;inset:auto auto -210px -160px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(10,51,94,.09),transparent 68%);pointer-events:none}
.public-hero--content .public-hero-copy{position:relative;z-index:1;min-width:0}.public-hero--content h1{max-width:16ch;font-size:clamp(2.55rem,5.4vw,4.9rem);line-height:1.03;margin:.55rem 0 1.35rem}.public-hero--content .lead{font-size:clamp(1.05rem,1.55vw,1.22rem);line-height:1.72;margin:.65rem 0;max-width:70ch}.public-hero--compact{padding:clamp(3.8rem,6vw,5.4rem) 0 clamp(2.9rem,5vw,4rem)}.public-hero--compact h1{font-size:clamp(2.4rem,5vw,4.2rem)}
.public-hero-narrow{max-width:1000px}.public-hero-utility{margin:1rem 0 0;font-size:.95rem;font-weight:700}.public-hero-utility a{text-decoration:underline;text-decoration-color:rgba(13,89,104,.3)}
.public-platform-visual{position:relative;overflow:hidden;padding:2rem;border-color:#bad8d8;background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(240,249,248,.96));box-shadow:0 24px 60px rgba(7,42,82,.11)}.public-platform-visual::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-75px;top:-85px;border:28px solid rgba(28,146,140,.07)}.public-platform-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand-navy),var(--brand-deep-teal));color:#fff;font-size:1.7rem;font-weight:900;box-shadow:0 12px 28px rgba(10,51,94,.18)}.public-platform-visual>strong{display:block;margin:1.1rem 0;color:var(--brand-midnight);font-size:1.18rem}.public-platform-visual ol{list-style:none;padding:0;margin:0;display:grid;gap:.62rem}.public-platform-visual li{display:grid;grid-template-columns:38px 1fr;gap:.7rem;align-items:center;padding:.7rem .75rem;border:1px solid #d9e7e8;border-radius:12px;background:rgba(255,255,255,.78);font-weight:750;color:#294a61}.public-platform-visual li span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--brand-ice);color:var(--brand-deep-teal);font-size:.75rem;font-weight:900}.public-platform-visual p{margin:1rem 0 0;color:var(--muted);font-size:.87rem;line-height:1.55}
.public-draft-wrap{position:relative;z-index:3;margin-top:-1.2rem}.public-draft-notice{display:flex;gap:.6rem 1rem;align-items:flex-start;flex-wrap:wrap;border-color:#d9c889;background:#fffbea;color:#5c4b10;box-shadow:0 10px 28px rgba(80,62,8,.08)}.public-draft-notice strong{color:#4a3b08}.public-draft-notice span{flex:1;min-width:min(100%,360px)}
.public-longform-section{background:#fff;padding-top:clamp(3rem,5vw,4.8rem)}.public-longform-section--legal{background:linear-gradient(180deg,#fff,#f9fbfc)}.public-content-layout{max-width:1080px}.public-content-layout.has-toc{max-width:1240px;display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:clamp(2rem,4vw,4.4rem);align-items:start}.public-article{min-width:0}.public-article>.public-content-section:first-child{padding-top:0;border-top:0}.public-content-section{scroll-margin-top:95px;padding:clamp(2.4rem,4.5vw,4rem) 0;border-top:1px solid #e1eaed}.public-content-section h2{font-size:clamp(1.75rem,3.1vw,2.55rem);line-height:1.15;margin:0 0 1.2rem;max-width:28ch}.public-content-section>p,.public-subsection>p{max-width:80ch;color:#435967}.public-content-section p{margin:.7rem 0;line-height:1.78}.public-content-section ul,.public-content-section ol{padding-left:1.35rem;margin:1rem 0;color:#435967}.public-content-section li{margin:.4rem 0;line-height:1.65}.public-content-section strong{color:var(--brand-midnight)}.public-content-section code{padding:.15rem .38rem;border-radius:6px;background:#edf4f6;color:#0a4d5a;font-size:.9em;overflow-wrap:anywhere}.public-content-section blockquote{margin:1.25rem 0;padding:.9rem 1.1rem;border-left:4px solid var(--brand-teal);background:#f4faf9;color:#3f5965;border-radius:0 12px 12px 0}.public-content-section table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.2rem 0;background:#fff;border:1px solid var(--border);border-radius:12px}.public-content-section th{background:#f1f6f7;color:var(--brand-navy);font-weight:800}.public-content-section th,.public-content-section td{min-width:140px;vertical-align:top}
.public-subsections{display:grid;gap:1.25rem;margin-top:1.3rem}.public-subsections--cards{grid-template-columns:repeat(2,minmax(0,1fr))}.public-subsections--cards .public-subsection{padding:1.35rem 1.4rem;border:1px solid #d9e5e8;border-radius:18px;background:linear-gradient(145deg,#fff,#fbfdfd);box-shadow:0 8px 24px rgba(7,42,82,.045)}.public-subsection h3{font-size:1.16rem;line-height:1.3;margin:0 0 .55rem;color:var(--brand-navy)}.public-subsections:not(.public-subsections--cards) .public-subsection{padding:1rem 0;border-top:1px solid #e7edef}.public-subsections:not(.public-subsections--cards) .public-subsection:first-child{border-top:0;padding-top:0}
.public-toc-wrap{position:sticky;top:92px}.public-toc{padding:1rem;border:1px solid #dbe6e9;border-radius:16px;background:#f8fbfc;max-height:calc(100vh - 120px);overflow:auto}.public-toc>strong{display:block;color:var(--brand-navy);font-size:.92rem;margin-bottom:.65rem}.public-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.15rem;counter-reset:toc}.public-toc li{counter-increment:toc}.public-toc a{display:grid;grid-template-columns:26px 1fr;gap:.35rem;padding:.48rem .45rem;border-radius:9px;color:#426177;font-size:.82rem;line-height:1.35;text-decoration:none}.public-toc a::before{content:counter(toc,decimal-leading-zero);color:var(--brand-teal);font-size:.68rem;font-weight:900;padding-top:.12rem}.public-toc a:hover,.public-toc a:focus-visible{background:#eaf5f4;color:var(--brand-navy)}
.public-page-shell-wide{width:min(1240px,calc(100% - 2rem));margin-inline:auto}.public-section-heading{margin-bottom:1.4rem}.public-section-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:.25rem 0}.public-section-heading p{color:var(--muted);max-width:70ch;margin:.45rem 0}.public-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.public-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.public-info-card{padding:1.35rem;border-color:#d9e5e8;box-shadow:0 8px 26px rgba(7,42,82,.05)}.public-info-card h3{font-size:1.05rem;margin:.05rem 0 .6rem}.public-info-card p{color:#5a6f7c;margin:0;font-size:.93rem;line-height:1.65}.public-contact-intro{background:#fff}.public-contact-form-section{background:#f6f9fa}.public-section-heading--form{margin:0 0 1rem}.contact-info-card hr{border:0;border-top:1px solid var(--border);margin:1.2rem 0}.public-faq-section{background:#fff}.public-faq-list{display:grid;gap:.75rem}.public-faq-item{border:1px solid #d9e5e8;border-radius:14px;background:#fff;overflow:hidden}.public-faq-item summary{cursor:pointer;padding:1rem 1.15rem;font-weight:800;color:var(--brand-navy);list-style:none}.public-faq-item summary::-webkit-details-marker{display:none}.public-faq-item summary::after{content:"+";float:right;color:var(--brand-teal);font-size:1.2rem}.public-faq-item[open] summary::after{content:"−"}.public-faq-item p{padding:0 1.15rem 1rem;margin:0;color:var(--muted)}
.public-sitemap-page{background:#fff}.public-sitemap-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.public-sitemap-group{padding:1.35rem;border:1px solid #dce6e9;border-radius:18px;background:#fbfdfd}.public-sitemap-group h2{margin:.1rem 0 1rem;font-size:1.25rem}.public-sitemap-list{display:grid;gap:.6rem}.public-sitemap-item{display:grid;gap:.18rem;padding:.75rem .8rem;border:1px solid transparent;border-radius:11px;color:inherit;text-decoration:none}.public-sitemap-item:hover{background:#eef7f6;border-color:#d2e5e2;text-decoration:none}.public-sitemap-item strong{color:var(--brand-navy)}.public-sitemap-item span{font-size:.86rem;color:var(--muted);line-height:1.45}
.auth-shell--public-login{width:min(1080px,calc(100% - 2rem));margin:clamp(3rem,6vw,6rem) auto}.auth-login-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);gap:1.25rem;align-items:stretch}.auth-login-card,.auth-access-note{padding:clamp(1.5rem,3vw,2.2rem)}.auth-login-card h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:.35rem 0 .85rem}.auth-login-form{margin-top:1.35rem}.auth-forgot-link{font-weight:750;justify-self:start}.auth-access-note{background:linear-gradient(145deg,#f7fcfb,#eaf5f4);border-color:#cfe2e1}.auth-access-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--brand-navy);color:#fff;font-size:1.55rem;font-weight:900}.auth-access-note h2{margin:1rem 0 .6rem}.auth-access-note p{color:#516977}.auth-access-note .button{margin-top:.45rem}.auth-security-note{margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid #cfe0df}.auth-security-note strong{color:var(--brand-navy)}.auth-security-note p{font-size:.86rem;margin:.35rem 0 0}
@media(max-width:1100px){.public-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.public-content-layout.has-toc{grid-template-columns:1fr}.public-toc-wrap{position:static}.public-toc{max-height:none}.public-toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}.public-sitemap-groups{grid-template-columns:1fr}}
@media(max-width:820px){.public-subsections--cards{grid-template-columns:1fr}.public-card-grid,.public-card-grid--4{grid-template-columns:1fr}.auth-login-grid{grid-template-columns:1fr}.public-toc ol{grid-template-columns:1fr}.public-hero--content h1{max-width:18ch}.public-longform-section{padding-top:2.7rem}}
@media(max-width:520px){.public-page-shell-wide{width:calc(100% - 1rem)}.public-hero--content{padding:3.6rem 0 2.9rem}.public-hero--content h1{font-size:clamp(2.3rem,11.5vw,3.35rem)}.public-content-section{padding:2.3rem 0}.public-subsections--cards .public-subsection{padding:1.1rem}.public-draft-notice{margin-inline:.2rem}.auth-shell--public-login{width:calc(100% - 1rem);margin:2rem auto}.auth-login-card,.auth-access-note{padding:1.25rem}}

/* v0.3.6 — Home layout refinement */
.public-hero--home .public-home-hero-inner{position:relative;z-index:1;max-width:1220px}
.public-hero--home .public-hero-copy{max-width:none}
.public-hero--home h1{max-width:22ch;font-size:clamp(2.35rem,4.65vw,4.35rem);line-height:1.05}
.public-hero--home .lead{max-width:94ch}
.public-content-layout--home{max-width:1220px}
.public-content-layout--home .public-content-section h2{max-width:none}
.public-content-layout--home .public-content-section>p{max-width:98ch}
.public-content-layout--home .public-subsections--cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@media(max-width:1050px){.public-content-layout--home .public-subsections--cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.public-content-layout--home .public-subsections--cards{grid-template-columns:1fr}.public-hero--home h1{max-width:20ch}}
@media(max-width:520px){.public-hero--home h1{font-size:clamp(2.15rem,10.5vw,3.05rem)}}
