:root{--brand:#153b8f;--brand-2:#0b70d1;--ink:#172033;--muted:#64748b;--line:#dfe5ee;--bg:#f1f4fb;--danger:#d51b32;--success:#067647;--warning:#a15c00;--radius:16px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);line-height:1.55}a{color:var(--brand-2);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}.brand{display:flex;align-items:center;gap:13px;color:var(--ink)}.brand:hover{text-decoration:none}.brand img{width:auto;height:52px;max-width:180px}.brand-mark{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;font-weight:900}.brand strong{display:block;font-size:15px}.brand small{display:block;color:var(--muted)}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{padding:9px 12px;border-radius:10px;color:#334155;font-weight:700;font-size:14px}.nav a:hover{background:#eef4ff;text-decoration:none;color:var(--brand)}main{min-height:calc(100vh - 160px);padding:34px 0 50px}.site-footer{background:#fff;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.footer-row{padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head{margin-bottom:24px}.page-head h1{margin:0 0 6px;font-size:clamp(25px,3vw,36px);line-height:1.2;color:#172b65}.page-head p{margin:0;color:var(--muted)}.card{background:#fff;border:1px solid #e0e6ef;border-radius:var(--radius);box-shadow:0 8px 26px rgba(28,45,85,.06);padding:26px}.card+.card{margin-top:20px}.grid{display:grid;gap:20px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-card{display:flex;flex-direction:column;gap:12px}.campaign-card h2{font-size:20px;margin:0;color:#192e6e}.campaign-card p{color:var(--muted);margin:0;flex:1}.meta{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13px;color:#536176}.badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#e8eef8;color:#3d4b65}.badge.success{background:#dcfae8;color:#067647}.badge.danger{background:#fee4e7;color:#b42318}.badge.warning{background:#fff1cc;color:#8a5100}.badge.info{background:#dceeff;color:#075985}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:11px 16px;font-weight:800;cursor:pointer;transition:.15s;text-decoration:none}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}.btn-secondary{background:#eef2f8;color:#283851;border:1px solid #d9e1ed}.btn-danger{background:#fff0f1;color:#b42318;border:1px solid #ffc9cf}.btn-sm{padding:7px 10px;font-size:13px}.btn-wide{width:100%}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rich-text{font-size:15px}.rich-text h2,.rich-text h3{color:#172e73;margin-top:24px}.rich-text ul,.rich-text ol{padding-left:22px}.rich-text li{padding:7px 0;border-bottom:1px solid #e7eaf0}.rich-text .text-danger,.text-danger{color:var(--danger)}.rich-text .text-primary{color:var(--brand-2)}.font-bold{font-weight:800}.consent-list{display:grid;gap:12px;margin:24px 0}.consent{display:flex;gap:10px;align-items:flex-start;font-weight:700;color:#173277}.consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--brand)}.section-title{background:#30363d;color:#fff;border-radius:7px;padding:9px 14px;margin:24px 0 16px;text-align:center;font-size:14px;font-weight:900}.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.field{grid-column:span 12}.field.half{grid-column:span 6}.field label{display:block;margin-bottom:6px;font-size:14px;font-weight:800;color:#183477}.required{color:var(--danger)}.input,.select,.textarea,input[type=file]{display:block;width:100%;border:1px solid #cdd5df;background:#fff;border-radius:9px;padding:11px 12px;color:#172033;outline:none}.input:focus,.select:focus,.textarea:focus,input[type=file]:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(11,112,209,.13)}.textarea{min-height:130px;resize:vertical}.help{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.error{display:block;margin-top:5px;color:#b42318;font-size:13px;font-weight:700}.alert{border-radius:12px;padding:13px 16px;margin-bottom:18px;font-weight:650}.alert-success{background:#e5f8ed;color:#087647;border:1px solid #b8ebce}.alert-danger{background:#fff0f1;color:#a51220;border:1px solid #ffc7cd}.alert-info{background:#eaf4ff;color:#075985;border:1px solid #baddff}.empty{text-align:center;padding:55px 20px;color:var(--muted)}.summary{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:16px}.summary dl{display:grid;grid-template-columns:190px 1fr;gap:8px;margin:0}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:800}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#f8fafc}.table td{font-size:14px}.pagination{margin-top:20px}.pagination nav>div:first-child{display:none}.pagination svg{width:18px}.pagination span,.pagination a{display:inline-flex;padding:7px 10px;background:#fff;border:1px solid var(--line)}
.admin-body{background:#f4f6fa}.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#101d3d;color:#d7e2ff;padding:24px 18px;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:900;font-size:17px;padding:0 10px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.sidebar-brand .brand-mark{width:46px;height:46px;flex:0 0 auto}.sidebar-brand span{min-width:0}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand small{font-size:11px;color:#9fb0d4;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand:hover{text-decoration:none}.sidebar nav{display:grid;gap:5px;margin-top:20px}.sidebar nav a{color:#c9d7f4;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:700}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.11);color:#fff;text-decoration:none}.sidebar form{margin-top:24px}.sidebar .btn{width:100%}.admin-main{min-width:0}.admin-top{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 28px;color:var(--muted);font-size:14px}.admin-content{padding:28px;max-width:1500px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.stat{padding:20px}.stat strong{display:block;font-size:28px;color:#172e73}.stat span{font-size:13px;color:var(--muted)}.admin-content h1{margin:0;color:#13265c;font-size:29px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filter .field{width:190px}.filter .field.wide{width:280px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px}.tabs a{padding:10px 14px;font-weight:800;color:#526077}.tabs a.active{color:var(--brand);border-bottom:3px solid var(--brand)}.code{font-family:Consolas,monospace;font-size:12px;background:#f2f4f7;padding:2px 6px;border-radius:5px}.json{white-space:pre-wrap;word-break:break-word;background:#101828;color:#e3ecff;border-radius:10px;padding:14px;font:12px/1.5 Consolas,monospace;max-height:280px;overflow:auto}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#dbeafe,transparent 38%),#f3f6fb}.login-card{width:min(460px,100%)}.login-card h1{margin:0 0 8px;color:#13265c}.login-brand{display:inline-flex;margin-bottom:20px}.login-brand img{display:block;max-width:240px;max-height:86px;width:auto;height:auto}.login-brand .brand-mark{margin:0}.password-control{position:relative}.password-control .input{padding-right:50px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:36px;border:0;border-radius:8px;background:#eef2f8;color:#283851;cursor:pointer;font-size:18px}.password-toggle:hover{background:#dfe8f5}.inline-form{display:inline}.muted{color:var(--muted)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-0{margin-bottom:0}.text-right{text-align:right}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-top{display:none}}
@media(max-width:680px){.header-row{align-items:flex-start;flex-direction:column;padding:13px 0}.nav{width:100%}.nav a{font-size:12px;padding:7px}.cards,.stats{grid-template-columns:1fr}.card{padding:18px}.field.half{grid-column:span 12}.summary dl{grid-template-columns:1fr}.admin-content{padding:18px}.sidebar nav{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar>.actions,.toolbar>.btn{width:100%}.filter,.filter .field,.filter .field.wide{width:100%}}
.document-modal{position:fixed;inset:0;z-index:1000;background:rgba(10,18,38,.78);padding:24px;display:grid;place-items:center}.document-modal[hidden]{display:none}.document-modal-panel{width:min(1100px,100%);height:min(88vh,900px);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.35);display:grid;grid-template-rows:auto 1fr}.document-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line)}.document-modal-head h2{margin:0;font-size:18px}.document-modal-close{width:40px;height:40px;border:0;border-radius:9px;background:#eef2f8;font-size:28px;line-height:1;cursor:pointer}.document-modal iframe{width:100%;height:100%;border:0;background:#eef2f8}
.verification-card{max-width:760px;margin-inline:auto}.otp-fieldset{margin:0;padding:0;border:0}.otp-fieldset legend{margin-bottom:10px;font-size:15px;font-weight:800;color:#183477}.otp-group{display:flex;gap:10px;flex-wrap:nowrap}.otp-digit{width:58px;height:64px;border:2px solid #cdd5df;border-radius:12px;background:#fff;text-align:center;font-size:30px;font-weight:900;color:#172e73;outline:none;caret-color:var(--brand)}.otp-digit:focus{border-color:var(--brand-2);box-shadow:0 0 0 4px rgba(11,112,209,.14)}.sms-countdown{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px;padding:13px 15px;border:1px solid #baddff;border-radius:12px;background:#eaf4ff;color:#075985}.sms-countdown strong{font:900 22px/1 Consolas,monospace;letter-spacing:.04em}.sms-countdown small{width:100%}.sms-countdown.expired{border-color:#ffd79a;background:#fff7e8;color:#8a5100}.resend-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}
@media(max-width:680px){.otp-group{gap:7px}.otp-digit{width:calc((100vw - 89px)/6);max-width:52px;height:58px;font-size:26px}}
.settings-tabs{display:flex;gap:8px;overflow-x:auto;margin:-4px 0 22px;padding:4px 2px 10px}.settings-tabs a{flex:0 0 auto;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#42516a;font-size:13px;font-weight:800}.settings-tabs a:hover,.settings-tabs a.active{background:var(--brand);border-color:var(--brand);color:#fff;text-decoration:none}.sms-log-table{min-width:1100px}.sms-message-cell{min-width:260px;white-space:pre-wrap;word-break:break-word}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-item{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.summary-item span{display:block;color:var(--muted);font-size:12px}.summary-item strong{display:block;margin-top:4px;word-break:break-word}@media(max-width:900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.summary-grid{grid-template-columns:1fr}}
.recaptcha-panel{padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.recaptcha-panel .g-recaptcha{min-height:78px}
