@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#17332d;background:#f3f0e8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1fr) minmax(440px,.9fr)}.login-intro{position:relative;overflow:hidden;padding:9vh 8vw;color:#fffdf6;background:#173b34;display:flex;flex-direction:column;justify-content:center}.login-intro:before{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-120px;top:-90px}.brand-mark{width:max-content;padding:10px 15px;color:#173b34;background:#e8bd65;border-radius:4px;font-weight:800;letter-spacing:.16em}.brand-mark.small{padding:7px 10px;margin-right:12px}.eyebrow{margin:28px 0 10px;color:#b88935;text-transform:uppercase;font-size:.76rem;font-weight:700;letter-spacing:.16em}.login-intro .eyebrow{color:#e8bd65}h1,h2{font-family:Playfair Display,serif;line-height:1.1}.login-intro h1{max-width:680px;margin:0;font-size:clamp(2.8rem,5vw,5.7rem)}.intro-copy{max-width:560px;color:#d9e3df;font-size:1.08rem;line-height:1.75}.login-accent{width:72px;height:4px;margin-top:28px;background:#e8bd65}.login-panel{padding:48px;display:grid;place-items:center;background:#f7f4ed}.login-card{width:min(100%,430px)}.mobile-brand{display:none}.login-card h2{margin:0;font-size:2.5rem;color:#173b34}.form-copy{margin:12px 0 34px;color:#6d7773}label{display:block;margin:20px 0 8px;font-weight:600;font-size:.9rem}.input-shell{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #cfd6d2;border-radius:8px;background:#fff;color:#83908b;transition:border .2s,box-shadow .2s}.input-shell:focus-within{border-color:#b88935;box-shadow:0 0 0 3px #b8893521}.input-shell input{width:100%;padding:14px 0;border:0;outline:0;color:#17332d;background:transparent}.icon-button{display:grid;place-items:center;padding:7px;border:0;background:transparent;color:#65746f}.form-error{padding:11px 13px;border-left:3px solid #b43b32;background:#fae9e7;color:#8d2e27;font-size:.88rem}.primary-button{width:100%;margin-top:24px;padding:14px;border:0;border-radius:8px;background:#173b34;color:#fff;font-weight:700;transition:background .2s,transform .2s}.primary-button:hover:not(:disabled){background:#205248;transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.58}.security-note{color:#8a928e;text-align:center;font-size:.78rem}.loading-page{min-height:100vh;display:grid;place-content:center;justify-items:center;color:#66736e}.spinner{width:36px;height:36px;border:3px solid #d7ddd9;border-top-color:#b88935;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-shell{min-height:100vh;padding:28px max(24px,6vw);background:#f3f0e8}.dashboard-header{display:flex;align-items:center;justify-content:space-between}.role-badge{padding:7px 11px;border-radius:999px;background:#e5ebe7;font-size:.84rem}.logout-button{display:flex;gap:8px;align-items:center;padding:10px 13px;border:1px solid #c9d1cd;border-radius:8px;background:transparent;color:#173b34}.welcome-card{max-width:780px;margin-top:15vh;padding:clamp(28px,6vw,64px);border-top:5px solid #e8bd65;background:#fff;box-shadow:0 18px 50px #173b3414}.welcome-card h1{margin:0;font-size:clamp(2.3rem,5vw,4.5rem)}.welcome-card p:last-child{color:#65716d;line-height:1.7}.admin-page{padding-bottom:72px}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:54px 0 28px}.admin-heading .eyebrow{margin-top:0}.admin-heading h1{margin:0;font-size:clamp(2.2rem,4vw,3.8rem)}.secondary-button{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #c9d1cd;border-radius:8px;background:#fff;color:#173b34}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.admin-card{padding:24px;border:1px solid #e0e2dc;border-radius:12px;background:#fff;box-shadow:0 12px 32px #173b340d}.admin-card h2{margin:0;font-family:DM Sans,sans-serif;font-size:1.15rem}.card-title{display:flex;align-items:center;gap:9px;color:#173b34}.admin-card input,.admin-card select{width:100%;padding:11px 12px;border:1px solid #cfd6d2;border-radius:7px;background:#fff;color:#17332d}.table-card{margin-top:20px}.table-wrap{overflow-x:auto;margin-top:18px}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:12px 10px;border-bottom:1px solid #e8e9e4;vertical-align:middle}th{color:#69736f;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}td{font-size:.9rem}td select{min-width:140px}.status-active,.status-inactive{padding:6px 10px;border:0;border-radius:999px;font-weight:700;font-size:.78rem}.status-active{background:#dcefe5;color:#236142}.status-inactive{background:#f7dfdc;color:#923c34}.danger-button{padding:7px 10px;border:1px solid #d9aaa5;border-radius:7px;background:#fff5f4;color:#923c34;font-weight:700;font-size:.78rem}.form-success{padding:11px 13px;border-left:3px solid #2f7a55;background:#e1f1e8;color:#235f42}.admin-loading{min-height:280px;display:grid;place-content:center;justify-items:center;color:#66736e}.scope-copy{max-width:680px;color:#65716d;line-height:1.6}.scope-summary{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:16px}.summary-card{display:flex;align-items:center;gap:15px;padding:20px;border-radius:11px;background:#173b34;color:#fff}.summary-card div{display:grid;gap:3px}.summary-card strong{font-family:Playfair Display,serif;font-size:2rem}.summary-card span{color:#ccdad6;font-size:.82rem}.donation-layout{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:20px;align-items:start}.donation-form .primary-button{margin-top:26px}.donation-form input[type=file]{padding:9px}.donation-history{margin-top:0}.form-hint{color:#7a6250;font-size:.82rem;line-height:1.5}.review-panel{margin:20px 0}.review-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.review-header .eyebrow{margin-top:0}.count-badge{display:inline-grid;place-items:center;min-width:27px;height:27px;margin-left:7px;border-radius:999px;background:#e8bd65;color:#173b34;font-family:DM Sans,sans-serif;font-size:.78rem}.review-list{display:grid;gap:12px;margin-top:18px}.review-item{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(130px,.7fr) auto minmax(190px,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #e2e4df;border-radius:9px}.review-main,.review-bank{display:grid;gap:3px}.review-main span,.review-bank small{color:#6d7773;font-size:.78rem}.review-amount{font-weight:800}.review-item input{min-width:0}.review-actions{display:flex;gap:7px}.approve-button,.reject-button{display:flex;align-items:center;gap:5px;padding:8px 10px;border-radius:7px;font-weight:700}.approve-button{border:1px solid #8fc1a5;background:#e2f2e9;color:#235f42}.reject-button{border:1px solid #d9aaa5;background:#fff0ef;color:#923c34}.empty-state{color:#727d78}.report-status{padding:5px 8px;border-radius:999px;font-size:.75rem;font-weight:700}.report-status.pending{background:#f6ebcf;color:#775a20}.report-status.approved{background:#dcefe5;color:#236142}.report-status.rejected{background:#f7dfdc;color:#923c34}.performance-panel{margin:20px 0}.performance-filter{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.performance-filter label{margin:0}.performance-filter input{display:block;margin-top:6px}.performance-panel .scope-summary{grid-template-columns:repeat(3,minmax(0,240px))}.target-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:10px;margin:20px 0;align-items:end}.target-form .primary-button{margin:0}.target-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.target-list span{padding:7px 10px;border-radius:999px;background:#eef2ef;font-size:.8rem}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.approval-panel{margin:20px 0}.import-selector{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.mapping-row{display:grid;grid-template-columns:minmax(140px,1fr) 1fr 1fr auto;gap:10px;align-items:center;margin:9px 0}.approval-panel .primary-button{display:flex;align-items:center;justify-content:center;gap:7px}.admin-card>input[type=file]{margin-top:15px}@media(max-width:780px){.login-page{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100vh;padding:28px 22px}.mobile-brand{display:block;width:max-content;margin-bottom:44px;padding:9px 13px;color:#173b34;background:#e8bd65;border-radius:4px;font-weight:800;letter-spacing:.16em}}@media(max-width:780px){.admin-grid{grid-template-columns:1fr}.admin-heading{align-items:start;flex-direction:column}.dashboard-shell{padding-inline:18px}}@media(max-width:980px){.donation-layout{grid-template-columns:1fr}}@media(max-width:1100px){.review-item{grid-template-columns:1fr 1fr}.review-actions{justify-content:flex-end}}@media(max-width:1100px){.target-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.mapping-row{grid-template-columns:1fr}}@media(max-width:780px){.metric-grid{grid-template-columns:repeat(2,1fr)}}
