header .logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font-weight:700;}
header .logo-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
header .logo-text{display:flex;flex-direction:column;line-height:1;}
header .logo-text .logo-word:first-child{margin-bottom:2px;}
header .logo:hover .logo-icon{opacity:0.9;}
header .logo-icon img{width:100%;height:100%;object-fit:contain;}
header .logo-text .logo-word:first-child{margin-bottom:2px;}
:root{
  --green:#1B5E20; --gold:#DCA73B; --charcoal:#1A1A1A; --ivory:#F7F5EE;
  --ok:#DCA73B; --bad:#C0392B; --good:#2E7D32;
}
*{box-sizing:border-box}
/** html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--charcoal);background:var(--ivory)} **/
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--charcoal);background: #6ec775;}

body.df-auth-loading header,
body.df-auth-loading #main-content {
  visibility: hidden;
}

a{color:var(--green);text-decoration:none}
.skip-link{position:absolute;top:-100px;left:8px;background:#fff;color:#1b5e20;padding:8px 12px;border-radius:6px;font-weight:600;z-index:1000;transition:top .2s ease}
.skip-link:focus{top:12px;outline:2px solid #1b5e20}
.modal-notice{margin:12px 0 16px;padding:12px 14px;border-radius:12px;background:#FFF8E1;color:#7a4b08;border-left:4px solid #DCA73B;font-size:14px;line-height:1.45}
.modal-notice[hidden]{display:none}
.modal-notice.error{background:#FDECEA;color:#7a1f1f;border-left-color:#F5A09A}
.announcement-bar{
  background:#0f7a34;
  color:#f6fffb; 
 /** color: #eecc86; **/
  padding:10px 16px;
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid rgba(12,61,24,0.35);
}
.announcement-hidden{display:none}
.announcement-inner{
  max-width:1200px;
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  gap:14px;
  flex-wrap:wrap;
  font-size:14px;
  line-height:1.4;
}
.announcement-badge{
  background:rgba(255,255,255,0.18);
  color:#fff;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.announcement-text{flex:1;min-width:200px}
.announcement-link{
  color:#f9ffdf;
  font-weight:600;
  text-decoration:underline;
}
.announcement-link:hover{color:#fff}
.announcement-link:focus-visible{outline:2px solid #fff;outline-offset:2px}
.announcement-close{
  border:none;
  background:rgba(0,0,0,0.18);
  color:#fff;
  width:28px;
  height:28px;
  border-radius:999px;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:flex-start;
  justify-content:center;
  transition:background .18s ease, transform .18s ease;
}
.announcement-close:hover{background:rgba(0,0,0,0.28);transform:scale(1.05)}
.announcement-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.panel-fundraising{max-width:640px;width:min(92vw, 640px);background:#f9fbf9;color:#16321c;padding:0;box-shadow:0 24px 54px rgba(17,46,24,0.28);border-radius:20px;display:flex;flex-direction:column;height:100vh}
.fundraising-panel{display:flex;flex-direction:column;height:100%}
.fundraising-scroll{overflow-y:auto;flex:1}
.fundraising-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px;border-bottom:1px solid rgba(16,52,24,0.12);background:linear-gradient(135deg,rgba(27,94,32,0.92),rgba(14,58,24,0.9));color:#fff}
.fundraising-head h2{margin:0 0 6px;font-size:26px;line-height:1.2;color:#fff}
.fundraising-subhead{margin:0;font-size:15px;opacity:0.9;max-width:320px;line-height:1.4}
.fundraising-head .secondary{color:#fff;border:1px solid rgba(255,255,255,0.4);background:transparent}
.fundraising-head .secondary:hover{background:rgba(255,255,255,0.08)}
.fundraising-scroll section{padding:22px 24px}
.fundraising-intro p{margin:0 0 12px;font-size:15px;line-height:1.6;padding:12px 16px;border-left:4px solid rgba(27,94,32,0.4);border-radius:12px;background:rgba(27,94,32,0.06)}
.fundraising-services h3,.fundraising-impact h3{margin:0 0 14px;font-size:20px;color:#12381e}
.fundraising-services ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px}
.fundraising-services li{display:flex;gap:14px;background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 6px 18px rgba(18,56,30,0.08)}
.fundraising-services li .ico{font-size:22px}
.fundraising-services li div{flex:1}
.fundraising-services li strong{display:block;font-size:16px;margin-bottom:4px;color:#16321c}
.fundraising-services li span{display:block;font-size:14px;color:#3c5243}
.fundraising-impact .impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.fundraising-impact article{background:#fff;border-radius:14px;padding:16px;box-shadow:0 6px 18px rgba(18,56,30,0.08);font-size:14px;line-height:1.6}
.fundraising-impact article strong{display:block;margin-bottom:6px;font-size:16px;color:#16321c}
.fundraising-cta{border-top:1px solid rgba(16,52,24,0.12);background:#eef7ee;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:22px 24px}
.fundraising-cta p{margin:6px 0 0;font-size:14px;color:#355244}
.fundraising-terms-link{color:#1b5e20;font-weight:600;text-decoration:underline}
.fundraising-terms-link:hover{color:#0f3d18}
.fundraising-actions{display:flex;gap:10px}
.fundraising-actions .btn{background:var(--green);color:#fff;padding:12px 20px;border-radius:12px;font-weight:600}
.fundraising-actions .btn:hover{background:#15561a}
.fundraising-actions .secondary{padding:12px 20px;border:1px solid rgba(22,50,28,0.3);border-radius:12px;color:#16321c;background:#fff}
.fundraising-actions .secondary:hover{background:#f1f6f1}
.panel-fundraising .fundraising-panel{overflow-y:auto}
.overlay#ov-fundraising{background:rgba(12,32,18,0.55)}
header{
  position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid #eee;
  display:flex;align-items:center;gap:14px;padding:10px 16px
}



header nav{margin-left:auto;display:flex;gap:12px;flex-wrap:wrap}
header nav a{padding:8px 10px;border-radius:10px;white-space:nowrap;display:inline-flex;align-items:center}
header nav #nav-user{display:inline-flex;align-items:center}
#nav-user .nav-user-whatsapp{display:none!important}
.nav-user-notifications .notif-virtual-link{display:none!important}
header .lang-switch{display:flex;align-items:center;gap:2px}
header .lang-option{background:transparent;border:none;border-radius:999px;color:inherit;font:inherit;font-size:18px;line-height:1;padding:4px 6px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
header .lang-option:hover{background:transparent}
header .lang-option.is-active{background:transparent;color:inherit;border:none}
header .lang-option:focus{outline:2px solid var(--green);outline-offset:2px}
#nav-admin{display:inline-flex;align-items:center;gap:10px}
header nav .user-menu{position:relative;display:inline-flex;align-items:center}
header nav .user-avatar{width:36px;height:36px;border-radius:999px;background:var(--green);color:#fff;font-weight:700;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .15s ease, box-shadow .15s ease}
header nav .user-avatar span{pointer-events:none}
header nav .user-avatar:hover{background:#174a1b}
header nav .user-avatar:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
header nav .user-avatar.is-open{transform:scale(1.04);box-shadow:0 6px 18px rgba(27,94,32,0.25)}
header nav .user-dropdown{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;background:#fff;border-radius:12px;border:1px solid rgba(26,26,26,0.08);box-shadow:0 18px 42px rgba(17,46,24,0.22);padding:12px;display:flex;flex-direction:column;gap:8px;z-index:30;opacity:0;transform:translateY(-6px) scale(0.98);transition:opacity .14s ease, transform .14s ease}
header nav .user-dropdown[hidden]{display:none}
header nav .user-dropdown.open{opacity:1;transform:translateY(0) scale(1)}
header nav .user-dropdown.closing{opacity:0;transform:translateY(-4px) scale(0.98)}
header nav .user-dropdown::before{content:"";position:absolute;top:-8px;right:16px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #fff;filter:drop-shadow(0 -1px 0 rgba(0,0,0,0.06))}
header nav .user-card{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(26,26,26,0.08)}
header nav .user-card-initial{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(27,94,32,0.1);color:var(--green);font-weight:700}
header nav .user-card-copy strong{display:block;font-size:15px;color:var(--charcoal)}
header nav .user-card-copy span{display:block;font-size:13px;color:#486050;margin-top:2px;word-break:break-all}
header nav .user-menu-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6a7f71;margin-top:4px}
header nav .user-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:14px;color:var(--charcoal);text-decoration:none;cursor:pointer;transition:background .15s ease, transform .12s ease}
header nav .user-menu-item .ico{width:18px;display:inline-flex;align-items:center;justify-content:center}
header nav .user-menu-item:hover,header nav .user-menu-item:focus{background:rgba(27,94,32,0.08);outline:none}
header nav .user-menu-item:active{transform:scale(0.98)}
header nav .user-dropdown button.user-menu-item{border:none;background:none;font:inherit;text-align:left}
header nav .user-menu-item.logout{color:#b13b2d}
header a.navlink{padding:8px 10px;border-radius:10px;color:var(--green);white-space:nowrap}
header nav a.cta{background:var(--green);color:#fff}
/* Hamburger menu (mobile only) */
.hamburger{display:none;margin-left:8px;background:#fff;color:var(--green);border:1px solid var(--green);border-radius:10px;padding:8px 10px;font-size:18px;line-height:1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav-user-wrap{display:inline-flex;align-items:center;gap:12px}
.nav-user-notifications{position:relative;display:inline-flex;align-items:center}
.btn-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(26,26,26,0.12);background:#fff;color:var(--green);cursor:pointer;transition:background .18s ease, border-color .18s ease, transform .15s ease, box-shadow .15s ease}
.btn-notifications:hover{background:#f4f8f4;border-color:rgba(27,94,32,0.4)}
.btn-notifications:active{transform:scale(0.97)}
.btn-notifications:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.nav-user-notifications.open .btn-notifications{background:#f1faf1;border-color:rgba(27,94,32,0.45);box-shadow:0 10px 24px rgba(17,46,24,0.12)}
.btn-notifications .bell-icon{display:inline-flex;align-items:center;justify-content:center}
.btn-notifications .bell-icon svg{width:20px;height:20px;display:block}
.notif-badge{position:absolute;top:3px;right:3px;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:#d32f2f;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,0.18)}
.notif-badge.is-hidden{display:none}
.notif-virtual-link{display:inline-flex;align-items:center;justify-content:center;margin-left:10px;margin-right:8px;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#25D366,#20BD59);color:#fff;text-decoration:none;transition:background .18s ease,transform .15s ease,box-shadow .15s ease;position:relative}
.notif-virtual-link::after{content:"B";position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:4px;background:#0B5;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;line-height:1;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,0.18)}
.notif-virtual-link:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(37,211,102,0.35)}
.notif-virtual-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.notif-virtual-link svg{width:24px;height:24px;display:block;fill:currentColor}
.notifications-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:320px;max-width:calc(100vw - 24px);background:#fff;border-radius:14px;border:1px solid rgba(26,26,26,0.12);box-shadow:0 18px 42px rgba(17,46,24,0.22);padding:16px;display:flex;flex-direction:column;gap:14px;z-index:35;opacity:0;transform:translateY(-6px) scale(0.98);transition:opacity .18s ease, transform .18s ease}
.notifications-dropdown[hidden]{display:none}
.nav-user-notifications.open .notifications-dropdown{opacity:1;transform:translateY(0) scale(1)}
.notifications-head{display:flex;align-items:center;justify-content:space-between}
.notifications-head h3{margin:0;font-size:18px;color:#1a1a1a}
.notifications-list{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow:auto;padding-right:4px}
.notification-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:#f8faf8;color:#1a1a1a;text-decoration:none;transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .15s ease}
.notification-item:hover{background:#fff;border-color:rgba(27,94,32,0.35);box-shadow:0 10px 26px rgba(17,46,24,0.12);transform:translateY(-1px)}
.notification-item.is-unread{border-color:rgba(220,167,59,0.35);background:#fff9e6}
.notification-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(27,94,32,0.2), rgba(220,167,59,0.22));color:#1b5e20;font-size:18px;flex-shrink:0}
.notification-copy{display:flex;flex-direction:column;gap:4px}
.notification-copy strong{font-size:14px;line-height:1.35}
.notification-copy span{font-size:12px;color:#4f6455;line-height:1.4}
.notifications-footer{display:flex;justify-content:center}
.notifications-see-all{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--green)}
.notifications-see-all:hover{text-decoration:underline}
.notifications-empty{padding:20px 10px;text-align:center;font-size:14px;color:#5d7162}
.text-error{color:#b13b2d;font-weight:600}
.panel-content{padding:14px 16px;overflow:auto}
.panel-content.story-panel{padding:24px 28px;background:#f4faf6}
.story-panel{display:flex;flex-direction:column;gap:28px}
.story-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(220px,32%,320px);
  gap:24px;
  align-items:flex-start;
  padding:20px 22px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(27,94,32,0.08);
  box-shadow:0 14px 32px rgba(17,46,24,0.04);
}
.story-section h2{margin:0 0 4px;font-size:22px;color:var(--green)}
.story-section p{margin:4px 0;color:#2b2b2b;line-height:1.55}
.story-section .muted{margin-top:4px}
.story-copy{display:flex;flex-direction:column;gap:10px}
.story-image{
  margin:0;
  align-self:stretch;
  border-radius:18px;
  background:linear-gradient(160deg,#eef7ef,#ffffff);
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(27,94,32,0.06);
  aspect-ratio:4/3;
}
.story-image img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}
.story-full-bleed{grid-column:1 / -1}
.story-section-team{grid-template-columns:1fr}
.story-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;color:#2b2b2b}
.story-list li{line-height:1.5}
.story-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.story-team-card{background:#fff;border:1px solid rgba(26,26,26,0.08);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;box-shadow:0 8px 22px rgba(17,46,24,0.08);position:relative;transition:box-shadow .18s ease, border-color .18s ease}
.story-team-card:not([data-initial-photo]){display:none}
.story-team-card.editable{display:flex!important}
.story-team-card.editable:hover{border-color:rgba(27,94,32,0.4);box-shadow:0 10px 24px rgba(17,46,24,0.12)}
.story-team-card.editable:hover .story-team-photo{transform:scale(1.01)}
.story-team-photo{width:100%;aspect-ratio:1.1/1;border-radius:16px;background:#ecf5ed center/cover no-repeat;display:block;position:relative;overflow:hidden;transition:transform .18s ease, box-shadow .18s ease;border:1px solid rgba(27,94,32,0.12);box-shadow:0 6px 16px rgba(17,46,24,0.07)}
.story-team-card.editable .story-team-photo{cursor:pointer}
.story-team-card.editable .story-team-photo::after{content:"Update";position:absolute;inset:auto 10px 10px;min-width:74px;border-radius:999px;background:rgba(27,94,32,0.85);color:#fff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;opacity:0;transform:translateY(6px);transition:opacity .18s ease, transform .18s ease}
.story-team-card.editable:hover .story-team-photo::after{opacity:1;transform:translateY(0)}
.story-team-card.is-uploading::after{content:"Uploading…";position:absolute;inset:0;background:rgba(255,255,255,0.78);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.08em;color:#1a1a1a;border-radius:12px;z-index:2}
.story-team-card.is-uploading .story-team-photo{opacity:0.65;filter:saturate(0.85)}
.story-team-photo.avatar-male{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Crect width='128' height='128' fill='%23cfd3d6'/%3E%3Ccircle cx='64' cy='46' r='28' fill='%23f7f9fc'/%3E%3Cpath fill='%23f7f9fc' d='M28 118c0-20 16-38 36-38s36 18 36 38H28z'/%3E%3C/svg%3E")}
.story-team-photo.avatar-female{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Crect width='128' height='128' fill='%23cfd3d6'/%3E%3Cpath fill='%23f7f9fc' d='M40 118h48c0-18-14-34-24-34s-24 16-24 34Z'/%3E%3Cpath fill='%23f7f9fc' d='M36 66c0-18 12-36 28-36s28 18 28 36c0 8-2 12-4 16H40c-2-4-4-8-4-16Z'/%3E%3Ccircle cx='64' cy='40' r='24' fill='%23f7f9fc'/%3E%3C/svg%3E")}
.story-team-card figcaption{display:flex;flex-direction:column;gap:4px}
.story-team-card figcaption strong{font-size:15px;color:#1a1a1a}
.story-team-card.pending-approval::before{content:attr(data-pending-label);position:absolute;top:10px;right:10px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:#fde68a;color:#5b4107;box-shadow:0 4px 10px rgba(91,65,7,0.15)}
.team-card-actions{width:100%;display:none;gap:6px;flex-wrap:wrap;margin-top:8px}
.story-team-card.editable .team-card-actions{display:flex}
.team-card-btn{flex:1 1 30%;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;background:#e5f0e7;color:#1b4c2c;transition:background .2s ease;min-height:32px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.team-card-btn.primary{background:#1b4c2c;color:#fff}
.team-card-btn.secondary{background:#f1f5f9;color:#1b1b1b}
.team-card-btn.danger{border:1px solid #b00020;color:#b00020;background:#fff}
.team-card-btn[data-team-action="remove"]{border:none;color:#fff;background:#b00020;flex:1 1 100%;width:100%;min-height:36px;display:inline-flex !important;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:600;padding:8px 12px;border-radius:6px}
.team-card-btn.view-profile{background:#1a4f2d;color:#fff;flex:1 1 100%;margin-top:4px}
.team-card-btn[data-team-action="remove"]:hover{background:#8b0018}
.team-card-btn[data-team-action="remove"]:disabled{opacity:0.6;cursor:not-allowed;background:#b00020}
.team-card-btn[data-team-action="remove"]:not(:disabled):hover{background:#8b0018}
.team-card-btn:disabled{opacity:0.6;cursor:not-allowed}
.team-card-btn:not(.view-profile):not(:disabled):hover{background:#cfe5d4}
.team-card-btn[data-team-action="remove"]:not(:disabled):hover{background:#8b0018}
.team-card-btn.view-profile:hover{background:#155f35}
.team-profile-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:18px;box-shadow:0 24px 48px rgba(15,23,42,0.25);z-index:301;max-width:460px;width:min(460px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:24px;display:none}
.team-profile-modal.open{display:block}
.team-profile-modal[hidden]{display:none}
.team-profile-content{display:flex;flex-direction:column;gap:18px}
.profile-close{position:absolute;top:12px;right:14px;border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#1f2933}
.team-profile-photo{width:100%;aspect-ratio:3/4;border-radius:18px;background:#ecf5ed center/cover no-repeat;border:1px solid rgba(27,94,32,0.12);box-shadow:inset 0 0 0 1px rgba(27,94,32,0.05)}
.team-profile-text h3{margin:0;font-size:22px;color:#102a18}
.team-profile-role{margin:2px 0 12px 0;font-weight:600;color:#2b5e3b}
.team-profile-bio{margin:0;color:#1f2933;line-height:1.55}
#team-profile-display[hidden]{display:none}
#team-profile-edit[hidden]{display:none}
#team-profile-form[hidden]{display:none}
.team-profile-edit{margin-top:10px;border:none;background:#e6ede7;color:#1a4f2d;font-weight:600;border-radius:6px;padding:8px 12px;cursor:pointer}
.team-profile-form{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.team-profile-form label{display:flex;flex-direction:column;font-size:13px;color:#435247;gap:4px}
.team-profile-form input,
.team-profile-form textarea{border:1px solid #d2e3d4;border-radius:8px;padding:8px;background:#f8fbf8;font-size:14px;font-family:inherit}
.team-profile-form textarea{min-height:120px;resize:vertical}
.team-profile-form input:focus,
.team-profile-form textarea:focus{outline:none;border-color:#1a4f2d;box-shadow:0 0 0 2px rgba(26,79,45,0.12);background:#fff}
.team-profile-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}
.team-profile-form-actions button{border:none;border-radius:6px;padding:8px 16px;font-weight:600;cursor:pointer}
#team-profile-save{background:#1a4f2d;color:#fff}
#team-profile-save:disabled{opacity:0.6;cursor:not-allowed}
#team-profile-cancel{background:#f1f5f9;color:#1f2933}
#ov-team-profile{background:rgba(15,23,42,0.65);z-index:300}
.team-card-btn.view-profile:disabled{opacity:1;cursor:pointer;background:#1a4f2d}
.team-card-btn.view-profile:hover{background:#166537}
.team-card-btn.primary:hover{background:#144024}

/* Action buttons in crop drawer */
.cta-btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:10px;padding:10px 12px;font-weight:600;color:#0b1f17;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,.06),0 6px 12px -4px rgba(0,0,0,.12);transition:transform .06s ease, box-shadow .2s ease, background .2s ease}
.cta-btn .ico{font-size:16px;line-height:1}
.cta-btn .lbl{line-height:1.2;white-space:pre-line;text-align:left}
.cta-btn:active{transform:translateY(1px)}
.btn-fert{background:linear-gradient(135deg,#b9f6ca,#69f0ae)}
.btn-fert:hover{background:linear-gradient(135deg,#a7f3c5,#5ee7a8)}
.btn-pest{background:linear-gradient(135deg,#ffe082,#ffca28)}
.btn-pest:hover{background:linear-gradient(135deg,#ffd666,#ffc022)}
.btn-irrig{background:linear-gradient(135deg,#b3e5fc,#4fc3f7)}
.btn-irrig:hover{background:linear-gradient(135deg,#a0dbf7,#46b8ef)}
.btn-yield{background:linear-gradient(135deg,#e1bee7,#ba68c8)}
.btn-yield:hover{background:linear-gradient(135deg,#d7b2df,#b15fc0)}
.btn-fert,.btn-pest,.btn-irrig,.btn-yield{color:#093226}
.story-team-card figcaption span{font-size:13px;color:#486050}
.story-contact{display:flex;flex-wrap:wrap;gap:16px;padding:12px;border:1px solid rgba(26,26,26,0.08);border-radius:12px;background:#fff}
.story-contact strong{display:block;font-size:14px;color:#1a1a1a;margin-bottom:2px}
.story-contact a{font-weight:600;color:var(--green)}
.story-upload-hint{display:block;margin-top:8px;color:#6a7f71}
@media(max-width:1100px){
  .story-section{grid-template-columns:minmax(0,1fr) clamp(200px,34%,280px)}
}
@media(max-width:900px){
  .panel-content.story-panel{padding:20px}
  .story-section{grid-template-columns:1fr;gap:18px}
  .story-image{width:100%;order:2}
  .story-full-bleed{grid-column:1 / 2}
  .story-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .story-panel{gap:22px}
  .story-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .story-team-grid{grid-template-columns:1fr}
}
/* Header progress stats */
.header-stats{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:var(--green);color:#fff;border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.header-stats .header-progress{width:280px;max-width:62vw;height:8px;margin:0 0 6px 0;background:rgba(255,255,255,.35)}
.header-stats .header-progress>span{background:var(--gold)}
.header-stats .header-stats-text{color:#fff}
.header-stats-marquee{overflow:hidden;width:100%;max-width:420px}
.header-stats-track{display:flex;animation:headerMarquee 18s linear infinite}
.header-stats-marquee:hover .header-stats-track{animation-play-state:paused}
.header-stats-segment{display:flex;align-items:center;white-space:nowrap;padding-right:48px;font-size:13px;gap:0}
.header-stat-chip{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:#fff}
.header-stat-chip b{font-weight:700}
.header-stat-divider{margin:0 8px;color:rgba(255,255,255,0.75)}
.header-stats-segment[aria-hidden="true"]{opacity:.75}
@keyframes headerMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@media(max-width:600px){
  .header-stats{display:none}
}
/* Left-side Home link styled like nav items */
/* (duplicated above with nowrap; keeping for order) */
.container{max-width:1100px;margin:0 auto;padding:16px}
.hero{display:grid;grid-template-columns:1.1fr 0.9fr;gap:24px;align-items:stretch;margin-top:8px}
.hero.auth-view{grid-template-columns:1fr}
.hero.auth-view #hero-intro{display:none}
.hero.auth-view #how{background:linear-gradient(135deg,#E8F5E9 0%,#C8E6C9 100%);border-color:#b9e2bc}
.hero.auth-view #how{display:flex;flex-direction:column;gap:24px}
.hero.admin-view{grid-template-columns:1fr}
.hero.admin-view #hero-intro{display:none}
.hero.admin-view #how{background:linear-gradient(135deg,#f2f7f2 0%,#ffffff 100%);border-color:#d7e6d9;display:flex;flex-direction:column;gap:24px}
.hero.admin-view #how h4{display:none}
.hero.admin-view #how .muted{display:none}
.hero:not(.auth-view) #auth-dashboard{display:none}
#auth-dashboard{display:flex;flex-direction:column;gap:24px}
.admin-stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.admin-secondary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.admin-chart-card,.admin-activity-card{display:flex;flex-direction:column;gap:16px}
.admin-campaign-card{margin-top:18px;display:flex;flex-direction:column;gap:16px;border:1px solid rgba(27,76,44,0.12);box-shadow:0 8px 20px rgba(22,60,36,0.08);border-radius:14px;padding:18px;background:#fff}
.admin-campaign-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%}
.admin-campaign-head h3{margin:0;font-size:20px;color:#164229}
.admin-campaign-head small{display:block;margin-top:6px;font-size:13px}
.admin-campaign-summary{margin:0;font-size:14px;color:#164229;font-weight:600;white-space:nowrap}
.admin-campaign-form{display:flex;flex-direction:column;gap:14px;width:100%;align-items:stretch}
.admin-campaign-fields{display:flex;flex-wrap:wrap;gap:14px;width:100%}
.admin-campaign-fields label{flex:1 1 200px;display:flex;flex-direction:column;font-size:13px;color:#2c4734;gap:6px}
.admin-campaign-fields input[type="date"]{padding:10px 12px;border:1px solid rgba(23,58,36,0.28);border-radius:8px;font-size:14px}
.admin-campaign-fields input[type="date"]:focus{outline:2px solid rgba(27,94,32,0.3);outline-offset:1px}
.admin-campaign-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;width:100%}
.admin-campaign-actions button{min-width:110px}
.admin-campaign-status{margin:0;font-size:13px;color:#b23a48}
.admin-price-card{margin-top:18px;display:flex;flex-direction:column;gap:16px;border:1px solid rgba(27,76,44,0.12);box-shadow:0 8px 20px rgba(22,60,36,0.08);border-radius:14px;padding:18px;background:#fff}
.admin-price-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.admin-price-head h3{margin:0;font-size:20px;color:#164229}
.admin-price-head small{display:block;margin-top:6px;font-size:13px;color:#456852}
.admin-price-current{margin:0;font-size:18px;font-weight:600;color:#164229}
.admin-price-fields{display:flex;gap:14px;flex-wrap:wrap}
.admin-price-fields label{flex:1 1 180px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#2c4734}
.admin-price-fields input{padding:10px 12px;border:1px solid rgba(23,58,36,0.28);border-radius:8px;font-size:14px}
#admin-price-currency{text-transform:uppercase}
.admin-price-fields input:focus{outline:2px solid rgba(27,94,32,0.3);outline-offset:1px}
.admin-price-actions{display:flex;justify-content:flex-end}
.admin-price-actions button{min-width:200px}
.admin-price-status{margin:0;font-size:13px;color:#b23a48}
.admin-tier-card{margin-top:18px;border:1px solid rgba(27,76,44,0.12);box-shadow:0 8px 20px rgba(22,60,36,0.08);border-radius:14px;padding:18px;background:#fff}
.admin-tier-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.admin-tier-head h3{margin:0;font-size:20px;color:#164229}
.admin-tier-head small{display:block;margin-top:6px;font-size:13px;color:#456852}
.admin-tier-fieldset{border:1px solid rgba(27,76,44,0.25);border-radius:12px;padding:12px;display:flex;flex-wrap:wrap;gap:12px;margin:0 0 12px;background:#f8fef6}
.admin-tier-fieldset legend{font-size:13px;color:#2c4734;margin-bottom:4px}
.admin-tier-option{flex:1 1 150px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid rgba(23,58,36,0.28);cursor:pointer;background:#fff;min-width:160px;transition:background 0.2s,border-color 0.2s}
.admin-tier-option input{width:16px;height:16px;accent-color:#2e7d32;margin:0}
.admin-tier-option span{font-size:14px;color:#164229;display:block}
.admin-tier-option:hover{border-color:#2e7d32;background:#eef9ed}
.admin-tier-option input:focus-visible{outline:2px solid rgba(46,125,50,0.4);outline-offset:2px}
.admin-tier-option input:checked + span{font-weight:600}
.admin-tier-fieldset div{display:flex;align-items:center;gap:6px}
.admin-tier-actions{display:flex;justify-content:flex-end}
.admin-tier-actions button{min-width:120px}
.admin-tier-status{margin:12px 0 0;font-size:13px;color:#b23a48}
.admin-tier-card label[for="admin-tier-price-id"]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#2c4734}
#admin-tier-price-id{padding:10px 12px;border:1px solid rgba(23,58,36,0.28);border-radius:8px;font-size:14px;font-family:inherit}
#admin-tier-price-id:focus{outline:2px solid rgba(27,94,32,0.3);outline-offset:1px}
.admin-toggle-card{margin-top:18px;display:flex;flex-direction:column;gap:16px;border:1px solid rgba(27,76,44,0.12);box-shadow:0 8px 20px rgba(22,60,36,0.08);border-radius:14px;padding:18px;background:#fff}
.admin-toggle-head h3{margin:0;font-size:20px;color:#164229}
.admin-toggle-head small{display:block;margin-top:6px;font-size:13px;color:#456852}
.admin-toggle-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#2c4734}
.admin-toggle-row input[type="checkbox"]{width:18px;height:18px}
.admin-toggle-actions{display:flex;justify-content:flex-end}
.admin-toggle-actions button{min-width:140px}
.admin-toggle-status{margin:0;font-size:13px;color:#b23a48}
.mini-chart{display:flex;flex-wrap:wrap;gap:10px;min-height:120px;align-items:center}
.mini-chart .mini-bar{flex:1 1 120px;background:#f4f6f4;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px;border:1px solid rgba(26,26,26,0.08)}
.mini-chart .mini-bar .meta{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:#809384}
.mini-chart .mini-bar strong{font-size:18px;color:#1b4c2c}
.mini-chart .mini-bar span{font-size:12px;color:#5b7463}
.admin-activity{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.admin-activity{max-height:220px;overflow:auto}
.admin-activity li{display:flex;flex-direction:column;gap:4px;border:1px solid rgba(26,26,26,0.08);border-radius:10px;padding:12px;background:#fbfdfb}
.admin-activity li strong{font-size:14px;color:#1a1a1a}
.admin-activity li span{font-size:12px;color:#5c6e61}
.admin-activity li .meta{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:#809384}
.hero.admin-view .stat-card{background:#fff;border:1px solid rgba(46,125,50,0.18);box-shadow:0 8px 22px rgba(27,80,45,0.14)}
.hero.admin-view .stat-meta{color:#4f6455}
.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.dash-head h2{margin:0;font-size:26px;color:#1b4c2c}
.dash-head .muted{margin:4px 0 0 0;color:#2c5f3d;font-weight:500;font-size:14px;opacity:0.95}
.dash-actions{display:flex;gap:10px;flex-wrap:wrap}
.dash-actions .dash-wa-link{margin-left:10px;margin-right:8px;flex-shrink:0}
.dash-actions #dash-my-plots{display:inline-flex;align-items:center;gap:6px}
.dash-actions #dash-my-plots svg{width:18px;height:18px}
.dash-actions .admin-whatsapp-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-weight:600}
.dash-actions .admin-whatsapp-btn img{width:18px;height:18px;display:block}
/* reverted: auth-grid / whatsapp sim */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.stat-card{--card-bg:#fff;--card-border:rgba(46,125,50,0.18);--card-shadow:rgba(33,94,48,0.12);--card-accent-start:rgba(46,125,50,0.62);--card-accent-end:rgba(33,94,48,0.72);--card-label:rgba(16,42,33,0.82);--card-value:#0b3d2d;--card-meta:rgba(16,42,33,0.68);background:var(--card-bg);border-radius:16px;padding:18px;border:1px solid var(--card-border);box-shadow:0 6px 18px var(--card-shadow);display:flex;flex-direction:column;gap:6px;min-height:120px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;color:#143224}
.stat-card::before{content:"";position:absolute;left:18px;right:18px;top:12px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--card-accent-start),var(--card-accent-end));opacity:.7;pointer-events:none}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,62,33,0.16)}
.stat-card .stat-label{font-weight:600;color:var(--card-label)}
.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--card-value)}
.stat-card .stat-meta{color:var(--card-meta)}
.stat-card--readiness{--card-bg:linear-gradient(135deg,rgba(59,130,246,0.18),rgba(129,199,245,0.08));--card-border:rgba(59,130,246,0.28);--card-shadow:rgba(37,99,235,0.16);--card-accent-start:rgba(59,130,246,0.92);--card-accent-end:rgba(14,165,233,0.88);--card-label:rgba(10,25,47,0.76);--card-value:#0f2a5b;--card-meta:rgba(10,25,47,0.62);color:#0b1f3b}
.stat-card--actions{--card-bg:linear-gradient(135deg,rgba(16,185,129,0.2),rgba(52,211,153,0.07));--card-border:rgba(16,185,129,0.26);--card-shadow:rgba(5,150,105,0.18);--card-accent-start:rgba(16,185,129,0.9);--card-accent-end:rgba(5,150,105,0.9);--card-label:rgba(4,47,32,0.72);--card-value:#064e3b;--card-meta:rgba(4,47,32,0.6);color:#063524}
.stat-card--readiness .stat-label,
.stat-card--actions .stat-label{font-size:12px}
.stat-card--readiness .stat-value,
.stat-card--actions .stat-value{font-size:1.6rem}
.stat-card--readiness .stat-meta,
.stat-card--actions .stat-meta{font-size:11px;line-height:1.35}
.stat-card--yield{--card-bg:linear-gradient(135deg,rgba(244,180,26,0.22),rgba(244,185,86,0.07));--card-border:rgba(245,158,11,0.32);--card-shadow:rgba(217,119,6,0.16);--card-accent-start:rgba(245,158,11,0.9);--card-accent-end:rgba(217,119,6,0.92);--card-label:rgba(60,32,4,0.74);--card-value:#854d0e;--card-meta:rgba(60,32,4,0.62);color:#3a2500}
.stat-card--health{--card-bg:linear-gradient(135deg,rgba(140,82,255,0.2),rgba(140,82,255,0.05));--card-border:rgba(124,58,237,0.28);--card-shadow:rgba(109,40,217,0.18);--card-accent-start:rgba(124,58,237,0.9);--card-accent-end:rgba(168,85,247,0.85);--card-label:rgba(34,13,59,0.76);--card-value:#5b21b6;--card-meta:rgba(34,13,59,0.6);color:#2a103f}
.stat-label{font-size:13px;color:#486050;text-transform:uppercase;letter-spacing:0.08em;font-weight:600}
.stat-value{font-size:30px;font-weight:700;color:#1b4c2c;line-height:1}
.stat-meta{font-size:12px;color:#5b7463}
.chart-card{background:#fff;border-radius:18px;padding:18px;border:1px solid rgba(46,125,50,0.18);box-shadow:0 8px 22px rgba(27,80,45,0.14);display:flex;flex-direction:column;gap:16px}
.chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.chart-head h3{margin:0;font-size:18px;color:#1b4c2c}
.chart-head small{color:#59745f}
.chart-bars{display:flex;align-items:flex-end;gap:18px;height:160px;padding:0 8px}
.chart-bars .chart-bar{flex:1 1 calc((100% - 11*18px)/12)}
.chart-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}
.chart-bar-fill{width:100%;max-width:36px;background:linear-gradient(180deg,#2E7D32 0%,#43A047 100%);border-radius:12px 12px 4px 4px;height:20%;transition:height .3s ease;box-shadow:0 8px 16px rgba(33,94,48,0.25)}
.chart-week{font-size:12px;color:#466351;font-weight:600}
.chart-value{font-size:12px;color:#1b4c2c;font-weight:600}
.chart-overlay{position:relative}
.chart-target-band{position:absolute;left:8px;right:8px;top:24px;height:72px;background:linear-gradient(180deg,rgba(76,175,80,0.10),rgba(76,175,80,0.06));border:1px dashed rgba(76,175,80,0.25);border-left:none;border-right:none;border-radius:6px;pointer-events:none}
.sma-layer{position:absolute;left:8px;right:8px;top:0;bottom:24px;pointer-events:none}
.sma-point{position:absolute;width:6px;height:6px;border-radius:999px;background:#15683a;transform:translate(-50%,-50%);opacity:.9}
.sma-line{position:absolute;height:2px;background:#2e7d32;opacity:.7;transform-origin:left center}
.hero.auth-view .chart-card{margin-top:4px}
.hero.auth-view .how-steps{display:none}
.hero.auth-view #how-unauth{display:none}
.hero.auth-view #auth-dashboard .btn{white-space:nowrap}
@media(max-width:900px){.hero{grid-template-columns:1fr}}
@media(max-width:600px){
  html[data-lang="fr"] #hero-intro .row{flex-wrap:wrap}
  html[data-lang="fr"] #hero-intro .row .btn,
  html[data-lang="fr"] #hero-intro .row button{font-size:15px;padding:10px 14px}
}
.card{background:#fff;border:1px solid #eee;border-radius:14px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
/* Small binder tag for cards */
.card .binder{position:absolute;top:6px;right:6px;background:#2E7D32;color:#fff;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-block;line-height:1}
.card .binder.binder-inline{right:6px;top:6px}
.card .binder:hover{background:#1b5e20}
/**h1{margin:.3em 0;color:var(--charcoal);font-size:32px}**/
h1{margin:.3em 0;color:#109b17;;font-size:32px}

h2{margin:.2em 0 8px;font-size:20px;color:#2b2b2b}
html[data-lang="fr"] #hero-intro{max-width:none;word-break:normal}
html[data-lang="fr"] #hero-intro h1{font-size:30px;line-height:1.15}
html[data-lang="fr"] #hero-intro p{font-size:15px;line-height:1.45;max-width:none;hyphens:auto;word-break:normal}
html[data-lang="fr"] #hero-intro .row{flex-wrap:nowrap;gap:8px}
html[data-lang="fr"] #hero-intro .row .btn,
html[data-lang="fr"] #hero-intro .row button{font-size:14px;padding:9px 12px;white-space:nowrap}
html[data-lang="fr"] .how-steps{gap:12px}
html[data-lang="fr"] .how-steps .label{font-size:15px;line-height:1.4;max-width:none;hyphens:auto;word-break:normal}
html[data-lang="fr"] #how h3{font-size:19px}
/* Ensure the How card can push the disclaimer to the bottom */
#how{display:flex;flex-direction:column}
#how small.muted{margin-top:auto;display:block}
button,.btn{background:var(--green);color:#fff;border:none;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-align:center}
button.secondary,.btn.secondary{background:#fff;color:var(--green);border:1px solid var(--green)}
.progress{height:10px;background:#eee;border-radius:999px;overflow:hidden}
.progress>span{display:block;height:100%;background:var(--gold);width:45%}
.hero-eyebrow{color:var(--green);font-size:14px;line-height:1.3;font-weight:600}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;border:1px solid #ddd;background:#fff}
.badge.good{border-color:var(--good);color:var(--good)}
.badge.ok{border-color:var(--ok);color:var(--ok)}
.badge.bad{border-color:var(--bad);color:var(--bad)}
small.muted{color:#777}

.fullbleed{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
/**.farm-wrap{background:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:10px 0} **/
.farm-wrap{background: var(--green);border-top:1px solid #eee;border-bottom:1px solid #eee;padding:10px 0}


.farm-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:8px 16px}
.season-line{display:flex;align-items:center;gap:10px; width:100%; justify-content:space-between}
.season-line strong{color:#fff;white-space:nowrap}
.season-line .crop-highlight{background:#ffe066;color:#1a1a1a;padding:0 6px;border-radius:6px;display:inline-block;margin-right:4px}
.season-tip{color:#fff;white-space:nowrap;margin-right:10px}
.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.right-tools{display:flex;align-items:center;gap:10px}
.right-tools label[for='crop-filter']{color:#fff}
.legend{display:flex;gap:10px}
/* Responsive 30x30 grid aligned with container */
.grid{
  --cols: 30;
  --gap: 4px;
  display:grid;grid-template-columns:repeat(var(--cols), minmax(0,1fr));
  gap:var(--gap);
  max-width:1100px; /* align with container/cards */
  margin:0 auto;
  padding:12px;
  grid-auto-flow:dense;
}
/* Mobile crop picker */
.mobile-crops{display:none}
.mobile-crops .crop-card{position:relative; border:2px solid #e0e0e0; border-radius:12px; overflow:hidden; aspect-ratio:5/4; background:#f4f4f4; cursor:pointer; background-size:cover; background-position:center}
.mobile-crops .crop-card .label{position:absolute;left:8px;bottom:8px;background:rgba(255,255,255,.9);padding:4px 8px;border-radius:8px;color:#1a1a1a;text-transform:capitalize;font-weight:600;font-size:12px}
.mobile-crops .crop-card.owned{border-color:#2E7D32; box-shadow:0 0 0 2px #2E7D32 inset}
.tile{
  width:100%;
  aspect-ratio:1/1;
  border-radius:6px;border:1px solid #e0e0e0;background:#fafafa;position:relative;
  display:flex;align-items:center;justify-content:center;font-size:10px;color:#777;cursor:pointer;user-select:none;
}
.tile.owned{outline:2px solid var(--green)}
.tile.mine{grid-column:span 5; grid-row:span 4; aspect-ratio:5/4; border:2px solid var(--green); box-shadow:0 2px 6px rgba(0,0,0,.08); font-size:14px; position:relative; overflow:hidden}
.tile.mine::before, .tile.mine::after{content:""; position:absolute; inset:0; border-radius:inherit}
.tile.mine .pid, .tile.mine .crop-center, .tile.mine .dot{position:relative; z-index:1}
/* Position Plot ID (mine) top-left */
.tile .pid{font-weight:700}
.tile.mine .pid{position:absolute;top:6px;left:8px;color:#1a1a1a;font-size:12px}
/* Center crop icon + label */
.tile.mine .crop-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;text-transform:capitalize}
.tile.mine .crop-center .emo{font-size:42px;line-height:1}
.tile.mine .crop-center .label{font-size:12px;color:#1a1a1a;opacity:.9;margin-top:4px}
/* Crop themes for user-owned tiles */
/* Crop field textures */
.tile.mine.crop-corn{border-color:#DCA73B}
/* Use a real field photo if present at assets/crops/corn.jpg; overlay a gentle gradient for legibility */
.tile.mine.crop-corn::before{
  background:
    linear-gradient(to top, rgba(0,0,0,.12), rgba(0,0,0,.05)),
    url('assets/crops/corn.jpg');
  background-size: auto, cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.03);
}
/* Optional subtle vignette/noise; kept light so photo dominates */
.tile.mine.crop-corn::after{
  background:
    radial-gradient(circle at 10% 10%, rgba(255,255,255,.18) 0 12%, transparent 12%),
    radial-gradient(circle at 85% 85%, rgba(0,0,0,.10) 0 16%, transparent 16%);
  opacity:.35;
}
/* Improve label readability on photos */
.tile.mine.crop-corn .crop-center .label{background:rgba(255,255,255,.75); padding:2px 8px; border-radius:8px}

.tile.mine.crop-wheat{border-color:#C68A2D}
.tile.mine.crop-wheat::before{
  background:
    linear-gradient(to top, rgba(0,0,0,.12), rgba(0,0,0,.05)),
    url('assets/crops/wheat.jpg');
  background-size: auto, cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.03);
}
.tile.mine.crop-wheat .crop-center .label{background:rgba(255,255,255,.75); padding:2px 8px; border-radius:8px}

.tile.mine.crop-groundnut{border-color:#A6612A}
.tile.mine.crop-groundnut::before{
  background:
    linear-gradient(to top, rgba(0,0,0,.12), rgba(0,0,0,.05)),
    url('assets/crops/groundnut.jpg');
  background-size: auto, cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.03);
}
.tile.mine.crop-groundnut::after{
  background:
    radial-gradient(circle at 12% 18%, rgba(67,160,71,.45) 0 12%, transparent 12%),
    radial-gradient(circle at 84% 76%, rgba(56,142,60,.4) 0 12%, transparent 12%);
  opacity:.35;
}
.tile.mine.crop-groundnut .crop-center .label{background:rgba(255,255,255,.75); padding:2px 8px; border-radius:8px}

.tile.mine.crop-rice{border-color:#2E7D32}
.tile.mine.crop-rice::before{
  background:
    linear-gradient(to top, rgba(0,0,0,.12), rgba(0,0,0,.05)),
    url('assets/crops/rice.jpg');
  background-size: auto, cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.03);
}
.tile.mine.crop-rice .crop-center .label{background:rgba(255,255,255,.75); padding:2px 8px; border-radius:8px}

.tile.mine.crop-tomato{border-color:#C62828}
.tile.mine.crop-tomato::before{
  background:
    linear-gradient(to top, rgba(0,0,0,.12), rgba(0,0,0,.05)),
    url('assets/crops/tomato.jpg');
  background-size: auto, cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.03);
}
.tile.mine.crop-tomato::after{
  background:
    radial-gradient(circle at 10% 14%, rgba(67,160,71,.45) 0 12%, transparent 12%),
    radial-gradient(circle at 82% 76%, rgba(46,125,50,.4) 0 12%, transparent 12%);
  opacity:.40;
}
.tile.mine.crop-tomato .crop-center .label{background:rgba(255,255,255,.75); padding:2px 8px; border-radius:8px}

.tile.mine.crop-onion{border-color:#94703B}
.tile.mine.crop-onion::before{
  background:
    linear-gradient(to top, rgba(0,0,0,.12), rgba(0,0,0,.05)),
    url('assets/crops/onion.jpg');
  background-size: auto, cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.03);
}
.tile.mine.crop-onion::after{
  background:
    radial-gradient(circle at 18% 20%, rgba(233,196,106,.35) 0 14%, transparent 14%),
    radial-gradient(circle at 78% 78%, rgba(234,179,8,.28) 0 16%, transparent 16%);
  opacity:.35;
}
.tile.mine.crop-onion .crop-center .label{background:rgba(255,255,255,.78); padding:2px 8px; border-radius:8px}

/* Sorghum */
.tile.mine.crop-sorghum{border-color:#8D6E63}
.tile.mine.crop-sorghum::before{
  background:
    linear-gradient(to top, rgba(0,0,0,.12), rgba(0,0,0,.05)),
    url('assets/crops/sorghum.jpg');
  background-size: auto, cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.03);
}
.tile.mine.crop-sorghum .crop-center .label{background:rgba(255,255,255,.75); padding:2px 8px; border-radius:8px}

/* Millet */
.tile.mine.crop-millet{border-color:#7CB342}
.tile.mine.crop-millet::before{
  background:
    linear-gradient(to top, rgba(0,0,0,.12), rgba(0,0,0,.05)),
    url('assets/crops/millet.jpg');
  background-size: auto, cover;
  background-position: center center;
  background-repeat: no-repeat;
  filter: saturate(1.05) contrast(1.03);
}
.tile.mine.crop-millet .crop-center .label{background:rgba(255,255,255,.75); padding:2px 8px; border-radius:8px}
.tile[data-health="good"]{background:#E8F5E9}
.tile[data-health="ok"]{background:#FFF8E1}
.tile[data-health="stressed"]{background:#FDECEA}
.tile .dot{position:absolute;bottom:4px;left:4px;width:6px;height:6px;border-radius:50%}
.tile[data-health="good"] .dot{background:var(--good)}
.tile[data-health="ok"] .dot{background:var(--ok)}
.tile[data-health="stressed"] .dot{background:#C0392B}

/* Load more button area */
.more-wrap{max-width:1100px;margin:0 auto 16px;display:flex;justify-content:center}

.drawer{
  position:fixed;right:0;top:0;width:440px;max-width:95vw;height:100vh;background:#fff;border-left:1px solid #eee;
  transform:translateX(100%);transition:transform .25s ease;z-index:20;display:flex;flex-direction:column
}
.drawer.open{transform:translateX(0)}
.drawer .hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #eee;gap:12px}
.drawer .hdr .row{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.drawer .hdr .row .btn,
.drawer .hdr .row .secondary{flex:0 0 auto}
.drawer .body{padding:18px 20px 24px;overflow:auto}
.drawer .body .row button{white-space:pre-line;text-align:center;}
.drawer .body .row button.secondary{white-space:pre-line;}
.drawer .body .row{display:flex;flex-wrap:wrap;gap:12px;}
.drawer .body .row button,
.drawer .body .row button.secondary{flex:1 1 calc(50% - 12px);margin:0;}
.drawer-action-results{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.drawer.drawer-expanded{width:min(1040px,96vw)}
.drawer.drawer-expanded .body{padding:0}
.drawer-expanded-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,0.9fr);gap:28px;padding:24px 28px 32px}
.drawer-expanded-grid .drawer-primary{display:flex;flex-direction:column;gap:24px}
.drawer-expanded-grid .drawer-aside{display:flex;flex-direction:column;gap:18px}
.drawer-owner-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.drawer-owner-metrics .metric-card{background:#f5fbf5;border:1px solid #dbe7d7;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.drawer-owner-metrics .metric-card.metric-health{background:#fff7f3;border-color:#ffd9c8}
.drawer-owner-metrics .metric-card.metric-yield{background:#eef3ff;border-color:#cfd8ff}
.drawer-owner-metrics .metric-card.metric-coords{background:#eef2ff;border-color:#c7d2fe}
.drawer-owner-metrics .metric-card.metric-ph{background:#fff4e5;border-color:#f6c976}
.drawer-owner-metrics .metric-card.metric-moisture{background:#e0f7fa;border-color:#7dd3fc}
.drawer-owner-metrics .metric-card.metric-coords .metric-label,
.drawer-owner-metrics .metric-card.metric-coords .metric-value{color:#1e3a8a}
.drawer-owner-metrics .metric-card.metric-ph .metric-label,
.drawer-owner-metrics .metric-card.metric-ph .metric-value{color:#7a3410}
.drawer-owner-metrics .metric-card.metric-moisture .metric-label,
.drawer-owner-metrics .metric-card.metric-moisture .metric-value{color:#045b62}
.metric-card .metric-label{font-size:12px;text-transform:uppercase;letter-spacing:0.05em;color:#4f6556}
.metric-card .metric-value{font-size:19px;font-weight:600;color:#1f3d2a}
.metric-card .metric-badge{font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center}
.drawer-owner-actions{background:#f9fcf9;border:1px solid #dcead6;border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.drawer-owner-actions header h3{margin:0;font-size:16px;color:#1f3d2a}
.drawer-owner-actions header p{margin:0;font-size:13px;color:#48604f}
.drawer-owner-actions .row{margin-top:0 !important}
.drawer-owner-actions small.muted{display:block;margin-top:4px}
.drawer-hero-card{position:relative;border-radius:18px;overflow:hidden;background:#12251b;color:#fff}
.drawer-hero-card img{width:100%;height:220px;object-fit:cover;display:block;filter:saturate(1.08)}
.drawer-hero-card .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,11,0.25) 0%,rgba(7,18,11,0.65) 60%,rgba(7,18,11,0.85) 100%);padding:22px 22px 20px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px}
.hero-overlay .hero-tag{font-size:12px;text-transform:uppercase;letter-spacing:0.12em;opacity:0.85}
.hero-overlay h3{margin:0;font-size:24px;font-weight:700}
.hero-overlay p{margin:0;font-size:14px;line-height:1.45;opacity:0.92}
.hero-overlay .hero-window{margin:0;font-size:13px;color:rgba(255,255,255,0.9);font-weight:600}
.drawer-card{border-radius:14px;padding:18px 20px;background:#fff;border:1px solid #e6ede3;display:flex;flex-direction:column;gap:12px}
.weather-card{background:#edf4ff;border-color:#cfdfff;color:#173455}
.weather-card h3{margin:0;font-size:16px}
.weather-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.weather-metric{display:flex;flex-direction:column;gap:4px;font-size:12px;text-transform:uppercase;letter-spacing:0.05em;color:#48607a}
.weather-value{font-size:18px;font-weight:600;color:#143962}
.weather-note{margin:0;font-size:13px;color:#1f3656;line-height:1.45}
.plan-card{background:#f5fbf3;border-color:#d7ead0;color:#1f3d2a}
.plan-card h3{margin:0;font-size:16px}
.plan-card .plan-mix{font-weight:600}
.plan-card .plan-window{font-size:13px;color:#2f4f37}
.plan-card .plan-rationale{margin:0;font-size:13px;line-height:1.5;color:#294733}
.plan-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.plan-card ul li{font-size:12px;color:#34503a}
.plan-card ul li strong{display:block;font-weight:600;color:#1f3d2a}
.plan-card ul li span{display:block;margin-top:2px}
.drawer-field-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px}
.drawer-field-card .big-tile{margin:0}

@media (max-width: 992px) {
  .drawer.drawer-expanded{width:100vw}
  .drawer-expanded-grid{grid-template-columns:1fr;padding:22px 20px 28px;gap:24px}
  .drawer-expanded-grid .drawer-aside{order:-1}
  .drawer-owner-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .drawer-owner-actions{padding:16px 18px}
}

@media (max-width: 768px) {
  .drawer-hero-card img{height:200px}
  .weather-grid{grid-template-columns:1fr}
  .drawer-owner-actions{padding:16px}
  .drawer-card{padding:16px 18px}
  .plan-card .plan-mix,
  .plan-card .plan-window,
  .plan-card .plan-rationale{font-size:12px}
  .plan-card ul li{font-size:11px}
}

@media (max-width: 576px) {
  .drawer-expanded-grid{padding:16px 14px 22px;gap:18px}
  .drawer-owner-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
  .drawer-hero-card img{height:180px}
  .hero-overlay h3{font-size:22px}
  .hero-overlay p{font-size:13px}
  .drawer-field-card{padding:14px}
}
.fert-card{border:1px solid #dbe7d7;border-radius:12px;padding:16px;background:#f9fdf9;box-shadow:0 4px 14px rgba(33,70,40,0.08)}
.fert-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 0 8px}
.fert-card-head h3{margin:0;font-size:16px;color:#1f3d2a}
.fert-card-head .fert-signals{margin:4px 0 0;font-size:12px;color:#4d6454}
.fert-data{display:grid;grid-template-columns:160px 1fr;gap:4px 14px;margin:0}
.fert-data dt{margin:0;font-weight:600;color:#295136;font-size:13px}
.fert-data dd{margin:0;color:#1f3326;font-size:13px}
.fert-why{margin:10px 0 0;font-size:13px;line-height:1.5;color:#2f4533;background:#eef7ee;border:1px solid #d6e8d6;border-radius:8px;padding:10px 12px}
.fert-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.fert-card .fert-actions button{flex:0 0 auto}
.fert-alt,.fert-adjust{margin-top:12px;padding:12px;border-radius:8px;background:#f1f8e9;border:1px solid #dbe7d7;font-size:13px;color:#1f3326}
.fert-alt .alt-label{font-weight:600;color:#245434}
.fert-adjust .dose-options{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}
.fert-adjust .dose-options button{flex:0 0 auto}
.fert-adjust .dose-options button.active{background:var(--green);color:#fff}
.fert-adjust .dose-display{margin:4px 0 0;font-size:13px;color:#1f3326;display:flex;gap:6px;align-items:baseline}
.fert-card .badge{background:#2E7D32;color:#fff}
.irr-card{border:1px solid #d0e5ff;border-radius:12px;padding:16px;background:#f4f9ff;box-shadow:0 4px 16px rgba(15,55,90,0.08)}
.irr-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 0 8px}
.irr-card-head h3{margin:0;font-size:16px;color:#123457}
.irr-card-head .irr-signals{margin:4px 0 0;font-size:12px;color:#3a567d}
.irr-headline{margin:0 0 10px;font-size:13px;line-height:1.5;color:#15385c;background:#e6f1ff;border:1px solid #c7ddff;border-radius:8px;padding:10px 12px}
.irr-data{display:grid;grid-template-columns:170px 1fr;gap:4px 14px;margin:0}
.irr-data dt{margin:0;font-weight:600;color:#244a6d;font-size:13px}
.irr-data dd{margin:0;color:#123457;font-size:13px}
.irr-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff}
.irr-status.irr-now{background:#0f7a2d}
.irr-status.irr-topup{background:#1e88e5}
.irr-status.irr-monitor{background:#6b7280}
.irr-status.irr-delay{background:#d97706}
.irr-runtimes{margin:10px 0 0}
.irr-runtimes strong{display:block;margin-bottom:6px;color:#123457;font-size:13px}
.irr-runtime-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.irr-runtime-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #d7e6ff;font-size:12px;color:#123457}
.irr-window{margin:10px 0 0;font-size:13px;color:#14365b;font-weight:600}
.irr-note{margin:8px 0 0;font-size:12px;color:#123457;background:#edf4ff;border:1px solid #cfe1ff;border-radius:8px;padding:10px 12px}
.irr-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.irr-adjust{margin-top:10px;padding:12px;border-radius:8px;background:#eef6ff;border:1px solid #cfe1ff;font-size:12px;color:#123457}
.yield-card{border:1px solid #e5d8ff;border-radius:12px;padding:16px;background:#f9f6ff;box-shadow:0 4px 16px rgba(76,29,149,0.08)}
.yield-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 0 8px}
.yield-card-head h3{margin:0;font-size:16px;color:#2a1760}
.yield-card-head .yield-sub{margin:4px 0 0;font-size:12px;color:#4b2f74}
.yield-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:10px 0 14px}
.yield-stat{background:#fff;border:1px solid #e0d3ff;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;color:#2a1760;font-size:12px}
.yield-stat strong{font-size:14px;color:#3b1f82}
.yield-section{margin:10px 0 0;font-size:12px;color:#2a1760}
.yield-section strong{display:block;margin-bottom:4px;font-size:13px;color:#3b1f82}
.yield-section ul{margin:0;padding-left:18px}
.yield-section li{margin-bottom:4px;line-height:1.4}
.yield-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.yield-card .badge{background:#4c1d95;color:#fff}
.pest-card{border:1px solid #d9e2f3;border-radius:12px;padding:16px;background:#f7faff;box-shadow:0 4px 14px rgba(30,64,175,0.08)}
.pest-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 0 10px}
.pest-card-head h3{margin:0;font-size:16px;color:#10294d}
.pest-card-head .pest-signals{margin:4px 0 0;font-size:12px;color:#425d85}
.pest-narrative{margin:0;font-size:13px;color:#11263f}
.pest-scout{margin:6px 0 10px;font-size:13px;color:#1b3a64;font-weight:600}
.pest-risk-list{display:flex;flex-direction:column;gap:12px}
.pest-risk{border:1px solid rgba(16,38,63,0.12);border-radius:10px;padding:12px;background:#fff}
.pest-risk-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}
.pest-risk-head h4{margin:0;font-size:14px;color:#10263f}
.pest-risk-badge{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff}
.pest-risk-badge.risk-high{background:#c62828}
.pest-risk-badge.risk-medium{background:#ed6c02}
.pest-risk-badge.risk-low{background:#2e7d32}
.pest-summary{margin:0 0 6px;font-size:13px;color:#1d324f}
.pest-cues{margin:0 0 6px 18px;padding:0;color:#1d324f;font-size:12px;list-style:disc}
.pest-cues li{margin-bottom:4px}
.pest-action{margin:0;font-size:12px;color:#0f2f59;font-weight:600}
.pest-followup{margin:10px 0 0;font-size:13px;color:#11263f;background:#ecf3ff;border:1px solid #d2e1fb;border-radius:8px;padding:10px 12px}
.pest-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pest-treatment{margin-top:10px;padding:12px;border-radius:8px;background:#eaf1ff;border:1px solid #c9dbff;font-size:12px;color:#10263f}
.pest-risk.risk-high{border-color:#f5c3c3;background:#fff5f5}
.pest-risk.risk-medium{border-color:#ffddb3;background:#fff7ed}
.pest-risk.risk-low{border-color:#cde7d0;background:#f2faf3}
.pest-card .badge{background:#1b4f9c;color:#fff}
/* Simple treatments table styling */
.treatments-table{width:100%;border-collapse:collapse;margin-top:10px}
.treatments-table th,.treatments-table td{border:1px solid rgba(26,26,26,0.08);padding:8px;text-align:left;font-size:12px}
.rt-title{margin:14px 0 4px 0;font-size:14px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:8px 14px}
.kv-card{margin-top:10px;background:linear-gradient(140deg,rgba(219,238,227,0.9),rgba(199,229,214,0.92));padding:14px 16px;border-radius:14px;border:1px solid rgba(27,94,32,0.18);box-shadow:0 10px 24px -12px rgba(17,46,24,0.32)}
.kv-card .kv-label{font-weight:600;color:#135834;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.kv-card .kv-value{font-weight:600;color:#123326}

/* Large preview tile inside drawer */
.big-tile{margin-top:14px;border:1px solid #e0e0e0;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(135deg,#fafafa,#f0fff3)}
.big-tile[data-health="good"]{background:linear-gradient(135deg,#e8f5e9,#f0fff3)}
.big-tile[data-health="ok"]{background:linear-gradient(135deg,#fff8e1,#fffaf0)}
.big-tile[data-health="stressed"]{background:linear-gradient(135deg,#fdecea,#fff0f0)}
.big-tile .big-id{font-weight:700;font-size:22px;color:#333}
.big-tile .big-crop{font-size:18px;color:#2b2b2b}
.big-tile .big-yield{font-size:14px;color:#555}

/* Owner: show large field photo hero */
.big-tile.with-art{position:relative;overflow:hidden;background:none;border-color:#d8e3d8;min-height:240px;padding:16px;display:flex;flex-direction:column;justify-content:flex-end}
.big-tile.with-art::before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.03)}
.big-tile.with-art::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.42),rgba(0,0,0,.2) 60%,rgba(0,0,0,0))}
.big-tile.with-art .big-id,.big-tile.with-art .big-crop,.big-tile.with-art .big-yield{position:relative;z-index:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.big-tile.with-art .big-id{font-size:24px}
.big-tile.with-art .big-crop{font-size:18px}
.big-tile.with-art .big-yield{font-size:14px}

.big-tile.mine{border-color:#bcd3bc;box-shadow:0 6px 20px rgba(28,60,32,0.18)}

/* Per-crop images for the big tile */
.big-tile.with-art.crop-corn::before{background-image:url('assets/crops/corn.jpg');}
.big-tile.with-art.crop-wheat::before{background-image:url('assets/crops/wheat.jpg');}
.big-tile.with-art.crop-onion::before{background-image:url('assets/crops/onion.jpg');}
.big-tile.with-art.crop-groundnut::before{background-image:url('assets/crops/groundnut.jpg');}
.big-tile.with-art.crop-rice::before{background-image:url('assets/crops/rice.jpg');}
.big-tile.with-art.crop-tomato::before{background-image:url('assets/crops/tomato.jpg');}
.big-tile.with-art.crop-sorghum::before{background-image:url('assets/crops/sorghum.jpg');}
.big-tile.with-art.crop-millet::before{background-image:url('assets/crops/millet.jpg');}


/* Rice treatments table (owner) */
.rice-treat, .groundnut-treat, .corn-treat, .wheat-treat, .tomato-treat, .onion-treat{margin-top:12px;border:1px solid #e6e6e6;border-radius:10px;padding:10px;background:#fff}
.rice-treat .rt-title, .groundnut-treat .rt-title, .corn-treat .rt-title, .wheat-treat .rt-title, .tomato-treat .rt-title, .onion-treat .rt-title{margin:0 0 8px;font-size:16px;color:#2E7D32}
/* Highlighted notes under treatment tables */
.rice-treat .treat-note,
.groundnut-treat .treat-note,
.corn-treat .treat-note,
.wheat-treat .treat-note,
.tomato-treat .treat-note,
.onion-treat .treat-note{margin-top:10px;padding:10px 12px;border-radius:8px;background:#E8F5E9;border:1px solid #cfe8d0;color:#1a1a1a;font-size:13px}
table.treatments-table{width:100%;border-collapse:collapse;table-layout:fixed}
.treatments-table th,.treatments-table td{padding:8px;border-bottom:1px solid #eee;text-align:left;vertical-align:top;font-size:13px;word-break:break-word;overflow-wrap:anywhere;white-space:normal}
.treatments-table th{background:#fafafa;color:#2b2b2b}
/* Zebra striping for readability */
.treatments-table tbody tr:nth-child(even){background:#E8F5E9}
.treatments-table tbody tr:nth-child(odd){background:#ffffff}
.treatments-table tbody tr:hover{background:#DFF0E1}

.modal{
  position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:70
}
.modal.open{display:flex}
.modal .panel{background:#fff;border-radius:14px;max-width:520px;width:92vw;padding:16px;border:1px solid #eee;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.modal-head{position:relative;padding-top:0;margin-bottom:12px}
.modal-head .modal-title{margin:28px 0 0;color:inherit;font-size:22px;line-height:1.3}
.modal-head .modal-close-top{position:absolute;top:0;right:0;background:transparent;border:none;color:#2E7D32;font-weight:600;cursor:pointer;padding:0;font-size:14px}
.modal-head .modal-close-top:hover,.modal-head .modal-close-top:focus-visible{text-decoration:underline;outline:none}
.modal-head.modal-head-stacked .modal-title{margin-top:32px}
.modal-copy{margin:0 0 12px;display:flex;flex-direction:column;gap:.75rem;color:#1b1b1b;font-size:15px;line-height:1.6}
.modal-copy p{margin:0}
.password-field{position:relative;display:flex;align-items:center}
.password-field input[data-password-field]{padding-right:50px}
.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#2E7D32;font-size:18px;cursor:pointer;padding:6px 8px;border-radius:8px;line-height:1;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;transition:background-color 0.2s ease}
.password-toggle:hover{background:rgba(46,125,50,0.08)}
.password-toggle:active{background:rgba(46,125,50,0.15)}
.password-toggle:focus{outline:2px solid rgba(46,125,50,0.35);outline-offset:2px;background:rgba(46,125,50,0.06)}
.password-toggle.visible{color:#1b4c2c}
.password-toggle .eye{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}
.password-toggle .eye-slash{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:#2E7D32}
.password-toggle .eye-slash .eye-icon{opacity:1}
.password-toggle .eye-slash .eye-slash-mark{position:absolute;font-size:20px;font-weight:700;transform:rotate(25deg);color:#1b4c2c;top:-6px;left:0}
.password-summary{font-size:12px;color:#5a6b5a}
.password-rules{margin:6px 0 0;padding:0;list-style:none;font-size:12px;color:#647564;display:flex;flex-direction:column;gap:4px}
.password-rules li{display:flex;align-items:center;gap:6px;color:inherit;transition:color .2s ease,font-weight .2s ease}
.password-rules li::before{content:'✗';font-size:12px;color:#c62828}
.password-rules li.valid{color:#2E7D32;font-weight:600}
.password-rules li.valid::before{content:'✓';font-size:12px;color:#2E7D32}
/* Checkout modal styling */
#modal-checkout .panel{border-color:#cfe8d0;background:linear-gradient(0deg,#f7fbf7 0%,#ffffff 42%);max-width:500px;padding:20px}
#modal-checkout h2{color:#2E7D32}
#modal-checkout .form{display:flex;flex-direction:column;gap:12px}
#modal-checkout .form label{display:block;margin:12px 0}
#modal-checkout input:not([type="checkbox"]), #modal-checkout select{width:100%;padding:12px 14px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;outline:none;transition:border-color .15s, box-shadow .15s;font-size:15px}
#modal-checkout input:not([type="checkbox"]):focus, #modal-checkout select:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.12);background:#fff}
#modal-checkout .uploader{padding:12px;border:1px dashed #d8e3d8;border-radius:10px;background:#f9fbf9;color:#2b2b2b}
#modal-checkout label.agree{display:flex;align-items:center;gap:10px;margin-top:4px;margin-bottom:4px}
#modal-checkout label.agree input[type="checkbox"]{width:auto;min-width:18px;height:18px}
/* Green-themed header accent for modals */
#modal-login .panel{border-color:#cfe8d0;background:linear-gradient(0deg, #f7fbf7 0%, #ffffff 42%);max-width:380px;padding:20px}
#modal-login h2{color:#2E7D32}
#modal-login .form{display:flex;flex-direction:column;gap:12px}
#modal-login .form label{display:block;margin:12px 0}
#modal-login input{width:100%;padding:14px 14px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;outline:none;transition:border-color .15s, box-shadow .15s;font-size:16px}
#modal-login input:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.15);background:#fff}
#modal-login .forgot-link{font-size:13px;color:#2E7D32}
/* Reset Request modal styling to match login */
#modal-reset-req .panel{border-color:#cfe8d0;background:linear-gradient(0deg, #f7fbf7 0%, #ffffff 42%);max-width:380px;padding:20px}
#modal-reset-req h2{color:#2E7D32}
#modal-reset-req .form{display:flex;flex-direction:column;gap:12px}
#modal-reset-req .form label{display:block;margin:12px 0}
#modal-reset-req input{width:100%;padding:14px 14px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;outline:none;transition:border-color .15s, box-shadow .15s;font-size:16px}
#modal-reset-req input:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.15);background:#fff}
#modal-reset-req .modal-error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:10px;background:#fdecea;border:1px solid rgba(192,57,43,0.28);color:#7a1f1f;font-size:13px;font-weight:600}
#modal-reset-req .modal-error::before{content:'⚠️';font-size:16px;line-height:1}
#modal-reset-req .modal-error[hidden]{display:none}
/* Reset Complete modal styling to match login */
#modal-reset .panel{border-color:#cfe8d0;background:linear-gradient(0deg, #f7fbf7 0%, #ffffff 42%);max-width:420px;padding:20px}
#modal-reset h2{color:#2E7D32}
#modal-reset .form{display:flex;flex-direction:column;gap:12px}
#modal-reset .form label{display:block;margin:12px 0}
#modal-reset input{width:100%;padding:14px 14px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;outline:none;transition:border-color .15s, box-shadow .15s;font-size:16px}
#modal-reset input:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.15);background:#fff}

/* Corporate Sponsorship Inquiry modal (green theme) */
#modal-sponsorblock .panel{border-color:#cfe8d0;background:linear-gradient(0deg, #f7fbf7 0%, #ffffff 42%);max-width:520px;padding:20px}
#modal-sponsorblock h2{color:#2E7D32}
#modal-sponsorblock .form{display:flex;flex-direction:column;gap:12px}
#modal-sponsorblock .form label{display:block;margin:12px 0}
#modal-sponsorblock input,#modal-sponsorblock select,#modal-sponsorblock textarea{width:100%;padding:12px 14px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;outline:none;transition:border-color .15s, box-shadow .15s;font-size:15px}
#modal-sponsorblock input:focus,#modal-sponsorblock select:focus,#modal-sponsorblock textarea:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.12);background:#fff}
#modal-sponsorblock .modal-subtext{margin:6px 0 12px}

/* Green-accent info/disclaimer blocks */
.checkout-disclaimer{margin:8px 0 10px;padding:10px 12px;border-radius:10px;background:#E8F5E9;border:1px solid #cfe8d0;border-left:4px solid #2E7D32;color:#1a1a1a;font-size:13px;line-height:1.4}
.checkout-disclaimer a{color:#2E7D32}

.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:25
}
.overlay.open{display:block}
.panel-right.panel-timeline{
  width:1340px;
  max-width:97vw;
  padding:28px;
  gap:20px;
  background:#fff;
  display:flex;
  flex-direction:column;
}
.panel-right.panel-timeline.open{transform:translateX(0)}
.panel-right.panel-timeline .timeline-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.panel-right.panel-timeline .timeline-panel-head h2{margin:0;font-size:28px;color:#123021}
.panel-right.panel-timeline .timeline-subtitle{margin:4px 0 0;color:#5c6c63;font-size:15px;line-height:1.5}
.panel-right.panel-timeline .timeline-progress{
  width:100%;
  height:10px;
  border-radius:999px;
  background:#eef2ee;
  overflow:hidden;
}
.panel-right.panel-timeline .timeline-progress-bar{
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#3498db,#2ecc71,#f39c12,#e74c3c);
  transition:width .8s ease;
}
.panel-right.panel-timeline .timeline-scroll{
  flex:1 1 auto;
  overflow-y:auto;
  padding-right:8px;
}
.panel-right.panel-timeline .timeline-layout{
  display:grid;
  grid-template-columns:minmax(320px,0.95fr) minmax(360px,1.05fr);
  gap:20px;
  align-items:flex-start;
}
.panel-right.panel-timeline .timeline-info-panel{
  background:#fefefe;
  border-radius:18px;
  padding:18px;
  border:1px solid #e4ebe3;
  box-shadow:0 12px 28px rgba(18,52,30,0.08);
  display:flex;
  flex-direction:column;
  gap:18px;
  position:sticky;
  top:0;
  max-height:calc(100vh - 190px);
  overflow-y:auto;
}
.panel-right.panel-timeline .timeline-info-section{
  padding-bottom:16px;
  border-bottom:1px solid #e6ede4;
}
.panel-right.panel-timeline .timeline-info-section:last-child{border-bottom:none;padding-bottom:0}
.panel-right.panel-timeline .timeline-section-title{
  margin:0;
  font-size:19px;
  color:#134424;
  display:flex;
  align-items:center;
  gap:8px;
  border-bottom:2px solid rgba(46,125,50,.35);
  padding-bottom:6px;
}
.panel-right.panel-timeline .timeline-kpi-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.panel-right.panel-timeline .timeline-kpi-item{
  background:#f2f8f1;
  border-radius:10px;
  padding:10px;
  border:1px solid #dfe8e1;
  font-size:15px;
  color:#1f3525;
}
.panel-right.panel-timeline .timeline-subsection{margin-bottom:14px}
.panel-right.panel-timeline .timeline-subsection:last-child{margin-bottom:0}
.panel-right.panel-timeline .timeline-subsection-title{
  margin:0 0 6px;
  font-weight:600;
  color:#1d532b;
  font-size:16px;
  display:flex;
  align-items:center;
  gap:6px;
}
.panel-right.panel-timeline .timeline-subsection-heading{
  margin:0 0 8px;
  font-weight:600;
  color:#1d532b;
  font-size:16px;
}
.panel-right.panel-timeline .timeline-subsection ul{
  margin:0 0 6px;
  padding-left:18px;
  color:#435144;
  font-size:15px;
  line-height:1.45;
}
.panel-right.panel-timeline .timeline-blueprints{
  margin:8px 0 0;
  padding-left:20px;
  color:#405043;
  font-size:15px;
  line-height:1.5;
}
.panel-right.panel-timeline .timeline-blueprints li{margin-bottom:6px}
.panel-right.panel-timeline .timeline-blueprints li strong{color:#123821}
.panel-right.panel-timeline .timeline-operations{
  list-style:none;
  margin:10px 0 0;
  padding-left:0;
}
.panel-right.panel-timeline .timeline-operations li{margin-bottom:14px}
.panel-right.panel-timeline .timeline-operations-label{
  display:block;
  font-weight:600;
  color:#10351f;
  margin-bottom:4px;
}
.panel-right.panel-timeline .timeline-operations-body{
  display:block;
  color:#384c41;
  line-height:1.5;
}
.panel-right.panel-timeline .phase-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  background:#2E7D32;
  color:#fff;
  border-radius:999px;
  padding:2px 8px;
}
.panel-right.panel-timeline .phase-tag.phase-b{background:#1b6dd0}
.panel-right.panel-timeline .phase-tag.phase-c{background:#f39c12}
.panel-right.panel-timeline .phase-tag.phase-d{background:#8e44ad}
.panel-right.panel-timeline .timeline-container{
  background:#fff;
  border-radius:18px;
  padding:20px;
  border:1px solid #e4ebe3;
  box-shadow:0 14px 30px rgba(18,52,30,0.08);
}
.panel-right.panel-timeline .timeline{
  position:relative;
  margin:0 auto;
  padding:10px 0;
  max-width:780px;
}
.panel-right.panel-timeline .timeline::after{
  content:'';
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:6px;
  margin-left:-3px;
  background:linear-gradient(to bottom,#3498db,#2ecc71,#f39c12,#c0392b);
  border-radius:999px;
}
.panel-right.panel-timeline .timeline .milestone{
  width:50%;
  padding:12px 32px;
  position:relative;
  opacity:0;
  transform:translateY(16px);
  animation:timelineFadeUp .5s forwards;
}
.panel-right.panel-timeline .timeline .milestone:nth-child(odd){animation-delay:.1s}
.panel-right.panel-timeline .timeline .milestone:nth-child(even){animation-delay:.2s}
.panel-right.panel-timeline .timeline .milestone.left{left:0;text-align:left}
.panel-right.panel-timeline .timeline .milestone.right{left:50%;text-align:left}
.panel-right.panel-timeline .timeline .milestone::after{
  content:'';
  position:absolute;
  top:24px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  border:4px solid #2ecc71;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.panel-right.panel-timeline .timeline .milestone.left::after{right:-10px}
.panel-right.panel-timeline .timeline .milestone.right::after{left:-10px}
.panel-right.panel-timeline .milestone-content{
  background:#fff;
  border-radius:14px;
  box-shadow:0 12px 32px rgba(3,32,12,0.08);
  padding:18px 20px;
  border-left:5px solid #2ecc71;
}
.panel-right.panel-timeline .timeline .milestone:nth-child(2) .milestone-content{border-left-color:#3498db}
.panel-right.panel-timeline .timeline .milestone:nth-child(3) .milestone-content{border-left-color:#2ecc71}
.panel-right.panel-timeline .timeline .milestone:nth-child(4) .milestone-content{border-left-color:#f39c12}
.panel-right.panel-timeline .timeline .milestone:nth-child(5) .milestone-content{border-left-color:#9b59b6}
.panel-right.panel-timeline .timeline .milestone:nth-child(6) .milestone-content{border-left-color:#1abc9c}
.panel-right.panel-timeline .timeline .milestone:nth-child(7) .milestone-content{border-left-color:#d35400}
.panel-right.panel-timeline .timeline .milestone:nth-child(8) .milestone-content{border-left-color:#16a085}
.panel-right.panel-timeline .timeline .milestone:nth-child(9) .milestone-content{border-left-color:#8e44ad}
.panel-right.panel-timeline .timeline .milestone:nth-child(10) .milestone-content{border-left-color:#c0392b}
.panel-right.panel-timeline .timeline .date{
  font-weight:600;
  color:#63706a;
  margin-bottom:6px;
  display:flex;
  align-items:center;
  gap:8px;
}
.panel-right.panel-timeline .timeline h4{
  margin:0 0 8px;
  font-size:18px;
  color:#182a1c;
}
.panel-right.panel-timeline .timeline p{
  margin:0;
  color:#475347;
  font-size:15px;
  line-height:1.5;
}
@media (max-width:1200px){
  .panel-right.panel-timeline{width:980px;max-width:95vw}
  .panel-right.panel-timeline .timeline-layout{
    grid-template-columns:1fr;
  }
  .panel-right.panel-timeline .timeline-info-panel{
    position:relative;
    top:auto;
    max-height:none;
  }
}
@media (max-width:768px){
  .panel-right.panel-timeline{padding:20px}
  .panel-right.panel-timeline .timeline::after{left:22px}
  .panel-right.panel-timeline .timeline .milestone,
  .panel-right.panel-timeline .timeline .milestone.right{
    width:100%;
    left:0;
    padding:12px 16px 12px 60px;
  }
  .panel-right.panel-timeline .timeline .milestone::after{
    left:12px;
  }
  .panel-right.panel-timeline .timeline-kpi-grid{grid-template-columns:1fr}
}
@keyframes timelineFadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}
#ov-admin-make{z-index:27}
#ov-admin-notification{z-index:28}
#ov-admin-harvest-menu{z-index:27}
#ov-admin-whatsapp{z-index:28}
#ov-admin-harvest-placeholder{z-index:29}
#ov-admin-rice{z-index:29}
#ov-admin-onion{z-index:29}
#ov-admin-corn{z-index:29}
#ov-admin-millet{z-index:29}
#ov-admin-sorghum{z-index:29}
#ov-admin-tomato{z-index:29}
.panel-right.panel-harvest-menu{width:420px;max-width:92vw;z-index:28}
.panel-right.panel-harvest-placeholder{width:520px;max-width:92vw;z-index:30}
.panel-right.panel-rice,
.panel-right.panel-onion,
.panel-right.panel-corn,
.panel-right.panel-tomato,
.panel-right.panel-millet,
.panel-right.panel-sorghum{width:760px;max-width:96vw;z-index:30}
.panel-right{
  position:fixed;top:0;right:0;width:720px;max-width:95vw;height:100vh;background:#fff;border-left:1px solid #eee;transform:translateX(100%);
  transition:transform .25s ease;z-index:26;display:flex;flex-direction:column
}
.panel-right.panel-admin{width:1120px;max-width:98vw}
.panel-right.panel-make{width:760px;max-width:96vw;z-index:28}
.panel-right.panel-notification{width:520px;max-width:92vw;z-index:29}
.panel-right.panel-groundnut{width:720px;max-width:96vw;z-index:29}
.panel-right.panel-notifications{width:520px;max-width:95vw;z-index:27}
.panel-right.panel-fundraising{width:1360px;max-width:min(98vw, 1360px)}
.fundraising-grid{display:grid;grid-template-columns:1fr 1.8fr;gap:18px;padding:12px 24px 24px}
.fundraising-col{display:flex;flex-direction:column;gap:10px}
.fundraising-kpis{background:#fff;border-radius:18px;padding:20px;border:1px solid #e4ebe3;box-shadow:0 14px 30px rgba(18,52,30,0.08);height:fit-content}
.panel-right.panel-fundraising .timeline-section-title{margin:0;font-size:19px;color:#134424;display:flex;align-items:center;gap:8px;border-bottom:2px solid rgba(46,125,50,.35);padding-bottom:6px}
.panel-right.panel-fundraising .timeline-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.panel-right.panel-fundraising .timeline-kpi-item{background:#f2f8f1;border-radius:10px;padding:10px;border:1px solid #dfe8e1;font-size:15px;color:#1f3525}
.panel-right.panel-fundraising .timeline-info-section{padding-top:14px;border-top:1px solid #e6ede4;margin-top:14px}
.panel-right.panel-fundraising .timeline-subsection{margin-bottom:14px}
.panel-right.panel-fundraising .timeline-subsection-title{margin:0 0 6px;font-weight:600;color:#1d532b;font-size:16px;display:flex;align-items:center;gap:6px}
.panel-right.panel-fundraising .timeline-subsection-heading{margin:0 0 8px;font-weight:600;color:#1d532b;font-size:16px}
.panel-right.panel-fundraising .timeline-subsection ul{margin:0 0 6px;padding-left:18px;color:#435144;font-size:15px;line-height:1.45}
.panel-right.panel-fundraising .timeline-blueprints{margin:8px 0 0;padding-left:20px;color:#405043;font-size:15px;line-height:1.5}
.panel-right.panel-fundraising .timeline-blueprints li{margin-bottom:6px}
.panel-right.panel-fundraising .timeline-blueprints li strong{color:#123821}
.panel-right.panel-fundraising .timeline-operations{list-style:none;margin:10px 0 0;padding-left:0}
.panel-right.panel-fundraising .timeline-operations li{margin-bottom:14px}
.panel-right.panel-fundraising .timeline-operations-label{display:block;font-weight:600;color:#10351f;margin-bottom:4px}
.panel-right.panel-fundraising .timeline-operations-body{display:block;color:#384c41;line-height:1.5}
@media (max-width:980px){
  .panel-right.panel-fundraising{width:940px;max-width:95vw}
  .fundraising-grid{grid-template-columns:1fr}
  .fundraising-services ul{grid-template-columns:1fr}
}
.panel-right#panel-story{width:1100px;max-width:min(98vw, 1100px)}
.panel-right#panel-account{width:520px;max-width:90vw}
.panel-right.panel-admin-whatsapp{width:520px;max-width:92vw;z-index:30}
.panel-right.panel-sponsor-user{width:540px;max-width:94vw;z-index:32}
.panel-right.open{transform:translateX(0)}
.panel-right header{position:sticky;top:0}
.panel-right .panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee;background:#fff}
.panel-right .panel-head h2{margin:0;font-size:22px;color:#1b4c2c}
.panel-right .panel-head .muted{margin:6px 0 0 0;font-size:14px;color:#486050}
.panel-right .panel-body{padding:18px 20px;overflow:auto;flex:1;background:#fafcf9}
.panel-right .panel-body .form{display:flex;flex-direction:column;gap:16px}
.panel-right.panel-sponsor-user .panel-body{padding:20px 24px;display:flex;flex-direction:column;gap:18px;background:#f9fdf8}
.panel-right.panel-sponsor-user .sponsor-user-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.panel-right.panel-sponsor-user .sponsor-user-top strong{font-size:16px}
.panel-right.panel-sponsor-user .sponsor-user-status{padding:4px 10px;border-radius:999px;font-size:12px;background:#e8f5e9;color:#1b5e20;font-weight:600}
.sponsor-user-actions{display:flex;gap:10px;flex-wrap:wrap}
.sponsor-user-list{display:flex;flex-direction:column;gap:12px}
.sponsor-user-card{border:1px solid #dfe9df;border-radius:14px;padding:14px 16px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,0.04)}
.sponsor-user-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.sponsor-user-role{font-size:13px;color:#4c6a59}
.sponsor-user-card-meta{display:flex;justify-content:space-between;font-size:12px;color:#5c6c63;margin-bottom:8px}
.sponsor-user-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;background:#e1f5fe;color:#006064;font-weight:600}
.sponsor-user-chip.pending{background:#fff7e6;color:#a66100}
.sponsor-user-card-actions{display:flex;gap:8px}
.sponsor-user-card-actions .small{padding:4px 10px;font-size:12px;border-radius:999px}
.sponsor-user-card-actions .danger{border-color:#b71c1c;color:#b71c1c;background:#fff}
.sponsor-user-card-actions .danger:hover{background:#b71c1c;color:#fff}
.sponsor-user-invite-form{display:none;flex-direction:column;gap:10px;border:1px dashed rgba(27,94,32,.4);border-radius:12px;padding:14px;background:#f5fcf4;margin-top:8px}
.sponsor-user-invite-form label{display:flex;flex-direction:column;font-size:13px;color:#23472d;gap:6px}
.sponsor-user-invite-form input,.sponsor-user-invite-form textarea{border:1px solid rgba(29,69,44,0.3);border-radius:10px;background:#fff;padding:10px;font-size:14px}
.sponsor-user-invite-form textarea{resize:vertical}
.sponsor-user-invite-form .muted{font-size:11px;color:#58755b;margin-top:-6px}
.sponsor-user-invite-form.show{display:flex}
.sponsor-user-error{display:none;padding:10px;border-radius:10px;background:#ffe9e9;border:1px solid #f1aebe;color:#8e1e1e;font-size:13px;font-weight:600}
.sponsor-user-error.show{display:block}
.sponsor-user-limit{display:none;font-size:12px;color:#6c6c6c;margin-top:4px}
.admin-whatsapp-loading{padding:12px 14px;border-radius:10px;border:1px dashed rgba(27,94,32,0.4);background:#f6fff6;font-size:14px;color:#145a32}
.admin-whatsapp-empty{font-size:14px;margin:12px 0}
.admin-whatsapp-form{display:flex;flex-direction:column;gap:16px}
.admin-whatsapp-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1f2937}
.admin-whatsapp-form select,.admin-whatsapp-form textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #d7e4d7;background:#fff;font-size:14px;font-family:inherit}
.admin-whatsapp-form textarea{min-height:110px;resize:vertical}
.admin-whatsapp-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.admin-whatsapp-status{font-size:13px;margin:4px 0 0 0}
.admin-whatsapp-status.error{color:#b91c1c}
.admin-whatsapp-status.success{color:#0f766e}
.admin-whatsapp-divider{border:none;height:1px;background:#e0e7e0;margin:18px 0}
.admin-whatsapp-add{display:flex;flex-direction:column;gap:12px}
.admin-whatsapp-add h4{margin:0;font-size:16px;color:#1b4c2c}
.admin-whatsapp-add-form{display:flex;flex-direction:column;gap:14px}
.admin-whatsapp-add-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1f2937}
.admin-whatsapp-add-form input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #d7e4d7;background:#fff;font-size:14px;font-family:inherit}
.admin-whatsapp-add-form button{align-self:flex-start}
.admin-harvest-menu{display:flex;flex-direction:column;gap:18px}
.admin-harvest-grid{display:grid;gap:10px}
.admin-harvest-grid .admin-harvest-item{justify-content:flex-start;text-align:left;font-weight:600;padding:10px 14px;border-radius:10px;border:1px solid rgba(27,94,32,0.15);background:#f3faf3;color:#1b4c2c;transition:background .16s ease,border-color .16s ease,transform .12s ease}
.admin-harvest-grid .admin-harvest-item:hover{background:#e4f4e4;border-color:rgba(27,94,32,0.35)}
.admin-harvest-grid .admin-harvest-item:active{transform:scale(0.98)}
.admin-harvest-placeholder{font-size:14px;color:#4b5563;line-height:1.6}
.admin-rice{display:flex;flex-direction:column;gap:18px}
.rice-season-card{border:1px solid rgba(27,94,32,0.15);border-radius:14px;background:#f6faf8;padding:18px 20px;box-shadow:0 4px 14px rgba(27,94,32,0.05)}
.rice-season-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.rice-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#e8f5e9;color:#1b5e20;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.rice-chip.manual{background:#fef3c7;color:#92400e}
.rice-chip.harvest{background:#fff4e5;color:#8a420a}
.rice-help{font-size:13px;color:#4b5563;margin:4px 0 0 0}
.rice-dl{margin:12px 0 0 0;padding:0;font-size:13px;color:#374151}
.rice-dl dt{font-weight:600;margin:10px 0 4px 0}
.rice-dl dd{margin:0}
.rice-notes-card{border:1px solid rgba(27,94,32,0.12);border-radius:12px;background:#fff;padding:16px 18px}
.rice-notes-card h4{margin:0 0 6px 0;font-size:16px;color:#1b4c2c}
.admin-rice form{display:flex;flex-direction:column;gap:16px}
.admin-rice form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1f2937}
.admin-rice form fieldset{margin:0;padding:18px 18px;border:1px solid rgba(27,94,32,0.15);border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:14px}
.admin-rice form legend{font-weight:600;color:#1b4c2c;font-size:15px;padding:0 4px}
.rice-field-row{display:flex;flex-wrap:wrap;gap:12px}
.rice-field-row label{flex:1 1 200px;min-width:180px;font-weight:600;color:#1f2937;display:flex;flex-direction:column;gap:6px}
.rice-field-row input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;box-sizing:border-box}
.admin-rice select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit}
.admin-rice textarea{width:100%;min-height:80px;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;resize:vertical}
.rice-actions{display:flex;align-items:center;gap:12px}
.admin-onion{display:flex;flex-direction:column;gap:18px}
.onion-season-card{border:1px solid rgba(27,94,32,0.18);border-radius:14px;background:#fffef8;padding:18px 20px;box-shadow:0 4px 14px rgba(213,134,18,0.08)}
.onion-season-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.onion-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#fff2cc;color:#8c5600;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.onion-chip.manual{background:#fef3c7;color:#92400e}
.onion-chip.harvest{background:#ffe8c2;color:#8c3a00}
.onion-help{font-size:13px;color:#4b5563;margin:4px 0 0 0}
.onion-dl{margin:12px 0 0 0;padding:0;font-size:13px;color:#374151}
.onion-dl dt{font-weight:600;margin:10px 0 4px 0}
.onion-dl dd{margin:0}
.onion-notes-card{border:1px solid rgba(213,134,18,0.25);border-radius:12px;background:#fff7e6;padding:16px 18px}
.onion-notes-card h4{margin:0 0 6px 0;font-size:16px;color:#8c5600}
.admin-onion form{display:flex;flex-direction:column;gap:16px}
.admin-onion form fieldset{margin:0;padding:18px 18px;border:1px solid rgba(213,134,18,0.24);border-radius:14px;background:#fffef8;display:flex;flex-direction:column;gap:14px}
.admin-onion form legend{font-weight:600;color:#8c5600;font-size:15px;padding:0 4px}
.admin-onion form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1f2937}
.onion-field-row{display:flex;flex-wrap:wrap;gap:12px}
.onion-field-row label{flex:1 1 200px;min-width:180px}
.onion-field-row input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;box-sizing:border-box}
.admin-onion select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit}
.admin-onion textarea{width:100%;min-height:80px;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;resize:vertical}
.onion-actions{display:flex;align-items:center;gap:12px}
.admin-tomato{display:flex;flex-direction:column;gap:18px}
.tomato-season-card{border:1px solid rgba(196,36,36,0.2);border-radius:14px;background:#fff5f5;padding:18px 20px;box-shadow:0 4px 14px rgba(196,36,36,0.1)}
.tomato-season-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.tomato-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#ffe1e1;color:#b32121;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.tomato-chip.manual{background:#fef3c7;color:#92400e}
.tomato-chip.harvest{background:#ffd4b8;color:#a34700}
.tomato-help{font-size:13px;color:#4b5563;margin:4px 0 0 0}
.tomato-dl{margin:12px 0 0 0;padding:0;font-size:13px;color:#374151}
.tomato-dl dt{font-weight:600;margin:10px 0 4px 0}
.tomato-dl dd{margin:0}
.tomato-notes-card{border:1px solid rgba(196,36,36,0.24);border-radius:12px;background:#fff0eb;padding:16px 18px}
.tomato-notes-card h4{margin:0 0 6px 0;font-size:16px;color:#b32121}
.admin-tomato form{display:flex;flex-direction:column;gap:16px}
.admin-tomato form fieldset{margin:0;padding:18px 18px;border:1px solid rgba(196,36,36,0.2);border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:14px}
.admin-tomato form legend{font-weight:600;color:#b32121;font-size:15px;padding:0 4px}
.admin-tomato form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1f2937}
.tomato-field-row{display:flex;flex-wrap:wrap;gap:12px}
.tomato-field-row label{flex:1 1 200px;min-width:180px}
.tomato-field-row input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;box-sizing:border-box}
.admin-tomato select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit}
.admin-tomato textarea{width:100%;min-height:80px;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;resize:vertical}
.tomato-actions{display:flex;align-items:center;gap:12px}
.admin-corn{display:flex;flex-direction:column;gap:18px}
.corn-season-card{border:1px solid rgba(33,113,181,0.18);border-radius:14px;background:#f6fbff;padding:18px 20px;box-shadow:0 4px 14px rgba(33,113,181,0.08)}
.corn-season-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.corn-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#e0f2ff;color:#1b4c7d;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.corn-chip.manual{background:#fef3c7;color:#92400e}
.corn-chip.harvest{background:#ffe6cc;color:#a25500}
.corn-help{font-size:13px;color:#4b5563;margin:4px 0 0 0}
.corn-dl{margin:12px 0 0 0;padding:0;font-size:13px;color:#374151}
.corn-dl dt{font-weight:600;margin:10px 0 4px 0}
.corn-dl dd{margin:0}
.corn-notes-card{border:1px solid rgba(33,113,181,0.24);border-radius:12px;background:#eef7ff;padding:16px 18px}
.corn-notes-card h4{margin:0 0 6px 0;font-size:16px;color:#1b4c7d}
.admin-corn form{display:flex;flex-direction:column;gap:16px}
.admin-corn form fieldset{margin:0;padding:18px 18px;border:1px solid rgba(33,113,181,0.2);border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:14px}
.admin-corn form legend{font-weight:600;color:#1b4c7d;font-size:15px;padding:0 4px}
.admin-corn form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1f2937}
.corn-field-row{display:flex;flex-wrap:wrap;gap:12px}
.corn-field-row label{flex:1 1 200px;min-width:180px}
.corn-field-row input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;box-sizing:border-box}
.admin-corn select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit}
.admin-corn textarea{width:100%;min-height:80px;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;resize:vertical}
.corn-actions{display:flex;align-items:center;gap:12px}
.admin-millet{display:flex;flex-direction:column;gap:18px}
.millet-season-card{border:1px solid rgba(106,70,0,0.2);border-radius:14px;background:#fbf8f0;padding:18px 20px;box-shadow:0 4px 14px rgba(106,70,0,0.08)}
.millet-season-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.millet-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#f3e6c9;color:#6a4600;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.millet-chip.manual{background:#fef3c7;color:#92400e}
.millet-chip.harvest{background:#ffe8cc;color:#8c3a00}
.millet-help{font-size:13px;color:#4b5563;margin:4px 0 0 0}
.millet-dl{margin:12px 0 0 0;padding:0;font-size:13px;color:#374151}
.millet-dl dt{font-weight:600;margin:10px 0 4px 0}
.millet-dl dd{margin:0}
.millet-notes-card{border:1px solid rgba(106,70,0,0.25);border-radius:12px;background:#fff7e6;padding:16px 18px}
.millet-notes-card h4{margin:0 0 6px 0;font-size:16px;color:#6a4600}
.admin-millet form{display:flex;flex-direction:column;gap:16px}
.admin-millet form fieldset{margin:0;padding:18px 18px;border:1px solid rgba(106,70,0,0.22);border-radius:14px;background:#fffef9;display:flex;flex-direction:column;gap:14px}
.admin-millet form legend{font-weight:600;color:#6a4600;font-size:15px;padding:0 4px}
.admin-millet form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1f2937}
.millet-field-row{display:flex;flex-wrap:wrap;gap:12px}
.millet-field-row label{flex:1 1 200px;min-width:180px}
.millet-field-row input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;box-sizing:border-box}
.admin-millet select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit}
.admin-millet textarea{width:100%;min-height:80px;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;resize:vertical}
.millet-actions{display:flex;align-items:center;gap:12px}
.admin-sorghum{display:flex;flex-direction:column;gap:18px}
.sorghum-season-card{border:1px solid rgba(148,64,24,0.2);border-radius:14px;background:#fff7f3;padding:18px 20px;box-shadow:0 4px 14px rgba(148,64,24,0.08)}
.sorghum-season-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.sorghum-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#ffe1d5;color:#8c3a19;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.sorghum-chip.manual{background:#fef3c7;color:#92400e}
.sorghum-chip.harvest{background:#ffd9b5;color:#8c3a00}
.sorghum-help{font-size:13px;color:#4b5563;margin:4px 0 0 0}
.sorghum-dl{margin:12px 0 0 0;padding:0;font-size:13px;color:#374151}
.sorghum-dl dt{font-weight:600;margin:10px 0 4px 0}
.sorghum-dl dd{margin:0}
.sorghum-notes-card{border:1px solid rgba(148,64,24,0.24);border-radius:12px;background:#fff3ea;padding:16px 18px}
.sorghum-notes-card h4{margin:0 0 6px 0;font-size:16px;color:#8c3a19}
.admin-sorghum form{display:flex;flex-direction:column;gap:16px}
.admin-sorghum form fieldset{margin:0;padding:18px 18px;border:1px solid rgba(148,64,24,0.22);border-radius:14px;background:#fffefb;display:flex;flex-direction:column;gap:14px}
.admin-sorghum form legend{font-weight:600;color:#8c3a19;font-size:15px;padding:0 4px}
.admin-sorghum form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1f2937}
.sorghum-field-row{display:flex;flex-wrap:wrap;gap:12px}
.sorghum-field-row label{flex:1 1 200px;min-width:180px}
.sorghum-field-row input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;box-sizing:border-box}
.admin-sorghum select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit}
.admin-sorghum textarea{width:100%;min-height:80px;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;resize:vertical}
.sorghum-actions{display:flex;align-items:center;gap:12px}
.admin-console{display:flex;flex-direction:column;height:100%;gap:16px}
.admin-head-left{display:flex;align-items:center;gap:12px;flex:1}
.admin-close{margin-left:auto}
.admin-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid #eee;background:#fff;flex-wrap:wrap}
.admin-panel-title{font-size:20px;color:#1b4c2c;font-weight:600;margin:0}
.admin-panel-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:auto}
.admin-panel-controls .danger{border-color:#b00020;color:#b00020;background:#fff}
.admin-panel-controls .danger:disabled{opacity:0.6}
.admin-panel-controls .danger:not(:disabled):hover{background:#b00020;color:#fff}
.admin-panel-controls .admin-panel-close{margin-left:auto}
.admin-panel-head{display:flex;align-items:center;justify-content:flex-start;padding:10px 16px;border-bottom:1px solid #eee;background:#fff;gap:16px}
.admin-console-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.admin-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-console-nav .admin-nav-break{flex-basis:100%;height:0}
.admin-console-nav button{background:#f2f7f2;color:#1b4c2c;border:1px solid rgba(46,125,50,0.2);padding:8px 14px;border-radius:10px;font-weight:600;cursor:pointer;transition:background .16s ease, color .16s ease, border-color .16s ease, transform .12s ease}
.admin-console-nav button.has-icon{display:inline-flex;align-items:center;gap:6px}
.admin-console-nav button.has-icon img{width:16px;height:16px;display:block}
.admin-console-nav button:hover{background:#e5f2e6;border-color:rgba(27,94,32,0.35)}
.admin-console-nav button:active{transform:scale(0.97)}
.admin-console-nav button.is-active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 8px 18px rgba(27,94,32,0.18)}
.admin-console-actions{display:flex;justify-content:flex-end;gap:10px}
.admin-note-actions{display:flex;flex-wrap:wrap;gap:6px}
.table-action{padding:6px 12px;border-radius:8px;border:1px solid rgba(27,94,32,0.22);background:#f4f8f4;color:#1b4c2c;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease}
.table-action:hover{background:#e7f2e7;border-color:rgba(27,94,32,0.4)}
.table-action:active{transform:scale(0.97)}
.table-action.secondary{background:#eef4ef;color:#1f3a2b}
.table-action.secondary:hover{background:#e1ece2}
.table-action.danger{background:#fff1f1;border-color:rgba(211,47,47,0.4);color:#b71c1c}
.table-action.danger:hover{background:#ffe2e2;border-color:rgba(211,47,47,0.6)}
.admin-onboarding-actions,
.admin-payment-actions{display:flex;align-items:center;gap:6px;margin-right:8px;flex-wrap:nowrap}
.admin-onboarding-actions small,
.admin-payment-actions small{display:none}
.admin-console-content{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}
.notifications-panel{display:flex;flex-direction:column;gap:16px;padding:18px 20px;background:#fafcf9;overflow:auto;flex:1}
.notifications-panel-actions{gap:10px;align-items:center}
.notifications-panel-status{font-size:13px}
.notifications-panel-list{display:flex;flex-direction:column;gap:12px}
.notification-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:12px;border:1px solid rgba(27,94,32,0.18);background:#fff;box-shadow:0 4px 12px rgba(27,94,32,0.05);transition:box-shadow .15s ease, border-color .15s ease, transform .15s ease}
.notification-card:hover{border-color:rgba(27,94,32,0.35);box-shadow:0 10px 24px rgba(27,94,32,0.12);transform:translateY(-1px)}
.notification-card.unread{border-color:rgba(220,167,59,0.55);box-shadow:0 10px 24px rgba(220,167,59,0.2)}
.notification-card h3{margin:0;font-size:16px;color:#1a1a1a}
.notification-card p{margin:0;font-size:13px;color:#435446;line-height:1.5}
.notification-card .card-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#5d7162;gap:10px}
.notification-card .card-link{font-weight:600;color:var(--green);text-decoration:none}
.notification-card .card-link:hover{text-decoration:underline}
.notifications-empty-state{padding:28px 10px;text-align:center;font-size:14px;color:#5d7162}
.admin-table-status{font-size:13px}
.admin-table-scroll{flex:1;overflow:auto;border:1px solid rgba(26,26,26,0.08);border-radius:12px;background:#fff}
.admin-table-scroll table{width:100%;min-width:720px}
.admin-table-scroll thead th{position:sticky;top:0;background:#f4f8f4;z-index:1}
.admin-table-scroll td,.admin-table-scroll th{white-space:nowrap;padding:10px 12px}
.admin-groundnut{border:1px solid rgba(27,94,32,0.18);border-radius:14px;background:#f7fbf7;padding:18px 20px;margin-bottom:16px;box-shadow:0 4px 12px rgba(27,94,32,0.06)}
.admin-groundnut h4{margin:0;font-size:16px;color:#1b4c2c;display:flex;align-items:center;gap:10px}
.admin-groundnut .groundnut-meta{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0}
.admin-groundnut .groundnut-col{flex:1 1 220px;min-width:220px}
.admin-groundnut .groundnut-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#ecfdf3;color:#166534;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.admin-groundnut .groundnut-chip.manual{background:#fef3c7;color:#92400e}
.admin-groundnut dl{margin:0;padding:0;font-size:13px}
.admin-groundnut dl dt{font-weight:600;margin:10px 0 4px;color:#1f2937}
.admin-groundnut dl dd{margin:0;color:#4b5563}
.admin-groundnut form{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.admin-groundnut form .row{display:flex;flex-wrap:wrap;gap:12px}
.admin-groundnut form label{flex:1 1 160px;min-width:160px;color:#1f2937;font-weight:600}
.admin-groundnut form input,.admin-groundnut form select,.admin-groundnut form textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:inherit;box-sizing:border-box}
.admin-groundnut form textarea{min-height:68px;resize:vertical}
.admin-groundnut .groundnut-help{font-size:12px;color:#6b7280;margin-top:4px;display:block}
.admin-groundnut .groundnut-actions{display:flex;align-items:center;gap:12px}
.admin-groundnut .groundnut-msg{font-size:13px;color:#4b5563}
.admin-table-scroll td.code{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px}
.admin-make-panel{display:flex;flex-direction:column;gap:12px;padding:18px 20px;overflow:auto;flex:1;background:#fafcf9}
.admin-make-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.admin-make-actions #admin-make-status{margin-left:auto}
.admin-make-panel strong{font-size:20px;color:#1b4c2c}
.admin-make-panel .muted{margin:0}
.admin-make-scroll{max-height:360px}
.admin-make-table td:nth-child(1){font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:13px}
.admin-make-table button{padding:6px 10px;font-size:13px}
.admin-make-output{margin:0;padding:12px;border-radius:12px;border:1px solid rgba(26,26,26,0.12);background:#0b1f0d;color:#d0f5d6;font-size:13px;line-height:1.4;max-height:220px;overflow:auto;white-space:pre-wrap}
.admin-make-output.error-output{border-color:#b13b2d;background:#2a0b0b;color:#ffd4d4}
.admin-notification-panel{display:flex;flex-direction:column;gap:16px;padding:18px 20px;overflow:auto;flex:1;background:#fafcf9}
.admin-notification-form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:420px;margin:0 auto}
.admin-notification-form label{display:flex;flex-direction:column;gap:6px}
.admin-notification-form label span{font-weight:600;color:#1a1a1a}
.admin-notification-form input,
.admin-notification-form textarea,
.admin-notification-form select{width:100%;padding:10px 12px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;font-size:14px;outline:none;transition:border-color .15s ease, box-shadow .15s ease}
.admin-notification-form input:focus,
.admin-notification-form textarea:focus,
.admin-notification-form select:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.12);background:#fff}
.admin-notification-form textarea{resize:vertical;min-height:120px}
.admin-note-feedback{margin-top:6px;padding:10px 12px;border-radius:10px;border-left:4px solid #2E7D32;background:#e8f5e9;color:#1b5e20;font-size:13px}
.admin-note-feedback.error{border-left-color:#C0392B;background:#fdecea;color:#7a1f15}

header nav .user-avatar.is-open{background:#174a1b}
header nav .user-dropdown{opacity:0;transform:translateY(-6px);transition:opacity .16s ease, transform .16s ease}
header nav .user-dropdown.open{opacity:1;transform:translateY(0)}
header nav .user-dropdown.closing{opacity:0;transform:translateY(-6px)}

#panel-account .panel-body{padding:18px 20px;display:flex;flex-direction:column;align-items:center}
#panel-account .form{width:100%;max-width:360px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
#panel-account .form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1a1a1a}
#panel-account .form label span{font-size:14px;color:#365744}
#panel-account input[type="email"],
#panel-account input[type="password"]{width:100%;padding:12px 14px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;font-size:15px;outline:none;transition:border-color .15s ease, box-shadow .15s ease}
#panel-account input[type="email"]:focus,
#panel-account input[type="password"]:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.12);background:#fff}
#panel-account .password-field{position:relative;display:flex;align-items:center;border-radius:10px;border:1px solid #d8e3d8;background:#f9fbf9;transition:border-color .15s ease, box-shadow .15s ease}
#panel-account .password-field input{border:none;padding-right:50px;background:transparent}
#panel-account .password-field:focus-within{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.12)}
#panel-account .password-field .password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#2E7D32;font-size:18px;padding:6px 8px;border-radius:8px;cursor:pointer}
#panel-account .password-field .password-toggle:hover{background:rgba(46,125,50,0.08)}
#panel-account .password-field .password-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px;background:rgba(46,125,50,0.06)}
#panel-account .info-box{margin-top:4px;padding:10px 12px;border-radius:10px;border-left:3px solid #2E7D32;background:#f4f9f4;color:#1a1a1a;font-size:14px}
#panel-account .info-box.success{border-left-color:#2E7D32;background:#e8f5e9;color:#1b5e20}
#panel-account .info-box.error{border-left-color:#C0392B;background:#fdecea;color:#7a1f15}
#panel-account .info-box.info{border-left-color:#2E7D32;background:#f4f9f4;color:#1a1a1a}
#panel-account .row{gap:10px}

/* Ensure legal panels above other UI */
#ov-terms{z-index:120}
#panel-terms{z-index:121}
#ov-privacy{z-index:120}
#panel-privacy{z-index:121}
/* Header theming for panels */
#panel-terms header, #panel-privacy header, #panel-faq header, #panel-story header, #panel-whatsapp header{background:linear-gradient(135deg,#2E7D32,#66BB6A);color:#fff}
#panel-terms header .btn.secondary, #panel-privacy header .btn.secondary, #panel-faq header .btn.secondary, #panel-story header .btn.secondary, #panel-whatsapp header .btn.secondary,
#panel-terms header button.secondary, #panel-privacy header button.secondary, #panel-faq header button.secondary, #panel-story header button.secondary, #panel-whatsapp header button.secondary{background:#fff;color:#2E7D32;border-color:#fff}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid #eee;text-align:left;font-size:14px}
.table th{background:#fafafa}

/* Investors panel minor tweaks */
#panel-investors .card{margin-bottom:12px}
#panel-investors .progress>span{background:var(--green)}
#panel-investors header{background:linear-gradient(135deg,#2E7D32,#66BB6A);color:#fff}
#panel-investors header .btn.secondary{background:#fff;color:#2E7D32;border-color:#fff}
/* Match green header style for Story and FAQ panels */
#panel-story header, #panel-faq header, #panel-whatsapp header{background:linear-gradient(135deg,#2E7D32,#66BB6A);color:#fff}
#panel-story header .btn.secondary, #panel-faq header .btn.secondary, #panel-whatsapp header .btn.secondary,
#panel-story header button.secondary, #panel-faq header button.secondary, #panel-whatsapp header button.secondary{background:#fff;color:#2E7D32;border-color:#fff}

/* WhatsApp panel specific styles */
.wa-card{background:#f6f9f4;border:1px solid rgba(10,24,10,0.08);box-shadow:0 20px 40px rgba(10,24,10,0.08);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:18px}
.wa-card h2,.wa-card h3,.wa-card h4{color:#08260f}
.wa-card p,.wa-card li{color:#1b2b1f}
.wa-card .emoji{background:rgba(255,255,255,0.9);box-shadow:0 6px 18px rgba(17,94,52,0.08)}
.wa-header-row{display:flex;align-items:flex-start;gap:16px}
.wa-header-row h2{margin:0}
.wa-tip{display:flex;align-items:center;gap:8px;margin-left:auto;background:#ecfdf5;border-radius:999px;padding:6px 12px;font-size:12px;color:#145a1a}
.wa-tip button{background:#e5e7eb;border:1px solid #d1d5db;border-radius:10px;padding:4px 10px;font-size:12px;cursor:pointer;color:#1f2a37}
.wa-tip button:hover{background:#d9dde4}
.wa-tip span{display:flex;align-items:center;gap:4px}
.wa-qr-card{background:#fdf8f3;border-radius:20px;padding:16px;box-shadow:0 12px 30px rgba(49,24,0,0.08);border:1px solid rgba(84,40,0,0.08);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.wa-qr-card .qr-frame{background:#fff;border-radius:22px;padding:14px;box-shadow:0 12px 24px rgba(0,0,0,0.12);position:relative}
.wa-qr-card .qr-svg svg{width:200px;height:200px;display:block}
.wa-qr-card .qr-icon{position:absolute;width:54px;height:54px;border-radius:50%;background:#fff url('/whatsApp.png') center/26px no-repeat;bottom:12px;left:50%;transform:translateX(-50%);box-shadow:0 6px 16px rgba(0,0,0,0.2);border:4px solid #fff}
.wa-qr-card .qr-placeholder{width:200px;height:200px;border-radius:18px;background:linear-gradient(135deg,#0b5d32,#0f3424);color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}
.wa-qr-card .qr-headline{margin:6px 0 0;font-size:16px;color:#1e2a32}
.wa-qr-card .qr-sub{margin:0;font-size:13px;color:#4b5a65}
.wa-qr-card .qr-link{font-weight:700;color:#d97706;text-decoration:none;font-size:15px}
.wa-qr-card .qr-link:hover{text-decoration:underline}
.wa-qr-card .qr-contact{margin:0;font-size:12px;color:#475569;font-weight:600}
.wa-info-text{width:100%}
.phone .phone-close{position:absolute;top:12px;right:12px;background:rgba(0,0,0,0.65);color:#fff;border:none;border-radius:999px;width:32px;height:32px;font-size:16px;cursor:pointer;z-index:25;line-height:1}
.phone .phone-close:hover{background:rgba(0,0,0,0.8)}
#panel-whatsapp{width:100vw;max-width:100vw;left:0;right:0}
#ov-whatsapp{z-index:110}
#panel-whatsapp{z-index:111}
.whatsapp-panel-content{display:flex;gap:0;align-items:flex-start}
.whatsapp-info{flex:1;min-width:300px}
.whatsapp-benefits{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.whatsapp-benefits li{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#1f2937;line-height:1.45}
.whatsapp-benefits li p{margin:4px 0 0;color:#475569;font-size:13px;line-height:1.5}
.whatsapp-benefits .emoji{font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ecfdf5}
.whatsapp-phone-container{flex-shrink:0}

/* WhatsApp demo */
.panel-whatsapp.demo{
  width:100vw;
  max-width:100vw;
  left:0;
  right:0;
}
.whatsapp-panel-demo{display:flex;flex-direction:column;height:100%}
.whatsapp-demo-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid rgba(32,44,51,0.18);background:#0b141a;color:#fff}
.whatsapp-demo-head h2{margin:0 0 6px;font-size:20px;color:#fff}
.whatsapp-demo-head .muted{margin:0;font-size:13px;color:#e5e7eb}
.whatsapp-demo-body{flex:1;padding:24px;background:#0f2129}
.whatsapp-demo-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,340px) minmax(320px,380px);gap:24px;align-items:stretch}
.demo-context{background:#f6f9f4;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 20px 40px rgba(10,24,10,0.08)}
.demo-context h3{margin:0;font-size:26px;line-height:1.2;color:#08260f}
.demo-context p{margin:0;color:#1b2b1f;line-height:1.55}
.demo-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(16,97,57,.12);color:#0a5e2b;width:max-content}
.demo-flow-card{background:#fff;border-radius:16px;padding:18px;border:1px solid rgba(12,60,27,.08);box-shadow:0 10px 30px rgba(12,30,18,.05)}
.demo-flow-card h4{margin:0 0 12px;color:#0c4b24;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.demo-flow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.demo-flow-list li{display:flex;gap:12px}
.demo-flow-list li .ico{width:36px;height:36px;border-radius:12px;background:#e6f4ea;display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:#0a5e2b;margin-top:2px}
.demo-flow-list li strong{display:block;font-size:15px;color:#062911;margin-bottom:2px}
.demo-flow-list li p{font-size:14px;color:#1f3326;margin:0}
.whatsapp-demo-body .wbtn.demo{pointer-events:none;cursor:default;opacity:.85}
.phone.demo{width:100%;max-width:380px;margin:0 auto;background:transparent;border:none;box-shadow:none}
.phone.demo .screen{position:relative;inset:auto;background:#0b141a;border-radius:26px;display:flex;flex-direction:column;overflow:hidden;border:8px solid #000;min-height:580px}
.phone.demo .viewport{padding:10px;gap:8px;overflow:auto;max-height:520px}

@media (max-width: 1024px){
  .whatsapp-demo-layout{grid-template-columns:1fr;gap:24px}
  .whatsapp-demo-body{padding:20px}
  .phone.demo{max-width:340px}
  .demo-qr-card{order:2}
}

/* WhatsApp simulator styles */
.row{display:flex}
.left{justify-content:flex-start}
.right{justify-content:flex-end}
.bubble{max-width:80%;padding:8px 10px;border-radius:16px;color:#fff;font-size:14px;line-height:1.35;white-space:pre-line}
.me{background:#005c4b;border-top-right-radius:4px}
.bot{background:#202c33;border-top-left-radius:4px}
.bubble.typing{display:flex;align-items:center;gap:6px;min-width:60px;color:#e0e7ff}
.bubble.typing .typing-dots{display:inline-flex;gap:4px}
.bubble.typing .typing-dots span{width:6px;height:6px;border-radius:50%;background:#cbd5e1;display:inline-block;animation:typingBlink 1.4s infinite ease-in-out}
.bubble.typing .typing-dots span:nth-child(2){animation-delay:.2s}
.bubble.typing .typing-dots span:nth-child(3){animation-delay:.4s}
.ts{font-size:10px;opacity:.6;margin-top:4px;text-align:right}

.bubble.typing .ts{display:none}

.bubble.typing{background:#1b2a32;border-top-left-radius:16px}

@keyframes typingBlink{
  0%,80%,100%{opacity:.3;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-2px)}
}

.buttons{display:flex;flex-wrap:wrap;gap:8px}
.wbtn{background:#10b981;color:#fff;border:none;padding:6px 10px;border-radius:12px;font-size:12px;cursor:pointer}
.list{background:rgba(255,255,255,.04);border-radius:12px;overflow:hidden}
.list .title{font-size:12px;opacity:.9;padding:8px;border-bottom:1px solid rgba(255,255,255,.1)}
.list ul{list-style:none;margin:0;padding:0}
.list li{border-bottom:1px solid rgba(255,255,255,.08)}
.list li:last-child{border-bottom:none}
.list button{display:block;width:100%;text-align:left;padding:8px 10px;background:transparent;border:none;color:#fff;cursor:pointer}

.location{background:#2a3942;padding:8px 10px;display:flex;align-items:center;gap:8px}
.map{height:140px;background:#1f2c33;display:grid;place-items:center;font-size:12px;color:#cbd5e1}
.bubble img{width:100%;border-radius:12px;display:block;margin-top:4px}
.input-bubble-form{display:flex;gap:8px;margin-top:6px}
.input-bubble-field{flex:1;background:#1f2c33;border:none;color:#fff;padding:8px 10px;border-radius:10px;font-size:13px}
.input-bubble-field::placeholder{color:#94a3b8}
.input-bubble-submit{background:#10b981;color:#fff;border:none;padding:8px 12px;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer}
.input-bubble-submit:disabled{opacity:.6;cursor:default}

/* Mobile responsive for WhatsApp panel */
@media (max-width: 768px) {
  #panel-whatsapp{width:100vw;max-width:100vw}
  .whatsapp-panel-content{flex-direction:column;gap:12px;height:auto!important;padding:12px!important}
  .whatsapp-info{min-width:auto;height:auto!important;max-height:none!important;overflow:visible!important;order:2}
  .whatsapp-info-duplicate{display:none!important}
  .whatsapp-phone-container{display:flex;justify-content:center;width:100%;order:1;padding:0}
  .phone{width:100%;max-width:420px;height:calc(100vh - 200px);transform:none;background:none;border:none;border-radius:20px;box-shadow:none;padding:0;margin:0}
  .phone .notch{display:none}
  .phone .screen{position:static;inset:auto;border-radius:20px;height:100%;overflow:hidden}
  .panel-whatsapp.demo{width:100vw;max-width:100vw;left:0;right:0}
  .phone.demo{max-width:320px}
}
#panel-sponsor{width:min(96vw,1240px);max-width:1240px}
#panel-sponsor header{background:linear-gradient(135deg,#2E7D32,#66BB6A);color:#fff}
#panel-sponsor header .btn.secondary, #panel-sponsor header button.secondary{background:#fff;color:#2E7D32;border-color:#fff}
#panel-sponsor header strong{color:#fff;font-size:20px;letter-spacing:.01em}
#panel-sponsor .sponsor-panel-content{padding:24px 26px;overflow:auto;flex:1;background:#f5fbf5;display:flex;flex-direction:column;gap:18px}
#panel-sponsor .sponsor-panel-grid{display:grid;grid-template-columns:minmax(480px,1fr) minmax(520px,1fr);gap:36px;align-items:start}
#panel-sponsor .sponsor-hero{border:1px solid #cfe8d0;background:linear-gradient(135deg,#ffffff 0%,#ecf8ed 94%);box-shadow:0 12px 30px rgba(46,125,50,.08);padding:28px;border-radius:20px;display:flex;flex-direction:column;gap:16px;min-height:100%}
#panel-sponsor .sponsor-hero-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:700;color:#1b5e20}
#panel-sponsor .sponsor-hero-heading{margin:0;font-size:30px;line-height:1.2;color:#245f35}
#panel-sponsor .sponsor-hero-body{margin:0;font-size:16px;line-height:1.65;color:#2f4f3b;max-width:640px}
#panel-sponsor .sponsor-hero-highlights{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px;margin:14px 0 18px}
#panel-sponsor .sponsor-highlight{border-radius:16px;padding:16px 18px;position:relative;overflow:hidden;color:#0f2d1e;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 12px 26px rgba(0,0,0,.08)}
#panel-sponsor .sponsor-highlight::after{content:'';position:absolute;inset:0;opacity:.25;pointer-events:none}
#panel-sponsor .sponsor-highlight h3{margin:0 0 6px;font-size:15px;color:inherit}
#panel-sponsor .sponsor-highlight p{margin:0;font-size:13px;line-height:1.45;color:rgba(15,45,30,.9)}
#panel-sponsor .sponsor-highlight.highlight-impact{background:linear-gradient(135deg,#e6f5e8 0%,#c8edd2 100%);border:1px solid rgba(39,174,96,.28);color:#14452b}
#panel-sponsor .sponsor-highlight.highlight-impact::after{background:radial-gradient(circle at top left,rgba(39,174,96,.28),transparent 60%)}
#panel-sponsor .sponsor-highlight.highlight-story{background:linear-gradient(135deg,#eff3ff 0%,#d5e1ff 100%);border:1px solid rgba(64,105,225,.26);color:#14265a}
#panel-sponsor .sponsor-highlight.highlight-story::after{background:radial-gradient(circle at top left,rgba(64,105,225,.32),transparent 60%)}
#panel-sponsor .sponsor-highlight.highlight-returns{background:linear-gradient(135deg,#fef3d7 0%,#fce5b5 100%);border:1px solid rgba(255,171,0,.3);color:#5a3b00}
#panel-sponsor .sponsor-highlight.highlight-returns::after{background:radial-gradient(circle at top left,rgba(255,171,0,.32),transparent 60%)}
#panel-sponsor .sponsor-highlight.highlight-activation{background:linear-gradient(135deg,#fbe3ec 0%,#f5c4d9 100%);border:1px solid rgba(233,30,99,.28);color:#5b1733}
#panel-sponsor .sponsor-highlight.highlight-activation::after{background:radial-gradient(circle at top left,rgba(233,30,99,.32),transparent 60%)}
#panel-sponsor .sponsor-hero-list{margin:4px 0 0 20px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.6;color:#2f4f3b;list-style:disc}
#panel-sponsor .sponsor-form-card{padding:26px 24px;box-shadow:0 18px 34px rgba(27,94,32,.12);border-radius:18px;border:1px solid #d8e3d8;background:#fff;align-self:stretch}
#panel-sponsor .sponsor-cta-banner{background:linear-gradient(135deg,#2E7D32,#1b5e20);color:#fff;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:0 14px 30px rgba(27,94,32,.32);margin-bottom:20px}
#panel-sponsor .sponsor-cta-banner strong{font-size:16px;font-weight:700}
#panel-sponsor .sponsor-cta-banner span{font-size:14px;line-height:1.5}
#panel-sponsor .card{margin-bottom:12px}
#panel-sponsor .form label{display:block;margin:12px 0}
#panel-sponsor input,#panel-sponsor select,#panel-sponsor textarea{width:100%;padding:12px 14px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;outline:none;transition:border-color .15s, box-shadow .15s;font-size:15px}
#panel-sponsor input:focus,#panel-sponsor select:focus,#panel-sponsor textarea:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.12);background:#fff}
#panel-sponsor .sponsor-form-card .row{gap:16px}
#panel-sponsor .sponsor-form-card .row .field{flex:1}
#panel-sponsor .sponsor-form-card .row .field.full{flex-basis:100%}
#panel-sponsor .sponsor-form-card .row .field.full textarea{width:100%}
@media (max-width: 1280px){
  #panel-sponsor{width:min(96vw,1120px);max-width:1120px}
  #panel-sponsor .sponsor-panel-grid{grid-template-columns:minmax(420px,1fr) minmax(460px,1fr)}
}
@media (max-width: 1180px){
  #panel-sponsor{width:min(96vw,980px);max-width:980px}
  #panel-sponsor .sponsor-panel-grid{grid-template-columns:minmax(340px,1fr) minmax(360px,1fr)}
  #panel-sponsor .sponsor-hero-heading{font-size:28px}
}
@media (max-width: 980px){
  #panel-sponsor .sponsor-panel-grid{grid-template-columns:1fr;gap:22px}
  #panel-sponsor .sponsor-form-card{max-width:620px}
}
@media (max-width: 768px){
  #panel-sponsor .sponsor-panel-content{padding:18px}
  #panel-sponsor .sponsor-hero{padding:22px}
  #panel-sponsor .sponsor-hero-highlights{grid-template-columns:1fr}
  #panel-sponsor .sponsor-hero-list{margin-left:18px}
  #panel-sponsor .sponsor-form-card{padding:22px}
  #panel-sponsor .sponsor-form-card .row{flex-direction:column}
}
#panel-investors{width:min(96vw,1240px);max-width:1240px}
#panel-investors header{background:linear-gradient(135deg,#1d5d3a,#3a8c62);color:#fff}
#panel-investors header .btn.secondary{background:#fff;color:#1d5d3a;border-color:#fff}
#panel-investors .investors-panel-content{padding:24px 26px;overflow:auto;flex:1;background:#f4faf7;display:flex;flex-direction:column;gap:18px}
#panel-investors .investors-panel-grid{display:grid;grid-template-columns:minmax(480px,1fr) minmax(520px,1fr);gap:36px;align-items:start}
#panel-investors .investors-hero{border:1px solid rgba(19,102,64,0.18);background:linear-gradient(135deg,#ffffff 0%,#e6f7ef 96%);box-shadow:0 14px 34px rgba(17,72,49,0.12);padding:30px;border-radius:22px;display:flex;flex-direction:column;gap:16px;min-height:100%}
#panel-investors .investors-hero-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:700;color:#135c39}
#panel-investors .investors-hero-heading{margin:0;font-size:30px;line-height:1.2;color:#174834}
#panel-investors .investors-hero-body{margin:0;font-size:16px;line-height:1.65;color:#2d4e3a;max-width:680px}
#panel-investors .investors-hero-highlights{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px;margin:14px 0 18px}
#panel-investors .investors-highlight{border-radius:16px;padding:18px;position:relative;overflow:hidden;color:#113222;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 26px rgba(0,0,0,.08)}
#panel-investors .investors-highlight::after{content:'';position:absolute;inset:0;opacity:.25;pointer-events:none}
#panel-investors .investors-highlight h3{margin:0 0 6px;font-size:15px;color:inherit}
#panel-investors .investors-highlight p{margin:0;font-size:13px;line-height:1.5;color:rgba(17,50,34,.92)}
#panel-investors .investors-highlight.highlight-signal{background:linear-gradient(135deg,#d8f2ff 0%,#bee4ff 100%);border:1px solid rgba(41,128,185,.32);color:#0f3d5a}
#panel-investors .investors-highlight.highlight-signal::after{background:radial-gradient(circle at top left,rgba(41,128,185,.32),transparent 60%)}
#panel-investors .investors-highlight.highlight-derisk{background:linear-gradient(135deg,#dbf8f1 0%,#bff0e3 100%);border:1px solid rgba(0,150,120,.3);color:#0f4a3c}
#panel-investors .investors-highlight.highlight-derisk::after{background:radial-gradient(circle at top left,rgba(0,150,120,.28),transparent 60%)}
#panel-investors .investors-highlight.highlight-returns{background:linear-gradient(135deg,#fff2db 0%,#ffe0ae 100%);border:1px solid rgba(233,170,21,.32);color:#5a3a00}
#panel-investors .investors-highlight.highlight-returns::after{background:radial-gradient(circle at top left,rgba(233,170,21,.32),transparent 60%)}
#panel-investors .investors-highlight.highlight-exit{background:linear-gradient(135deg,#efe4ff 0%,#d8c4ff 100%);border:1px solid rgba(126,87,194,.3);color:#3b2266}
#panel-investors .investors-highlight.highlight-exit::after{background:radial-gradient(circle at top left,rgba(126,87,194,.3),transparent 60%)}
#panel-investors .investors-hero-list{margin:4px 0 0 20px;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.6;color:#2d4e3a;list-style:disc}
#panel-investors .investors-right-column{display:flex;flex-direction:column;gap:20px}
#panel-investors .inv-hero{background:linear-gradient(135deg,#e6f7ef 0%, #c9eddc 100%);border-color:#c0e5d4;box-shadow:0 12px 28px rgba(17,72,49,0.1)}
#panel-investors .badge{background:#fff;border-color:#cfe8d0}
#panel-investors .investors-deck-card{padding:26px 24px;box-shadow:0 18px 34px rgba(17,72,49,0.12);border-radius:18px;border:1px solid #d8e3d8;background:#fff}
#panel-investors .investors-cta-banner{background:linear-gradient(135deg,#135c39,#0e4028);color:#fff;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:0 14px 30px rgba(15,64,40,.32);margin-bottom:18px}
#panel-investors .investors-cta-banner strong{font-size:16px;font-weight:700}
#panel-investors .investors-cta-banner span{font-size:14px;line-height:1.5}
#panel-investors .card{margin-bottom:12px}
#panel-investors .deck-card .deck-grid{gap:16px}
#panel-investors .deck-card .deck-grid .field{flex:1}
#panel-investors .deck-card .deck-grid .field.full{flex-basis:100%}
#panel-investors .deck-card .deck-grid input,#panel-investors .deck-card .deck-grid select,#panel-investors .deck-card .deck-grid textarea{width:100%}
.traction-metrics{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px;margin-top:6px}
.traction-metrics .metric{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;background:rgba(26,94,58,0.08);border:1px solid rgba(26,94,58,0.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.traction-metrics .metric:nth-of-type(2){background:rgba(47,125,80,0.09);border-color:rgba(47,125,80,0.22)}
.traction-metrics .metric:nth-of-type(3){background:rgba(233,170,21,0.12);border-color:rgba(233,170,21,0.28)}
.traction-metrics .metric:nth-of-type(4){background:rgba(64,105,225,0.12);border-color:rgba(64,105,225,0.28)}
.traction-metrics .metric .metric-label{text-transform:uppercase;font-size:11px;letter-spacing:.08em;font-weight:700;color:#135c39}
.traction-metrics .metric strong{font-size:16px;font-weight:700;color:#173d29}
@media (max-width: 1280px){
  #panel-investors{width:min(96vw,1120px);max-width:1120px}
  #panel-investors .investors-panel-grid{grid-template-columns:minmax(420px,1fr) minmax(460px,1fr)}
}
@media (max-width: 1180px){
  #panel-investors{width:min(96vw,980px);max-width:980px}
  #panel-investors .investors-panel-grid{grid-template-columns:minmax(340px,1fr) minmax(360px,1fr)}
  .traction-metrics{grid-template-columns:repeat(4,minmax(95px,1fr));gap:10px}
}
@media (max-width: 980px){
  #panel-investors .investors-panel-grid{grid-template-columns:1fr;gap:24px}
  #panel-investors .investors-deck-card{max-width:640px}
  .traction-metrics{grid-template-columns:repeat(2,minmax(130px,1fr))}
}
@media (max-width: 768px){
  #panel-investors .investors-panel-content{padding:18px}
  #panel-investors .investors-panel-grid{gap:18px}
  #panel-investors .investors-hero{padding:24px}
  #panel-investors .investors-hero-highlights{grid-template-columns:1fr}
  #panel-investors .investors-hero-list{margin-left:18px}
  #panel-investors .investors-deck-card{padding:22px}
  #panel-investors .investors-deck-card .deck-grid{flex-direction:column}
  .traction-metrics{grid-template-columns:1fr}
}
#panel-investors .inv-hero{background:linear-gradient(135deg,#E8F5E9 0%, #C8E6C9 100%);border-color:#cfe8d0}
#panel-investors .badge{background:#fff;border-color:#cfe8d0}
.panel-right #panel-sponsor{}
.panel-right #panel-sponsor {}
.panel-right #panel-sponsor {}
.panel-right #panel-sponsor {}
.panel-right #panel-sponsor {}
/* Complete Registration Modal Styling */
#modal-register .panel{
  border-color:#cfe8d0;
  background:linear-gradient(0deg, #f7fbf7 0%, #ffffff 42%);
  max-width:480px;
  max-height:90vh;
  padding:20px;
  box-shadow:0 20px 40px rgba(0,0,0,.15);
  border-radius:16px;
  overflow-y:auto;
}

#modal-register h2{
  color:#2E7D32;
  font-size:24px;
  font-weight:600;
  margin:0 0 8px 0;
  display:flex;
  align-items:center;
  gap:8px;
}

#modal-register h2::before{
  content:"🌱";
  font-size:20px;
}

#modal-register .form{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:16px;
}

#modal-register .form label{
  display:block;
  margin:0;
  font-weight:500;
  color:#2c3e50;
  font-size:14px;
}

#modal-register .form label span{
  display:block;
  margin-bottom:6px;
  font-weight:600;
  color:#2E7D32;
  font-size:14px;
}

#modal-register input{
  width:100%;
  padding:12px 14px;
  border:2px solid #d8e3d8;
  border-radius:10px;
  background:#f9fbf9;
  outline:none;
  transition:all .2s ease;
  font-size:14px;
  margin-top:4px;
  box-sizing:border-box;
}

#modal-register input:focus{
  border-color:#2E7D32;
  box-shadow:0 0 0 4px rgba(46,125,50,.12);
  background:#fff;
  transform:translateY(-1px);
}

#modal-register input:disabled{
  background:#f5f5f5;
  color:#666;
  cursor:not-allowed;
}

#modal-register button{
  background:linear-gradient(135deg, #2E7D32 0%, #388E3C 100%);
  color:white;
  border:none;
  padding:12px 20px;
  border-radius:10px;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:all .2s ease;
  margin-top:6px;
  box-shadow:0 4px 12px rgba(46,125,50,.3);
}

#modal-register button:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(46,125,50,.4);
  background:linear-gradient(135deg, #388E3C 0%, #43A047 100%);
}

#modal-register button:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(46,125,50,.3);
}

#modal-register .secondary{
  background:transparent;
  color:#666;
  border:2px solid #e0e0e0;
  box-shadow:none;
  margin:0;
}

#modal-register .secondary:hover{
  background:#f5f5f5;
  border-color:#ccc;
  transform:none;
  box-shadow:none;
}

.reg-thanks{
  margin:12px 0 16px;
  padding:12px 16px;
  border-radius:10px;
  background:linear-gradient(135deg, #E8F5E9 0%, #F1F8E9 100%);
  border:2px solid #cfe8d0;
  border-left:4px solid #2E7D32;
  color:#1a1a1a;
  position:relative;
  overflow:hidden;
}

.reg-thanks::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg, #2E7D32, #4CAF50, #2E7D32);
  animation:shimmer 2s ease-in-out infinite;
}

@keyframes shimmer{
  0%, 100% { opacity:0.5; }
  50% { opacity:1; }
}

.reg-thanks strong{
  display:block;
  color:#2E7D32;
  font-size:15px;
  font-weight:600;
  margin-bottom:6px;
}

.reg-thanks div{
  font-size:13px;
  line-height:1.4;
  margin:3px 0;
  color:#2c3e50;
}

/* Form validation states */
#modal-register input.error{
  border-color:#e74c3c;
  background:#fdf2f2;
}

#modal-register input.success{
  border-color:#27ae60;
  background:#f0f9f0;
}

/* Loading state */
#modal-register button.loading{
  position:relative;
  color:transparent;
}

#modal-register button.loading::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:20px;
  height:20px;
  margin:-10px 0 0 -10px;
  border:2px solid transparent;
  border-top:2px solid white;
  border-radius:50%;
  animation:spin 1s linear infinite;
}

@keyframes spin{
  0% { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}

/* Enhanced modal animations */
#modal-register .panel{
  animation:modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn{
  from{
    opacity:0;
    transform:scale(0.9) translateY(-20px);
  }
  to{
    opacity:1;
    transform:scale(1) translateY(0);
  }
}

/* Input focus animations */
#modal-register input:focus{
  border-color:#2E7D32;
  box-shadow:0 0 0 4px rgba(46,125,50,.12);
  background:#fff;
  transform:translateY(-1px);
  animation:inputFocus 0.2s ease-out;
}

@keyframes inputFocus{
  from{
    box-shadow:0 0 0 0px rgba(46,125,50,.12);
  }
  to{
    box-shadow:0 0 0 4px rgba(46,125,50,.12);
  }
}

/* Success state animation */
#modal-register input.success{
  border-color:#27ae60;
  background:#f0f9f0;
  animation:successPulse 0.6s ease-out;
}

@keyframes successPulse{
  0%, 100% { transform:scale(1); }
  50% { transform:scale(1.02); }
}

/* Error state animation */
#modal-register input.error{
  border-color:#e74c3c;
  background:#fdf2f2;
  animation:errorShake 0.5s ease-out;
}

@keyframes errorShake{
  0%, 100% { transform:translateX(0); }
  25% { transform:translateX(-5px); }
  75% { transform:translateX(5px); }
}

/* Button press animation */
#modal-register button:active{
  transform:translateY(0) scale(0.98);
  box-shadow:0 2px 8px rgba(46,125,50,.3);
}

/* Info boxes styling */
#modal-register .info-box{
  margin:12px 0;
  padding:10px;
  border-radius:8px;
  border-left:3px solid #2E7D32;
  background:#f8f9fa;
  animation:fadeInUp 0.4s ease-out;
}

#modal-register .pro-tip{
  margin-top:12px;
  padding:10px;
  background:#e3f2fd;
  border-radius:8px;
  border:1px solid #bbdefb;
  animation:fadeInUp 0.4s ease-out 0.2s both;
}
#modal-register .pro-tip.error-message{
  background:#fdecea;
  border-color:#f5c2c7;
  animation:none;
}
#modal-register .pro-tip.error-message .reg-error,
#modal-register .pro-tip.error-message small{
  color:#b71c1c;
  font-weight:600;
}

@keyframes fadeInUp{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* Deck form styling */
.deck-card{background:#fff}
.deck-form{display:block}
.deck-grid{display:grid;grid-template-columns:1fr;gap:10px}

/* Country dropdown and phone input styling */
#deck-country{
  width:100%;
  padding:12px 14px;
  border:1px solid #d8e3d8;
  border-radius:10px;
  background:#f9fbf9;
  outline:none;
  transition:border-color .15s, box-shadow .15s;
  font-size:15px;
  cursor:pointer;
}

#deck-country:focus{
  border-color:#2E7D32;
  box-shadow:0 0 0 3px rgba(46,125,50,.12);
  background:#fff;
}

.phone-input-container{
  display:flex;
  align-items:center;
  border:1px solid #d8e3d8;
  border-radius:10px;
  background:#f9fbf9;
  transition:border-color .15s, box-shadow .15s;
  overflow:hidden;
}

.phone-input-container:focus-within{
  border-color:#2E7D32;
  box-shadow:0 0 0 3px rgba(46,125,50,.12);
  background:#fff;
}

.phone-flag{
  padding:12px 8px 12px 14px;
  font-size:16px;
  background:transparent;
  border:none;
  display:flex;
  align-items:center;
  min-width:32px;
}

.phone-code{
  padding:12px 8px;
  font-size:15px;
  font-weight:500;
  color:#2E7D32;
  background:transparent;
  border:none;
  display:flex;
  align-items:center;
  min-width:50px;
  border-right:1px solid #e0e0e0;
}

.phone-input{
  flex:1;
  padding:12px 14px;
  border:none;
  background:transparent;
  outline:none;
  font-size:15px;
  color:#1a1a1a;
}

.phone-input::placeholder{
  color:#999;
}

/* Country dropdown option styling */
#deck-country option{
  padding:8px;
  font-size:15px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .phone-input-container{
    flex-wrap:wrap;
  }
  
  .phone-flag, .phone-code{
    min-width:auto;
    padding:8px 6px;
  }
  
  .phone-input{
    min-width:120px;
  }
}
.deck-form .field{display:flex;flex-direction:column}
.deck-form .field>span{font-size:12px;color:#2b2b2b;margin-bottom:4px}

/* Sponsors Banner Rice Field Background */
.sponsors-banner {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sponsors-banner:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(46, 125, 50, 0.3);
}

.sponsors-banner .binder-inline:hover {
  background: #1B5E20 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(46, 125, 50, 0.4);
}

.rice-field-bg {
  animation: riceFieldWave 8s ease-in-out infinite;
}

.rice-plants {
  animation: ricePlantsSway 6s ease-in-out infinite;
}

.rice-stalks {
  animation: riceStalksSway 7s ease-in-out infinite;
}

.water-reflection {
  animation: waterRipple 4s ease-in-out infinite;
}

.sky-overlay {
  animation: skyShimmer 10s ease-in-out infinite;
}

@keyframes riceFieldWave {
  0%, 100% { transform: translateX(0) translateY(0); }
  25% { transform: translateX(2px) translateY(-1px); }
  50% { transform: translateX(-1px) translateY(1px); }
  75% { transform: translateX(1px) translateY(-0.5px); }
}

@keyframes ricePlantsSway {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(1px) rotate(0.5deg); }
  50% { transform: translateX(-0.5px) rotate(-0.3deg); }
  75% { transform: translateX(0.5px) rotate(0.2deg); }
}

@keyframes waterRipple {
  0%, 100% { opacity: 0.1; transform: scaleY(1); }
  50% { opacity: 0.15; transform: scaleY(1.02); }
}

@keyframes riceStalksSway {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  25% { transform: translateX(1px) rotate(1deg); }
  50% { transform: translateX(-0.5px) rotate(-0.5deg); }
  75% { transform: translateX(0.5px) rotate(0.3deg); }
}

@keyframes skyShimmer {
  0%, 100% { opacity: 0.1; }
  50% { opacity: 0.2; }
}
.deck-form input,.deck-form textarea{width:100%;padding:10px 12px;border:1px solid #d8e3d8;border-radius:10px;background:#f9fbf9;outline:none;transition:border-color .15s, box-shadow .15s}
.deck-form input:focus,.deck-form textarea:focus{border-color:#2E7D32;box-shadow:0 0 0 3px rgba(46,125,50,.15);background:#fff}
.deck-form .field.full{grid-column:1/-1}
@media(min-width:800px){
  .deck-grid{grid-template-columns:1fr 1fr;gap:12px}
}

/* FAQ styles */
#faq details{border:1px solid #e6e6e6;border-radius:10px;padding:10px 12px;margin:8px 0;background:#fff}
#faq summary{cursor:pointer;font-weight:600;list-style:none}
#faq summary::-webkit-details-marker{display:none}
#faq details[open]{background:#f9faf9}
#faq p{margin:8px 0 0;color:#444}
/* Mobile/inline FAQ – highlight answers with agri colors */
#faq details > p{margin:10px 0 0;padding:10px 12px;border-radius:10px;color:#1a1a1a;border-left:4px solid #2E7D32}
#faq details:nth-of-type(odd) > p{background:#E8F5E9;border-left-color:#2E7D32}
#faq details:nth-of-type(even) > p{background:#FFF8E1;border-left-color:#DCA73B}

/* FAQ panel (desktop) – highlight answers with contrasting agri colors */
#panel-faq details{border:1px solid #e6e6e6;border-radius:10px;padding:10px 12px;margin:8px 0;background:#fff}
#panel-faq summary{cursor:pointer;font-weight:600;list-style:none}
#panel-faq summary::-webkit-details-marker{display:none}
#panel-faq details > p{margin:10px 0 0;padding:10px 12px;border-radius:10px;color:#1a1a1a;border-left:4px solid #2E7D32}
#panel-faq details:nth-of-type(odd) > p{background:#E8F5E9;border-left-color:#2E7D32}
#panel-faq details:nth-of-type(even) > p{background:#FFF8E1;border-left-color:#DCA73B}

/* Privacy Policy and Terms & Disclosures - Green theming to match FAQ */
#panel-privacy .card, #panel-terms .card {
  background: linear-gradient(135deg, #f7fbf7 0%, #ffffff 100%);
  border: 1px solid #cfe8d0;
  border-left: 4px solid #2E7D32;
}

#panel-privacy h3, #panel-terms h3 {
  color: #2E7D32;
  font-weight: 600;
  margin: 16px 0 8px 0;
  padding: 8px 12px;
  background: #E8F5E9;
  border-radius: 8px;
  border-left: 4px solid #2E7D32;
}

#panel-privacy h3:nth-of-type(even), #panel-terms h3:nth-of-type(even) {
  background: #FFF8E1;
  border-left-color: #DCA73B;
}

#panel-privacy ul, #panel-terms ul {
  margin: 8px 0;
  padding-left: 0;
  list-style: none;
}

#panel-privacy li, #panel-terms li {
  margin: 8px 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: #E8F5E9;
  border-left: 4px solid #2E7D32;
  color: #1a1a1a;
}

#panel-privacy li:nth-of-type(even), #panel-terms li:nth-of-type(even) {
  background: #FFF8E1;
  border-left-color: #DCA73B;
}

#panel-privacy p, #panel-terms p {
  margin: 8px 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: #E8F5E9;
  border-left: 4px solid #2E7D32;
  color: #1a1a1a;
}

#panel-privacy p:nth-of-type(even), #panel-terms p:nth-of-type(even) {
  background: #FFF8E1;
  border-left-color: #DCA73B;
}

/* Special styling for the first paragraph (intro) */
#panel-privacy .card > p:first-of-type, #panel-terms .card > p:first-of-type {
  background: linear-gradient(135deg, #E8F5E9 0%, #F1F8E9 100%);
  border-left-color: #2E7D32;
  font-weight: 500;
}

/* Style links within the content */
#panel-privacy a, #panel-terms a {
  color: #2E7D32;
  font-weight: 500;
  text-decoration: underline;
}

#panel-privacy a:hover, #panel-terms a:hover {
  color: #1B5E20;
  text-decoration: none;
}

.toast{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:10px 14px;border-radius:10px;opacity:0;transition:opacity .2s;z-index:50}
.toast.show{opacity:1}
footer.site-footer{margin:24px 0 0;color:#fff;background:transparent}
/* Cookie banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:2px solid var(--green);box-shadow:0 -2px 12px rgba(0,0,0,.08);
  transform:translateY(110%);opacity:0;transition:transform .3s ease, opacity .2s ease;z-index:40}
.cookie-banner.show{transform:translateY(0);opacity:1}
.cookie-banner .inner{max-width:1100px;margin:0 auto;padding:12px 88px 12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}
.cookie-banner .cookie-close{
  position:absolute;
  top:12px;
  right:16px;
  background:#2E7D32;
  color:#fff;
}
.cookie-banner .cookie-close:hover,
.cookie-banner .cookie-close:focus-visible{
  background:#1B5E20;
  color:#fff;
}
.cookie-banner p{margin:0;color:#1a1a1a;font-size:13px;line-height:1.4;flex:1 1 70%;max-width:72%;text-align:left}
.cookie-banner .cookie-actions{display:flex;gap:10px;flex-wrap:nowrap;margin-left:auto}
@media(max-width:600px){
  .cookie-banner .inner{flex-direction:column;align-items:stretch;gap:10px;padding:16px 60px 16px 16px}
  .cookie-banner p{max-width:100%;font-size:12px}
  .cookie-banner .cookie-actions{justify-content:flex-end}
}
footer.site-footer .footer-inner{max-width:1100px;margin:0 auto;padding:12px 16px 12px 10px;display:flex;align-items:center;justify-content:space-between}
footer.site-footer .copy{color:#fff}
footer.site-footer .copy-mobile{display:none}
footer.site-footer .legal{white-space:nowrap}
footer.site-footer .legal .sep{color:#fff;opacity:.9;margin:0 10px}
footer.site-footer .legal a{color:#fff}
footer.site-footer .legal-mobile{display:none}
footer.site-footer a{color:#fff}
@media(max-width:600px){
  footer.site-footer .footer-inner{flex-direction:column;gap:6px;text-align:center}
  footer.site-footer .legal .sep{margin:0 8px}
  footer.site-footer .copy-desktop{display:none}
  footer.site-footer .copy-mobile{display:inline}
  footer.site-footer .legal-desktop{display:none}
  footer.site-footer .legal-mobile{display:inline}
}

/* Sponsors banner logo strip */
.sponsors-logos img{display:inline-block;vertical-align:middle}
/* Card-like framing for sponsor logos */
.sponsors-logos{display:flex;flex-wrap:wrap}
.sponsors-logos .logo-card{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--green);border-radius:10px;box-shadow:0 3px 10px rgba(27,94,32,0.10);width:150px;height:56px;padding:0}
.sponsors-logos .logo-card img{width:95%;height:95%;object-fit:contain}
@media(min-width:901px){.sponsors-logos .logo-card{border-radius:12px;width:150px;height:56px}.sponsors-logos .logo-card img{width:95%;height:95%}}
@media(max-width:600px){
  .sponsors-logos{gap:12px !important}
  .sponsors-logos .logo-card{width:140px;height:50px;border-radius:8px}
  .sponsors-logos .logo-card img{width:96%;height:96%}
}
.sponsor-timeline{display:none}
.sponsor-timeline-card{border:1px solid #d7e8d7;border-radius:14px;padding:18px;background:linear-gradient(135deg,#f7fff8,#f2f7ff);box-shadow:0 12px 28px rgba(0,0,0,0.06);}
.sponsor-timeline-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;}
.sponsor-timeline-header h2{margin:0;font-size:20px;color:#124528;letter-spacing:.01em;}
.sponsor-timeline-header .chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:linear-gradient(120deg,#2e7d32,#4caf50);color:#fff;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 6px 14px rgba(46,125,50,0.25);border:none;cursor:pointer;gap:6px;font-family:inherit;}
.sponsor-timeline-header .chip:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.sponsor-timeline-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;}
.sponsor-timeline-steps li{border:1px solid #dfe9ff;border-radius:12px;padding:14px;background:#fff;box-shadow:0 12px 26px rgba(18,52,86,0.12);position:relative;overflow:hidden;}
.sponsor-timeline-steps li::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(76,175,80,0.14),rgba(33,150,243,0.12),rgba(255,193,7,0.12));opacity:0.9;}
.sponsor-timeline-steps li:nth-child(2)::before{background:linear-gradient(135deg,rgba(255,87,34,0.14),rgba(233,30,99,0.12),rgba(63,81,181,0.12));}
.sponsor-timeline-steps li:nth-child(3)::before{background:linear-gradient(135deg,rgba(0,188,212,0.14),rgba(139,195,74,0.12),rgba(255,152,0,0.12));}
.sponsor-timeline-steps li:nth-child(4)::before{background:linear-gradient(135deg,rgba(76,175,80,0.12),rgba(3,169,244,0.14),rgba(156,39,176,0.12));}
.sponsor-timeline-steps li:nth-child(5)::before{background:linear-gradient(135deg,rgba(121,134,203,0.14),rgba(244,143,177,0.12),rgba(0,150,136,0.12));}
.sponsor-timeline-steps strong{display:block;margin-bottom:6px;color:#0d2618;font-size:14px;position:relative;z-index:1;}
.sponsor-timeline-steps p{margin:0;color:#1f342a;font-size:13px;line-height:1.45;position:relative;z-index:1;}
body.sponsor-view [data-sponsor-section]{display:none!important}
body.sponsor-view .sponsor-timeline{display:block}


#crop-gallery-heading{display:none;max-width:1100px;margin:12px auto 0;padding:0 16px;font-size:15px;font-style:italic;color:#fff;letter-spacing:0.02em;text-shadow:0 1px 3px rgba(0,0,0,0.45);text-align:center;}
/* Crop gallery layout */
#crop-gallery{display:none;gap:16px;margin:16px auto 28px;max-width:1100px;padding:0 16px;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));}
#crop-gallery .crop-gallery-card{position:relative;display:grid;grid-template-columns:4fr 8fr;align-items:stretch;min-height:180px;border:1px solid #e0e0e0;border-radius:16px;background:#fff;overflow:hidden;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
#crop-gallery .crop-gallery-card:hover,#crop-gallery .crop-gallery-card:focus,#crop-gallery .crop-gallery-card.active{transform:translateY(-2px);box-shadow:0 10px 24px rgba(26, 56, 34, 0.18);border-color:rgba(46,125,50,0.35);outline:none;}
#crop-gallery .crop-gallery-card:focus-visible{outline:3px solid rgba(46,125,50,0.35);}
#crop-gallery .crop-gallery-image{position:relative;background-position:center;background-size:cover;min-height:180px;}
#crop-gallery .crop-gallery-image::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,0.35), rgba(0,0,0,0.05));opacity:0.75;transition:opacity .2s ease;}
#crop-gallery .crop-gallery-card:hover .crop-gallery-image::after{opacity:0.55;}
#crop-gallery .crop-gallery-label{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:12px;font-size:14px;font-weight:600;color:#fff;background:rgba(33,94,48,0.85);text-transform:capitalize;letter-spacing:0.01em;z-index:1;}
#crop-gallery .crop-gallery-owned{position:absolute;top:12px;right:12px;padding:4px 10px;border-radius:999px;background:rgba(241,196,15,0.92);color:#2b2b2b;font-size:11px;font-weight:700;letter-spacing:0.05em;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,0.12);z-index:2;text-transform:uppercase;}
#crop-gallery .crop-gallery-info{display:flex;align-items:center;justify-content:center;background:#fafafa;}
#crop-gallery .crop-gallery-info::after{content:'';width:70%;max-width:380px;height:70%;border:2px dashed rgba(110,137,116,0.25);border-radius:14px;transition:border-color .2s ease;}
#crop-gallery .crop-gallery-info .info-inner{position:relative;z-index:1;max-width:360px;padding:24px 28px;text-align:left;display:flex;flex-direction:column;gap:10px;color:#1a1a1a;}
#crop-gallery .crop-gallery-info .info-inner h3{margin:0;font-size:20px;color:#1b4c2c;letter-spacing:0.01em;}
#crop-gallery .crop-gallery-info .info-inner p{margin:0;font-size:14px;line-height:1.45;color:#425347;}
#crop-gallery .crop-gallery-info .info-inner small{font-size:12px;color:#54675a;text-transform:uppercase;letter-spacing:0.08em;}
#crop-gallery .crop-gallery-card:hover .crop-gallery-info::after{border-color:rgba(46,125,50,0.4);}
#crop-gallery .crop-gallery-card.empty{cursor:default;filter:grayscale(0.35);opacity:0.75;}
#crop-gallery .crop-gallery-card.empty:hover,#crop-gallery .crop-gallery-card.empty:focus{transform:none;box-shadow:none;border-color:#e0e0e0;}
#crop-gallery .crop-gallery-card.empty .crop-gallery-image::after{opacity:0.85;}
#section-farm.crop-gallery-mode .crop-gallery{display:grid;}
#section-farm.crop-gallery-mode .farm-toolbar,#section-farm.crop-gallery-mode .grid,#section-farm.crop-gallery-mode .more-wrap{display:none;}
#section-farm.crop-gallery-mode{padding-top:12px;}
@media(max-width:900px){#crop-gallery .crop-gallery-card{grid-template-columns:1fr;min-height:200px;}#crop-gallery .crop-gallery-info{padding:40px 0;}}
@media(max-width:600px){#crop-gallery{padding:0 10px;margin:12px auto 18px;}}
/* Mobile optimizations */
@media(max-width:600px){
  .announcement-bar{display:none}
  /* Hide announcement bar on mobile when logged in (auth view) */
  .hero.auth-view ~ .announcement-bar,
  .hero.auth-view + .announcement-bar,
  .hero.auth-view .announcement-bar,
  .auth-view ~ .announcement-bar{display:none}
  header nav{flex-wrap:nowrap;gap:8px;margin-left:0}
  .hamburger{margin-left:auto}
  header nav a, header a.navlink{font-size:14px}
  /* Hide FAQ header link on mobile; keep inline FAQ card */
  #nav-faq{display:none}
  /* Hide secondary header links on mobile; keep Login visible */
  #nav-story, #nav-invest{display:none}
  /* Hide Home and Watch Live in header on mobile */
  #nav-home, #nav-watch{display:none !important}
  /* Show hamburger */
  .hamburger{display:inline-flex;align-items:center;justify-content:center}
  /* In the hero, hide the first card (big quadrant), keep How It Works (#how) */
  .hero > .card:first-child{display:none}
  /* Reformat How It Works for readability */
  #how{padding:14px}
  #how h4{font-size:18px;color:#fff}
  /* Mobile unauthenticated How It Works: green background + white text */
  #how{background: var(--green); border-color:#145a1a; color:#fff}
  #how .how-steps{display:flex;flex-direction:column;gap:8px;margin-top:8px}
  #how .how-steps .step{display:flex;align-items:center;gap:8px}
  #how .how-steps .step .ico{font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#fff;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.15) inset;color:#2E7D32}
  #how .how-steps .step .label{white-space:normal;font-weight:600;color:#fff}
  #how .muted{color:rgba(255,255,255,.85)}
  /* Picker vs plots: in picker mode show only 6 crop cards; hide toolbar/grid */
  #section-farm.mobile-crop-mode .farm-toolbar{display:none}
  #section-farm.mobile-crop-mode .grid,
  #section-farm.mobile-crop-mode .more-wrap{display:none}
  #section-farm.mobile-crop-mode .mobile-crops{display:grid;grid-template-columns:repeat(3, 1fr);gap:8px;max-width:1100px;margin:0 auto;padding:12px}
  /* On plots screen (not mobile-crop-mode), show two toolbar rows and mobile tip */
  /* Mobile: legend on its own row, season+filter on second row */
  #section-farm .farm-toolbar{flex-direction:column;align-items:stretch;gap:6px}
  #section-farm .farm-toolbar .legend{display:flex;align-items:center;justify-content:flex-start;gap:6px}
  #section-farm .farm-toolbar .toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
  /* Place Filter label above dropdown and right align with Season 1 */
  #section-farm .farm-toolbar .right-tools{display:flex;flex-direction:column;align-items:flex-end}
  #section-farm .farm-toolbar .right-tools label[for='crop-filter']{display:block;margin:0 0 2px 0}
  #section-farm .tip-desktop{display:none}
  /* hide mobile tips completely per request */
  .season-line .season-tip{display:none !important}
  /* Authenticated mobile dashboard overrides */
  .hero.auth-view #how{padding:16px;color:#1b4c2c;border-color:#b7dbba;background:linear-gradient(135deg,#E8F5E9 0%,#ECF7EC 50%,#FFF8E1 100%)}
  .hero.auth-view #auth-dashboard{gap:18px}
  .hero.auth-view .dash-head{flex-direction:column;align-items:flex-start}
  .hero.auth-view .dash-actions{width:100%;justify-content:flex-start}
  .hero.auth-view .stat-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .hero.auth-view .chart-bars{gap:12px;height:140px}
  /* Hide the Sponsors banner on mobile (second section within .container) */
  .container > section:nth-of-type(2){display:none}
  /* When authenticated on mobile, hide all inline FAQ cards below the hero */
  .hero.auth-view ~ section .card#faq{display:none}
  /* Make grid tiles sharper: fixed integer size with horizontal scroll if needed */
  .grid{--tile:26px;gap:2px;grid-template-columns:repeat(30, var(--tile));overflow-x:auto;justify-content:flex-start}
  .tile{width:var(--tile);height:var(--tile);font-size:9px}
  .tile.mine{width:auto;height:auto;aspect-ratio:5/4}
  #btn-share{display:none !important}
}

/* Desktop unauthenticated How It Works: light green background + white text */
@media(min-width:901px){
  /* Remove Home link on desktop */
  #nav-home{display:none}
  /* Hide inline FAQ card on desktop; use panel instead */
  #faq{display:none}
  #how{
    /**background: linear-gradient(135deg, #66BB6A 0%, #81C784 60%, #A5D6A7 100%); **/
    background: linear-gradient(135deg, #66BB6A 0%, #17511a 60%, #b1c9b2 100%);
    border-color:#9ccc9c;
    color:#fff;
  }
  #how h4{color:#fff}
  #how .how-steps{display:flex;flex-direction:column;gap:10px;margin-top:8px}
  #how .how-steps .step{display:flex;align-items:center;gap:10px}
  #how .how-steps .step .ico{font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#fff;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.2) inset;color:#2E7D32}
  #how .how-steps .step .label{white-space:normal;font-weight:600;color:#fff}
  /**#how .muted{color:rgba(255,255,255,.9)} **/
  #how .muted{color:rgba(6 87 21 / 90%)}
}
/* Jazzy agricultural theme for authenticated dashboard */
.hero.auth-view #how{box-shadow:0 18px 38px rgba(19,64,31,0.18)}
.hero.auth-view .stat-card{background:rgba(255,255,255,0.92)}
.hero.auth-view .btn.secondary{background:#fff;color:#2E7D32;border-color:#2E7D32}
.hero:not(.auth-view) #hero-intro .btn-demo-whatsapp,
.hero:not(.auth-view) #hero-intro .btn-open-demo{display:inline-flex!important;align-items:center;gap:8px}
.hero:not(.auth-view) #hero-intro .btn-demo-whatsapp,
.hero:not(.auth-view) #hero-intro .btn-timeline{min-width:190px;height:48px;padding:0 18px;justify-content:center;font-weight:600}
.hero:not(.auth-view) #hero-intro .btn-timeline span{white-space:nowrap}
.hero:not(.auth-view) #hero-intro .btn-demo-whatsapp img,
.hero:not(.auth-view) #hero-intro .btn-open-demo img{width:18px;height:18px;display:block}
.sponsor-period-inline{margin-right:10px;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(120deg, var(--gold), #1e8f35);color:#fff;padding:6px 14px;border-radius:999px;font-weight:600;font-size:0.9rem;box-shadow:0 8px 20px rgba(0,0,0,0.25);}
.sponsor-period-inline[hidden]{display:none;}
.btn-video{width:120px;height:48px;border-radius:10px;background:#259b58;;color:#fff;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600}
.btn-video span{font-size:14px}
.btn-video svg{display:block}
.dash-actions .dash-video{width:auto;height:48px;padding:0 18px;background:#259b58;border-radius:10px;gap:8px}
.dash-actions .dash-video svg{width:18px;height:18px}
.modal-video{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,960px);max-width:960px;background:#000;border-radius:16px;box-shadow:0 25px 80px rgba(0,0,0,0.45);padding:0;z-index:120;display:none}
.modal-video.open{display:block}
.modal-video .video-frame{position:relative;padding-top:56.25%;border-radius:16px;overflow:hidden}
.modal-video iframe{position:absolute;inset:0;width:100%;height:100%}
.modal-video .video-close{position:absolute;top:10px;right:10px;background:rgba(0,0,0,0.7);color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:16px;z-index:2}
.modal-video .video-close:hover{background:rgba(0,0,0,0.85)}
.admin-head-left strong{font-size:18px;color:#1b4c2c}
#nav-admin .navlink{margin-left:12px;font-size:14px;color:var(--green)}
#nav-admin .navlink:first-child{margin-left:0;margin-right:8px}
.chart-tooltip{position:absolute;z-index:2;pointer-events:none;background:#102a43;color:#fff;padding:6px 8px;border-radius:8px;font-size:12px;box-shadow:0 6px 18px rgba(0,0,0,0.18);transform:translate(-50%,-8px);white-space:nowrap}
.chart-tooltip .delta{opacity:.9;margin-left:6px}
.chart-tooltip.up .delta{color:#34d399}
.chart-tooltip.down .delta{color:#f97316}
#panel-sponsor .traction-card{margin-bottom:20px;padding:22px 24px;border-radius:18px;border:1px solid #d4e9d9;background:linear-gradient(135deg,#e6f8ec 0%,#d1eddd 100%);box-shadow:0 12px 28px rgba(27,94,32,0.08);overflow:hidden}
#panel-sponsor .traction-card h3{margin:0 0 12px;font-size:20px;color:#174832}
#panel-sponsor .traction-card .traction-progress{margin-top:12px;margin-bottom:6px;background:rgba(27,94,32,0.12)}
#panel-sponsor .traction-card .traction-progress span{background:#1b5e20}
#panel-sponsor .traction-card small{display:block;margin-top:4px;font-size:12px;color:#5a6d5f}
.sponsors-banner-tagline{display:block;font-style:italic;font-weight:400;color:#1f7b38;margin-top:4px}
.demo-qr-card{background:#fdf8f3;border-radius:24px;padding:20px;box-shadow:0 20px 40px rgba(49,24,0,0.08);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;justify-content:flex-start;border:1px solid rgba(84,40,0,0.08)}
.demo-qr-card .qr-frame{background:#fff;border-radius:28px;padding:18px;box-shadow:0 16px 30px rgba(15,8,0,0.15);position:relative}
.demo-qr-card .qr-svg svg{width:240px;height:240px;display:block}
.demo-qr-card .qr-icon{position:absolute;width:70px;height:70px;border-radius:50%;background:#fff url('/whatsApp.png') center/32px no-repeat;bottom:16px;left:50%;transform:translateX(-50%);box-shadow:0 6px 20px rgba(0,0,0,0.25);border:5px solid #fff}
.demo-qr-card .qr-placeholder{width:240px;height:240px;border-radius:24px;background:linear-gradient(135deg,#0b5d32,#0f3424);color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}
.demo-qr-card .qr-headline{margin:12px 0 0;font-size:18px;color:#1e2a32}
.demo-qr-card .qr-sub{margin:0;font-size:15px;color:#4c5664}
.demo-qr-card .qr-link{font-weight:700;color:#d97706;text-decoration:none;font-size:16px}
.demo-qr-card .qr-link:hover{text-decoration:underline}
.demo-qr-card .qr-contact{margin:0;font-size:13px;color:#6b7280;font-weight:600}
#nav-whatsapp-btn.header-whatsapp-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(22,50,28,0.25);border-radius:999px;background:#efb43945;color:#115c2d;font-weight:600;padding:7px 14px;font-size:14px;cursor:pointer}
#nav-whatsapp-btn img{display:block;width:18px;height:18px}
#nav-whatsapp-btn:hover{background:#f1f8f1;border-color:rgba(22,50,28,0.4)}
#nav-whatsapp-btn[hidden]{display:none}

.sponsor-onboarding-shell{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;background:rgba(8,21,17,.92);z-index:1400;overflow:auto}
.sponsor-onboarding-shell[hidden]{display:none}
.sponsor-onboarding-backdrop{position:absolute;inset:0;background:linear-gradient(135deg,rgba(12,49,32,.9),rgba(6,25,18,.92));z-index:-1}
.sponsor-onboarding-panel{width:min(760px,100%);background:#fefefc;border-radius:18px;padding:32px;box-shadow:0 24px 70px rgba(0,0,0,.38);position:relative}
.sponsor-onboarding-panel.is-completed-only>:not(.sponsor-onboarding-modal):not(.sponsor-onboarding-close){display:none}
.sponsor-onboarding-panel.is-completed-only .sponsor-onboarding-close{display:none}
.sponsor-onboarding-panel.is-completed-only{background:transparent;box-shadow:none;padding:0;border-radius:0;width:100%;display:flex;justify-content:center;align-items:center;min-height:100%}
.sponsor-onboarding-header h1{margin:8px 0 12px;font-size:30px;color:#0f2319}
.sponsor-onboarding-tag{text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:#2a5f40;margin:0;display:inline-block;font-weight:700}
.sponsor-onboarding-subtitle{margin:0;color:#43554a;font-size:15px}
.sponsor-onboarding-meta{margin:18px 0 0;font-size:14px;color:#3d5045;display:flex;flex-wrap:wrap;gap:8px}
.sponsor-onboarding-meta strong{font-weight:700;color:#1b2e24}
.sponsor-onboarding-meta span{color:#46554c}
.sponsor-agreement-signature{margin:16px 0 0;padding:12px 16px;border-radius:10px;background:rgba(36,86,46,.08);font-size:14px;line-height:1.5;color:#1b2e24}
.sponsor-agreement-signature p{margin:0}
.sponsor-agreement-signature p+p{margin-top:4px}
.sponsor-onboarding-ctas{margin:24px 0;display:flex;flex-wrap:wrap;gap:12px}
.sponsor-onboarding-panel .cta{border:none;border-radius:999px;padding:12px 22px;font-weight:600;font-size:15px;cursor:pointer;text-align:center;transition:transform .1s ease,box-shadow .2s ease}
.sponsor-onboarding-panel .cta.primary{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(40,122,83,.35)}
.sponsor-onboarding-panel .cta.primary:active{transform:translateY(1px)}
.sponsor-onboarding-panel .cta.ghost{background:transparent;color:#1f3a2b;border:1px solid rgba(9,25,18,.25)}
.sponsor-onboarding-panel .cta.text{background:none;border:none;color:#50675c;padding:0 6px}
.sponsor-onboarding-alert{margin-bottom:16px;padding:12px 16px;border-radius:10px;background:#fff3f0;color:#b6402b;font-weight:600;box-shadow:inset 0 0 0 1px rgba(182,64,43,.24)}
.sponsor-onboarding-form{display:flex;flex-direction:column;gap:18px}
.sponsor-onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:640px){
.sponsor-onboarding-grid{grid-template-columns:1fr}
}
.sponsor-onboarding-form label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#1e1f1c;gap:6px}
.sponsor-onboarding-crops{gap:10px !important;background:#e7f4ec;border:1px solid rgba(15,43,31,.12);border-radius:12px;padding:14px}
.sponsor-crops-header{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:#1e1f1c}
.sponsor-onboarding-crops{gap:10px !important}
.sponsor-crop-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:14px;background:rgba(255,255,255,0.75);border:1px solid rgba(15,43,31,.14);border-radius:12px}
.sponsor-crop-option{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:#1e1f1c;font-weight:600}
.sponsor-crop-option input{flex:0 0 auto;margin-top:2px;width:18px;height:18px}
.sponsor-crop-body{display:flex;flex-direction:column;gap:2px}
.sponsor-crop-label{font-weight:700}
.sponsor-crop-option small{color:#617265;font-weight:500;font-size:13px}
.inline-checkbox{flex-direction:row !important;align-items:center;gap:10px}
.sponsor-onboarding-form input,
.sponsor-onboarding-form select,
.sponsor-onboarding-form textarea{border:1px solid rgba(15,43,31,.18);border-radius:10px;padding:11px 12px;font-size:15px;font-family:inherit;transition:border .15s ease,box-shadow .15s ease;background:#fffefa}
.sponsor-onboarding-form input:focus,
.sponsor-onboarding-form select:focus,
.sponsor-onboarding-form textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 2px rgba(40,122,83,.18)}
.sponsor-onboarding-form textarea{resize:vertical;min-height:120px}
.sponsor-onboarding-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sponsor-onboarding-status-text{margin:0;font-size:13px;color:#425147}
.sponsor-onboarding-tier{margin:0 0 14px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#1b5e20,#43a047);box-shadow:0 12px 18px rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.4)}
.sponsor-onboarding-tier p{margin:0;font-size:15px;font-weight:600;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,0.45)}
.sponsor-onboarding-tier span{display:none}
.sponsor-onboarding-loading{display:flex;align-items:center;gap:12px;padding:12px 0;font-weight:600;color:#1f3329}
.sponsor-onboarding-loading .spinner{width:18px;height:18px;border:3px solid rgba(18,52,37,.3);border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite}
.sponsor-onboarding-success{background:#ecfbef;border-radius:12px;padding:16px 18px;margin-bottom:16px;color:#1a3125}
.sponsor-onboarding-success h2{margin:0 0 6px;font-size:20px;color:#124024}
.sponsor-onboarding-success.is-muted{background:#f5f5f0;color:#2f2f2f;border:1px solid rgba(15,15,15,0.08)}
.sponsor-onboarding-success.is-muted h2{color:#1e1f1b}
.sponsor-onboarding-modal{position:fixed;inset:0;background:rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}
.sponsor-onboarding-modal[hidden]{display:none}
.sponsor-onboarding-modal-card{background:#fff;border-radius:18px;padding:28px;max-width:420px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,0.2)}
.sponsor-onboarding-modal-card h3{margin:0 0 10px;font-size:20px;color:#14251c}
.sponsor-onboarding-modal-card p{margin:0 0 18px;color:#425147;font-size:15px;line-height:1.5}
.sponsor-onboarding-close{position:absolute;top:18px;right:18px;background:transparent;border:none;color:#55655b;font-weight:600;cursor:pointer}
body.sponsor-onboarding-open{overflow:hidden}
body.sponsor-payment-open{overflow:hidden}

.sponsor-payment-shell{position:fixed;inset:0;background:rgba(7,15,9,.92);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1400}
.sponsor-payment-shell[hidden]{display:none}
.sponsor-payment-backdrop{position:absolute;inset:0;background:transparent}
.sponsor-payment-panel{position:relative;width:min(640px,100%);background:#fbfdfb;border-radius:18px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,0.45)}
.sponsor-payment-header h1{margin:8px 0 6px;font-size:26px;color:#0f2016}
.sponsor-payment-tag{text-transform:uppercase;font-size:11px;letter-spacing:.2em;color:#3b5f47;font-weight:700;margin:0}
.sponsor-payment-subtitle{margin:0;color:#4a5c53;font-size:15px}
.sponsor-payment-summary{margin:18px 0;padding:18px;border:1px solid #dfe7df;border-radius:14px;background:#f7fbf6}
.summary-tier{display:flex;justify-content:space-between;font-size:18px;font-weight:700;color:#14361f}
.summary-tier strong{color:#0f5d2b}
.summary-description{margin:8px 0 0;color:#4b5a51;font-size:14px}
.summary-meta{margin-top:12px;font-size:13px;color:#627264;display:flex;gap:12px;flex-wrap:wrap}
.sponsor-payment-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;justify-content:center}
.sponsor-payment-actions .cta{flex:0 0 auto;text-align:center;border-radius:999px;padding:12px 32px;font-weight:600}
.sponsor-payment-close{position:absolute;top:14px;right:14px;border:none;background:transparent;color:#4f5f53;font-weight:600;cursor:pointer}
.sponsor-payment-success-shell{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1500}
.sponsor-payment-success-shell[hidden]{display:none}
.sponsor-payment-modal-card{background:#fff;border-radius:18px;padding:32px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,0.25);max-width:420px;width:100%}
.sponsor-payment-modal-card h3{margin:0 0 12px;font-size:22px;color:#0f2016}
.sponsor-payment-modal-card p{margin:0 0 18px;color:#435446;font-size:15px;line-height:1.5}
.sponsor-payment-modal-card .cta{width:100%}

@media(max-width:640px){
  .sponsor-onboarding-panel{padding:24px;border-radius:14px}
  .sponsor-onboarding-ctas{flex-direction:column}
  .sponsor-onboarding-panel .cta{width:100%}
  .sponsor-onboarding-grid{grid-template-columns:1fr}
  .sponsor-payment-panel{padding:22px}
  .sponsor-payment-actions{flex-direction:column}
}
.inline-checkbox{flex-direction:row !important;align-items:center;gap:10px}
.inline-checkbox input[type=checkbox]{margin:0}
.inline-checkbox span{display:inline-flex;flex-wrap:wrap;line-height:1.4}
#sponsor-agreement-loading{display:none!important}
#sponsor-onboarding-loading{display:none!important}
.sponsor-onboarding-assignments{margin:20px 0;padding:16px;border-radius:12px;border:1px solid #d7ead6;background:#f5fff7;box-shadow:0 10px 25px rgba(0,0,0,.06);}
.sponsor-onboarding-assignments h3{margin:0 0 10px;font-size:18px;color:#1f3a2b;}
.sponsor-onboarding-assignments .assignment-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px;}
.sponsor-onboarding-assignments .assignment-block header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.sponsor-onboarding-assignments .assignment-block header span{font-size:12px;color:#2e7d32;font-weight:600;text-transform:uppercase;letter-spacing:.08em;}
.sponsor-onboarding-assignments .assignment-label{margin:8px 0 4px;font-size:12px;font-weight:600;color:#295133;text-transform:uppercase;}
.sponsor-onboarding-assignments .assignment-detail{margin:0 0 6px;font-size:14px;color:#1e2c26;}
.sponsor-onboarding-assignments .assignment-block{background:#fff;border:1px solid rgba(22,73,54,.1);border-radius:10px;padding:12px;font-size:14px;box-shadow:0 6px 16px rgba(0,0,0,.08);}
.sponsor-onboarding-assignments .assignment-block h4{margin:0 0 6px;font-size:15px;color:#13402a;}
.sponsor-onboarding-assignments .assignment-users ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;}
.sponsor-onboarding-assignments .assignment-users li{background:#fff;border:1px solid rgba(22,73,54,.1);border-radius:8px;padding:8px;}
.sponsor-onboarding-assignments .assignment-users .muted{margin-left:6px;font-size:12px;color:#4a5a4d;}
.admin-assignment-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);z-index:2500;padding:16px}
.admin-assignment-modal[hidden]{display:none}
.admin-assignment-modal-card{background:#fff;border-radius:18px;padding:24px;max-width:520px;width:100%;box-shadow:0 30px 80px rgba(18,38,24,0.35);max-height:80vh;overflow:auto}
.admin-assignment-modal-card h3{margin:0 0 10px;font-size:20px;color:#13402a}
.admin-assignment-modal-content{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.admin-assignment-modal-loading{margin:0 0 12px;font-style:italic;color:#587561}
.sponsor-onboarding-form.is-locked #sponsor-onboarding-submit{display:none!important}

/* Sponsor dashboard */
.sponsor-dashboard{padding:16px 0 20px;background:#f7faf7;min-height:calc(100vh - 220px);}
.sponsor-dashboard[hidden]{display:none!important}
.sponsor-dashboard-inner{background:#fff;border-radius:14px;padding:20px;box-shadow:0 12px 30px rgba(0,0,0,0.06);max-width:900px;margin:0 auto;border:1px solid #e3ede3;}
.sponsor-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;}
.sponsor-dashboard-period{flex:1;align-self:center;font-size:0.95rem;background:linear-gradient(120deg,#27ae60,#219653);color:#fff;padding:8px 14px;border-radius:10px;box-shadow:0 6px 16px rgba(0,0,0,.2);font-weight:600;text-align:center;white-space:nowrap;}
.sponsor-dashboard-period[hidden]{display:none;}
.sponsor-dashboard-header h2{margin:4px 0 0;font-size:26px;color:#123021}
.sponsor-tier-chip{background:linear-gradient(120deg,#2e7d32,#4caf50);color:#fff;padding:10px 14px;border-radius:30px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 24px rgba(46,125,50,0.25);}
.sponsor-dashboard-summary{padding:14px 16px;margin-bottom:16px;border-radius:12px;background:#f1f8f2;color:#21402d;font-weight:600;border:1px solid #d8e9d7;}
.sponsor-dashboard-assignments{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
.sponsor-dashboard-card{border:1px solid #dce8dc;border-radius:12px;padding:14px;background:#fff;box-shadow:0 10px 26px rgba(0,0,0,0.06);}
.sponsor-dashboard-card header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px;}
.sponsor-dashboard-meta{font-size:12px;color:#486451;font-weight:600;}
.sponsor-dashboard-plots{background:#f6faf6;border:1px dashed #c7ddc7;border-radius:10px;padding:10px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:13px;line-height:1.5;color:#1d3c2a;}
.sponsor-dashboard-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eef7ee;color:#1f3a2b;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;}
.sponsor-dashboard-empty{border:1px dashed #c7ddc7;border-radius:12px;padding:16px;background:#f9fcf9;color:#3a5746;}
.sponsor-dashboard-error{border:1px solid #e9c7c7;background:#fff6f6;color:#6b1c1c;padding:14px;border-radius:12px;font-weight:600;}
.sponsors-banner-tagline-inline{display:inline-block;font-style:italic;font-weight:400;color:#1f7b38;letter-spacing:0;margin-left:6px}
