*{box-sizing:border-box}:root{--bg: #f4f7f5;--panel: #ffffff;--panel-soft: #f8fbf9;--text: #16202a;--muted: #61717c;--line: #dde5df;--green: #215c3b;--green-dark: #153d28;--green-soft: #e6f3eb;--navy: #12202a;--navy-soft: #21303b;--blue-soft: #eef4ff;--blue-text: #1d4ed8;--warn-soft: #fff6df;--warn-text: #9a6700;--bad-soft: #fdecec;--bad-text: #b42318;--shadow: 0 10px 30px rgba(17, 24, 39, .08)}html,body,#root{margin:0;min-height:100%}body{font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:10px 14px;background:var(--green);color:#fff;transition:.2s ease}button:hover{opacity:.96}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #c9d1d9;border-radius:10px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}h1,h2,h3{margin:0 0 8px}p{margin:0}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.shell.narrow{display:flex;justify-content:center;align-items:center;min-height:100vh}.sidebar{background:linear-gradient(180deg,#10202a,#0f2735);color:#fff;padding:18px;display:flex;flex-direction:column;gap:16px;border-right:1px solid rgba(255,255,255,.06)}.content{padding:24px}.card{background:var(--panel);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.stack{display:flex;flex-direction:column;gap:18px}.metricGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metricGrid.two{grid-template-columns:repeat(2,1fr)}.metricGrid.twoByThree{grid-template-columns:repeat(3,1fr);gap:16px}.metric{font-size:28px;font-weight:700;line-height:1.1}.smallMetric{font-size:22px}.muted{color:var(--muted)}.small{font-size:12px}.navBtn{width:100%;text-align:left;background:var(--navy-soft);border-radius:12px}.navBtn.active{background:var(--green)}.rowBetween{display:flex;justify-content:space-between;align-items:center;gap:14px}.formGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.checkboxRow{display:flex;align-items:center;gap:8px}.checkboxRow input{width:auto}.twoCol{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.soft{box-shadow:none;border:1px solid var(--line);background:var(--panel-soft)}.rowWrap{display:flex;gap:10px;flex-wrap:wrap}.statusPill{background:var(--blue-soft);color:var(--blue-text);padding:8px 12px;border-radius:999px;font-weight:700;align-self:start}.secondaryBtn{background:#e8f0eb;color:var(--green-dark);border:1px solid #cfe0d5}.ghostBtn{background:transparent;color:var(--green-dark);border:1px solid #d8e3db}.brandHero{display:flex;justify-content:space-between;align-items:stretch;gap:18px;background:linear-gradient(135deg,#fff,#eef6f0);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.brandEyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--green);text-transform:uppercase;margin-bottom:8px}.brandMark{min-width:240px;border-radius:18px;background:linear-gradient(135deg,#1f5b39,#133924);color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.brandMarkBadge{font-size:12px;font-weight:800;letter-spacing:.14em;opacity:.9}.brandMarkText{font-size:15px;line-height:1.4}.fortnightListGrid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;margin-top:12px}.fortnightListCard{text-align:left;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:none}.fortnightListCard:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.fortnightListTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.fortnightEmployee{font-size:18px;font-weight:700}.fortnightListMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.statusBadge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 12px;font-weight:700;font-size:12px;text-transform:capitalize}.statusBadge.submitted{background:var(--blue-soft);color:var(--blue-text)}.statusBadge.approved{background:var(--green-soft);color:var(--green-dark)}.statusBadge.paid{background:#e8f1ff;color:#1849a9}.statusBadge.draft{background:#f3f4f6;color:#475467}.statusBadge.rejected{background:var(--bad-soft);color:var(--bad-text)}.statusBadge.statusGood,.statusGood{background:var(--green-soft);color:var(--green-dark)}.statusBadge.statusWarn,.statusWarn{background:var(--warn-soft);color:var(--warn-text)}.statusBadge.statusBad,.statusBad{background:var(--bad-soft);color:var(--bad-text)}.statusBadge.statusNeutral,.statusNeutral{background:#f3f4f6;color:#475467}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d181485;display:flex;justify-content:center;align-items:flex-start;padding:28px;overflow:auto;z-index:1000}.modalPanel{width:min(1400px,100%);background:#fff;border-radius:24px;box-shadow:0 24px 80px #0f172a38;overflow:hidden}.modalHeader{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#f8fbf9,#eef6f0)}.modalBrand{display:flex;align-items:center;gap:16px}.modalLogo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:26px;font-weight:800}.modalTitle{margin-bottom:4px}.modalHeaderActions{display:flex;gap:10px;flex-wrap:wrap}.modalBody{padding:24px}.actionBar{display:flex;gap:10px;flex-wrap:wrap}.reportLegend{display:flex;gap:14px;flex-wrap:wrap}.legendItem{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.legendDot{width:10px;height:10px;border-radius:999px;display:inline-block}.legendDot.good{background:#2e7d4e}.legendDot.warn{background:#d9a300}.legendDot.bad{background:#cf3e3e}.fortnightTableWrap{overflow-x:auto}.reportTable,.fortnightAdjustTable{min-width:1100px}.smallInput{min-width:78px}.notesInput{min-width:180px}.saveRowBtn{white-space:nowrap}.jobCellMain{font-weight:600}.jobCellSub{font-size:12px;color:var(--muted);margin-top:4px}@media (max-width: 1200px){.metricGrid,.metricGrid.twoByThree{grid-template-columns:repeat(2,1fr)}.fortnightListGrid{grid-template-columns:1fr}}@media (max-width: 1100px){.shell{grid-template-columns:1fr}.formGrid{grid-template-columns:repeat(2,1fr)}.twoCol{grid-template-columns:1fr}.brandHero,.modalHeader{flex-direction:column;align-items:flex-start}}@media (max-width: 700px){.content{padding:16px}.metricGrid,.metricGrid.two,.metricGrid.twoByThree,.formGrid{grid-template-columns:1fr}.modalBackdrop{padding:12px}.modalBody,.modalHeader{padding:16px}}.leaderboardList{display:flex;flex-direction:column;gap:12px;margin-top:14px}.leaderboardItem{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line)}.leaderboardRank{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800}.leaderboardBody{display:flex;flex-direction:column;gap:2px}.leaderboardName{font-weight:700}.chartWrap{overflow-x:auto}.chartSvg{width:100%;min-width:680px;height:auto}.chartAxis{stroke:#cfd8d3;stroke-width:1.5}.chartLine{stroke:var(--green);stroke-width:3}.chartDot{fill:var(--green)}.chartLabel{font-size:11px;fill:#61717c}.chartValue{font-size:11px;fill:#16202a;font-weight:700}.barChartList{display:flex;flex-direction:column;gap:12px;margin-top:14px}.barRow{display:grid;grid-template-columns:180px 1fr 110px;gap:12px;align-items:center}.barLabel{font-weight:600;font-size:14px}.barTrack{height:16px;background:#e8efea;border-radius:999px;overflow:hidden}.barFill{height:100%;background:var(--green);border-radius:999px}.barValue{text-align:right;font-weight:700;font-size:14px}.reportingToolbar{gap:16px;flex-wrap:wrap}.rangeButtonGroup{display:flex;gap:10px;flex-wrap:wrap}.reportFilterRight{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filterBtn{background:#eef4ef;color:#215c3b;border:1px solid #d2e2d6}.activeFilterBtn{background:#215c3b;color:#fff;border-color:#215c3b}.summaryNarrative{display:flex;flex-direction:column;gap:10px;color:var(--text);line-height:1.5}@media print{body{background:#fff!important}.sidebar,.noPrint,button,.navBtn{display:none!important}.shell{display:block!important}.content{padding:0!important}.pdfReportPage{gap:12px!important}.card,.brandHero{box-shadow:none!important;border:1px solid #d9d9d9!important;border-radius:10px!important;background:#fff!important}.brandMark{background:#215c3b!important;color:#fff!important}.metricGrid{gap:10px!important}.metricGrid.twoByThree{grid-template-columns:repeat(3,1fr)!important}.fortnightTableWrap{overflow:visible!important}.reportTable{min-width:100%!important;width:100%!important}.statusBadge{border:1px solid #d0d0d0}@page{size:A4 portrait;margin:12mm}}.pdfReportPage{gap:16px}.pdfSection{break-inside:avoid;page-break-inside:avoid}.printReportFrame{background:#fff;border:1px solid #d9e1db;border-radius:18px;padding:28px;box-shadow:0 10px 30px #11182714}.printTopBar{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:2px solid #1f5b39;margin-bottom:22px}.printTopBarBrand{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#1f5b39}.printTopBarMeta{font-size:12px;color:#61717c;font-weight:600}.printHeader{display:grid;grid-template-columns:1fr 260px;gap:20px;align-items:start;margin-bottom:24px}.printEyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#1f5b39;margin-bottom:8px}.printTitle{font-size:38px;line-height:1.05;margin:0 0 14px;color:#1d2329}.printMetaGrid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 18px;color:#4b5963;font-size:14px}.printBrandBox{background:linear-gradient(135deg,#1f5b39,#133924);color:#fff;border-radius:18px;padding:18px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.printBrandTitle{font-size:13px;font-weight:800;letter-spacing:.16em}.printBrandSub{font-size:15px;line-height:1.4}.printSummaryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.printStatCard{border:1px solid #dde5df;border-radius:16px;padding:16px;background:#fbfcfb}.printStatValue{font-size:30px;font-weight:800;line-height:1.05;color:#1c2329;margin-bottom:4px}.printStatLabel{color:#61717c;font-size:13px;font-weight:600}.printBadgeRow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.printSection{border-top:1px solid #e2e8e4;padding-top:16px;margin-top:8px}.printSectionTitle{font-size:24px;margin:0 0 12px;color:#1d2329}.printSectionBody{color:#2c3740;line-height:1.6;font-size:14px}.compactTable th,.compactTable td{padding:8px;font-size:12px}.printTable th{background:#f3f6f4;color:#2c3740;font-weight:700;border-bottom:1px solid #dbe4de}.printTable td{color:#24303a}.printTable tr:nth-child(2n) td{background:#fafcfb}@media (max-width: 1000px){.printHeader{grid-template-columns:1fr}.printSummaryGrid{grid-template-columns:1fr 1fr}.printMetaGrid{grid-template-columns:1fr}}@media print{html,body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,.noPrint,button,.navBtn,.brandHero{display:none!important}.shell{display:block!important}.content{padding:0!important;background:#fff!important}.pdfReportPage{gap:10px!important}.printReportFrame{box-shadow:none!important;border:none!important;border-radius:0!important;padding:0!important}.printTopBar{margin-bottom:16px!important;padding-bottom:10px!important}.printTitle{font-size:28px!important;margin-bottom:10px!important}.printMetaGrid{font-size:11px!important;gap:6px 12px!important}.printBrandBox{min-height:90px!important;padding:14px!important;border-radius:12px!important}.printSummaryGrid{gap:10px!important;margin-bottom:12px!important}.printStatCard{border-radius:10px!important;padding:10px!important;break-inside:avoid;page-break-inside:avoid}.printStatValue{font-size:18px!important}.printStatLabel{font-size:10px!important}.printBadgeRow{margin-bottom:10px!important}.printSection{margin-top:6px!important;padding-top:10px!important;break-inside:avoid;page-break-inside:avoid}.printSectionTitle{font-size:16px!important;margin-bottom:8px!important}.printSectionBody{font-size:11px!important;line-height:1.45!important}.fortnightTableWrap{overflow:visible!important}.reportTable,.compactTable,.printTable{width:100%!important;min-width:100%!important;table-layout:fixed}.compactTable th,.compactTable td{padding:5px 4px!important;font-size:9.5px!important;word-break:break-word}.statusBadge{font-size:9px!important;padding:4px 8px!important;border:1px solid #d4dbd6!important}@page{size:A4 portrait;margin:10mm}}
