:root{
    --ink:#202846;
    --muted:#68728f;
    --paper:#f8f9ff;
    --white:#fff;
    --line:#e2e6f2;
    --dark:#151b3d;
    --dark2:#28245e;
    --blue:#4263eb;
    --blue2:#7953e8;
    --cyan:#63bde7;
    --green:#38824b;
    --red:#c7374a;
    --amber:#a66a00;
    --navy:#201b4d;
    --soft:#f1f0ff;
    --success:#38824b;
    --shadow:0 18px 55px rgba(39,43,99,.08);
    --shadow2:0 30px 100px rgba(39,43,99,.14);
    --r:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(23,105,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(23,105,255,.035) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom,black,transparent 82%);
    z-index:-1;
}

a{color:var(--blue);text-decoration:none}
a:hover{color:#0d4dcc}

button,input,select,textarea{font:inherit}
button{cursor:pointer}

.container{width:min(1180px,92%);margin:auto}
.section{padding:82px 0}

.section-label{
    margin:0 0 10px;
    color:var(--blue);
    font-size:10px;
    font-weight:900;
    letter-spacing:2.8px;
    text-transform:uppercase;
}

h1,h2,h3{color:var(--ink);line-height:1.03;letter-spacing:-.045em;margin-top:0}
h1{font-size:clamp(2.8rem,6vw,5.8rem);margin-bottom:16px}
h2{font-size:clamp(2rem,4vw,3.5rem)}
h3{font-size:1.25rem}
p{color:var(--muted)}

.info-card,.card,.stat,.action,.admin-card,.metric{
    background:rgba(255,255,255,.94);
    border:1px solid var(--line);
    border-radius:var(--r);
    box-shadow:var(--shadow);
}

.info-card{padding:32px}
.cards{display:grid;gap:20px}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:48px;
    padding:12px 20px;
    border-radius:999px;
    border:1px solid #cfddeb;
    background:#fff;
    color:var(--ink);
    font-weight:850;
    cursor:pointer;
    transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;
}

.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(21,62,110,.11);text-decoration:none}
.btn-primary{color:#fff;background:linear-gradient(110deg,var(--blue),var(--blue2));border-color:transparent;box-shadow:0 14px 32px rgba(23,105,255,.24)}
.btn-primary:hover{color:#fff}
.btn-soft{background:#edf4ff;border-color:#d7e5ff;color:#174fae}
.btn-danger{color:#fff;background:var(--red);border-color:var(--red)}

.notice{padding:15px 17px;border-radius:16px;background:#edf5ff;border:1px solid #d3e4ff;color:#214e83;margin:0 0 18px}
.notice.success{background:#edfaf4;border-color:#cbead9;color:#126b4b}
.notice.error{background:#fff1f3;border-color:#f2cbd2;color:#a12938}

label{display:block;font-weight:800;color:var(--ink);font-size:.9rem;margin-bottom:16px}
.field,select,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=number],input[type=search]{
    width:100%;
    min-height:52px;
    margin-top:8px;
    padding:13px 15px;
    border:1px solid #cfdeec;
    border-radius:14px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    outline:0;
    transition:border-color .2s,box-shadow .2s,transform .2s;
}

textarea.field{min-height:120px;resize:vertical}
.field:focus,select:focus,input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,105,255,.1)}

.page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.muted{color:var(--muted)}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-size:.72rem;letter-spacing:1px;text-transform:uppercase;color:#64748b;background:#f8fbff}
tr:last-child td{border-bottom:0}

.pill,.badge{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;font-size:11px;font-weight:850}
.pill{background:#eaf3ff;color:#2059b8}
.badge.success{background:#eaf8f0;color:var(--green)}
.badge.warning{background:#fff5e1;color:var(--amber)}
.badge.danger{background:#fff0f2;color:var(--red)}

.back-link{font-weight:800}

.page-bg{
    min-height:100vh;
    background:
        radial-gradient(circle at 15% 15%,rgba(105,71,255,.11),transparent 25%),
        radial-gradient(circle at 85% 10%,rgba(39,199,242,.12),transparent 22%),
        var(--paper);
}

.auth-shell{max-width:580px;margin:auto}
.auth-brand{text-align:center;margin-bottom:28px}
.auth-brand span{display:block;color:var(--blue);font-weight:900;letter-spacing:2.8px;font-size:10px}
.auth-brand strong{display:block;color:var(--ink);font-size:1.45rem;margin-top:6px;letter-spacing:-.03em}

.topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    padding:32px;
    border-radius:30px;
    background:linear-gradient(135deg,#071426,#12345e 65%,#243d82);
    box-shadow:var(--shadow2);
    color:#fff;
    position:relative;
    overflow:hidden;
}
.topbar:after{content:"";position:absolute;width:390px;height:390px;border-radius:50%;right:-170px;top:-205px;background:linear-gradient(135deg,rgba(39,199,242,.23),rgba(105,71,255,.19))}
.topbar>*{position:relative;z-index:1}
.topbar h1,.topbar p{color:#fff}
.topbar p{color:#c9d8ea}

.profile{display:flex;align-items:center;gap:12px}
.avatar{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#fff,#dcecff);color:#214fae;font-weight:900}
.profile strong{display:block;color:#fff}
.profile small{display:block;color:#c6d3e2}
.logout{padding:9px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;background:rgba(255,255,255,.08);font-weight:800}
.logout:hover{color:#fff;background:rgba(255,255,255,.15)}

.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0}
.stat{padding:22px}
.stat span{color:var(--muted);font-size:.86rem}
.stat strong{display:block;font-size:1.8rem;color:var(--ink);margin:5px 0}

.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.action{padding:24px;transition:.2s}
.action:hover{transform:translateY(-3px);box-shadow:var(--shadow2)}
.action h3{margin-bottom:7px}

.nav{display:flex;gap:8px;flex-wrap:wrap}
.nav a{padding:9px 12px;border-radius:999px;color:var(--ink);font-weight:800;white-space:nowrap}
.nav a.active,.nav a:hover{background:#eaf2ff;color:var(--blue)}

.qr-shell{max-width:720px;margin:auto}
.qr-card{text-align:center;padding:48px;border:1px solid var(--line);border-radius:32px;background:rgba(255,255,255,.95);box-shadow:var(--shadow2)}
.qr-frame{display:inline-flex;padding:18px;margin:20px 0;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 40px rgba(18,19,26,.08)}
.qr-frame canvas{display:block}
.qr-url{display:block;max-width:100%;overflow:auto;color:#606571;background:#f4f8fc;border-radius:10px;padding:10px}
.qr-note{font-size:.8rem;margin-top:20px}

.forgot-link{display:block;text-align:center;margin-top:18px;font-weight:800}
.login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.otp-field{font-size:1.6rem;letter-spacing:.5em;text-align:center}
.admin-login-card{padding:38px}
.admin-shell{max-width:1240px;margin:auto}

@media(max-width:900px){
    .cards.three,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .topbar{align-items:flex-start;flex-direction:column}
}

@media(max-width:680px){
    .cards.two,.cards.three,.stats-grid,.actions,.login-actions{grid-template-columns:1fr}
    .section{padding:54px 0}
    .container{width:94%}
    .btn{width:100%}
    .topbar{padding:24px}
    .profile{flex-wrap:wrap}
    .page-actions .btn{width:auto}
    .qr-card{padding:28px 18px}
}

body .btn-primary{box-shadow:0 14px 32px rgba(66,99,235,.22)}
body .btn-soft{background:#f0efff;border-color:#dedcff;color:#5141ba}
body .field:focus,body select:focus,body input:focus,body textarea:focus{box-shadow:0 0 0 4px rgba(121,83,232,.12)}
body .page-bg{background:radial-gradient(circle at 15% 15%,rgba(121,83,232,.11),transparent 25%),radial-gradient(circle at 85% 10%,rgba(99,189,231,.12),transparent 22%),var(--paper)}
body .topbar{background:linear-gradient(120deg,#151b3d,#28245e 58%,#4c3ba1)}
body .topbar:after{background:linear-gradient(135deg,rgba(99,189,231,.22),rgba(121,83,232,.24))}
body .avatar{background:linear-gradient(135deg,#fff,#e4eaff);color:#5141ba}
body .nav a.active,body .nav a:hover{background:#f0efff;color:#5141ba}
body .pill{background:#f0efff;color:#5141ba}
body .hero{background:radial-gradient(circle at 82% 22%,rgba(99,189,231,.18),transparent 27%),radial-gradient(circle at 15% 80%,rgba(121,83,232,.24),transparent 30%),linear-gradient(125deg,#151b3d,#28245e 52%,#4c3ba1)}
body .hero .eyebrow{color:#d8d2ff!important}
body .hero h1 span{background:linear-gradient(100deg,#fff,#c8d8ff 50%,#c9b8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
body .brand-mark{background:linear-gradient(135deg,#4263eb,#7953e8);box-shadow:0 8px 25px rgba(66,99,235,.22)}
body .new-believer-page{background:radial-gradient(circle at 15% 15%,rgba(99,189,231,.16),transparent 25%),radial-gradient(circle at 90% 70%,rgba(121,83,232,.22),transparent 30%),linear-gradient(125deg,#151b3d,#28245e 52%,#4c3ba1)}
body .new-believer-kicker{color:#d8d2ff}
body .new-believer-intro h1 span{background:linear-gradient(100deg,#fff,#c8d8ff 48%,#c9b8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
body .new-believer-points span,body .new-believer-success .success-icon{background:linear-gradient(135deg,#4263eb,#7953e8)}
body .new-believer-card-heading span{color:#5141ba}
body .new-believer-preview{background:linear-gradient(135deg,#edf5ff,#f2efff)}
body .btn-new-believer{border-color:rgba(121,83,232,.4);background:linear-gradient(135deg,#4263eb,#7953e8)}
body .minister-details-page{background:radial-gradient(circle at 85% 10%,rgba(99,189,231,.16),transparent 25%),radial-gradient(circle at 10% 80%,rgba(121,83,232,.22),transparent 30%),linear-gradient(125deg,#151b3d,#28245e 50%,#4c3ba1)}
body .minister-profile-label{border-color:rgba(200,216,255,.35);color:#d8d2ff;background:rgba(121,83,232,.12)}
body .minister-profile-role{color:#d8d2ff}
body .minister-details-page .eyebrow{color:#d8d2ff}
body .summary{background:linear-gradient(145deg,#151b3d,#28245e 62%,#4c3ba1);box-shadow:0 25px 65px rgba(21,27,61,.28)}
body .summary-glow{background:rgba(99,189,231,.16)}
body .summary .section-label{color:#c8d8ff}
body .selection-dot{background:#a99aff;box-shadow:0 0 0 5px rgba(121,83,232,.18)}
body .ticket-head{background:linear-gradient(135deg,#151b3d,#28245e 58%,#4c3ba1)}
body .ticket-head:after{background:rgba(99,189,231,.18)}
body .room:has(input:checked){border-color:#7953e8;background:#f2efff;box-shadow:0 0 0 3px rgba(121,83,232,.1)}
body .badge.public{background:#f0efff;color:#5141ba}
