/*
  ZaminAI launch polish.
  Loaded after older page-local styles so it can modernize the product
  without changing route names, API contracts, or data-pipeline code.
*/
:root{
  --z-ink:#162018;
  --z-muted:#647067;
  --z-bg:#f7f8f3;
  --z-line:#dce6d6;
  --z-green:#196b3a;
  --z-sky:#0b6b87;
  --z-gold:#b07822;
  --z-shadow:0 18px 44px rgba(31,52,35,.12);
  --z-radius:8px;
}
html{scroll-behavior:smooth;}
body{
  background:linear-gradient(180deg,rgba(236,244,232,.88),rgba(247,248,243,.96) 310px),var(--z-bg) !important;
  color:var(--z-ink) !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
  letter-spacing:0 !important;
}
#topbar,.nav,nav{border-bottom:1px solid rgba(220,230,214,.88) !important;box-shadow:0 10px 30px rgba(24,47,31,.08);}
#topbar{background:linear-gradient(135deg,#163522,#0f4f2a) !important;}
.card,.stat,.ov-stat,.location-card,.suite-card,.problem,.data-card,.audience,.story-step,.pilot-form,.chart-wrap,.sh-card,.mi-result,.mkt-c,.ngo-card{
  border:1px solid var(--z-line) !important;
  border-radius:var(--z-radius) !important;
  box-shadow:var(--z-shadow) !important;
}
.screen h2,.section-head h2,h1,h2,h3{letter-spacing:0 !important;}
.btn,.tab,.sidebar-tab,.country-btn,.ctab,.hbtn,.mi-btn,.nbtn{border-radius:7px !important;letter-spacing:0 !important;}
input,select,textarea{border-radius:7px !important;background:#fff !important;color:var(--z-ink) !important;}

body:has(#role-select){min-height:100vh;align-items:flex-start !important;padding:28px 14px !important;}
body:has(#role-select)::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(25,107,58,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(25,107,58,.05) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 74%);
}
body:has(#role-select)>.card{
  position:relative;
  max-width:960px !important;
  padding:28px !important;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:22px 30px;
}
body:has(#role-select) .logo,
body:has(#role-select) .tag,
body:has(#role-select)> .card > div[style*="justify-content:center"],
body:has(#role-select) #country-header,
body:has(#role-select) #coming-soon-banner{grid-column:1 / -1;}
.login-intro{background:#122019;color:#fff;border-radius:10px;padding:22px;min-height:100%;}
.login-intro h1{font-size:clamp(28px,4vw,44px);line-height:1.04;margin:8px 0 12px;}
.login-intro p{color:#c8d7ce;font-size:15px;margin:0 0 16px;}
.launch-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.launch-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#ecf7ef;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:750;}
.stakeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 18px;}
.stakeholder-card{text-align:left;min-height:92px;border:1px solid var(--z-line);background:#fff;color:var(--z-ink);border-radius:8px;padding:12px;cursor:pointer;}
.stakeholder-card strong{display:block;font-size:14px;margin-bottom:4px;}
.stakeholder-card span{display:block;font-size:12px;color:var(--z-muted);line-height:1.35;}
.stakeholder-card[aria-pressed="true"]{border-color:var(--z-green);box-shadow:0 0 0 3px rgba(25,107,58,.16);background:#f0f8ef;}
.api-status{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #cfe1c9;background:#f3faf0;border-radius:8px;padding:10px 12px;color:#254431;font-size:13px;font-weight:700;margin:0 0 12px;}
.api-status small{color:var(--z-muted);font-weight:650;}

.launch-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}
.launch-summary-card{
  border:1px solid var(--z-line);
  background:rgba(255,255,255,.92);
  border-radius:8px;
  padding:13px 14px;
  min-height:96px;
  box-shadow:0 10px 28px rgba(31,52,35,.08);
}
.launch-summary-card b{
  display:block;
  font-size:13px;
  color:var(--z-ink);
  margin-bottom:6px;
}
.launch-summary-card span{
  display:block;
  color:var(--z-muted);
  font-size:12.5px;
  line-height:1.38;
}
.launch-summary-card .k{
  color:var(--z-green);
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:10.5px;
  margin-bottom:5px;
}

#app-body,#main-content{background:transparent !important;}
.screen{max-width:1120px !important;}
.tabbar{box-shadow:0 -12px 30px rgba(22,32,24,.1);}
.tab.on,.sidebar-tab.on{box-shadow:inset 3px 0 0 currentColor;}
.stat-grid,.ov-stats{gap:12px !important;}
.stat .n,.ov-stat .n{color:var(--z-green) !important;}
.alert,.notice{border:1px solid #f0d998 !important;border-left:5px solid var(--z-gold) !important;}
.ov-legend,.sh-tags,.map-controls,.country-row,.crops-tabs{gap:8px !important;}
.ov-legend span,.sh-tag,.country-btn,.ctab{border-radius:999px !important;border:1px solid var(--z-line) !important;background:#fff !important;color:#33483a !important;}
.ah-bar-track,.ov-bar-track{background:#e9efe5 !important;}
.ah-bar-fill,.ov-bar-fill,.cbar{background:linear-gradient(90deg,var(--z-green),var(--z-sky)) !important;}

@media(max-width:760px){
  body:has(#role-select)>.card{grid-template-columns:1fr;padding:20px !important;}
  .stakeholder-grid{grid-template-columns:1fr;}
  .launch-summary{grid-template-columns:1fr;}
}
@media print{
  body{background:#fff !important;color:#000 !important;padding:0 !important;}
  #topbar,.nav,nav,.tabbar,#sidebar,.mobile-menu,.mobile-toggle,.btn,.hbtn,.nbtn,button{display:none !important;}
  .screen,section,.problems-inner,.example-inner,.ecosystem-inner,.final-inner,.pilot-inner{max-width:none !important;padding:12mm !important;}
  .card,.stat,.ov-stat,.chart-wrap,.sh-card,.mi-result,.ngo-card{box-shadow:none !important;break-inside:avoid;}
  a{color:#000 !important;text-decoration:none !important;}
}
