:root {
  font-family: system-ui, -apple-system, sans-serif;
  color: #233b3c;
  background: #f6f6f0;
  font-size: 16px;
}
* { box-sizing: border-box; }
body { margin: 0; }
header {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 1.3rem 5vw;
  border-bottom: 1px solid #d2d9d2;
  background: #fff;
}
header strong { font-size: 1.4rem; }
header > span { color: #576666; }
header > a:last-child { margin-left: auto; }
.brand { color: inherit; text-decoration: none; }
#logout { margin-left: auto; }
.mark { background: #e7b854; padding: .1rem .5rem; border-radius: .6rem; margin-right: .5rem; }
.notice { padding: .8rem 5vw; background: #f0e5cb; color: #59420f; font-size: .85rem; }
main { max-width: 1140px; margin: 2.5rem auto; padding: 0 1.5rem; }
h1 { font-size: clamp(2rem, 4vw, 3.8rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.12; margin: .7rem 0 1.2rem; }
h2 { font-size: 1.2rem; margin-top: 0; }
h3 { margin-top: 0; }
.eyebrow { letter-spacing: .12em; font-size: .75rem; font-weight: 700; }
.intro { max-width: 650px; line-height: 1.7; color: #536463; margin-bottom: 2rem; }
.auth-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: start; }
.auth-intro { padding: 1rem 0; }
.auth-card { padding: 1.7rem; border: 1px solid #d3dcd5; border-radius: 12px; background: white; box-shadow: 0 10px 32px #233b3c0b; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; margin: 1.4rem 0; }
form, .card { padding: 1.5rem; border: 1px solid #d3dcd5; border-radius: 12px; background: white; }
.auth-card form { padding: 0; border: 0; }
label { display: block; font-size: .9rem; font-weight: 600; margin: 1rem 0; }
input, select, textarea {
  display: block;
  width: 100%;
  font: inherit;
  color: inherit;
  border: 1px solid #83968e;
  border-radius: 6px;
  padding: .8rem;
  margin-top: .4rem;
  background: #fff;
}
input[type=checkbox] { display: inline; width: auto; }
.inline { display: flex; gap: .7rem; align-items: center; }
button {
  background: #245b59;
  color: white;
  border: 1px solid #245b59;
  border-radius: 6px;
  padding: .75rem 1rem;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
button.secondary { background: transparent; color: #245b59; }
.auth-switches { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin-top: 1rem; }
.text-button { border: 0; background: transparent; color: #245b59; padding: .3rem 0; text-decoration: underline; }
button:disabled { opacity: .55; cursor: wait; }
.field-help, .email-guidance, .app-detail { color: #536463; font-size: .9rem; line-height: 1.55; }
.email-guidance { padding: .8rem; background: #f0f4ef; border-radius: 6px; }
a { color: #245b59; }
nav { display: flex; gap: .6rem; margin: 0 0 2rem; border-bottom: 1px solid #cbd5ce; }
nav button { background: transparent; border-color: transparent; color: #245b59; border-radius: 6px 6px 0 0; }
nav button[aria-pressed=true] { background: #245b59; color: white; }
.workspace-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: center; }
.context-control { max-width: 520px; padding: 1rem 1.3rem; background: #eaf0e9; border-radius: 10px; }
.context-control label { margin-top: 0; }
.context-control p { margin-bottom: 0; color: #536463; font-size: .88rem; line-height: 1.5; }
.records-grid { grid-template-columns: 1fr 1.5fr; }
#records { padding: 0; list-style: none; }
#records button { display: block; text-align: left; width: 100%; margin: .7rem 0; background: #f0f4ef; color: #233b3c; border-color: #d2d9d2; }
#save-status { font-weight: 600; }
#message, .form-feedback { padding: 1rem; background: #e8eee6; border-radius: 6px; white-space: pre-wrap; line-height: 1.5; }
#message:empty, .form-feedback:empty { display: none; }
.app-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.app-card { padding: 1.4rem; border: 1px solid #d3dcd5; border-radius: 12px; background: white; }
.app-card.is-selected { border-color: #245b59; box-shadow: 0 0 0 2px #245b5920; }
.selected-app { color: #245b59; font-weight: 700; font-size: .8rem; }
.app-card h2 { margin-bottom: .7rem; }
.app-card p { line-height: 1.5; }
.app-card .app-status { display: inline-block; padding: .35rem .55rem; border-radius: 5px; background: #eaf0e9; font-weight: 700; font-size: .9rem; }
.app-card .app-detail { min-height: 2.8rem; }
.status-note { color: #536463; line-height: 1.55; }
details { border-top: 1px solid #cbd5ce; padding: 1.5rem 0; }
summary { cursor: pointer; font-weight: 600; }
pre, output { display: block; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .85rem; }
footer { padding: 2rem 5vw; color: #576666; font-size: .8rem; }
.skip { position: absolute; top: -100px; }
.skip:focus { top: 0; background: #fff; padding: 1rem; }
:focus-visible { outline: 3px solid #b07100; outline-offset: 3px; }
[hidden] { display: none !important; }
@media (max-width: 720px) {
  .auth-layout, .grid, .records-grid, .app-grid { grid-template-columns: 1fr; }
  .auth-layout { gap: 1rem; }
  .auth-intro { padding-bottom: 0; }
  .workspace-heading { display: block; }
  header { gap: 1rem; }
  header > span { display: none; }
  main { margin-top: 1.5rem; padding: 0 1rem; }
  nav { flex-wrap: wrap; }
  nav button { padding: .6rem; }
}

.form-feedback { margin: .25rem 0 .75rem; border-left: 4px solid #24595b; font-weight: 600; }

#save-status { font-weight: 700; padding: .65rem; border-left: 4px solid #24595b; background: #eef4ef; }
#save-status[data-state="Conflict"], #save-status[data-state="Save failed"] { border-color: #954213; background: #fff1e5; }
.draft-notice { font-size: .9rem; }
#conflict-panel { border: 2px solid #954213; padding: 1rem; margin-block: 1rem; }
.conflict-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.conflict-columns pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 24rem; overflow: auto; }
@media (max-width: 600px) { .conflict-columns { grid-template-columns: 1fr; } }

#retained-draft-text { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 24rem; overflow: auto; }

#monthly-billing { margin-block: 1.5rem; padding: 1rem; border: 2px solid #24595b; background: #f5f8f5; }
.billing-scroll { overflow-x: auto; }
#monthly-billing table { width: 100%; border-collapse: collapse; text-align: left; }
#monthly-billing th, #monthly-billing td { padding: .7rem .4rem; border-bottom: 1px solid #cbd5ce; }
#monthly-billing caption { text-align: left; font-weight: 600; margin-bottom: .7rem; }
#monthly-billing input { width: 6rem; min-width: 4rem; }
#billing-quote { padding: 1rem; margin-block: 1rem; border: 2px solid #b07100; background: #fff8e8; }
#billing-quote-cost, #billing-estimate { font-weight: 700; }
#billing-assignments li { margin-bottom: .7rem; overflow-wrap: anywhere; }

/* Shared shell: one navigation pattern regardless of the assigned apps. */
header { background:#174b46; color:#fff; padding:1rem 2rem; gap:1.2rem; }
header > span { color:#e1eeea; }
header button.secondary, #app-launcher { color:#fff; border-color:#658a82; background:transparent; }
#account-settings { margin-left:auto; }
#logout { margin-left:0; }
#current-area { font-size:.9rem; }
#app-launcher { font-size:1.4rem; line-height:1; }
main { max-width:1240px; }
#home-view .app-grid, #apps-view .app-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.app-card { position:relative; box-shadow:0 3px 10px #183d3a06; min-height:210px; }
.app-card h2 { padding-right:4rem; }
.pin-button { position:absolute; right:.8rem; top:.8rem; font-size:.75rem; padding:.4rem; }
.empty-apps { grid-column:1/-1; padding:1.5rem; border:1px dashed #a8bcb2; border-radius:10px; color:#536463; }
.context-control { max-width:none; display:grid; grid-template-columns:minmax(180px,320px) 1fr; gap:1.5rem; align-items:center; margin-block:1.5rem; }
.context-control label { margin-bottom:0; }
dialog { color:#233b3c; border:1px solid #b5c8be; border-radius:16px; width:min(780px,92vw); padding:1.8rem; box-shadow:0 20px 80px #0003; }
dialog::backdrop { background:#142b2955; }
#close-launcher { float:right; }
.catalogue-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.2rem; }
.catalogue-grid article { background:white; border:1px solid #d3dcd5; padding:1rem; border-radius:10px; }
.catalogue-grid h3 { font-size:1rem; }
.catalogue-grid p { font-size:.9rem; line-height:1.5; }
.catalogue-grid button { font-size:.85rem; }
@media(max-width:800px){ #home-view .app-grid,#apps-view .app-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } header { padding:1rem; gap:.6rem; flex-wrap:wrap; } .context-control { grid-template-columns:1fr; gap:0; } }
@media(max-width:480px){ #home-view .app-grid,#apps-view .app-grid,.catalogue-grid { grid-template-columns:1fr; } header strong { font-size:1.1rem; } #account-settings,#logout { font-size:.8rem; padding:.5rem; } }

/* Approved shared-home presentation. Service authority and app routes are unchanged. */
:root{color:#203e3a;background:#f6f7f3;--surface:#fff;--line:#d4dfd7;--ink:#203e3a;--green:#215c51;--muted:#526960}
header{background:var(--surface);color:var(--ink);padding:1.25rem 2rem;border-bottom:1px solid var(--line)}
header strong{font-size:1.6rem;letter-spacing:-.04em}header>span{color:var(--muted)}
header button.secondary,#app-launcher{color:var(--green);background:white;border-color:var(--line)}
#app-launcher{min-width:46px;min-height:46px}#current-area{font-size:.85rem}
.notice{font-size:.78rem;padding:.7rem 2rem;background:#e6ded0;color:#463e2a}
main{max-width:1380px;margin:0 auto;padding:0;min-height:70vh}
#entry{padding:2.5rem;gap:2.5rem}.auth-intro h1{font-size:clamp(2.4rem,5vw,4rem)}
.auth-card{box-shadow:0 6px 24px #183d3a06}.auth-intro .intro{font-size:1rem}
#workspace{display:grid;grid-template-columns:185px minmax(0,1fr);align-items:start;min-height:75vh}
#workspace>.workspace-nav{grid-column:1;grid-row:1/4;align-self:stretch;display:flex;flex-direction:column;gap:.6rem;padding:1.8rem .85rem;margin:0;border:0;border-right:1px solid var(--line);background:#edf2ed}
.workspace-nav button{width:100%;text-align:left;font-size:.88rem;min-height:46px;border-radius:7px}
.workspace-nav button[aria-pressed=true]{background:var(--green);color:#fff}
#workspace>.context-control{grid-column:2;grid-row:1;margin:1.8rem 2.5rem 0;padding:1rem 1.2rem;max-width:calc(100% - 5rem);background:#edf2eb;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:1.4rem}
#workspace>#retained-draft{grid-column:2;grid-row:2;margin:1rem 2.5rem 0}
#workspace>.workspace-view{grid-column:2;grid-row:3;padding:2rem 2.5rem 2.5rem;min-width:0;width:100%}
.workspace-view h1{font-size:clamp(2rem,3.6vw,3rem)}p{line-height:1.6}#account{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}
form,.card,.app-card{border-color:var(--line);background:var(--surface)}
button{background:var(--green);border-color:var(--green);border-radius:7px;min-height:44px}
button.secondary{background:white;color:var(--green);border-color:var(--line)}button:disabled{cursor:not-allowed}
button:hover:not(:disabled){filter:brightness(.96)}.text-button{background:transparent;color:var(--green);border:0}
input,select,textarea{min-height:44px;max-width:100%;min-width:0}input[type=checkbox]{min-height:20px;width:20px;height:20px}
label,fieldset{min-width:0}fieldset{border:1px solid var(--line);border-radius:8px;padding:1rem}legend{font-weight:600;padding:0 .4rem}
#home-view .app-grid,#apps-view .app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.app-card{padding:1.4rem;display:flex;flex-direction:column;align-items:flex-start;min-height:240px;box-shadow:none}
.app-card h2{padding:0;margin:1rem 0 .5rem;overflow-wrap:anywhere;font-size:1.12rem}
.app-card .app-detail{min-height:0;margin:.4rem 0 1.2rem;font-size:.85rem}
.app-card .app-status{font-size:.76rem;overflow-wrap:anywhere;margin:.3rem 0;background:#e7f0e7;color:#28543f}
.app-card>button:not(.pin-button){margin-top:auto}.app-card.is-selected{border-color:var(--line);box-shadow:none}
.app-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#3b789e;color:#fff;font-weight:750;font-size:18px;margin-bottom:.3rem;flex-shrink:0}
.icon-bookings{background:#5266aa}.icon-buildings{background:#347d82}.icon-staffline{background:#8466a9}.icon-tasks{background:#357f65}.icon-risk-matrix{background:#936524}.icon-risk-assessments{background:#a8543c}.icon-procedures{background:#657638}.icon-fra{background:#a64740}.icon-meetings{background:#646da3}
.pin-button.secondary{right:.6rem;top:.6rem;width:44px;height:44px;font-size:1.25rem;border:0;background:transparent;padding:.4rem}
.workspace-heading{gap:1rem;flex-wrap:wrap}.workspace-heading h2{margin:0}
.catalogue-grid{gap:1rem}.catalogue-grid article{display:flex;align-items:flex-start;flex-direction:column;padding:1.3rem;border-color:var(--line)}
.catalogue-grid h3{margin:1rem 0 .5rem}.catalogue-grid p{color:var(--muted)}.catalogue-grid button{margin-top:auto}
summary{min-height:44px;padding:.5rem 0}#administration{border:0;padding-top:1rem}#administration>summary{font-size:1.1rem}
.records-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid>*{min-width:0}
#records button{overflow-wrap:anywhere;line-height:1.5;padding:1rem}
#editor>button{margin:0 .3rem .7rem 0}#files{padding-left:1.1rem}#files li{margin:.9rem 0;overflow-wrap:anywhere}
#history-output{font:inherit;font-size:.9rem;line-height:1.6;background:#edf2eb;border-radius:8px;padding:1rem;max-height:28rem;overflow:auto}#history-output:empty{display:none}
#conflict-panel{border-radius:9px;border-width:1px;background:#fff8ef}.conflict-columns pre{padding:.8rem;background:white;border:1px solid var(--line);border-radius:6px;font-family:inherit;line-height:1.6}
#membership-list{padding:0;list-style:none}#membership-list li{padding:1rem;background:white;border:1px solid var(--line);border-radius:8px;margin:.6rem 0;overflow-wrap:anywhere}
#member-management{margin-top:2rem}#monthly-billing{border-width:1px;border-radius:12px;padding:1.5rem}#billing-cart{padding:1rem}
#billing-quote{border-width:1px;border-radius:8px}#invite-result{font-family:inherit;background:#edf2eb;border-radius:7px;padding:.8rem;line-height:1.6}#invite-result:empty{display:none}
#security-view #password{max-width:650px;margin:1.5rem 0}#mfa-required,#recovery-required{max-width:700px;margin:2rem auto;padding:1.5rem}
#message{margin:1rem 2rem;position:sticky;bottom:1rem;border:1px solid #c1d2c0;box-shadow:0 3px 12px #183d3a0a;z-index:2}
dialog{max-height:85vh;overflow:auto;background:#f6f7f3}dialog .app-card{min-height:230px}#close-launcher{margin-bottom:1rem}
footer{border-top:1px solid var(--line);padding:1.5rem 2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media(max-width:1050px){#workspace{grid-template-columns:160px minmax(0,1fr)}#workspace>.workspace-view{padding:1.8rem}#workspace>.context-control{margin:1.5rem 1.8rem 0;max-width:calc(100% - 3.6rem)}#home-view .app-grid,#apps-view .app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.records-grid,#administration>.grid{grid-template-columns:1fr}#entry{padding:2rem}.auth-layout{grid-template-columns:1fr 1fr;gap:1.5rem}.catalogue-grid{grid-template-columns:1fr}}
@media(max-width:720px){#workspace{display:block}#workspace>.workspace-nav{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.65rem;border-right:0;border-bottom:1px solid var(--line)}.workspace-nav button{min-width:0;padding:.7rem;font-size:.82rem}#workspace>.context-control{margin:1.2rem 1rem 0;max-width:calc(100% - 2rem);grid-template-columns:1fr;gap:.4rem;padding:1rem}#workspace>.workspace-view{padding:1.5rem 1rem}#workspace>#retained-draft{margin:1rem}header{padding:1rem;gap:.7rem;flex-wrap:wrap}header strong{font-size:1.4rem}#account-settings,#logout{padding:.6rem .75rem;font-size:.82rem;min-height:44px}.notice{padding:.65rem 1rem}#entry{padding:1.5rem 1rem;grid-template-columns:1fr}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid,.records-grid{grid-template-columns:1fr}.auth-card{padding:1.2rem}.app-card{padding:1.2rem}.context-control p{font-size:.8rem}.workspace-heading{display:flex}.workspace-view h1{font-size:2rem}#message{margin:1rem}#monthly-billing{padding:1rem}#billing-cart{padding:.7rem}#monthly-billing table{min-width:480px}form,.card{padding:1.1rem}#mfa-required,#recovery-required{margin:1rem}.app-grid{grid-template-columns:1fr}footer{padding:1.3rem 1rem}}
@media(max-width:420px){#home-view .app-grid,#apps-view .app-grid,.catalogue-grid{grid-template-columns:1fr}#account-settings{margin-left:0}header strong{font-size:1.3rem}#logout{margin-left:auto}#workspace>.workspace-view h1{font-size:1.85rem}}

/* Organisation administration */
.admin-sections{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.admin-sections a{padding:.65rem .9rem;border:1px solid var(--line,#d7dfe3);border-radius:999px;color:inherit;text-decoration:none;background:#fff}.admin-summary{padding:1rem;background:#eaf3f0;border-radius:.75rem;font-weight:600}.admin-review{padding:1.5rem;border:2px solid #267065;border-radius:1rem;background:#f3faf7;margin:1rem 0}.admin-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7}.admin-review button{margin:.4rem .5rem .4rem 0}#administration>.grid{align-items:start}#membership-list{list-style:none;padding:0;display:grid;gap:.7rem}#membership-list li{padding:1rem;border:1px solid #d7dfe3;border-radius:.7rem;overflow-wrap:anywhere}#activity-list li{margin:.8rem 0;overflow-wrap:anywhere}#admin-feedback:not(:empty){padding:1rem;background:#fff5dd;border-radius:.7rem}#grant,#licence-assignment,#admin-activity,#members-heading{scroll-margin-top:2rem}#licence-features label{display:flex;align-items:center;gap:.5rem}#licence-features input{width:auto}@media(max-width:650px){.admin-sections a{flex:1 1 40%;text-align:center}.admin-review{padding:1rem}}

.admin-invite{margin:1rem 0 1.5rem}.admin-access-grid{margin:1.5rem 0}#member-management>p{max-width:70ch}#admin-activity{margin-top:1.5rem}

/* Runtime adoption: approved shared-home rhythm, with original service targets retained. */
.shared-home-runtime .brand{flex-shrink:0}.brand-purpose{display:block;font-size:.68rem;font-weight:500;letter-spacing:0;margin-top:.25rem;color:var(--muted)}
.shared-home-runtime #entry{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:start;padding-block:3rem}
.shared-home-runtime .auth-intro{min-width:0}.shared-home-runtime .auth-intro h1{font-size:clamp(2.25rem,4.3vw,3.8rem);max-width:16ch}
.shared-home-runtime .auth-intro>.intro{max-width:58ch}.annual-offer{padding:1rem 1.2rem;border-left:3px solid var(--green);background:#edf2eb;border-radius:0 8px 8px 0;font-size:.9rem!important}
.shared-home-runtime .catalogue{margin-top:1.5rem}.shared-home-runtime summary{min-height:44px;padding-block:.5rem;line-height:1.5}
.shared-home-runtime .catalogue-grid article{min-width:0}.shared-home-runtime .catalogue-grid button{margin-top:auto;max-width:100%;overflow-wrap:anywhere}
.shared-home-runtime .auth-card{padding:1.65rem}.shared-home-runtime .auth-card h2{font-size:1.45rem;letter-spacing:-.025em}
.shared-home-runtime .permissions-guidance{max-width:72ch;color:var(--muted)}
.shared-home-runtime #administration{margin-top:1.5rem}.shared-home-runtime #member-management{margin-top:1.7rem}
.shared-home-runtime #invitation-delivery-list{padding-left:1.2rem;line-height:1.7;overflow-wrap:anywhere}.shared-home-runtime #invitation-delivery-feedback:empty{display:none}
.shared-home-runtime .admin-sections{border-bottom:0}.shared-home-runtime #licence-features label{min-height:44px}
.shared-home-runtime #security-view>form{max-width:680px;margin-top:1.5rem}.shared-home-runtime #mfa-required,.shared-home-runtime #recovery-required{max-width:700px;margin:2rem auto;padding:1.5rem}
.shared-home-runtime #message:not(:empty){margin:1rem 1.5rem}.shared-home-runtime footer{border-top:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;flex-wrap:wrap}
.shared-home-runtime dialog{max-height:85dvh;overflow:auto}.shared-home-runtime .skip:focus{z-index:10;left:12px;top:12px;border:2px solid var(--green)}
.shared-home-runtime button,.shared-home-runtime a,.shared-home-runtime input,.shared-home-runtime select,.shared-home-runtime summary{touch-action:manipulation}
.shared-home-runtime button,.shared-home-runtime select{overflow-wrap:anywhere}.shared-home-runtime :focus-visible{outline:3px solid #a46a0b;outline-offset:3px}
@media(max-width:960px){.shared-home-runtime #entry{gap:1.5rem;padding:2rem}.shared-home-runtime #entry .catalogue-grid{grid-template-columns:1fr}.shared-home-runtime .brand-purpose{display:none}}
@media(max-width:720px){.shared-home-runtime #entry{grid-template-columns:1fr;padding:1.5rem 1rem}.shared-home-runtime .auth-intro h1{max-width:20ch}.shared-home-runtime #entry .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shared-home-runtime .auth-card{padding:1.3rem}.shared-home-runtime header{flex-wrap:wrap}.shared-home-runtime #account-settings{margin-left:auto}.shared-home-runtime .context-control{min-width:0}.shared-home-runtime .context-control label{min-width:0}}
@media(max-width:420px){.shared-home-runtime #entry .catalogue-grid{grid-template-columns:1fr}.shared-home-runtime header{padding:.85rem;gap:.5rem}.shared-home-runtime #account-settings,.shared-home-runtime #logout{font-size:.8rem;min-height:44px}.shared-home-runtime #home-view .app-grid,.shared-home-runtime #apps-view .app-grid{grid-template-columns:1fr}.shared-home-runtime .admin-access-grid,.shared-home-runtime #member-management>.grid{grid-template-columns:1fr}.shared-home-runtime .workspace-view{overflow-wrap:anywhere}.shared-home-runtime #administration form{padding:1rem}.shared-home-runtime .admin-sections a{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.shared-home-runtime *{scroll-behavior:auto!important}}

/* Entry DOM and visual order: introduction, authentication, then catalogue. */
.shared-home-runtime #entry>.auth-intro{grid-column:1;grid-row:1}
.shared-home-runtime #entry>.auth-card{grid-column:2;grid-row:1 / span 2}
.shared-home-runtime #entry>.catalogue{grid-column:1;grid-row:2;width:100%;margin-top:0}
@media(max-width:720px){
 .shared-home-runtime #entry{display:flex;flex-direction:column;gap:1.25rem}
 .shared-home-runtime #entry>.auth-intro,.shared-home-runtime #entry>.auth-card,.shared-home-runtime #entry>.catalogue{width:100%}
 .shared-home-runtime #entry>.auth-intro{padding:0}
 .shared-home-runtime #entry>.auth-intro>.annual-offer{margin-bottom:0}
}
#email-invitation{margin-block:1.5rem}#email-invite{max-width:680px}#email-invite-feedback:empty{display:none}#email-invite-feedback:not(:empty){padding:1rem;border-left:3px solid var(--green);background:#edf2eb;white-space:pre-wrap;overflow-wrap:anywhere}#email-invitation>button{margin:.4rem .5rem .4rem 0}

/* Availability is distinct from licence ownership. */
.is-unavailable{background:#f1f2f1;color:#626862;border-color:#d5d9d5}.is-unavailable .app-icon{filter:grayscale(1);background:#e0e3e0;color:#626862}.is-unavailable .app-status{background:#e0e3e0;color:#4d554d}.is-unavailable button:disabled{background:#e0e3e0;color:#626862;cursor:not-allowed}
