/* Boring Office Tools — deliberately boring. Monochrome. No frameworks. */
:root{
  --ink:#111;
  --grey:#555;
  --faint:#888;
  --line:#ddd;
  --wash:#f6f6f6;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
}
.wrap{max-width:46rem;margin:0 auto;padding:0 1.25rem;}

/* Header */
.site-header{border-bottom:2px solid var(--ink);padding:1rem 0 .85rem;margin-bottom:2rem;}
.brand{font-weight:800;letter-spacing:.06em;color:var(--ink);text-decoration:none;font-size:1.05rem;}
.brand-sub{color:var(--faint);font-size:.85rem;margin-left:.6rem;}
.site-header nav{margin-top:.55rem;}
.site-header nav a{color:var(--grey);text-decoration:none;margin-right:1.1rem;font-size:.92rem;}
.site-header nav a:hover{color:var(--ink);text-decoration:underline;}

/* Type */
h1{font-size:1.9rem;line-height:1.25;margin:0 0 1rem;letter-spacing:-.01em;}
h2{font-size:1.3rem;margin:2rem 0 .75rem;}
h3{font-size:1.05rem;margin:1.5rem 0 .5rem;}
p,ul,ol{margin:0 0 1rem;}
ul,ol{padding-left:1.4rem;}
li{margin-bottom:.35rem;}
a{color:var(--ink);}
.muted{color:var(--grey);}
.small{font-size:.9rem;}

/* CTA box — exactly one per page */
.cta-box{border:2px solid var(--ink);background:var(--wash);padding:1.4rem 1.5rem;margin:2.2rem 0;}
.cta-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--grey);margin:0 0 .4rem;}
.cta-box h2{margin:0 0 .5rem;font-size:1.25rem;}
.cta-box p{margin:0 0 .4rem;}
.cta-button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;padding:.7rem 1.4rem;margin-top:.7rem;}
.cta-button:hover{background:#000;}
.cta-alt{font-size:.9rem;color:var(--grey);margin:.8rem 0 0;}
.cta-alt a{color:var(--grey);}

/* Product cards (homepage) */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 2rem;}
@media(max-width:560px){.cards{grid-template-columns:1fr;}}
.card{border:1px solid var(--line);padding:1.1rem 1.2rem;}
.card h3{margin:0 0 .4rem;font-size:1.02rem;}
.card p{font-size:.92rem;color:var(--grey);margin:0 0 .7rem;}
.card .links a{font-size:.9rem;margin-right:.9rem;}
.bundle-callout{border:2px solid var(--ink);padding:1.3rem 1.5rem;margin:2rem 0;background:#fff;}
.bundle-callout h2{margin:0 0 .4rem;font-size:1.25rem;}

/* Sample template / lite downloads */
.sample{border:1px dashed var(--faint);padding:1.2rem 1.4rem;margin:1.5rem 0;background:#fff;}
.sample h3{margin-top:0;}
.field{margin:.45rem 0;}
.print-btn{display:inline-block;border:2px solid var(--ink);background:#fff;color:var(--ink);
  font-weight:700;padding:.55rem 1.2rem;cursor:pointer;font-size:.95rem;margin-top:.8rem;}
.print-btn:hover{background:var(--ink);color:#fff;}

/* Lite tables */
table.lite{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.92rem;}
table.lite th,table.lite td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left;}
table.lite th{background:var(--wash);font-weight:700;}

/* Grant deadline tracker */
.tracker-form{border:1px solid var(--line);padding:1.2rem 1.3rem;margin:1.5rem 0;background:#fff;}
.tracker-form label{display:block;font-weight:700;font-size:.92rem;margin:.7rem 0 .25rem;}
.tracker-form label:first-child{margin-top:0;}
.tracker-form input{width:100%;padding:.55rem .65rem;font-size:1rem;border:1px solid var(--faint);font-family:inherit;}
.tracker-form button{background:var(--ink);color:#fff;border:0;font-weight:700;
  padding:.65rem 1.4rem;font-size:1rem;cursor:pointer;margin-top:1rem;font-family:inherit;}
.tracker-form button:hover{background:#000;}
#deadline-list{list-style:none;padding:0;margin:1rem 0;}
.deadline-item{border:1px solid var(--line);border-left:6px solid var(--line);
  padding:.7rem .9rem;margin-bottom:.6rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;}
.deadline-item .d-funder{font-weight:700;flex:1 1 40%;}
.deadline-item .d-date{color:var(--grey);font-size:.92rem;}
.deadline-item .d-urgency{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;}
.deadline-item.overdue{border-left-color:var(--ink);}
.deadline-item.overdue .d-urgency{font-weight:800;}
.deadline-item.soon .d-urgency{font-weight:700;}
.deadline-item.later .d-urgency{color:var(--faint);}
.deadline-item button{background:none;border:1px solid var(--line);color:var(--grey);
  cursor:pointer;font-size:1rem;line-height:1;padding:.15rem .55rem;margin-left:auto;}
.deadline-item button:hover{color:var(--ink);border-color:var(--ink);}
.tracker-note{font-size:.85rem;color:var(--faint);}

/* Footer */
.site-footer{border-top:2px solid var(--ink);margin-top:3rem;padding:1.4rem 0 2.5rem;
  font-size:.9rem;color:var(--grey);}
.site-footer p{margin:0 0 .6rem;}
.disclaimer{font-size:.8rem;color:var(--faint);}

/* Print: keep the useful stuff, drop the chrome */
@media print{
  .site-header nav,.cta-box,.site-footer,.no-print,.tracker-form{display:none !important;}
  body{font-size:12pt;}
  .wrap{max-width:100%;}
}
