/* PLEVIX Business v67 – opravy auditu: jedna VIXI, bezpečné modaly, texty a mobil */
:root{--px-v67-safe:clamp(8px,2vw,18px);--px-v67-vixi-layer:2147482200}
html,body{max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%;height:auto}

/* Jedna VIXI na stránku. V nástrojoch patrí do horného panelu. */
.px-v66-floating-vixi,.px-v66-toolbar-vixi{display:none!important}
.px-v67-toolbar-vixi{position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;left:auto!important;top:auto!important;z-index:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:auto!important;min-width:42px!important;height:42px!important;max-width:190px!important;margin:0!important;padding:5px 10px!important;border:1px solid rgba(99,102,241,.28)!important;border-radius:12px!important;background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;color:#fff!important;box-shadow:0 8px 22px rgba(79,70,229,.22)!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;white-space:nowrap!important}
.px-v67-toolbar-vixi :is(.vixi-launch-avatar,.px-vixi-launch i){width:30px!important;height:30px!important;min-width:30px!important;border-radius:9px!important;font-size:13px!important}
.px-v67-toolbar-vixi :is(.vixi-launch-copy,.px-vixi-launch span){display:flex!important;min-width:0!important;flex-direction:column!important;text-align:left!important}
.px-v67-toolbar-vixi :is(.vixi-launch-copy b,.px-vixi-launch b){font-size:10px!important;line-height:1.15!important}
.px-v67-toolbar-vixi :is(.vixi-launch-copy small,.px-vixi-launch small){font-size:10px!important;line-height:1.2!important;color:#e9e7ff!important}
.px-v67-toolbar-vixi:hover{transform:translateY(-1px)!important}
.vixi-launch.px-v67-home-vixi{z-index:var(--px-v67-vixi-layer)!important;right:max(14px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important}
body #vixiLaunch.px-v67-home-vixi{display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
body:has(#appPage:not(.hidden)) #vixiLaunch.px-v67-toolbar-vixi,body:has(#appShell:not(.hidden)) #vixiLaunch.px-v67-toolbar-vixi{display:inline-flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.vixi-panel,.px-vixi-panel{z-index:calc(var(--px-v67-vixi-layer) - 1)!important}
.grecaptcha-badge{bottom:84px!important;z-index:2147481000!important}

/* Dlhé názvy, nadpisy formulárov a legendy nesmú pretekať ani sa orezať. */
.px-stat,.account-grid,.account-meta>div,.profile-summary,.profile-card,.card,.field,.px-field{min-width:0}
.px-stat :is(b,small),.account-grid :is(b,small),.account-meta :is(b,small),[data-user-name],[data-company],[data-plan]{max-width:100%;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.card>.field:first-child,.settings-card>.field:first-child,.panel>.field:first-child{padding-top:3px}
.card .field>label,.settings-card .field>label,.panel .field>label,.px-field>label,fieldset>legend{position:static!important;inset:auto!important;display:block!important;max-width:100%!important;min-height:1.35em!important;margin:0 0 6px!important;padding:0 2px!important;overflow:visible!important;clip:auto!important;white-space:normal!important;text-overflow:clip!important;line-height:1.35!important;overflow-wrap:anywhere!important;transform:none!important}
fieldset{min-width:0;overflow:visible}

/* Všetky dialógy musia zostať v dostupnej ploche obrazovky. */
dialog.modal,dialog.dialog,dialog.account-dialog,dialog.document-dialog,dialog.cv-account-dialog,dialog.scanner-modal{max-width:calc(100vw - 2*var(--px-v67-safe))!important;max-height:calc(100dvh - 2*var(--px-v67-safe))!important;margin:auto!important;overscroll-behavior:contain}
dialog[open]:is(.modal,.dialog,.account-dialog,.document-dialog,.cv-account-dialog,.scanner-modal){display:flex!important;flex-direction:column!important;overflow:hidden!important}
dialog:is(.modal,.dialog,.account-dialog,.document-dialog,.cv-account-dialog,.scanner-modal)>form{display:flex!important;min-height:0!important;max-height:inherit!important;flex:1 1 auto!important;flex-direction:column!important;overflow:hidden!important}
:is(.dialog-body,.modal-body,.document-editor,.cv-account-content,.account-dialog-content,.account-content,.scanner-body){min-height:0!important;max-height:calc(100dvh - 150px)!important;overflow:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch}
:is(.dialog-head,.modal-head,.cv-account-head){flex:0 0 auto!important;position:sticky;top:0;z-index:3}
:is(.dialog-actions,.dialog-foot,.modal-actions){flex:0 0 auto!important;position:sticky;bottom:0;z-index:3;flex-wrap:wrap!important}
.modalback{padding:var(--px-v67-safe)!important;overflow:auto!important;overscroll-behavior:contain!important}
.modalback>:is(.onboarding,.panel,.modal-card){width:min(100%,760px)!important;max-width:calc(100vw - 2*var(--px-v67-safe))!important;max-height:calc(100dvh - 2*var(--px-v67-safe))!important;margin:auto!important;overflow:auto!important;overscroll-behavior:contain!important}
.vixi-panel,.px-vixi-panel{max-width:calc(100vw - 2*var(--px-v67-safe))!important;max-height:calc(100dvh - 86px)!important;overflow:hidden!important}
.vixi-messages,.px-vixi-messages{min-height:0!important;overflow:auto!important}

@media(max-width:700px){
  .top-actions,.topactions,.app-header-actions,.header-actions,.toolbar-actions,.suite-user-actions,.user-area{min-width:0;flex-wrap:wrap!important;gap:6px!important}
  .px-v67-toolbar-vixi{width:42px!important;min-width:42px!important;padding:5px!important}
  .px-v67-toolbar-vixi :is(.vixi-launch-copy,.px-vixi-launch span){display:none!important}
  .vixi-launch.px-v67-home-vixi{width:52px!important;height:52px!important;right:max(10px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important;padding:4px!important}
  .grecaptcha-badge{bottom:72px!important;transform:scale(.84);transform-origin:right bottom}
  dialog.modal,dialog.dialog,dialog.account-dialog,dialog.document-dialog,dialog.cv-account-dialog,dialog.scanner-modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:16px!important}
  :is(.dialog-body,.modal-body,.document-editor,.cv-account-content,.account-dialog-content,.account-content,.scanner-body){max-height:calc(100dvh - 126px)!important;padding:12px!important}
  :is(.dialog-actions,.dialog-foot,.modal-actions){display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:10px 12px!important}
  :is(.dialog-actions,.dialog-foot,.modal-actions)>*{width:100%!important;max-width:100%!important}
  .document-editor{display:block!important}.document-preview{max-height:30dvh!important;overflow:auto!important;margin-bottom:10px}
  .vixi-panel,.px-vixi-panel{left:8px!important;right:8px!important;bottom:66px!important;width:auto!important;height:min(620px,calc(100dvh - 76px))!important;max-height:calc(100dvh - 76px)!important;border-radius:17px!important}
}
@media(max-width:390px){
  .modalback{padding:6px!important}
  dialog.modal,dialog.dialog,dialog.account-dialog,dialog.document-dialog,dialog.cv-account-dialog,dialog.scanner-modal{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important}
}
