/* Scoped styles: never alter WordPress theme components outside this widget. */
.zwnc, .zwnc * { box-sizing: border-box; }
.zwnc {
  --zwnc-ink:#172b43;
  --zwnc-muted:#536479;
  --zwnc-line:#dbe3eb;
  --zwnc-green:#126b61;
  --zwnc-progress:0%;
  width:100%; max-width:990px; margin:2rem auto;
  padding:0; overflow:hidden; color:var(--zwnc-ink);
  border:1px solid var(--zwnc-line); border-radius:18px;
  background:#fff; font:inherit; line-height:1.5;
  box-shadow:0 9px 30px rgba(19,48,72,.05);
}
/* Never inherit the theme's font SIZE on native select controls.
   A large theme size can clip "Do zrobienia" inside the status selector. */
.zwnc button, .zwnc input, .zwnc select {font-family:inherit;}
.zwnc__header {
  padding:28px 30px 24px;
  background:linear-gradient(115deg,#eff8f6 0%,#f7fafc 100%);
  border-bottom:1px solid var(--zwnc-line);
}
.zwnc__eyebrow {display:inline-block; color:var(--zwnc-green); font-size:.77rem; font-weight:750; letter-spacing:.075em; text-transform:uppercase; margin-bottom:7px;}
.zwnc .zwnc__heading {font-size:clamp(1.35rem,2.7vw,1.8rem); line-height:1.3; margin:0 0 9px; color:var(--zwnc-ink); font-weight:800;}
.zwnc .zwnc__intro {margin:0; max-width:760px; font-size:.95rem; color:#42566d;}
.zwnc__dashboard {display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px 30px 12px;}
.zwnc__progressbox, .zwnc__datebox {min-width:0; padding:18px 19px;border:1px solid var(--zwnc-line);border-radius:12px;background:#fbfdfe;}
.zwnc__progress-head {display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.94rem;}
.zwnc__progress-label {font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--zwnc-green);font-weight:750;}
.zwnc__progress {width:100%;height:11px;display:block;overflow:hidden;appearance:none;-webkit-appearance:none;margin:14px 0 9px;border:0;border-radius:99px;background:#e5ecef;}
.zwnc__progress::-webkit-progress-bar {background:#e5ecef;border-radius:99px;}
.zwnc__progress::-webkit-progress-value {background:var(--zwnc-green);border-radius:99px;transition:width .2s ease;}
.zwnc__progress::-moz-progress-bar {background:var(--zwnc-green);border-radius:99px;transition:width .2s ease;}
.zwnc__progress-hint, .zwnc__datebox small {display:block;color:var(--zwnc-muted);font-size:.77rem;line-height:1.5;}
.zwnc__datebox label {display:block;font-size:.92rem;font-weight:750;margin-bottom:7px;}
.zwnc__date {display:block;width:100%;font-size:.9rem;min-height:40px;padding:7px 10px;color:var(--zwnc-ink);background:#fff;border:1px solid #b8c8d5;border-radius:8px;color-scheme:light;}
.zwnc__deadline {margin:8px 0 4px;font-weight:700;font-size:.82rem;color:var(--zwnc-green);}
.zwnc__deadline[data-mode="past"] {color:#b23825;}
.zwnc__deadline[data-mode="soon"] {color:#915a06;}
.zwnc__deadline[data-mode="empty"] {color:#657184;font-weight:500;}
.zwnc__group {padding:14px 30px 0;}
.zwnc .zwnc__group-title {font-size:1.08rem;margin:6px 0 13px;line-height:1.3;color:#1f354c;font-weight:800;}
.zwnc__items {padding:0;margin:0;list-style:none;}
.zwnc__item {display:grid;grid-template-columns:32px minmax(0,1fr) 138px;column-gap:13px;align-items:start;padding:16px 0;border-top:1px solid #e9edf2;}
.zwnc__item:first-child {border-top:1px solid var(--zwnc-line);}
.zwnc__task-index {width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#edf2f5;color:#4b6075;font-size:.73rem;font-weight:800;font-variant-numeric:tabular-nums;}
.zwnc__task-content {min-width:0;}
.zwnc__task-title-row {display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.zwnc .zwnc__task-title {font-size:.94rem;line-height:1.4;color:var(--zwnc-ink);font-weight:750;margin:1px 0 3px;}
.zwnc__tag {font-size:.66rem;padding:3px 7px;border-radius:5px;background:#eff5f9;color:#4e6076;font-weight:700;white-space:nowrap;}
.zwnc .zwnc__task-note {font-size:.82rem;margin:0;color:var(--zwnc-muted);}
.zwnc__details {max-width:650px;margin-top:7px;font-size:.8rem;color:#43546b;}
.zwnc__details summary {cursor:pointer;display:list-item;margin:0;color:#167267;font-weight:750;}
.zwnc__details[open] summary {margin-bottom:4px;}
.zwnc__details p {margin:0;padding:7px 10px;background:#f7fafb;border-left:2px solid #b3cfc9;border-radius:3px;}
.zwnc__task-control {padding-top:2px;}
/* More specific than generic .zwnc select and most theme select styling. */
.zwnc .zwnc__select {appearance:auto;-webkit-appearance:menulist;display:block;min-width:0;max-width:100%;width:100%;min-height:38px;padding:7px 6px 7px 9px;background:#fff;border:1px solid #c3d0db;border-radius:8px;font-family:inherit;font-size:13px;line-height:1.25;font-weight:500;color:#344761;letter-spacing:normal;text-transform:none;}
.zwnc__item[data-state="done"] .zwnc__task-index {background:#e2f4ed;color:#126346;}
.zwnc__item[data-state="done"] .zwnc__select {color:#126346;border-color:#a0d5ba;background:#f2fbf6;font-weight:700;}
.zwnc__item[data-state="doing"] .zwnc__select {color:#895b07;border-color:#e4cd93;background:#fffaf0;font-weight:700;}
.zwnc__item[data-state="na"] .zwnc__select {color:#647286;background:#f1f4f7;}
.zwnc__item[data-state="done"] .zwnc__task-title {color:#506777;}
.zwnc__actions {padding:24px 30px 5px;display:flex;flex-wrap:wrap;gap:10px;}
.zwnc .zwnc__button {min-height:42px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#f5f8fa;color:#27425a;border:1px solid #cbd8e1;border-radius:9px;font-size:.83rem;line-height:1.25;letter-spacing:0;text-decoration:none;font-weight:750;cursor:pointer;transition:background .12s,transform .12s;box-shadow:none;}
.zwnc .zwnc__button:hover {background:#eaf1f5;transform:translateY(-1px);}
.zwnc .zwnc__button--primary {background:#116b60;border-color:#116b60;color:white;}
.zwnc .zwnc__button--primary:hover {background:#0c554d;color:#fff;}
.zwnc .zwnc__button--subtle {color:#647487;background:transparent;}
.zwnc :is(.zwnc__button,.zwnc__select,.zwnc__date,.zwnc__details summary):focus-visible {outline:3px solid #349b90;outline-offset:2px;}
.zwnc .zwnc__feedback {min-height:1.35em;margin:12px 30px 0;color:#246b60;font-size:.8rem;font-weight:600;}
.zwnc .zwnc__privacy {margin:0;padding:0 30px 24px;font-size:.76rem;color:#687789;line-height:1.6;}
.zwnc__sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.zwnc-print-sheet {display:none;}
@media (max-width:650px) {
  .zwnc {border-radius:12px;margin:1.25rem 0;}
  .zwnc__header {padding:22px 17px;}
  .zwnc__dashboard {grid-template-columns:1fr;padding:17px 17px 5px;gap:12px;}
  .zwnc__group {padding:16px 17px 0;}
  .zwnc__item {grid-template-columns:29px minmax(0,1fr);gap:9px 12px;padding:14px 0;}
  .zwnc__task-control {grid-column:2;padding:0;}
  .zwnc__select {max-width:200px;}
  .zwnc__actions {padding:22px 17px 6px;flex-direction:column;align-items:stretch;}
  .zwnc .zwnc__button {width:100%;}
  .zwnc .zwnc__feedback {margin:10px 17px 0;}
  .zwnc .zwnc__privacy {padding:3px 17px 21px;}
}
@media print {
  @page { margin:14mm; }
  body > *:not(.zwnc-print-sheet) {display:none!important;}
  .zwnc-print-sheet {display:block!important;position:static!important;box-sizing:border-box!important;width:100%;margin:0!important;padding:0!important;background:#fff!important;color:#171f27!important;font:12pt/1.45 Arial,sans-serif!important;}
  .zwnc-print-sheet * {box-sizing:border-box!important;}
  .zwnc-print-logo {max-height:56px;max-width:180px;display:block;margin-bottom:10px;object-fit:contain;}
  .zwnc-print-site {font-size:10pt;color:#536474;margin-bottom:7px;}
  .zwnc-print-sheet h1 {font-size:21pt;line-height:1.15;margin:0 0 10px;}
  .zwnc-print-sheet h2 {font-size:13pt;line-height:1.2;margin:20px 0 7px;break-after:avoid;}
  .zwnc-print-sheet p {margin:5px 0 10px;font-size:10pt;}
  .zwnc-print-sheet ol {margin:0;padding:0 0 0 22px;}
  .zwnc-print-sheet li {border-bottom:1px solid #e5e8ec;margin:0;padding:6px 0;font-size:10pt;break-inside:avoid;}
  .zwnc-print-sheet .zwnc-print-footer {border-top:1px solid #bbb;margin-top:20px;padding-top:9px;font-size:9pt;color:#616e78;}
}
@media (prefers-reduced-motion: reduce) {
  .zwnc * {transition:none!important;}
}
