@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+Devanagari:wght@400;500;600;700;800&display=swap";:root{--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Noto Sans Devanagari", sans-serif;--primary-blue:#1e40af;--primary-blue-gradient:linear-gradient(135deg, #1e3a8a 0%, #2563eb 60%, #3b82f6 100%);--accent-gold:#f59e0b;--accent-gold-gradient:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--ios-blue:#007aff;--ios-blue-bg:#ebf5ff;--ios-green:#10b981;--ios-green-bg:#ecfdf5;--ios-rose:#f43f5e;--ios-rose-bg:#fff1f2;--ios-purple:#8b5cf6;--ios-purple-bg:#f5f3ff;--ios-amber:#f59e0b;--ios-amber-bg:#fffbeb;--ios-cyan:#06b6d4;--bg-app:#f8fafc;--bg-card:#fff;--bg-input:#f1f5f9;--border-subtle:#e2e8f0;--border-card:#0000000f;--text-main:#0f172a;--text-muted:#64748b;--text-sub:#94a3b8;--shadow-sm:0 1px 3px #0000000d;--shadow-card:0 4px 16px #0000000f, 0 1px 2px #0000000a;--shadow-float:0 12px 32px #0000001f;--shadow-modal:0 24px 64px #00000040;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-phone:44px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{font-family:var(--font-family);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f172a;height:100%;width:100%;margin:0;padding:0;overflow:hidden;position:fixed;inset:0;line-height:1.4}#root{height:100%;width:100%;margin:0;padding:0;overflow:hidden;display:flex;justify-content:center;align-items:stretch}.app-root-layout{background:#0b1120;justify-content:center;align-items:stretch;width:100%;height:100%;max-height:100%;margin:0;padding:0;display:flex;overflow:hidden}.app-main-container{background:var(--bg-app);flex-direction:column;width:100%;max-width:480px;height:100%;max-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 0 50px #0006}@media (width<=640px){.app-root-layout{background:var(--bg-app)}.app-main-container{max-width:100%;box-shadow:none}}.app-screen{background:var(--bg-app);scroll-behavior:smooth;flex-direction:column;flex:1 1 0%;min-height:0;padding-bottom:20px;display:flex;position:relative;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.mobile-header{color:#fff;z-index:40;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 100%);padding:max(10px,env(safe-area-inset-top,0px)) 14px 12px;position:relative;flex-shrink:0;box-shadow:0 4px 16px #1e3a8a47}.header-top-row{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.header-brand{cursor:pointer;flex:auto;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.brand-icon-box{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#fff3;border:1px solid #ffffff59;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.brand-text-container{min-width:0}.brand-title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;font-size:15px;font-weight:800;line-height:1.15;overflow:hidden}.brand-subtitle{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10.5px;font-weight:500;overflow:hidden}.header-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.header-action-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#ffffff29;border:1px solid #ffffff40;border-radius:16px;align-items:center;gap:4px;padding:5px 9px;font-size:11px;font-weight:700;transition:all .15s;display:flex}.header-action-chip:active{background:#ffffff47;transform:scale(.95)}.header-action-chip.ward{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;font-weight:800}.header-action-chip.printer.connected{color:#d1fae5;background:#10b98140;border-color:#10b981}.header-action-chip.admin{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;font-weight:800}.header-action-chip.icon-only{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;padding:0;display:flex}.header-action-chip.logout{color:#f8fafc;background:#ffffff2e;border:1px solid #ffffff4d}.header-action-chip.logout:hover{color:#fff;background:#ef4444cc;border-color:#ef4444}.header-action-chip.login{color:#fff;background:#f59e0b;border-color:#d97706}.compact-breadcrumbs-bar{z-index:35;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding:6px 14px;font-size:11.5px;display:flex;position:relative;flex-shrink:0;box-shadow:0 1px 3px #00000008}.breadcrumbs-trail{scrollbar-width:none;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.breadcrumbs-trail::-webkit-scrollbar{display:none}.breadcrumb-item{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:3px;padding:2px 4px;font-size:11.5px;font-weight:600;transition:color .15s;display:flex}.breadcrumb-item:hover{color:#1e40af}.breadcrumb-item.active{color:#0f172a;cursor:default;font-weight:700}.breadcrumb-separator{color:#94a3b8;flex-shrink:0}.breadcrumbs-badges{flex-shrink:0;align-items:center;gap:5px;display:flex}.breadcrumb-ward-pill{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:800}.breadcrumb-offline-pill{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.online-dot{background:#10b981;border-radius:50%;width:5px;height:5px}.breadcrumb-secure-pill{color:#0284c7;background:#f8fafc;border:1px solid #e0f2fe;border-radius:6px;align-items:center;padding:3px 5px;display:flex}.dashboard-content{flex-direction:column;gap:14px;padding:14px;display:flex}.campaign-hero-card{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#3b82f6 100%);padding:18px;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #2563eb66}.campaign-tag{text-transform:uppercase;background:#fff3;border-radius:12px;align-items:center;gap:5px;margin-bottom:8px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.campaign-name{letter-spacing:-.02em;margin-bottom:4px;font-size:20px;font-weight:800}.campaign-desc{color:#ffffffd9;margin-bottom:14px;font-size:12px;line-height:1.4}.hero-actions-row{gap:8px;display:flex}.hero-action-btn{color:var(--primary-blue);border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:700;transition:transform .15s;display:flex;box-shadow:0 2px 8px #0000001a}.hero-action-btn:active{transform:scale(.96)}.hero-action-btn.secondary{color:#fff;background:#fff3;border:1px solid #ffffff4d}.stat-summary-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-card);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.stat-icon-wrapper{shrink:0;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-icon-wrapper.blue{background:var(--ios-blue-bg);color:var(--ios-blue)}.stat-icon-wrapper.rose{background:var(--ios-rose-bg);color:var(--ios-rose)}.stat-icon-wrapper.purple{background:var(--ios-purple-bg);color:var(--ios-purple)}.stat-icon-wrapper.green{background:var(--ios-green-bg);color:var(--ios-green)}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--text-muted);font-size:11px;font-weight:600}.stat-value{color:var(--text-main);letter-spacing:-.02em;font-size:16px;font-weight:800}.modules-section-title{color:var(--text-main);justify-content:space-between;align-items:center;margin-top:4px;font-size:14px;font-weight:800;display:flex}.modules-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.module-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-card);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;min-height:98px;padding:12px 14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative}.module-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.module-card:active{transform:scale(.97);box-shadow:0 1px 3px #00000008}.module-card-top-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.module-card-arrow{color:#94a3b8;align-items:center;transition:transform .15s,color .15s;display:flex}.module-card:hover .module-card-arrow{color:#2563eb;transform:translate(2px)}.module-icon-box{color:#fff;border-radius:11px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 3px 8px #0000001f}.module-icon-box.search{background:linear-gradient(135deg,#2563eb,#3b82f6)}.module-icon-box.print{background:linear-gradient(135deg,#ea580c,#f97316)}.module-icon-box.bluetooth{background:linear-gradient(135deg,#0284c7,#06b6d4)}.module-icon-box.advance{background:linear-gradient(135deg,#7c3aed,#9333ea)}.module-icon-box.stats{background:linear-gradient(135deg,#059669,#10b981)}.module-icon-box.sync{background:linear-gradient(135deg,#d97706,#f59e0b)}.module-title-hi{color:var(--text-main);font-size:13.5px;font-weight:800;line-height:1.2}.module-title-en{color:var(--text-muted);margin-top:2px;font-size:10.5px;font-weight:600;line-height:1.25}.campaign-hero-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.offline-badge-pill{color:#d1fae5;background:#10b98140;border:1px solid #10b98166;border-radius:10px;align-items:center;gap:3px;padding:2px 7px;font-size:9.5px;font-weight:700;display:flex}.whatsapp-campaign-strip{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#059669 0%,#10b981 100%);justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex;box-shadow:0 4px 12px #10b9814d}.wa-btn{color:#059669;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800}.search-view-container{flex-direction:column;gap:12px;padding:12px 14px;display:flex}.search-control-panel{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-card);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;display:flex}.input-field-group{align-items:center;display:flex;position:relative}.mobile-text-input{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-main);outline:none;padding:10px 38px 10px 12px;font-size:13px;font-weight:600;transition:border-color .2s,box-shadow .2s}.mobile-text-input:focus{border-color:var(--ios-blue);background:#fff;box-shadow:0 0 0 3px #007aff26}.input-icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.filter-chips-scroll{scrollbar-width:none;align-items:center;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-chips-scroll::-webkit-scrollbar{display:none}.chip-btn{background:var(--bg-input);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:9999px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .15s}.chip-btn.active{background:var(--ios-blue);color:#fff;border-color:var(--ios-blue);box-shadow:0 2px 6px #007aff4d}.chip-btn.active-rose{background:var(--ios-rose);color:#fff;border-color:var(--ios-rose)}.chip-btn.active-purple{background:var(--ios-purple);color:#fff;border-color:var(--ios-purple)}.chip-btn.active-amber{background:var(--ios-amber);color:#fff;border-color:var(--ios-amber)}.chip-btn.active-green{background:var(--ios-green);color:#fff;border-color:var(--ios-green)}.sub-inputs-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.compact-select,.compact-input{background:var(--bg-input);border:1px solid var(--border-subtle);width:100%;color:var(--text-main);border-radius:8px;outline:none;padding:7px 8px;font-size:11px;font-weight:600}.results-meta-bar{color:var(--text-muted);justify-content:space-between;align-items:center;padding:0 2px;font-size:12px;font-weight:700;display:flex}.voter-card-container{flex-direction:column;gap:10px;display:flex}.voter-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-card);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;transition:transform .15s,box-shadow .15s;display:flex}.voter-card.is-voted{background:#f0fdf4;border-color:#86efac}.voter-card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.badge-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.badge-pill{letter-spacing:-.01em;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:800}.badge-pill.blue{color:#1e40af;background:#dbeafe}.badge-pill.purple{color:#6b21a8;background:#f3e8ff}.badge-pill.gray{color:#475569;background:#f1f5f9}.epic-badge-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-family:monospace;font-size:11px;font-weight:700;display:flex}.voter-profile-body{align-items:flex-start;gap:12px;display:flex}.gender-avatar{shrink:0;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:flex}.gender-avatar.male{color:#1d4ed8;background:#dbeafe}.gender-avatar.female{color:#be185d;background:#fce7f3}.gender-avatar.other{color:#64748b;background:#f1f5f9}.voter-details-col{flex:1;min-width:0}.voter-name-row{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.voter-name-hi{color:var(--text-main);font-size:15px;font-weight:800;line-height:1.2}.voter-age-badge{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:700}.voter-name-en{color:var(--text-muted);font-size:12px;font-weight:500}.voter-relation-text{color:#334155;margin-top:4px;font-size:12px}.voter-station-text{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;margin-top:4px;font-size:11px;display:flex;overflow:hidden}.voter-card-actions{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:6px;padding-top:8px;display:flex}.action-icon-btn{background:var(--bg-input);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex}.action-icon-btn.starred{color:#d97706;background:#fef3c7}.action-icon-btn.voted{color:#15803d;background:#dcfce7}.family-btn-badge{background:var(--ios-purple-bg);color:var(--ios-purple);cursor:pointer;border:1px solid #8b5cf640;border-radius:10px;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:700;display:flex}.print-slip-btn{background:var(--primary-blue-gradient);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;margin-left:auto;padding:8px 14px;font-size:12px;font-weight:700;transition:transform .15s;display:flex;box-shadow:0 2px 6px #2563eb4d}.print-slip-btn:active{transform:scale(.95)}.mobile-bottom-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);z-index:50;box-sizing:border-box;background:#fffffffa;justify-content:space-between;align-items:center;width:100%;height:calc(60px + env(safe-area-inset-bottom,0px));min-height:60px;padding:4px 6px max(6px,env(safe-area-inset-bottom,0px));display:flex;position:relative;flex-shrink:0;box-shadow:0 -4px 16px #00000014}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:48px;padding:6px 2px;font-size:10.5px;font-weight:700;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex}.tab-btn.active{color:var(--ios-blue)}.tab-btn:active{transform:scale(.92)}.cupertino-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999;background:#0009;justify-content:center;align-items:flex-end;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.cupertino-sheet-container{width:100%;max-width:440px;max-height:90vh;box-shadow:var(--shadow-modal);background:#fff;border-radius:28px 28px 0 0;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) sheetSlideUp;display:flex;overflow:hidden}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle-bar{background:#cbd5e1;border-radius:3px;width:38px;height:5px;margin:10px auto 4px}.sheet-header-title{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.sheet-body-scroll{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.sheet-footer-actions{background:#fff;border-top:1px solid #f1f5f9;flex-direction:column;gap:8px;padding:12px 16px 24px;display:flex}.btn-full-primary{background:var(--primary-blue-gradient);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:800;display:flex;box-shadow:0 4px 12px #2563eb59}.btn-full-primary:active{transform:scale(.97)}.thermal-paper-container{background:#f1f5f9;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex}.thermal-paper-roll{background:#fff;border-radius:4px;padding:12px;position:relative;box-shadow:0 8px 24px #00000026}.thermal-paper-roll:after{content:"";background:radial-gradient(circle,#0000,#0000 50%,#f1f5f9 50% 100%) 0 0/12px 12px;height:6px;position:absolute;bottom:-6px;left:0;right:0}@media print{body,.app-root-layout,.app-main-container,.app-screen{background:#fff!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.mobile-bottom-nav,.mobile-header,.search-control-panel{display:none!important}}

/* Enable prominent Direct APK download CTA button */
.btn-direct-apk-cta {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* Desktop Viewport Optimization: Fit homepage perfectly without vertical scroll */
@media (min-width: 641px) and (min-height: 600px) {
  .app-root-layout {
    height: 100vh;
    overflow: hidden;
  }
  .app-main-container {
    height: 100vh;
    min-height: 0;
    max-height: 100vh;
    overflow: hidden;
  }
  .app-screen {
    padding-bottom: 60px !important;
    overflow-y: auto;
  }
  .dashboard-content {
    gap: 8px !important;
    padding: 8px 12px !important;
  }
  .campaign-hero-card {
    padding: 12px 14px !important;
  }
  .campaign-tag {
    margin-bottom: 4px !important;
    padding: 2px 6px !important;
    font-size: 9.5px !important;
  }
  .campaign-name {
    font-size: 17px !important;
    margin-bottom: 2px !important;
  }
  .campaign-desc {
    font-size: 11px !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
  }
  .hero-actions-row {
    gap: 6px !important;
  }
  .hero-action-btn {
    padding: 7px 10px !important;
    font-size: 11px !important;
  }
  .stat-summary-grid {
    gap: 6px !important;
  }
  .stat-card {
    padding: 7px 10px !important;
    gap: 8px !important;
    border-radius: 10px !important;
  }
  .stat-icon-wrapper {
    width: 30px !important;
    height: 30px !important;
    border-radius: 8px !important;
  }
  .stat-label {
    font-size: 10px !important;
  }
  .stat-value {
    font-size: 15px !important;
  }
  .modules-section-title {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    font-size: 11.5px !important;
  }
  .modules-grid {
    gap: 5px !important;
  }
  .module-card.compact-tile {
    padding: 7px 8px !important;
    border-radius: 9px !important;
  }
  .module-card h4 {
    font-size: 11.5px !important;
    margin-bottom: 1px !important;
  }
  .module-card p {
    font-size: 9.5px !important;
  }
  .whatsapp-campaign-strip {
    padding: 7px 10px !important;
    margin-top: 2px !important;
    border-radius: 10px !important;
  }
  .mobile-bottom-nav {
    height: 54px !important;
    padding: 2px 6px !important;
  }
}
