/* ═══════════════════════════════════════
   GORATIFY — MAIN CSS  (Modern Style)
   ═══════════════════════════════════════ */
/* Font loaded via <link> in header.php for faster rendering */

:root {
  --primary:#F97316; --primary-d:#ea6c0a;
  --primary-l:#FFF0E6; --primary-bdr:#FED7AA;
  --bg:#FFFAF6; --bg2:#ffffff; --bg3:#F9FAFB; --bg4:#F3F4F6;
  --nav:rgba(255,250,246,.97);
  --txt:#111827; --txt2:#6B7280; --txt3:#9CA3AF;
  --bdr:#F3E8DC; --bdr2:#E5E7EB; --card:#ffffff;
  --dark-bg:#0f172a; --dark-card:#1e293b;
  --radius:20px; --radius-pill:100px; --radius-sm:10px;
  --shadow-sm:0 2px 12px rgba(249,115,22,.08);
  --shadow:0 4px 24px rgba(0,0,0,.07);
  --shadow-md:0 8px 40px rgba(0,0,0,.1);
}
[data-theme="dark"] {
  --bg:#0f172a; --bg2:#1e293b; --bg3:#1e293b; --bg4:#334155;
  --nav:rgba(15,23,42,.97);
  --txt:#f1f5f9; --txt2:#94a3b8; --txt3:#64748b;
  --bdr:#334155; --bdr2:#475569; --card:#1e293b;
  --primary-l:rgba(249,115,22,.15); --primary-bdr:rgba(249,115,22,.3);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--txt);overflow-x:hidden;padding-top:67px}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font-family:'Poppins',sans-serif}

/* Prevent layout shift: set min-heights on key containers */
.ev-thumb img,.ev-hero-bg{background:var(--bg3)}
.ev-thumb{background:var(--bg3);position:relative}
.poll-card{min-height:120px;background:var(--card)}
.cand-card{min-height:60px;background:var(--card)}
/* Skeleton loading shimmer */
.ev-thumb::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);animation:shimmer 1.5s infinite;z-index:0}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.ev-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
/* Smooth image load — fade in when loaded */
img[loading="lazy"]{transition:opacity .4s ease}
img[loading="lazy"].loaded,img:not([loading="lazy"]){opacity:1}
/* Content containers — prevent collapse before load */
.ev-body{min-height:80px}
section{min-height:40px}
.page-banner{min-height:180px}
.ev-hero{min-height:260px;background:var(--bg3)}

.container{max-width:1200px;margin:0 auto;padding:0 20px}
.container-fluid{width:100%;padding:0}

/* TYPOGRAPHY */
h1,h2,h3,h4,h5{font-weight:800;line-height:1.2;color:var(--txt)}
p{line-height:1.75;color:var(--txt2)}

/* SECTIONS */
section{padding:48px 0}
.sec-white{background:var(--card)}
.sec-cream{background:var(--bg)}
.sec-gray{background:var(--bg3)}

.sec-badge{display:inline-flex;align-items:center;gap:7px;background:var(--primary-l);border:1px solid var(--primary-bdr);border-radius:var(--radius-pill);padding:5px 14px;font-size:12px;font-weight:600;color:var(--primary);margin-bottom:14px}
.sec-badge-dot{width:5px;height:5px;background:var(--primary);border-radius:50%}
.sec-title{font-size:clamp(24px,3vw,36px);font-weight:900;color:var(--txt);line-height:1.15;letter-spacing:-.6px;margin:0}
.sec-title .orange{color:var(--primary);font-style:italic}
.sec-sub{font-size:15px;color:var(--txt2);line-height:1.75;margin-top:12px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;transition:all .2s;text-decoration:none;border-radius:var(--radius-pill)}
.btn-primary{background:var(--primary);color:#fff;padding:13px 28px}
.btn-primary:hover{background:var(--primary-d);color:#fff;transform:translateY(-1px);box-shadow:0 8px 24px var(--primary-l)}
.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary);padding:11px 26px}
.btn-outline:hover{background:var(--primary-l);color:var(--primary)}
.btn-ghost{background:transparent;color:var(--txt2);border:1.5px solid var(--bdr);padding:9px 20px}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
.btn-white{background:#fff;color:var(--primary);padding:13px 28px;font-weight:700}
.btn-white:hover{background:var(--primary-l);color:var(--primary);transform:translateY(-1px)}
.btn-white-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);padding:11px 26px;font-weight:600}
.btn-white-outline:hover{border-color:#fff;color:#fff}
.btn-sm{padding:8px 18px;font-size:13px}
.btn-lg{padding:15px 36px;font-size:16px;font-weight:700}
.btn-block{width:100%;justify-content:center}
.btn-success{background:#22c55e;color:#fff}
.btn-success:hover{background:#16a34a;color:#fff}

/* NAVBAR */
.t-nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:67px;background:var(--nav);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--bdr);display:flex;align-items:center;padding:0 24px;gap:16px}
.t-nav-logo{font-size:22px;font-weight:900;letter-spacing:-.5px;color:var(--txt);text-decoration:none;display:flex;align-items:center;flex-shrink:0}
.t-nav-logo img{height:32px;max-width:140px;object-fit:contain}
.t-nav-links{display:flex;align-items:center;gap:2px;flex:1;padding-left:20px}
.t-nav-links a{font-size:14px;font-weight:500;color:var(--txt2);padding:7px 14px;border-radius:10px;transition:all .15s;text-decoration:none}
.t-nav-links a:hover,.t-nav-links a.active{color:var(--primary);background:var(--primary-l)}
.t-nav-right{display:flex;align-items:center;gap:8px;margin-left:auto}
.t-nav-auth{display:flex;align-items:center;gap:8px}
.t-theme-btn{width:38px;height:38px;border-radius:50%;background:var(--primary-l);border:1.5px solid var(--primary-bdr);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--primary);transition:all .2s;flex-shrink:0}
.t-theme-btn:hover{background:var(--primary);color:#fff;transform:rotate(20deg)}
.t-hamburger{display:none;width:38px;height:38px;border-radius:50%;background:var(--primary-l);border:1.5px solid var(--primary-bdr);align-items:center;justify-content:center;cursor:pointer;color:var(--primary);flex-shrink:0;transition:all .2s}
.t-hamburger:hover{background:var(--primary);color:#fff}

/* Mobile slide-down menu */
.t-mobile-nav{position:fixed;top:67px;left:0;right:0;z-index:999;background:var(--card);border-bottom:1px solid var(--bdr);box-shadow:0 16px 48px rgba(0,0,0,.12);max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:0;border-radius:0 0 24px 24px}
.t-mobile-nav.open{max-height:520px;opacity:1}
.t-mobile-nav-inner{padding:8px 20px 28px;display:flex;flex-direction:column;gap:2px}
.t-mobile-nav a{display:flex;align-items:center;gap:10px;padding:13px 16px;font-size:15px;font-weight:600;color:var(--txt2);border-radius:14px;transition:all .2s;text-decoration:none}.t-mobile-nav a.btn-primary{color:#fff!important}.t-mobile-nav a.btn-primary:hover{color:#fff!important}
.t-mobile-nav a:hover{background:var(--primary-l);color:var(--primary)}
.t-mob-divider{height:1px;background:var(--bdr);margin:8px 16px}
.t-mob-auth{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.t-mob-auth .btn-primary,
.t-mob-auth a.btn-primary,
.t-mobile-nav .btn-primary,
.t-mobile-nav a.btn-primary{color:#fff!important;background:var(--primary)!important}
.t-mob-auth .btn-primary:hover,
.t-mobile-nav a.btn-primary:hover{color:#fff!important;background:var(--primary-d)!important}

@media(max-width:768px){section{padding:36px 0}.newsletter-wrap{padding:28px 20px}.cta-band{padding:36px 0}}
@media(max-width:860px){
  .t-nav-links,.t-nav-auth{display:none}
  .t-hamburger{display:flex}
  .t-nav{padding:0 16px}
}

/* FLASH MESSAGES */
.alert{padding:14px 20px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
.alert-success{background:#ecfdf5;color:#065f46;border-bottom:1px solid #a7f3d0}
.alert-danger{background:#fef2f2;color:#991b1b;border-bottom:1px solid #fecaca}
.alert-warning{background:#fffbeb;color:#92400e;border-bottom:1px solid #fde68a}
.alert-info{background:#eff6ff;color:#1e40af;border-bottom:1px solid #bfdbfe}
.alert-dismiss{margin-left:auto;background:none;border:none;cursor:pointer;font-size:18px;opacity:.5;transition:opacity .2s}
.alert-dismiss:hover{opacity:1}
[data-theme="dark"] .alert-success{background:rgba(34,197,94,.1);color:#4ade80;border-color:rgba(34,197,94,.2)}
[data-theme="dark"] .alert-danger{background:rgba(239,68,68,.1);color:#f87171;border-color:rgba(239,68,68,.2)}
[data-theme="dark"] .alert-warning{background:rgba(245,158,11,.1);color:#fbbf24;border-color:rgba(245,158,11,.2)}
[data-theme="dark"] .alert-info{background:rgba(59,130,246,.1);color:#60a5fa;border-color:rgba(59,130,246,.2)}

/* CARDS */
.card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:28px;transition:all .3s}
.card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-bdr);transform:translateY(-3px)}

/* FORMS */
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:14px;font-weight:600;color:var(--txt);margin-bottom:7px}
.form-control{width:100%;padding:13px 16px;background:var(--bg3);border:1.5px solid var(--bdr2);border-radius:var(--radius-sm);font-family:'Poppins',sans-serif;font-size:14px;color:var(--txt);outline:none;transition:border-color .2s}
.form-control:focus{border-color:var(--primary);background:var(--card)}
.form-control::placeholder{color:var(--txt3)}
select.form-control{cursor:pointer}
textarea.form-control{resize:vertical;min-height:100px}

/* BADGES */
.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.badge-primary{background:var(--primary);color:#fff}
.badge-success{background:#22c55e;color:#fff}
.badge-warning{background:#f59e0b;color:#fff}
.badge-danger{background:#ef4444;color:#fff}
.badge-free{background:#22c55e;color:#fff}
.badge-featured{background:var(--primary);color:#fff}
.badge-cat{background:rgba(0,0,0,.45);color:#fff;backdrop-filter:blur(4px)}

/* EVENT CARDS */
.ev-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);overflow:hidden;transition:all .3s;text-decoration:none;color:inherit;display:block;height:100%}
.ev-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--primary-bdr);color:inherit}
.ev-thumb{height:200px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ev-thumb-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 60%)}
.ev-badges{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap}
.ev-cd{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.5);border-radius:8px;padding:4px 10px;font-size:11px;color:#fff;display:flex;align-items:center;gap:4px}
.ev-body{padding:18px}
.ev-cat-lbl{font-size:10px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.ev-title{font-size:15px;font-weight:700;color:var(--txt);margin-bottom:10px;line-height:1.35}
.ev-meta{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.ev-meta-row{font-size:12px;color:var(--txt2);display:flex;align-items:center;gap:6px}
.ev-foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--bdr)}
.ev-price{font-size:17px;font-weight:900;color:var(--primary)}
.ev-price.free{color:#22c55e}
.ev-get{background:var(--primary-l);border:1.5px solid var(--primary-bdr);border-radius:var(--radius-pill);padding:6px 14px;font-size:12px;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:5px;transition:all .2s}
.ev-card:hover .ev-get{background:var(--primary);color:#fff;border-color:var(--primary)}
.bg-concert{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.bg-hackathon{background:linear-gradient(135deg,#0891b2,#06b6d4)}
.bg-hangout{background:linear-gradient(135deg,#059669,#10b981)}
.bg-festival{background:linear-gradient(135deg,#d97706,#f59e0b)}
.bg-award{background:linear-gradient(135deg,#dc2626,#ef4444)}
.bg-quiz{background:linear-gradient(135deg,#2563eb,#3b82f6)}
.bg-seminar{background:linear-gradient(135deg,#475569,#64748b)}
.bg-other{background:linear-gradient(135deg,var(--primary),#ff9a6b)}

/* STAT CARDS */
.stat-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:32px 24px;text-align:center;transition:all .3s}
.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:var(--primary-bdr)}
.stat-icon{width:54px;height:54px;border-radius:16px;background:var(--primary-l);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.stat-num{font-size:36px;font-weight:900;color:var(--primary);letter-spacing:-1px;line-height:1}
.stat-label{font-size:14px;color:var(--txt2);margin-top:6px;font-weight:500}

/* HOW IT WORKS */
.how-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:32px 28px;height:100%;transition:all .3s}
.how-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-bdr);transform:translateY(-4px)}
.how-num{font-size:11px;font-weight:700;color:var(--primary);letter-spacing:1px;margin-bottom:18px;opacity:.8}
.how-icon{width:56px;height:56px;border-radius:16px;background:var(--primary-l);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.how-title{font-size:17px;font-weight:800;margin-bottom:10px;color:var(--txt)}
.how-desc{font-size:14px;color:var(--txt2);line-height:1.7}

/* FEATURES */
.feat-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:28px;height:100%;transition:all .3s}
.feat-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:var(--primary-bdr)}
.feat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.feat-title{font-size:16px;font-weight:800;margin-bottom:8px;color:var(--txt)}
.feat-desc{font-size:13px;color:var(--txt2);line-height:1.7}

/* TESTIMONIALS */
.testi-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:28px;height:100%;transition:all .3s;position:relative}
.testi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:var(--primary-bdr)}
.testi-stars{display:flex;gap:3px;margin-bottom:14px}
.testi-star{color:#f59e0b;font-size:16px}
.testi-quote{font-size:14px;color:var(--txt2);line-height:1.8;margin-bottom:22px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0}
.testi-name{font-size:14px;font-weight:700;color:var(--txt)}
.testi-role{font-size:12px;color:var(--txt2)}
.testi-qmark{position:absolute;top:16px;right:22px;font-size:72px;color:var(--primary-l);font-family:Georgia,serif;line-height:1;pointer-events:none}
.testi-carousel-wrap{position:relative;padding:0 48px}
.testi-track-outer{overflow:hidden;border-radius:var(--radius)}
.testi-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.testi-slide{min-width:100%;padding:4px 8px}
@media(min-width:768px){.testi-slide{min-width:50%}}
@media(min-width:1024px){.testi-slide{min-width:33.333%}}
.testi-arrow{position:absolute;top:50%;transform:translateY(-60%);width:40px;height:40px;border-radius:50%;background:var(--card);border:1.5px solid var(--bdr);color:var(--txt2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10;box-shadow:var(--shadow)}
.testi-arrow:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.testi-prev{left:0}.testi-next{right:0}
.testi-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}
.testi-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-bdr);cursor:pointer;transition:all .3s;border:none;padding:0}
.testi-dot.active{background:var(--primary);width:24px;border-radius:4px}
@media(max-width:767px){.testi-carousel-wrap{padding:0 36px}.testi-arrow{width:34px;height:34px}}

/* FAQ */
.faq-item{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden;transition:all .2s}
.faq-item.open{border-color:var(--primary)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;cursor:pointer;gap:12px}
.faq-q-text{font-size:15px;font-weight:700;color:var(--txt)}
.faq-icon{width:30px;height:30px;background:var(--primary-l);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s,background .2s}
.faq-item.open .faq-icon{background:var(--primary);transform:rotate(45deg)}
.faq-item.open .faq-icon svg{stroke:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0 22px}
.faq-item.open .faq-a{max-height:200px;padding:0 22px 20px}
.faq-a p{font-size:14px;color:var(--txt2);line-height:1.8}

/* VOTE SECTION */
.vote-dark{background:#0f172a!important;border-radius:20px;padding:40px;position:relative;overflow:hidden}
.vote-dark::before{content:'';position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:rgba(255,255,255,.08);border-radius:50%}
.vote-dark::after{content:'';position:absolute;bottom:-40px;left:-40px;width:160px;height:160px;background:rgba(255,255,255,.05);border-radius:50%}
.vote-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.15);border-radius:var(--radius-pill);padding:5px 14px;font-size:11px;font-weight:700;color:#fff;margin-bottom:16px}
.vote-badge-dot{width:6px;height:6px;background:var(--primary);border-radius:50%;animation:pulse 1s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.vote-dark h3{font-size:22px;font-weight:900;color:#fff;margin-bottom:8px;position:relative;z-index:1}
.vote-dark>p{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:24px;position:relative;z-index:1}
.vc{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:14px;margin-bottom:10px;cursor:pointer;transition:all .2s;position:relative;z-index:1}
.vc:hover{border-color:var(--primary);background:rgba(255,255,255,.15)}
.vc-av{width:44px;height:44px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;flex-shrink:0}
.vc-name{font-size:14px;font-weight:700;color:#fff}
.vc-sub{font-size:12px;color:rgba(255,255,255,.5);margin-top:2px}
.vc-bar-wrap{flex:1}
.vc-bar{height:4px;background:rgba(255,255,255,.15);border-radius:4px;margin-top:8px;overflow:hidden}
.vc-bar-fill{height:100%;border-radius:4px;background:var(--primary)}
.vc-pct{font-size:14px;font-weight:800;color:var(--primary);flex-shrink:0}

/* CTA BAND */
.cta-band{background:var(--primary);padding:48px 0;position:relative;overflow:hidden;text-align:center}
.cta-band::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:500px;height:300px;background:rgba(255,255,255,.1);border-radius:50%}
.cta-band h2{font-size:clamp(26px,4vw,42px);font-weight:900;color:#fff;margin-bottom:14px;letter-spacing:-.8px;position:relative;z-index:1}
.cta-band p{font-size:16px;color:rgba(255,255,255,.8);max-width:480px;margin:0 auto 36px;line-height:1.75;position:relative;z-index:1}
.cta-band .d-flex{position:relative;z-index:1}

/* NEWSLETTER */
.newsletter-wrap{background:#0f172a;border-radius:28px;padding:36px 32px;position:relative;overflow:hidden}
.newsletter-glow1{position:absolute;top:-80px;right:-60px;width:300px;height:300px;background:radial-gradient(circle,rgba(249,115,22,.2),transparent 70%);border-radius:50%;pointer-events:none}
.newsletter-glow2{position:absolute;bottom:-60px;left:-40px;width:220px;height:220px;background:radial-gradient(circle,rgba(249,115,22,.1),transparent 70%);border-radius:50%;pointer-events:none}
.newsletter-perks{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.newsletter-perk{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.6)}
.np-icon{width:24px;height:24px;background:rgba(249,115,22,.15);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.newsletter-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:32px 28px}
.newsletter-card-title{font-size:18px;font-weight:800;color:#fff;margin-bottom:6px}
.newsletter-card-sub{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:22px}
.newsletter-form{display:flex;flex-direction:column;gap:10px}
.nf-input-wrap{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-pill);padding:13px 18px}
.nf-input-wrap input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:'Poppins',sans-serif;font-size:14px}
.nf-input-wrap input::placeholder{color:rgba(255,255,255,.35)}
.nf-btn{background:var(--primary);border:none;border-radius:var(--radius-pill);padding:14px 28px;font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}
.nf-btn:hover{background:var(--primary-d);transform:translateY(-1px)}
.nf-success{display:none;align-items:center;gap:8px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);border-radius:12px;padding:12px 16px;font-size:13px;color:#4ade80;margin-top:4px}
.nf-success.show{display:flex}
@media(max-width:576px){.newsletter-wrap{padding:32px 20px}.newsletter-card{padding:24px 18px}}

/* SEARCH BANNER */
.search-banner{background:#0f172a;border-radius:24px;padding:44px 40px;position:relative;overflow:hidden}
.search-banner-glow1{position:absolute;top:-80px;right:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(249,115,22,.22),transparent 70%);border-radius:50%;pointer-events:none}
.search-banner-glow2{position:absolute;bottom:-60px;left:-40px;width:200px;height:200px;background:radial-gradient(circle,rgba(249,115,22,.12),transparent 70%);border-radius:50%;pointer-events:none}
.search-banner-bar{display:flex;flex-direction:column;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:16px;overflow:hidden}
.search-banner-bar input{width:100%;background:transparent;border:none;outline:none;color:#fff;font-family:'Poppins',sans-serif;font-size:14px;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.search-banner-bar input::placeholder{color:rgba(255,255,255,.35)}
.search-banner-selects{display:flex;border-bottom:1px solid rgba(255,255,255,.1)}
.search-banner-bar select{flex:1;background:rgba(255,255,255,.05);border:none;border-right:1px solid rgba(255,255,255,.1);outline:none;color:rgba(255,255,255,.65);font-family:'Poppins',sans-serif;font-size:13px;padding:13px 12px;cursor:pointer}
.search-banner-bar select:last-of-type{border-right:none}
.search-banner-bar select option{background:#1e293b}
.sbd{display:none}
.search-banner-btn{width:100%;background:var(--primary);border:none;color:#fff;font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;padding:15px 28px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px}
.search-banner-btn:hover{background:var(--primary-d)}
@media(min-width:768px){
  .search-banner-bar{flex-direction:row;border-radius:var(--radius-pill);align-items:center}
  .search-banner-bar input{border-bottom:none;border-right:1px solid rgba(255,255,255,.1);flex:1;padding:0 16px;height:52px}
  .search-banner-selects{border-bottom:none;align-items:center}
  .search-banner-bar select{height:52px;border-bottom:none;padding:0 14px}
  .search-banner-btn{width:auto;padding:0 28px;height:52px;flex-shrink:0}
}
.search-banner-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.sbtag{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-pill);padding:5px 14px;font-size:12px;color:rgba(255,255,255,.6);text-decoration:none;transition:all .2s}
.sbtag:hover{background:rgba(249,115,22,.2);border-color:rgba(249,115,22,.4);color:var(--primary)}
@media(max-width:576px){.search-banner{padding:28px 20px}.sbd{display:none}.search-banner-bar select{height:44px;padding:0 10px;font-size:12px}.search-banner-btn{padding:0 18px;height:44px}}

/* TICKER */
.ticker{background:var(--dark-bg);padding:14px 0;overflow:hidden}
.ticker-inner{display:flex;align-items:center}
.ticker-tag{display:flex;align-items:center;gap:7px;background:rgba(249,115,22,.15);border:1px solid rgba(249,115,22,.3);border-radius:8px;padding:5px 12px;font-size:11px;font-weight:700;color:var(--primary);white-space:nowrap;margin-right:24px;flex-shrink:0}
.ticker-tdot{width:5px;height:5px;background:var(--primary);border-radius:50%;animation:pulse 1s ease-in-out infinite}
.ticker-track{flex:1;overflow:hidden}
.ticker-scroll{display:flex;gap:40px;animation:tmove 35s linear infinite;white-space:nowrap}
@keyframes tmove{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.tk-item{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.55)}
.tk-ico{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tk-ico.t{background:rgba(34,197,94,.2);color:#22c55e}
.tk-ico.v{background:rgba(249,115,22,.2);color:var(--primary)}
.tk-item strong{color:rgba(255,255,255,.8)}
.tk-item em{color:var(--primary);font-style:normal}

/* WEEKEND STRIP */
.strip{background:var(--primary);overflow:hidden}
.strip-inner{display:flex;align-items:stretch;min-height:52px}
.strip-tag{background:rgba(0,0,0,.12);padding:0 20px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#fff;white-space:nowrap}
.strip-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}
.strip-scroll{display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;flex:1}
.strip-scroll::-webkit-scrollbar{display:none}
.strip-item{display:flex;align-items:center;gap:10px;padding:0 20px;border-left:1px solid rgba(255,255,255,.2);min-height:52px;text-decoration:none;transition:background .2s;white-space:nowrap}
.strip-item:hover{background:rgba(0,0,0,.08)}
.si-date{font-size:11px;color:rgba(255,255,255,.75);font-weight:500}
.si-name{font-size:13px;font-weight:600;color:#fff}
.si-price{font-size:12px;font-weight:700;background:rgba(255,255,255,.2);padding:2px 8px;border-radius:20px;color:#fff}
.strip-all{padding:0 20px;border-left:1px solid rgba(255,255,255,.2);display:flex;align-items:center}
.strip-all a{font-size:12px;font-weight:700;color:#fff;text-decoration:none}

/* FOOTER */
.site-footer{background:#111827}
.footer-body{padding:40px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-logo-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;margin-bottom:12px}
.footer-logo-name{font-size:22px;font-weight:900;color:#fff;letter-spacing:-.5px}
.footer-logo-name span{color:var(--primary)}
.footer-logo-mark{width:36px;height:36px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}
.footer-tagline{font-size:13px;color:rgba(255,255,255,.45);line-height:1.75;max-width:260px;margin-bottom:22px}
.footer-socials{display:flex;gap:10px}
.footer-social-link{width:38px;height:38px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);text-decoration:none;transition:all .2s}
.footer-social-link:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.footer-col-label{font-size:12px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
.footer-nav-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer-nav-links a,.footer-nav-links span{font-size:13px;color:rgba(255,255,255,.5);text-decoration:none;display:flex;align-items:center;gap:7px;transition:color .2s}
.footer-nav-links a:hover{color:var(--primary)}
.footer-bar{border-top:1px solid rgba(255,255,255,.07);padding:18px 0}
.footer-bar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bar-copy{font-size:12px;color:rgba(255,255,255,.3)}
.footer-bar-right{display:flex;align-items:center;gap:16px}
.footer-trust-badge{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.3)}
.footer-theme-btn{background:transparent;border:none;cursor:pointer;font-size:12px;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:6px;font-family:'Poppins',sans-serif;transition:color .2s}
.footer-theme-btn:hover{color:var(--primary)}
.footer-nl-banner{background:#0f172a;padding:48px 0}
.footer-nl-inner{display:flex;align-items:center;flex-wrap:wrap;gap:28px}
.footer-nl-text{flex:1;min-width:220px}
.footer-nl-heading{font-size:18px;font-weight:800;color:#fff;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.footer-nl-sub{font-size:13px;color:rgba(255,255,255,.5)}
.footer-nl-form{display:flex;gap:10px;flex:1;min-width:280px;max-width:480px}
.footer-nl-field{flex:1;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-pill);padding:12px 18px}
.footer-nl-field input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:'Poppins',sans-serif;font-size:14px}
.footer-nl-field input::placeholder{color:rgba(255,255,255,.35)}
.footer-nl-icon{color:rgba(255,255,255,.4);flex-shrink:0}
.footer-nl-btn{background:var(--primary);border:none;color:#fff;font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;padding:12px 24px;border-radius:var(--radius-pill);cursor:pointer;display:flex;align-items:center;gap:7px;transition:background .2s;white-space:nowrap}
.footer-nl-btn:hover{background:var(--primary-d)}
.footer-nl-msg{font-size:13px;color:#4ade80}

@media(max-width:768px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .footer-nl-inner{flex-direction:column;align-items:flex-start}
  .footer-nl-form{flex-direction:column;width:100%;max-width:none}
  .footer-nl-btn{width:100%;justify-content:center}
}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* WA FAB */
.wa-fab{position:fixed;bottom:28px;right:24px;z-index:900}
.wa-fab-btn{width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(37,211,102,.4);position:relative;transition:transform .2s}
.wa-fab-btn:hover{transform:scale(1.1)}
.wa-fab-badge{position:absolute;top:-2px;right:-2px;width:18px;height:18px;background:#ef4444;border-radius:50%;font-size:10px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.wa-popup{display:none;position:absolute;bottom:64px;right:0;width:300px;background:#fff;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.15);overflow:hidden}
.wa-popup.show{display:block}
.wa-popup-header{background:#075E54;padding:16px;display:flex;align-items:center;gap:12px}
.wa-popup-avatar{width:40px;height:40px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.wa-popup-name{font-size:14px;font-weight:700;color:#fff}
.wa-popup-status{font-size:11px;color:rgba(255,255,255,.7)}
.wa-popup-close{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:20px}
.wa-popup-bubble{padding:16px}
.wa-popup-msg{background:#f0f0f0;padding:12px 14px;border-radius:10px;font-size:13px;color:#333;margin-bottom:14px}

/* CAT FILTER */
.cat-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.cat-btn{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius-pill);padding:8px 20px;font-size:13px;font-weight:500;font-family:'Poppins',sans-serif;color:var(--txt2);cursor:pointer;transition:all .2s}
.cat-btn:hover,.cat-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}

/* STAT CARDS GRID — always 2 columns on mobile */
.stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px }
@media(min-width:768px){ .stat-grid { grid-template-columns:repeat(4,1fr) } }
.hero-search-wrap{max-width:540px;margin:0 auto 32px;background:var(--bg2);border:1.5px solid var(--bdr);border-radius:var(--radius-pill);display:flex;align-items:center;padding:7px 7px 7px 18px;gap:10px;box-shadow:var(--shadow-sm)}
.hero-search-wrap input{flex:1;border:none;outline:none;font-family:'Poppins',sans-serif;font-size:14px;color:var(--txt);background:transparent;min-width:0}
.hero-search-wrap input::placeholder{color:var(--txt3)}
.hero-search-btn{background:var(--primary);border:none;border-radius:var(--radius-pill);padding:11px 22px;font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;color:#fff;cursor:pointer;transition:background .2s;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:7px}
.hero-search-btn:hover{background:var(--primary-d)}
@media(max-width:480px){.hero-search-wrap{padding:6px 6px 6px 16px}.hero-search-btn{padding:10px 16px;font-size:13px}}

/* UTILITIES */
.text-primary{color:var(--primary)!important}
.text-muted{color:var(--txt2)!important}
.bg-primary{background:var(--primary)!important}
.d-flex{display:flex}.d-none{display:none}
.align-items-center{align-items:center}
.justify-content-center{justify-content:center}
.justify-content-between{justify-content:space-between}
.flex-wrap{flex-wrap:wrap}
.gap-2{gap:8px}.gap-3{gap:16px}.gap-4{gap:24px}.gap-5{gap:32px}
.mt-2{margin-top:8px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}
.mb-2{margin-bottom:8px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.mb-5{margin-bottom:40px}
.me-1{margin-right:4px}.me-2{margin-right:8px}.mr-2{margin-right:8px}.ms-auto{margin-left:auto}
.text-center{text-align:center}.text-start{text-align:left}.text-end{text-align:right}
.w-100{width:100%}.position-relative{position:relative}.overflow-hidden{overflow:hidden}

/* GRID */
.row{display:flex;flex-wrap:wrap;margin:0 -12px}
.row>*{padding:0 12px}
.g-4>*{padding:12px}.g-5>*{padding:16px}
.col-12{width:100%}.col-6{width:50%}
.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-3,.col-sm-6,.col-md-3,.col-lg-8,.col-lg-2{width:100%}
@media(min-width:576px){.col-sm-6{width:50%}}
@media(min-width:768px){.col-md-3{width:25%}.col-md-6{width:50%}}
@media(min-width:992px){
  .col-lg-2{width:16.666%}.col-lg-3{width:25%}.col-lg-4{width:33.333%}
  .col-lg-5{width:41.666%}.col-lg-6{width:50%}.col-lg-7{width:58.333%}
  .col-lg-8{width:66.666%}
  .d-lg-flex{display:flex}.d-lg-none{display:none}
  .d-none.d-lg-flex{display:flex}
  .justify-content-lg-end{justify-content:flex-end}
  .text-lg-start{text-align:left}
}

/* PAGINATOR */
.pagination{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.page-item .page-link{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--card);border:1.5px solid var(--bdr);color:var(--txt2);font-size:13px;font-weight:600;text-decoration:none;transition:all .2s}
.page-item.active .page-link,.page-item .page-link:hover{background:var(--primary);border-color:var(--primary);color:#fff}

.no-trans *,.no-trans *::before,.no-trans *::after{transition:none!important;animation-duration:.01ms!important}

/* ── PAGE SHARED STYLES ── */
.page-banner{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);padding:44px 20px;position:relative;overflow:hidden}
.page-banner::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(249,115,22,.2),transparent 70%);border-radius:50%;pointer-events:none}
.page-banner-inner{max-width:1160px;margin:0 auto;position:relative;z-index:1}
.page-banner-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(249,115,22,.15);border:1px solid rgba(249,115,22,.3);border-radius:var(--radius-pill);padding:5px 14px;font-size:12px;font-weight:600;color:var(--primary);margin-bottom:14px}
.page-banner-badge-dot{width:5px;height:5px;background:var(--primary);border-radius:50%}
.page-banner h1{font-size:clamp(24px,3vw,36px);font-weight:900;color:#fff;letter-spacing:-.5px;margin-bottom:8px}
.page-banner p{font-size:14px;color:rgba(255,255,255,.55);max-width:480px;line-height:1.7}
.page-content{background:var(--bg);padding:28px 0 52px}

/* Filter bar */
.filter-bar{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:16px 20px;margin-bottom:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.filter-input-wrap{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;background:var(--bg3);border:1.5px solid var(--bdr2);border-radius:var(--radius-pill);padding:9px 14px}
.filter-input-wrap input{flex:1;border:none;outline:none;font-family:'Poppins',sans-serif;font-size:13px;color:var(--txt);background:transparent}
.filter-input-wrap input::placeholder{color:var(--txt3)}
.filter-select{background:var(--bg3);border:1.5px solid var(--bdr2);border-radius:var(--radius-pill);padding:9px 14px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--txt2);outline:none;cursor:pointer}
.filter-btn{background:var(--primary);border:none;border-radius:var(--radius-pill);padding:10px 22px;font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:7px;white-space:nowrap}
.filter-btn:hover{background:var(--primary-d)}
.result-count{font-size:13px;color:var(--txt2);margin-bottom:16px}
.result-count strong{color:var(--txt);font-weight:700}

/* Poll cards */
.poll-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:20px;transition:all .3s}
.poll-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--primary-bdr)}
.poll-live-badge{display:inline-flex;align-items:center;gap:6px;background:var(--primary-l);border:1px solid var(--primary-bdr);border-radius:var(--radius-pill);padding:4px 10px;font-size:10px;font-weight:700;color:var(--primary);margin-bottom:10px}
.poll-live-dot{width:5px;height:5px;background:var(--primary);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}
.poll-card-title{font-size:15px;font-weight:800;color:var(--txt);margin-bottom:6px;line-height:1.3}
.poll-card-school{font-size:12px;color:var(--txt2);margin-bottom:14px;display:flex;align-items:center;gap:5px}
.poll-cands{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.poll-cand{display:flex;align-items:center;gap:10px}
.poll-cand-av{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#fb923c);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex-shrink:0}
.poll-cand-body{flex:1}
.poll-cand-name{font-size:12px;font-weight:600;color:var(--txt)}
.poll-cand-bar{height:4px;background:var(--bdr);border-radius:4px;margin-top:4px;overflow:hidden}
.poll-cand-fill{height:100%;border-radius:4px;background:var(--primary)}
.poll-cand-pct{font-size:12px;font-weight:700;color:var(--primary);flex-shrink:0}
.poll-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--bdr)}
.poll-votes-lbl{font-size:12px;color:var(--txt2);display:flex;align-items:center;gap:5px}
.btn-vote{background:var(--primary);border:none;border-radius:var(--radius-pill);padding:8px 18px;font-size:12px;font-weight:700;font-family:'Poppins',sans-serif;color:#fff;cursor:pointer;transition:all .2s}
.btn-vote:hover{background:var(--primary-d);transform:translateY(-1px)}

/* About */
.about-stat-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:28px 20px;text-align:center;transition:all .3s}
.about-stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-bdr);transform:translateY(-3px)}
.about-stat-num{font-size:34px;font-weight:900;color:var(--primary);line-height:1;letter-spacing:-1px}
.about-stat-lbl{font-size:13px;color:var(--txt2);margin-top:6px;font-weight:500}
.team-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:20px;text-align:center;transition:all .3s}
.team-card:hover{box-shadow:var(--shadow);border-color:var(--primary-bdr);transform:translateY(-3px)}
.team-av{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;margin:0 auto 12px}
.team-name{font-size:14px;font-weight:700;color:var(--txt)}
.team-role{font-size:12px;color:var(--txt2);margin-top:3px}

/* FAQ sections */
.faq-section-hd{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.faq-section-ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faq-section-title{font-size:16px;font-weight:800;color:var(--txt)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-info-card{background:var(--card);border:1.5px solid var(--bdr);border-radius:var(--radius);padding:24px}
.contact-item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--bdr)}
.contact-item:last-child{border-bottom:none}
.contact-ico{width:40px;height:40px;border-radius:12px;background:var(--primary-l);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}
.contact-lbl{font-size:11px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.contact-val{font-size:14px;font-weight:600;color:var(--txt)}
.contact-social-link{display:flex;align-items:center;gap:7px;padding:9px 14px;background:var(--bg3);border:1.5px solid var(--bdr2);border-radius:10px;font-size:12px;font-weight:600;color:var(--txt2);text-decoration:none;transition:all .2s}
.contact-social-link:hover{border-color:var(--primary);color:var(--primary)}

@media(max-width:768px){
  .contact-grid{grid-template-columns:1fr}
  .contact-form-row{grid-template-columns:1fr}
  .page-banner{padding:32px 16px}
}

/* ═══════════════════════════════════════════════
   ORGANIZER DASHBOARD LAYOUT v10
   ═══════════════════════════════════════════════ */
/* Payout modal overlay */
#payoutModal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;overflow-y:auto;-webkit-overflow-scrolling:touch}
#payoutSheet{background:var(--card);border-radius:20px;padding:24px 20px 40px;width:calc(100% - 32px);max-width:440px;margin:40px auto}


/* ═══════════════════════════════════════════════════════════════
   ADMIN PANEL — Full Responsive Design
   Dark default · Light theme toggle · Mobile-first sidebar
   ═══════════════════════════════════════════════════════════════ */

/* ── CSS Variables ── */
:root {
  --primary:#F97316; --primary-d:#ea6c0a; --primary-l:rgba(249,115,22,.13); --primary-bdr:rgba(249,115,22,.28);
  --bg:#0b0f1a; --bg2:#111827; --bg3:#1a2234; --bg4:#212d42;
  --bdr:rgba(255,255,255,.07); --bdr2:rgba(255,255,255,.13);
  --txt:#dde4f0; --txt2:#7a8aab; --txt3:#3e4f72;
  --green:#22c55e; --green-bg:rgba(34,197,94,.12);
  --blue:#4f8ef7; --blue-bg:rgba(79,142,247,.12);
  --teal:#14b8a6; --teal-bg:rgba(20,184,166,.12);
  --amber:#f59e0b; --amber-bg:rgba(245,158,11,.12);
  --violet:#9b6ef3; --violet-bg:rgba(155,110,243,.12);
  --red:#ef4444; --red-bg:rgba(239,68,68,.12);
  --sidebar:240px; --topbar:54px; --r:12px; --rsm:8px;
}
[data-theme="light"] {
  --bg:#f0f3fa; --bg2:#ffffff; --bg3:#f7f9fd; --bg4:#edf0f9;
  --bdr:rgba(0,0,0,.07); --bdr2:rgba(0,0,0,.12);
  --txt:#111827; --txt2:#6b7280; --txt3:#9ca3af;
  --green-bg:rgba(34,197,94,.1); --blue-bg:rgba(79,142,247,.1);
  --teal-bg:rgba(20,184,166,.1); --amber-bg:rgba(245,158,11,.1);
  --violet-bg:rgba(155,110,243,.1); --red-bg:rgba(239,68,68,.1);
  --primary-l:rgba(249,115,22,.1);
}

/* ── Global reset for admin ── */
body.admin-body { padding-top:0!important; background:var(--bg)!important; overflow-x:hidden; }

/* ══════════════════════════════════════════════
   LAYOUT
   ══════════════════════════════════════════════ */
.admin-layout { display:flex; min-height:100vh; }

/* ══════════════════════════════════════════════
   SIDEBAR
   ══════════════════════════════════════════════ */
.admin-sidebar {
  width:var(--sidebar); background:var(--bg2);
  border-right:1px solid var(--bdr);
  position:fixed; top:0; left:0; bottom:0;
  z-index:300; display:flex; flex-direction:column;
  overflow:hidden; transition:transform .28s cubic-bezier(.4,0,.2,1), box-shadow .28s;
}
.admin-sidebar nav { flex:1; overflow-y:auto; overflow-x:hidden; scrollbar-width:none; padding:4px 0; }
.admin-sidebar nav::-webkit-scrollbar { display:none; }

/* Logo area */
.admin-logo-wrap {
  display:flex; align-items:center; gap:9px;
  padding:15px 17px 13px; border-bottom:1px solid var(--bdr);
  flex-shrink:0; position:relative; background:var(--bg2);
}
.admin-logo { font-size:18px; font-weight:900; letter-spacing:-.4px; color:var(--txt); }
.admin-logo span { color:var(--primary); }
.admin-badge {
  background:var(--primary-l); color:var(--primary);
  font-size:9px; font-weight:700; padding:2px 7px;
  border-radius:20px; letter-spacing:.8px; text-transform:uppercase;
  border:1px solid var(--primary-bdr); margin-left:auto; flex-shrink:0;
}

/* Nav sections */
.admin-nav-section {
  padding:15px 16px 4px;
  font-size:9px; font-weight:700; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--txt3);
}
.admin-nav-link {
  display:flex; align-items:center; gap:9px;
  padding:8px 16px; color:var(--txt2);
  text-decoration:none; font-size:12.5px; font-weight:500;
  border-left:2px solid transparent; cursor:pointer;
  transition:background .13s, color .13s, border-color .13s;
  white-space:nowrap; overflow:hidden; margin:1px 0;
}
.admin-nav-link:hover { color:var(--txt); background:var(--bg3); }
.admin-nav-link.active {
  color:var(--primary);
  background:linear-gradient(90deg, var(--primary-l), transparent);
  border-left-color:var(--primary); font-weight:600;
}
.admin-nav-link svg { opacity:.55; flex-shrink:0; transition:opacity .13s; width:14px; height:14px; }
.admin-nav-link:hover svg, .admin-nav-link.active svg { opacity:1; }
.admin-nav-badge {
  background:var(--red); color:#fff; font-size:9px; font-weight:700;
  padding:1px 6px; border-radius:20px; margin-left:auto;
  min-width:18px; text-align:center; flex-shrink:0; line-height:1.6;
}

/* User strip at bottom of sidebar */
.admin-sf {
  display:flex; align-items:center; gap:10px;
  padding:13px 16px; border-top:1px solid var(--bdr);
  cursor:pointer; transition:background .13s; flex-shrink:0;
  background:var(--bg2); position:relative;
}
.admin-sf:hover { background:var(--bg3); }
.admin-av {
  width:32px; height:32px; border-radius:50%;
  background:var(--primary-l); color:var(--primary);
  font-size:11px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--primary-bdr); flex-shrink:0;
}
.admin-user-name { font-size:12.5px; font-weight:600; color:var(--txt); }
.admin-user-role { font-size:11px; color:var(--txt3); }

/* Profile popup */
.admin-profile-menu {
  display:none; position:absolute; bottom:60px; left:12px;
  width:200px; background:var(--bg2); border:1px solid var(--bdr2);
  border-radius:var(--r); box-shadow:0 8px 32px rgba(0,0,0,.3);
  overflow:hidden; z-index:500;
}
.admin-profile-menu.open { display:block; }
.admin-profile-menu-header { padding:12px 14px; border-bottom:1px solid var(--bdr); }
.admin-profile-menu a {
  display:flex; align-items:center; gap:8px;
  padding:10px 14px; font-size:13px;
  color:var(--txt2); text-decoration:none; transition:background .12s, color .12s;
}
.admin-profile-menu a:hover { background:var(--bg3); color:var(--txt); }
.admin-profile-menu-divider { height:1px; background:var(--bdr); margin:4px 0; }

/* ══════════════════════════════════════════════
   MOBILE OVERLAY
   ══════════════════════════════════════════════ */
.admin-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.6); z-index:290;
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
}
.admin-overlay.active { display:block; }

/* ══════════════════════════════════════════════
   CONTENT AREA
   ══════════════════════════════════════════════ */
.admin-content {
  margin-left:var(--sidebar); flex:1;
  display:flex; flex-direction:column; min-height:100vh;
  transition:margin-left .28s;
}

/* ══════════════════════════════════════════════
   TOPBAR
   ══════════════════════════════════════════════ */
.admin-topbar {
  height:var(--topbar); background:var(--bg2);
  border-bottom:1px solid var(--bdr);
  display:flex; align-items:center; padding:0 20px; gap:10px;
  position:sticky; top:0; z-index:200; flex-shrink:0;
}
.admin-topbar-left { display:flex; align-items:center; gap:10px; flex:1; min-width:0; }
.admin-topbar-title { font-size:14.5px; font-weight:700; color:var(--txt); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-topbar-right { display:flex; align-items:center; gap:8px; margin-left:auto; flex-shrink:0; }

/* Hamburger button */
.admin-hamburger {
  display:none; flex-direction:column; gap:4px; justify-content:center;
  width:36px; height:36px; background:var(--bg3); border:1px solid var(--bdr2);
  border-radius:var(--rsm); cursor:pointer; flex-shrink:0;
  padding:9px 8px; align-items:center;
}
.admin-hamburger span {
  display:block; width:18px; height:2px; background:var(--txt2);
  border-radius:2px; transition:all .2s;
}

/* Theme toggle button */
.theme-btn {
  width:34px; height:34px; border-radius:var(--rsm);
  background:var(--bg3); border:1px solid var(--bdr2);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--txt2); transition:all .15s;
}
.theme-btn:hover { color:var(--primary); border-color:var(--primary-bdr); }

/* ══════════════════════════════════════════════
   MAIN CONTENT PAD
   ══════════════════════════════════════════════ */
.admin-main { padding:20px; flex:1; }

/* ══════════════════════════════════════════════
   PAGE HEADER
   ══════════════════════════════════════════════ */
.admin-page-header {
  display:flex; align-items:flex-start; justify-content:space-between;
  margin-bottom:22px; gap:12px; flex-wrap:wrap;
}
.admin-page-title { font-size:20px; font-weight:800; color:var(--txt); letter-spacing:-.3px; }
.admin-page-sub   { font-size:12px; color:var(--txt3); margin-top:2px; }
.admin-page-actions { display:flex; gap:8px; flex-shrink:0; flex-wrap:wrap; }

/* ══════════════════════════════════════════════
   WIDGET GRID
   ══════════════════════════════════════════════ */
.widget-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(145px, 1fr));
  gap:12px; margin-bottom:20px;
}
.widget {
  background:var(--bg2); border:1px solid var(--bdr);
  border-radius:var(--r); padding:16px;
  position:relative; overflow:hidden;
  transition:border-color .18s, transform .15s; cursor:pointer;
}
.widget:hover { border-color:var(--bdr2); transform:translateY(-2px); }
.widget-bar { position:absolute; top:0; left:0; right:0; height:2px; }
.widget-label { font-size:10px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; color:var(--txt3); margin-bottom:5px; margin-top:4px; }
.widget-value { font-size:22px; font-weight:800; color:var(--txt); line-height:1.1; }
.widget-sub   { font-size:11px; color:var(--txt3); margin-top:5px; }

/* ══════════════════════════════════════════════
   CARDS
   ══════════════════════════════════════════════ */
.card {
  background:var(--bg2); border:1px solid var(--bdr);
  border-radius:var(--r); overflow:hidden; margin-bottom:16px;
}
/* Override public site card hover */
.card:hover { transform:none!important; box-shadow:none!important; border-color:var(--bdr)!important; }
.card-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:13px 18px; border-bottom:1px solid var(--bdr);
}
.card-header h3 { font-size:13.5px; font-weight:700; color:var(--txt); }
.card-body { padding:18px; }

/* Grid helpers */
.g2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; }
.g3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-bottom:16px; }

/* ══════════════════════════════════════════════
   TABLES
   ══════════════════════════════════════════════ */
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.t-table { width:100%; border-collapse:collapse; }
.t-table th {
  text-align:left; font-size:10px; font-weight:700;
  letter-spacing:.8px; text-transform:uppercase; color:var(--txt3);
  padding:10px 14px; border-bottom:1px solid var(--bdr);
  background:var(--bg3); white-space:nowrap;
}
.t-table td {
  padding:10px 14px; border-bottom:1px solid var(--bdr);
  font-size:13px; vertical-align:middle; color:var(--txt);
}
.t-table tr:last-child td { border-bottom:none; }
.t-table tbody tr:hover td { background:rgba(255,255,255,.017); }
[data-theme="light"] .t-table tbody tr:hover td { background:rgba(0,0,0,.022); }
[data-theme="light"] .t-table th { background:var(--bg3); color:var(--txt3); }

/* ══════════════════════════════════════════════
   BADGES (admin variants)
   ══════════════════════════════════════════════ */
.badge { display:inline-flex; align-items:center; padding:3px 9px; border-radius:20px; font-size:11px; font-weight:600; white-space:nowrap; letter-spacing:.1px; }
.badge-active    { background:var(--green-bg);  color:var(--green);  }
.badge-pending   { background:var(--amber-bg);  color:var(--amber);  }
.badge-suspended { background:var(--red-bg);    color:var(--red);    }
.badge-paid      { background:var(--green-bg);  color:var(--green);  }
.badge-refunded  { background:var(--blue-bg);   color:var(--blue);   }
.badge-verified  { background:var(--teal-bg);   color:var(--teal);   }
.badge-flagged   { background:var(--red-bg);    color:var(--red);    }
.badge-open      { background:var(--blue-bg);   color:var(--blue);   }
.badge-resolved  { background:var(--green-bg);  color:var(--green);  }
.badge-closed    { background:var(--bg3);       color:var(--txt3);   }

/* ══════════════════════════════════════════════
   BUTTONS — admin ghost/action variants
   ══════════════════════════════════════════════ */
/* Override public site btn border-radius for admin */
.admin-main .btn { border-radius:var(--rsm); }
.btn-ghost {
  background:var(--bg3); color:var(--txt2);
  border:1px solid var(--bdr2); border-radius:var(--rsm);
  padding:7px 14px; font-size:12.5px; font-weight:600;
  cursor:pointer; font-family:'Poppins',sans-serif;
  display:inline-flex; align-items:center; gap:6px;
  text-decoration:none; transition:all .14s; white-space:nowrap;
}
.btn-ghost:hover { color:var(--txt); background:var(--bg4); border-color:var(--bdr2); transform:none; }
.btn-sm  { padding:5px 11px!important; font-size:11.5px!important; }
.btn-primary { background:var(--primary); color:#fff; border-radius:var(--rsm); }
.btn-primary:hover { background:var(--primary-d); color:#fff; transform:none; box-shadow:none; }
.btn-success { background:var(--green-bg); color:var(--green); border:1px solid rgba(34,197,94,.25); border-radius:var(--rsm); }
.btn-success:hover { background:var(--green); color:#fff; transform:none; }
.btn-danger  { background:var(--red-bg);   color:var(--red);   border:1px solid rgba(239,68,68,.25); border-radius:var(--rsm); }
.btn-danger:hover  { background:var(--red);   color:#fff; transform:none; }
.btn-warning { background:var(--amber-bg); color:var(--amber); border:1px solid rgba(245,158,11,.25); border-radius:var(--rsm); }
.btn-warning:hover { background:var(--amber); color:#000; transform:none; }
.btn-teal    { background:var(--teal-bg);  color:var(--teal);  border:1px solid rgba(20,184,166,.25); border-radius:var(--rsm); }
.btn-teal:hover    { background:var(--teal);  color:#fff; transform:none; }
.btn-info    { background:var(--blue-bg);  color:var(--blue);  border:1px solid rgba(79,142,247,.25); border-radius:var(--rsm); }
.btn-info:hover    { background:var(--blue);  color:#fff; transform:none; }

/* ══════════════════════════════════════════════
   FORMS — admin style
   ══════════════════════════════════════════════ */
.form-group { margin-bottom:15px; }
.form-label { display:block; font-size:11.5px; font-weight:700; color:var(--txt2); margin-bottom:5px; letter-spacing:.3px; text-transform:uppercase; }
.form-control {
  width:100%; background:var(--bg3); border:1px solid var(--bdr2);
  border-radius:var(--rsm); padding:9px 12px; color:var(--txt);
  font-size:13px; font-family:'Poppins',sans-serif; outline:none; transition:border-color .15s;
}
.form-control:focus { border-color:var(--primary); background:var(--bg2); }
.form-control::placeholder { color:var(--txt3); }
textarea.form-control { resize:vertical; min-height:80px; }
.form-row  { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.form-row3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-bottom:14px; }

/* ══════════════════════════════════════════════
   TABS
   ══════════════════════════════════════════════ */
.tabs, .adm-tabs {
  display:flex; border-bottom:1px solid var(--bdr);
  margin-bottom:18px; overflow-x:auto; scrollbar-width:none;
}
.tabs::-webkit-scrollbar, .adm-tabs::-webkit-scrollbar { display:none; }
.tab, .adm-tab {
  padding:9px 16px; font-size:12.5px; font-weight:600;
  color:var(--txt3); cursor:pointer; border-bottom:2px solid transparent;
  transition:all .14s; white-space:nowrap; flex-shrink:0;
}
.tab:hover, .adm-tab:hover { color:var(--txt); }
.tab.active, .adm-tab.active { color:var(--primary); border-bottom-color:var(--primary); }

/* Settings sub-tabs */
.settings-tabs, .stabs { display:flex; gap:5px; flex-wrap:wrap; margin-bottom:20px; }
.stab {
  padding:7px 14px; font-size:12px; font-weight:600;
  color:var(--txt2); border-radius:var(--rsm);
  cursor:pointer; border:1px solid var(--bdr);
  text-decoration:none; display:inline-block;
  transition:all .14s; white-space:nowrap;
}
.stab:hover { color:var(--txt); border-color:var(--bdr2); background:var(--bg3); }
.stab.active { color:var(--amber); background:var(--amber-bg); border-color:rgba(245,158,11,.3); }
.settings-section { display:none; }
.settings-section.active { display:block; }

/* ══════════════════════════════════════════════
   MISC UI COMPONENTS
   ══════════════════════════════════════════════ */
/* Search bar */
.admin-search-bar, .search-bar { display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; align-items:center; }
.admin-search-input, .search-input {
  flex:1; min-width:160px; max-width:280px;
  background:var(--bg3); border:1px solid var(--bdr2);
  border-radius:var(--rsm); padding:8px 12px;
  color:var(--txt); font-size:13px; outline:none; font-family:'Poppins',sans-serif;
}
.admin-search-input:focus, .search-input:focus { border-color:var(--primary); }

/* User cell */
.user-cell { display:flex; align-items:center; gap:9px; }
.mini-av   { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; flex-shrink:0; }

/* Tag */
.tag { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:500; background:var(--bg3); color:var(--txt2); border:1px solid var(--bdr); }

/* Finance cards */
.fin-card { background:var(--bg2); border:1px solid var(--bdr); border-radius:var(--r); padding:20px; border-left-width:3px; margin-bottom:14px; }
.fin-amount { font-size:24px; font-weight:800; margin:8px 0 4px; color:var(--txt); }
.fin-label  { font-size:10px; color:var(--txt3); font-weight:700; text-transform:uppercase; letter-spacing:.6px; }

/* Notification bars */
.notif { border-radius:var(--rsm); padding:10px 14px; display:flex; align-items:center; gap:10px; font-size:13px; margin-bottom:16px; }
.notif-green { background:var(--green-bg); border:1px solid rgba(34,197,94,.22); color:var(--green); }
.notif-amber { background:var(--amber-bg); border:1px solid rgba(245,158,11,.22); color:var(--amber); }
.notif-red   { background:var(--red-bg);   border:1px solid rgba(239,68,68,.22);  color:var(--red);   }

/* Toggle switch */
.toggle { position:relative; display:inline-block; width:38px; height:21px; }
.toggle input { opacity:0; width:0; height:0; }
.slider { position:absolute; inset:0; background:var(--bg4); border-radius:20px; cursor:pointer; transition:.3s; border:1px solid var(--bdr2); }
.slider::before { content:''; position:absolute; height:15px; width:15px; left:2px; bottom:2px; background:var(--txt3); border-radius:50%; transition:.3s; }
.toggle input:checked + .slider { background:var(--primary); border-color:var(--primary); }
.toggle input:checked + .slider::before { transform:translateX(17px); background:#fff; }

/* Progress bar */
.prog-wrap { background:var(--bg3); border-radius:20px; height:6px; overflow:hidden; margin-top:6px; }
.prog { height:100%; border-radius:20px; }

/* Chart bars */
.chart-area { height:140px; background:linear-gradient(180deg,var(--primary-l) 0%,transparent 100%); border-radius:var(--rsm); display:flex; align-items:flex-end; gap:3px; padding:0 8px 8px; overflow:hidden; }
.chart-bar { flex:1; border-radius:3px 3px 0 0; opacity:.75; min-width:6px; transition:opacity .2s; }
.chart-bar:hover { opacity:1; }

/* Checkin feed */
.checkin-feed { display:flex; flex-direction:column; gap:8px; max-height:340px; overflow-y:auto; }
.checkin-item { display:flex; align-items:center; gap:12px; padding:10px 14px; background:var(--bg3); border-radius:var(--rsm); border:1px solid var(--bdr); animation:slideIn .3s ease; }
@keyframes slideIn { from{opacity:0;transform:translateX(-8px)} to{opacity:1;transform:none} }

/* Modal */
.modal-bg { display:none; position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:9999; overflow-y:auto; backdrop-filter:blur(4px); }
.modal-bg.open { display:flex; align-items:flex-start; justify-content:center; padding:40px 16px; }
.modal-box { background:var(--bg2); border:1px solid var(--bdr2); border-radius:16px; padding:24px; width:100%; max-width:520px; box-shadow:0 16px 48px rgba(0,0,0,.35); }
.wh-modal-bg { display:none; position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:9999; overflow-y:auto; }
.wh-modal-bg.open { display:flex; align-items:flex-start; justify-content:center; padding:40px 16px; }
.wh-modal-box { background:var(--bg2); border:1px solid var(--bdr2); border-radius:16px; padding:24px; width:100%; max-width:700px; }

/* Inbox */
.inbox-list   { display:flex; flex-direction:column; }
.inbox-item   { display:flex; align-items:center; gap:12px; padding:13px 18px; border-bottom:1px solid var(--bdr); cursor:pointer; transition:background .13s; }
.inbox-item:hover { background:var(--bg3); }
.inbox-item.unread { background:rgba(249,115,22,.06); }
.inbox-item.unread:hover { background:rgba(249,115,22,.12); }
.inbox-dot    { width:8px; height:8px; border-radius:50%; background:var(--primary); flex-shrink:0; }
.inbox-avatar { width:36px; height:36px; border-radius:50%; background:var(--bg4); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:var(--txt); flex-shrink:0; }
.inbox-content { flex:1; min-width:0; }
.inbox-name    { font-size:13px; font-weight:600; color:var(--txt); }
.inbox-subject { font-size:12px; color:var(--txt2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.inbox-time    { font-size:11px; color:var(--txt3); flex-shrink:0; }

/* Misc */
.mono { font-family:monospace; font-size:12px; color:var(--txt2); }
.ok   { color:var(--green); font-weight:700; }
.err  { color:var(--red);   font-weight:700; }
.nl-tpl-icon { width:40px; height:40px; border-radius:10px; background:var(--primary-l); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.risk-high { color:var(--red);   font-weight:700; }
.risk-med  { color:var(--amber); font-weight:700; }
.risk-low  { color:var(--green); }
.fraud-row td { background:var(--red-bg)!important; }
.live-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 6px var(--green); animation:pulse-dot 2s infinite; display:inline-block; }
@keyframes pulse-dot { 0%,100%{opacity:1;} 50%{opacity:.35;} }

/* Alert (dark-mode overrides for admin) */
[data-theme="dark"] .alert-success { background:rgba(34,197,94,.1);  color:#4ade80; border-color:rgba(34,197,94,.25); }
[data-theme="dark"] .alert-danger  { background:rgba(239,68,68,.1);  color:#f87171; border-color:rgba(239,68,68,.25); }
[data-theme="dark"] .alert-warning { background:rgba(245,158,11,.1); color:#fbbf24; border-color:rgba(245,158,11,.25); }
[data-theme="dark"] .alert-info    { background:rgba(79,142,247,.1); color:#93c5fd; border-color:rgba(79,142,247,.25); }

/* ══════════════════════════════════════════════
   RESPONSIVE — MOBILE & TABLET
   ══════════════════════════════════════════════ */
@media (max-width:900px) {
  /* Sidebar goes off-canvas */
  .admin-sidebar {
    transform:translateX(-100%);
    box-shadow:none;
  }
  .admin-sidebar.open {
    transform:translateX(0);
    box-shadow:6px 0 40px rgba(0,0,0,.4);
  }
  /* Main fills full width */
  .admin-content { margin-left:0!important; }
  /* Show hamburger */
  .admin-hamburger { display:flex!important; }
  /* Show close X in sidebar */
  #sidebarClose { display:block!important; }
  /* Stack grids */
  .g2, .g3 { grid-template-columns:1fr!important; }
  .form-row, .form-row3 { grid-template-columns:1fr!important; }
  /* Tighter padding */
  .admin-main { padding:14px; }
  /* Widgets wrap tighter */
  .widget-grid { grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; }
}

@media (min-width:901px) {
  /* Desktop: sidebar always visible, overlay hidden */
  .admin-overlay { display:none!important; }
  #sidebarClose  { display:none!important; }
}

@media (max-width:580px) {
  .widget-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .widget-value { font-size:19px; }
  .admin-main   { padding:10px; }
  .card-header  { padding:11px 14px; }
  .card-body    { padding:13px; }
  .t-table th, .t-table td { padding:8px 10px; font-size:12px; }
  .fin-amount   { font-size:20px; }
  .admin-page-title { font-size:17px; }
  .admin-topbar { padding:0 12px; }
  .admin-page-header { flex-direction:column; }
  .admin-page-actions { width:100%; }
  .admin-search-bar, .search-bar { flex-direction:column; align-items:stretch; }
  .admin-search-input, .search-input { max-width:100%; }
  .tabs, .adm-tabs { gap:0; }
  .tab, .adm-tab { padding:8px 12px; font-size:12px; }
}

@media (max-width:400px) {
  .widget-grid { grid-template-columns:1fr; }
}
