:root{--primary:#f6931b;--primary-dark:#663194;--primary-light:#fe5d37;--accent:#663194;--accent-light:#8a4bb8;--dark:#103741;--bg:#fff5f3;--card-bg:#fff;--text:#74787c;--text-muted:#6c757d;--border:#dee2e6;--success:#198754;--danger:#dc3545;--shadow:0 4px 20px #6631941a;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Heebo,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.7}h1,h2,h3,.site-header h1,.certificate-title,.login-card h2{color:var(--dark);font-family:Lobster Two,cursive}.site-header{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--dark) 100%);color:#fff;text-align:center;box-shadow:var(--shadow);border-bottom:4px solid var(--primary);padding:1.5rem 1rem;position:relative}.site-header h1{letter-spacing:.5px;color:#fff;font-size:clamp(1.1rem,4vw,1.6rem);font-weight:700;line-height:1.4}.campaign-hero{max-width:720px;margin:.5rem auto 0;padding:0 .5rem}.campaign-badge{color:#fff;letter-spacing:1.5px;text-transform:uppercase;background:#f6931bf2;border-radius:20px;margin-bottom:.85rem;padding:.35rem 1rem;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:600;display:inline-block;box-shadow:0 2px 10px #00000026}.campaign-title{text-shadow:0 2px 8px #0003;margin:0;font-weight:700;line-height:1.25;color:#fff!important;font-family:Playfair Display,Georgia,serif!important}.campaign-line{letter-spacing:.5px;opacity:.95;font-size:clamp(1rem,3.2vw,1.35rem);font-weight:600;display:block}.campaign-line-main{color:#ffd875;letter-spacing:1px;text-transform:uppercase;margin:.2rem 0;font-size:clamp(1.35rem,4.5vw,2rem);font-weight:700}.campaign-line-sub{letter-spacing:2px;text-transform:uppercase;font-size:clamp(1.05rem,3.5vw,1.5rem);font-weight:600}.campaign-divider{justify-content:center;align-items:center;gap:.75rem;margin-top:.85rem;display:flex}.campaign-divider span{background:linear-gradient(90deg,#0000,#ffd775cc,#0000);width:60px;height:1px}.campaign-divider em{color:#ffd875;gap:.4rem;display:flex}.campaign-divider svg{fill:currentColor;stroke:none}@media (width<=768px){.campaign-hero{padding:0 .25rem}.campaign-line-sub{letter-spacing:1px}.campaign-divider span{width:40px}}.site-header .logo-text{opacity:.95;letter-spacing:.5px;font-size:.95rem;font-weight:600}.logo-wrap{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.site-logo{object-fit:contain;background:#fff;border-radius:50%;width:100px;height:100px;padding:6px;box-shadow:0 3px 12px #0003}.login-logo{object-fit:contain;background:#fff;border-radius:50%;width:100px;height:100px;margin:0 auto 1rem;padding:6px;display:block;box-shadow:0 2px 10px #0000001f}.ratiba-box{background:linear-gradient(135deg, #fff5f0 0%, var(--bg) 100%);border:2px solid var(--primary);border-radius:var(--radius);text-align:center;margin:1.25rem 0 1.75rem;padding:1.25rem}.ratiba-box p{margin-bottom:1rem;font-size:.95rem}.container{max-width:800px;margin:0 auto;padding:1.5rem 1rem}.container-wide{max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem;padding:2rem}.campaign-intro{margin-bottom:2rem}.campaign-intro p{text-align:justify;margin-bottom:1rem;font-size:.95rem}.campaign-intro p:first-of-type{color:var(--primary-dark);font-weight:600}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text);margin-bottom:.4rem;font-size:.95rem;font-weight:600;display:block}.form-group label .required{color:var(--danger)}.form-control{border:2px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #f6931b33}select.form-control{cursor:pointer;appearance:auto}.radio-group{gap:1.5rem;margin-top:.5rem;display:flex}.radio-group label{cursor:pointer;align-items:center;gap:.4rem;font-weight:400;display:flex}.radio-group input[type=radio]{width:18px;height:18px;accent-color:var(--primary)}.volunteer-message{border-left:4px solid var(--primary);background:#fff5f0;border-radius:0 8px 8px 0;margin-top:.75rem;padding:.75rem 1rem;font-size:.9rem;display:none}.volunteer-message.show{display:block}.volunteer-message a{color:var(--primary);font-weight:600}.warning-box{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin:1.5rem 0;padding:1rem;font-size:.9rem}.btn{cursor:pointer;text-align:center;border:none;border-radius:8px;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#e07f0f 0%,#e54d28 100%);transform:translateY(-1px);box-shadow:0 4px 12px #f6931b59}.btn-accent{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);color:#fff}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 4px 12px #66319459}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.4rem .8rem;font-size:.85rem}.btn-block{width:100%;display:block}.success-message{color:#155724;border-radius:var(--radius);text-align:center;background:#d4edda;border:1px solid #c3e6cb;margin:2rem 0;padding:2rem}.success-message h2{color:var(--success);margin-bottom:.5rem}.success-icon{margin-bottom:1rem}.alert{border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;font-size:.95rem;display:flex}.alert-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.4rem;font-weight:700;display:flex}.alert-content{flex:1;min-width:0}.alert-title{margin-bottom:.5rem;font-size:1.05rem;display:block}.alert-list{margin:0 0 .75rem 1.1rem;padding:0}.alert-list li{margin-bottom:.35rem;line-height:1.5}.alert-list li:last-child{margin-bottom:0}.alert-hint{opacity:.9;border-top:1px solid #00000014;margin:0;padding-top:.75rem;font-size:.85rem;line-height:1.6}.alert-error{color:#842029;background:linear-gradient(135deg,#fff5f5 0%,#ffe8e8 100%);border:2px solid #f5a5a5}.alert-error .alert-icon{color:#fff;background:#dc3545;box-shadow:0 3px 10px #dc35454d}.alert-error .alert-title{color:#b02a37}.alert-success{color:#155724;background:linear-gradient(135deg,#f0fff4 0%,#d4edda 100%);border:2px solid #a3d9a5;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.alert-success .alert-icon{background:var(--success);color:#fff}@media (width<=768px){.alert{text-align:center;flex-direction:column;align-items:center;padding:1.25rem 1rem}.alert-list{text-align:center;margin-left:0;list-style:none}}.settings-card{max-width:520px;margin:2rem auto}.settings-title{color:var(--primary-dark);margin-bottom:.35rem;font-family:Poppins,sans-serif;font-size:1.35rem}.settings-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.settings-form .btn{margin-top:.5rem}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}table th{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--dark) 100%);color:#fff;text-align:left;white-space:nowrap;padding:.75rem;font-weight:600}table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem}table tr:hover{background:#f8f9fa}.badge{border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:#155724;background:#d4edda}.badge-warning{color:#856404;background:#fff3cd}.badge-info{color:#0c5460;background:#d1ecf1}.stats-bar{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.stat-card{border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background:#fff;flex:1;min-width:140px;padding:1rem 1.5rem}.stat-card .stat-number{color:var(--primary);font-family:Lobster Two,cursive;font-size:1.8rem;font-weight:700}.stat-card .stat-label{color:var(--text-muted);margin-top:.2rem;font-size:.8rem}.login-container{max-width:420px;margin:4rem auto;padding:0 1rem}.login-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:2.5rem 2rem}.login-card h2{text-align:center;color:var(--primary-dark);margin-bottom:.5rem}.login-card .subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem;font-size:.9rem}.site-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:2rem;padding:2rem 1rem;font-size:.85rem}.site-footer a{color:var(--primary);font-weight:600;text-decoration:none}.site-footer a:hover{color:var(--primary-dark)}@media (width<=768px){.card{padding:1.25rem}table{font-size:.8rem}table th,table td{padding:.5rem}}.site-footer{font-weight:700}.campaign-details{color:#ffd875;margin-top:.5rem;font-size:clamp(.9rem,2.8vw,1.1rem)}.campaign-intro p,.form-intro{overflow-wrap:anywhere}.form-intro{color:var(--primary-dark);margin-bottom:1.25rem;font-size:.95rem;font-weight:600}.warning-box{font-weight:700}textarea.form-control{resize:vertical;min-height:110px}.radio-group{flex-wrap:wrap}.form-group .check-label{cursor:pointer;align-items:flex-start;gap:.5rem;display:flex}.check-label input{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin-top:.3rem}.alert-focus:focus{outline:none}.btn:disabled{opacity:.65;cursor:wait;transform:none}.btn:focus-visible,a:focus-visible,input[type=radio]:focus-visible,input[type=checkbox]:focus-visible{outline:3px solid var(--accent-light);outline-offset:2px}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.page-status{text-align:center;padding:2rem 1rem}.login-back{text-align:center;margin-top:1.5rem}.login-back a{color:var(--primary);font-size:.9rem}
