:root{--green:#8dc63f;--green-dark:#6da32a;--charcoal:#2b2b2b;--charcoal2:#3a3a3a;--grey:#f4f4f2;--line:#ddd;--text:#222;--muted:#666}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.5}
a{color:#3d6b12}
img{max-width:100%}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit;padding:.5rem .6rem;border:1px solid #bbb;border-radius:6px;width:100%;max-width:100%}
input[type=checkbox]{width:auto}
label{display:block;font-weight:600;margin:.6rem 0 .2rem}
.site-header{background:var(--charcoal);color:#fff;padding:.8rem 1rem}
.brand{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.brand .chip{background:#fff;border-radius:8px;padding:4px 8px;display:inline-flex;align-items:center}
.brand .chip img{height:44px;width:auto;display:block}
.brand h1{font-size:1.3rem;margin:0}
.brand small{display:block;color:#ccc;font-weight:400}
.main-nav{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}
.main-nav a,.main-nav button{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:.45rem .8rem;text-decoration:none;font-size:.95rem;font-weight:600}
.main-nav a:hover,.main-nav button:hover,.main-nav button.active{border-color:var(--green);background:var(--green);color:#fff}
.site-footer{background:var(--charcoal);color:#fff;padding:1.2rem 1rem 2rem;border-top:4px solid var(--green);margin-top:2rem}
.site-footer .main-nav{margin-top:.8rem}
main{max-width:1180px;margin:0 auto;padding:1rem}
section.tab{display:none}
section.tab.active{display:block}
h2{border-bottom:3px solid var(--green);padding-bottom:.3rem}
h3{margin-top:1.4rem}
.card{border:1px solid var(--line);border-radius:8px;padding:1rem;margin:.8rem 0;background:#fff}
.card h3{margin-top:0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin:.8rem 0}
.stage{border:1px solid var(--line);border-radius:8px;padding:.6rem;background:var(--grey);min-width:0}
.stage h4{margin:.1rem 0 .4rem;font-size:.95rem}
.stage .count{font-size:1.4rem;font-weight:700}
.bid-card{border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;padding:.8rem;margin:.6rem 0;cursor:pointer;background:#fff}
.bid-card.selected{border-color:var(--green);box-shadow:0 0 0 2px var(--green)}
.tag{display:inline-block;background:var(--charcoal);color:#fff;border-radius:4px;padding:.1rem .45rem;font-size:.8rem;margin:.1rem .2rem 0 0}
.tag.green{background:var(--green);color:#fff}
.tag.grey{background:#eee;color:#333}
.btn{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:6px;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-block;margin:.2rem .2rem .2rem 0}
.btn:hover{background:var(--green-dark)}
.btn.secondary{background:#fff;color:var(--charcoal);border-color:var(--charcoal)}
.btn.danger{background:#fff;color:#a00;border-color:#a00}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.small{padding:.3rem .6rem;font-size:.9rem}
.muted{color:var(--muted);font-size:.92rem}
.stamp{color:var(--muted);font-size:.95rem;margin:.2rem 0 1rem}
.progress{height:12px;background:#eee;border-radius:6px;overflow:hidden}
.progress>div{height:100%;background:var(--green)}
.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}
.tile{border:1px solid var(--line);border-radius:8px;padding:.7rem;text-align:center;background:var(--grey)}
.tile b{font-size:1.5rem;display:block}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.step{border:1px solid var(--line);border-top:4px solid var(--green);border-radius:8px;padding:.7rem;background:#fff}
.step b{display:block}
.preview{border:1px solid var(--line);border-radius:8px;padding:1rem;background:#fff}
.preview h4{margin:.2rem 0}
table{width:100%;border-collapse:collapse}
th,td{border:1px solid var(--line);padding:.4rem;text-align:left;vertical-align:top}
textarea{ min-height:90px}
textarea.tall{min-height:180px}
.check-row{display:flex;gap:.5rem;align-items:flex-start;padding:.35rem 0;border-bottom:1px solid #eee}
.check-row input{margin-top:.25rem}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end}
.row>*{flex:1;min-width:140px}
.row .shrink{flex:0 0 auto}
.error{color:#a00;font-weight:600}
.success{color:#2a6b12;font-weight:600}
.login-wrap{max-width:420px;margin:4rem auto;padding:1.5rem;border:1px solid var(--line);border-radius:10px}
.login-wrap .chip{background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 8px;display:inline-block}
.login-wrap .chip img{height:52px}
iframe.pdf{width:100%;height:80vh;border:1px solid var(--line);border-radius:8px}
.char-count{font-size:.9rem;color:var(--muted)}
.char-count.over{color:#a00;font-weight:700}
@media (max-width:820px){
 .grid,.grid3{grid-template-columns:1fr}
 .funnel{grid-template-columns:repeat(2,1fr)}
 .tiles{grid-template-columns:repeat(2,1fr)}
 .steps{grid-template-columns:repeat(2,1fr)}
 main{padding:.7rem}
 .brand h1{font-size:1.1rem}
}
@media (max-width:480px){.funnel,.tiles,.steps{grid-template-columns:1fr}}
