/* Base */
.pio-main { padding:16px; background:#f8fafc; min-height:100vh; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.pio-card { background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:16px; margin-bottom:16px; box-shadow:0 1px 2px rgba(0,0,0,0.03); }
.pio-toolbar { display:flex; gap:10px; align-items:center; margin:10px 0; flex-wrap: wrap; }
.btn { display:inline-block; padding:8px 12px; border-radius:10px; border:1px solid #1f2937; background:#1f2937; color:#fff; text-decoration:none; cursor:pointer; }
.btn:hover { opacity:.95; }
.btn-outline { background:#fff; color:#1f2937; }
.btn-small { padding:6px 10px; font-size:13px; }

/* Public weekly grid */
.pio-grid-week { display:grid; grid-template-columns: repeat(7, minmax(180px,1fr)); gap:10px; }
.pio-day { background:#fff; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.pio-day-head { background:#f1f5f9; padding:8px 10px; font-weight:600; border-bottom:1px solid #e5e7eb; }
.pio-slot { padding:8px 10px; border-bottom:1px dashed #e5e7eb; }
.pio-slot-time { font-weight:600; margin-bottom:6px; display:inline-block; background:#eff6fb; padding:4px 10px; border-radius:8px; }
.pio-intents { margin:0; padding-left:18px; }
.pio-empty { font-style:italic; color:#6b7280; }

/* --- v1.3.1 – refresh & Sunday emphasis --- */
:root{
  --pio-bg:#f7f9fb;
  --pio-card:#ffffff;
  --pio-border:#e6e9ee;
  --pio-pill:#0a5d77;
  --pio-pill-text:#ffffff;
  --pio-btn:#2e7d32;
  --pio-btn-text:#ffffff;
  --pio-btn-soft:#a7d7a9;
  --pio-muted:#6b7280;
}
.pio-main{ background:var(--pio-bg); }
.pio-card{ background:var(--pio-card); border-color:var(--pio-border); }
.btn{ background:var(--pio-btn); color:var(--pio-btn-text); border-color:var(--pio-btn); }
.btn-outline{ background:var(--pio-btn-soft); color:#0b3d12; border-color:var(--pio-btn); }

/* Editor – day by day */
.pio-week-vertical { display:block; }
.pio-day-title { font-size:1.4rem; margin:10px 0; font-weight:700; }
.pio-hour{
  display:grid; grid-template-columns: 140px 1fr; gap:14px;
  border:1px solid var(--pio-border); border-radius:12px; padding:10px; margin:12px 0;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.pio-hour-head{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.pio-hour-pill{
  background:var(--pio-pill); color:var(--pio-pill-text);
  padding:8px 14px; border-radius:10px; font-weight:700; min-width:90px; text-align:center;
  box-shadow: inset 0 -2px 0 rgba(255,255,255,.08);
}
.pio-intent-row{ display:flex; align-items:center; gap:10px; margin:8px 0; }
.pio-intent-input{ flex:1; padding:10px 12px; background:var(--pio-pill); color:var(--pio-pill-text); border:none; border-radius:10px; font-weight:600; }
.pio-intent-input::placeholder{ color:#dbeafe; opacity:.8; }
.pio-deceased{ display:flex; align-items:center; gap:6px; background:var(--pio-pill); color:var(--pio-pill-text); padding:8px 10px; border-radius:8px; }
.btn-intent-del{ border-radius:8px; }
.pio-day-add-hour{ margin:10px 0 16px; }

/* Sunday accent */
.pio-day--sun .pio-day-title,
.pio-day--sun .pio-day-head{ color:#0a5d77; }


/* v1.3.2: public vertical list + week range hint */
.pio-week-vertical.pio-public { display:block; }
.pio-week-range { margin-left:10px; color:#374151; font-weight:600; }
.pio-week-vertical.pio-public .pio-day { padding:12px; margin-bottom:12px; }
.pio-week-vertical.pio-public .pio-slot { margin:8px 0; border:1px solid var(--pio-border); border-radius:12px; background:var(--pio-card); }


/* v1.3.3: full-width add-intent button */
.pio-intents-actions .btn{ display:block; width:100%; text-align:center; margin-top:6px; }


/* v1.3.4 WeekPicker */
.pio-weekpicker{
  background:#fff; border:1px solid var(--pio-border); border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:10px; user-select:none;
}
.pio-wp-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.pio-wp-title{ font-weight:700; }
.pio-wp-nav{ background:#fff; border:1px solid var(--pio-border); border-radius:8px; padding:6px 10px; cursor:pointer; }
.pio-wp-grid{ display:grid; grid-template-columns: repeat(7, 1fr); gap:6px; }
.pio-wp-dow{ text-align:center; font-weight:600; color:#6b7280; }
.pio-wp-cell{ border:1px solid var(--pio-border); border-radius:8px; padding:8px 0; background:#fafbfc; cursor:pointer; }
.pio-wp-cell.out{ opacity:.55; }
.pio-wp-cell.is-in-week{ background:#def2e1; border-color:#84cc86; }



/* v1.3.6 topbar */
.pio-topbar .btn{ padding:6px 10px; }


/* v1.3.9 — place add-intent tile under intents (column 2), and improve WeekPicker contrast */
.pio-hour { display:grid; grid-template-columns: 140px 1fr; }
.pio-hour-head { grid-column: 1; }
.pio-intents-wrap { grid-column: 2; }
.pio-intents-actions { grid-column: 2; margin-top: 8px; }
.pio-intents-actions .btn { display:block; width:100%; }

/* WeekPicker contrast improvements */
.pio-weekpicker { color:#111827; }
.pio-wp-title { color:#111827; }
.pio-wp-cell{ background:#ffffff; color:#111827; border-color:#d1d5db; font-weight:600; }
.pio-wp-cell.out{ opacity:.6; }
.pio-wp-cell.is-in-week{ background:#d1fae5; border-color:#10b981; color:#065f46; }
.pio-wp-cell:hover{ outline:2px solid #93c5fd; outline-offset:1px; }


/* v1.4.0 — WeekPicker: visible arrows & 'Obecny tydzień' */
.pio-wp-head{ gap:8px; }
.pio-wp-head .pio-wp-title{ flex:1; text-align:center; font-weight:800; }
.pio-wp-head .pio-wp-head-actions{ display:flex; align-items:center; gap:8px; }
.pio-wp-nav{ background:#111827; color:#fff; border:1px solid #111827; border-radius:8px; padding:6px 12px; font-weight:700; }
.pio-wp-now{ background:#2563eb; color:#fff; border:1px solid #2563eb; border-radius:9999px; padding:6px 12px; font-weight:700; }



/* v1.4.2 — Selected week highlight */
.pio-wp-cell.is-selected-week{ background:#fde68a; border-color:#f59e0b; color:#7c2d12; }


/* v1.4.2 — Day subtitle */
.pio-day-subtitle{ margin:4px 0 8px; font-weight:600; color:#374151; }
.pio-day-title-edit input{ width:100%; max-width:460px; }


/* v1.4.3 — Logout bar */
.pio-logoutbar{
  position: sticky; top: 0; z-index: 1000;
  background: linear-gradient(90deg,#ef4444,#b91c1c);
  color:#fff; padding:10px 12px; border-radius:12px; margin-bottom:12px;
  display:flex; align-items:center; justify-content:flex-end; gap:8px;
}
.pio-logoutbar .btn{ background:#fff; color:#b91c1c; border:1px solid #fff; font-weight:700; }
.pio-logoutbar .btn:hover{ opacity:.9; }


/* v1.4.4 — Day name UI */
.pio-day-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:space-between; }
.pio-day-title{ margin:0; }
.pio-day-name{ color:#dc2626; font-weight:800; margin-left:6px; }
.pio-day-name-input{ min-width:220px; max-width:360px; }


/* v1.4.5 — Admin weekly editor polish */
.wp-admin .pio-week-editor .pio-day{ background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:12px; margin-bottom:14px; box-shadow:0 3px 10px rgba(0,0,0,.04); }
.wp-admin .pio-week-editor .pio-day-title{ font-weight:800; }
.wp-admin .pio-week-editor .pio-hour{ border-left:4px solid #3b82f6; padding-left:10px; margin:10px 0; background:#f9fafb; border-radius:10px; }
.wp-admin .pio-week-editor .pio-hour-pill{ font-weight:800; }
.wp-admin .pio-week-editor .pio-intent-row{ display:flex; gap:8px; align-items:center; margin:6px 0; }
.wp-admin .pio-week-editor .pio-intent-input{ flex:1; }
.wp-admin .pio-week-editor .pio-intents-actions .btn{ width:100%; }
.wp-admin .pio-week-editor .pio-toolbar{ position:sticky; top:32px; z-index:10; background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:8px; margin-bottom:12px; box-shadow:0 3px 10px rgba(0,0,0,.04); }
