/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
:root{color-scheme:light;background:#f6f4ef;color:#1f2933;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}.shell{min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background:#17324d;color:white}.brand{font-weight:800;letter-spacing:.02em}.nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.nav a{color:white;text-decoration:none;font-weight:600}.main{padding:32px;max-width:1180px;margin:0 auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.card{background:white;border:1px solid #e5e1d8;border-radius:16px;padding:20px;box-shadow:0 1px 2px #0000000d}.card h2,.card h3{margin:0 0 8px}.metric{font-size:36px;font-weight:800}.muted{color:#667085}.table{width:100%;border-collapse:collapse;background:white;border-radius:16px;overflow:hidden}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid #ece7dc;vertical-align:top}.badge{display:inline-flex;border-radius:999px;padding:4px 10px;background:#e8f1ff;color:#17324d;font-weight:700;font-size:12px}.hero{display:grid;grid-gap:16px;gap:16px;margin-bottom:24px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button,button{background:#17324d;color:white;border:0;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer}.button.secondary{background:#e8dfd0;color:#17324d}.linkButton{background:transparent;color:white;padding:0;border-radius:0}.form{display:grid;grid-gap:12px;gap:12px}.formGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-weight:700;font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:10px;font:inherit;background:white}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.tabs a{background:#fff;border:1px solid #e5e1d8;border-radius:999px;padding:8px 12px;text-decoration:none;font-weight:700}.stack{display:grid;grid-gap:16px;gap:16px}.error{color:#b42318;font-weight:700}.calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.event{border-left:5px solid #17324d}.attendanceGrid{overflow:auto}.markSelect{min-width:100px}

/* ── Week calendar ─────────────────────────────── */
.weekGrid{display:grid;grid-gap:0;gap:0;border:1px solid #e5e1d8;border-radius:16px;overflow:hidden;background:#f6f4ef}
.dayCol{display:flex;flex-direction:column;min-height:180px;border-right:1px solid #e5e1d8}
.dayCol:last-child{border-right:none}
.dayHeader{padding:10px 8px;font-weight:800;font-size:12px;background:white;border-bottom:1px solid #e5e1d8;text-align:center;letter-spacing:.06em;text-transform:uppercase;color:#667085}
.noClasses{padding:12px 6px;color:#d0d5dd;text-align:center;font-size:12px}
.eventCard{display:block;margin:6px 6px 0;padding:10px;border-radius:10px;border-left:4px solid #17324d;text-decoration:none;color:#1f2933;font-size:12px;line-height:1.45;cursor:pointer}
.eventCard:hover{filter:brightness(.95)}
.eventCard:last-child{margin-bottom:6px}
.eventLang{font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}
.eventTitle{font-weight:700;margin-bottom:3px;font-size:12px}
.eventMeta{color:#667085;font-size:11px}
.eventTypeBadge{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:1px 5px;margin-top:3px}

/* ── Language legend ───────────────────────────── */
.legend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:12px 0}
.legendPill{border-radius:999px;padding:3px 10px;border:2px solid;font-size:11px;font-weight:800;letter-spacing:.02em}

/* ── Month calendar ────────────────────────────── */
.monthHeader{display:flex;align-items:center;gap:12px}
.monthHeader h2{margin:0}
.monthGrid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid #e5e1d8;border-radius:16px;overflow:hidden}
.monthDayLabel{padding:8px 4px;text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#667085;background:white;border-bottom:1px solid #e5e1d8}
.monthCell{min-height:88px;padding:6px;border-right:1px solid #ece7dc;border-bottom:1px solid #ece7dc;background:white}
.monthCell:nth-child(7n){border-right:none}
.monthCell.empty{background:#faf9f7;border-right:1px solid #ece7dc}
.monthCell.empty:nth-child(7n){border-right:none}
.cellDate{font-size:11px;font-weight:700;color:#adb5bd;margin-bottom:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.cellDate.today{background:#17324d;color:white}
.sessionChip{display:block;border-radius:5px;padding:2px 5px;margin-bottom:2px;font-size:10px;font-weight:700;text-decoration:none;color:#1f2933;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sessionChip:hover{filter:brightness(.92)}

/* ── Payroll summary ───────────────────────────── */
.payrollGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}
.payCard{background:white;border:1px solid #e5e1d8;border-radius:14px;padding:16px}
.payCard h3{margin:0 0 6px;font-size:14px;font-weight:800}
.payCard .payHours{font-size:30px;font-weight:800;color:#17324d;line-height:1}
.payCard .payAmount{color:#667085;font-size:13px;margin-top:2px}
.payCard .payStatus{font-size:11px;font-weight:800;margin-top:8px}
.payCard .payStatus.submitted{color:#12b76a}
.payCard .payStatus.pending{color:#f79009}
.sectionHead{display:flex;align-items:baseline;gap:12px;margin:8px 0 4px}
.sectionHead h2{margin:0}
.sectionHead .muted{font-size:13px}
