/* Area personale — si appoggia alle variabili e ai bottoni di platform.css */
.tfl-account { padding-block: clamp(32px, 6vw, 72px); }
.tfl-account h1 { margin: 0 0 12px; }
.tfl-account h2 { margin: 40px 0 16px; }
.tfl-auth-card { max-width: 460px; margin: 0 auto; padding: 32px; background: #fffaf2; border: 1px solid #e0d3c0; border-radius: 18px; }
.tfl-account-grid .tfl-auth-card { max-width: none; margin: 0; }
.tfl-auth-card h1, .tfl-auth-card h3 { margin-top: 0; }
.tfl-auth-lead { margin: 0 0 20px; color: #655c54; }
.tfl-auth-card form, .tfl-auth-card label { display: block; }
.tfl-auth-card label { margin: 0 0 16px; font-size: 14px; font-weight: 600; }
.tfl-auth-card input[type=email], .tfl-auth-card input[type=password], .tfl-auth-card input[type=text] {
  display: block; width: 100%; box-sizing: border-box; margin-top: 6px; padding: 12px 14px; font: inherit; font-weight: 400;
  background: #fff; border: 1px solid #cdbfa9; border-radius: 10px; }
.tfl-auth-card input:focus-visible, .tfl-account select:focus-visible, .tfl-account button:focus-visible { outline: 2px solid #4b2a45; outline-offset: 2px; }
.tfl-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; font-size: 13px !important; }
.tfl-check input { margin-top: 4px; flex: none; }
.tfl-hint { font-size: 13px; color: #7a6f64; margin: 0 0 16px; }
.tfl-auth-links { margin-top: 20px; font-size: 14px; }
.tfl-alert { padding: 12px 14px; border-radius: 10px; margin: 0 0 18px; font-size: 14px; }
.tfl-alert-error { background: #fdecea; color: #8a1f17; border: 1px solid #f3c1bc; }
.tfl-alert-info { background: #eef6ee; color: #1f5a2a; border: 1px solid #c4dfc6; }
.tfl-link-button { background: none; border: 0; padding: 8px 0; font: inherit; color: #4b2a45; text-decoration: underline; cursor: pointer; }
.tfl-account-courses { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.tfl-account-course { padding: 28px; background: #fffaf2; border: 1px solid #e0d3c0; border-radius: 18px; }
.tfl-account-course h3 { margin-top: 0; }
.tfl-account-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.tfl-account-logout { margin-top: 40px; }
.tfl-admin-search { display: flex; gap: 8px; margin-bottom: 16px; }
.tfl-admin-search input { flex: 1; padding: 10px 12px; }
.tfl-admin-table { overflow-x: auto; }
.tfl-admin-table table { width: 100%; border-collapse: collapse; font-size: 14px; }
.tfl-admin-table th, .tfl-admin-table td { padding: 10px; border-bottom: 1px solid #e0d3c0; text-align: left; vertical-align: top; }
.tfl-admin-actions form { display: flex; gap: 6px; margin-bottom: 6px; }
