:root{font-family:Inter,Arial,sans-serif;color:#17251f;background:#f2f5f1;line-height:1.45;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{max-width:1180px;margin:auto;padding:28px 22px 64px}.brand{font-weight:800;letter-spacing:.14em;color:#276749;font-size:13px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:30px}h2{font-size:22px;margin-bottom:8px}.muted{color:#6b7771}.login-card{max-width:420px;margin:10vh auto;background:#fff;border:1px solid #dfe6e1;border-radius:20px;padding:36px;box-shadow:0 16px 48px rgba(33,64,48,.09)}label{display:block;font-weight:700;margin:24px 0 8px}input[type=password],input[type=file]{width:100%;border:1px solid #cbd7d0;border-radius:10px;padding:13px;background:#fff}button{border:0;border-radius:10px;padding:13px 18px;background:#276749;color:#fff;font-weight:750;cursor:pointer}.login-card button{width:100%;margin-top:14px}.ghost{background:#fff;color:#276749;border:1px solid #bfd0c5}.error{color:#a02924;margin:14px 0 0}.topbar,.headline,.panel,.metric-card{background:#fff;border:1px solid #dfe6e1;border-radius:18px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;margin-bottom:18px}.top-actions{display:flex;align-items:center;gap:10px}.badge{border-radius:999px;padding:7px 11px;background:#e6f2eb;color:#276749;font-size:13px;font-weight:700}.panel{padding:24px;margin-bottom:18px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.section-heading h2{margin:0}.eyebrow{margin-bottom:5px;text-transform:uppercase;letter-spacing:.11em;font-size:12px;opacity:.8}.eyebrow.dark{color:#527064;font-weight:800}.rules-total,.owner-only{padding:8px 11px;border-radius:999px;background:#edf5f0;color:#276749;font-size:12px;font-weight:800;white-space:nowrap}.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rules-grid article{padding:17px;background:#f5f8f5;border:1px solid #e4ebe6;border-radius:14px}.rules-grid b,.rules-grid p{display:block}.rules-grid p{font-size:13px;color:#64716b;margin:5px 0 0}.rule-number{display:block;color:#276749;font-weight:850;font-size:21px;margin-bottom:5px}.formula-note{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;padding:13px 15px;background:#fff8e8;border-radius:12px;color:#5f522f;font-size:14px}.report-steps{margin:0 0 14px;padding-left:22px}.report-steps li{padding:4px 0}.report-note{margin:0 0 18px;padding:12px 14px;background:#f5f8f5;border-radius:10px;color:#52635b;font-size:14px}.upload-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.status{margin:12px 0 0}.headline{display:flex;justify-content:space-between;align-items:center;padding:26px;margin-bottom:18px;background:linear-gradient(135deg,#173f31,#276749);color:#fff}.headline .muted{color:#d7e6de;margin:0}.salary{text-align:right}.salary span,.salary small{display:block;font-size:13px;opacity:.82}.salary strong{display:block;font-size:34px;margin:2px 0}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.metric-card{padding:24px}.metric-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.metric-title h3{font-size:19px;margin:0}.signal{font-size:12px;font-weight:800;padding:6px 9px;border-radius:999px;background:#edf1ef;white-space:nowrap}.amount{margin:24px 0 13px}.amount strong{font-size:31px}.amount span{display:block;color:#6b7771}.progress{height:10px;background:#edf1ef;border-radius:999px;overflow:hidden;margin-bottom:18px}.progress i{display:block;height:100%;width:0;background:#276749;border-radius:inherit}.stat-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf1ef}.stat-row span{color:#607068}.stat-row b{text-align:right}.stat-row.emphasis{margin:3px -10px;padding:12px 10px;background:#f2f7f4;border:0;border-radius:10px}.forecast-explain{border-left:5px solid #276749}.plain-formula{padding:13px 15px;background:#edf5f0;border-radius:10px}.forecast-lines{display:grid;grid-template-columns:1fr 1fr;gap:12px}.forecast-lines div{padding:15px;background:#f7f9f7;border-radius:12px}.forecast-lines span,.forecast-lines b{display:block}.forecast-lines span{font-size:13px;color:#65726c;margin-bottom:4px}.control-line{margin:14px 0 0;color:#64716b}.control-line span{font-size:12px}.payout-rows{display:grid}.payout-rows>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,2fr) auto;gap:18px;align-items:center;padding:13px 4px;border-bottom:1px solid #e7ece9}.payout-rows span{font-weight:750}.payout-rows small{color:#68766f}.payout-rows b{font-size:18px;text-align:right}.payout-rows .payout-total{margin-top:5px;padding:17px 14px;background:#173f31;color:#fff;border:0;border-radius:12px}.payout-total small{color:#d8e7df}.payout-total b{font-size:26px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:right;padding:12px;border-bottom:1px solid #e5ebe7;white-space:nowrap}th:first-child,td:first-child{text-align:left}td small{display:block;color:#6b7771;margin-top:3px}.imports{display:grid;gap:8px}.import-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e5ebe7}.good{color:#1c6b43}.warn{color:#9b6500}.bad{color:#a02924}@media(max-width:900px){.rules-grid{grid-template-columns:1fr 1fr}.payout-rows>div{grid-template-columns:1fr auto}.payout-rows small{grid-column:1/-1;grid-row:2}}@media(max-width:720px){.metric-grid,.forecast-lines{grid-template-columns:1fr}.rules-grid{grid-template-columns:1fr 1fr}.headline{align-items:flex-start;gap:18px}.salary strong{font-size:26px}.upload-form{grid-template-columns:1fr}.topbar{align-items:flex-start}.shell{padding:14px}.panel,.metric-card{padding:18px}.section-heading{display:block}.rules-total,.owner-only{display:inline-block;margin-top:8px}.payout-rows>div{grid-template-columns:1fr auto}.payout-rows small{grid-column:1/-1}.stat-row{font-size:14px}}@media(max-width:460px){.rules-grid{grid-template-columns:1fr}.headline{display:block}.salary{text-align:left;margin-top:18px}.topbar h1{font-size:23px}.top-actions{flex-direction:column;align-items:flex-end}.payout-rows>div{grid-template-columns:1fr auto}}
:where([hidden]){display:none!important}
.launch-note,.history-warning{margin:14px 0 0;padding:13px 15px;border-radius:12px;background:#fff1ee;color:#7d3128;border:1px solid #f0d4ce}.history-warning{margin:10px 0 16px}
.achievement{margin:0 0 16px;padding:14px;background:#f7f9f7;border-radius:13px}.achievement-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}.achievement-head span{font-size:13px;color:#5f6f67}.achievement-head strong{font-size:23px}.achievement-track{position:relative;height:16px;background:linear-gradient(90deg,#f4d8d5 0 79%,#f7e7b7 79% 83.333%,#d9ecdf 83.333% 100%);border-radius:999px;overflow:visible}.achievement-track i{display:block;height:100%;border-radius:999px;background:#a02924;transition:width .25s}.achievement-track.warn i{background:#c58a10}.achievement-track.good i{background:#24724a}.achievement-track em{position:absolute;left:83.333%;top:-5px;width:3px;height:26px;background:#17251f;border-radius:3px;transform:translateX(-1px)}.achievement-scale{display:flex;justify-content:space-between;margin-top:7px;color:#78837e;font-size:11px}.achievement-scale span:nth-child(2){font-weight:800;color:#35483f}.gap-note{margin:9px 0 0;font-weight:750;font-size:13px}.trend-chart{margin-top:18px;padding-top:15px;border-top:1px solid #e6ece8}.chart-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.chart-title b{font-size:13px}.chart-title span{font-size:11px;color:#748078}.trend-chart svg{display:block;width:100%;height:auto;margin-top:8px;overflow:visible}.chart-actual,.chart-prior,.chart-forecast{fill:none;stroke-linecap:round;stroke-linejoin:round}.chart-actual{stroke:#24724a;stroke-width:6}.chart-prior{stroke:#aeb8b2;stroke-width:4}.chart-forecast{stroke:#24724a;stroke-width:4;stroke-dasharray:10 8}.chart-grid{stroke:#d6ddd9;stroke-width:2;stroke-dasharray:5 6}.chart-cutoff{stroke:#d9dfdc;stroke-width:2}.chart-goal-label,.chart-axis-label{fill:#79837e;font-size:12px}.chart-axis-label.active{fill:#276749;font-weight:800}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:#657169}.chart-legend span:before{content:"";display:inline-block;width:16px;height:4px;margin-right:5px;vertical-align:middle;border-radius:3px}.actual-dot:before{background:#24724a}.prior-dot:before{background:#aeb8b2}.forecast-dot:before{background:repeating-linear-gradient(90deg,#24724a 0 6px,transparent 6px 10px)}
.rules-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.rules-grid{grid-template-columns:1fr 1fr}}@media(max-width:460px){.rules-grid{grid-template-columns:1fr}}
.totals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.totals-grid article{padding:20px 22px;background:#fff;border:1px solid #dfe6e1;border-radius:16px}.totals-grid span,.totals-grid small,.totals-grid strong{display:block}.totals-grid span{color:#5f6f67;font-size:13px;font-weight:750}.totals-grid strong{margin:5px 0 2px;font-size:30px;line-height:1.15}.totals-grid small{color:#75817b}.totals-grid .forecast-total{background:#edf5f0;border-color:#cfe1d6}.totals-grid .forecast-total strong{color:#1f6644}.amount{margin:22px 0 10px}.amount .amount-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#748078;font-weight:750}.amount strong{display:block}.plan-amount{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 15px;padding:13px 14px;background:#eef4f0;border-radius:11px}.plan-amount span{color:#53665c;font-weight:750}.plan-amount strong{font-size:24px;white-space:nowrap;color:#173f31}@media(max-width:720px){.totals-grid{grid-template-columns:1fr}.totals-grid strong{font-size:27px}}
