:root{
  --dori-pink:#e62a68;
  --dori-pink-dark:#c81d57;
  --dori-black:#050505;
  --dori-text:#161616;
  --dori-soft:#fff5f8;
  --dori-soft-2:#ffedf3;
  --dori-border:#f4cad8;
  --dori-muted:#6f6670;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',sans-serif;
  background:
    radial-gradient(circle at top right, rgba(230,42,104,.10), transparent 24%),
    radial-gradient(circle at top left, rgba(5,5,5,.035), transparent 18%),
    linear-gradient(180deg,#fff 0%,#fff8fb 44%,#f8fafc 100%)!important;
  color:var(--dori-text)!important;
}
::selection{background:rgba(230,42,104,.18);color:#050505}
a{transition:color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease}
.no-underline{text-decoration:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.dori-brand{display:inline-flex;align-items:center;line-height:0;position:relative}
.dori-brand-image{display:block;width:96px;max-width:100%;height:auto;filter:drop-shadow(0 6px 16px rgba(0,0,0,.045))}
.dori-brand--sm .dori-brand-image{width:78px}
.dori-brand--lg .dori-brand-image{width:128px}
.dori-brand--login .dori-brand-image{width:152px;margin-inline:auto}
.dori-brand--pdf .dori-brand-image{width:108px;filter:none}

.dori-card{
  background:rgba(255,255,255,.92);
  border:1px solid #f1d6e0;
  border-radius:1rem;
  box-shadow:0 18px 45px -30px rgba(230,42,104,.38);
}
.dori-gradient{background:linear-gradient(135deg,#050505 0%,#341222 46%,#e62a68 100%)!important}
.dori-hero{
  background:
    linear-gradient(135deg,rgba(5,5,5,.96),rgba(78,22,45,.93)),
    radial-gradient(circle at 80% 10%,rgba(230,42,104,.38),transparent 42%);
  color:#fff;
  border-radius:1.25rem;
  overflow:hidden;
  box-shadow:0 24px 60px -36px rgba(0,0,0,.45);
}
.dori-muted{color:var(--dori-muted)}
.dori-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  background:var(--dori-pink);color:#fff;font-weight:700;border-radius:.74rem;padding:.46rem .78rem;font-size:.92rem;
  box-shadow:0 14px 24px -18px rgba(230,42,104,.95)
}
.dori-btn:hover{background:var(--dori-pink-dark);transform:translateY(-1px)}
.dori-btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  border:1px solid #efc2d4;color:#161616;background:#fff;border-radius:.74rem;padding:.44rem .78rem;font-weight:700;font-size:.92rem
}
.dori-btn-secondary:hover{background:var(--dori-soft);border-color:#eaaac2}
.dori-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.22rem .55rem;font-size:.72rem;font-weight:700;background:#fff1f6;color:var(--dori-pink);border:1px solid #f2bfd3}
.dori-table tbody tr:hover td{background:#fff6fa!important}
.metric-value{font-size:2rem;line-height:1;font-weight:900;color:#050505}
.metric-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#81717a;font-weight:800}
.calendar-day{min-height:104px}
.calendar-badge{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:.45rem;padding:.22rem .38rem;font-size:.7rem;margin-top:.25rem;background:#fff1f6;color:#a9134b;border:1px solid #f4c0d4}
.priority-high{background:#fee2e2;color:#b91c1c}.priority-mid{background:#fff7ed;color:#c2410c}.priority-low{background:#ecfdf5;color:#047857}

/* Tailwind color overrides used napříč aplikací */
.bg-indigo-600,.bg-indigo-700{background-color:var(--dori-pink)!important}
.hover\:bg-indigo-700:hover{background-color:var(--dori-pink-dark)!important}
.text-indigo-600,.text-indigo-700{color:var(--dori-pink)!important}
.hover\:text-indigo-600:hover,.hover\:text-indigo-800:hover{color:var(--dori-pink-dark)!important}
.bg-indigo-50{background-color:var(--dori-soft)!important}
.border-indigo-300{border-color:#f4aac5!important}
.ring-indigo-200{--tw-ring-color:#f3bad0!important}
.focus\:ring-indigo-500:focus,.focus\:ring-indigo-400:focus{--tw-ring-color:var(--dori-pink)!important}
.accent-indigo-600{accent-color:var(--dori-pink)!important}
.shadow-indigo-200{--tw-shadow-color:#f5bfd3!important}
.border-pink-100{border-color:#f7dbe5!important}
.text-pink-100{color:#ffd6e5!important}
.text-pink-200{color:#ffc0d8!important}
.text-pink-600,.hover\:text-pink-600:hover{color:var(--dori-pink)!important}
.bg-pink-600{background-color:var(--dori-pink)!important}
.hover\:bg-pink-50:hover{background-color:var(--dori-soft)!important}

/* Jemné sjednocení panelů */
.bg-white.rounded-xl.border.border-slate-200,
.bg-white.rounded-2xl.border.border-slate-200,
.bg-white.rounded-xl.border.b,
.bg-white.rounded-xl.border,
.bg-white.rounded-2xl.border,
.bg-white.border.border-slate-200.rounded-2xl,
.bg-white.border.border-slate-200.rounded-xl{box-shadow:0 18px 45px -30px rgba(230,42,104,.36)}

.dori-admin-intro{display:flex;flex-direction:column;gap:.45rem}
.dori-kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:900;color:var(--dori-pink)}
.dori-form-card{background:rgba(255,255,255,.94);border:1px solid #f1d6e0;border-radius:1rem;box-shadow:0 18px 45px -30px rgba(230,42,104,.36)}
.dori-avatar{width:2.4rem;height:2.4rem;border-radius:999px;background:#fff1f6;display:flex;align-items:center;justify-content:center;color:var(--dori-pink);font-weight:800;border:1px solid #f5bfd2}
.dori-footer{color:#a18b95;font-size:.75rem;text-align:center;padding:1.5rem 1rem}


/* Jednotná aplikační hlavička */
.dori-app-header{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid #f7dbe5;box-shadow:0 12px 32px -28px rgba(0,0,0,.28);position:sticky;top:0;z-index:10}
.dori-app-topbar{background:linear-gradient(135deg,#050505 0%,#341222 46%,#e62a68 100%);color:#fff;font-size:.68rem}
.dori-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.dori-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.42rem .76rem;border:1px solid #efc2d4;border-radius:.74rem;background:rgba(255,255,255,.92);color:#161616;font-size:.92rem;font-weight:700;line-height:1.1;box-shadow:0 10px 24px -22px rgba(230,42,104,.35);text-decoration:none}
.dori-nav-link:hover{background:var(--dori-soft);border-color:#eaaac2;transform:translateY(-1px)}
.dori-nav-link.is-active{background:linear-gradient(135deg,#e62a68 0%,#cf235c 100%);color:#fff;border-color:#e62a68;box-shadow:0 16px 24px -18px rgba(230,42,104,.55)}
.dori-header-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.44rem .82rem;border-radius:.78rem}
.dori-page-kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:900;color:var(--dori-pink)}
@media (max-width:640px){.dori-brand-image{width:82px}.dori-brand--login .dori-brand-image{width:132px}.dori-app-header .max-w-7xl{padding-left:.85rem;padding-right:.85rem}.dori-nav-link{font-size:.88rem;padding:.4rem .68rem;min-height:36px}}

.dori-app-topbar .max-w-7xl{min-height:28px}
.dori-app-header .max-w-7xl{transition:padding .16s ease}
.dori-btn,.dori-btn-secondary{min-height:38px}


/* V14.1 Design System */
.btn-primary{background:#2563eb;color:#fff;padding:.65rem 1rem;border-radius:.75rem;font-weight:600;display:inline-block}
.btn-secondary{background:#f3f4f6;color:#111827;padding:.65rem 1rem;border-radius:.75rem;font-weight:600;display:inline-block}
.btn-danger{background:#dc2626;color:#fff;padding:.65rem 1rem;border-radius:.75rem;font-weight:600;display:inline-block}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.table-ui{width:100%;border-collapse:collapse}
.table-ui th,.table-ui td{padding:.75rem;border-bottom:1px solid #e5e7eb}
.form-input,.form-select,.form-textarea{width:100%;padding:.7rem;border:1px solid #d1d5db;border-radius:.75rem}
.badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600}

/* V15 UX Refactor */
.dori-role-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.28rem .65rem;font-size:.75rem;font-weight:800;background:#f8fafc;color:#475569;border:1px solid #e2e8f0}
.dori-role-badge.is-admin{background:#fff1f6;color:var(--dori-pink);border-color:#f2bfd3}
.scroll-mt-36{scroll-margin-top:9rem}
.dori-card input,.dori-card select,.dori-card textarea,.dori-form-card input,.dori-form-card select,.dori-form-card textarea{outline:none}
.dori-card input:focus,.dori-card select:focus,.dori-card textarea:focus,.dori-form-card input:focus,.dori-form-card select:focus,.dori-form-card textarea:focus{border-color:#eaaac2;box-shadow:0 0 0 3px rgba(230,42,104,.10)}

/* V15.1 Profil UI */
.dori-profile-hero{position:relative;overflow:hidden}
.dori-profile-hero::after{content:"";position:absolute;inset:auto -10% -45% auto;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle, rgba(230,42,104,.14) 0%, rgba(230,42,104,0) 68%);pointer-events:none}
.dori-profile-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr);gap:1.5rem;align-items:start}
.dori-profile-summary{display:flex;align-items:center;gap:1rem;min-width:0}
.dori-profile-avatar{width:4.5rem;height:4.5rem;border-radius:1.25rem;background:linear-gradient(135deg,#fff1f6 0%,#ffdbe8 100%);display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:900;color:var(--dori-pink);border:1px solid #f2bfd3;box-shadow:0 16px 28px -22px rgba(230,42,104,.55);flex:0 0 auto}
.dori-profile-meta{display:grid;gap:.8rem}
.dori-stat-card{background:rgba(255,255,255,.9);border:1px solid #f2d9e3;border-radius:1rem;padding:.95rem 1rem;display:flex;flex-direction:column;gap:.15rem;box-shadow:0 16px 36px -30px rgba(230,42,104,.32)}
.dori-stat-card strong{font-size:1rem;color:#111827;word-break:break-word}
.dori-stat-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8d7180;font-weight:800}
.dori-input{width:100%;padding:.9rem 1rem;border-radius:.9rem;border:1px solid #ead0da;background:#fff;color:#111827;box-shadow:0 10px 24px -22px rgba(0,0,0,.18);transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease}
.dori-input:focus{border-color:#eaaac2;box-shadow:0 0 0 4px rgba(230,42,104,.10), 0 14px 28px -22px rgba(230,42,104,.28)}
.dori-alert{border-radius:1rem;padding:1rem 1.1rem;font-weight:600;border:1px solid transparent;box-shadow:0 14px 34px -28px rgba(0,0,0,.18)}
.dori-alert-success{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.dori-alert-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.dori-info-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid #f4e0e7}
.dori-info-row:first-of-type{padding-top:0}
.dori-info-row:last-of-type{padding-bottom:0;border-bottom:none}
.dori-info-row span{color:#6b7280}
.dori-tip-box{border:1px solid #f2d1dc;background:linear-gradient(180deg,#fff8fb 0%,#fff 100%);border-radius:1rem;padding:1rem 1.05rem;color:#5f4f58}
@media (max-width:1024px){.dori-profile-hero-grid{grid-template-columns:1fr}.dori-profile-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media (max-width:640px){.dori-profile-summary{align-items:flex-start}.dori-profile-avatar{width:4rem;height:4rem;font-size:1.55rem}.dori-info-row{flex-direction:column;align-items:flex-start}.dori-stat-card{padding:.85rem .9rem}}


/* V15.2 Global UI Tune */
.dori-topbar-link{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.32rem .55rem;color:#ffd6e5;text-decoration:none;font-weight:700;white-space:nowrap}
.dori-topbar-link:hover,.dori-topbar-link.is-active{background:rgba(255,255,255,.14);color:#fff}
.dori-search-form{display:inline-flex;align-items:center;margin-right:.65rem;min-width:220px;max-width:280px;flex:1 1 240px}
.dori-search-input{width:100%;height:38px;border-radius:.85rem;border:1px solid #ead0da;background:rgba(255,255,255,.96);padding:.5rem .85rem;color:#111827;box-shadow:0 12px 26px -24px rgba(0,0,0,.24);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.dori-search-input:focus{border-color:#eaaac2;box-shadow:0 0 0 4px rgba(230,42,104,.09),0 14px 28px -24px rgba(230,42,104,.4)}
.form-input,.form-select,.form-textarea{width:100%;padding:.78rem .9rem;border:1px solid #ead0da;border-radius:.9rem;background:#fff;color:#111827;box-shadow:0 10px 24px -23px rgba(0,0,0,.2);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#eaaac2;box-shadow:0 0 0 4px rgba(230,42,104,.10),0 14px 28px -24px rgba(230,42,104,.35)}
.form-textarea{min-height:120px;resize:vertical}
.dori-table thead th{background:#fff8fb;color:#8b7280;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;border-bottom:1px solid #f4d6e1}
.dori-table tbody td{border-bottom:1px solid #f8e8ee;vertical-align:middle}
.dori-table tbody tr:last-child td{border-bottom:0}
.dori-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;min-height:180px;color:#7a6b72;background:linear-gradient(180deg,#fff8fb 0%,#fff 100%);border:1px dashed #efc2d4;border-radius:1rem}
.dori-empty-icon{font-size:2.2rem;line-height:1}
.dori-page-title{font-size:clamp(1.75rem,2.5vw,2.35rem);font-weight:900;letter-spacing:-.035em;color:#0f172a}
.dori-actions-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}
.dori-btn.text-xs,.dori-btn-secondary.text-xs{min-height:32px;padding:.36rem .58rem;border-radius:.62rem}
.dori-card,.dori-form-card{transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}
.dori-card:hover,.dori-form-card:hover{border-color:#efc2d4}
@media (max-width:900px){.dori-search-form{order:3;max-width:none;flex-basis:100%;margin-right:0}.dori-app-header .max-w-7xl.py-2{padding-top:.75rem;padding-bottom:.75rem}.dori-app-topbar .max-w-7xl{align-items:flex-start}.dori-app-topbar .flex.items-center.gap-4{gap:.4rem;flex-wrap:wrap;justify-content:flex-end}}
@media (max-width:640px){.dori-app-topbar{font-size:.62rem}.dori-app-topbar .px-3{padding-left:.55rem!important;padding-right:.55rem!important}.dori-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem}.dori-nav-link{white-space:nowrap}.dori-card,.dori-form-card{border-radius:.9rem}.metric-value{font-size:1.65rem}}


/* V16.3 UI sjednocení napříč moduly */
.dori-app-header .max-w-7xl{max-width:1280px}
.dori-app-header > .max-w-7xl{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.dori-search-form{order:2;flex:0 1 300px;margin-left:auto}
.dori-search-input{width:100%;min-height:38px;padding:.55rem .9rem;border-radius:.9rem;border:1px solid #efc2d4;background:#fff;color:#111827;font-weight:600;box-shadow:0 12px 28px -26px rgba(230,42,104,.5)}
.dori-search-input::placeholder{color:#9ca3af;font-weight:600}
.dori-search-input:focus{outline:none;border-color:#e62a68;box-shadow:0 0 0 4px rgba(230,42,104,.10)}
.dori-nav{order:3}
.dori-header-action{white-space:nowrap}
main.max-w-7xl, main.max-w-5xl, main.max-w-3xl, main.max-w-2xl{width:100%}
.dori-page-head{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem}
.dori-page-head h1{font-size:1.875rem;line-height:2.25rem;font-weight:900;letter-spacing:-.02em;margin-top:.15rem}
.dori-page-head p{color:#64748b;max-width:48rem}
.dori-card, .dori-form-card{overflow-wrap:anywhere}
.dori-table th{background:#fff8fb;color:#8d7180;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.dori-table td{vertical-align:middle}
.dori-empty-state{padding:2.5rem 1rem;text-align:center;color:#94a3b8;font-weight:600}
@media (max-width:1180px){
  .dori-app-header > .max-w-7xl{align-items:flex-start}
  .dori-search-form{order:3;flex:1 1 100%;max-width:420px;margin-left:0}
  .dori-nav{order:2}
}
@media (max-width:768px){
  .dori-app-topbar .max-w-7xl{align-items:flex-start;flex-direction:column}
  .dori-app-header > .max-w-7xl{flex-direction:column;align-items:stretch}
  .dori-nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .dori-nav-link,.dori-header-action{width:100%}
  .dori-search-form{max-width:none;width:100%}
  main.max-w-7xl, main.max-w-5xl, main.max-w-3xl, main.max-w-2xl{padding-left:1rem!important;padding-right:1rem!important}
}

/* =========================================================
   MOBILE HOTFIX V16.4 – kompaktní menu + klienti jako karty
   ========================================================= */
@media (max-width: 768px){
  body{overflow-x:hidden;}

  /* Horní lišta – místo lámání přes půl obrazovky horizontální posun */
  .dori-app-topbar .max-w-7xl{
    display:block!important;
    padding-left:.75rem!important;
    padding-right:.75rem!important;
  }
  .dori-app-topbar .flex.items-center.gap-2.flex-wrap{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    gap:.45rem!important;
    padding:.25rem 0 .35rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .dori-app-topbar .flex.items-center.gap-2.flex-wrap::-webkit-scrollbar{display:none;}
  .dori-app-topbar .flex.items-center.gap-2.flex-wrap > *{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .dori-app-topbar .flex.items-center.gap-4{
    margin-top:.25rem;
    gap:.45rem!important;
    flex-wrap:nowrap!important;
    overflow-x:auto;
    justify-content:flex-start!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .dori-app-topbar .flex.items-center.gap-4::-webkit-scrollbar{display:none;}
  .dori-app-topbar .flex.items-center.gap-4 > *{flex:0 0 auto;white-space:nowrap;}

  /* Hlavní navigace – nepoužívat 2sloupcovou mřížku, ta je na mobilu moc vysoká */
  .dori-app-header > .max-w-7xl{
    gap:.65rem!important;
  }
  .dori-nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    gap:.45rem!important;
    width:100%!important;
    padding-bottom:.25rem;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .dori-nav::-webkit-scrollbar{display:none;}
  .dori-nav-link,
  .dori-header-action{
    width:auto!important;
    flex:0 0 auto;
    min-height:34px!important;
    padding:.38rem .62rem!important;
    font-size:.82rem!important;
    border-radius:.66rem!important;
    white-space:nowrap;
  }
  .dori-search-input{min-height:36px;font-size:.9rem;}

  /* Menší mezery v hlavním obsahu */
  main.max-w-7xl,
  main.max-w-5xl,
  main.max-w-3xl,
  main.max-w-2xl{
    padding-left:.85rem!important;
    padding-right:.85rem!important;
    padding-top:1rem!important;
  }
  .dori-hero{padding:1.25rem!important;border-radius:1rem;}
  .dori-hero h1{font-size:1.8rem!important;line-height:1.12!important;}
}

@media (max-width: 640px){
  /* Sekce Klienti – tabulka se na mobilu změní na čitelné karty */
  #sekce-klienti{overflow:visible!important;}
  #sekce-klienti > .px-6{
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
  #sekce-klienti .overflow-x-auto{
    overflow:visible!important;
  }
  #sekce-klienti table,
  #sekce-klienti thead,
  #sekce-klienti tbody,
  #sekce-klienti tr,
  #sekce-klienti th,
  #sekce-klienti td{
    display:block!important;
    width:100%!important;
  }
  #sekce-klienti thead{display:none!important;}
  #sekce-klienti tbody{
    padding:.75rem;
    background:#fff8fb;
  }
  #sekce-klienti tbody tr{
    background:#fff;
    border:1px solid #f1d6e0;
    border-radius:1rem;
    margin-bottom:.85rem;
    box-shadow:0 14px 34px -28px rgba(230,42,104,.48);
    overflow:hidden;
  }
  #sekce-klienti tbody tr:last-child{margin-bottom:0;}
  #sekce-klienti tbody td{
    padding:.68rem .9rem!important;
    border-bottom:1px solid #f8dfe8!important;
    text-align:left!important;
  }
  #sekce-klienti tbody td:last-child{border-bottom:0!important;}
  #sekce-klienti tbody td::before{
    display:block;
    margin-bottom:.22rem;
    font-size:.68rem;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#9b7b88;
    font-weight:900;
  }
  #sekce-klienti tbody td:nth-child(1)::before{content:"Firma";}
  #sekce-klienti tbody td:nth-child(2)::before{content:"Kontakt";}
  #sekce-klienti tbody td:nth-child(3)::before{content:"Status";}
  #sekce-klienti tbody td:nth-child(4)::before{content:"Tagy";}
  #sekce-klienti tbody td:nth-child(5)::before{content:"Přidáno";}
  #sekce-klienti tbody td:nth-child(6)::before{content:"Akce";}
  #sekce-klienti tbody td .flex.justify-end{
    justify-content:flex-start!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem!important;
    width:100%;
  }
  #sekce-klienti tbody td .dori-btn-secondary{
    display:inline-flex!important;
    width:100%!important;
    min-height:38px;
    min-width:0;
    padding:.52rem .72rem!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
}

@media (max-width: 380px){
  #sekce-klienti tbody td .flex.justify-end{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   RESPONSIVE HOTFIX V16.4.2 – tlačítka bez lámání + mobilní karty
   ========================================================= */

/* Desktop/notebook: akční tlačítka se nesmí lámat na 2 řádky */
.dori-btn,
.dori-btn-secondary,
.dori-header-action,
.dori-nav-link,
.btn-primary,
.btn-secondary,
.btn-danger{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.15;
}

/* Akční sloupce v tabulkách – držet tlačítka pohromadě */
.dori-table td:last-child,
.dori-table th:last-child{
  width:1%;
  white-space:nowrap;
}
.dori-table td:last-child .flex,
.dori-table td:last-child .dori-actions-row{
  flex-wrap:nowrap!important;
  white-space:nowrap;
}
.dori-table td:last-child .dori-btn,
.dori-table td:last-child .dori-btn-secondary{
  flex:0 0 auto;
}

/* Dlouhé názvy/e-maily/částky nesmí rozbít layout */
.dori-table td,
.dori-card,
.dori-form-card{
  min-width:0;
}
.dori-table .font-mono,
.dori-info-row strong,
.dori-stat-card strong{
  overflow-wrap:anywhere;
}

/* Obecné zjemnění malých displejů napříč sekcemi */
@media (max-width: 640px){
  .dori-card.p-6{padding:1rem!important;}
  .dori-card.p-5{padding:.95rem!important;}
  .dori-page-head h1{font-size:1.55rem!important;line-height:1.15!important;}
  .dori-actions-row{display:grid!important;grid-template-columns:1fr;align-items:stretch;width:100%;}
  .dori-actions-row .dori-btn,
  .dori-actions-row .dori-btn-secondary{width:100%;}
  .metric-label{font-size:.66rem;letter-spacing:.08em;}
  .dori-pill{max-width:100%;}
}

/* Klient detail – nabídky klienta na mobilu jako karty */
@media (max-width: 640px){
  #tab-nabidky{overflow:visible!important;}
  #tab-nabidky > .px-6{
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
  #tab-nabidky .overflow-x-auto{overflow:visible!important;}
  #tab-nabidky table,
  #tab-nabidky thead,
  #tab-nabidky tbody,
  #tab-nabidky tr,
  #tab-nabidky th,
  #tab-nabidky td{
    display:block!important;
    width:100%!important;
  }
  #tab-nabidky thead{display:none!important;}
  #tab-nabidky tbody{
    padding:.75rem;
    background:#fff8fb;
  }
  #tab-nabidky tbody tr{
    background:#fff;
    border:1px solid #f1d6e0;
    border-radius:1rem;
    margin-bottom:.85rem;
    box-shadow:0 14px 34px -28px rgba(230,42,104,.48);
    overflow:hidden;
  }
  #tab-nabidky tbody tr:last-child{margin-bottom:0;}
  #tab-nabidky tbody td{
    padding:.68rem .9rem!important;
    border-bottom:1px solid #f8dfe8!important;
    text-align:left!important;
  }
  #tab-nabidky tbody td:last-child{border-bottom:0!important;}
  #tab-nabidky tbody td::before{
    display:block;
    margin-bottom:.22rem;
    font-size:.68rem;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#9b7b88;
    font-weight:900;
  }
  #tab-nabidky tbody td:nth-child(1)::before{content:"Nabídka";}
  #tab-nabidky tbody td:nth-child(2)::before{content:"Status";}
  #tab-nabidky tbody td:nth-child(3)::before{content:"Cena";}
  #tab-nabidky tbody td:nth-child(4)::before{content:"Datum";}
  #tab-nabidky tbody td:nth-child(5)::before{content:"Akce";}
  #tab-nabidky tbody td .flex.justify-end{
    justify-content:flex-start!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem!important;
    width:100%;
  }
  #tab-nabidky tbody td .dori-btn-secondary{
    width:100%!important;
    min-height:38px;
    padding:.52rem .72rem!important;
    text-align:center!important;
  }
}

/* Přehled nabídek/faktur/reporty: na mobilu raději čistý horizontální posun než rozpad */
@media (max-width: 640px){
  .overflow-x-auto{
    -webkit-overflow-scrolling:touch;
  }
  .overflow-x-auto > .dori-table,
  .overflow-x-auto > table.dori-table{
    min-width:720px;
  }
  #sekce-klienti .overflow-x-auto > .dori-table,
  #sekce-klienti .overflow-x-auto > table.dori-table,
  #tab-nabidky .overflow-x-auto > .dori-table,
  #tab-nabidky .overflow-x-auto > table.dori-table{
    min-width:0!important;
  }
}

@media (max-width: 380px){
  #tab-nabidky tbody td .flex.justify-end{
    grid-template-columns:1fr;
  }
  .dori-btn,
  .dori-btn-secondary{
    font-size:.82rem!important;
    padding-left:.6rem!important;
    padding-right:.6rem!important;
  }
}

/* =========================================================
   RESPONSIVE HOTFIX V16.4.3 – tagy/status štítky bez lámání
   ========================================================= */

/* Štítky typu Aktivní / Ukončeno / Koncept / Odesláno se nesmí lámat po písmenech. */
.dori-pill,
.badge,
.dori-role-badge,
.calendar-badge,
.dori-card span.inline-flex.rounded-full,
.dori-table span.inline-flex.rounded-full,
span.inline-flex.items-center.rounded-full,
span.inline-flex[class*="rounded-full"],
span[class*="rounded-full"][class*="ring-1"]{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  line-height:1.15!important;
  flex:0 0 auto;
  width:max-content;
  max-width:100%;
}

/* V kontejnerech s více tagy mohou tagy přetékat do dalšího řádku, ale samotný text tagu zůstane v jednom kuse. */
.dori-table .flex.flex-wrap.gap-1,
.dori-table .flex.flex-wrap.gap-2,
.dori-card .flex.flex-wrap.gap-1,
.dori-card .flex.flex-wrap.gap-2{
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Mobil: buňky karet mohou lámat běžný text, ale ne samotné štítky. */
@media (max-width:640px){
  #sekce-klienti tbody td span.inline-flex.rounded-full,
  #sekce-klienti tbody td .dori-pill,
  #tab-nabidky tbody td span.inline-flex.rounded-full,
  #tab-nabidky tbody td .dori-pill{
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    width:max-content!important;
    max-width:100%;
  }
}


/* =========================================================
   RESPONSIVE HOTFIX V16.4.4 – přehlednější kalendář aktivit + datum bez lámání
   ========================================================= */
.dori-nowrap,
.dori-date,
.dori-login-identity strong,
.dori-email,
.dori-table td.font-mono,
.dori-table .font-mono.dori-date{
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.dori-login-identity{
  min-width:0;
  overflow-wrap:normal!important;
}
.dori-email{
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:bottom;
}
.dori-login-identity strong{
  display:inline-block;
  max-width:min(42vw, 320px);
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:bottom;
}
.activity-calendar-card{
  overflow-wrap:normal!important;
}
.activity-calendar-head .flex{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.activity-calendar-card .calendar-day{
  min-width:0;
}
.activity-calendar-card .calendar-badge{
  display:flex!important;
  align-items:center;
  gap:.35rem;
  width:auto!important;
  min-width:0;
  max-width:100%;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.activity-calendar-card .calendar-badge-time{
  flex:0 0 auto;
  font-family:'DM Mono',monospace;
  font-size:.66rem;
  color:#c81d57;
  font-weight:800;
}
.activity-calendar-card .calendar-badge-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.activity-calendar-card .calendar-empty-note{
  display:block;
  margin-top:.25rem;
  font-size:.72rem;
  color:#94a3b8;
  font-weight:700;
}

@media (max-width:640px){
  .dori-login-identity strong{max-width:72vw;}
  .activity-calendar-head{
    align-items:flex-start!important;
    flex-direction:column;
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
  .activity-calendar-head .flex{
    width:100%;
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr;
    gap:.45rem!important;
  }
  .activity-calendar-head .dori-btn-secondary{
    width:100%;
    min-width:0;
    padding-left:.45rem!important;
    padding-right:.45rem!important;
    font-size:.76rem!important;
  }
  .activity-calendar-weekdays{display:none!important;}
  .activity-calendar-grid{
    display:block!important;
    padding:.65rem 0;
    background:#fff8fb;
  }
  .activity-calendar-grid .calendar-day-empty,
  .activity-calendar-grid .calendar-day--empty-events:not(.calendar-day--today){
    display:none!important;
  }
  .activity-calendar-grid .calendar-day{
    min-height:0!important;
    margin:.55rem .75rem;
    padding:.72rem .8rem!important;
    border:1px solid #f1d6e0!important;
    border-radius:.9rem;
    background:#fff!important;
    box-shadow:0 12px 28px -24px rgba(230,42,104,.5);
  }
  .activity-calendar-grid .calendar-day--today{
    background:#fff1f6!important;
    border-color:#efb9cc!important;
  }
  .activity-calendar-grid .calendar-day::before{
    content:attr(data-date-label);
    display:block;
    margin-bottom:.35rem;
    font-size:.72rem;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#8d7180;
    font-weight:900;
  }
  .activity-calendar-grid .calendar-day-number{display:none!important;}
  .activity-calendar-card .calendar-badge{
    margin-top:.35rem;
    padding:.48rem .58rem;
    border-radius:.68rem;
    align-items:flex-start;
    background:#fff;
  }
  .activity-calendar-card .calendar-badge-time{
    font-size:.72rem;
    line-height:1.35;
  }
  .activity-calendar-card .calendar-badge-title{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.25;
    font-size:.82rem;
  }
}
