:root {
    --ow-navy: #07172f;
    --ow-navy-2: #0d2446;
    --ow-blue: #1f6feb;
    --ow-blue-soft: #e9f1ff;
    --ow-bg: #f4f7fb;
    --ow-card: #ffffff;
    --ow-text: #111827;
    --ow-muted: #667085;
    --ow-border: #dbe4f0;
    --ow-radius: 24px;
    --ow-shadow: 0 22px 70px rgba(7, 23, 47, .12);
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body.ow-crm-app-body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--ow-bg);
    color: var(--ow-text);
}
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.ow-app-shell { min-height: 100vh; display: flex; }
.ow-login-screen {
    min-height: 100vh;
    width: 100%;
    display: grid;
    place-items: center;
    padding: 28px;
    background:
        radial-gradient(circle at 15% 20%, rgba(31,111,235,.26), transparent 35%),
        linear-gradient(135deg, #06142a 0%, #0d2446 52%, #f4f7fb 52%, #f4f7fb 100%);
}
.ow-login-card {
    width: min(560px, 100%);
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 34px;
    padding: 42px;
    box-shadow: var(--ow-shadow);
}
.ow-warning-card { text-align: center; }
.ow-brand-mark {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, #07172f, #1f6feb);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 900;
    letter-spacing: -.04em;
    box-shadow: 0 14px 40px rgba(31,111,235,.25);
}
.ow-eyebrow {
    margin: 0 0 8px;
    color: var(--ow-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ow-muted { color: var(--ow-muted); line-height: 1.65; }
.ow-login-card h1 { margin: 18px 0 10px; font-size: clamp(31px, 5vw, 50px); line-height: .98; letter-spacing: -.06em; }
.ow-login-form { margin-top: 26px; }
.ow-login-form p { margin: 0 0 16px; }
.ow-login-form label { display: block; margin-bottom: 7px; color: #344054; font-weight: 700; }
.ow-login-form input[type="text"], .ow-login-form input[type="password"] {
    width: 100%;
    border: 1px solid var(--ow-border);
    border-radius: 16px;
    padding: 14px 16px;
    background: #fff;
}
.ow-login-form input[type="submit"], .ow-button, .ow-primary {
    border: 0;
    background: var(--ow-navy);
    color: #fff;
    border-radius: 16px;
    padding: 13px 18px;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 14px 32px rgba(7,23,47,.18);
}
.ow-secondary {
    border: 1px solid var(--ow-border);
    background: #fff;
    color: var(--ow-navy);
    border-radius: 16px;
    padding: 12px 16px;
    font-weight: 800;
    cursor: pointer;
}
.ow-sidebar {
    width: 292px;
    min-height: 100vh;
    position: sticky;
    top: 0;
    background: var(--ow-navy);
    color: #fff;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 26px;
}
.ow-sidebar-brand { display: flex; align-items: center; gap: 13px; }
.ow-sidebar-brand .ow-brand-mark { background: #fff; color: var(--ow-navy); box-shadow: none; }
.ow-sidebar-brand span { display: block; color: rgba(255,255,255,.62); font-size: 12px; letter-spacing: .12em; margin-top: 3px; }
.ow-nav { display: grid; gap: 8px; }
.ow-nav-item {
    width: 100%;
    border: 0;
    text-align: left;
    color: rgba(255,255,255,.74);
    background: transparent;
    border-radius: 16px;
    padding: 13px 14px;
    cursor: pointer;
    font-weight: 760;
}
.ow-nav-item:hover, .ow-nav-item.is-active { background: rgba(255,255,255,.1); color: #fff; }
.ow-sidebar-footer { margin-top: auto; display: grid; gap: 9px; }
.ow-sidebar-footer a { color: rgba(255,255,255,.68); text-decoration: none; font-weight: 700; }
.ow-main { flex: 1; min-width: 0; padding: 28px; }
.ow-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 26px;
}
.ow-topbar h1 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1; letter-spacing: -.05em; }
.ow-user-box { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--ow-border); border-radius: 999px; padding: 8px 10px 8px 18px; box-shadow: 0 10px 30px rgba(7,23,47,.06); }
.ow-user-box a { background: var(--ow-blue-soft); color: var(--ow-blue); padding: 9px 13px; border-radius: 999px; text-decoration: none; font-weight: 800; }
.ow-alert { border-radius: 18px; padding: 14px 16px; margin-bottom: 18px; background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; font-weight: 700; }
.ow-content { display: grid; gap: 20px; }
.ow-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.ow-card {
    background: var(--ow-card);
    border: 1px solid var(--ow-border);
    border-radius: var(--ow-radius);
    padding: 22px;
    box-shadow: 0 16px 48px rgba(7,23,47,.07);
}
.ow-stat { grid-column: span 3; }
.ow-wide { grid-column: span 8; }
.ow-side { grid-column: span 4; }
.ow-full { grid-column: 1 / -1; }
.ow-stat strong { display: block; font-size: 38px; letter-spacing: -.05em; margin-top: 8px; }
.ow-card h2, .ow-card h3 { margin: 0 0 14px; letter-spacing: -.03em; }
.ow-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ow-table-wrap { overflow: auto; border: 1px solid var(--ow-border); border-radius: 18px; }
table.ow-table { width: 100%; border-collapse: collapse; min-width: 760px; background: #fff; }
.ow-table th, .ow-table td { padding: 13px 14px; border-bottom: 1px solid #eef2f7; text-align: left; vertical-align: top; }
.ow-table th { color: #475467; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; background: #f8fafc; }
.ow-table tr:last-child td { border-bottom: 0; }
.ow-pill { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: var(--ow-blue-soft); color: var(--ow-blue); font-size: 12px; font-weight: 900; }
.ow-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ow-field label { display: block; font-weight: 800; color: #344054; margin-bottom: 7px; }
.ow-field input, .ow-field select, .ow-field textarea {
    width: 100%;
    border: 1px solid var(--ow-border);
    border-radius: 14px;
    padding: 12px 14px;
    background: #fff;
}
.ow-field textarea { min-height: 90px; resize: vertical; }
.ow-field-full { grid-column: 1 / -1; }
.ow-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ow-empty { color: var(--ow-muted); padding: 18px; background: #f8fafc; border-radius: 16px; }
@media (max-width: 1020px) {
    .ow-app-shell { display: block; }
    .ow-sidebar { width: 100%; min-height: auto; position: relative; border-radius: 0 0 28px 28px; }
    .ow-nav { display: flex; overflow-x: auto; padding-bottom: 4px; }
    .ow-nav-item { white-space: nowrap; width: auto; }
    .ow-sidebar-footer { display: none; }
    .ow-main { padding: 20px; }
    .ow-topbar { align-items: flex-start; flex-direction: column; }
    .ow-stat, .ow-wide, .ow-side { grid-column: 1 / -1; }
    .ow-form-grid { grid-template-columns: 1fr; }
}
.ow-stat[data-action] { cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.ow-stat[data-action]:hover { transform: translateY(-2px); box-shadow: var(--ow-shadow); }
.ow-actions-large { align-items: center; }
.ow-actions-large .ow-primary { min-width: 145px; justify-content: center; }
.ow-room-box { background: #f8fafc; border: 1px dashed var(--ow-border); border-radius: 18px; padding: 14px; }
.ow-inline-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 10px; }
@media (max-width: 760px) { .ow-inline-grid { grid-template-columns: 1fr; } }
.ow-clickable-row { cursor: pointer; }
.ow-clickable-row:hover td { background: #f8fbff; }
.ow-link-button { border: 0; background: transparent; color: var(--ow-blue); font-weight: 900; cursor: pointer; padding: 0; text-align: left; }
.ow-detail-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.ow-kv { display: grid; grid-template-columns: 180px 1fr; gap: 10px 14px; padding: 14px; border: 1px solid var(--ow-border); border-radius: 18px; background: #fff; }
.ow-kv dt { color: #667085; font-weight: 800; }
.ow-kv dd { margin: 0; font-weight: 700; }
.ow-subcards { display: grid; gap: 12px; }
.ow-mini-card { border: 1px solid var(--ow-border); border-radius: 18px; padding: 14px; background: #f8fafc; }
.ow-mini-card strong { display:block; margin-bottom: 4px; }
.ow-top-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:16px; }
.ow-danger { border: 1px solid #fecaca; background: #fff; color: #b91c1c; border-radius: 16px; padding: 12px 16px; font-weight: 900; cursor: pointer; }
.ow-search { min-width: min(360px, 100%); border: 1px solid var(--ow-border); border-radius: 14px; padding: 12px 14px; background: #fff; }
.ow-disabled-note { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; border-radius:16px; padding:12px 14px; font-weight:700; }
.ow-badge-muted { background:#f2f4f7; color:#475467; }
.ow-loading { opacity: .65; pointer-events:none; }
.ow-settings-group { margin-bottom: 18px; }
.ow-settings-group h3 { margin-top: 0; }
@media (max-width: 920px) { .ow-detail-grid { grid-template-columns: 1fr; } .ow-kv { grid-template-columns: 1fr; } }

.ow-pdf-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.ow-pdf-link{display:inline-flex;margin-top:10px;font-weight:800;color:#0b5fff;text-decoration:none}
.ow-button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.ow-loading form{opacity:1}

/* v1.3 front CRM refinement */
.ow-nav-section{margin:22px 14px 8px;color:#7f93b3;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.ow-help{border:1px dashed #c9d8ec;background:#f8fbff;border-radius:18px;padding:16px 18px;color:#10223f}
.ow-help p{margin:.35rem 0 0;color:#60708a;line-height:1.55}
.ow-field small{display:block;margin-top:6px;color:#687895;font-size:12px;line-height:1.35}
.ow-variant-box{border:1px dashed #d7e2f1;background:#fbfdff;border-radius:18px;padding:16px}
.ow-variant-box h3{margin:0 0 6px;font-size:17px;color:#061a35}
.ow-inline-grid-5{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr}
.ow-pdf-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.ow-button-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.ow-detail-grid .ow-card.ow-full{grid-column:1 / -1}
.ow-kv dd b{display:block;margin-top:8px;color:#061a35}
@media (max-width:900px){.ow-inline-grid-5{grid-template-columns:1fr}.ow-nav-section{margin-left:8px}.ow-variant-box{padding:12px}}

/* v1.3.0 - czytelniejsze formularze ofert i kalkulacji */
.ow-form-section {
  border: 1px dashed #cfe0f5;
  border-radius: 18px;
  padding: 18px;
  margin: 8px 0 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,250,255,.92));
}
.ow-form-section h3 {
  margin: 0 0 6px;
  font-size: 18px;
  color: #071b38;
}
.ow-form-section > p {
  margin: 0 0 16px;
  color: #5f6f88;
  line-height: 1.45;
  max-width: 1100px;
}
.ow-form-grid-inner {
  padding: 0;
  border: 0;
  background: transparent;
}
.ow-labeled-grid {
  align-items: stretch;
}
.ow-subfield {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
.ow-subfield label {
  font-weight: 800;
  color: #16233a;
  font-size: 13px;
}
.ow-subfield small,
.ow-field small {
  display: block;
  margin-top: 6px;
  color: #66758f;
  line-height: 1.35;
}
.ow-subfield input,
.ow-subfield select {
  width: 100%;
  box-sizing: border-box;
}
.ow-example-box {
  margin-top: 14px;
  padding: 13px 15px;
  border-radius: 14px;
  background: #eef5ff;
  color: #253b5e;
  border: 1px solid #d5e6fb;
  line-height: 1.45;
}
.ow-hidden {
  display: none !important;
}
.ow-offer-section {
  border-style: solid;
}
.ow-help p b,
.ow-example-box strong {
  color: #061a36;
}
@media (max-width: 900px) {
  .ow-form-section { padding: 14px; }
  .ow-inline-grid,
  .ow-inline-grid-5 { grid-template-columns: 1fr !important; }
}

/* v1.3 offer scope editor */
.ow-matrix{display:grid;gap:10px;margin-top:14px;border:1px solid #d7e3f4;border-radius:18px;padding:14px;background:#f8fbff;overflow:auto}
.ow-matrix-head,.ow-matrix-row{display:grid;grid-template-columns:1.05fr 1fr 1fr 1fr;gap:10px;min-width:920px;align-items:stretch}
.ow-matrix-head span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#53627a;padding:0 4px}
.ow-matrix-row input,.ow-matrix-row textarea{width:100%;border:1px solid #d4e1f2;border-radius:14px;background:#fff;padding:12px 14px;font:inherit;color:#071832;min-height:46px}
.ow-matrix-row textarea{min-height:78px;resize:vertical;line-height:1.35}
.ow-form-section{border-radius:22px!important;background:#fff!important;border:1px solid #d7e3f4!important;box-shadow:0 14px 40px rgba(7,24,50,.04)}
.ow-example-box{border-radius:16px!important;background:#eef6ff!important;border:1px solid #cfe0fb!important;padding:14px 16px;margin-top:12px;color:#42526b}
.ow-card,.ow-table-wrap,.ow-empty,.ow-mini-item{border-radius:22px!important}

/* v1.5 - dopracowany edytor zakresow, pakiet pomieszczen i panel uzytkownikow */
.ow-matrix { overflow-x: auto; display: block; }
.ow-matrix-head,
.ow-matrix-row {
  display: grid;
  grid-template-columns: minmax(210px, .95fr) repeat(3, minmax(230px, 1fr));
  gap: 12px;
  min-width: 980px;
  margin-bottom: 10px;
  align-items: stretch;
}
.ow-matrix-row input,
.ow-matrix-row textarea {
  border-radius: 16px;
  padding: 13px 14px;
  line-height: 1.4;
  box-shadow: 0 8px 22px rgba(7,23,47,.03);
}
.ow-matrix-row textarea { min-height: 88px; }
.ow-room-package-toolbar { display:flex; flex-wrap:wrap; gap:10px; margin: 0 0 14px; }
.ow-room-package { display:grid; gap:14px; }
.ow-calc-room-row {
  display:grid;
  grid-template-columns: minmax(210px,1.25fr) minmax(190px,1.15fr) minmax(150px,.8fr) repeat(4,minmax(130px,.75fr)) minmax(180px,1fr) 86px;
  gap:10px;
  align-items:start;
  padding:14px;
  border:1px solid #d7e3f4;
  border-radius:20px;
  background:#f8fbff;
  overflow-x:auto;
}
.ow-calc-room-row .ow-subfield input,
.ow-calc-room-row .ow-subfield select { min-height:46px; border-radius:14px; }
.ow-room-row-actions { min-width: 78px; }
.ow-admin-users { margin-top:22px; padding:18px; border:1px solid #d7e3f4; border-radius:22px; background:#fff; }
.ow-admin-users .ow-table-wrap { margin-top:14px; }
.ow-badge-muted { margin-right:4px; }
@media (max-width: 1200px) {
  .ow-calc-room-row { grid-template-columns: 1fr 1fr; }
  .ow-room-row-actions { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .ow-calc-room-row { grid-template-columns: 1fr; }
}

/* v1.6.1 - prace okresowe, podsumowanie na zywo i klikalne karty */
.ow-periodic-package { display:grid; gap:14px; }
.ow-periodic-row {
  display:grid;
  grid-template-columns:minmax(220px,1.25fr) minmax(160px,.9fr) minmax(120px,.65fr) minmax(110px,.6fr) minmax(150px,.75fr) minmax(190px,1fr) 86px;
  gap:10px;
  align-items:start;
  padding:14px;
  border:1px solid #d7e3f4;
  border-radius:20px;
  background:#f8fbff;
}
.ow-periodic-row .ow-subfield input,
.ow-periodic-row .ow-subfield select { min-height:46px; border-radius:14px; }
.ow-live-summary { display:grid; gap:14px; }
.ow-live-summary-grid {
  display:grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap:12px;
}
.ow-live-summary-grid > div {
  background:#f8fbff;
  border:1px solid #d7e3f4;
  border-radius:18px;
  padding:14px;
}
.ow-live-summary-grid span { display:block; color:#53627a; font-size:12px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.ow-live-summary-grid strong { display:block; margin-top:6px; font-size:24px; color:#061a36; }
.ow-live-summary-grid small { display:block; margin-top:4px; color:#53627a; line-height:1.35; }
.ow-table tr.is-recommended td { background:#eef6ff; font-weight:800; }
.ow-clickable-row, .ow-mini-card, .ow-stat { transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease; }
.ow-clickable-row:hover td { background:#f3f7ff; cursor:pointer; }
.ow-mini-card:hover, .ow-stat:hover { transform: translateY(-1px); box-shadow:0 14px 34px rgba(7,23,47,.08); border-color:#b8cff2; cursor:pointer; }
.ow-link-button:hover { text-decoration:underline; }
@media (max-width: 1300px) {
  .ow-periodic-row { grid-template-columns: 1fr 1fr; }
  .ow-live-summary-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .ow-periodic-row, .ow-live-summary-grid { grid-template-columns: 1fr; }
}

/* v1.6.3 - rozwijane menu i poprawki UI */
.ow-nav-section-toggle{
  width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;text-align:left;font-family:inherit;
}
.ow-nav-section-toggle span{font-size:14px;transition:transform .18s ease;}
.ow-nav-section-toggle:not(.is-open) span{transform:rotate(-90deg)}
.ow-nav-group{display:none;gap:8px;}
.ow-nav-group.is-open{display:grid;}
.ow-nav-group .ow-nav-item{padding-left:18px;}
.ow-users-panel{margin-top:22px;border:1px solid #dbe7f5;border-radius:20px;padding:18px;background:#f8fbff;}

/* Hotfix v1.6.4 */
.ow-nav-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.ow-nav-group{display:none;}
.ow-nav-group.is-open{display:block;}
body.wp-admin .ow-app-shell{display:none!important;}
.ow-clickable-row:hover,.ow-mini-click:hover{background:#eef4ff;cursor:pointer;}


/* v1.6.6 - client card aligned with WP admin workflow */
.ow-client-page-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.ow-client-main-card .ow-kv {
  max-width: none;
}
.ow-client-process-card .ow-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 16px;
}
.ow-client-process-card .ow-table tbody tr,
.ow-clickable-row,
.ow-mini-click {
  cursor: pointer;
  transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.ow-client-process-card .ow-table tbody tr:hover,
.ow-clickable-row:hover {
  background: #f4f8ff;
}
.ow-mini-click:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(6,18,43,.08);
  border-color: #bcd0ff;
}
.ow-small-button {
  padding: 9px 14px;
  min-height: auto;
  border-radius: 12px;
}
@media (min-width: 1200px) {
  .ow-client-main-card .ow-kv {
    grid-template-columns: 180px 1fr;
  }
}
@media (max-width: 900px) {
  .ow-client-process-card .ow-section-head {
    flex-direction: column;
  }
}

/* v1.7.7 - frontend search bars in list cards and client detail sections */
.ow-searchbar{display:flex;align-items:center;gap:10px;margin:14px 0 16px;padding:12px 14px;border:1px solid #d9e4f5;border-radius:18px;background:#f8fbff;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.ow-searchbar label{font-weight:800;color:#06122b;font-size:13px;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.ow-searchbar input{flex:1;min-width:180px;border:1px solid #cfdbef;border-radius:14px;padding:11px 13px;background:#fff;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.ow-searchbar input:focus{border-color:#2f63ff;box-shadow:0 0 0 3px rgba(47,99,255,.12)}
.ow-searchbar span{font-size:13px;color:#64748b;white-space:nowrap;font-weight:700}
.ow-search-hidden{display:none!important}
@media (max-width:720px){.ow-searchbar{align-items:stretch;flex-direction:column}.ow-searchbar span{white-space:normal}}
.ow-pill-danger{background:#fee2e2;color:#991b1b;}
.ow-settings-group .ow-card-head{align-items:flex-start;gap:16px;}

.ow-calendar-tabs{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}
.ow-calendar-tabs .is-active{background:#06122b;color:#fff;border-color:#06122b}
.ow-timeline{display:flex;flex-direction:column;gap:12px;margin:14px 0 24px}
.ow-timeline-item{display:grid;grid-template-columns:180px 1fr auto;gap:18px;align-items:center;border:1px solid #d7e2f2;border-radius:22px;background:#fff;padding:16px 18px;cursor:pointer;transition:.15s ease}
.ow-timeline-item:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(6,18,43,.08);border-color:#2f63ff}
.ow-timeline-date{font-weight:800;color:#06122b}
.ow-timeline-body{display:flex;flex-direction:column;gap:4px}
.ow-timeline-body span{color:#5b6b86}
@media (max-width: 860px){.ow-timeline-item{grid-template-columns:1fr;gap:8px}}

/* v1.9.2 - zadania, filtry i kalendarz operacyjny */
.ow-filter-pills{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 14px}.ow-filter-pill{border:1px solid var(--ow-border);background:#fff;color:var(--ow-navy);border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}.ow-filter-pill.is-active{background:var(--ow-navy);color:#fff;border-color:var(--ow-navy)}.ow-task-filter-box{border:1px solid var(--ow-border);border-radius:22px;background:#f8fbff;padding:14px;margin:14px 0}.ow-task-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.ow-task-filter-grid .ow-field label{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.ow-task-filter-grid .ow-field input,.ow-task-filter-grid .ow-field select{width:100%;border:1px solid var(--ow-border);border-radius:14px;padding:11px 12px;background:#fff}.ow-filter-hidden{display:none!important}.ow-calendar-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 16px}.ow-calendar-tabs .is-active{background:var(--ow-navy);color:#fff;border-color:var(--ow-navy)}.ow-calendar-visual{border:1px solid var(--ow-border);border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);padding:18px;margin:10px 0 18px}.ow-calendar-visual-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.ow-calendar-visual-head span{color:var(--ow-muted);font-weight:700}.ow-calendar-axis{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-bottom:1px solid #dce7f7;padding-bottom:8px;color:#667085;font-size:12px;font-weight:800;text-transform:uppercase}.ow-calendar-track{position:relative;min-height:150px;padding:26px 0 12px}.ow-calendar-track:before{content:"";position:absolute;left:0;right:0;top:44px;height:4px;background:#dbeafe;border-radius:999px}.ow-calendar-dot{position:absolute;top:22px;transform:translateX(-10px);width:210px;max-width:28%;border:0;background:transparent;text-align:left;cursor:pointer}.ow-calendar-dot span{display:block;width:20px;height:20px;border-radius:999px;background:var(--ow-blue);box-shadow:0 0 0 7px rgba(31,111,235,.13);margin-bottom:10px}.ow-calendar-dot strong{display:block;background:#fff;border:1px solid var(--ow-border);border-radius:15px;padding:10px 12px;font-size:12px;line-height:1.25;box-shadow:0 8px 18px rgba(7,23,47,.08);white-space:normal}.ow-calendar-dot:hover strong{border-color:var(--ow-blue);box-shadow:0 12px 30px rgba(31,111,235,.14)}.ow-form-section .ow-form-grid{margin-top:12px}.ow-form-section h3{margin-bottom:4px}.ow-form-section p{margin:0;color:var(--ow-muted)}@media(max-width:1200px){.ow-task-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ow-calendar-dot{max-width:38%;width:180px}}@media(max-width:760px){.ow-task-filter-grid{grid-template-columns:1fr}.ow-calendar-axis{display:none}.ow-calendar-track{display:grid;gap:10px;padding:0}.ow-calendar-track:before{display:none}.ow-calendar-dot{position:static;transform:none;max-width:100%;width:100%;display:flex;gap:12px;align-items:flex-start}.ow-calendar-dot span{flex:0 0 20px}.ow-calendar-dot strong{flex:1}}
/* v1.9.3 calendar visibility improvements */
.ow-calendar-visual { overflow: visible; }
.ow-calendar-track { overflow: visible; padding-bottom: 34px; }
.ow-calendar-dot { z-index: 2; }
.ow-calendar-dot strong { min-height: 48px; display: block; overflow: hidden; }
.ow-calendar-dot strong em { display: block; margin-top: 4px; color: var(--ow-muted); font-style: normal; font-weight: 700; font-size: 11px; line-height: 1.25; }
.ow-calendar-dot:focus strong, .ow-calendar-dot:hover strong { z-index: 5; position: relative; }


/* v1.9.4 calendar polish + hover layering */
.ow-calendar-visual { overflow: visible; }
.ow-calendar-track { overflow: visible; padding-bottom: 64px; }
.ow-calendar-dot { z-index: 3; transition: transform .16s ease, z-index 0s; }
.ow-calendar-dot span { transition: transform .16s ease, box-shadow .16s ease; }
.ow-calendar-dot strong { min-height: 58px; display: block; overflow: hidden; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.ow-calendar-dot:hover,
.ow-calendar-dot:focus { z-index: 80; }
.ow-calendar-dot:hover span,
.ow-calendar-dot:focus span { transform: scale(1.12); box-shadow:0 0 0 9px rgba(31,111,235,.18); }
.ow-calendar-dot:hover strong,
.ow-calendar-dot:focus strong { position: relative; z-index: 90; transform: translateY(-4px) scale(1.03); border-color: var(--ow-blue); box-shadow:0 24px 50px rgba(31,111,235,.22); overflow: visible; }
@media(min-width: 761px){
  .ow-calendar-dot { width: 230px; max-width: 32%; }
}

/* v1.9.6 custom CRM login */
.ow-front-login-form { display: grid; gap: 15px; }
.ow-front-login-form p { margin: 0; }
.ow-front-login-form input[type="text"],
.ow-front-login-form input[type="password"],
.ow-front-login-form input[type="email"] {
    width: 100%;
    border: 1px solid var(--ow-border);
    border-radius: 16px;
    padding: 14px 16px;
    background: #fff;
    outline: none;
}
.ow-front-login-form input:focus { border-color: var(--ow-blue); box-shadow: 0 0 0 4px rgba(31,111,235,.11); }
.ow-front-login-form button[type="submit"] {
    border: 0;
    background: var(--ow-navy);
    color: #fff;
    border-radius: 16px;
    padding: 13px 18px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(7,23,47,.18);
}
.ow-login-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ow-login-form .ow-remember { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 700; color: var(--ow-muted); }
.ow-login-form .ow-remember input { width: auto; }
.ow-login-error {
    margin: 0 0 18px;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
    border-radius: 16px;
    padding: 13px 15px;
    font-weight: 800;
}
.ow-front-login-captcha {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    border-radius: 18px;
    padding: 15px;
}
.ow-front-login-captcha span { display: block; color: var(--ow-muted); line-height: 1.45; margin: 4px 0 10px; font-size: 13px; }
.ow-front-login-captcha strong { color: var(--ow-navy); }
.ow-login-help { color: var(--ow-muted); font-size: 13px; line-height: 1.55; }


/* v1.10.0 - mobile CRM app refinement */
html { -webkit-text-size-adjust: 100%; }
body.ow-crm-app-body { overflow-x: hidden; }
.ow-table-wrap { -webkit-overflow-scrolling: touch; }
.ow-table-wrap::after { content: ""; }
.ow-primary, .ow-secondary, .ow-danger, .ow-filter-pill, .ow-nav-item, .ow-nav-section-toggle { -webkit-tap-highlight-color: transparent; }

@media (max-width: 1020px) {
  .ow-app-shell { display: block; }
  .ow-sidebar {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    min-height: auto;
    border-radius: 0 0 26px 26px;
    padding: 14px 16px 12px;
    gap: 12px;
    box-shadow: 0 16px 44px rgba(7,23,47,.18);
  }
  .ow-sidebar-brand { min-height: 44px; }
  .ow-sidebar-brand .ow-brand-mark { width: 42px; height: 42px; border-radius: 14px; }
  .ow-sidebar-brand strong { font-size: 14px; }
  .ow-sidebar-brand span { font-size: 10px; }
  .ow-sidebar-footer { display: none !important; }
  .ow-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 0 7px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .ow-nav-section-toggle { display: none !important; }
  .ow-nav-group,
  .ow-nav-group.is-open {
    display: flex !important;
    gap: 8px;
    flex: 0 0 auto;
  }
  .ow-nav-item,
  .ow-nav-group .ow-nav-item {
    flex: 0 0 auto;
    width: auto;
    white-space: nowrap;
    padding: 10px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    scroll-snap-align: start;
  }
  .ow-nav-item.is-active { background: #fff; color: var(--ow-navy); }
  .ow-main { padding: 18px 16px 80px; }
  .ow-topbar {
    flex-direction: row;
    align-items: flex-start;
    margin-bottom: 18px;
    gap: 12px;
  }
  .ow-topbar h1 { font-size: clamp(32px, 8vw, 46px); }
  .ow-user-box {
    align-self: flex-start;
    gap: 8px;
    padding: 6px 7px 6px 12px;
    font-size: 14px;
    flex-shrink: 0;
  }
  .ow-user-box a { padding: 8px 10px; }
  .ow-grid { gap: 14px; }
  .ow-card { padding: 18px; border-radius: 22px; }
  .ow-stat, .ow-wide, .ow-side, .ow-full { grid-column: 1 / -1; }
  .ow-form-grid, .ow-form-grid-inner, .ow-task-filter-grid { grid-template-columns: 1fr !important; }
  .ow-detail-grid { grid-template-columns: 1fr !important; }
  .ow-actions, .ow-top-actions, .ow-toolbar { align-items: stretch; }
  .ow-actions > *, .ow-top-actions > *, .ow-toolbar > .ow-primary, .ow-toolbar > .ow-secondary { justify-content: center; }
}

@media (max-width: 760px) {
  :root { --ow-radius: 20px; }
  .ow-login-screen {
    padding: 16px;
    align-items: stretch;
    place-items: center;
    background: linear-gradient(180deg, #06142a 0%, #0d2446 42%, #f4f7fb 42%, #f4f7fb 100%);
  }
  .ow-login-card { padding: 24px; border-radius: 26px; }
  .ow-login-card h1 { font-size: clamp(30px, 11vw, 42px); }
  .ow-front-login-form input[type="text"],
  .ow-front-login-form input[type="password"],
  .ow-front-login-form input[type="email"],
  .ow-login-form input[type="text"],
  .ow-login-form input[type="password"] { min-height: 48px; font-size: 16px; }
  .ow-login-row { align-items: stretch; }
  .ow-front-login-form button[type="submit"], .ow-login-form input[type="submit"] { width: 100%; justify-content: center; min-height: 48px; }

  .ow-sidebar { padding: 12px 12px 10px; border-radius: 0 0 22px 22px; }
  .ow-sidebar-brand { gap: 10px; }
  .ow-sidebar-brand .ow-brand-mark { width: 38px; height: 38px; border-radius: 13px; font-size: 13px; }
  .ow-nav { margin-inline: -2px; padding-bottom: 6px; }
  .ow-nav-item, .ow-nav-group .ow-nav-item { font-size: 13px; padding: 9px 12px; }
  .ow-main { padding: 16px 12px 88px; }
  .ow-topbar { flex-direction: column; align-items: stretch; gap: 12px; }
  .ow-topbar .ow-eyebrow { font-size: 10px; }
  .ow-topbar h1 { font-size: 36px; }
  .ow-user-box { width: 100%; justify-content: space-between; align-self: stretch; }
  .ow-alert { padding: 12px 14px; border-radius: 16px; font-size: 14px; }
  .ow-content { gap: 14px; }
  .ow-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .ow-card { padding: 16px; box-shadow: 0 10px 30px rgba(7,23,47,.06); }
  .ow-card h2 { font-size: 22px; }
  .ow-card h3 { font-size: 19px; }
  .ow-stat strong { font-size: 32px; }
  .ow-toolbar { flex-direction: column; align-items: stretch; gap: 10px; }
  .ow-toolbar > div { display: flex; flex-wrap: wrap; gap: 8px; }
  .ow-primary, .ow-secondary, .ow-danger, .ow-button { min-height: 46px; justify-content: center; text-align: center; }
  .ow-actions, .ow-top-actions, .ow-pdf-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .ow-top-actions > *, .ow-actions > *, .ow-pdf-actions > * { width: 100%; justify-content: center; }
  .ow-searchbar { margin: 12px 0; padding: 10px; border-radius: 16px; }
  .ow-searchbar input, .ow-search { width: 100%; min-width: 0; font-size: 16px; }
  .ow-filter-pills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ow-filter-pill { padding: 10px 8px; text-align: center; font-size: 13px; }
  .ow-task-filter-box { padding: 12px; border-radius: 18px; }
  .ow-field input, .ow-field select, .ow-field textarea,
  .ow-subfield input, .ow-subfield select,
  .ow-task-filter-grid .ow-field input, .ow-task-filter-grid .ow-field select {
    min-height: 46px;
    font-size: 16px;
  }
  .ow-field textarea { min-height: 120px; }
  .ow-form-section { padding: 14px !important; border-radius: 18px !important; }
  .ow-inline-grid, .ow-inline-grid-5 { grid-template-columns: 1fr !important; }
  .ow-kv { grid-template-columns: 1fr; padding: 12px; gap: 5px; }
  .ow-kv dt { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
  .ow-mini-card { padding: 13px; }

  .ow-table-wrap {
    border-radius: 18px;
    overflow-x: auto;
    margin-left: -2px;
    margin-right: -2px;
    background: linear-gradient(90deg, rgba(248,250,252,1), rgba(248,250,252,0)),
                linear-gradient(270deg, rgba(248,250,252,1), rgba(248,250,252,0));
    background-position: left, right;
    background-size: 22px 100%, 22px 100%;
    background-repeat: no-repeat;
  }
  table.ow-table { min-width: 680px; font-size: 14px; }
  .ow-table th, .ow-table td { padding: 12px 11px; }
  .ow-pill { font-size: 11px; padding: 6px 9px; }

  .ow-matrix { padding: 10px; border-radius: 18px; }
  .ow-matrix-head, .ow-matrix-row { min-width: 760px; grid-template-columns: minmax(180px,.95fr) repeat(3,minmax(185px,1fr)); gap: 8px; }
  .ow-room-row { grid-template-columns: 1fr !important; }
  .ow-room-row-actions { grid-column: auto !important; }

  .ow-calendar-visual { padding: 14px; border-radius: 20px; }
  .ow-calendar-visual-head { flex-direction: column; align-items: flex-start; }
  .ow-calendar-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .ow-calendar-tabs .ow-secondary { width: 100%; padding-inline: 8px; }
  .ow-calendar-track { display: grid; gap: 10px; padding: 0 0 4px !important; min-height: auto; }
  .ow-calendar-track:before, .ow-calendar-axis { display: none !important; }
  .ow-calendar-dot {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 10px;
    align-items: start;
  }
  .ow-calendar-dot span { margin: 9px 0 0; width: 16px; height: 16px; box-shadow: 0 0 0 6px rgba(31,111,235,.12); }
  .ow-calendar-dot strong { min-height: auto; font-size: 13px; padding: 12px 13px; overflow: visible; }
  .ow-calendar-dot:hover strong, .ow-calendar-dot:focus strong { transform: none; }
  .ow-timeline-item { grid-template-columns: 1fr; padding: 14px; gap: 6px; }

  .ow-client-process-card .ow-section-head { gap: 10px; }
  .ow-client-process-card .ow-section-head .ow-primary,
  .ow-client-process-card .ow-section-head .ow-secondary { width: 100%; }
}

@media (max-width: 420px) {
  .ow-main { padding-left: 10px; padding-right: 10px; }
  .ow-card { padding: 14px; }
  .ow-topbar h1 { font-size: 32px; }
  .ow-filter-pills { grid-template-columns: 1fr; }
  table.ow-table { min-width: 620px; }
  .ow-calendar-tabs { grid-template-columns: 1fr; }
}

/* v1.10.1 - prawdziwy mobile CRM + powiadomienia na urządzeniu */
* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
.ow-mobile-menu-toggle { display: none; }
.ow-device-notification-card {
  border: 1px solid var(--ow-border);
  border-radius: 22px;
  background: #f8fbff;
  padding: 16px;
  display: grid;
  gap: 10px;
}
.ow-device-notification-card strong { color: var(--ow-navy); }

@media (max-width: 760px) {
  body.ow-crm-app-body { width: 100%; min-width: 0; }
  .ow-app-shell { width: 100%; max-width: 100vw; overflow-x: hidden; }
  .ow-sidebar {
    position: sticky !important;
    top: 0;
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
    border-radius: 0 0 20px 20px !important;
    overflow: visible;
  }
  .ow-sidebar-brand {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    width: 100%;
    gap: 10px !important;
  }
  .ow-sidebar-brand > div:nth-child(2) { min-width: 0; }
  .ow-sidebar-brand strong,
  .ow-sidebar-brand span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .ow-mobile-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
  }
  .ow-nav {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 10px 0 4px !important;
    overflow: visible !important;
    max-height: calc(100vh - 98px);
    overflow-y: auto !important;
    scrollbar-width: thin;
  }
  .ow-sidebar.is-mobile-open .ow-nav { display: grid !important; gap: 8px !important; }
  .ow-nav-section-toggle {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 0 2px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.82) !important;
  }
  .ow-nav-group,
  .ow-nav-group.is-open {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
  .ow-nav-item,
  .ow-nav-group .ow-nav-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    white-space: normal !important;
    text-align: center;
    justify-content: center;
    padding: 11px 9px !important;
    font-size: 13px !important;
    line-height: 1.15;
    border-radius: 16px !important;
  }
  .ow-nav > .ow-nav-item:first-child { grid-column: 1 / -1; }
  .ow-main {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding: 14px 10px 88px !important;
    overflow-x: hidden !important;
  }
  .ow-topbar { width: 100%; min-width: 0; }
  .ow-topbar h1 { font-size: clamp(29px, 10vw, 38px) !important; line-height: 1.05; word-break: break-word; }
  .ow-user-box { max-width: 100%; min-width: 0; }
  .ow-content, .ow-card, .ow-grid, .ow-wide, .ow-side, .ow-full { min-width: 0; max-width: 100%; }
  .ow-card { padding: 15px !important; border-radius: 20px !important; }
  .ow-card-head { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: start; }
  .ow-card-head .ow-actions { width: 100%; }
  .ow-card-head .ow-actions > * { width: 100%; justify-content: center; }
  .ow-form-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .ow-task-filter-grid { grid-template-columns: 1fr !important; }
  .ow-filter-pills { grid-template-columns: 1fr 1fr !important; }
  .ow-searchbar { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
  .ow-searchbar span { white-space: normal !important; }
  .ow-searchbar input { width: 100% !important; min-width: 0 !important; }
  .ow-toolbar { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .ow-toolbar > div { display: grid !important; grid-template-columns: 1fr !important; }
  .ow-toolbar button, .ow-toolbar a { width: 100%; }
  .ow-table-wrap { max-width: 100%; overflow-x: auto; }
  table.ow-table { min-width: 600px; }
  .ow-calendar-visual { padding: 13px !important; overflow: hidden; }
  .ow-calendar-visual-head { display: grid !important; grid-template-columns: 1fr; gap: 4px; }
  .ow-calendar-tabs { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .ow-calendar-track { display: grid !important; gap: 10px !important; min-height: auto !important; padding: 0 !important; overflow: visible !important; }
  .ow-calendar-dot {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0,1fr);
    gap: 10px;
    align-items: start;
  }
  .ow-calendar-dot span { width: 15px !important; height: 15px !important; margin: 13px 0 0 !important; }
  .ow-calendar-dot strong { width: 100%; min-width: 0; overflow: visible !important; }
  .ow-calendar-dot:hover, .ow-calendar-dot:focus-within { z-index: 10; }
  .ow-device-notification-card { padding: 14px; }
}

@media (max-width: 380px) {
  .ow-nav-group, .ow-nav-group.is-open { grid-template-columns: 1fr; }
  .ow-filter-pills { grid-template-columns: 1fr !important; }
  .ow-calendar-tabs { grid-template-columns: 1fr !important; }
  table.ow-table { min-width: 560px; }
}

/* v1.10.2 - calendar time grid: hours on left + day columns */
.ow-calendar-time-visual { overflow: visible; }
.ow-calendar-week-grid {
  --time-w: 74px;
  --day-count: 7;
  border: 1px solid #dce7f7;
  border-radius: 22px;
  background: #fff;
  overflow: visible;
}
.ow-cal-days {
  display: grid;
  grid-template-columns: var(--time-w) repeat(7, minmax(0, 1fr));
  border-bottom: 1px solid #dce7f7;
  background: #f8fbff;
  border-radius: 22px 22px 0 0;
  overflow: hidden;
}
.ow-cal-time-head,
.ow-cal-day-head {
  min-height: 54px;
  padding: 12px 10px;
  display: grid;
  align-content: center;
  border-right: 1px solid #e6eef9;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ow-cal-day-head strong { color: var(--ow-navy); font-size: 13px; text-transform: uppercase; }
.ow-cal-day-head span { color: var(--ow-muted); font-size: 11px; margin-top: 2px; }
.ow-cal-day-head:last-child { border-right: 0; }
.ow-cal-body {
  position: relative;
  display: grid;
  grid-template-columns: var(--time-w) minmax(0, 1fr);
  min-height: var(--body-h);
  overflow: visible;
}
.ow-cal-hours {
  display: grid;
  grid-template-rows: repeat(var(--hours), 58px);
  border-right: 1px solid #dce7f7;
  background: #fbfdff;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}
.ow-cal-hours span {
  padding: 7px 10px;
  border-bottom: 1px solid #edf2fa;
}
.ow-cal-day-columns {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.ow-cal-day-column {
  display: grid;
  grid-template-rows: repeat(var(--hours), 58px);
  border-right: 1px solid #edf2fa;
  min-width: 0;
}
.ow-cal-day-column:last-child { border-right: 0; }
.ow-cal-day-column span { border-bottom: 1px solid #edf2fa; }
.ow-cal-events {
  position: absolute;
  inset: 0 0 0 var(--time-w);
  overflow: visible;
  pointer-events: none;
}
.ow-cal-event {
  position: absolute;
  left: calc((100% / 7) * var(--day) + 8px + var(--shift));
  top: var(--top);
  width: calc((100% / 7) - 16px - var(--shift));
  min-height: var(--item-h);
  border: 1px solid #cfe0fb;
  background: #fff;
  color: var(--ow-navy);
  border-radius: 16px;
  padding: 8px 10px;
  text-align: left;
  box-shadow: 0 10px 22px rgba(7,23,47,.08);
  cursor: pointer;
  pointer-events: auto;
  z-index: calc(3 + var(--stack));
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, z-index 0s;
  overflow: hidden;
}
.ow-cal-event-task { border-left: 4px solid var(--ow-blue); }
.ow-cal-event-visit { border-left: 4px solid #10b981; }
.ow-cal-event small,
.ow-cal-event em { display: block; color: var(--ow-muted); font-style: normal; font-size: 11px; line-height: 1.25; }
.ow-cal-event strong { display: block; font-size: 12px; line-height: 1.25; margin: 2px 0; }
.ow-cal-event:hover,
.ow-cal-event:focus {
  z-index: 999 !important;
  transform: translateY(-3px) scale(1.035);
  border-color: var(--ow-blue);
  box-shadow: 0 24px 52px rgba(31,111,235,.22);
  overflow: visible;
}
.ow-cal-event:hover em,
.ow-cal-event:focus em { white-space: normal; }
.ow-agenda-list { display: grid; gap: 12px; }
.ow-agenda-day {
  border: 1px solid #dce7f7;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}
.ow-agenda-day header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  background: #f8fbff;
  border-bottom: 1px solid #e6eef9;
}
.ow-agenda-day header strong { color: var(--ow-navy); text-transform: capitalize; }
.ow-agenda-day header span { color: var(--ow-muted); font-weight: 800; }
.ow-agenda-row {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #edf2fa;
  background: #fff;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 13px 15px;
  text-align: left;
  cursor: pointer;
}
.ow-agenda-row:last-child { border-bottom: 0; }
.ow-agenda-row:hover { background: #f8fbff; }
.ow-agenda-time { color: var(--ow-blue); font-weight: 950; }
.ow-agenda-row strong { display: block; color: var(--ow-navy); }
.ow-agenda-row em { display: block; color: var(--ow-muted); font-style: normal; margin-top: 3px; }
.ow-agenda-row b { font-size: 12px; background: #eef4ff; color: var(--ow-blue); padding: 7px 10px; border-radius: 999px; }

@media (max-width: 980px) {
  .ow-calendar-week-grid { --time-w: 62px; }
  .ow-cal-time-head, .ow-cal-day-head { padding: 10px 7px; font-size: 11px; }
  .ow-cal-event { padding: 7px 8px; border-radius: 14px; }
  .ow-cal-event em { display: none; }
}

@media (max-width: 760px) {
  .ow-calendar-time-visual { padding: 13px !important; overflow: visible !important; }
  .ow-calendar-week-grid {
    border: 0;
    background: transparent;
    overflow: visible;
  }
  .ow-cal-days {
    position: sticky;
    top: 70px;
    z-index: 20;
    grid-template-columns: repeat(7, minmax(76px, 1fr));
    overflow-x: auto;
    border: 1px solid #dce7f7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(7,23,47,.07);
    margin-bottom: 12px;
  }
  .ow-cal-time-head { display: none; }
  .ow-cal-day-head {
    min-height: 48px;
    text-align: center;
    border-right: 1px solid #edf2fa;
  }
  .ow-cal-body {
    display: block;
    min-height: auto !important;
  }
  .ow-cal-hours,
  .ow-cal-day-columns { display: none; }
  .ow-cal-events {
    position: static;
    display: grid;
    gap: 10px;
    inset: auto;
    pointer-events: auto;
  }
  .ow-cal-event {
    position: static;
    width: 100%;
    min-height: auto;
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
    padding: 13px;
    border-radius: 18px;
    transform: none !important;
  }
  .ow-cal-event small {
    grid-row: 1 / span 3;
    color: var(--ow-blue);
    font-weight: 950;
    font-size: 12px;
    line-height: 1.35;
    text-transform: uppercase;
  }
  .ow-cal-event strong { font-size: 14px; margin: 0; }
  .ow-cal-event em { display: block; font-size: 12px; }
  .ow-cal-event:hover,
  .ow-cal-event:focus { transform: none !important; box-shadow: 0 16px 34px rgba(31,111,235,.16); }
  .ow-agenda-row { grid-template-columns: 66px minmax(0,1fr); }
  .ow-agenda-row b { grid-column: 2; justify-self: start; margin-top: 4px; }
}


.ow-contract-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.ow-contract-summary-cards>div,.ow-contract-offer-summary{border:1px solid var(--ow-border,#dbe4f0);border-radius:18px;background:#f8fbff;padding:16px 18px;box-shadow:0 12px 30px rgba(15,23,42,.04)}.ow-contract-summary-cards span,.ow-contract-offer-summary span{display:block;color:#64748b;font-size:13px;margin-top:4px}.ow-contract-summary-cards strong,.ow-contract-offer-summary strong{display:block;color:#06122b;font-weight:900}.ow-contract-offer-summary{margin:0 0 16px 0}@media(max-width:760px){.ow-contract-summary-cards{grid-template-columns:1fr}.ow-contract-summary-cards>div,.ow-contract-offer-summary{padding:14px}}

/* v2.0.3 - contract/offer overflow and readable JSON/matrix previews */
.ow-section-space,
.ow-card,
.ow-full,
.ow-detail-grid,
.ow-table-wrap {
  min-width: 0;
  max-width: 100%;
}
.ow-json-preview,
.ow-text-preview {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
  overflow-x: auto;
}
.ow-contract-list {
  display: grid;
  gap: 10px;
}
.ow-contract-list-item,
.ow-text-preview {
  border: 1px solid rgba(148, 163, 184, .28);
  background: rgba(248, 250, 252, .75);
  border-radius: 16px;
  padding: 12px 14px;
  color: #334155;
  line-height: 1.55;
}
.ow-compact-table th,
.ow-compact-table td {
  white-space: normal;
  overflow-wrap: anywhere;
}
.ow-pdf-actions,
.ow-card-head .ow-actions {
  flex-wrap: wrap;
  max-width: 100%;
}
.ow-button-link,
.ow-pdf-link {
  white-space: normal;
  text-align: center;
}

/* v2.1.0 - profil użytkownika */
.ow-profile-hero{
    background: linear-gradient(135deg,#07172f 0%,#0d2446 55%,#1f6feb 100%);
    color:#fff;
    border-radius:32px;
    padding:26px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    box-shadow: var(--ow-shadow);
    margin-bottom: 18px;
}
.ow-profile-hero .ow-eyebrow{color:#9ec5ff;margin:0 0 8px}
.ow-profile-hero h2{margin:0 0 6px;font-size:clamp(30px,4vw,52px);letter-spacing:-.055em;line-height:1}
.ow-profile-hero .ow-muted{color:rgba(255,255,255,.74);margin:0}
.ow-profile-hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.ow-profile-hero-actions .ow-secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}
.ow-profile-stat{position:relative;overflow:hidden;min-height:150px}
.ow-profile-stat:before{content:"";position:absolute;right:-26px;top:-26px;width:92px;height:92px;border-radius:999px;background:rgba(31,111,235,.1)}
.ow-profile-stat-label{display:block;color:#667085;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.1em}
.ow-profile-stat small{display:block;color:#667085;font-weight:750;margin-top:6px;line-height:1.4}
.ow-profile-stat.is-warning{border-color:#fed7aa;background:#fffaf5}
.ow-profile-stat.is-warning strong{color:#b45309}
.ow-profile-task-list,.ow-profile-activity{display:grid;gap:10px}
.ow-profile-task{width:100%;text-align:left;border:1px solid var(--ow-border);background:#f8fafc;border-radius:18px;padding:14px;display:grid;gap:6px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.ow-profile-task:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(7,23,47,.08);border-color:#b8cff2;background:#fff}
.ow-profile-task strong{font-size:15px;color:#07172f}
.ow-profile-task small{color:#667085;line-height:1.45}
.ow-profile-task .ow-pill{justify-self:start}
.ow-profile-activity-item{border:1px solid var(--ow-border);border-radius:18px;padding:13px 14px;background:#fff;display:grid;gap:4px}
.ow-profile-activity-item span{color:#667085;font-size:12px;font-weight:800}
.ow-profile-activity-item strong{color:#07172f}
.ow-profile-activity-item small{color:#667085;line-height:1.45}
@media (max-width:760px){
    .ow-profile-hero{display:grid;padding:20px;border-radius:26px}
    .ow-profile-hero-actions{justify-content:stretch}
    .ow-profile-hero-actions .ow-primary,.ow-profile-hero-actions .ow-secondary{width:100%;justify-content:center}
    .ow-profile-stat{min-height:126px}
}

/* Zespół / panel menedżerski */
.ow-team-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:16px;
}
.ow-team-user{
    border-radius:24px;
    overflow:hidden;
}
.ow-team-user.is-warning{border-color:#f6c76b;background:linear-gradient(180deg,#fffaf0,#fff)}
.ow-team-user.is-danger{border-color:#f5a3a3;background:linear-gradient(180deg,#fff5f5,#fff)}
.ow-team-user-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
    margin-bottom:14px;
}
.ow-team-user-head h3{margin:0 0 4px;font-size:18px;line-height:1.2}
.ow-team-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin:12px 0;
}
.ow-team-metrics div{
    background:#f6f8fc;
    border:1px solid #dbe6f5;
    border-radius:16px;
    padding:12px 10px;
    min-width:0;
}
.ow-team-metrics strong{display:block;font-size:22px;color:#061a3d;line-height:1}
.ow-team-metrics span{display:block;margin-top:6px;font-size:11px;font-weight:800;color:#657189;text-transform:uppercase;letter-spacing:.04em}
.ow-team-foot{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    padding-top:10px;
    border-top:1px solid #e4ecf7;
    color:#4d5a72;
    font-size:13px;
}
.ow-team-foot + .ow-team-foot{margin-top:8px}
@media (max-width: 720px){
    .ow-team-grid{grid-template-columns:1fr;gap:12px}
    .ow-team-user-head{display:block}
    .ow-team-user-head .ow-pill{display:inline-flex;margin-top:10px}
    .ow-team-metrics{grid-template-columns:repeat(2,1fr)}
    .ow-team-foot{display:block}
    .ow-team-foot span{display:block;margin:7px 0}
}

/* v2.1.3 - podglad profilu uzytkownika z panelu zespolu */
.ow-team-user[data-action="show-user-profile"]{
    cursor:pointer;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.ow-team-user[data-action="show-user-profile"]:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 42px rgba(7,23,47,.1);
    border-color:#b8cff2;
}
.ow-team-user[data-action="show-user-profile"]:focus-visible{
    outline:3px solid rgba(31,111,235,.32);
    outline-offset:3px;
}
.ow-team-user-actions{
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}
.ow-team-open-profile{
    position:relative;
    z-index:2;
}
.ow-profile-view-note{
    margin-top:8px!important;
    max-width:620px;
}
@media (max-width:720px){
    .ow-team-user-actions{justify-content:flex-start;margin-top:10px}
}

/* v2.1.4 - panel zespolu jako lista z filtrem roli */
.ow-team-toolbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin:16px 0 12px;
    padding:14px;
    border:1px solid var(--ow-border);
    border-radius:22px;
    background:#f8fbff;
}
.ow-team-role-field{min-width:260px;margin:0}
.ow-team-role-field label{display:block;margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#5c6a82;font-weight:900}
.ow-team-role-field select{width:100%;border:1px solid #cfdbef;border-radius:15px;padding:12px 13px;background:#fff;font-size:14px;font-weight:800;color:#07172f;outline:none}
.ow-team-role-field select:focus{border-color:#2f63ff;box-shadow:0 0 0 3px rgba(47,99,255,.12)}
.ow-team-toolbar-note{display:grid;gap:4px;color:#64748b;font-size:13px;line-height:1.35;text-align:right}
.ow-team-toolbar-note strong{color:#07172f}
.ow-team-list{display:grid;gap:9px;min-width:980px}
.ow-team-list-head,.ow-team-row{display:grid;grid-template-columns:minmax(240px,1.8fr) 120px 90px 100px 90px 90px minmax(120px,1fr) minmax(120px,1fr) minmax(160px,1.1fr) 90px;gap:10px;align-items:center}
.ow-team-list-head{padding:0 14px 4px;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}
.ow-team-row{border:1px solid var(--ow-border);border-radius:20px;padding:12px 14px;background:#fff;box-shadow:0 8px 22px rgba(7,23,47,.04);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.ow-team-row:hover{transform:translateY(-1px);border-color:#b8cff2;box-shadow:0 16px 36px rgba(7,23,47,.08);background:#fbfdff}
.ow-team-row:focus-visible{outline:3px solid rgba(31,111,235,.28);outline-offset:3px}
.ow-team-row.is-warning{border-color:#f6c76b;background:linear-gradient(90deg,#fffaf0,#fff)}
.ow-team-row.is-danger{border-color:#f5a3a3;background:linear-gradient(90deg,#fff5f5,#fff)}
.ow-team-cell{min-width:0;display:grid;gap:3px;color:#516078;font-size:12px;line-height:1.25}
.ow-team-cell strong{color:#07172f;font-size:13px;line-height:1.25;overflow-wrap:anywhere}
.ow-team-cell span{overflow-wrap:anywhere}
.ow-team-person strong{font-size:15px}
.ow-team-number strong{font-size:20px;letter-spacing:-.03em}
.ow-team-actions{justify-items:end}
.ow-team-open-profile{position:relative;z-index:2;white-space:nowrap}
@media(max-width:1180px){
    .ow-team-list{min-width:860px}
    .ow-team-list-head,.ow-team-row{grid-template-columns:minmax(220px,1.7fr) 110px 80px 90px 80px 80px minmax(105px,1fr) minmax(105px,1fr) minmax(140px,1fr) 82px;gap:8px}
}
@media(max-width:900px){
    .ow-team-toolbar{align-items:stretch;flex-direction:column}
    .ow-team-toolbar-note{text-align:left}
    .ow-team-role-field{min-width:0;width:100%}
}
@media(max-width:720px){
    .ow-team-list{min-width:0}
    .ow-team-list-head{display:none}
    .ow-team-row{grid-template-columns:1fr 1fr;border-radius:20px;padding:14px;gap:12px}
    .ow-team-person{grid-column:1/-1}
    .ow-team-actions{grid-column:1/-1;justify-items:stretch}
    .ow-team-actions .ow-secondary{width:100%;justify-content:center}
}

/* v2.1.5 - centralny planer tras i spotkań */
.ow-planner-controls{
    display:grid;
    grid-template-columns:repeat(5,minmax(160px,1fr));
    gap:14px;
    align-items:end;
    margin:16px 0 18px;
    padding:16px;
    border:1px solid var(--ow-border);
    border-radius:24px;
    background:#f8fbff;
}
.ow-planner-controls .ow-field{margin:0;min-width:0}
.ow-planner-control-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.ow-planner-control-actions .ow-button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.ow-planner-layout{align-items:start}
.ow-planner-map{
    min-height:420px;
    border-radius:24px;
    border:1px solid #d9e4f4;
    overflow:hidden;
    background:linear-gradient(135deg,#eef6ff,#f8fafc);
}
.ow-map-placeholder{
    min-height:420px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:10px;
    padding:28px;
    color:#536179;
    line-height:1.55;
}
.ow-map-placeholder strong{color:#07172f;font-size:18px}
.ow-planner-route-summary{margin:12px 4px 0!important;font-weight:800;color:#334155!important}
.ow-planner-order{
    display:inline-flex;
    width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#0b1f3a;
    color:#fff;
    font-weight:950;
    box-shadow:0 8px 18px rgba(7,23,47,.18);
}
.ow-planner-notes{display:grid;gap:12px;color:#526075;line-height:1.55}
.ow-planner-notes p{margin:0;padding:12px 14px;border:1px solid #dbe6f5;border-radius:18px;background:#f8fafc}
.ow-planner-stats .ow-profile-stat{min-height:132px}
@media(max-width:1200px){
    .ow-planner-controls{grid-template-columns:repeat(2,minmax(180px,1fr))}
    .ow-planner-control-actions{justify-content:flex-start}
}
@media(max-width:720px){
    .ow-planner-controls{grid-template-columns:1fr;border-radius:20px;padding:14px}
    .ow-planner-map,.ow-map-placeholder{min-height:320px}
    .ow-planner-control-actions .ow-primary,.ow-planner-control-actions .ow-secondary{width:100%;justify-content:center}
}

/* v2.1.8 - kreator trasy operacyjnej */
.ow-planner-controls{grid-template-columns:repeat(6,minmax(150px,1fr))}
.ow-planner-manual{display:grid;grid-template-columns:1fr;gap:12px}
.ow-planner-manual .ow-field{margin:0}
.ow-planner-route-row{background:#fff}
.ow-planner-route-row.is-dragging{opacity:.55}
.ow-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:#edf4ff;color:#0b1f3a;font-weight:950;cursor:grab;margin-right:8px}
.ow-drag-handle:active{cursor:grabbing}
.ow-inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ow-danger-link{color:#b42318!important}
.ow-planner-route-row input,.ow-planner-route-row select,.ow-planner-route-row textarea{width:100%;border:1px solid #dbe6f5;border-radius:14px;padding:10px 12px;background:#fff;font:inherit;color:#07172f;box-sizing:border-box}
.ow-planner-route-row textarea{min-height:70px;resize:vertical;line-height:1.4}
.ow-planner-route-row small{display:block;margin-top:6px;color:#536179;line-height:1.35}
.ow-planner-layout .ow-table-wrap{overflow:auto}
@media(max-width:1380px){.ow-planner-controls{grid-template-columns:repeat(3,minmax(160px,1fr))}}
@media(max-width:860px){.ow-planner-controls{grid-template-columns:1fr}.ow-inline-actions{display:grid;grid-template-columns:1fr}}

/* v2.1.9 - planer jako kreator: filtry zwijane, mapa główna, sticky podgląd trasy */
.ow-planner-workspace{
    display:grid;
    grid-template-columns:minmax(0,1fr) 380px;
    gap:20px;
    align-items:start;
}
.ow-planner-main{display:grid;gap:18px;min-width:0}
.ow-planner-sidebar{min-width:0}
.ow-planner-sticky{position:sticky;top:22px;padding:18px;max-height:calc(100vh - 44px);overflow:auto}
.ow-planner-panel{
    border:1px solid var(--ow-border);
    border-radius:24px;
    background:#fff;
    box-shadow:0 16px 48px rgba(7,23,47,.055);
    overflow:hidden;
}
.ow-planner-panel summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px;
    cursor:pointer;
    background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);
}
.ow-planner-panel summary::-webkit-details-marker{display:none}
.ow-planner-panel summary strong{display:block;font-size:18px;letter-spacing:-.03em;color:#07172f}
.ow-planner-panel summary span{display:block;margin-top:4px;color:#667085;font-size:14px;line-height:1.45}
.ow-planner-panel summary em{font-style:normal;color:#1f6feb;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.ow-planner-controls{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
    align-items:end!important;
    margin:0!important;
    padding:18px 20px 20px!important;
    border:0!important;
    border-top:1px solid #edf2f8!important;
    border-radius:0!important;
    background:#fff!important;
}
.ow-planner-controls .ow-field{margin:0;min-width:0}
.ow-planner-route-name-field{grid-column:span 1}
.ow-planner-manual-panel .ow-planner-manual{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    padding:18px 20px 20px;
    border-top:1px solid #edf2f8;
    background:#fff;
}
.ow-planner-manual-panel .ow-field-full{grid-column:1/-1}
.ow-planner-map-card{padding:22px}
.ow-planner-map{min-height:520px}
.ow-map-placeholder{min-height:520px}
.ow-planner-metrics{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:4px 0 16px;
}
.ow-planner-metrics div{
    border:1px solid #dbe6f5;
    border-radius:16px;
    background:#f8fbff;
    padding:12px;
}
.ow-planner-metrics span{display:block;color:#667085;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.ow-planner-metrics strong{display:block;color:#07172f;font-size:20px;letter-spacing:-.04em;line-height:1.05}
.ow-route-preview-list{display:grid;gap:10px;margin-top:10px}
.ow-route-preview-item{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:10px;
    align-items:start;
    border:1px solid #dbe6f5;
    border-radius:18px;
    background:#fff;
    padding:12px;
    box-shadow:0 8px 20px rgba(7,23,47,.045);
}
.ow-route-preview-item.is-dragging{opacity:.55}
.ow-route-preview-index{
    width:32px;height:32px;border-radius:12px;
    display:grid;place-items:center;
    background:#07172f;color:#fff;font-weight:950;
}
.ow-route-preview-body{min-width:0;display:grid;gap:4px}
.ow-route-preview-body strong{display:block;color:#07172f;font-size:14px;line-height:1.25;word-break:break-word}
.ow-route-preview-body span{display:block;color:#1f6feb;font-size:12px;font-weight:900}
.ow-route-preview-body small{display:block;color:#667085;line-height:1.35;word-break:break-word}
.ow-route-preview-actions{display:grid;gap:5px;justify-items:end}
.ow-route-preview-actions .ow-link-button{font-size:13px;line-height:1}
.ow-planner-side-actions{display:grid;gap:10px;margin-top:16px}
.ow-planner-side-actions .ow-primary,.ow-planner-side-actions .ow-secondary,.ow-planner-side-actions .ow-button-link{width:100%;justify-content:center;text-align:center}
.ow-planner-route-summary{font-weight:900!important;color:#10223f!important}
@media(max-width:1420px){
    .ow-planner-workspace{grid-template-columns:minmax(0,1fr) 340px}
    .ow-planner-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1120px){
    .ow-planner-workspace{grid-template-columns:1fr}
    .ow-planner-sticky{position:relative;top:auto;max-height:none;overflow:visible;order:-1}
    .ow-planner-sidebar{order:-1}
}
@media(max-width:760px){
    .ow-planner-controls{grid-template-columns:1fr!important;padding:14px!important}
    .ow-planner-panel summary{align-items:flex-start;flex-direction:column;padding:16px}
    .ow-planner-manual-panel .ow-planner-manual{grid-template-columns:1fr;padding:14px}
    .ow-planner-map,.ow-map-placeholder{min-height:340px}
    .ow-planner-metrics{grid-template-columns:1fr 1fr}
    .ow-route-preview-item{grid-template-columns:30px minmax(0,1fr);}
    .ow-route-preview-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
}

.ow-danger-small{padding:8px 12px;border-radius:12px;font-size:13px;line-height:1;white-space:nowrap;}

/* v2.1.13 - szybka zmiana statusów */
.ow-quick-status{
  min-width:150px;
  height:38px;
  border-radius:999px;
  border:1px solid var(--ow-border);
  background:#fff;
  color:var(--ow-navy);
  font-weight:900;
  font-size:13px;
  padding:0 34px 0 12px;
  cursor:pointer;
}
.ow-quick-status:focus{outline:2px solid rgba(37,99,235,.18);border-color:var(--ow-blue)}
.ow-status-quick-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid var(--ow-border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--ow-shadow-soft);
}
.ow-status-quick-actions span{
  color:var(--ow-slate);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ow-small-button{padding:9px 12px;border-radius:12px;font-size:13px;line-height:1;white-space:nowrap;}
@media (max-width:760px){.ow-quick-status{width:100%;min-width:0}.ow-status-quick-actions{display:grid;grid-template-columns:1fr}.ow-status-quick-actions span{grid-column:1}}
