/* Lakes Tutoring Core - Public Styles */

.ltc-portal { border: 1px solid #ddd; padding: 20px; background-color: #f9f9f9; }
.ltc-portal-error { border: 1px solid #e0b4b4; padding: 15px; background-color: #f9eaea; color: #a02020; margin-bottom: 1em; }

/* --- Enquiry Form Styles --- */
.ltc-form { max-width: 600px; margin: 0 auto; padding: 25px; border: 1px solid #e1e1e1; border-radius: 5px; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.ltc-form .ltc-form-row { margin-bottom: 15px; }
.ltc-form label { display: block; font-weight: 600; margin-bottom: 5px; color: #333; }
.ltc-form input[type="text"], .ltc-form input[type="email"], .ltc-form input[type="tel"], .ltc-form textarea { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-size: 16px; transition: border-color 0.2s ease-in-out; }
.ltc-form input:focus, .ltc-form textarea:focus { border-color: #3498db; outline: none; }
.ltc-form button[type="submit"] { width: 100%; padding: 12px; background-color: #3498db; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: 600; cursor: pointer; transition: background-color 0.2s ease-in-out; }
.ltc-form button[type="submit"]:hover { background-color: #2980b9; }
.ltc-form button[type="submit"]:disabled { background-color: #95a5a6; cursor: not-allowed; }

/* --- Form Message Styles --- */
#ltc-form-messages { margin-bottom: 20px; }
.ltc-message { padding: 15px; border-radius: 4px; text-align: center; }
.ltc-message.processing { background-color: #eaf2fa; border: 1px solid #a5c7e8; color: #2980b9; }
.ltc-message.success { background-color: #eafaf1; border: 1px solid #a3e9c1; color: #1e8449; }
.ltc-message.error { background-color: #f9eaea; border: 1px solid #e0b4b4; color: #a02020; }
.ltc-message.small { padding: 8px 12px; font-size: 14px; margin-top: 10px; }

/* --- Admin Notices & Role Switcher Styles --- */
.ltc-admin-notice { background-color: #fff8e1; border: 1px solid #ffecb3; padding: 15px; margin-bottom: 20px; border-radius: 4px; color: #6d4c41; }
.ltc-role-switcher { background-color: #23282d; color: #f0f0f1; padding: 10px 20px; margin-bottom: 25px; border-radius: 4px; }
.ltc-role-switcher p { margin: 0 0 10px 0; font-size: 14px; }
.ltc-role-switcher ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 15px; }
.ltc-role-switcher a { color: #72aee6; text-decoration: none; font-weight: bold; padding: 5px 10px; border-radius: 3px; border: 1px solid transparent; transition: all 0.2s ease-in-out; }
.ltc-role-switcher a:hover { color: #96c5f1; border-color: #72aee6; }
.ltc-role-switcher a.active { background-color: #3498db; color: #fff; border-color: #3498db; }

/* --- Tutor Portal: Student List Styles --- */
.ltc-student-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.ltc-student-card { border: 1px solid #e1e1e1; border-radius: 5px; padding: 20px; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.ltc-student-card h3 { margin-top: 0; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.ltc-lesson-note-form textarea { width: 100%; min-height: 100px; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-size: 15px; margin-bottom: 10px; }
.ltc-lesson-note-form button { width: 100%; padding: 10px; background-color: #27ae60; color: white; border: none; border-radius: 4px; font-size: 16px; cursor: pointer; }
.ltc-lesson-note-form button:hover { background-color: #229954; }
.ltc-lesson-note-form button:disabled { background-color: #95a5a6; cursor: not-allowed; }

/* --- Parent/Student Portal: Lesson Note Feed --- */
.ltc-lesson-notes-feed { margin-top: 20px; margin-bottom: 40px; }
.ltc-note-card { background: #fff; border: 1px solid #e1e1e1; border-radius: 5px; padding: 20px; margin-bottom: 15px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.ltc-note-card h4 { margin: 0 0 10px 0; font-size: 16px; color: #333; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.ltc-note-card .ltc-note-author { font-weight: normal; color: #777; font-size: 14px; }
.ltc-note-content p:last-child { margin-bottom: 0; }

/* --- Parent Portal: Invoice Table --- */
.ltc-invoice-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.ltc-invoice-table thead th { background-color: #f7f7f7; text-align: left; padding: 12px; border-bottom: 2px solid #ddd; }
.ltc-invoice-table tbody td { padding: 12px; border-bottom: 1px solid #eee; }
.ltc-invoice-table tbody tr:last-child td { border-bottom: none; }
.ltc-status { padding: 4px 8px; border-radius: 12px; font-size: 12px; font-weight: 600; color: #fff; text-transform: uppercase; }
.ltc-status.status-paid { background-color: #27ae60; }
.ltc-status.status-sent { background-color: #3498db; }
.ltc-status.status-overdue { background-color: #e74c3c; }
.ltc-status.status-draft { background-color: #7f8c8d; }
.ltc-button.pay-now { background-color: #27ae60; color: #fff; padding: 8px 12px; text-decoration: none; border-radius: 4px; font-size: 14px; }

/* Lakes Tutoring Core - Public Styles */

.ltc-portal { border: 1px solid #ddd; padding: 20px; background-color: #f9f9f9; }
.ltc-portal-error { border: 1px solid #e0b4b4; padding: 15px; background-color: #f9eaea; color: #a02020; margin-bottom: 1em; }
.ltc-portal-section { background: #fff; border: 1px solid #e1e1e1; padding: 25px; margin-bottom: 25px; border-radius: 5px; }

/* --- Form Styles --- */
.ltc-form { max-width: 600px; margin: 0 auto; padding: 25px; border: 1px solid #e1e1e1; border-radius: 5px; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.ltc-form .ltc-form-row { margin-bottom: 15px; }
.ltc-form label { display: block; font-weight: 600; margin-bottom: 5px; color: #333; }
.ltc-form input[type="text"], .ltc-form input[type="email"], .ltc-form input[type="tel"], .ltc-form textarea { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-size: 16px; }
.ltc-form button[type="submit"] { width: 100%; padding: 12px; background-color: #3498db; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: 600; cursor: pointer; }

/* --- Form Message Styles --- */
.ltc-message { padding: 15px; border-radius: 4px; text-align: center; margin-bottom: 20px; }
.ltc-message.success { background-color: #eafaf1; border: 1px solid #a3e9c1; color: #1e8449; }
.ltc-message.error { background-color: #f9eaea; border: 1px solid #e0b4b4; color: #a02020; }
.ltc-message.small { padding: 8px 12px; font-size: 14px; margin-top: 10px; }

/* --- Admin Notices & Role Switcher Styles --- */
.ltc-admin-notice { background-color: #fff8e1; border: 1px solid #ffecb3; padding: 15px; margin-bottom: 20px; border-radius: 4px; color: #6d4c41; }
.ltc-role-switcher { background-color: #23282d; color: #f0f0f1; padding: 10px 20px; margin-bottom: 25px; border-radius: 4px; }
.ltc-role-switcher p { margin: 0 0 10px 0; font-size: 14px; }
.ltc-role-switcher ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 15px; }
.ltc-role-switcher a { color: #72aee6; text-decoration: none; font-weight: bold; padding: 5px 10px; border-radius: 3px; }
.ltc-role-switcher a.active { background-color: #3498db; color: #fff; }

/* --- Tutor Portal: Student List Styles --- */
.ltc-student-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.ltc-student-card { border: 1px solid #e1e1e1; border-radius: 5px; padding: 20px; background: #fff; }
.ltc-student-card h3 { margin-top: 0; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.ltc-lesson-note-form textarea { width: 100%; min-height: 100px; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-size: 15px; margin-bottom: 10px; }
.ltc-lesson-note-form button { width: 100%; padding: 10px; background-color: #27ae60; color: white; border: none; border-radius: 4px; font-size: 16px; cursor: pointer; }

/* --- Parent/Student Portal: Lesson Note Feed --- */
.ltc-lesson-notes-feed { margin-top: 20px; }
.ltc-note-card { background: #fff; border: 1px solid #e1e1e1; border-radius: 5px; padding: 20px; margin-bottom: 15px; }
.ltc-note-card h4 { margin: 0 0 10px 0; font-size: 16px; color: #333; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.ltc-note-card .ltc-note-author { font-weight: normal; color: #777; font-size: 14px; }

/* --- Parent Portal: Invoice Table --- */
.ltc-invoice-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.ltc-invoice-table thead th { background-color: #f7f7f7; text-align: left; padding: 12px; border-bottom: 2px solid #ddd; }
.ltc-invoice-table tbody td { padding: 12px; border-bottom: 1px solid #eee; }
.ltc-status { padding: 4px 8px; border-radius: 12px; font-size: 12px; font-weight: 600; color: #fff; text-transform: uppercase; }
.ltc-status.status-paid { background-color: #27ae60; }
.ltc-status.status-sent { background-color: #3498db; }
.ltc-status.status-overdue { background-color: #e74c3c; }
.ltc-status.status-draft { background-color: #7f8c8d; }
.ltc-button.pay-now { background-color: #27ae60; color: #fff; padding: 8px 12px; text-decoration: none; border-radius: 4px; font-size: 14px; }

/* --- Parent Portal: Document Upload --- */
.ltc-document-upload-form { display: flex; gap: 15px; align-items: center; margin-bottom: 20px; }
.ltc-document-upload-form input[type="file"] { border: 1px solid #ccc; padding: 8px; border-radius: 4px; }
.ltc-document-upload-form button { padding: 10px 15px; background-color: #3498db; color: #fff; border: none; border-radius: 4px; cursor: pointer; }
.ltc-document-list { list-style: none; padding: 0; }
.ltc-document-list li { background: #f7f7f7; padding: 10px; border-radius: 4px; margin-bottom: 8px; }
.ltc-document-list li a { text-decoration: none; color: #2980b9; font-weight: 600; }