:root {
  --blue-600: #1565c0; --blue-800: #0d478b; --neutral-950: #142638;
  --neutral-600: #536477; --neutral-200: #dce5ef; --neutral-50: #f4f7fb;
  --orange-500: #ff9800; --green-500: #4caf50; --purple-600: #6a1b9a;
  --color-brand-primary: var(--blue-600); --color-brand-hover: var(--blue-800);
  --color-text-primary: var(--neutral-950); --color-text-secondary: var(--neutral-600);
  --color-surface-default: var(--neutral-50); --color-surface-raised: #fff;
  --color-border-default: var(--neutral-200); --radius-card: .75rem;
}
body { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color: var(--color-text-primary); background: var(--color-surface-default); line-height: 1.5; }
a { color: var(--color-brand-primary); }
a:hover { color: var(--color-brand-hover); }
.topbar, .ossn-chat-base .ossn-chat-bar .inner, .ossn-chat-windows-long .ossn-chat-window-title { background: var(--color-brand-primary); }
.topbar { border-bottom: 3px solid var(--orange-500); }
.topbar .site-name a { text-transform: none; display: inline-flex; align-items: center; gap: .75rem; color: #fff; }
.topbar .site-name a::before { content: ""; width: 2.25rem; height: 2.25rem; flex-shrink: 0; background: url(images/convergo.png) center 36%/210% auto no-repeat; }
.btn-primary, .btn-success { background: var(--color-brand-primary); border-color: var(--color-brand-primary); color: #fff; }
.btn-primary:hover, .btn-success:hover { background: var(--color-brand-hover); border-color: var(--color-brand-hover); }
.ossn-widget, .ossn-wall-item, .ossn-profile, .ossn-group, .ossn-messages { border-radius: var(--radius-card); }
.ossn-widget .widget-heading { color: var(--color-text-primary); border-bottom-color: var(--color-border-default); }
.ossn-startup-wrapper { background: var(--color-surface-default); }
.ossn-startup-wrapper .blob-container { display: none; }
.ossn-startup-wrapper .main-logo, .ossn-startup-wrapper .hero-logo { max-width: 225px; height: auto; }
.ossn-layout-startup-background { background: var(--color-surface-default); }
.ossn-startup-wrapper .ossn-home-container { border-top: 4px solid var(--color-brand-primary); }
.educabile-welcome { max-width: 38rem; margin: 1.5rem auto; padding: 1.5rem; background: var(--color-surface-raised); border-radius: var(--radius-card); }
.educabile-welcome img { width: 180px; height: auto; }
.educabile-welcome h1 { font-size: 1.5rem; line-height: 1.25; margin: 1rem 0; }
.convergo-symbol { position: relative; width: 100px; height: 100px; overflow: hidden; margin-inline: auto; }
.educabile-welcome .convergo-symbol img { position: absolute; width: 225px; max-width: none; height: auto; left: -62.5px; top: -16px; }
.convergo-welcome { text-align: center; }
.educabile-welcome.convergo-welcome h1 { font-size: 2.25rem; font-weight: 600; letter-spacing: -.025em; margin: .75rem 0 .5rem; }
.convergo-byline { color: var(--color-brand-primary); font-size: .9375rem; font-weight: 600; }
.educabile-company-credits { max-width: 42rem; margin: 1.5rem auto; padding: 1.25rem; border: 1px solid var(--color-border-default); background: #f7f7f7; color: var(--color-text-secondary); border-radius: .75rem; text-align: center; }
.educabile-company-credits p { margin: 0; font-size: .75rem; line-height: 1.5; }
.educabile-company-credits .educabile-product-credit { font-size: .875rem; font-weight: 600; color: var(--color-text-primary); }
.educabile-product-credit span { margin-inline: .5rem; color: var(--color-brand-primary); }
.educabile-company-logos { display: flex; justify-content: center; align-items: center; gap: 2rem; margin: 1rem auto; }
.educabile-company-logos img { display: block; height: auto; min-width: 0; object-fit: contain; }
.educabile-company-logos .educabile-officina { width: 160px; }
.educabile-company-logos .educabile-ict { width: 180px; }
:focus-visible { outline: 3px solid var(--color-brand-primary); outline-offset: 3px; }
@media (max-width: 767px) {
  .topbar .site-name { display: inline-block !important; font-size: 1rem; max-width: 55%; }
  .topbar .site-name a::before { width: 2rem; }
  input, select, textarea { font-size: 16px !important; }
  .educabile-welcome { margin: 1rem; padding: 1rem; }
}

@media (max-width: 420px) {
  .educabile-company-credits { margin-inline: 1rem; padding: 1rem; }
  .educabile-company-logos { gap: 1rem; }
  .educabile-company-logos .educabile-officina { width: 44%; }
  .educabile-company-logos .educabile-ict { width: 48%; }
}
.ossn-startup-wrapper .educabile-welcome label,
.ossn-startup-wrapper .educabile-welcome h2 { color: var(--color-text-primary); }
