/* Family Learning Hub – front-end "My Family" page (log in, sign up, family dashboard).
 * Gives the dashboard's wp-admin-style markup a friendly look on any theme. */
.flh-family { --fam-ink: #1e293b; --fam-muted: #64748b; --fam-line: #e2e8f0; --fam-accent: #7c3aed; --fam-bg: #fff;
  color: var(--fam-ink); font-size: 16px; line-height: 1.5; max-width: 1000px; margin: 0 auto; }
.flh-family h1 { font-size: 30px; margin: 0 0 10px; }
.flh-family h2 { font-size: 22px; margin: 22px 0 10px; }
.flh-family h3 { font-size: 17px; }
.flh-family a { color: var(--fam-accent); }
.flh-family .card { background: var(--fam-bg); border: 1px solid var(--fam-line); border-radius: 16px; padding: 16px 20px; box-shadow: 0 4px 14px rgba(15, 23, 42, .06); box-sizing: border-box; max-width: 100%; }
.flh-family .notice { background: #ecfdf5; border: 1px solid #a7f3d0; border-left: 5px solid #10b981; border-radius: 10px; padding: 4px 14px; margin: 10px 0 16px; }
.flh-family .description { color: var(--fam-muted); font-size: 14px; }
.flh-family code { background: #f1f5f9; padding: 1px 6px; border-radius: 6px; }

/* Buttons */
.flh-family .button, .flh-family button, .flh-family input[type="submit"] {
  display: inline-block; border: 1px solid #cbd5e1; background: #fff; color: var(--fam-ink); border-radius: 10px;
  padding: 7px 14px; font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; line-height: 1.3; }
.flh-family .button-primary, .flh-family input[type="submit"]#wp-submit { background: var(--fam-accent); border-color: var(--fam-accent); color: #fff; }
.flh-family .button-link-delete { border-color: #fecaca; color: #b91c1c; background: #fff; }
.flh-family .button:hover, .flh-family button:hover { filter: brightness(.96); }

/* Forms */
.flh-family input[type="text"], .flh-family input[type="email"], .flh-family input[type="password"], .flh-family input[type="number"],
.flh-family input[type="date"], .flh-family select, .flh-family textarea {
  border: 1px solid #cbd5e1; border-radius: 8px; padding: 7px 10px; font-size: 15px; max-width: 100%; box-sizing: border-box; background: #fff; color: var(--fam-ink); }
.flh-family .form-table { border-collapse: collapse; width: 100%; }
.flh-family .form-table th { text-align: left; vertical-align: top; width: 180px; padding: 8px 10px 8px 0; font-weight: 600; }
.flh-family .form-table td { padding: 8px 0; }
.flh-family details > summary { cursor: pointer; font-weight: 600; }

/* Tables scroll sideways on small screens instead of squeezing */
.flh-family table.widefat { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--fam-line); border-radius: 10px; display: block; overflow-x: auto; }
.flh-family table.widefat th, .flh-family table.widefat td { padding: 8px 10px; border-bottom: 1px solid var(--fam-line); font-size: 14px; }
.flh-family table.widefat thead th { background: #f8fafc; text-align: left; }
.flh-family table.striped tbody tr:nth-child(odd) { background: #fafafa; }

/* Log in / sign up */
.flh-family .flh-auth { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.flh-family .flh-auth label { font-weight: 600; font-size: 15px; }
.flh-family .flh-auth input[type="text"], .flh-family .flh-auth input[type="email"], .flh-family .flh-auth input[type="password"] { width: 100%; }
.flh-family .flh-signup input[type="checkbox"] { margin-right: 6px; }
.flh-family .flh-signup label:has(input[type="checkbox"]) { font-weight: 400; }
.flh-family .flh-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.flh-family #loginform p { margin: 0 0 12px; }
.flh-family #loginform .login-remember label { font-weight: 400; }

@media (max-width: 640px) {
  .flh-family h1 { font-size: 24px; }
  .flh-family .card { padding: 12px 14px; }
  .flh-family .form-table th, .flh-family .form-table td { display: block; width: auto; padding: 4px 0; }
}
