  :root{
    --cream:#FFF8F0;
    --paper:#FFFCF7;
    --grid-line: rgba(228,98,43,0.09);
    --orange:#E4622B;
    --orange-deep:#B8420F;
    --rust:#7A2E10;
    --brown-ink:#3E2415;
    --gold:#D69A1F;
    --green-ok:#3E7D4C;
    --red-no:#C0392B;
    --whatsapp:#25D366;
    --radius:18px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Hind Siliguri', sans-serif;
    background-color: var(--cream);
    color: var(--brown-ink);
    line-height:1.7;
    background-image:
      linear-gradient(var(--grid-line) 1px, transparent 1px),
      linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size: 36px 36px;
    background-position: -1px -1px;
    overflow-x:hidden;
  }
  h1,h2,h3,h4, .display{ font-family:'Baloo Da 2', 'Hind Siliguri', sans-serif; }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .container{ width:100%; max-width:1120px; margin:0 auto; padding:0 20px; }
  ::selection{ background: var(--orange); color:#fff; }
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
    outline: 3px solid var(--orange-deep); outline-offset: 2px;
  }
  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  }

  /* ===== HEADER ===== */
  header{
    position:sticky; top:0; z-index:50;
    background: rgba(255,248,240,0.9);
    backdrop-filter: blur(8px);
    border-bottom: 2px solid rgba(228,98,43,0.25);
  }
  .nav-wrap{ display:flex; align-items:center; justify-content:space-between; padding:14px 20px; position:relative; }
  .brand{ display:flex; align-items:center; gap:10px; }
  .brand-badge{
    width:42px; height:42px; border-radius:50%;
    background: linear-gradient(145deg, var(--orange), var(--orange-deep));
    color:#fff; display:flex; align-items:center; justify-content:center;
    font-family:'Baloo Da 2'; font-weight:700; font-size:1rem; flex-shrink:0;
    box-shadow: 0 4px 10px rgba(184,66,15,0.35);
  }
  .brand-text{ line-height:1.25; }
  .brand-text b{ display:block; font-family:'Baloo Da 2'; font-size:1.02rem; color:var(--rust); }
  .brand-text span{ font-size:0.78rem; color:#8a5a3a; }
  .nav-actions{ display:flex; align-items:center; gap:10px; }
  .btn{
    display:inline-flex; align-items:center; gap:8px; justify-content:center;
    padding:11px 22px; border-radius:999px; font-weight:600; font-size:0.95rem;
    border:2px solid transparent; cursor:pointer; transition: transform .15s ease, box-shadow .15s ease;
    white-space:nowrap;
  }
  .btn:active{ transform: scale(0.97); }
  .btn-primary{ background: linear-gradient(145deg, var(--orange), var(--orange-deep)); color:#fff; box-shadow: 0 6px 16px rgba(184,66,15,0.35); }
  .btn-primary:hover{ box-shadow: 0 8px 20px rgba(184,66,15,0.45); transform: translateY(-1px); }
  .btn-ghost{ background:transparent; border-color: rgba(122,46,16,0.35); color: var(--rust); }
  .btn-ghost:hover{ background: rgba(228,98,43,0.08); }
  .btn-outline-admin{ background:#fff; color:var(--rust); border:2px solid rgba(228,98,43,0.35); font-size:0.85rem; padding:9px 18px; }
  .btn-outline-admin:hover{ background: rgba(228,98,43,0.08); }
  .btn-danger{ background: var(--red-no); color:#fff; }
  .btn-success{ background: var(--green-ok); color:#fff; }
  .btn-sm{ padding:7px 14px; font-size:0.82rem; }
  .btn-whatsapp{ background: var(--whatsapp); color:#fff; box-shadow: 0 6px 16px rgba(37,211,102,0.35); width:100%; }
  .btn-whatsapp:hover{ box-shadow: 0 8px 20px rgba(37,211,102,0.45); transform: translateY(-1px); }
  .btn-whatsapp .wa-icon{ font-size:1.1rem; }
  .nav-links{ display:none; }
  @media(min-width:900px){
    .nav-links{ display:flex; gap:20px; font-size:0.9rem; font-weight:600; color:var(--rust); }
    .nav-links a{ opacity:0.8; } .nav-links a:hover{ opacity:1; }
  }
  .nav-actions .btn-outline-admin, .nav-actions .btn-primary{ display:none; }
  @media(min-width:900px){ .nav-actions .btn-outline-admin, .nav-actions .btn-primary{ display:inline-flex; } }

  .hamburger-btn{
    display:flex; align-items:center; justify-content:center;
    width:42px; height:42px; border-radius:10px;
    background:#fff; border:1.6px solid rgba(228,98,43,0.35); cursor:pointer; flex-shrink:0;
  }
  .hamburger-btn span{ display:block; width:18px; height:2px; background: var(--rust); position:relative; }
  .hamburger-btn span::before, .hamburger-btn span::after{
    content:""; position:absolute; left:0; width:18px; height:2px; background: var(--rust); transition: transform .2s ease;
  }
  .hamburger-btn span::before{ top:-6px; } .hamburger-btn span::after{ top:6px; }
  .hamburger-btn.open span{ background:transparent; }
  .hamburger-btn.open span::before{ top:0; transform: rotate(45deg); }
  .hamburger-btn.open span::after{ top:0; transform: rotate(-45deg); }
  @media(min-width:900px){ .hamburger-btn{ display:none; } }

  .mobile-menu{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:#fff; border-bottom:2px solid rgba(228,98,43,0.25);
    box-shadow: 0 14px 24px -12px rgba(122,46,16,0.3);
    flex-direction:column; padding:10px 20px 18px;
  }
  .mobile-menu.open{ display:flex; }
  .mobile-menu a, .mobile-menu button{
    padding:12px 4px; font-size:0.98rem; font-weight:600; color:var(--rust);
    border-bottom:1px solid rgba(228,98,43,0.12); background:none; border-left:none; border-right:none; border-top:none;
    text-align:left; cursor:pointer; width:100%;
  }
  .mobile-menu a:last-child, .mobile-menu button:last-child{ border-bottom:none; }
  @media(min-width:900px){ .mobile-menu{ display:none !important; } }

  /* ===== HERO ===== */
  .hero{ padding: 60px 0 40px; position:relative; }
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap;
    background:#fff; border:1.5px solid rgba(228,98,43,0.4);
    color: var(--orange-deep); font-weight:600; font-size:0.85rem;
    padding:8px 16px; border-radius:999px; margin-bottom:20px;
  }
  .eyebrow .dot{ width:7px; height:7px; border-radius:50%; background: var(--gold); animation: pulse 1.8s infinite; }
  @keyframes pulse{ 0%,100%{opacity:1;} 50%{opacity:0.3;} }
  .hero h1{ font-size: clamp(2.1rem, 6vw, 3.6rem); color: var(--rust); font-weight:800; line-height:1.18; letter-spacing:-0.5px; }
  .hero h1 .accent{ color: var(--orange); }
  .hero p.lead{ margin-top:18px; font-size: clamp(1rem, 2.2vw, 1.18rem); color:#5c3f2a; max-width:640px; }
  .hero-college{ font-weight:700; color: var(--orange-deep); }
  .hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
  .batch-chain-wrap{ margin-top:46px; }
  .batch-chain-label{ font-size:0.85rem; font-weight:600; color:#8a5a3a; margin-bottom:14px; }
  .batch-chain{ display:flex; align-items:center; overflow-x:auto; gap:0; padding:6px 2px 14px; scrollbar-width:thin; }
  .batch-chain::-webkit-scrollbar{ height:6px; }
  .batch-chain::-webkit-scrollbar-thumb{ background: rgba(228,98,43,0.4); border-radius:4px; }
  .batch-node{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:8px; position:relative; }
  .batch-node .circle{
    width:58px; height:58px; border-radius:50%; background:#fff; border:2.5px solid var(--orange);
    display:flex; align-items:center; justify-content:center; font-family:'Baloo Da 2'; font-weight:700;
    font-size:0.72rem; color:var(--orange-deep); text-align:center; line-height:1.15;
    box-shadow: 0 4px 10px rgba(184,66,15,0.18);
  }
  .batch-node .yr{ font-size:0.68rem; color:#9a6a45; margin-top:2px; }
  .batch-link{ width:34px; height:2px; background: repeating-linear-gradient(90deg, var(--orange) 0 6px, transparent 6px 10px); flex:0 0 auto; }
  .batch-node.first .circle, .batch-node.last .circle{ background: linear-gradient(145deg, var(--orange), var(--orange-deep)); color:#fff; }

  section{ padding: 60px 0; }
  .section-head{ text-align:center; max-width:640px; margin:0 auto 40px; }
  .section-head .tag{ color: var(--orange-deep); font-weight:700; font-size:0.82rem; letter-spacing:1.5px; text-transform:uppercase; }
  .section-head h2{ font-size: clamp(1.6rem, 4vw, 2.3rem); color: var(--rust); margin-top:8px; }
  .section-head p{ margin-top:12px; color:#6b4a33; font-size:0.98rem; }
  .card{ background: var(--paper); border-radius: var(--radius); border:1px solid rgba(228,98,43,0.18); box-shadow: 0 10px 30px -14px rgba(122,46,16,0.25); }

  .details-grid{ display:grid; grid-template-columns:1fr; gap:18px; }
  @media(min-width:720px){ .details-grid{ grid-template-columns: repeat(3,1fr); } }
  .detail-item{ padding:26px 22px; }
  .detail-item .ic{ width:48px; height:48px; border-radius:12px; background: rgba(228,98,43,0.12); display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:14px; }
  .detail-item h3{ font-size:1.08rem; color: var(--rust); margin-bottom:6px; }
  .detail-item p{ font-size:0.92rem; color:#6b4a33; }
  .badge-soon{ display:inline-block; margin-top:8px; font-size:0.72rem; background:#fdeee1; color:var(--orange-deep); padding:3px 10px; border-radius:999px; font-weight:600; }
  .badge-confirmed{ display:inline-block; margin-top:8px; font-size:0.72rem; background:#e6f3e9; color:var(--green-ok); padding:3px 10px; border-radius:999px; font-weight:700; }

  .timeline{ display:flex; flex-direction:column; gap:0; max-width:720px; margin:0 auto; }
  .tl-item{ display:flex; gap:20px; position:relative; padding-bottom:34px; }
  .tl-item:last-child{ padding-bottom:0; }
  .tl-marker{ display:flex; flex-direction:column; align-items:center; flex-shrink:0; }
  .tl-dot{ width:16px; height:16px; border-radius:50%; background: var(--orange); border:3px solid #fff; box-shadow:0 0 0 2px var(--orange); }
  .tl-line{ flex:1; width:2px; background: repeating-linear-gradient(180deg, var(--orange) 0 5px, transparent 5px 9px); margin-top:4px; }
  .tl-time{ font-weight:700; color: var(--orange-deep); font-size:0.85rem; }
  .tl-title{ font-family:'Baloo Da 2'; font-size:1.08rem; color:var(--rust); margin-top:3px; }
  .tl-desc{ font-size:0.9rem; color:#6b4a33; margin-top:3px; }

  .rules-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
  @media(min-width:720px){ .rules-grid{ grid-template-columns: 1fr 1fr; } }
  .rule-item{ display:flex; gap:14px; padding:18px; }
  .rule-num{ font-family:'Baloo Da 2'; font-weight:700; color:#fff; background: var(--orange); width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:0.95rem; }
  .rule-text h4{ font-size:0.98rem; color:var(--rust); margin-bottom:3px; }
  .rule-text p{ font-size:0.87rem; color:#6b4a33; }

  .fee-band{ display:grid; grid-template-columns:1fr; gap:16px; }
  @media(min-width:640px){ .fee-band{ grid-template-columns:1fr 1fr 1fr; } }
  .fee-card{ padding:26px; text-align:center; }
  .fee-card .amount{ font-family:'Baloo Da 2'; font-size:2.2rem; color:var(--orange-deep); font-weight:800; }
  .fee-card h4{ margin-top:6px; color:var(--rust); font-size:0.98rem; }
  .fee-card p{ font-size:0.83rem; color:#6b4a33; margin-top:6px; }

  .form-wrap{ max-width:760px; margin:0 auto; padding: 36px 22px 32px; }
  @media(min-width:640px){ .form-wrap{ padding:44px 44px 38px; } }
  .form-grid{ display:grid; grid-template-columns:1fr; gap:18px; }
  @media(min-width:640px){ .form-grid.two{ grid-template-columns:1fr 1fr; } }
  .field label{ display:block; font-size:0.88rem; font-weight:600; color:var(--rust); margin-bottom:7px; }
  .field .req{ color:var(--orange); }
  .field input, .field select{
    width:100%; padding:12px 14px; border-radius:10px; border:1.6px solid #e6cdb2;
    background:#fff; font-family:inherit; font-size:0.96rem; color:var(--brown-ink);
    transition: border-color .15s ease, box-shadow .15s ease;
  }
  .field input:focus, .field select:focus{ border-color: var(--orange); box-shadow: 0 0 0 4px rgba(228,98,43,0.14); outline:none; }
  .field small{ display:block; margin-top:5px; font-size:0.78rem; color:#9a6a45; }
  .field.invalid input, .field.invalid select{ border-color:#c0392b; }
  .field .err-msg{ display:none; font-size:0.78rem; color:#c0392b; margin-top:5px; }
  .field.invalid .err-msg{ display:block; }
  .divider-label{ display:flex; align-items:center; gap:12px; margin: 8px 0 4px; }
  .divider-label span{ font-size:0.82rem; font-weight:700; color:var(--orange-deep); white-space:nowrap; text-transform:uppercase; letter-spacing:0.5px; }
  .divider-label::before, .divider-label::after{ content:""; flex:1; height:1px; background: rgba(228,98,43,0.25); }
  .payment-box{ background:#fdf0e4; border:1.5px dashed var(--orange); border-radius:12px; padding:16px 18px; font-size:0.88rem; color:#6b4a33; margin: 6px 0 4px; }
  .payment-box b{ color:var(--rust); }
  .yesno-toggle{ display:flex; gap:10px; }
  .yn-btn{ flex:1; padding:12px 10px; border-radius:10px; border:1.6px solid #e6cdb2; background:#fff; color:var(--brown-ink); font-family:inherit; font-weight:600; font-size:0.92rem; cursor:pointer; transition: all .15s ease; }
  .yn-btn.active{ background: linear-gradient(145deg, var(--orange), var(--orange-deep)); color:#fff; border-color:transparent; box-shadow:0 4px 12px rgba(184,66,15,0.3); }
  .guest-name-field{ display:flex; flex-direction:column; }
  .submit-row{ margin-top:6px; display:flex; flex-direction:column; align-items:center; gap:12px; }
  .fee-total{ font-size:0.92rem; color:#6b4a33; text-align:center; }
  .fee-total b{ color:var(--orange-deep); font-size:1.15rem; }
  .success-box{ display:none; text-align:center; padding:34px 20px; }
  .success-box.show{ display:block; }
  .success-box .tick{ width:64px; height:64px; border-radius:50%; background: var(--green-ok); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.8rem; margin:0 auto 16px; }
  .success-box h3{ color: var(--rust); font-size:1.3rem; }
  .success-box p{ color:#6b4a33; margin-top:8px; font-size:0.92rem; max-width:460px; margin-left:auto; margin-right:auto; }

  .raffle-section{ background: linear-gradient(160deg, #2c1608, #4a2110 60%, #2c1608); border-radius: 26px; margin: 0 20px; padding: 50px 26px; position:relative; overflow:hidden; }
  .raffle-section::before, .raffle-section::after{ content:"🎟"; position:absolute; font-size:5rem; opacity:0.06; transform:rotate(-18deg); }
  .raffle-section::before{ top:-10px; left:-10px; } .raffle-section::after{ bottom:-20px; right:-10px; transform:rotate(18deg); }
  .raffle-inner{ position:relative; z-index:1; max-width:760px; margin:0 auto; text-align:center; }
  .raffle-inner .tag{ color: var(--gold); font-weight:700; font-size:0.82rem; letter-spacing:1.5px; text-transform:uppercase; }
  .raffle-inner h2{ color:#fff; font-size: clamp(1.6rem,4vw,2.3rem); margin-top:8px; }
  .raffle-inner p{ color:#e8cdb2; margin-top:14px; font-size:0.98rem; }
  .raffle-stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:30px; }
  .raffle-stat{ background: rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.15); border-radius:16px; padding:20px 26px; min-width:150px; }
  .raffle-stat .big{ font-family:'Baloo Da 2'; font-size:1.9rem; color: var(--gold); font-weight:800; }
  .raffle-stat .lbl{ font-size:0.82rem; color:#e8cdb2; margin-top:4px; }
  .raffle-note{ margin-top:26px; background: rgba(255,255,255,0.08); border-radius:12px; padding:14px 18px; font-size:0.85rem; color:#f0dcc4; }

  /* Entry pass lookup */
  .pass-wrap{ max-width:560px; margin:0 auto; padding:34px 26px; }
  .pass-lookup-row{ display:flex; gap:10px; flex-wrap:wrap; }
  .pass-lookup-row input{ flex:1; min-width:180px; padding:12px 14px; border-radius:10px; border:1.6px solid #e6cdb2; font-family:inherit; font-size:0.96rem; }
  .pass-lookup-row input:focus{ border-color: var(--orange); outline:none; box-shadow:0 0 0 4px rgba(228,98,43,0.14); }
  .pass-result{ margin-top:22px; }
  .pass-status{ display:flex; gap:12px; align-items:flex-start; padding:16px 18px; border-radius:12px; font-size:0.92rem; }
  .pass-status.pending{ background:#fdf3e3; color:#8a5a12; border:1px solid #f0d090; }
  .pass-status.rejected{ background:#fbe7e4; color:#a3291b; border:1px solid #edb3a9; }
  .pass-status.notfound{ background:#f1e8e0; color:#6b4a33; border:1px solid #ddc4ac; }
  .pass-card{
    background: linear-gradient(155deg,#fff,#fff6ec); border:2px dashed var(--orange);
    border-radius:16px; padding:22px; margin-top:6px;
  }
  .pass-card h4{ color:var(--rust); font-size:1.1rem; margin-bottom:10px; }
  .pass-row{ display:flex; justify-content:space-between; font-size:0.88rem; padding:6px 0; border-bottom:1px dashed rgba(228,98,43,0.2); }
  .pass-row span:first-child{ color:#8a5a3a; }
  .pass-row span:last-child{ font-weight:600; color:var(--brown-ink); }
  .pass-badge-ok{ display:inline-flex; align-items:center; gap:6px; background:#e6f3e9; color:var(--green-ok); font-weight:700; font-size:0.82rem; padding:5px 12px; border-radius:999px; margin-bottom:12px; }

  .faq-item{ padding:18px 22px; cursor:pointer; }
  .faq-item + .faq-item{ margin-top:10px; }
  .faq-q{ display:flex; justify-content:space-between; align-items:center; gap:12px; font-weight:600; color:var(--rust); font-size:0.98rem; }
  .faq-q .plus{ font-size:1.3rem; color:var(--orange); transition: transform .2s ease; flex-shrink:0; }
  .faq-item.open .plus{ transform: rotate(45deg); }
  .faq-a{ max-height:0; overflow:hidden; transition: max-height .25s ease; font-size:0.9rem; color:#6b4a33; }
  .faq-item.open .faq-a{ max-height:220px; margin-top:10px; }

  footer{ margin-top:30px; padding: 44px 0 26px; border-top:2px solid rgba(228,98,43,0.2); }
  .footer-grid{ display:grid; grid-template-columns:1fr; gap:28px; }
  @media(min-width:720px){ .footer-grid{ grid-template-columns: 1.3fr 1fr 1fr; } }
  .footer-brand p{ font-size:0.88rem; color:#6b4a33; margin-top:10px; max-width:340px; }
  footer h4{ font-family:'Baloo Da 2'; color:var(--rust); font-size:1rem; margin-bottom:12px; }
  footer ul{ list-style:none; display:flex; flex-direction:column; gap:9px; }
  footer ul li a, footer ul li{ font-size:0.9rem; color:#6b4a33; }
  footer ul li a:hover{ color: var(--orange-deep); }
  .footer-bottom{ margin-top:36px; padding-top:20px; border-top:1px solid rgba(228,98,43,0.15); display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; font-size:0.82rem; color:#9a6a45; }
  .footer-credit{ margin-top:14px; text-align:center; font-size:0.82rem; color:#9a6a45; }
  .footer-credit a{ color: var(--orange-deep); font-weight:700; }
  .footer-credit a:hover{ text-decoration:underline; }
  .admin-lock-btn{ width:34px; height:34px; border-radius:50%; background:transparent; border:1px solid rgba(228,98,43,0.2); color:#c9ac93; font-size:0.9rem; cursor:pointer; opacity:0.55; transition: opacity .15s ease, background .15s ease; }
  .admin-lock-btn:hover{ opacity:1; background: rgba(228,98,43,0.08); }

  .reveal{ opacity:0; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; }
  .reveal.in{ opacity:1; transform:none; }

  .whatsapp-float{
    position:fixed; right:20px; bottom:20px; z-index:70;
    width:58px; height:58px; border-radius:50%; background: var(--whatsapp); color:#fff;
    display:flex; align-items:center; justify-content:center; box-shadow: 0 8px 22px rgba(37,211,102,0.45);
    animation: wa-pulse 2.2s infinite;
  }
  .whatsapp-float:hover{ box-shadow: 0 10px 26px rgba(37,211,102,0.6); }
  .whatsapp-float svg{ width:30px; height:30px; }
  @keyframes wa-pulse{
    0%{ box-shadow: 0 0 0 0 rgba(37,211,102,0.5), 0 8px 22px rgba(37,211,102,0.45); }
    70%{ box-shadow: 0 0 0 12px rgba(37,211,102,0), 0 8px 22px rgba(37,211,102,0.45); }
    100%{ box-shadow: 0 0 0 0 rgba(37,211,102,0), 0 8px 22px rgba(37,211,102,0.45); }
  }
  @media(max-width:480px){ .whatsapp-float{ right:14px; bottom:16px; width:52px; height:52px; } .whatsapp-float svg{ width:26px; height:26px; } }

  /* ================= ADMIN PANEL ================= */
  #adminView{ display:none; min-height:100vh; background: var(--cream);
    background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size: 36px 36px; }
  .admin-header{ position:sticky; top:0; z-index:40; background: rgba(255,248,240,0.95); backdrop-filter: blur(8px); border-bottom:2px solid rgba(228,98,43,0.25); padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
  .admin-header .brand-text b{ font-size:1rem; }
  .admin-login-wrap{ min-height:90vh; display:flex; align-items:center; justify-content:center; padding:20px; }
  .admin-login-card{ max-width:380px; width:100%; padding:36px 28px; text-align:center; }
  .admin-login-card .ic{ width:56px; height:56px; border-radius:50%; background: rgba(228,98,43,0.12); display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin:0 auto 16px; }
  .admin-login-card h2{ color:var(--rust); font-size:1.3rem; }
  .admin-login-card p{ color:#6b4a33; font-size:0.88rem; margin-top:6px; }
  .admin-login-card input{ width:100%; margin-top:20px; padding:13px 16px; border-radius:10px; border:1.6px solid #e6cdb2; font-size:1.1rem; text-align:center; letter-spacing:4px; }
  .admin-login-card input:focus{ border-color: var(--orange); outline:none; box-shadow:0 0 0 4px rgba(228,98,43,0.14); }
  .admin-login-card .btn{ width:100%; margin-top:16px; }
  .admin-login-err{ display:none; margin-top:12px; color:var(--red-no); font-size:0.85rem; font-weight:600; }

  .admin-body{ padding: 28px 20px 60px; max-width:1200px; margin:0 auto; }
  .admin-tabs{ display:flex; gap:10px; margin-bottom:22px; flex-wrap:wrap; }
  .admin-tab{ padding:10px 20px; border-radius:999px; border:2px solid rgba(228,98,43,0.3); background:#fff; color:var(--rust); font-weight:700; font-size:0.9rem; cursor:pointer; }
  .admin-tab.active{ background: linear-gradient(145deg, var(--orange), var(--orange-deep)); color:#fff; border-color:transparent; }
  .section-mini-head{ margin-bottom:18px; }
  .section-mini-head h3{ color:var(--rust); font-size:1.15rem; }
  .section-mini-head p{ color:#6b4a33; font-size:0.85rem; margin-top:4px; }
  .fund-card .val{ font-size:1.5rem; }
  .fund-card .fund-name{ font-weight:700; color:var(--rust); font-size:0.95rem; margin-bottom:2px; }
  .stats-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:14px; margin-bottom:26px; }
  @media(min-width:720px){ .stats-grid{ grid-template-columns: repeat(4,1fr); } }
  .stat-card{ padding:18px; }
  .stat-card .lbl{ font-size:0.78rem; color:#8a5a3a; font-weight:600; }
  .stat-card .val{ font-family:'Baloo Da 2'; font-size:1.7rem; color:var(--orange-deep); font-weight:800; margin-top:4px; }

  .admin-toolbar{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:18px; justify-content:space-between; }
  .admin-toolbar .filters{ display:flex; flex-wrap:wrap; gap:10px; flex:1; }
  .admin-toolbar input, .admin-toolbar select{ padding:10px 14px; border-radius:10px; border:1.6px solid #e6cdb2; font-family:inherit; font-size:0.9rem; background:#fff; }
  .admin-toolbar input{ min-width:200px; flex:1; }

  .reg-table-wrap{ overflow-x:auto; }
  table.reg-table{ width:100%; border-collapse:collapse; min-width:900px; }
  table.reg-table th{ text-align:left; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.4px; color:#8a5a3a; padding:12px 14px; border-bottom:2px solid rgba(228,98,43,0.2); white-space:nowrap; }
  table.reg-table td{ padding:12px 14px; font-size:0.88rem; border-bottom:1px solid rgba(228,98,43,0.1); vertical-align:middle; }
  table.reg-table tr:hover td{ background: rgba(228,98,43,0.04); }
  .status-pill{ display:inline-block; padding:4px 12px; border-radius:999px; font-size:0.76rem; font-weight:700; }
  .status-pill.pending{ background:#fdf3e3; color:#8a5a12; }
  .status-pill.approved{ background:#e6f3e9; color:var(--green-ok); }
  .status-pill.rejected{ background:#fbe7e4; color:var(--red-no); }
  .row-actions{ display:flex; gap:6px; flex-wrap:nowrap; align-items:center; }
  .status-select{ padding:7px 10px; border-radius:8px; border:2px solid #d9c9b8; background:#fffdf9; font-family:inherit; font-size:0.82rem; font-weight:600; color:#4a3728; cursor:pointer; }
  .status-select:focus{ outline:2px solid #b8860b; outline-offset:1px; }
  .status-select.pending{ border-color:#e0a800; background:#fffbe6; }
  .status-select.approved{ border-color:#2e7d32; background:#eef7ee; }
  .status-select.rejected{ border-color:#c62828; background:#fdeeee; }
  .empty-state{ text-align:center; padding:50px 20px; color:#8a5a3a; }

  @media(max-width:760px){
    table.reg-table{ min-width:0; }
    table.reg-table thead{ display:none; }
    table.reg-table, table.reg-table tbody, table.reg-table tr, table.reg-table td{ display:block; width:100%; }
    table.reg-table tr{ background:var(--paper); border:1px solid rgba(228,98,43,0.18); border-radius:14px; margin-bottom:14px; padding:6px 4px; }
    table.reg-table td{ display:flex; justify-content:space-between; gap:10px; padding:9px 14px; border-bottom:1px dashed rgba(228,98,43,0.12); text-align:right; }
    table.reg-table td:last-child{ border-bottom:none; }
    table.reg-table td::before{ content: attr(data-label); font-weight:700; color:var(--rust); text-align:left; font-size:0.78rem; }
  }

  /* Print styles for entry pass */
  @page{ size: A4 portrait; margin: 10mm; }
  @media print{
    html, body.printing-pass{ height:auto !important; overflow:visible !important; background:#fff !important; }
    body.printing-pass > *:not(#printArea){ display:none !important; }
    body.printing-pass #printArea{
      display:block !important;
      position:static !important; width:100% !important; margin:0 !important; padding:0 !important;
      page-break-after:avoid; break-after:avoid;
    }
    body.printing-pass #printArea *{ visibility:visible; }
    body.printing-pass #printArea > *{ page-break-inside:avoid; break-inside:avoid; }
  }
  #printArea{ display:none; }


  /* ===== Modal system (intro notice / confirm submit) ===== */
  #siteContent{ transition: filter .25s ease; }
  #siteContent.blurred{ filter: blur(5px); pointer-events:none; user-select:none; }
  .modal-backdrop{
    position:fixed; inset:0; z-index:300;
    background: rgba(62,36,21,0.4); backdrop-filter: blur(3px);
    display:none; align-items:center; justify-content:center; padding:20px;
  }
  .modal-card{ max-width:460px; width:100%; padding:32px 26px; text-align:center; }
  .modal-card .ic{ width:56px; height:56px; border-radius:50%; background: rgba(228,98,43,0.12); display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin:0 auto 16px; }
  .modal-card h3{ color: var(--rust); font-size:1.25rem; }
  .modal-card p{ color:#6b4a33; font-size:0.92rem; margin-top:12px; line-height:1.65; text-align:left; }
  .modal-actions{ display:flex; gap:10px; margin-top:24px; flex-wrap:wrap; }
  .modal-actions .btn{ flex:1; min-width:140px; }

/* Admin identity chip */
.admin-current-user{
  font-size:.86rem;
  font-weight:600;
  color:var(--rust, #E4622B);
  background:#fff6ec;
  border:1px solid #f2d3ba;
  border-radius:999px;
  padding:6px 12px;
  white-space:nowrap;
}
.admin-login-card input + input{ margin-top:10px; }

.stat-card.clickable{ cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
.stat-card.clickable:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,.12); }
