:root { --edu-primary:#173a59; --edu-primary-dark:#0e273d; --edu-muted:#64748b; --edu-border:#e5e7eb; --edu-text:#1f2937; --edu-bg:#f6f3ee; }
* { box-sizing: border-box; }
body { background: var(--edu-bg); color: var(--edu-text); font-family: system-ui, -apple-system, Segoe UI, sans-serif; }
a { text-decoration:none; }
.ensl-navbar { min-height:72px; padding:10px 22px; background:linear-gradient(135deg,var(--edu-primary),var(--edu-primary-dark)); color:#fff; display:flex; justify-content:space-between; align-items:center; box-shadow:0 8px 24px rgba(0,0,0,.16); }
.brand-wrap { display:flex; align-items:center; gap:12px; }
.brand-logo { width:52px; height:52px; object-fit:contain; background:#fff; border-radius:12px; padding:4px; }
.brand-title { font-size:1.25rem; font-weight:900; letter-spacing:.04em; }
.brand-subtitle { font-size:.86rem; opacity:.88; }
.nav-actions { display:flex; gap:14px; flex-wrap:wrap; }
.nav-actions a { color:#fff; opacity:.88; font-weight:700; }
.page-shell { padding:28px; max-width:1500px; margin:0 auto; }
.dashboard-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:24px; }
.dashboard-header h1 { color:var(--edu-primary); font-weight:900; margin:0; }
.dashboard-header p { color:var(--edu-muted); margin:.35rem 0 0; }
.content-card, .stat-card { background:#fff; border:1px solid var(--edu-border); border-radius:22px; padding:24px; box-shadow:0 14px 35px rgba(31,41,51,.07); }
.content-card h2 { color:var(--edu-primary); font-size:1.25rem; font-weight:900; margin-bottom:16px; }
.stat-number { color:var(--edu-primary); font-size:2rem; font-weight:900; }
.stat-label { color:var(--edu-muted); font-weight:700; }
.login-card { max-width:480px; margin:7vh auto; }
.login-logo { max-width:180px; display:block; margin:0 auto 18px; }
.mini-list { display:grid; gap:10px; }
.mini-list-item { background:#f8fafc; border:1px solid var(--edu-border); border-radius:16px; padding:12px 14px; display:grid; gap:4px; }
.mini-list-item strong { color:var(--edu-primary); }
.mini-list-item span { color:var(--edu-muted); }
.quick-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.quick-action-card { display:flex; align-items:center; gap:14px; background:#f8fafc; border:1px solid var(--edu-border); border-radius:18px; padding:14px 16px; color:var(--edu-text); transition:.18s ease; }
.quick-action-card:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(31,41,51,.10); color:var(--edu-text); }
.quick-action-icon { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:rgba(39,68,93,.08); font-size:1.2rem; }
.quick-action-card strong { display:block; color:var(--edu-primary); }
.quick-action-card small { display:block; color:var(--edu-muted); }
.soft-pill { display:inline-block; padding:5px 10px; border-radius:999px; background:rgba(39,68,93,.08); color:var(--edu-primary); font-weight:800; font-size:.88rem; }
.status-active { background:rgba(22,101,52,.10); color:#166534; }
.status-inactive { background:rgba(153,27,27,.10); color:#991b1b; }
.admin-table td, .admin-table th { vertical-align:middle; }
.empty-text { color:var(--edu-muted); margin:0; }
.attendance-toggle { display:flex; gap:8px; flex-wrap:wrap; }
.attendance-option { border:1px solid var(--edu-border); border-radius:999px; padding:6px 10px; background:#fff; font-weight:700; }
.present-option { color:#166534; } .absent-option { color:#991b1b; }
.parent-message-box { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; white-space:pre-wrap; }
.student-chip-wrap { display:flex; flex-wrap:wrap; gap:8px; }
.student-chip { display:inline-flex; flex-direction:column; gap:2px; background:#f8fafc; border:1px solid var(--edu-border); border-radius:14px; padding:8px 10px; font-weight:800; }
.student-chip small { color:var(--edu-muted); font-weight:500; }
.student-select-grid, .check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.student-select-card, .check-card { display:flex; gap:10px; background:#f8fafc; border:1px solid var(--edu-border); border-radius:16px; padding:12px 14px; cursor:pointer; }
.student-select-card small { color:var(--edu-muted); display:block; }
.group-grid, .message-grid { display:grid; gap:18px; }
.group-card-header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.chart-box { height:360px; width:100%; background:#fff; border:1px solid var(--edu-border); border-radius:18px; padding:16px; }
.copy-toast { position:fixed; right:24px; bottom:24px; background:var(--edu-primary); color:#fff; padding:14px 18px; border-radius:16px; box-shadow:0 20px 45px rgba(0,0,0,.25); opacity:0; pointer-events:none; transform:translateY(12px); transition:.2s ease; z-index:2000; font-weight:800; }
.copy-toast.show { opacity:1; transform:translateY(0); }
.ensl-modal { border:0; border-radius:22px; overflow:hidden; }
.ensl-modal-header { background:linear-gradient(135deg,var(--edu-primary),var(--edu-primary-dark)); color:#fff; border:0; }
.ensl-modal-header .btn-close { filter:invert(1); }
.daily-schedule-print { background:#fff; border:1px solid var(--edu-border); border-radius:18px; overflow:hidden; }
.daily-schedule-title { text-align:center; font-weight:900; font-size:1.6rem; padding:10px; background:#f4b183; color:#000; border-bottom:2px solid #000; }
.daily-schedule-block { border-bottom:14px solid #fff; }
.daily-schedule-subtitle { text-align:center; font-weight:900; font-size:1.15rem; background:#5b9bd5; color:#000; padding:6px; border-top:2px solid #000; border-bottom:1px solid #000; }
.daily-schedule-table { width:100%; border-collapse:collapse; font-family:Georgia,'Times New Roman',serif; }
.daily-schedule-table th, .daily-schedule-table td { border:1px solid #000; padding:5px 8px; text-align:center; font-weight:700; }
.daily-schedule-table th { background:#bdd7ee; }
.no-class-cell { font-weight:900; }
@media(max-width:768px){ .page-shell{padding:16px}.dashboard-header{display:grid}.quick-action-grid,.student-select-grid,.check-grid{grid-template-columns:1fr}.chart-box{height:300px}.ensl-navbar{display:grid;gap:10px}.nav-actions{font-size:.9rem} }
@media print { .ensl-navbar,.dashboard-header,.content-card.mb-4,.alert{display:none!important}.daily-schedule-print{border-radius:0;border:none} body{background:#fff} }
