@media (max-width: 991px) {
  .header-layout1 .header-top .header-links.header-right li {
    display: block !important;
  }
}

/* =========================================================
   KP Initiative UI — high-contrast, green-first, white base
   Primary: #008000
   ========================================================= */

:root{
  --kp-green: #008000;
  --kp-green-700: #006b00;
  --kp-green-800: #005800;

  --kp-ink: #0b1220;         /* tekst */
  --kp-muted: #475569;       /* opisy */
  --kp-line: #e6edf5;        /* ramki */
  --kp-bg: #ffffff;          /* tło */
  --kp-card: #ffffff;        /* karty */
  --kp-soft: #f5faf6;        /* delikatne tło */
  --kp-warn: #b45309;
  --kp-ok: #0a7a21;
  --kp-bad: #b42318;

  --kp-radius-xl: 22px;
  --kp-radius-lg: 16px;
  --kp-radius-md: 12px;

  --kp-shadow-1: 0 10px 30px rgba(2, 24, 10, 0.10);
  --kp-shadow-2: 0 18px 60px rgba(2, 24, 10, 0.14);

  --kp-ring: 0 0 0 4px rgba(0,128,0,0.18);
  --kp-ring-strong: 0 0 0 6px rgba(0,128,0,0.22);

  --kp-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

.kp-card-wrapper,
.kp-hub-wrapper{
  font-family: var(--kp-font);
  color: var(--kp-ink);
  background: var(--kp-bg);
}

.kp-card-wrapper{
  max-width: 1180px;
  margin: 24px auto 64px;
  padding: 0 16px;
}

.kp-card-header{
  padding: 18px 4px 8px;
}
.kp-card-header h1{
  margin: 0 0 6px;
  font-size: clamp(30px, 3.2vw, 44px);
  letter-spacing: -0.02em;
  line-height: 1.05;
}
.kp-card-header p{
  margin: 0;
  color: var(--kp-muted);
  font-size: 16px;
  line-height: 1.55;
  max-width: 74ch;
}

/* Topbar */
.kp-card-topbar{
  margin-top: 18px;
  padding: 14px 14px;
  border: 1px solid var(--kp-line);
  border-radius: var(--kp-radius-xl);
  background: var(--kp-card);
  box-shadow: var(--kp-shadow-1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: sticky;
  top: 12px;
  z-index: 40;
}

.kp-card-topbar-left{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 220px;
}
.kp-status-dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: inset 0 0 0 2px rgba(0,0,0,0.06);
}
.kp-status-dot.kp-status-dot-on{
  background: var(--kp-green);
  box-shadow: 0 0 0 5px rgba(0,128,0,0.15);
}
.kp-status-text{
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.01em;
}

/* Buttons */
.kp-card-topbar-right{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.kp-card-top-btn,
.kp-initiative-save,
.kp-hub-create-btn,
.kp-card-add-row,
.kp-card-toast-close,
.kp-card-toast-link{
  appearance: none;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
  letter-spacing: -0.01em;
  cursor: pointer;
  user-select: none;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease, filter .16s ease;
  will-change: transform;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.kp-card-top-btn,
.kp-initiative-save,
.kp-hub-create-btn{
  background: linear-gradient(180deg, var(--kp-green), var(--kp-green-700));
  color: #fff;
  box-shadow: 0 10px 18px rgba(0,128,0,0.18);
  border-color: rgba(0,0,0,0.10);
}

.kp-card-top-btn:hover,
.kp-initiative-save:hover,
.kp-hub-create-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(0,128,0,0.24);
  filter: saturate(1.05);
}

.kp-card-top-btn:active,
.kp-initiative-save:active,
.kp-hub-create-btn:active{
  transform: translateY(0px) scale(0.99);
  box-shadow: 0 10px 16px rgba(0,128,0,0.18);
}

.kp-card-top-btn:focus-visible,
.kp-initiative-save:focus-visible,
.kp-hub-create-btn:focus-visible,
.kp-card-add-row:focus-visible,
.kp-card-toast-close:focus-visible,
.kp-card-toast-link:focus-visible{
  outline: none;
  box-shadow: var(--kp-ring-strong), 0 14px 28px rgba(0,128,0,0.24);
}

.kp-card-edit-toggle{
  background: #fff;
  color: var(--kp-ink);
  border: 1px solid var(--kp-line);
  box-shadow: none;
}
.kp-card-edit-toggle.is-on{
  background: rgba(0,128,0,0.08);
  border-color: rgba(0,128,0,0.25);
  color: #0b1220;
}

.kp-card-add-row{
  margin-top: 14px;
  background: #fff;
  color: var(--kp-green-800);
  border: 1px dashed rgba(0,128,0,0.35);
  box-shadow: none;
}
.kp-card-add-row:hover{
  background: rgba(0,128,0,0.06);
  transform: translateY(-1px);
}

.kp-card-row-remove{
  appearance: none;
  border: 1px solid rgba(0,0,0,0.10);
  background: #fff;
  border-radius: 999px;
  width: 36px; height: 36px;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.kp-card-row-remove:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);
  background: #fff5f5;
}

/* Progress */
.kp-card-progress{
  margin: 14px 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--kp-line);
  border-radius: var(--kp-radius-xl);
  background: var(--kp-card);
  box-shadow: var(--kp-shadow-1);
}
.kp-card-progress-top{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
}
.kp-card-progress-top span:first-child{
  font-weight: 900;
  letter-spacing: -0.01em;
}
.kp-card-progress-label{
  color: var(--kp-muted);
  font-weight: 800;
}
.kp-card-progress-bar-outer{
  height: 12px;
  border-radius: 999px;
  background: #eef4ee;
  border: 1px solid rgba(0,128,0,0.12);
  overflow: hidden;
}
.kp-card-progress-bar-inner{
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--kp-green), #25a525);
  transition: width .35s ease;
}

/* Card core with ambient typing background driven by JS var --kp-typing-intensity */
.kp-card{
  position: relative;
  border: 1px solid var(--kp-line);
  border-radius: var(--kp-radius-xl);
  background: var(--kp-card);
  box-shadow: var(--kp-shadow-2);
  overflow: clip;
}

.kp-card::before{
  content: "";
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(600px 380px at 20% 10%, rgba(0,128,0,var(--kp-typing-intensity, 0.10)), transparent 60%),
    radial-gradient(520px 320px at 80% 20%, rgba(0,128,0,calc(var(--kp-typing-intensity, 0.10) * 0.75)), transparent 60%),
    radial-gradient(520px 360px at 70% 90%, rgba(0,128,0,calc(var(--kp-typing-intensity, 0.10) * 0.55)), transparent 60%);
  pointer-events: none;
  filter: blur(12px);
  opacity: 1;
}

/* Section layout */
.kp-card-section{
  padding: 22px 20px;
  border-top: 1px solid var(--kp-line);
}
.kp-card-section:first-child{
  border-top: 0;
}
.kp-card-section-header h2{
  margin: 0 0 6px;
  font-size: 22px;
  letter-spacing: -0.02em;
}
.kp-card-section-header p{
  margin: 0 0 16px;
  color: var(--kp-muted);
  line-height: 1.6;
  max-width: 86ch;
}

.kp-card-subtitle{
  margin: 16px 0 10px;
  font-weight: 900;
  letter-spacing: -0.01em;
}

/* Grid helpers */
.kp-card-grid{
  display: grid;
  gap: 14px;
}
.kp-card-grid-2{ grid-template-columns: 1fr 1fr; }
.kp-card-grid-3{ grid-template-columns: 1fr 1fr 1fr; }

@media (max-width: 960px){
  .kp-card-topbar{ position: relative; top: 0; }
  .kp-card-grid-2, .kp-card-grid-3{ grid-template-columns: 1fr; }
}

/* Field wrappers + focus highlight */
.kp-card-field-wrapper{
  position: relative;
  padding: 12px;
  border: 1px solid var(--kp-line);
  border-radius: var(--kp-radius-lg);
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.kp-card-field-wrapper:focus-within{
  border-color: rgba(0,128,0,0.45);
  box-shadow: var(--kp-ring);
  transform: translateY(-1px);
}

.kp-card-field-wrapper label{
  display: block;
  font-weight: 900;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}

.kp-card-hint{
  margin: 12px 0 0;
  color: var(--kp-muted);
  line-height: 1.6;
}

/* Inputs */
.kp-card-field{
  width: 100%;
  border: 2px solid rgba(15, 23, 42, 0.10);
  border-radius: 14px;
  background: #fff;
  padding: 12px 12px;
  color: var(--kp-ink);
  font-size: 16px;
  line-height: 1.45;
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.kp-card-field::placeholder{
  color: #94a3b8;
}

.kp-card-field:hover{
  background: #fbfdfb;
}

.kp-card-field:focus{
  border-color: rgba(0,128,0,0.55);
  box-shadow: var(--kp-ring);
}

.kp-card-field.is-readonly{
  opacity: 0.72;
  background: #f8fafc;
  cursor: not-allowed;
}

/* Editing states (JS adds these classes) */
.kp-card-field.is-editing{
  border-color: rgba(0,128,0,0.50);
  box-shadow: var(--kp-ring);
}
.kp-card-field.is-saving{
  border-color: rgba(0,128,0,0.35);
  background:
    linear-gradient(0deg, rgba(0,128,0,0.06), rgba(0,128,0,0.06)),
    repeating-linear-gradient(45deg, rgba(0,128,0,0.10) 0 12px, rgba(0,128,0,0.02) 12px 24px);
  background-size: auto, 200% 200%;
  animation: kpSaving 1.2s linear infinite;
}
@keyframes kpSaving{
  0%{ background-position: 0 0, 0 0; }
  100%{ background-position: 0 0, 80px 80px; }
}
.kp-card-field.is-saved{
  border-color: rgba(10,122,33,0.7);
  box-shadow: 0 0 0 4px rgba(10,122,33,0.16);
}
.kp-card-field.is-error{
  border-color: rgba(180,35,24,0.75);
  box-shadow: 0 0 0 4px rgba(180,35,24,0.14);
}

/* Counters + statuses */
.kp-char-counter{
  position: absolute;
  right: 12px;
  top: 12px;
  font-weight: 900;
  font-size: 12px;
  color: #64748b;
  background: #fff;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 999px;
  padding: 4px 8px;
  pointer-events: none;
}
.kp-char-counter.kp-char-near-limit{
  color: #fff;
  background: var(--kp-warn);
  border-color: rgba(0,0,0,0.10);
}

.kp-field-status{
  margin-top: 8px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: #64748b;
  min-height: 18px;
}
.kp-field-status.is-pending{ color: #0f172a; }
.kp-field-status.is-saving{ color: var(--kp-green-800); }
.kp-field-status.is-saved{ color: var(--kp-ok); }
.kp-field-status.is-error{ color: var(--kp-bad); }

/* Table-like blocks */
.kp-card-table-like{
  border: 1px solid var(--kp-line);
  border-radius: var(--kp-radius-xl);
  background: #fff;
  overflow: hidden;
}
.kp-card-table-head{
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.7fr;
  gap: 10px;
  padding: 12px 12px;
  background: #f7fbf7;
  border-bottom: 1px solid var(--kp-line);
  font-weight: 900;
}
.kp-card-table-row{
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.7fr;
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid var(--kp-line);
}
.kp-card-table-row:last-child{ border-bottom: 0; }

.kp-card-field-with-remove{
  padding-right: 52px;
}
.kp-card-field-with-remove .kp-card-row-remove{
  position: absolute;
  right: 12px;
  bottom: 12px;
}

.kp-row-hidden{
  display: none !important;
}

/* Flight animation (called on save-all) */
.kp-card.kp-card-flight{
  animation: kpFlight .85s cubic-bezier(.2,.9,.2,1) both;
}
@keyframes kpFlight{
  0%{ transform: translateY(0) scale(1); }
  30%{ transform: translateY(-8px) scale(1.01); }
  100%{ transform: translateY(0) scale(1); }
}

/* Toast overlay */
.kp-card-toast{
  position: fixed;
  inset: 0;
  display: none;
  place-items: center;
  background: rgba(2, 6, 23, 0.55);
  z-index: 80;
  padding: 18px;
}
.kp-card-toast.is-visible{
  display: grid;
  animation: kpFadeIn .18s ease-out both;
}
@keyframes kpFadeIn{
  from{ opacity: 0; }
  to{ opacity: 1; }
}
.kp-card-toast-inner{
  width: min(720px, 100%);
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  box-shadow: 0 22px 90px rgba(2, 24, 10, 0.28);
  padding: 18px 18px 16px;
  transform-origin: 50% 60%;
  animation: kpPop .22s cubic-bezier(.2,.9,.2,1) both;
}
@keyframes kpPop{
  from{ transform: translateY(12px) scale(0.98); opacity: 0; }
  to{ transform: translateY(0) scale(1); opacity: 1; }
}
.kp-card-toast-inner h3{
  margin: 0 0 8px;
  font-size: 22px;
  letter-spacing: -0.02em;
}
.kp-card-toast-inner p{
  margin: 0 0 14px;
  color: var(--kp-muted);
  line-height: 1.6;
}
.kp-card-toast-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.kp-card-toast-link{
  background: #fff;
  color: var(--kp-green-800);
  border: 1px solid rgba(0,128,0,0.35);
  box-shadow: none;
}
.kp-card-toast-link:hover{
  background: rgba(0,128,0,0.06);
  transform: translateY(-1px);
}

/* =========================================================
   HUB — bigger, more "hero", ~3x presence
   ========================================================= */

.kp-hub-wrapper{
  max-width: 1480px;
  margin: 18px auto 80px;
  padding: 0 16px;
}

.kp-hub-panels{
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 20px;
  align-items: start;
}

.kp-hub-panel{
  border: 1px solid var(--kp-line);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--kp-shadow-2);
  padding: 26px 24px;
  position: relative;
  overflow: clip;
}

.kp-hub-panel::before{
  content: "";
  position: absolute;
  inset: -30%;
  background: radial-gradient(900px 480px at 30% 10%, rgba(0,128,0,0.12), transparent 60%);
  pointer-events: none;
  filter: blur(10px);
}

.kp-hub-title{
  margin: 0 0 10px;
  font-size: clamp(34px, 3.6vw, 58px); /* ~3x “normal” */
  line-height: 1.02;
  letter-spacing: -0.03em;
}
.kp-hub-subtitle{
  margin: 0 0 18px;
  color: var(--kp-muted);
  font-size: 18px;
  line-height: 1.7;
  max-width: 75ch;
}

.kp-hub-card-list{
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: grid;
  gap: 12px;
}

.kp-hub-card-item{ margin: 0; }

.kp-hub-card-link{
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 16px;
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.kp-hub-card-link:hover{
  transform: translateY(-1px);
  border-color: rgba(0,128,0,0.22);
  box-shadow: 0 14px 40px rgba(2, 24, 10, 0.14);
  background: #fbfefb;
}

.kp-hub-card-title{
  display: block;
  font-weight: 950;
  letter-spacing: -0.02em;
  font-size: 18px;
  margin-bottom: 6px;
}
.kp-hub-card-meta{
  display: block;
  color: var(--kp-muted);
  font-weight: 700;
  font-size: 13px;
}

.kp-hub-card-progress{
  display: grid;
  gap: 6px;
  align-content: center;
  min-width: 110px;
  text-align: right;
  font-weight: 950;
}
.kp-hub-card-progress-bar{
  width: 140px;
  height: 10px;
  background: #eef4ee;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(0,128,0,0.12);
}
.kp-hub-card-progress-bar-inner{
  height: 100%;
  width: var(--kp-progress, 0%);
  background: linear-gradient(90deg, var(--kp-green), #25a525);
  border-radius: 999px;
}

@media (max-width: 980px){
  .kp-hub-panels{ grid-template-columns: 1fr; }
}

/* =========================================================
   Global helpers: a11y + print + reduced motion
   ========================================================= */

.screen-reader-text{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

@media print{
  .kp-card-topbar, .kp-card-toast, .kp-card-progress{ display:none !important; }
  .kp-card{ box-shadow: none !important; }
  .kp-card-section{ page-break-inside: avoid; }
}
