
:root{
  --choco-green:#047734;
  --choco-green-dark:#035a27;
  --choco-yellow:#FBD700;
  --choco-blue:#1D71B8;
  --choco-dark:#1f2933;
  --choco-muted:#6c757d;
  --choco-soft:#f4f7f5;
  --choco-line:#e2e8e4;
  --choco-white:#ffffff;
}

html,body{min-height:100%;background:var(--choco-soft);color:#202520}
body{font-family:Arial,Helvetica,sans-serif}
a{color:var(--choco-green)}
a:hover{color:var(--choco-green-dark)}

.gov-strip{
  height:5px;
  background:linear-gradient(90deg,var(--choco-green) 0 52%,var(--choco-yellow) 52% 76%,var(--choco-blue) 76%);
}
.donor-header{
  background:#fff;
  border-bottom:1px solid var(--choco-line);
  box-shadow:0 2px 12px rgba(16,44,28,.04);
}
.donor-shell{
  width:95%;
  max-width:1780px;
  margin:0 auto;
}
.donor-nav{
  min-height:78px;
  display:flex;
  align-items:center;
  gap:18px;
}
.donor-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#1d241f;
  text-decoration:none;
}
.donor-brand-mark{
  width:42px;height:42px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:var(--choco-green);color:#fff;font-weight:900;
}
.donor-brand-copy strong{display:block;font-size:1rem;line-height:1.1}
.donor-brand-copy small{display:block;color:#69716b;font-size:.76rem;margin-top:3px}
.donor-nav-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

.donor-main{width:95%;max-width:1380px;margin:0 auto;padding:38px 0 56px}
.donor-main.narrow{max-width:700px}
.donor-main.medium{max-width:1050px}

.donor-hero{
  display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:stretch;margin-bottom:24px
}
.donor-hero-copy,.donor-side-card,.donor-card{
  background:#fff;border:1px solid var(--choco-line);border-radius:20px;
  box-shadow:0 12px 34px rgba(24,54,35,.06)
}
.donor-hero-copy{padding:30px}
.donor-side-card{padding:26px;background:linear-gradient(145deg,#fff,#f0f7f2)}
.donor-eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--choco-green)}
.donor-title{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:8px 0 12px;font-weight:900}
.donor-lead{color:#5f6862;max-width:760px}
.donor-card{padding:26px}
.donor-card + .donor-card{margin-top:18px}

.btn-choco{
  background:var(--choco-green);border-color:var(--choco-green);color:#fff;font-weight:800
}
.btn-choco:hover,.btn-choco:focus{background:var(--choco-green-dark);border-color:var(--choco-green-dark);color:#fff}
.btn-yellow{background:var(--choco-yellow);border-color:var(--choco-yellow);color:#242424;font-weight:800}
.btn-soft{background:#fff;border:1px solid #cfd8d2;color:#28302b;font-weight:700}
.btn-soft:hover{border-color:var(--choco-green);color:var(--choco-green)}

.form-control,.form-select{
  border-radius:10px;border-color:#cfd8d2;min-height:42px
}
.form-control:focus,.form-select:focus{
  border-color:var(--choco-green);
  box-shadow:0 0 0 .2rem rgba(4,119,52,.12)
}
.form-label{font-weight:700;font-size:.9rem;color:#303832}
.form-help{font-size:.78rem;color:#7b837e;margin-top:4px}
.form-check-input:checked{background-color:var(--choco-green);border-color:var(--choco-green)}

.alert{border-radius:12px}
.privacy-box{
  border:1px solid #dbe5df;border-radius:14px;padding:16px;background:#f8fbf9
}
.privacy-box strong{display:block;margin-bottom:4px}

.donor-footer{
  margin-top:auto;background:#202623;color:#d9dfdb;padding:34px 0 22px
}
.donor-footer-grid{
  width:95%;max-width:1780px;margin:auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px
}
.donor-footer h5{color:#fff;font-size:.95rem}
.donor-footer a{color:#d9dfdb}
.donor-footer small{color:#9fa9a2}
.donor-footer-bottom{
  width:95%;max-width:1780px;margin:26px auto 0;padding-top:16px;
  border-top:1px solid #39413c;display:flex;justify-content:space-between;gap:14px
}

.table thead th{
  font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;color:#6b736d;
  background:#f6f8f7;border-bottom:1px solid var(--choco-line)
}
.table td{vertical-align:middle}
.status-badge{
  display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;
  font-size:.73rem;font-weight:800;background:#eaf6ee;color:#116433
}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.summary-card{background:#fff;border:1px solid var(--choco-line);border-radius:15px;padding:17px}
.summary-card small{display:block;color:#737b75}.summary-card strong{font-size:1.55rem}

.empty-state{text-align:center;padding:42px 20px;color:#747d77}
.section-title{font-weight:900;font-size:1.25rem;margin-bottom:4px}
.section-subtitle{color:#727b75;font-size:.88rem}

.password-wrap{position:relative}
.password-toggle{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  border:0;background:transparent;color:#68716b;font-size:.8rem;font-weight:800
}

@media(max-width:980px){
  .donor-shell,.donor-main,.donor-footer-grid,.donor-footer-bottom{width:94%}
  .donor-hero{grid-template-columns:1fr}
  .summary-grid{grid-template-columns:repeat(2,1fr)}
  .donor-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .donor-nav{align-items:flex-start;padding:14px 0;flex-wrap:wrap}
  .donor-nav-actions{width:100%;margin-left:0}
  .donor-nav-actions .btn{flex:1}
  .donor-main{width:92%;padding-top:24px}
  .donor-card,.donor-hero-copy,.donor-side-card{padding:20px;border-radius:16px}
  .summary-grid{grid-template-columns:1fr}
  .donor-footer-grid{grid-template-columns:1fr}
  .donor-footer-bottom{flex-direction:column}
  .table-responsive{font-size:.88rem}
}
