/*
 * DreamIT Host theme overlay for SOGo 5.12.10.
 *
 * This is a theme, not a replacement frontend: it restyles the SOGo login page
 * and application chrome and changes nothing about SOGo's markup or behaviour.
 * SOGo itself remains GPL-licensed upstream software (see SOGo-LICENSE.md).
 * The DreamIT wordmark, icon and colour palette in this directory are DreamIT
 * Host property and are not covered by that licence.
 *
 * Fonts are self-hosted from branding/assets/fonts. Never load either family
 * from a font CDN on a production property.
 */

@font-face {
  font-family: "Bricolage Grotesque";
  src: url("../assets/fonts/bricolage-grotesque-latin.woff2") format("woff2-variations");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("../assets/fonts/open-sans-latin.woff2") format("woff2-variations");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("../assets/fonts/open-sans-italic-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  --dreamit-navy: #0B1B33;
  --dreamit-navy-soft: #14294A;
  --dreamit-primary: #1A5EE0;
  --dreamit-primary-dark: #1548A8;
  --dreamit-surface: #FFFFFF;
  --dreamit-surface-muted: #F4F6FA;
  --dreamit-border: #D8DEE9;
  --dreamit-text: #1B2432;
  --dreamit-text-muted: #5A6678;
  --dreamit-danger: #B3261E;
  --dreamit-radius: 10px;
  --dreamit-shadow: 0 6px 24px rgba(11, 27, 51, 0.12);
  --dreamit-font-display: "Bricolage Grotesque", "Open Sans", system-ui, sans-serif;
  --dreamit-font-body: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

body,
body.sg-body,
md-content,
.md-default-theme body {
  font-family: var(--dreamit-font-body);
  color: var(--dreamit-text);
}

h1, h2, h3, h4,
.md-title, .md-headline {
  font-family: var(--dreamit-font-display);
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Login page ------------------------------------------------------------- */

#login,
body.login,
.sg-login {
  background:
    radial-gradient(120% 90% at 50% 0%, var(--dreamit-navy-soft) 0%, var(--dreamit-navy) 60%);
}

.sg-login-panel,
#loginScreen md-card,
#login md-card {
  border-radius: var(--dreamit-radius);
  box-shadow: var(--dreamit-shadow);
  background: var(--dreamit-surface);
}

.sg-login-brand {
  display: block;
  margin: 0 auto 20px;
  width: 208px;
  max-width: 70%;
}

.sg-login-brand img {
  width: 100%;
  height: auto;
}

.sg-login-tagline {
  font-family: var(--dreamit-font-body);
  color: rgba(255, 255, 255, 0.82);
  text-align: center;
  font-size: 0.95rem;
  margin-bottom: 24px;
}

/* Controls --------------------------------------------------------------- */

.md-button.md-primary.md-raised,
.md-button.md-raised.md-primary:not([disabled]),
button.sg-primary {
  background-color: var(--dreamit-primary);
  color: #FFFFFF;
  border-radius: var(--dreamit-radius);
  font-family: var(--dreamit-font-body);
  font-weight: 700;
  text-transform: none;
}

.md-button.md-primary.md-raised:hover,
button.sg-primary:hover {
  background-color: var(--dreamit-primary-dark);
}

.md-button.md-primary.md-raised:focus-visible,
button.sg-primary:focus-visible,
input:focus-visible {
  outline: 3px solid var(--dreamit-primary);
  outline-offset: 2px;
}

md-input-container input,
input.sg-input {
  border-radius: var(--dreamit-radius);
  border: 1px solid var(--dreamit-border);
}

/* Application chrome ----------------------------------------------------- */

md-toolbar,
md-toolbar.md-default-theme:not(.md-menu-toolbar),
.sg-toolbar {
  background-color: var(--dreamit-navy);
  color: #FFFFFF;
}

md-sidenav,
.sg-sidenav {
  background-color: var(--dreamit-surface-muted);
  border-right: 1px solid var(--dreamit-border);
}

.md-primary-color,
a {
  color: var(--dreamit-primary);
}

.sg-error,
.md-warn {
  color: var(--dreamit-danger);
}

/* Lab watermark: this build is a synthetic compatibility lab, not production. */
.sg-lab-banner::after {
  content: "Compatibility lab - synthetic mailboxes only";
  display: block;
  font-family: var(--dreamit-font-body);
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  color: var(--dreamit-text-muted);
  text-align: center;
  padding: 6px 0;
}
