/* Shared finish for the public site, accounts and administration. */
:root { --site-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif; --site-surface:#060d1c; --site-muted:#a4afc2; --site-line:rgba(9,130,235,.25); --site-heading:clamp(1.7rem,2.6vw,2.35rem); }
.site-shell,.site-shell.signal-alpha-page,.site-shell.signal-touch-page,.site-shell.error-page { background:#02060c; color:#f4f7fa; font-family:var(--site-font); --coal:#02060c; --ink:#f4f7fa; --muted:#a4afc2; --edge:rgba(9,130,235,.25); --ember:#0982eb; --flame:#acdcf9; --card:#060d1c; --font-page-title:var(--site-heading); --font-section-title:1.45rem; --radius-md:16px; --radius-lg:20px; }
.site-shell .page { display:flex; flex-direction:column; background:transparent; }
.site-shell .page>main { flex:1; min-height:0; padding:0 0 48px; }
.site-shell .section { width:min(1240px,100%); max-width:1240px; margin:0 auto; padding:28px; }
.site-shell .page>main>.section:first-child { padding-top:40px; padding-bottom:24px; }
.site-shell .contact-hero,.site-shell .downloads-hero,.site-shell .signal-support-directory { width:min(1240px,100%); max-width:1240px; }
.site-shell h1:not(.visually-hidden),.site-shell .hero-title { font-family:var(--site-font); font-size:var(--site-heading); font-weight:600; line-height:1.17; letter-spacing:-.025em; margin:0 0 16px; color:var(--ink); }
.site-shell h2,.site-shell h3,.site-shell h4 { font-family:var(--site-font); line-height:1.3; }
.site-shell .section-title { font-size:1.45rem; }
.site-shell .section-lead { max-width:820px; margin:0; font-size:1rem; line-height:1.7; color:var(--muted); }
.site-shell .section-lead+.grid,.site-shell .section-lead+.card { margin-top:28px; }
.site-shell .page-heading { margin:0 0 16px; }
.site-shell .page-kicker,.site-shell .kicker { color:#acdcf9; }
.site-shell .public-copy-page .hero-title { max-width:900px; }
.site-shell p { overflow-wrap:break-word; }
.site-shell .card,.site-shell .contact-form,.site-shell .contact-aside>div,.site-shell .downloads-card,.site-shell .downloads-aside>div,.site-shell .signal-alpha-card,.site-shell .signal-support-panel,.site-shell .product-destination,.site-shell .project-destination { border:1px solid var(--site-line); border-radius:16px; background:var(--site-surface); box-shadow:none; }
.site-shell .card { padding:24px; }
.site-shell details.card { padding:0; }
.site-shell .product-destination,.site-shell .project-destination { padding:24px; }
.site-shell .grid,.site-shell .product-rail,.site-shell .project-pair { gap:20px; }
.site-shell .contact-layout,.site-shell .downloads-list { gap:28px; padding-top:12px; }
.site-shell .contact-form { padding:26px; gap:20px; }
.site-shell .contact-aside>div { padding:24px; }
.site-shell .contact-submit-row { align-items:flex-start; gap:18px; }
.site-shell .contact-submit-row p { font-size:.85rem; line-height:1.6; }
.site-shell .signal-alpha-hero { padding-bottom:28px; }
.site-shell .signal-alpha-hero>.product-brand-mark,.site-shell .signal-support-hero>.product-brand-mark { float:right; margin:0 0 18px 28px; }
.site-shell .signal-alpha-brand { margin:18px 0 12px; }
.site-shell .signal-alpha-lead { font-size:1rem; }
.site-shell .signal-alpha-nav,.site-shell .signal-support-nav { padding-top:14px; padding-bottom:14px; justify-content:flex-start; }
.site-shell .signal-alpha-nav a,.site-shell .signal-support-nav a { border-radius:8px; }
.site-shell .signal-alpha-card { padding:24px; }
.site-shell .signal-support-directory .section-lead { max-width:820px; }
.site-shell .signal-support-hero { display:flow-root; }
.site-shell .signal-touch-page main { padding-bottom:48px; }
.site-shell.signal-touch-page .touch-hero { grid-template-columns:minmax(0,1fr) minmax(190px,.38fr); gap:40px; padding-top:40px; padding-bottom:32px; }
.site-shell .touch-lead { font-size:1rem; margin-top:16px; }
.site-shell .touch-actions { margin-top:24px; gap:14px 22px; }
.site-shell .touch-brand { min-height:230px; padding:24px; border-radius:20px; background:#060d1c; border-color:var(--site-line); }
.site-shell .touch-brand img { max-width:140px; filter:none; }
.site-shell .touch-brand span { font-size:1.2rem; margin-top:14px; }
.site-shell .touch-brand small { font-size:.8rem; }
.site-shell.signal-touch-page .touch-requirements,.site-shell.signal-touch-page .touch-preview,.site-shell.signal-touch-page .touch-details { padding-top:32px; padding-bottom:32px; }
.site-shell .touch-section-heading { margin-bottom:24px; }
.site-shell .touch-section-heading h2,.site-shell .touch-details h2 { font-size:1.45rem; }
.site-shell .touch-section-heading p,.site-shell .touch-details p { font-size:1rem; }
.site-shell .touch-previews a { background:#060d1c; border-radius:16px; }
.site-shell .touch-previews img { object-fit:contain; }
.site-shell .error-page-main { min-height:480px; justify-content:center; }
.site-shell .error-page-main h1 { color:#f4f7fa; background:none; }
.site-shell .btn-primary,.site-shell .portal-button-primary,.site-shell .btn:not(.btn-muted):not(.btn-secondary):not(.danger) { min-height:44px; border:1px solid rgba(143,202,255,.32); border-radius:8px; background:#0875d1; color:#fff!important; box-shadow:none; }
.site-shell .btn-secondary,.site-shell .btn-muted { border:1px solid var(--site-line); border-radius:8px; background:#101a2c; color:#f4f7fa; box-shadow:none; }
.site-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.site-shell select,.site-shell textarea { max-width:100%; font-family:var(--site-font); border-radius:8px; }
.site-shell input[type=checkbox],.site-shell input[type=radio] { accent-color:#0982eb; }
.site-shell a:focus-visible,.site-shell button:focus-visible,.site-shell summary:focus-visible,.site-shell input:focus-visible,.site-shell textarea:focus-visible,.site-shell select:focus-visible { outline:2px solid #8fcaff; outline-offset:3px; }
.site-shell .portal-shell { width:min(1240px,100%); max-width:1240px; margin:0 auto; padding:32px 28px 48px; font-family:var(--site-font); }
.site-shell .portal-main,.site-shell .admin-users-main,.site-shell .admin-main { min-width:0; font-family:var(--site-font); }
.site-shell .portal-main h1,.site-shell .admin-users-main h1 { font-size:var(--site-heading); }
.site-shell .portal-toolbar { margin-bottom:20px; }
:root:not([data-portal-theme=light]) .portal-page { --portal-bg:#02060c;--portal-surface:#060d1c;--portal-soft:#101a2c;--portal-text:#f4f7fa;--portal-muted:#a4afc2;--portal-line:rgba(9,130,235,.25);--portal-blue:#acdcf9;--portal-blue-strong:#0875d1; }
.site-shell.portal-page .page { background:var(--portal-bg); }
.site-shell .portal-panel { border-radius:16px; box-shadow:none; }
.site-shell .admin-legacy-layout { width:min(1240px,100%); max-width:1240px; margin:32px auto 0; padding:0 28px 48px; grid-template-columns:220px minmax(0,1fr); }
.site-shell .admin-legacy-layout>.shell { min-width:0; width:100%; margin:0; padding:0; }
.site-shell .admin-legacy-layout .card h1 { font-size:1.65rem; }
.site-shell .admin-legacy-layout .actions-between { align-items:flex-start; flex-wrap:wrap; }
.site-shell .admin-legacy-layout .actions { flex-wrap:wrap; gap:10px; }
.site-shell .admin-legacy-layout table { width:100%; }
.site-shell .admin-legacy-layout th,.site-shell .admin-legacy-layout td { padding:12px 10px; vertical-align:top; overflow-wrap:anywhere; }
.site-shell .table-scroll { max-width:100%; overflow:auto; }
.site-shell .account-auth-card { min-width:0; }
.site-shell .account-auth-card h4 { margin:0 0 12px; font-size:1.2rem; }
.site-shell .account-auth-card label { font-size:.85rem; }
.site-shell .fade-in,.site-shell .fade-in-delayed { animation:none; transform:none; opacity:1; }
.site-shell .splash-header { width:min(1440px,100%); }
.site-shell .splash-footer { width:min(1240px,100%); padding:18px 28px 24px; margin-top:auto; }
.site-shell .splash-footer a { min-height:24px; display:inline-flex; align-items:center; }
@media(max-width:1000px) { .site-shell .admin-legacy-layout { grid-template-columns:1fr; }.site-shell .admin-legacy-layout .admin-nav { position:static; display:flex; overflow:auto; padding:6px; }.site-shell .admin-legacy-layout .admin-nav-label { display:none; }.site-shell .admin-legacy-layout .admin-nav a { flex:0 0 auto; padding:12px; white-space:nowrap; border-left:0; }.site-shell .contact-layout,.site-shell .downloads-list { grid-template-columns:1fr; } }
@media(max-width:850px) { .site-shell.signal-touch-page .touch-hero { grid-template-columns:1fr; gap:24px; }.site-shell .touch-brand { min-height:0; flex-direction:row; flex-wrap:wrap; gap:12px; justify-content:flex-start; padding:20px; }.site-shell .touch-brand img { width:72px; }.site-shell .touch-brand span { margin:0; }.site-shell .touch-brand small { margin:0; }.site-shell .signal-alpha-hero>.product-brand-mark,.site-shell .signal-support-hero>.product-brand-mark { width:80px!important; height:80px!important; } }
@media(max-width:560px) { .site-shell .section,.site-shell .portal-shell { padding-left:18px; padding-right:18px; }.site-shell .page>main>.section:first-child { padding-top:28px; padding-bottom:20px; }.site-shell .card,.site-shell .contact-form,.site-shell .signal-alpha-card,.site-shell .product-destination,.site-shell .project-destination { padding:20px; }.site-shell details.card { padding:0; }.site-shell .contact-aside>div { padding:20px; }.site-shell .admin-legacy-layout { padding:0 18px 32px; margin-top:24px; }.site-shell .contact-submit-row { flex-direction:column; }.site-shell .contact-submit-row button { width:100%; }.site-shell .downloads-card { grid-template-columns:64px minmax(0,1fr); gap:16px; padding:20px; }.site-shell .downloads-mark img { max-width:64px; }.site-shell .splash-footer { padding-left:18px; padding-right:18px; }.site-shell .signal-support-version-picker>div { flex-wrap:wrap; }.site-shell .signal-support-version-picker select { min-height:44px; }.site-shell .signal-support-version-picker button { min-height:44px; }.site-shell .page-heading { align-items:flex-start; flex-direction:column; }.site-shell .account-auth-card { padding:20px; } }
.site-shell .splash-nav-desktop>.nav-submenu:nth-last-child(-n+2) .nav-submenu-links { left:auto;right:0;transform:none; }
.site-shell .btn.danger { background:#421927;border-color:#7b344b;color:#ffb7c1!important; }
:root[data-portal-theme=light] .portal-page { --ink:#0b1728;--muted:#5d6d82;--site-surface:#fff;--site-line:#bdd9eb; }
.site-shell .page-heading,.site-shell .admin-page-heading { display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:20px;text-align:left; }
.site-shell .page-heading>div,.site-shell .admin-page-heading>div { flex:1;min-width:0; }
.site-shell .summary-strip { padding:0;gap:0; }
.site-shell .admin-legacy-layout .admin-nav { padding:8px 0; }
@media(max-width:720px) { .site-shell .page-heading,.site-shell .admin-page-heading { flex-direction:column;align-items:stretch; }.site-shell .page-heading>.btn,.site-shell .admin-page-heading>.portal-button { align-self:flex-start; } }

.site-shell .account-auth-card h2 { margin:0 0 12px;font-size:1.2rem; }
.site-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.site-shell select { min-height:44px; }
.site-shell.admin-signin-page .admin-legacy-layout { grid-template-columns:1fr;max-width:600px; }
:root[data-portal-theme=light] .portal-page .splash-footer { color:#5d6d82; }
:root[data-portal-theme=light] .portal-page .text-link { color:#006da8; }
@media(max-width:560px) { .site-shell .account-links { display:flex;flex-wrap:wrap;gap:6px 16px; }.site-shell .account-link { display:inline-flex;align-items:center;min-height:24px;line-height:1.3; }.site-shell .account-link:only-child { grid-column:auto; } }
.site-shell .admin-nav { scrollbar-width:thin;scrollbar-color:#356698 #060d1c; }
.site-shell .page-heading { display:block;text-align:left; }
.site-shell .page-kicker { margin-bottom:10px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.site-shell .admin-legacy-layout .page-heading { display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:20px; }
.site-shell.legal-page .section p,.site-shell.legal-page .section ul,.site-shell.legal-page .section ol { max-width:80ch;line-height:1.75; }
@media(max-width:720px) { .site-shell .admin-legacy-layout .page-heading { flex-direction:column;align-items:stretch; } }
.site-shell .splash-footer { color:#8593a8;font-size:.75rem; }
