/* Unified frontend visual system (root + user/auth pages, excludes admin/api) */

:root {
  --front-bg-1: #071817;
  --front-bg-2: #0b2e2b;
  --front-bg-3: #0f3d38;
  --front-card: #103634;
  --front-card-2: #0b2a28;
  --front-line: rgba(97, 157, 144, 0.3);
  --front-primary: #29d9ac;
  --front-primary-2: #18b998;
  --front-accent: #d4af37;
  --front-text: #e6f4ef;
  --front-muted: #9ab7ae;
  --front-shadow: 0 12px 26px rgba(3, 14, 13, 0.38);
}

body.front-unified {
  background:
    radial-gradient(900px 420px at 50% -10%, rgba(30, 198, 164, 0.16), transparent 60%),
    radial-gradient(900px 380px at 80% 0%, rgba(255, 200, 90, 0.14), transparent 60%),
    linear-gradient(180deg, var(--front-bg-1) 0%, var(--front-bg-2) 42%, var(--front-bg-3) 100%);
  color: var(--front-text);
}

body.front-unified header,
body.front-unified .topbar,
body.front-unified .top,
body.front-unified .top-nav {
  background: linear-gradient(180deg, rgba(12, 40, 37, 0.9), rgba(8, 29, 27, 0.9));
  border-color: var(--front-line);
}

body.front-unified .card,
body.front-unified .profile-card,
body.front-unified .menu-panel,
body.front-unified .group,
body.front-unified .panel,
body.front-unified .stat-card,
body.front-unified .list,
body.front-unified .history {
  background: linear-gradient(165deg, rgba(20, 66, 61, 0.92), rgba(11, 41, 38, 0.92));
  border: 1px solid var(--front-line);
  box-shadow: var(--front-shadow);
}

body.front-unified .menu-row,
body.front-unified .item,
body.front-unified .row,
body.front-unified .chip {
  border-color: rgba(255, 255, 255, 0.1);
}

body.front-unified input,
body.front-unified select,
body.front-unified textarea {
  background: #0d302d;
  border: 1px solid rgba(104, 165, 151, 0.4);
  color: #fff;
}

body.front-unified .btn-primary,
body.front-unified .btn-main,
body.front-unified .btn-teal,
body.front-unified .btn-confirm,
body.front-unified .logout-btn {
  background: linear-gradient(135deg, #27d8b0, #159f83);
  color: #052219;
  border: 1px solid rgba(70, 219, 184, 0.35);
}

body.front-unified .btn-accent,
body.front-unified .btn-pin,
body.front-unified .see-all-btn,
body.front-unified .footer-join {
  background: linear-gradient(135deg, #f3cc66, #d9a62b);
  color: #2f1d07;
  border: 1px solid rgba(212, 175, 55, 0.45);
}

body.front-unified .menu-icon,
body.front-unified .back,
body.front-unified .back-link {
  border: 1px solid var(--front-line);
  background: linear-gradient(160deg, rgba(35, 90, 84, 0.65), rgba(10, 40, 38, 0.5));
  color: #e8fff7;
}

body.front-unified .avatar img,
body.front-unified .profile-avatar img,
body.front-unified img.avatar {
  border-color: rgba(48, 217, 179, 0.68);
}

body.front-unified h1,
body.front-unified h2,
body.front-unified h3,
body.front-unified .section-title,
body.front-unified .group-title {
  color: #dffaf2;
}

body.front-unified .muted,
body.front-unified .meta,
body.front-unified .subtitle {
  color: var(--front-muted);
}

