*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',Arial,sans-serif;background:#f5f7f6;color:#222;line-height:1.5}
.container{max-width:1080px;margin:0 auto;padding:0 16px}
a{color:#2e7d32;text-decoration:none}
a:hover{text-decoration:underline}

.topbar{background:#1b5e20;color:#fff}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;flex-wrap:wrap}
.brand{font-size:1.4rem;font-weight:700;color:#fff}
.topbar nav a{color:#e8f5e9;margin-left:14px}
.subnav{background:#e8f5e9;border-bottom:1px solid #c8e6c9}
.subnav.admin{background:#fff3e0;border-color:#ffe0b2}
.subnav .container{padding:8px 16px}
.subnav a{margin-right:16px;font-weight:600}

main.container{padding:24px 16px;min-height:60vh}
.footer{background:#263238;color:#b0bec5;padding:18px 0;margin-top:32px}
.footer a{color:#80cbc4}

h1,h2,h3{color:#1b5e20}
.alert{padding:10px 14px;border-radius:6px;margin-bottom:14px}
.alert-success{background:#e8f5e9;border:1px solid #a5d6a7;color:#1b5e20}
.alert-error{background:#ffebee;border:1px solid #ef9a9a;color:#b71c1c}
.alert-info{background:#e3f2fd;border:1px solid #90caf9;color:#0d47a1}

.card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:18px;margin-bottom:18px}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.campaign-card img{width:100%;height:160px;object-fit:cover;border-radius:6px}
.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:600}
.badge-active{background:#c8e6c9;color:#1b5e20}
.badge-pending{background:#fff9c4;color:#795548}
.badge-suspended{background:#ffe0b2;color:#e65100}
.badge-terminated,.badge-rejected{background:#ffcdd2;color:#b71c1c}
.badge-expired{background:#eceff1;color:#455a64}
.badge-private{background:#e1bee7;color:#4a148c}
.badge-public{background:#b3e5fc;color:#01579b}

form label{display:block;margin-bottom:12px;font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=number],
input[type=date],input[type=datetime-local],input[type=tel],select,textarea{
  width:100%;padding:9px 10px;border:1px solid #bbb;border-radius:6px;font:inherit;margin-top:4px}
textarea{min-height:110px}
.btn{display:inline-block;background:#2e7d32;color:#fff!important;border:0;padding:10px 20px;
  border-radius:6px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none!important}
.btn:hover{background:#1b5e20}
.btn-sm{padding:5px 12px;font-size:.85rem}
.btn-danger{background:#c62828}.btn-danger:hover{background:#b71c1c}
.btn-warn{background:#ef6c00}.btn-warn:hover{background:#e65100}
.btn-outline{background:#fff;color:#2e7d32!important;border:2px solid #2e7d32}
.btn-outline:hover{background:#e8f5e9}

table.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{padding:9px 10px;border-bottom:1px solid #e0e0e0;text-align:left;vertical-align:top}
.table th{background:#f1f8e9}
.table tr:hover td{background:#fafafa}

.progress{background:#e0e0e0;border-radius:10px;height:14px;overflow:hidden;margin:8px 0}
.progress>span{display:block;height:100%;background:#43a047}

.share-btns a{display:inline-block;margin-right:8px;padding:6px 14px;border-radius:6px;
  color:#fff!important;font-size:.85rem;font-weight:600;text-decoration:none!important}
.share-fb{background:#1877f2}.share-tw{background:#111}.share-wa{background:#25d366}

.stat-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.stat{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:14px;text-align:center}
.stat .num{font-size:1.7rem;font-weight:700;color:#1b5e20}
.photo-strip img{width:110px;height:80px;object-fit:cover;border-radius:6px;margin:4px}
.muted{color:#777;font-size:.9rem}
.inline-form{display:inline}
@media(max-width:640px){.nav-wrap{flex-direction:column;gap:8px}}
