/*
 * ReplyOne by KITIMedia — Stage 8.5.6 multilingual and RTL stabilization layer
 * Scope: stylesheet loading cleanup, bounded layouts, overflow safety and RTL-safe technical values.
 * No PHP business logic, database schema, Stripe, Telegram or installer workflows are changed here.
 */

:root{
  --ro-css-cleanup-stage:"8.5.6";
  --ro-public-max:1180px;
  --ro-public-wide-max:1200px;
  --ro-public-readable-max:760px;
  --ro-public-auth-max:460px;
  --ro-dashboard-max:1440px;
  --ro-dashboard-readable-max:860px;
  --ro-form-max:720px;
  --ro-compact-form-max:520px;
  --ro-table-min:760px;
  --ro-page-gutter:clamp(14px,2vw,32px);
}

/* Shared overflow safety: prevent old full-width patches from creating horizontal scroll. */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

body.ro-home-page,
body.replyone-admin-shell,
body.replyone-client-adminlike{
  width:100%;
  max-width:100%;
}

body.ro-home-page *,
body.replyone-admin-shell *,
body.replyone-client-adminlike *{
  min-width:0;
}

/* Public landing: final bounded container after legacy fluid/full-width layers. */
body.ro-home-page .ro-home-shell{
  width:min(calc(100% - 32px),var(--ro-public-max)) !important;
  max-width:var(--ro-public-max) !important;
  margin-inline:auto !important;
  padding-inline:0 !important;
}

body.ro-home-page .ro-home-header,
body.ro-home-page .ro-hero,
body.ro-home-page .ro-section,
body.ro-home-page .ro-home-footer{
  width:100% !important;
  max-width:100% !important;
  margin-inline:auto !important;
}

body.ro-home-page .ro-hero-copy,
body.ro-home-page .ro-section-head,
body.ro-home-page .ro-legal-content{
  max-width:var(--ro-public-readable-max);
}

body.ro-home-page .ro-auth-card{
  max-width:var(--ro-public-auth-max) !important;
}

body.ro-home-page .ro-plan-grid{
  max-width:940px !important;
  margin-inline:auto !important;
}

/* Admin/client: one bounded workspace; tables can scroll inside, not stretch the whole layout. */
body.replyone-admin-shell .ro-page,
body.replyone-admin-shell .topbar,
body.replyone-admin-shell .ro-topbar,
body.replyone-admin-shell .footer-note,
body.replyone-client-adminlike .rc-page,
body.replyone-client-adminlike .rc-topbar,
body.replyone-client-adminlike .footer-note{
  width:100% !important;
  max-width:var(--ro-dashboard-max) !important;
  margin-inline:auto !important;
}

body.replyone-admin-shell .main,
body.replyone-admin-shell .ro-main,
body.replyone-client-adminlike .rc-main{
  overflow-x:hidden !important;
}

/* Keep regular forms readable; do not let text inputs become ultra-wide on 2K/4K monitors. */
body.replyone-admin-shell .form-card,
body.replyone-admin-shell .settings-card,
body.replyone-admin-shell .ro-form-card,
body.replyone-client-adminlike .rc-form-card,
body.replyone-client-adminlike .settings-card,
body.replyone-client-adminlike .profile-card{
  max-width:var(--ro-form-max);
}

body.replyone-admin-shell .auth-card,
body.replyone-client-adminlike .auth-card,
body.ro-home-page .ro-auth-card{
  width:100%;
}

/* Tables and long grids: page stays bounded, table scrolls horizontally when needed. */
body.replyone-admin-shell .table-wrap,
body.replyone-admin-shell .table-responsive,
body.replyone-admin-shell .ro-table-wrap,
body.replyone-admin-shell .admin-table-wrap,
body.replyone-client-adminlike .table-wrap,
body.replyone-client-adminlike .table-responsive,
body.replyone-client-adminlike .rc-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
}

body.replyone-admin-shell table,
body.replyone-client-adminlike table{
  max-width:100%;
}

body.replyone-admin-shell .table-wrap table,
body.replyone-admin-shell .table-responsive table,
body.replyone-admin-shell .ro-table-wrap table,
body.replyone-admin-shell .admin-table-wrap table,
body.replyone-client-adminlike .table-wrap table,
body.replyone-client-adminlike .table-responsive table,
body.replyone-client-adminlike .rc-table-wrap table{
  min-width:min(100%,var(--ro-table-min));
}

/* Media and long technical strings should break inside cards instead of pushing the layout. */
body.ro-home-page img,
body.replyone-admin-shell img,
body.replyone-client-adminlike img,
body.ro-home-page video,
body.replyone-admin-shell video,
body.replyone-client-adminlike video{
  max-width:100%;
  height:auto;
}

body.replyone-admin-shell code,
body.replyone-admin-shell pre,
body.replyone-admin-shell .mono,
body.replyone-admin-shell .token,
body.replyone-admin-shell .url,
body.replyone-client-adminlike code,
body.replyone-client-adminlike pre,
body.replyone-client-adminlike .mono,
body.replyone-client-adminlike .token,
body.replyone-client-adminlike .url{
  overflow-wrap:anywhere;
}

/* RTL: keep human text RTL, but technical values predictable and readable. */
html[dir="rtl"] body.ro-home-page input[type="email"],
html[dir="rtl"] body.ro-home-page input[type="url"],
html[dir="rtl"] body.ro-home-page input[type="tel"],
html[dir="rtl"] body.ro-home-page code,
html[dir="rtl"] body.replyone-admin-shell input[type="email"],
html[dir="rtl"] body.replyone-admin-shell input[type="url"],
html[dir="rtl"] body.replyone-admin-shell input[type="tel"],
html[dir="rtl"] body.replyone-admin-shell code,
html[dir="rtl"] body.replyone-admin-shell .mono,
html[dir="rtl"] body.replyone-admin-shell .token,
html[dir="rtl"] body.replyone-admin-shell .url,
html[dir="rtl"] body.replyone-client-adminlike input[type="email"],
html[dir="rtl"] body.replyone-client-adminlike input[type="url"],
html[dir="rtl"] body.replyone-client-adminlike input[type="tel"],
html[dir="rtl"] body.replyone-client-adminlike code,
html[dir="rtl"] body.replyone-client-adminlike .mono,
html[dir="rtl"] body.replyone-client-adminlike .token,
html[dir="rtl"] body.replyone-client-adminlike .url{
  direction:ltr;
  text-align:left;
  unicode-bidi:isolate;
}

/* Mobile: allow page content to use the screen width, but keep consistent gutters. */
@media (min-width:1500px){
  body.ro-home-page .ro-home-shell{
    width:min(calc(100% - 48px),var(--ro-public-wide-max)) !important;
    max-width:var(--ro-public-wide-max) !important;
  }
}

@media (max-width:1180px){
  body.ro-home-page .ro-home-shell{
    width:min(calc(100% - 28px),var(--ro-public-max)) !important;
  }
}

@media (max-width:760px){
  body.ro-home-page .ro-home-shell{
    width:min(calc(100% - 24px),var(--ro-public-max)) !important;
  }

  body.replyone-admin-shell .ro-page,
  body.replyone-admin-shell .topbar,
  body.replyone-admin-shell .ro-topbar,
  body.replyone-client-adminlike .rc-page,
  body.replyone-client-adminlike .rc-topbar{
    max-width:none !important;
  }

  body.replyone-admin-shell .form-card,
  body.replyone-admin-shell .settings-card,
  body.replyone-admin-shell .ro-form-card,
  body.replyone-client-adminlike .rc-form-card,
  body.replyone-client-adminlike .settings-card,
  body.replyone-client-adminlike .profile-card{
    max-width:100%;
  }
}

@media (max-width:520px){
  body.ro-home-page .ro-home-shell{
    width:min(calc(100% - 18px),var(--ro-public-max)) !important;
  }
}


/* Stage 8.5.6 — multilingual and RTL stabilization.
   Keep language switchers visually stable and make technical LTR values readable inside Hebrew UI. */
body.ro-home-page .ro-language-switch,
body.replyone-admin-shell .lang-switch,
body.replyone-client-adminlike .rc-lang-switch{
  direction:ltr !important;
  unicode-bidi:isolate;
  flex-direction:row !important;
}

body.ro-home-page .ro-language-switch a,
body.replyone-admin-shell .lang-switch a,
body.replyone-client-adminlike .rc-lang-switch a{
  text-align:center;
}

body.ro-home-page .ro-ltr,
body.replyone-admin-shell .ro-ltr,
body.replyone-client-adminlike .ro-ltr,
html[dir="rtl"] body.ro-home-page .ro-ltr,
html[dir="rtl"] body.replyone-admin-shell .ro-ltr,
html[dir="rtl"] body.replyone-client-adminlike .ro-ltr{
  direction:ltr !important;
  unicode-bidi:isolate !important;
  text-align:left !important;
  display:inline-block;
  max-width:100%;
  overflow-wrap:anywhere;
}

html[dir="rtl"] body.ro-home-page input[type="number"],
html[dir="rtl"] body.ro-home-page .mono-value,
html[dir="rtl"] body.ro-home-page .ro-mono,
html[dir="rtl"] body.ro-home-page [data-ltr],
html[dir="rtl"] body.replyone-admin-shell input[type="number"],
html[dir="rtl"] body.replyone-admin-shell .mono-value,
html[dir="rtl"] body.replyone-admin-shell .ro-mono,
html[dir="rtl"] body.replyone-admin-shell [data-ltr],
html[dir="rtl"] body.replyone-client-adminlike input[type="number"],
html[dir="rtl"] body.replyone-client-adminlike .mono-value,
html[dir="rtl"] body.replyone-client-adminlike .ro-mono,
html[dir="rtl"] body.replyone-client-adminlike [data-ltr]{
  direction:ltr;
  unicode-bidi:isolate;
  text-align:left;
}

html[dir="rtl"] body.ro-home-page .ro-home-header,
html[dir="rtl"] body.ro-home-page .ro-home-nav,
html[dir="rtl"] body.replyone-admin-shell .ro-topbar,
html[dir="rtl"] body.replyone-client-adminlike .rc-topbar{
  row-gap:12px;
}

html[dir="rtl"] body.replyone-admin-shell .ro-page-title,
html[dir="rtl"] body.replyone-client-adminlike .rc-page-title,
html[dir="rtl"] body.ro-home-page .ro-hero-copy,
html[dir="rtl"] body.ro-home-page .ro-section-head,
html[dir="rtl"] body.ro-home-page .ro-legal-content{
  text-align:right;
}

html[dir="rtl"] body.replyone-admin-shell .table-wrap,
html[dir="rtl"] body.replyone-client-adminlike .table-wrap{
  direction:rtl;
}

html[dir="rtl"] body.replyone-admin-shell .table-wrap table,
html[dir="rtl"] body.replyone-client-adminlike .table-wrap table{
  direction:rtl;
}

html[dir="rtl"] body.replyone-admin-shell .table-wrap code,
html[dir="rtl"] body.replyone-admin-shell .table-wrap .mono-value,
html[dir="rtl"] body.replyone-client-adminlike .table-wrap code,
html[dir="rtl"] body.replyone-client-adminlike .table-wrap .mono-value{
  direction:ltr;
  unicode-bidi:isolate;
  text-align:left;
}

@media (max-width:900px){
  html[dir="rtl"] body.ro-home-page .ro-home-nav,
  html[dir="rtl"] body.replyone-admin-shell .ro-top-actions,
  html[dir="rtl"] body.replyone-client-adminlike .rc-top-actions{
    justify-content:flex-start;
  }
}

/* Stage 8.5.8.4 — emergency scoped receipt/client fixes.
   Restores the stable public landing CSS baseline and adds only client receipt scoped rules. */
body.replyone-client-adminlike .client-receipt-row{
  padding:10px 12px !important;
  gap:10px !important;
}

body.replyone-client-adminlike .client-receipt-icon{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
  border-radius:12px !important;
  font-size:15px !important;
}

body.replyone-client-adminlike .client-receipt-main strong{
  font-size:14px !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}

body.replyone-client-adminlike .client-receipt-main small{
  font-size:11px !important;
  line-height:1.35 !important;
}

body.replyone-client-adminlike .client-receipt-amount{
  font-size:14px !important;
  line-height:1.25 !important;
  white-space:nowrap !important;
}

body.replyone-client-adminlike .client-receipt-actions .btn,
body.replyone-client-adminlike .client-receipt-modal-actions .btn{
  min-height:34px !important;
  height:34px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  font-size:12px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body.replyone-client-adminlike .client-receipt-modal-card{
  width:min(1040px,calc(100vw - 40px)) !important;
  height:min(820px,calc(100dvh - 48px)) !important;
}

body.replyone-client-adminlike .client-receipt-modal-head{
  padding:16px 18px !important;
  align-items:center !important;
}

body.replyone-client-adminlike .client-receipt-modal-head h3{
  font-size:18px !important;
  line-height:1.25 !important;
}

body.replyone-client-adminlike .client-receipt-modal-head .small{
  font-size:12px !important;
  line-height:1.35 !important;
}

body.replyone-client-adminlike .client-receipt-modal-card .modal-close{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  padding:0 !important;
  border-radius:12px !important;
  display:inline-grid !important;
  place-items:center !important;
  line-height:1 !important;
  text-align:center !important;
  font-size:18px !important;
  font-weight:800 !important;
}

body.replyone-client-adminlike .client-receipt-frame{
  display:block !important;
  width:100% !important;
  min-height:min(70vh,760px) !important;
  border:0 !important;
  background:#eef3f8 !important;
}

html[dir="rtl"] body.replyone-client-adminlike .rc-topbar,
body.rtl.replyone-client-adminlike .rc-topbar{
  direction:rtl !important;
  text-align:right !important;
}

html[dir="rtl"] body.replyone-client-adminlike .rc-page-title,
body.rtl.replyone-client-adminlike .rc-page-title,
html[dir="rtl"] body.replyone-client-adminlike .rc-page-title h1,
html[dir="rtl"] body.replyone-client-adminlike .rc-page-title p,
body.rtl.replyone-client-adminlike .rc-page-title h1,
body.rtl.replyone-client-adminlike .rc-page-title p{
  text-align:right !important;
}

html[dir="rtl"] body.replyone-client-adminlike .rc-lang-switch,
body.rtl.replyone-client-adminlike .rc-lang-switch,
html[dir="rtl"] body.replyone-client-adminlike .client-receipt-modal-actions,
body.rtl.replyone-client-adminlike .client-receipt-modal-actions{
  direction:ltr !important;
  unicode-bidi:isolate !important;
}

@media(max-width:720px){
  body.replyone-client-adminlike .client-receipt-modal-card{
    width:calc(100vw - 20px) !important;
    height:calc(100dvh - 20px) !important;
  }
  body.replyone-client-adminlike .client-receipt-modal-head{
    align-items:flex-start !important;
  }
}
