:root {
  --blue: #005b9f;
  --navy: #003d6e;
  --yellow: #ffcf00;
  --yellow-dark: #e6ba00;
  --ink: #111827;
  --muted: #667085;
  --line: #e4e7ec;
  --bg: #f7f8fa;
  --green: #25d366;
}

body { font-family: Inter, Arial, sans-serif; }
.login-page { background: #fff; }
.login-art {
  background: linear-gradient(145deg, #003d6e 0%, #005b9f 100%);
  border-right: 12px solid var(--yellow);
}
.login-art::before {
  content: "";
  position: absolute;
  width: 240px;
  height: 18px;
  background: var(--yellow);
  top: 0;
  left: 0;
}
.login-art h1 { font-weight: 800; letter-spacing: -3px; }
.login-art h1 span { color: var(--yellow); }
.login-art p { color: #fff; opacity: .82; }
.login-art::after { border-color: #ffcf0040; box-shadow: 0 0 0 80px #ffcf000a, 0 0 0 160px #ffcf0008; }
.brand-mark, .mobile-logo {
  width: 154px;
  height: 78px;
  padding: 12px 14px;
  border-radius: 0;
  color: #003d6e;
  background: var(--yellow);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  line-height: 1;
}
.brand-mark b, .mobile-logo b { font-size: 17px; font-weight: 900; }
.brand-mark small, .mobile-logo small { font-size: 10px; font-weight: 800; letter-spacing: 2px; margin-top: 8px; color: #003d6e; }
.signal i { background: var(--yellow); border-radius: 0; }
.eyebrow { color: var(--blue); }
.login-card h2 { font-weight: 800; }
.login-card input { border-radius: 4px; border-color: #d0d5dd; }
.login-card input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #005b9f20; }
.primary {
  color: #111;
  background: var(--yellow);
  border-radius: 4px;
  box-shadow: 0 3px 0 var(--yellow-dark);
}
.primary:hover { background: #ffe04a; transform: translateY(-1px); }
.login-card .primary { color: #003d6e; text-transform: uppercase; letter-spacing: .5px; }

aside { background: var(--navy); border-right: 5px solid var(--yellow); }
.logo { padding-bottom: 18px; border-bottom: 1px solid #ffffff22; }
.logo > b { background: var(--yellow); color: var(--navy); border-radius: 0; }
.logo span { color: #fff; }
.logo small { color: var(--yellow); }
nav p { color: #8bb0ca; }
nav button { border-radius: 3px; color: #d2e1ec; border-left: 4px solid transparent; }
nav button:hover { background: #004a80; color: #fff; }
nav button.active { background: var(--yellow); color: #003d6e; border-left-color: #fff; }
.avatar { background: var(--yellow); color: var(--navy); }

header { border-bottom: 4px solid var(--yellow); }
header h1 { color: var(--blue); font-weight: 800; }
.online { color: #087b50; border-radius: 3px; }
.content-wrap { max-width: 1500px; }
.welcome {
  background: linear-gradient(105deg, #003d6e, #005b9f);
  border-radius: 5px;
  border-left: 10px solid var(--yellow);
}
.welcome::after { color: var(--yellow); opacity: .12; }
.welcome h2 { color: var(--yellow); }
.stat, .panel { border-radius: 5px; box-shadow: 0 2px 6px #1018280b; }
.stat { border-top: 5px solid var(--yellow); }
.stat strong.accent, .stat strong { color: var(--blue); }
.panel h3 { color: var(--blue); }
input, select, textarea { border-radius: 4px; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #005b9f18; }
.secondary { border-radius: 4px; color: var(--blue); border-color: var(--blue); }
.secondary:hover { background: #fffef0; }
th { color: #003d6e; background: #fffef0; border-bottom: 2px solid var(--yellow); }
.badge { border-radius: 3px; }
.note { background: #fffef0; color: #004578; border-left: 4px solid var(--yellow); border-radius: 2px; }
.sync-panel { display: grid; grid-template-columns: 1fr minmax(220px, 330px) auto; gap: 16px; align-items: center; border-left: 6px solid var(--yellow); }
.sync-panel p { margin: 6px 0 0; }
.sync-panel select { margin: 0; }
#toast { border-radius: 3px; background: var(--blue); border-left: 6px solid var(--yellow); }
.template-preview #template-preview { margin: 18px 0; padding: 20px; border-radius: 8px; background: #e7f6ec; color: #172b20; min-height: 180px; box-shadow: inset 0 0 0 1px #b9dfc6; }
.template-preview #template-preview p { white-space: normal; line-height: 1.55; }
.template-preview #template-preview small { display: block; color: #718078; margin-top: 10px; }
.template-preview #template-preview em { display: block; color: #718078; font-size: 10px; text-align: right; margin-top: 16px; }
.preview-header { display: block; margin-bottom: 10px; }
.dark { --ink:#f3f4f6; --muted:#aab2c0; --line:#28435a; --bg:#08243b; --card:#0b3150; }
.dark header { background: #0b3150; }
.dark th { background: #003d6e; color: var(--yellow); }

@media (max-width: 900px) {
  .login-art { border-right: 0; }
  .mobile-logo { display: flex; }
  .sync-panel { grid-template-columns: 1fr; }
}
