:root{color:#173f2a;font-synthesis:none;text-rendering:optimizelegibility;background:#edf5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input,select{font:inherit}button,.button-link{color:#fff;cursor:pointer;text-align:center;background:linear-gradient(135deg,#173f2a,#347451);border:0;border-radius:12px;justify-content:center;align-items:center;padding:14px 18px;font-weight:700;text-decoration:none;display:inline-flex}button:hover,.button-link:hover{opacity:.92}button:disabled{opacity:.5;cursor:not-allowed}a{color:#245d3d;font-weight:700}.auth-page,.centre-page{background:linear-gradient(135deg,#f6faf7,#e3efe7 50%,#cfe2d5);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#fff;border-radius:24px;width:min(100%,460px);padding:40px;box-shadow:0 20px 60px #173f2a21}.auth-logo{width:min(280px,90%);height:auto;margin:0 auto 28px;display:block}.auth-card h1{text-align:center;margin:0 0 10px;font-size:2rem}.intro{text-align:center;color:#607066;line-height:1.55}form{gap:18px;display:grid}label{gap:7px;font-weight:700;display:grid}input,select{color:#17211b;background:#fbfdfb;border:1px solid #bdd0c2;border-radius:10px;width:100%;padding:13px 14px}input:focus,select:focus{border-color:#347451;outline:none;box-shadow:0 0 0 4px #34745121}.error{color:#8b1e1e;background:#fff1f1;border-radius:10px;margin:14px 0;padding:12px}.auth-link{text-align:center;color:#607066}.app-shell{background:linear-gradient(145deg,#e5f0e8,#f7faf8 45%,#edf5ef);min-height:100vh}.app-header{z-index:5;background:#fff;border-bottom:1px solid #d6e5da;grid-template-columns:260px 1fr auto;align-items:center;gap:24px;padding:14px clamp(20px,4vw,56px);display:grid;position:sticky;top:0}.brand-link img{object-fit:contain;width:230px;max-height:54px;display:block}.app-header nav{justify-content:center;gap:22px;display:flex}.app-header nav a{text-decoration:none}.user-menu{color:#607066;align-items:center;gap:12px;font-size:.85rem;display:flex}.compact{padding:9px 12px}.page-wrap{width:min(1200px,100% - 40px);margin:0 auto;padding:30px 0 60px}.page-heading{margin:0 0 24px}.page-heading h1{margin:0 0 8px;font-size:2.2rem}.page-heading p,.panel p{color:#607066}.row-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.heading-actions{gap:10px;display:flex}.welcome{color:#fff;background:linear-gradient(135deg,#123822,#1d5435 48%,#43815c);border-radius:28px;grid-template-columns:1fr 190px;align-items:center;gap:36px;padding:36px 44px;display:grid;box-shadow:0 18px 45px #173f2a29}.eyebrow{color:#cce5d3;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:800}.welcome-copy>p:last-child{color:#dfede3;line-height:1.6}.welcome-hero{object-fit:contain;width:100%;max-height:190px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 34px;display:grid}.summary-grid article,.panel,.notice-card{background:#fff;border:1px solid #d6e5da;border-radius:18px;padding:26px;box-shadow:0 7px 22px #173f2a0d}.summary-grid span{color:#68786e;margin-bottom:10px;display:block}.summary-grid strong{font-size:2rem}.action-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.secondary-button,.secondary-link{color:#173f2a;background:#dceadf}.notice-card{margin:22px 0}.notice-card h2{margin-top:0}.two-column{grid-template-columns:1fr 1fr;gap:22px;display:grid}.panel h2{margin-top:0}.form-panel{max-width:700px}.card-list{gap:10px;display:grid}.card-list article{background:#f5faf6;border-radius:12px;justify-content:space-between;padding:16px;display:flex}.card-list span{color:#607066}.table-panel{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:850px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e0ebe3;padding:12px 10px}th{text-transform:uppercase;letter-spacing:.04em;color:#607066;font-size:.78rem}.number{text-align:right}.text-button{color:#245d3d;background:0 0;padding:6px}.danger{color:#8b1e1e}.empty{text-align:center;padding:30px}.file-drop{background:#f8fbf9;border:2px dashed #bdd0c2;border-radius:14px;margin-top:18px;padding:22px}.totals-list{gap:8px;margin:20px 0;display:grid}.totals-list div{border-bottom:1px solid #e0ebe3;justify-content:space-between;padding:10px 0;display:flex}@media (width<=900px){.app-header{grid-template-columns:1fr auto}.app-header nav{grid-area:2/1/auto/-1;justify-content:flex-start;overflow-x:auto}.user-menu span{display:none}.two-column{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.page-wrap{width:min(100% - 24px,1200px);padding-top:18px}.app-header{padding:12px}.brand-link img{width:190px}.welcome{grid-template-columns:1fr;padding:26px}.welcome-hero{width:150px}.summary-grid,.action-grid{grid-template-columns:1fr}.row-heading{flex-direction:column;align-items:flex-start}.heading-actions{flex-direction:column;width:100%}.heading-actions a{width:100%}.auth-card{padding:30px 22px}}@media (width<=800px){.dashboard-grid{grid-template-columns:1fr}.period-banner{flex-direction:column}}.period-banner{background:#e1eee5;border:1px solid #c7ddce;border-radius:14px;justify-content:space-between;gap:16px;margin:22px 0 0;padding:14px 18px;display:flex}.dashboard-grid{grid-template-columns:1.3fr 1fr;gap:18px;display:grid}.eyebrow.dark{color:#347451}.big-date{font-size:1.35rem;color:#173f2a!important}.mini-totals{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.mini-totals span{background:#f2f7f3;border-radius:12px;flex-direction:column;gap:4px;min-width:145px;padding:12px 14px;display:flex}.success-card,.info-card{background:#eff8f1;border:1px solid #bad6c2;border-radius:18px;margin:0 0 22px;padding:22px 26px}.success-card h2,.info-card h2{margin-top:0}.back-link{margin-top:20px;display:inline-block}.status-pill{color:#52665a;background:#edf1ee;border-radius:999px;padding:7px 11px;font-size:.8rem;font-weight:800}.important{border-width:2px}@media (width<=800px){.dashboard-grid{grid-template-columns:1fr}.period-banner{flex-direction:column}}.welcome{grid-template-columns:1fr 105px;gap:22px;min-height:0;padding:20px 30px}.welcome h1{margin:5px 0 7px;font-size:clamp(1.7rem,3vw,2.35rem)}.welcome-copy>p:last-child{margin:0}.welcome-hero{max-height:100px}.page-wrap{padding-top:22px}.summary-grid{margin:14px 0 20px}.summary-grid article,.panel,.notice-card{padding:20px}.dashboard-grid{gap:14px}.panel{margin-bottom:14px}.actions{margin-top:20px}.action-grid{gap:10px}.compact-info{justify-content:space-between;align-items:center;gap:24px;display:flex}.compact-info p{margin:6px 0}.example-line{font-family:ui-monospace,monospace;font-size:.9rem}.import-start{grid-template-columns:1fr 1.4fr;align-items:end;gap:18px;display:grid}.file-drop{gap:5px;margin:0;display:grid}.file-drop span{color:#607066;font-weight:400}.mapping-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}fieldset{border:1px solid #d6e5da;border-radius:12px;margin:18px 0;padding:14px}legend{font-weight:800}.radio-row{grid-template-columns:auto 1fr;align-items:center;gap:9px;margin:8px 0;font-weight:600;display:flex}.radio-row input{width:auto}.invalid-row{background:#fff4f4}.table-panel input,.table-panel select{min-width:130px}@media (width<=700px){.compact-info,.import-start{grid-template-columns:1fr;display:grid}.mapping-grid{grid-template-columns:1fr}.welcome{grid-template-columns:1fr 80px;padding:18px}.welcome-hero{max-height:75px}}.about-story,.free-panel,.contribution-panel{max-width:900px}.about-story p,.free-panel p,.contribution-panel p{max-width:760px}.contribution-panel,.contribution-prompt{justify-content:space-between;align-items:center;gap:20px;display:flex}.contribution-prompt{background:#f8fbf9;border:1px solid #d6e5da;border-radius:14px;margin:14px 0;padding:18px 20px}.contribution-prompt h2{margin:3px 0 6px;font-size:1.1rem}.contribution-prompt p{max-width:720px;margin:4px 0}.dashboard-about-link{margin-left:10px;font-size:.9rem;font-weight:700;display:inline-block}.text-link{font-weight:700}@media (width<=700px){.contribution-panel,.contribution-prompt{grid-template-columns:1fr;display:grid}.dashboard-about-link{margin:8px 0 0}}
