/* Admin Styles */
.lms-admin-wrap { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
.lms-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-top: 20px; }
.lms-stat-box { background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); border-left: 4px solid #2271b1; }
.lms-stat-box h3 { margin: 0 0 10px 0; color: #50575e; font-size: 16px; }
.lms-stat-box p { margin: 0; font-size: 28px; font-weight: bold; color: #1d2327; }
.lms-live-monitor { margin-top: 30px; background: #e8f5e9; padding: 15px 20px; border-radius: 8px; border: 1px solid #c8e6c9; }
.lms-live-monitor h2 { margin-top: 0; color: #2e7d32; }
.lms-form-box { max-width: 600px; margin-top: 20px; }

/* Frontend & Shared Styles */
.lms-frontend-dashboard { max-width: 1000px; margin: 0 auto; font-family: inherit; }
.lms-header { background: linear-gradient(135deg, #2271b1, #135e96); color: #fff; padding: 30px; border-radius: 10px; margin-bottom: 30px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.lms-header h2 { margin: 0 0 5px 0; color: #fff; }
.lms-header p { margin: 0; opacity: 0.9; }

.lms-tasks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.lms-task-card { background: #fff; border: 1px solid #e2e4e7; border-radius: 8px; padding: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.03); transition: transform 0.2s; }
.lms-task-card:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.08); }
.lms-task-card h4 { margin: 0 0 10px 0; font-size: 18px; color: #1d2327; }
.lms-task-card p { color: #50575e; font-size: 14px; margin-bottom: 15px; }
.lms-task-meta { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #f0f0f1; padding-top: 15px; }

.lms-badge { padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; text-transform: uppercase; }
.lms-badge.status-pending { background: #fff8e5; color: #855a00; }
.lms-badge.status-in-progress { background: #e0f0fa; color: #0a4b78; }
.lms-badge.status-completed { background: #e8f5e9; color: #1b5e20; }

.lms-status-select { padding: 5px; border-radius: 4px; border: 1px solid #ccc; font-size: 13px; }

/* Live Notification UI */
#lms-notification-bell { position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px; background: #2271b1; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 15px rgba(0,0,0,0.2); z-index: 9999; transition: background 0.3s; }
#lms-notification-bell:hover { background: #135e96; }
#lms-notif-count { position: absolute; top: -5px; right: -5px; background: #d63638; color: #fff; font-size: 11px; font-weight: bold; padding: 2px 6px; border-radius: 10px; display: none; }
#lms-notif-dropdown { position: absolute; bottom: 60px; right: 0; width: 300px; background: #fff; border-radius: 8px; box-shadow: 0 5px 20px rgba(0,0,0,0.15); display: none; flex-direction: column; overflow: hidden; border: 1px solid #e2e4e7; }
#lms-notif-dropdown h4 { margin: 0; padding: 15px; background: #f6f7f7; border-bottom: 1px solid #e2e4e7; color: #1d2327; font-size: 15px; }
#lms-notif-list { list-style: none; margin: 0; padding: 0; max-height: 300px; overflow-y: auto; }
#lms-notif-list li { padding: 15px; border-bottom: 1px solid #f0f0f1; font-size: 13px; color: #3c434a; cursor: pointer; transition: background 0.2s; }
#lms-notif-list li:hover { background: #f6f7f7; }
#lms-notif-list li.unread { font-weight: bold; background: #f0f6fc; }
#lms-notif-list li.lms-empty-notif { text-align: center; color: #8c8f94; padding: 20px; }

/* Toast Notifications */
#lms-toast-container { position: fixed; top: 30px; right: 30px; z-index: 10000; display: flex; flex-direction: column; gap: 10px; }
.lms-toast { background: #fff; border-left: 4px solid #2271b1; padding: 15px 20px; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); min-width: 250px; animation: slideInRight 0.3s ease-out forwards; display: flex; align-items: center; justify-content: space-between; }
.lms-toast.fade-out { animation: fadeOut 0.3s ease-in forwards; }

@keyframes slideInRight { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; transform: translateY(-10px); } }