/* CEO dashboard treatment based on the supplied Dashboard mock-up. */
.dashboard-mock .page-heading h1 { font-size: 38px; font-weight: 800; }
.dashboard-mock .kpi { position: relative; overflow: hidden; border: 0; border-radius: 10px; min-height: 182px; }
.dashboard-mock .kpi-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; font-size: 23px; }
.dashboard-mock .kpi.blue .kpi-icon { color: #1464dc; background: #d6e9ff; }.dashboard-mock .kpi.green .kpi-icon { color: #02a76f; background: #d4fae9; }.dashboard-mock .kpi.orange .kpi-icon { color: #ff7418; background: #ffe2cf; }.dashboard-mock .kpi.purple .kpi-icon { color: #6840e6; background: #e7ddff; }
.dashboard-mock .kpi-value { margin-top: 14px; font-size: 39px; }.dashboard-mock .kpi-compare { color: #109c45; font-size: 14px; }
.dashboard-mock .section-card { min-height: 324px; }.dashboard-mock .chart { position: relative; height: 218px; padding: 22px 29px 27px; gap: 21px; overflow: hidden; }
.dashboard-mock .chart:after { content: ''; position: absolute; left: 45px; right: 33px; top: 53px; height: 110px; background: linear-gradient(142deg,transparent 0 4%,#7947f6 4.7% 5.4%,transparent 6.1% 17%,#7947f6 17.7% 18.4%,transparent 19.1% 30%,#7947f6 30.7% 31.4%,transparent 32.1% 44%,#7947f6 44.7% 45.4%,transparent 46.1% 57%,#7947f6 57.7% 58.4%,transparent 59.1% 70%,#7947f6 70.7% 71.4%,transparent 72.1% 83%,#7947f6 83.7% 84.4%,transparent 85%); pointer-events:none; }
.dashboard-mock .bar { background: linear-gradient(#5db2ff,#2986e7); box-shadow: 0 0 0 1px rgba(31,121,223,.08); }
.dashboard-mock .chart.real-chart { display: block; padding: 0; background: #fff; border-bottom: 0; overflow: visible; }
.dashboard-mock .chart.real-chart:after { display: none; }
.training-svg { width: 100%; height: 232px; overflow: visible; display: block; }.training-svg .gridline { stroke: #e5edf7; stroke-width: 1; }.training-svg .axis-label { fill: #63728d; font: 12px "Segoe UI", Arial, sans-serif; }.training-svg .bar-label { fill: #4e607e; font: 11px "Segoe UI", Arial, sans-serif; }.training-svg .students-bar { fill: url(#student-gradient); }.training-svg .revenue-line { fill: none; stroke: #7447ef; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }.training-svg .revenue-dot { fill: #7447ef; stroke: #fff; stroke-width: 2; }.chart-key { display: flex; gap: 18px; justify-content: flex-end; margin: -6px 8px 2px; color: #53627e; font-size: 12px; }.chart-key span:before { content: ''; display: inline-block; width: 11px; height: 11px; vertical-align: -1px; margin-right: 5px; border-radius: 2px; background: #3d98ef; }.chart-key span:last-child:before { height: 3px; border-radius: 3px; background: #7447ef; }
.revenue-card { display: flex; flex-direction: column; }.revenue-content { display: flex; align-items: center; gap: 22px; margin: auto 0; }.donut { width: 180px; height: 180px; border-radius: 50%; background: conic-gradient(#216ee8 0 38%,#4aa4f0 38% 60%,#ffbd2f 60% 78%,#1dc795 78% 90%,#7d45ef 90%); position: relative; flex: none; }.donut:after { content: ''; position: absolute; inset: 40px; border-radius: 50%; background: #fff; }.donut-center { position: absolute; inset: 55px 20px; z-index: 1; text-align: center; display: grid; place-content: center; font-size: 23px; font-weight: 800; letter-spacing: -1px; }.donut-center small { font-size: 11px; letter-spacing: 0; color: var(--muted); font-weight: 500; }.revenue-legend { list-style: none; padding: 0; margin: 0; width: 100%; }.revenue-legend li { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; color: #3c527a; }.revenue-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 7px; }.revenue-legend b { color: var(--ink); }
.dashboard-mock .action-card { min-height: 133px; }.dashboard-mock .large-action { border: 0; background: linear-gradient(135deg,#126ee4,#0953bb); }.dashboard-mock .large-action strong { font-size: 19px; }.dashboard-mock .action-card .button-secondary { padding: 0; background: transparent; color: #1464dc; }
@media (max-width: 900px) { .revenue-content { justify-content: center; }.donut { width: 150px; height: 150px; }.donut:after { inset: 34px; }.donut-center { inset: 45px 10px; font-size: 19px; } }

/* Trainer submission workflow, aligned to the supplied review mock-up. */
.submission-page{max-width:1400px;padding-top:25px}.submission-heading{margin-bottom:24px}.submission-heading h1{font-size:39px;font-weight:800;letter-spacing:-1.5px}.submission-heading p{margin:3px 0 0;color:#4f628b;font-size:20px}.submission-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.85fr);gap:25px}.submission-steps{height:92px;display:flex;align-items:center;gap:20px;padding:0 39px;margin-bottom:16px;background:#fff;border:1px solid #dde6f3;border-radius:11px}.submission-steps .step{display:flex;align-items:center;gap:18px;color:#273e70;font-size:17px;white-space:nowrap}.submission-steps b{display:grid;place-items:center;width:50px;height:50px;border:1px solid #bdcae0;border-radius:50%;font-size:18px;font-weight:600}.submission-steps .active{color:#075ee0}.submission-steps .active b{background:#0965de;border-color:#0965de;color:#fff}.submission-steps .active strong{font-weight:800}.submission-steps>i{height:1px;flex:1;max-width:54px;background:#d4deec}.submission-form{padding:0;overflow:hidden;box-shadow:none}.submission-section{padding:21px 25px 0}.submission-section h2,.job-information h2,.help-card h2{font-size:22px;margin:0 0 18px;letter-spacing:-.7px}.job-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;gap:17px}.submission-form .field{margin-bottom:17px}.submission-form .field label{color:#364d7c;font-size:15px;font-weight:500}.submission-form .field input,.submission-form .field select,.submission-form .field textarea,.readonly-field{border-color:#d4deec;border-radius:8px;padding:12px 15px;min-height:50px;font-size:16px}.readonly-field{display:flex;align-items:center;justify-content:space-between;background:#fbfcff;color:#1d315d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readonly-field i{color:#18366b;font-size:18px}.submission-form fieldset{border:0;padding:0;margin:0}.submission-values{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:23px}.unit-field>div{position:relative}.unit-field input{padding-right:65px}.unit-field span{position:absolute;right:16px;top:13px;color:#7485a8;font-size:16px}.submission-form em{color:#ec3f42;font-style:normal;font-weight:800}.expense-details{position:relative}.expense-details>span{position:absolute;right:0;bottom:-3px;color:#8291b1;font-size:13px}.completion-section{padding-top:1px}.completion-section h2{margin-bottom:9px}.completion-section .check-field{align-items:center;margin:0 0 13px}.completion-section .check-field input{width:29px;height:29px;margin:0;accent-color:#0965de}.completion-section .check-field label{font-size:16px;color:#40537e}.completion-section textarea{min-height:48px;height:48px;padding-top:11px}.submission-actions{display:flex;justify-content:space-between;align-items:center;padding:14px 25px 17px;border-top:1px solid #e4eaf3;margin-top:15px}.submission-actions .button-secondary{border:1px solid #c7d4e6;background:#fff;color:#122047;padding:14px 34px}.submission-actions .button{padding:14px 35px;min-width:154px}.submission-aside{display:grid;align-content:start;gap:16px}.trainer-visual{height:240px;border-radius:9px;overflow:hidden;position:relative;display:flex;align-items:flex-end;padding:22px;background:linear-gradient(125deg,rgba(3,25,60,.18),rgba(11,100,216,.2)),linear-gradient(145deg,#eef4fb 0 39%,#9dd4f9 39% 58%,#4a7b9f 58% 100%);color:#fff}.trainer-visual:before{content:'';position:absolute;width:145px;height:145px;right:38px;bottom:-16px;border-radius:72px 72px 8px 8px;background:#ec791e;border:10px solid #ffb035;box-shadow:-94px 17px 0 -33px #f2d878,-150px 43px 0 -31px #626d78}.trainer-visual i{position:absolute;right:72px;bottom:132px;color:#f8f9f8;font-size:59px;z-index:1;filter:drop-shadow(0 2px 2px #233)}.trainer-visual span{position:relative;z-index:2;font-size:13px;font-weight:800;letter-spacing:1.4px;text-shadow:0 1px 3px #123}.job-information,.help-card{padding:22px 27px;box-shadow:none}.job-information p{display:flex;gap:26px;align-items:center;margin:17px 0;color:#334976;font-size:16px}.job-information p i{width:20px;text-align:center;font-size:21px;color:#12386d}.help-card p{display:flex;gap:24px;align-items:flex-start;margin:0;color:#435681;font-size:16px;line-height:1.55}.help-card p>i{font-size:28px;color:#112d60;margin-top:4px}.help-card a{color:#075ee0;text-decoration:none}

.submission-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.submission-heading .button{margin-bottom:2px}.new-job-card{padding:22px 25px;margin:-8px 0 18px;box-shadow:none;background:#fbfdff}.new-job-card h2{margin:0 0 4px;font-size:21px}.new-job-card>div>p{margin:0 0 18px;color:#61718f}.new-job-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:0 16px}.new-job-card .field{display:grid;gap:7px;margin-bottom:15px}.new-job-card .field label{font-size:13px;font-weight:750;color:#364d7c}.new-job-card input,.new-job-card select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #cbd7e7;border-radius:7px;background:#fff;color:#122047;font:inherit}.new-job-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e5ebf4;padding-top:16px}
@media(max-width:1050px){.submission-layout{grid-template-columns:1fr}.submission-aside{grid-template-columns:repeat(3,1fr);align-items:stretch}.trainer-visual{height:auto;min-height:190px}.job-information,.help-card{padding:19px}.job-information p{gap:12px;font-size:14px}.help-card p{gap:13px;font-size:14px}}
@media(max-width:760px){.submission-heading h1{font-size:31px}.submission-heading p{font-size:16px}.submission-steps{height:auto;padding:15px;gap:9px;justify-content:space-between}.submission-steps .step{gap:7px;font-size:12px;white-space:normal}.submission-steps b{width:33px;height:33px;font-size:14px;flex:none}.submission-steps>i{display:none}.job-fields,.submission-values{grid-template-columns:1fr}.submission-section{padding:19px 18px 0}.submission-actions{padding:14px 18px 17px}.submission-aside{grid-template-columns:1fr}.trainer-visual{height:175px}.submission-form .field input,.submission-form .field select,.submission-form .field textarea,.readonly-field{font-size:15px}.readonly-field{white-space:normal}.job-information p{font-size:16px}}
@media(max-width:900px){.new-job-fields{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.submission-heading{align-items:flex-start;flex-direction:column}.new-job-card{padding:19px;margin-top:-9px}.new-job-fields{grid-template-columns:1fr}.new-job-actions{justify-content:space-between}.new-job-actions .button,.new-job-actions .button-secondary{flex:1}}

/* Monthly Report dashboard view. */
.monthly-report-page{max-width:1500px;padding-top:18px}.monthly-heading{display:flex;justify-content:space-between;align-items:flex-start;margin:0 5px 15px}.monthly-heading h1{font-size:38px;font-weight:800;letter-spacing:-1.5px}.monthly-heading p{margin:2px 0;color:#6477a3;font-size:19px}.report-date{display:flex;gap:14px;align-items:center;color:#536996;font-size:13px;line-height:1.65}.report-date>i{font-size:25px;color:#135bcc}.report-date small{font-size:12px}.report-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:34px;align-items:center;padding:10px 16px;margin-bottom:15px;box-shadow:none}.report-controls label{display:flex;align-items:center;gap:25px;font-weight:750}.report-controls label>span{display:flex;align-items:center;gap:16px;min-width:310px;padding:10px 13px;border:1px solid #d4dfed;border-radius:7px;color:#10265a}.report-controls label>span i{font-size:19px;color:#173a76}.report-controls select{border:0;background:transparent;color:#10265a;font:700 15px inherit;width:100%;outline:0}.report-controls .button{min-width:215px;min-height:45px}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px}.report-kpis article{min-height:146px;display:grid;grid-template-columns:76px 1fr 15px;gap:15px;align-items:start;padding:15px 18px;background:#fff;border:1px solid #dfe7f2;border-radius:9px;box-shadow:0 5px 14px rgba(18,45,85,.04)}.report-kpis article>i:first-child,.report-list>div>i:first-child{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;font-size:27px}.report-kpis .blue,.report-list .blue{background:#e5f1ff;color:#0867ed}.report-kpis .green,.report-list .green{background:#e2f8e9;color:#129447}.report-kpis .purple,.report-list .purple{background:#eee5ff;color:#7447e7}.report-kpis .orange,.report-list .orange{background:#fff0df;color:#ef7400}.report-kpis article>i:last-child,.report-list h2>i:last-child,.report-list>div>i:last-child{font-size:13px;color:#183976;margin-top:8px}.report-kpis b{display:block;color:#172a57;font-size:15px;margin:10px 0 4px}.report-kpis strong{display:block;color:#061444;font-size:34px;letter-spacing:-1.6px;line-height:1}.report-kpis small{display:block;margin-top:13px;color:#009b31;font-size:14px;font-weight:800}.report-kpis small span{color:#8392b2;font-weight:500;margin-left:8px}.report-main-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:13px;margin-bottom:15px}.pnl-card,.trend-card{padding:0 14px 14px;box-shadow:none}.pnl-card h2,.trend-card h2,.report-list h2{display:flex;align-items:center;gap:15px;margin:0 -14px 12px;padding:15px 14px;border-bottom:1px solid #e5ebf3;color:#081746;font-size:19px}.pnl-card h2 i:first-child,.trend-card h2 i:first-child{color:#0870ef}.pnl-card h2 i:last-child{margin-left:auto;font-size:13px}.pnl-card table{width:100%;border-collapse:collapse}.pnl-card th{background:#f1f6fc;color:#3b5180;font-size:13px;font-weight:600;text-align:left;padding:11px 13px}.pnl-card th:first-child{border-radius:6px 0 0 6px}.pnl-card th:last-child{border-radius:0 6px 6px 0}.pnl-card td{padding:12px 13px;border-bottom:1px solid #e6ecf4;color:#172753;font-weight:700}.pnl-card td:nth-child(2){font-size:17px}.pnl-card .up{color:#009a32}.pnl-card .down{color:#fa1b28}.trend-card h2 select{margin-left:auto;padding:8px 28px 8px 12px;border:1px solid #d5dfed;border-radius:7px;color:#1b3265;background:#fff;font:500 14px inherit}.trend-card svg{width:100%;height:222px;overflow:visible}.trend-card .grid{stroke:#e0e8f2;stroke-width:1;fill:none}.trend-card .area{fill:rgba(40,137,240,.16)}.trend-card polyline{fill:none;stroke:#0876f9;stroke-width:3}.trend-card circle{fill:#0876f9;stroke:#fff;stroke-width:2}.trend-card text{font:700 12px "Segoe UI",sans-serif;fill:#10275d;text-anchor:middle}.trend-card .axis{font:12px "Segoe UI",sans-serif;fill:#60739c}.report-bottom-grid{display:grid;grid-template-columns:.96fr 1.05fr 1.08fr;gap:13px}.report-list{padding:0 14px 12px;box-shadow:none}.report-list h2{font-size:18px}.report-list h2>i:last-child{margin-left:auto}.report-list>div{display:grid;grid-template-columns:58px 1fr auto 12px;gap:12px;align-items:center;min-height:57px;margin:7px 0;padding:5px 10px;border:1px solid #e1e8f1;border-radius:6px}.report-list>div>i:first-child{width:43px;height:43px;font-size:19px}.report-list .red{background:#ffe7e8;color:#f5242f}.report-list .amber{background:#fff2d4;color:#bd7800}.report-list span{color:#172a58;font-size:14px}.report-list span strong,.report-list span small{display:block}.report-list span small{color:#8493b2;font-size:12px;font-weight:400;margin-top:2px}.report-list b{font-size:25px;color:#f5232c}.report-list>div:nth-child(3) b{color:#f17900}.report-list>div:nth-child(4) b{color:#0874ef}.report-footnote{margin:5px 3px 0;color:#8c9abd;font-size:12px}
@media(max-width:1100px){.report-controls{grid-template-columns:1fr 1fr}.report-controls .button{grid-column:span 2}.report-kpis{grid-template-columns:repeat(2,1fr)}.report-bottom-grid{grid-template-columns:1fr}.report-list{min-height:auto}}
@media(max-width:760px){.monthly-heading{display:block}.report-date{margin-top:12px}.monthly-heading h1{font-size:31px}.monthly-heading p{font-size:16px}.report-controls,.report-main-grid{grid-template-columns:1fr;gap:12px}.report-controls label{display:grid;gap:6px}.report-controls label>span{min-width:0}.report-controls .button{grid-column:auto}.report-kpis{grid-template-columns:1fr}.report-kpis article{min-height:120px}.trend-card{overflow:auto}.trend-card svg{min-width:600px}.report-bottom-grid{grid-template-columns:1fr}}

/* The trainer submission uses the Job information card directly, without a placeholder image. */
.trainer-visual{display:none}

/* Compliance register. */
.compliance-page{max-width:1350px}.compliance-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:21px}.compliance-heading h1{font-size:38px;font-weight:800;letter-spacing:-1.5px}.compliance-heading .eyebrow{margin-bottom:2px}.compliance-heading p:not(.eyebrow){margin:5px 0 0;color:#627395;font-size:17px}.compliance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.compliance-summary article{display:flex;align-items:center;gap:16px;padding:20px 22px;box-shadow:none}.compliance-summary article>i{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;font-size:24px}.compliance-summary .alert>i{color:#da2637;background:#ffe5e8}.compliance-summary .good>i{color:#10864b;background:#e3f8ec}.compliance-summary .neutral>i{color:#176dd4;background:#e5f0ff}.compliance-summary strong,.compliance-summary span{display:block}.compliance-summary strong{font-size:29px;line-height:1}.compliance-summary span{color:#596b8d;margin-top:4px}.compliance-grid{display:grid;gap:18px}.compliance-panel{padding:0;overflow:hidden;box-shadow:none}.compliance-panel>header{display:flex;justify-content:space-between;align-items:center;padding:20px 23px;border-bottom:1px solid #e2e9f2}.compliance-panel h2{margin:0;color:#0e204d;font-size:20px}.compliance-panel h2 i{margin-right:10px;color:#d73442}.compliance-panel:nth-child(2) h2 i{color:#16894f}.compliance-panel header p{margin:5px 0 0;color:#6d7e9e;font-size:13px}.count-badge{min-width:32px;padding:6px 9px;border-radius:20px;background:#ffeaec;color:#c82031;text-align:center;font-weight:800}.good-badge{background:#e4f8ec;color:#10864b}.compliance-rows{padding:0 23px}.compliance-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid #e8edf4}.compliance-row:last-child{border-bottom:0}.compliance-row>i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e4f8ec;color:#148b50}.compliance-row.attention>i{background:#fff0dd;color:#c67600}.compliance-row strong,.compliance-row small{display:block}.compliance-row strong{font-size:15px;color:#172853}.compliance-row small{color:#6e7e9d;font-size:12px;margin-top:3px}.status-pill{padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800;white-space:nowrap}.status-pill.overdue{background:#ffe7e9;color:#c92435}.status-pill.soon{background:#fff1d9;color:#a46300}.status-pill.compliant{background:#e3f8eb;color:#16854b}.compliance-row .link-button{color:#1464dc;text-decoration:none;font-size:13px;white-space:nowrap}.compliance-row .link-button i{font-size:10px;margin-left:3px}.compliance-note{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;margin-top:18px;box-shadow:none;background:#f4f8ff;color:#40557d}.compliance-note i{color:#1464dc;margin-top:3px}.compliance-note p{margin:0;font-size:13px;line-height:1.5}
@media(max-width:760px){.compliance-heading{display:block}.compliance-heading .button{margin-top:15px}.compliance-summary{grid-template-columns:1fr}.compliance-row{grid-template-columns:38px minmax(0,1fr) auto}.compliance-row .link-button{grid-column:2 / -1;margin-top:-8px}.compliance-rows{padding:0 16px}.compliance-panel>header{padding:18px 16px}}
