
:root{--bg:#f6f8fc;--surface:#ffffff;--surface-2:#f8fbff;--text:#142235;--muted:#62748c;--line:#dfe7f2;--primary:#2458d3;--primary-soft:#eaf1ff;--success:#1f9d74;--warning:#e8a038;--danger:#d9534f;--shadow:0 14px 38px rgba(16,24,40,.08);--radius:18px;--radius-sm:12px}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,Cairo,Arial,sans-serif;overflow-x:hidden}body.rtl{font-family:Cairo,Inter,Arial,sans-serif}a{text-decoration:none;color:var(--primary)}img{max-width:100%}table{width:100%;border-collapse:collapse}th,td{text-align:start;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}td{font-size:14px}.shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh}.sidebar{background:#10203a;color:#edf3ff;padding:22px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}.logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#3d78f1,#2458d3);display:grid;place-items:center;color:#fff;font-weight:800}.brand h2{margin:0;font-size:18px}.brand small{color:#b7c7e6}.sidebar-mini-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:12px;border-radius:14px;display:grid;gap:4px;margin-bottom:18px}.sidebar nav{display:grid;gap:6px;margin-bottom:12px}.sidebar nav a{color:#dce8ff;padding:10px 12px;border-radius:12px;font-size:14px}.sidebar nav a.active,.sidebar nav a:hover{background:rgba(255,255,255,.1);color:#fff}.nav-group-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#95a7c8;margin:14px 8px 8px}.content{padding:24px 28px 40px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.topbar h1{margin:6px 0 4px;font-size:30px;line-height:1.1}.topbar .muted,.muted{color:var(--muted)}.pill,.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.pill.neutral,.badge.gray{background:#eef3f9;color:#4c6079}.badge.success{background:#e9f9f3;color:#0f7d58}.badge.warning{background:#fff6e8;color:#9b6208}.badge.danger{background:#fff0ef;color:#af302b}.btn-primary,.btn-secondary,button{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:12px;border:1px solid transparent;font-weight:700;cursor:pointer}.btn-primary,button{background:var(--primary);color:#fff}.btn-secondary{background:#fff;border-color:var(--line);color:var(--text)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.page-head h2{margin:0;font-size:22px}.card,.panel,.chart-card,.solution-card,.persona-card,.journey-box,.hero-card,.focus-card,.stat-card,.domain-card,.aging-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card,.panel,.chart-card,.hero-card{padding:20px}.table-wrap{width:100%;overflow:auto;border-radius:14px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions a{padding:6px 10px;background:#f2f6fc;border-radius:10px;color:#29496f;font-size:13px}.stats-grid,.focus-grid,.domain-grid,.chart-grid,.two-col,.three-col,.journey-grid,.persona-grid,.solution-grid,.mini-grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.focus-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.domain-grid,.solution-grid,.persona-grid,.journey-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.chart-grid,.two-col{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.three-col{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.stat-card,.focus-card,.domain-card,.aging-card{padding:18px}.stat-label,.focus-label{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.stat-value,.focus-card strong{font-size:28px;line-height:1.1}.stat-sub,.focus-card p{margin:8px 0 0;color:var(--muted);font-size:13px}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:16px}.panel-hero{background:linear-gradient(180deg,#ffffff,#f7faff)}.finance-panel{background:linear-gradient(180deg,#f6fbff,#ffffff)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#5272a0;font-weight:800;margin-bottom:8px}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.quick-links a{display:block;padding:14px;border-radius:14px;background:#f6f9fe;border:1px solid var(--line)}.quick-links span{display:block;color:var(--text);font-weight:700;margin-bottom:4px}.quick-links small{color:var(--muted)}.metric-chip{padding:12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.metric-chip strong{display:block;font-size:18px}.metric-chip span{font-size:12px;color:var(--muted)}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.totals-box{margin-top:12px;padding:12px 14px;background:#f7f9fc;border:1px solid var(--line);border-radius:14px}.chart-wrap{height:320px}.aging-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.aging-card span{display:block;color:var(--muted);font-size:12px}.aging-card strong{display:block;font-size:18px;margin-top:8px}.form-card{max-width:1100px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:8px}.field label{font-size:13px;font-weight:700;color:#33455f}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit}.field textarea{resize:vertical}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:10px}.site-shell{padding:24px 28px 48px;max-width:1320px;margin:0 auto}.site-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.site-brand{display:flex;align-items:center;gap:12px}.site-brand h1{margin:0;font-size:20px}.site-brand p{margin:2px 0 0;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.site-nav a{padding:10px 12px;border-radius:12px;color:var(--text)}.site-login,.site-lang{background:#fff;border:1px solid var(--line)}.landing-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;padding:26px;background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);margin-bottom:24px}.landing-hero h2{font-size:42px;line-height:1.08;margin:0 0 14px}.landing-hero p{color:var(--muted);font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.metric-ribbon,.accounting-strip,.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.metric-ribbon span,.accounting-strip span,.badge-row .badge{padding:8px 12px;border-radius:999px;background:#edf3ff;color:#2b4d83;font-weight:700;border:none}.section-block{margin:28px 0}.section-head{margin-bottom:16px}.section-head h2{margin:6px 0 8px;font-size:30px}.section-head p{margin:0;color:var(--muted);max-width:860px}.accent{padding:24px;border-radius:28px;background:#eef5ff;border:1px solid #d8e6ff}.dark-band{padding:24px;border-radius:28px;background:#10203a;color:#fff}.dark-band .eyebrow,.dark-band p{color:#d7e3fb}.cta-band{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px;border-radius:28px;background:#fff;border:1px solid var(--line)}.site-footer{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.topbar-actions{display:flex;gap:10px;flex-wrap:wrap}.topbar-meta{display:flex;gap:8px;flex-wrap:wrap}.table td small{color:var(--muted)}
@media (max-width:1200px){.stats-grid,.focus-grid,.domain-grid,.solution-grid,.persona-grid,.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-radius:0 0 24px 24px}.content{padding:18px}.hero,.landing-hero,.chart-grid,.two-col,.three-col,.cta-band{grid-template-columns:1fr}.stats-grid,.focus-grid,.domain-grid,.solution-grid,.persona-grid,.journey-grid,.quick-links,.form-grid,.aging-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.topbar{flex-direction:column}.site-header,.site-footer{flex-direction:column;align-items:flex-start}.landing-hero h2{font-size:32px}}


/* Guest / Login */
.guest-bg{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(36,88,211,.14), transparent 34%),
    radial-gradient(circle at bottom right, rgba(15,157,116,.10), transparent 26%),
    linear-gradient(180deg,#f4f7fb 0%,#eef3f9 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 18px;
}
.login-shell{
  width:min(1100px,100%);
}
.login-card{
  display:grid;
  grid-template-columns:minmax(320px,1.05fr) minmax(360px,.95fr);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border:1px solid rgba(223,231,242,.9);
  border-radius:28px;
  box-shadow:0 24px 70px rgba(15,23,42,.12);
  overflow:hidden;
}
.login-cover{
  position:relative;
  padding:44px 40px;
  background:
    linear-gradient(180deg, rgba(16,32,58,.96), rgba(20,40,72,.94)),
    linear-gradient(135deg,#2458d3,#0f9d74);
  color:#f5f8ff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
}
.login-cover::after{
  content:'';
  position:absolute;
  inset:auto -60px -60px auto;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  filter:blur(8px);
}
.login-cover h1{
  margin:0;
  font-size:clamp(28px,4vw,40px);
  line-height:1.1;
  letter-spacing:-.02em;
}
.login-cover p{
  margin:0;
  color:rgba(231,239,255,.82);
  font-size:15px;
  line-height:1.8;
}
.login-form-wrap{
  padding:38px 34px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
}
.login-form-wrap .page-head h2{
  font-size:28px;
  margin-bottom:6px;
}
.login-form-wrap .page-head p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.feature-list{
  display:grid;
  gap:12px;
  margin-top:8px;
}
.feature-list > div{
  position:relative;
  padding:16px 16px 16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(6px);
}
.feature-list strong{
  display:block;
  margin-bottom:5px;
  color:#fff;
  font-size:15px;
}
.feature-list small{
  color:rgba(226,235,252,.78);
  line-height:1.65;
}
.grid-form{
  display:grid;
  gap:14px;
}
.login-form-wrap label{
  display:inline-block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:700;
  color:#33455f;
}
.login-form-wrap input{
  width:100%;
  height:50px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid #dbe4f0;
  background:#fff;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.03);
  font:inherit;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.login-form-wrap input:focus{
  outline:none;
  border-color:#7fa7ff;
  box-shadow:0 0 0 4px rgba(36,88,211,.10);
}
.login-form-wrap .form-actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.login-form-wrap .btn-primary,
.login-form-wrap .btn-secondary{
  min-height:48px;
  padding:12px 18px;
  border-radius:14px;
}
.login-form-wrap .btn-primary{
  box-shadow:0 12px 28px rgba(36,88,211,.24);
}
.card.soft{
  background:#f7f9fc;
  border:1px solid #e2eaf4;
  box-shadow:none;
}
.info-list{
  display:grid;
  gap:10px;
}
.info-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px dashed #dbe4f0;
}
.info-row:last-child{border-bottom:none;padding-bottom:0}
.info-row span{color:#5e738c;font-size:13px}
.alert.danger{
  margin:12px 0 16px;
  padding:12px 14px;
  border-radius:14px;
  background:#fff3f1;
  border:1px solid #ffd6d2;
  color:#b63c36;
}
@media (max-width: 920px){
  .guest-bg{padding:18px 12px}
  .login-card{grid-template-columns:1fr}
  .login-cover{padding:28px 22px}
  .login-form-wrap{padding:26px 20px 22px}
  .login-form-wrap .page-head h2{font-size:24px}
}


/* Unified form system */
.page-head{margin-bottom:18px;flex-wrap:wrap}
.page-head > div{min-width:0}
.page-head p{margin:6px 0 0;color:var(--muted);line-height:1.7}
.page-head h2{font-size:clamp(24px,3vw,32px);line-height:1.15}
.card.form-card{padding:24px;max-width:1200px}
.card.form-card form,
.card > form{max-width:100%}
.grid-form,
.form-grid,
.card form .grid-form,
.card form .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 22px;
  align-items:start;
}
.grid-form > div,
.form-grid > div,
.card form .grid-form > div,
.card form .form-grid > div{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.grid-form > .full,
.form-grid > .full,
.grid-form > .span-2,
.form-grid > .span-2,
.card form .full,
.card form .span-2{
  grid-column:1 / -1;
}
.card form label,
.grid-form label,
.form-grid label{
  display:block;
  margin:0;
  color:#40546f;
  font-weight:700;
  font-size:13px;
  line-height:1.4;
}
.card form input[type="text"],
.card form input[type="email"],
.card form input[type="password"],
.card form input[type="number"],
.card form input[type="date"],
.card form input[type="datetime-local"],
.card form input[type="time"],
.card form input[type="search"],
.card form select,
.card form textarea{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #d9e3ef;
  background:#fff;
  color:var(--text);
  font:inherit;
  line-height:1.5;
  box-shadow:0 1px 2px rgba(15,23,42,.02), inset 0 1px 2px rgba(15,23,42,.03);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.card form textarea{
  min-height:120px;
  resize:vertical;
}
.card form input:focus,
.card form select:focus,
.card form textarea:focus{
  outline:none;
  border-color:#8badff;
  box-shadow:0 0 0 4px rgba(36,88,211,.10);
}
.card form select{
  appearance:none;
  background-image:linear-gradient(45deg, transparent 50%, #5c708b 50%),linear-gradient(135deg, #5c708b 50%, transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  padding-inline-end:36px;
}
body.rtl .card form select{
  background-position:18px calc(50% - 2px),24px calc(50% - 2px);
  padding-inline-start:36px;
  padding-inline-end:14px;
}
.form-note{
  grid-column:1 / -1;
  margin-top:-4px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid #dfe7f2;
  background:#f8fbff;
  color:var(--muted);
  line-height:1.75;
  font-size:13px;
}
.form-actions{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
  padding-top:8px;
}
body.rtl .form-actions{justify-content:flex-start}
.form-actions .btn-primary,
.form-actions .btn-secondary,
.card form > .btn-primary,
.card form > .btn-secondary{
  min-height:46px;
  padding:11px 18px;
  border-radius:14px;
}
.form-section-title{
  grid-column:1 / -1;
  padding:8px 0 2px;
  margin:0;
  font-size:15px;
  font-weight:800;
  color:#2f4669;
}
.inline-field-group{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.card.form-card .table-wrap{margin-top:8px}
@media (max-width:960px){
  .card.form-card{padding:18px}
  .grid-form,
  .form-grid,
  .card form .grid-form,
  .card form .form-grid,
  .inline-field-group{
    grid-template-columns:1fr;
  }
  .form-actions,
  body.rtl .form-actions{
    justify-content:stretch;
  }
  .form-actions .btn-primary,
  .form-actions .btn-secondary{
    width:100%;
  }
}


/* Public page premium refresh */
.public-body{background:linear-gradient(180deg,#f4f7fb 0%,#eef3f9 100%)}
.site-shell-pro{padding-top:28px;padding-bottom:60px}
.site-header-pro{padding:0 4px 18px}
.site-header-pro .site-brand h1{font-size:22px;font-weight:800;letter-spacing:-.02em}
.site-header-pro .site-brand p{max-width:720px;font-size:14px;line-height:1.8}
.site-header-pro .site-nav a{font-weight:700}
.site-header-pro .site-nav .site-login{background:var(--primary);color:#fff;border-color:transparent;box-shadow:0 10px 24px rgba(36,88,211,.18)}
.site-header-pro .site-nav .site-lang{background:#fff}
.landing-hero-pro{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:24px;align-items:stretch;padding:28px;border-radius:32px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #dbe6f4;box-shadow:0 26px 70px rgba(15,23,42,.08)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:6px 6px 6px 2px}
.hero-copy h2{margin:0;font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.04em;max-width:12ch}
.hero-copy .hero-lead{margin:0;max-width:62ch;color:#5f7088;font-size:16px;line-height:1.95}
.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}
.hero-stat{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #dbe6f4;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.hero-stat strong{display:block;font-size:18px;color:#10203a;margin-bottom:4px}
.hero-stat span{color:#667992;font-size:13px;font-weight:700}
.showcase-card{position:relative;padding:24px;border-radius:28px;background:linear-gradient(180deg,#11223f 0%,#1b3f89 100%);color:#edf4ff;overflow:hidden;box-shadow:0 24px 60px rgba(17,34,63,.24)}
.showcase-card::before{content:'';position:absolute;inset:auto auto -120px -120px;width:260px;height:260px;background:rgba(255,255,255,.08);border-radius:50%;filter:blur(6px)}
.showcase-card::after{content:'';position:absolute;inset:20px 20px auto auto;width:160px;height:160px;background:rgba(255,255,255,.05);border-radius:24px;transform:rotate(18deg)}
.showcase-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;z-index:1}
.showcase-head h3{margin:6px 0 0;font-size:28px;line-height:1.15;color:#fff}
.showcase-card p{position:relative;z-index:1;margin:12px 0 0;color:rgba(233,240,255,.86);line-height:1.9}
.showcase-panels{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.showcase-panel{padding:16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(6px)}
.showcase-panel strong{display:block;font-size:15px;color:#fff;margin-bottom:6px}
.showcase-panel small{display:block;color:rgba(234,240,255,.8);line-height:1.7}
.panel-dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:#7fb2ff;box-shadow:0 0 0 6px rgba(127,178,255,.18);margin-bottom:12px}
.showcase-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.showcase-metrics div{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);font-size:13px;font-weight:700;color:#eff5ff}
.section-head-center{text-align:center}
.section-head-center p{margin-inline:auto}
.solution-grid-pro{grid-template-columns:repeat(4,minmax(0,1fr))}
.solution-grid-pro .solution-card{padding:22px 20px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.solution-index{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#edf3ff;color:#2458d3;font-weight:800;margin-bottom:18px}
.solution-card h3{margin:0 0 10px;font-size:20px;line-height:1.25}
.solution-card p{margin:0;color:#66788f;line-height:1.85}
.workflow-band{padding:26px;border-radius:30px;background:linear-gradient(180deg,#f8fbff 0%,#edf4ff 100%);border:1px solid #d9e6f6}
.workflow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.workflow-step{padding:18px;border-radius:20px;background:#fff;border:1px solid #dce7f4;box-shadow:0 12px 28px rgba(15,23,42,.04)}
.workflow-step span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:#10203a;color:#fff;font-weight:800;margin-bottom:14px}
.workflow-step h3{margin:0 0 8px;font-size:17px;line-height:1.35}
.workflow-step p{margin:0;color:#6a7c92;line-height:1.8;font-size:14px}
.persona-grid-pro{grid-template-columns:repeat(4,minmax(0,1fr))}
.persona-grid-pro .persona-card{padding:22px 20px;background:linear-gradient(180deg,#fff 0%,#f9fbfe 100%)}
.persona-card h3{margin:0 0 10px;font-size:18px}
.persona-card p{margin:0;color:#66788f;line-height:1.85}
.accounting-band-pro{padding:30px;border-radius:32px;background:linear-gradient(180deg,#10203a 0%,#173463 100%);box-shadow:0 24px 60px rgba(16,32,58,.18)}
.accounting-band-pro .section-head h2{color:#fff}
.accounting-band-pro .section-head p{color:#d7e3fb}
.cta-band-pro{border:none;background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);box-shadow:0 20px 50px rgba(15,23,42,.06)}
.cta-band-pro h2{margin:0 0 10px;font-size:32px}
.cta-band-pro p{margin:0 0 8px;color:#62748c;line-height:1.9}
.cta-band-pro small{color:#8190a7;font-weight:700}
@media (max-width:1200px){.landing-hero-pro,.solution-grid-pro,.persona-grid-pro,.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-panels,.showcase-metrics{grid-template-columns:1fr 1fr}}
@media (max-width:960px){.landing-hero-pro,.solution-grid-pro,.persona-grid-pro,.workflow-grid,.hero-stats,.showcase-panels,.showcase-metrics{grid-template-columns:1fr}.hero-copy h2{max-width:none}.site-header-pro{gap:14px}.site-header-pro .site-nav{width:100%}}


/* Premium public landing */
.public-body{background:radial-gradient(circle at top left, rgba(36,88,211,.10), transparent 28%), radial-gradient(circle at top right, rgba(15,157,116,.08), transparent 22%), linear-gradient(180deg,#f5f8fc 0%,#eef3f9 100%)}
.landing-premium{padding-top:26px;padding-bottom:56px}
.landing-header{padding:8px 0 20px;margin-bottom:14px}
.landing-header .site-brand h1{font-size:18px;margin-bottom:4px}
.landing-header .site-brand p{max-width:520px;font-size:14px;line-height:1.8}
.landing-nav a{font-weight:700}
.card-glass{background:rgba(255,255,255,.78);border:1px solid rgba(223,231,242,.95);box-shadow:0 22px 56px rgba(15,23,42,.10);backdrop-filter:blur(10px)}
.premium-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:24px;align-items:stretch;margin-top:10px}
.premium-copy,.premium-preview{border-radius:30px;padding:32px;position:relative;overflow:hidden}
.premium-copy::before,.premium-preview::before{content:'';position:absolute;inset:auto auto -90px -70px;width:220px;height:220px;border-radius:50%;background:rgba(36,88,211,.08);filter:blur(6px)}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#edf4ff;color:#2f5eb5;font-size:12px;font-weight:800;letter-spacing:.04em;margin-bottom:16px}
.premium-copy h2{font-size:clamp(34px,5vw,58px);line-height:1.06;letter-spacing:-.03em;margin:0 0 14px;max-width:10ch}
.hero-lead{font-size:17px;line-height:1.95;color:#5b6c83;max-width:60ch;margin:0}
.hero-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.hero-stat-card{background:#fff;border:1px solid #e4ebf5;border-radius:22px;padding:18px 16px;box-shadow:0 10px 28px rgba(15,23,42,.04)}
.hero-stat-card strong{display:block;font-size:20px;margin-bottom:6px;letter-spacing:-.02em}
.hero-stat-card span{display:block;color:#62748c;font-size:13px;line-height:1.5}
.preview-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.preview-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#f4f7fd;border:1px solid #e4ebf5;color:#274c84;font-weight:800;font-size:12px}
.preview-main{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:14px;margin-bottom:16px}
.preview-summary{padding:22px;border-radius:24px;background:linear-gradient(180deg,#11284a,#173764);color:#fff;box-shadow:0 18px 44px rgba(17,40,74,.22)}
.preview-summary .summary-chip{display:inline-flex;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:800;margin-bottom:14px}
.preview-summary h3{margin:0 0 10px;font-size:28px;line-height:1.15}
.preview-summary p{margin:0;color:rgba(233,240,255,.84);line-height:1.8;font-size:14px}
.preview-kpis{display:grid;gap:12px}
.preview-kpi{padding:18px;border-radius:22px;border:1px solid #e3eaf4;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.05)}
.preview-kpi span{display:block;color:#6880a1;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.preview-kpi strong{display:block;margin:8px 0 4px;font-size:28px;letter-spacing:-.03em}
.preview-kpi small{color:#5f738f}
.accent-blue{background:linear-gradient(180deg,#f7fbff,#eef4ff)}
.accent-green{background:linear-gradient(180deg,#f7fffb,#effbf5)}
.accent-gold{background:linear-gradient(180deg,#fffdf6,#fff5dd)}
.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.preview-card{position:relative;padding:18px 18px 18px 20px;border-radius:22px;background:#fff;border:1px solid #e4ebf5;box-shadow:0 10px 28px rgba(15,23,42,.04)}
.preview-card.dark{background:linear-gradient(180deg,#091930,#11284a);color:#fff;border-color:rgba(255,255,255,.06)}
.preview-card.soft-accent{background:linear-gradient(180deg,#f8fbff,#f1f7ff)}
.preview-card strong{display:block;margin-bottom:8px;font-size:16px}
.preview-card p{margin:0;color:#67798f;line-height:1.7;font-size:13px}
.preview-card.dark p{color:rgba(231,239,255,.82)}
.mini-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2458d3;margin-bottom:10px}
.preview-card.dark .mini-dot{background:#66a3ff}
.signal-strip{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:18px auto 6px;padding:0 4px}
.signal-strip span{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid #e3eaf4;color:#2c4f85;font-weight:800;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.compact-head{max-width:780px;margin-inline:auto;text-align:center}
.compact-head h2{font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.02em}
.feature-grid-premium{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.feature-card-premium{padding:24px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid #e4ebf5;box-shadow:0 14px 34px rgba(15,23,42,.06)}
.feature-card-premium h3{margin:12px 0 10px;font-size:20px}
.feature-card-premium p{margin:0;color:#61738c;line-height:1.8}
.feature-icon{width:46px;height:46px;border-radius:16px}
.feature-icon-blue{background:linear-gradient(135deg,#2458d3,#6aa0ff)}
.feature-icon-indigo{background:linear-gradient(135deg,#3247c9,#8b9cff)}
.feature-icon-green{background:linear-gradient(135deg,#15966f,#7ad7b2)}
.feature-icon-gold{background:linear-gradient(135deg,#d98a23,#f1c56d)}
.premium-flow-section{padding:28px;border-radius:30px;background:linear-gradient(180deg,#0f223e,#16345f);color:#fff;box-shadow:0 24px 56px rgba(15,23,42,.12)}
.premium-flow-section .eyebrow{color:#a9c5ff}.premium-flow-section .section-head h2{color:#fff}.premium-flow-section .section-head{margin-bottom:18px}.flow-canvas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.flow-step-card{padding:22px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09)}
.flow-step-card span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);font-weight:800;margin-bottom:12px}
.flow-step-card h3{margin:0 0 8px;font-size:17px;line-height:1.45;color:#fff}
.flow-step-card p{margin:0;color:rgba(230,237,249,.78);line-height:1.8;font-size:13px}
.flow-step-card.emphasis{background:linear-gradient(180deg,rgba(36,88,211,.42),rgba(15,157,116,.22));border-color:rgba(133,173,255,.24)}
.premium-persona-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.premium-persona{padding:22px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid #e4ebf5;box-shadow:0 14px 34px rgba(15,23,42,.05)}
.premium-persona h3{margin:0 0 10px;font-size:20px}.premium-persona p{margin:0;color:#61738c;line-height:1.8}
.accounting-spotlight{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:22px;padding:28px;border-radius:30px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e4ebf5;box-shadow:0 18px 42px rgba(15,23,42,.06)}
.accounting-copy h2{font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.02em;margin:0 0 12px}
.accounting-copy p{margin:0;color:#61738c;line-height:1.9}
.accounting-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}
.board-card{padding:20px;border-radius:22px;background:#fff;border:1px solid #e4ebf5;box-shadow:0 12px 28px rgba(15,23,42,.04)}
.board-card:first-child{grid-column:1 / -1;background:linear-gradient(180deg,#11284a,#1b4378);color:#fff;border-color:rgba(255,255,255,.06)}
.board-card span{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;color:#6b80a0;text-transform:uppercase}
.board-card:first-child span{color:#c8d8ff}
.board-card strong{display:block;margin:8px 0 4px;font-size:30px;letter-spacing:-.03em}
.board-card small{color:#647893}.board-card:first-child small{color:rgba(232,239,255,.82)}
.cta-premium{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:30px;background:linear-gradient(135deg,#10305b,#2458d3);color:#fff;box-shadow:0 24px 56px rgba(36,88,211,.20)}
.cta-premium .eyebrow{color:#b8d2ff}.cta-premium h2{margin:8px 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.15}.cta-premium p{margin:0;color:rgba(236,242,255,.84);line-height:1.85;max-width:760px}.cta-premium .btn-secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff}.premium-footer{padding:12px 4px 0}
@media (max-width:1200px){.premium-hero,.accounting-spotlight{grid-template-columns:1fr}.feature-grid-premium,.premium-persona-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-canvas{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.landing-shell{padding-inline:16px}.premium-copy,.premium-preview,.premium-flow-section,.accounting-spotlight,.cta-premium{padding:22px}.premium-hero,.preview-main,.cta-premium{grid-template-columns:1fr}.preview-grid,.accounting-board,.feature-grid-premium,.premium-persona-grid,.flow-canvas,.hero-stat-grid{grid-template-columns:1fr}.premium-copy h2{max-width:none;font-size:34px}.site-nav{gap:8px}.site-nav a{padding:9px 10px}.preview-summary h3{font-size:24px}}

/* Enhanced dashboard */
.dashboard-shell-enhanced{display:grid;gap:18px}
.dashboard-hero-enhanced{align-items:stretch}
.gradient-panel{background:linear-gradient(180deg,#ffffff 0%,#f6f9fe 100%)}
.intro-copy{max-width:68ch}
.workspace-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.workspace-link-card{display:block;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.workspace-link-card strong{display:block;color:var(--text);font-size:15px;margin-bottom:6px}
.workspace-link-card small{color:var(--muted);line-height:1.6}
.workspace-link-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(16,24,40,.10);border-color:#cddcf2}
.emphasize-link{background:linear-gradient(180deg,#f3f7ff,#ffffff)}
.snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.alert-strip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.alert-chip{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff}
.alert-chip span{font-size:13px;color:var(--muted)}
.alert-chip strong{font-size:16px}
.alert-chip.warning{background:#fff9ef}
.alert-chip.success{background:#eefaf5}
.alert-chip.neutral{background:#f7f9fc}
.premium-focus-card{position:relative;overflow:hidden}
.premium-focus-card::after{content:'';position:absolute;inset:auto -24px -24px auto;width:120px;height:120px;border-radius:50%;background:rgba(36,88,211,.06)}
.insight-grid .chart-card{padding:18px}
.compact-page-head h2{font-size:18px}
.compact-page-head{margin-bottom:12px}
.compact-chart{height:260px}
.table td,.table th{white-space:normal}
.table td:first-child,.table th:first-child{min-width:92px}
.table td:last-child,.table th:last-child{text-align:end}
.table tbody tr:hover{background:#f8fbff}
@media (max-width:1200px){.workspace-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:960px){.workspace-link-grid,.snapshot-grid,.alert-strip-grid{grid-template-columns:1fr}.compact-chart{height:230px}}

.clean-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.clean-list li{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff}.toolbar-inline{display:flex;gap:10px;justify-content:flex-end;padding:8px 0}.btn-link{background:none;border:none;padding:0;color:var(--brand);cursor:pointer;font:inherit}.btn-link.danger{color:#b42318}
/* Enterprise workflow controls */
.inline-action-form{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 8px 8px 0}.inline-action-form select{min-height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px 10px;color:var(--text)}.link-button{border:0;background:transparent;color:var(--brand);font:inherit;font-weight:700;padding:0;cursor:pointer;text-decoration:none}.link-button:hover{text-decoration:underline}.actions .inline-action-form{vertical-align:middle}.rtl .inline-action-form{margin:0 0 8px 8px}

/* Enterprise RBAC + calm UI refinement */
.breadcrumb{display:flex;align-items:center;gap:8px;color:#6a7d96;font-size:13px;margin-bottom:8px;flex-wrap:wrap}.breadcrumb a{color:#59718f}.breadcrumb strong{color:#263a54;font-weight:700}.topbar h1{font-size:clamp(24px,3vw,34px);margin:4px 0 10px}.topbar .muted{display:none}.compact-head{margin-bottom:12px}.compact-head h2{font-size:clamp(20px,2.2vw,26px)}.compact-head p{font-size:13px;line-height:1.55;max-width:760px}.calm-card{box-shadow:0 10px 28px rgba(16,24,40,.055);border-color:#e5edf7}.dashboard-clean{display:grid;gap:16px}.quick-card{box-shadow:none}.matrix-card{margin-bottom:16px;box-shadow:0 8px 24px rgba(16,24,40,.045)}.permission-matrix th,.permission-matrix td{text-align:center}.permission-matrix th:first-child,.permission-matrix td:first-child{text-align:start;min-width:220px}.permission-matrix small{display:block;color:var(--muted);margin-top:4px}.permission-ticks{white-space:nowrap}.tick{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#e9f9f3;color:#0f7d58;font-size:11px;font-weight:800;margin-inline:2px}.perm-box{display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer}.perm-box input{position:absolute;opacity:0;width:1px;height:1px}.perm-box span{width:24px;height:24px;border-radius:8px;border:1px solid #cdd9e8;background:#fff;display:inline-block;position:relative}.perm-box input:checked+span{background:#2458d3;border-color:#2458d3}.perm-box input:checked+span:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px}.checkline{display:flex!important;align-items:center;gap:10px;flex-direction:row!important}.checkline input{width:auto!important;min-height:auto!important}.sticky-actions{position:sticky;bottom:12px;display:flex;gap:10px;justify-content:flex-end;background:rgba(246,248,252,.88);backdrop-filter:blur(8px);border:1px solid #dfe7f2;border-radius:18px;padding:12px;margin-top:14px;z-index:5}.compact-aging{grid-template-columns:repeat(5,minmax(0,1fr))}.mini-grid.compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sidebar-mini-card small{color:#b7c7e6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:960px){.compact-aging,.mini-grid.compact-grid{grid-template-columns:1fr}.permission-matrix{min-width:760px}.sticky-actions{position:relative;bottom:auto;justify-content:flex-start}}


/* ===== Joiner Premium UI V3 polish ===== */
:root{
  --brand:#1d4ed8;
  --brand-2:#0f766e;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#dfe7f2;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --bg:#f3f6fb;
  --radius:22px;
  --shadow:0 18px 55px rgba(15,23,42,.08);
}
html,body{background:linear-gradient(180deg,#f6f8fc 0%,#eef3f9 100%);color:var(--ink)}
.shell{grid-template-columns:292px minmax(0,1fr);background:radial-gradient(circle at 20% 0%,rgba(29,78,216,.10),transparent 28%),linear-gradient(180deg,#f6f8fc,#eef3f9)}
.sidebar{
  background:linear-gradient(180deg,#081832 0%,#0c2347 58%,#09192f 100%);
  border-inline-end:1px solid rgba(255,255,255,.08);
  box-shadow:18px 0 50px rgba(8,24,50,.13);
  padding:24px 18px;
}
.brand{padding:4px 4px 18px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.logo,.brand-orb{
  width:46px;height:46px;border-radius:16px;
  background:linear-gradient(135deg,#38bdf8,#2563eb 55%,#7c3aed);
  box-shadow:0 14px 28px rgba(37,99,235,.28);
}
.brand h2{font-size:20px;letter-spacing:-.02em}
.brand small{display:inline-block;margin-top:6px;color:#c7d7f5;font-size:12px;line-height:1.35;max-width:175px}
.sidebar-mini-card{
  border-radius:20px;background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);padding:14px;margin:14px 0 18px;
}
.sidebar-mini-card span{font-size:13px;color:#f8fbff}
.sidebar-mini-card small{font-size:12px;color:#aebfdb}
.nav-group-title{
  margin:18px 10px 8px;color:#8ea7cf;font-size:10px;letter-spacing:.13em;
}
.sidebar nav a{
  display:flex;align-items:center;gap:10px;
  border:1px solid transparent;border-radius:14px;
  padding:10px 12px;color:#dce8ff;font-size:14px;
  transition:.18s ease;background:transparent;
}
.sidebar nav a::before{
  content:"";width:7px;height:7px;border-radius:999px;background:rgba(148,163,184,.55);
  box-shadow:0 0 0 4px rgba(148,163,184,.05);
}
.sidebar nav a.active,.sidebar nav a:hover{
  background:rgba(255,255,255,.105);border-color:rgba(255,255,255,.10);
  transform:translateX(-2px);color:#fff;
}
.ltr .sidebar nav a.active,.ltr .sidebar nav a:hover{transform:translateX(2px)}
.sidebar nav a.active::before,.sidebar nav a:hover::before{background:#60a5fa}
.content{padding:26px clamp(18px,3vw,40px) 44px}
.topbar{
  padding:4px 0 12px;margin-bottom:14px;align-items:center;
  border-bottom:1px solid rgba(203,213,225,.65);
}
.breadcrumb{font-size:12px;color:#8090a6;margin-bottom:6px}
.topbar h1{font-size:clamp(26px,3vw,40px);letter-spacing:-.04em;font-weight:800;margin:0 0 10px;color:#0b1f3f}
.topbar-meta .pill{background:#fff;border:1px solid #e2e8f0;color:#49627d;box-shadow:0 6px 20px rgba(15,23,42,.04)}
.app-body .page-head p{display:none!important}
.app-body .page-head{margin-bottom:14px}
.app-body .page-head h2{font-size:clamp(20px,2vw,28px);letter-spacing:-.035em;color:#0b1f3f}
.card,.focus-card,.stat-card,.domain-card,.aging-card,.matrix-card{
  border:1px solid rgba(213,224,238,.95);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 45px rgba(15,23,42,.07);
}
.card:hover,.focus-card:hover{box-shadow:0 22px 60px rgba(15,23,42,.10)}
.focus-grid{gap:18px;margin-bottom:18px}
.focus-card{
  position:relative;overflow:hidden;padding:22px;
  min-height:132px;
}
.focus-card::after{
  content:"";position:absolute;inset:auto -25px -25px auto;width:110px;height:110px;
  background:radial-gradient(circle,rgba(37,99,235,.14),transparent 62%);
}
.focus-label,.stat-label{font-size:13px;color:#71849d;font-weight:700}
.focus-card strong,.stat-value{font-size:clamp(26px,2.2vw,36px);letter-spacing:-.04em;color:#071a35}
.focus-card p,.stat-sub{font-size:12px;color:#7b8da6}
.two-col{gap:18px;margin-bottom:18px}
.table-wrap{
  border:1px solid #edf2f7;border-radius:20px;background:#fff;
}
.table th{
  background:#f8fafc;color:#60738f;font-size:11px;font-weight:800;
  text-transform:none;letter-spacing:0;border-bottom:1px solid #e5edf6;
}
.table td{font-size:14px;border-bottom:1px solid #edf2f7;color:#10223f}
.table tbody tr:hover{background:#fbfdff}
.actions{gap:8px}
.actions a,.link-button{
  background:#eef4ff!important;border:1px solid #dbe8ff!important;color:#1e4ed8!important;
  border-radius:12px!important;padding:8px 10px!important;font-weight:700!important;
}
.actions .delete,.link-button.danger{background:#fff1f2!important;color:#be123c!important;border-color:#ffe4e6!important}
.btn-primary,button{
  border-radius:14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);
  box-shadow:0 12px 22px rgba(37,99,235,.22);
}
.btn-secondary{
  border-radius:14px;background:#fff;color:#13243d;border-color:#dbe4ef;
}
.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0 18px}
.kpi-strip .kpi{padding:18px;border-radius:22px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 12px 34px rgba(15,23,42,.06)}
.kpi-strip .kpi strong{font-size:24px;letter-spacing:-.03em;color:#0b1f3f}
.kpi-strip .kpi span{display:block;margin-top:8px;color:#64748b;font-size:12px;font-weight:700}
.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid-form .full{grid-column:1/-1}
.grid-form label,.form-grid label{font-size:13px;font-weight:800;color:#344762;display:block;margin-bottom:8px}
.grid-form input,.grid-form select,.grid-form textarea,.form-grid input,.form-grid select,.form-grid textarea,.inline-form input,.inline-form select{
  width:100%;border:1px solid #dbe5f0;border-radius:14px;background:#fff;padding:12px 14px;
  font:inherit;color:#10223f;outline:none;transition:.15s ease;
}
.grid-form input:focus,.grid-form select:focus,.grid-form textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{
  border-color:#93b4ff;box-shadow:0 0 0 4px rgba(37,99,235,.10);
}
.badge{font-weight:800}
.badge.success{background:#e7f8f1;color:#047857}
.badge.warning{background:#fff7ed;color:#b45309}
.badge.danger{background:#fff1f2;color:#be123c}
.badge.gray{background:#f1f5f9;color:#475569}
.permission-matrix.editable th,.permission-matrix.editable td{text-align:center;vertical-align:middle}
.permission-matrix.editable th:first-child,.permission-matrix.editable td:first-child{text-align:start}
.matrix-tools{display:flex;gap:8px;flex-wrap:wrap}
.matrix-tools .btn-secondary{padding:8px 11px;font-size:12px}
.perm-box{
  display:inline-grid!important;place-items:center;width:34px;height:34px;border-radius:12px;
  cursor:pointer;user-select:none;margin:auto;
}
.perm-box input{
  position:static!important;opacity:1!important;width:28px!important;height:28px!important;
  min-height:0!important;margin:0!important;cursor:pointer;accent-color:#2563eb;
}
.perm-box span{display:none!important}
.permission-ticks{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.ability-pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;padding:5px 8px;border-radius:999px;
  background:#eef4ff;color:#1d4ed8;font-size:11px;font-weight:800;border:1px solid #dbe8ff;
}
.ability-pill.delete{background:#fff1f2;color:#be123c;border-color:#ffe4e6}
.ability-pill.edit{background:#ecfdf5;color:#047857;border-color:#d1fae5}
.ability-pill.create{background:#fff7ed;color:#b45309;border-color:#fed7aa}
.sticky-actions{
  background:rgba(255,255,255,.90);border-color:#dbe5ef;
  box-shadow:0 18px 50px rgba(15,23,42,.12)
}
.alert{padding:14px 16px;border-radius:16px;margin-bottom:14px;font-weight:700}
.alert.danger{background:#fff1f2;color:#be123c;border:1px solid #ffe4e6}

/* Public landing: quiet, premium, concise */
.public-body{background:#081832;color:#0f172a}
.public-pro{
  min-height:100vh;padding:24px;max-width:1240px;margin:auto;
  background:
    radial-gradient(circle at 15% 0%, rgba(96,165,250,.22), transparent 30%),
    radial-gradient(circle at 85% 8%, rgba(45,212,191,.18), transparent 24%);
}
.public-nav-pro{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 16px;border:1px solid rgba(255,255,255,.12);border-radius:24px;
  background:rgba(255,255,255,.08);backdrop-filter:blur(16px);margin-bottom:24px;
}
.public-brand-pro{display:flex;align-items:center;gap:12px;color:#fff}
.public-brand-pro strong{display:block;color:#fff;font-size:18px}
.public-brand-pro small{display:block;color:#b8c8e7;font-size:12px;margin-top:4px}
.public-nav-pro nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.public-nav-pro nav a{
  color:#dbeafe;padding:10px 13px;border-radius:14px;font-weight:700;font-size:14px
}
.public-nav-pro .nav-login{background:#fff;color:#0f2e66}
.public-hero-pro{
  display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;
  padding:48px 8px 30px;
}
.hero-copy-pro{color:#fff}
.hero-copy-pro h1{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:12px 0 18px;letter-spacing:-.06em;max-width:850px}
.hero-copy-pro p{font-size:18px;line-height:1.8;color:#c9d7f0;max-width:650px;margin:0}
.hero-copy-pro .btn-secondary{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.18)}
.hero-board-pro{
  border:1px solid rgba(255,255,255,.16);border-radius:32px;padding:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
  box-shadow:0 28px 90px rgba(0,0,0,.28);backdrop-filter:blur(16px);color:#fff;
}
.board-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.board-top span{color:#bdd0ef;font-weight:700}
.board-top strong{font-size:32px;letter-spacing:-.04em}
.board-grid-pro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.board-grid-pro article{padding:18px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.board-grid-pro small{color:#c9d7f0;display:block}
.board-grid-pro b{font-size:30px;margin-top:10px;display:block}
.public-section-pro,.finance-band-pro{
  margin:26px 0;padding:26px;border-radius:32px;background:#f8fafc;border:1px solid rgba(255,255,255,.20);
  box-shadow:0 28px 80px rgba(0,0,0,.14)
}
.section-title-pro{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-title-pro h2,.finance-band-pro h2{margin:0;font-size:clamp(26px,3vw,42px);letter-spacing:-.04em;color:#0f172a}
.module-cards-pro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.module-cards-pro article{
  padding:20px;border-radius:24px;background:#fff;border:1px solid #e2e8f0;
  box-shadow:0 14px 40px rgba(15,23,42,.06)
}
.module-cards-pro span{color:#2563eb;font-weight:900}
.module-cards-pro h3{margin:12px 0 8px;font-size:20px}
.module-cards-pro p{margin:0;color:#64748b}
.finance-band-pro{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:center}
.finance-tags-pro{display:flex;flex-wrap:wrap;gap:10px}
.finance-tags-pro span{padding:10px 13px;border-radius:999px;background:#eaf1ff;color:#1d4ed8;font-weight:800;border:1px solid #dbe8ff}
.public-footer-pro{
  display:flex;justify-content:space-between;gap:16px;align-items:center;
  padding:18px 6px;color:#dbeafe
}
.public-footer-pro a{color:#dbeafe;margin-inline-start:14px}

@media(max-width:1100px){
  .focus-grid,.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .module-cards-pro{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto;border-radius:0 0 28px 28px}
  .content{padding:18px}
  .topbar{align-items:flex-start}
  .public-hero-pro,.finance-band-pro{grid-template-columns:1fr}
}
@media(max-width:640px){
  .focus-grid,.kpi-strip,.module-cards-pro,.grid-form{grid-template-columns:1fr}
  .public-pro{padding:14px}
  .public-nav-pro{align-items:flex-start;flex-direction:column}
  .hero-copy-pro h1{font-size:38px}
  .board-grid-pro{grid-template-columns:1fr}
}

/* ===== V4 dashboard analytics, translation polish and landing redesign ===== */
.brand small{max-width:230px!important;line-height:1.55!important}
.dashboard-pro{display:grid;gap:20px}.dash-hero-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px 26px;border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 46%,#eef6ff 100%);border:1px solid rgba(210,224,242,.92);box-shadow:0 22px 70px rgba(15,23,42,.075);overflow:hidden;position:relative}.dash-hero-card:after{content:"";position:absolute;inset:auto -80px -110px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.15),transparent 65%)}.dash-hero-card h2{font-size:clamp(26px,3vw,42px);line-height:1.1;margin:6px 0 8px;letter-spacing:-.045em;color:#071a35}.dash-hero-card p{margin:0;color:#64748b;max-width:720px}.dash-hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.dashboard-click-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.clickable-card{display:block;color:inherit;transition:.2s ease}.clickable-card:hover{transform:translateY(-4px);border-color:#b7cdf4}.clickable-card em{display:inline-flex;margin-top:12px;font-style:normal;font-size:12px;color:#2458d3;font-weight:800}.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.chart-panel{min-height:390px;display:flex;flex-direction:column}.chart-panel canvas{width:100%;height:285px;max-height:285px}.chart-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.chart-legend span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f2f6fc;color:#40546d;font-size:12px;font-weight:700}.chart-legend i{width:9px;height:9px;border-radius:999px;display:inline-block}.insight-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.insight-card{display:block;padding:18px 18px;border-radius:22px;background:#fff;border:1px solid #dfe7f2;box-shadow:0 14px 38px rgba(15,23,42,.06);color:#0f172a}.insight-card span,.insight-card small{display:block;color:#64748b}.insight-card strong{display:block;font-size:26px;margin:8px 0 6px;letter-spacing:-.03em}.insight-card.warning{background:linear-gradient(180deg,#fff,#fff8eb)}.insight-card.danger{background:linear-gradient(180deg,#fff,#fff4f4)}.insight-card.success{background:linear-gradient(180deg,#fff,#f0fdf4)}.elevated-card{box-shadow:0 18px 55px rgba(15,23,42,.075)}.pro-quick-links a,.metric-chip,.aging-card{transition:.18s ease;color:inherit}.pro-quick-links a:hover,.metric-chip:hover,.aging-card:hover{transform:translateY(-2px);border-color:#b7cdf4;background:#f9fbff}.data-card .page-head h2{font-size:22px}.table-wrap table{min-width:760px}.permission-matrix td{text-align:center;vertical-align:middle}.permission-matrix td:first-child{text-align:start}.perm-box{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-width:96px;padding:9px 12px;border-radius:999px;border:1px solid #dbe5f2;background:#f8fafc;cursor:pointer;transition:.18s ease;color:#53667f;font-weight:800}.perm-box input{position:absolute!important;opacity:0!important;pointer-events:none!important}.perm-box span{width:18px!important;height:18px!important;border-radius:999px!important;border:2px solid #b9c6d7!important;background:#fff!important;display:inline-block!important;position:relative!important}.perm-box b{font-size:12px}.perm-box.is-checked,.perm-box:has(input:checked){background:#eaf2ff;border-color:#8fb6ff;color:#1d4ed8}.perm-box.is-checked span,.perm-box:has(input:checked) span{background:#2563eb!important;border-color:#2563eb!important}.perm-box.is-checked span:after,.perm-box:has(input:checked) span:after{content:""!important;position:absolute;inset:4px;border-radius:999px;background:#fff}.matrix-tools{display:flex;gap:8px;flex-wrap:wrap}.rbac-form .matrix-card{margin-bottom:16px}.app-body .page-head p,.app-body .topbar .muted{display:none!important}.app-body .breadcrumb{font-weight:700}.app-body .topbar{margin-bottom:18px}.public-enterprise{max-width:1380px;margin:0 auto;padding:24px clamp(16px,3vw,36px) 44px}.enterprise-nav{position:sticky;top:12px;z-index:20;border:1px solid rgba(217,226,239,.85);background:rgba(255,255,255,.84);backdrop-filter:blur(14px);border-radius:24px;padding:12px 14px;box-shadow:0 18px 45px rgba(15,23,42,.07)}.enterprise-nav nav a{font-weight:800;color:#233b59}.landing-premium-hero{display:grid;grid-template-columns:1.06fr .94fr;gap:24px;align-items:stretch;margin:24px 0;padding:34px;border-radius:34px;background:radial-gradient(circle at 15% 10%,rgba(59,130,246,.15),transparent 30%),linear-gradient(135deg,#ffffff,#f7fbff 56%,#edf6ff);border:1px solid rgba(210,224,242,.9);box-shadow:0 26px 80px rgba(15,23,42,.10)}.landing-premium-hero h1{font-size:clamp(34px,5vw,64px);line-height:1.03;letter-spacing:-.055em;margin:8px 0 16px;color:#071a35}.landing-premium-hero p{font-size:17px;line-height:1.85;color:#52657d;max-width:760px}.landing-trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.landing-trust-row span{padding:8px 12px;border-radius:999px;background:#eef5ff;color:#1d4ed8;font-weight:800;font-size:12px}.premium-board{min-height:360px;background:linear-gradient(180deg,#10203a,#0d2448);color:#fff;border:none}.premium-board .board-top,.premium-board .board-list-pro div{border-color:rgba(255,255,255,.12)}.premium-board .board-grid-pro article{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10)}.board-list-pro{display:grid;gap:10px;margin-top:16px}.board-list-pro div{display:flex;justify-content:space-between;padding:12px;border-radius:14px;border:1px solid #edf2f7}.board-list-pro span{color:#c8d8f4}.landing-value-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.landing-value-strip article{padding:18px;border-radius:24px;background:#fff;border:1px solid #dfe7f2;box-shadow:0 16px 45px rgba(15,23,42,.055)}.landing-value-strip strong{display:block;font-size:18px}.landing-value-strip span{display:block;margin-top:6px;color:#64748b;line-height:1.55}.centered-title{text-align:center;max-width:900px;margin:0 auto 18px}.centered-title p{margin:8px auto 0;color:#64748b;line-height:1.8}.premium-modules{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.premium-modules article{min-height:245px;padding:24px;border-radius:28px;background:#fff;border:1px solid #dfe7f2;box-shadow:0 18px 55px rgba(15,23,42,.06)}.premium-modules article span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eaf2ff;color:#1d4ed8;font-weight:900;margin-bottom:16px}.premium-modules h3{font-size:22px;line-height:1.2;margin:0 0 10px}.premium-modules p{color:#64748b;line-height:1.75;margin:0}.premium-finance-band{align-items:flex-start;gap:24px}.premium-finance-band p{color:#d7e3fb;line-height:1.8;max-width:720px}.workflow-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.workflow-timeline article{padding:18px;border-radius:24px;background:#fff;border:1px solid #dfe7f2;box-shadow:0 16px 42px rgba(15,23,42,.055)}.workflow-timeline b{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#10203a;color:#fff;margin-bottom:12px}.workflow-timeline h3{font-size:17px;margin:0 0 8px}.workflow-timeline p{color:#64748b;line-height:1.65;margin:0}.landing-cta-final{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px 0;padding:28px;border-radius:30px;background:linear-gradient(135deg,#10203a,#1d4ed8);color:#fff}.landing-cta-final .eyebrow,.landing-cta-final h2{color:#fff}.landing-cta-final h2{font-size:clamp(24px,3vw,38px);line-height:1.15;margin:8px 0 0;letter-spacing:-.04em}.enterprise-footer{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;padding:26px;border-radius:30px;background:#fff;border:1px solid #dfe7f2}.enterprise-footer p{color:#64748b;line-height:1.7;max-width:520px}.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.footer-columns h4{margin:0 0 10px}.footer-columns a{display:block;margin:7px 0;color:#52657d;font-weight:700}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;padding-top:14px;color:#64748b}
@media(max-width:1250px){.dashboard-click-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-timeline,.landing-value-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.dash-hero-card,.landing-premium-hero,.enterprise-footer,.landing-cta-final{grid-template-columns:1fr;flex-direction:column;align-items:flex-start}.dashboard-chart-grid,.dashboard-click-grid,.premium-modules,.workflow-timeline,.landing-value-strip,.insight-grid{grid-template-columns:1fr}.chart-panel canvas{height:240px}.footer-columns{grid-template-columns:1fr}.enterprise-nav{position:relative;top:auto}.enterprise-nav nav{display:flex;overflow:auto;max-width:100%;padding-bottom:4px}.landing-premium-hero{padding:22px}.premium-modules article{min-height:auto}}


/* ===== V17.2 Global Commerce Navigation Fix ===== */
.nav-global-title{margin-top:18px;color:#93c5fd!important;font-weight:900!important;letter-spacing:.02em}
.nav-global-commerce{padding:10px;border-radius:20px;background:linear-gradient(180deg,rgba(37,99,235,.14),rgba(15,23,42,.10));border:1px solid rgba(147,197,253,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.nav-global-commerce a{font-weight:900!important;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045)}
.nav-global-commerce a.active,.nav-global-commerce a:hover{background:#fff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}
.global-commerce-launchpad{padding:22px 24px;border-radius:28px;background:linear-gradient(135deg,#ffffff,#f7fbff 48%,#edf6ff);border:1px solid #dce8f8;box-shadow:0 22px 70px rgba(15,23,42,.075)}
.global-commerce-launchpad .page-head p{display:block!important;margin:7px 0 0;color:#64748b;line-height:1.7;max-width:760px}
.commerce-flow-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:16px}
.commerce-step{display:block;padding:18px;border-radius:22px;background:#fff;border:1px solid #dfe7f2;box-shadow:0 14px 36px rgba(15,23,42,.055);color:#0f172a;transition:.18s ease;min-height:166px}
.commerce-step:hover{transform:translateY(-3px);border-color:#93b9f6;background:#fbfdff}
.commerce-step b{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#eaf2ff;color:#1d4ed8;margin-bottom:12px}
.commerce-step.primary{background:linear-gradient(135deg,#0f2e66,#2563eb);color:#fff;border-color:#2b63ca}.commerce-step.primary b{background:#fff;color:#1d4ed8}.commerce-step.primary span{color:#dbeafe!important}
.commerce-step strong{display:block;font-size:17px;line-height:1.25;margin-bottom:8px}.commerce-step span{display:block;color:#64748b;font-size:13px;line-height:1.6}
@media(max-width:1250px){.commerce-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.commerce-flow-grid{grid-template-columns:1fr}.commerce-step{min-height:auto}}


/* ===== v18 B2B Booking Portal: TBO/Hotelbeds-style booking desk ===== */
.b2b-portal{display:grid;gap:22px}
.b2b-bluebar{background:linear-gradient(135deg,#075eaa,#0d6bc0);color:#fff;border-radius:26px;padding:18px;display:grid;grid-template-columns:220px 1fr auto;gap:16px;align-items:center;box-shadow:0 18px 50px rgba(12,91,169,.22)}
.b2b-logo{font-size:25px;font-weight:900;letter-spacing:-.03em;white-space:nowrap}.b2b-logo span{color:#ffca40}
.b2b-topnav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.b2b-topnav a{color:#e8f2ff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:10px 12px;border-radius:14px;font-weight:800;display:flex;gap:7px;align-items:center}.b2b-topnav a.active,.b2b-topnav a:hover{background:#fff;color:#075eaa}
.b2b-user-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:10px 14px;display:grid;gap:2px}.b2b-user-pill small{opacity:.8}.b2b-user-pill strong{font-size:14px}
.b2b-search-card{background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:0 22px 80px rgba(15,23,42,.08);padding:22px}
.b2b-search-grid{display:grid;grid-template-columns:2fr 1.25fr 1.1fr auto;gap:14px;align-items:end}
.b2b-field{border:1px solid #f2b73c;border-radius:12px;padding:10px 12px;background:#fff}.b2b-field label{font-size:12px;color:#475569;margin-bottom:4px;display:block}.b2b-field input,.b2b-field select{border:none;padding:7px 0;width:100%;outline:none;background:transparent;font-weight:700}
.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inline-fields.three{grid-template-columns:1fr 1fr 1fr}
.b2b-search-button{height:62px;background:#f6b42d;color:#12213d;border:none;border-radius:12px;font-size:18px;padding:0 30px;box-shadow:none}
.nationality{grid-column:1 / span 2;border-color:#d9e7f6}.smart-search{grid-column:3 / span 2;display:grid;grid-template-columns:180px 1fr;align-items:center;border:1px solid #d7b5ff;background:#fbf6ff;border-radius:12px;overflow:hidden}.smart-search strong{padding:14px 18px;border-inline-end:1px solid #eadcff;color:#5b21b6}.smart-search input{border:none;background:transparent;padding:14px 18px;outline:none}
.b2b-step-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.b2b-step-strip div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;display:flex;gap:12px;align-items:center}.b2b-step-strip strong{background:#0d6bc0;color:#fff;width:34px;height:34px;display:grid;place-items:center;border-radius:50%}.b2b-step-strip span{font-weight:800;color:#334155}
.b2b-results-layout{display:grid;grid-template-columns:260px 1fr;gap:20px}.b2b-filter-panel{position:sticky;top:24px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;display:grid;gap:10px}.b2b-filter-panel h3{margin:0 0 8px}.b2b-filter-panel a{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;color:#334155;background:#f8fafc;font-weight:800}.b2b-filter-panel a.active,.b2b-filter-panel a:hover{background:#eaf2ff;color:#0d6bc0}.filter-note{margin-top:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:13px;color:#7c2d12}.filter-note p{margin:.3rem 0 0;font-size:13px;line-height:1.55}
.b2b-results-main{display:grid;gap:18px}.result-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.result-heading h2{margin:.15rem 0 0}.result-counts{display:flex;gap:8px;flex-wrap:wrap}.result-counts span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:800;color:#475569}
.hotel-card-grid{display:grid;gap:18px}.hotel-result-card{display:grid;grid-template-columns:310px 1fr;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 18px 60px rgba(15,23,42,.07)}.hotel-image{position:relative;min-height:235px;background:#f1f5f9;display:block}.hotel-image img{width:100%;height:100%;min-height:235px;object-fit:cover;display:block}.star-badge{position:absolute;top:14px;inset-inline-start:14px;background:#fff;color:#0f172a;border-radius:999px;padding:7px 11px;font-weight:900;box-shadow:0 8px 24px rgba(15,23,42,.15)}
.hotel-card-body{padding:20px;display:grid;gap:12px}.hotel-card-title{display:flex;justify-content:space-between;gap:12px}.hotel-card-title h3{margin:0;font-size:22px}.hotel-card-title p,.hotel-desc{color:#64748b;margin:.2rem 0 0;line-height:1.6}.source-pill{display:inline-flex;align-items:center;justify-content:center;align-self:start;border-radius:999px;background:#eef6ff;color:#0d6bc0;border:1px solid #cfe3ff;padding:7px 11px;font-size:12px;font-weight:900}.amenity-row{display:flex;flex-wrap:wrap;gap:8px}.amenity-row span{background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:#475569}.amenity-row.large span{font-size:13px;padding:8px 12px}
.hotel-commercial-row{display:grid;grid-template-columns:110px 150px auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:12px}.hotel-commercial-row small{display:block;color:#64748b}.hotel-commercial-row strong{font-size:19px}
.service-grid,.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.service-card,.package-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;display:grid;gap:10px;box-shadow:0 16px 50px rgba(15,23,42,.06)}.service-card h3,.package-card h3{margin:0}.service-card p,.package-card p{margin:0;color:#64748b}.service-meta{display:flex;flex-wrap:wrap;gap:8px;color:#64748b;font-size:13px}.package-top{display:flex;justify-content:space-between;gap:8px}.package-top span{background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:6px 10px;font-weight:900}
.details-back-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.hotel-hero-detail{background:linear-gradient(135deg,#0f3f76,#0d6bc0);color:#fff;border-radius:28px;padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:end}.hotel-hero-copy h1{font-size:38px;margin:.2rem 0}.hotel-hero-copy p{color:#dbeafe;margin:0}.hotel-hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.hotel-hero-badges span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 12px;font-weight:800}.hotel-hero-price{background:#fff;color:#0f172a;border-radius:22px;padding:18px;min-width:210px}.hotel-hero-price small{color:#64748b}.hotel-hero-price strong{display:block;font-size:30px;margin:4px 0}.hotel-hero-price span{color:#64748b}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:18px 0}.gallery-grid img{width:100%;height:190px;object-fit:cover;border-radius:20px;border:1px solid var(--line);background:#f8fafc}.gallery-grid .main-gallery-img{grid-row:span 2;height:392px}
.hotel-detail-layout{display:grid;grid-template-columns:1fr 360px;gap:20px}.detail-card{padding:22px;margin-bottom:16px}.detail-card h2{margin-top:0}.room-rate-list{display:grid;gap:10px}.room-rate-card{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px}.room-rate-card h3{margin:0}.room-rate-card p{margin:.2rem 0 0;color:#64748b}
.booking-panel{position:sticky;top:24px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 18px 60px rgba(15,23,42,.08)}.booking-panel h2{margin-top:0}.booking-panel p{color:#64748b}.booking-form{display:grid;gap:12px}.booking-form label{font-size:12px;color:#64748b;font-weight:800}.booking-form input,.booking-form select{width:100%;padding:11px;border:1px solid var(--line);border-radius:12px}.booking-note{margin-top:14px;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:4px}.booking-note span{color:#64748b;font-size:13px}
.booking-success-page{display:grid;gap:18px}.success-card{display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,#ecfdf5,#fff);border:1px solid #bbf7d0;border-radius:28px;padding:24px}.success-icon{width:62px;height:62px;border-radius:50%;background:#16a34a;color:#fff;display:grid;place-items:center;font-size:34px;font-weight:900}.success-card h1{margin:.2rem 0}.success-card p{margin:0;color:#475569}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}.summary-grid div{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px}.summary-grid small{display:block;color:#64748b}.summary-grid strong{font-size:16px}
.property-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.property-admin-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:grid;grid-template-columns:150px 1fr;box-shadow:0 16px 50px rgba(15,23,42,.06)}.property-admin-card img{width:100%;height:100%;min-height:185px;object-fit:cover}.property-admin-card>div{padding:16px}.property-admin-card h3{margin:0}.property-admin-card p{color:#64748b}
.empty-state{padding:28px;text-align:center;color:#64748b}
@media (max-width:1100px){
  .b2b-bluebar{grid-template-columns:1fr}.b2b-search-grid{grid-template-columns:1fr 1fr}.b2b-search-button{height:auto;padding:15px}.smart-search,.nationality{grid-column:auto}.b2b-results-layout,.hotel-detail-layout{grid-template-columns:1fr}.b2b-filter-panel,.booking-panel{position:static}.hotel-result-card{grid-template-columns:1fr}.hotel-commercial-row{grid-template-columns:1fr 1fr}.hotel-commercial-row .btn-primary{grid-column:1/-1}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .main-gallery-img{height:260px;grid-column:1/-1;grid-row:auto}
}
@media (max-width:680px){
  .b2b-search-grid,.b2b-step-strip{grid-template-columns:1fr}.smart-search{grid-template-columns:1fr}.b2b-topnav{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.b2b-topnav a{white-space:nowrap}.hotel-hero-detail{display:grid}.hotel-hero-copy h1{font-size:28px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img,.gallery-grid .main-gallery-img{height:220px}.property-admin-card{grid-template-columns:1fr}.property-admin-card img{height:210px}
}

.login-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:12px}
.login-account-card{display:grid;gap:4px;text-align:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;color:#0f172a;box-shadow:none}
.login-account-card b{font-size:14px}.login-account-card span{font-size:12px;color:#64748b}.login-account-card small{font-size:11px;color:#2563eb;font-weight:800}
.login-account-card.recommended{border-color:#f6b42d;background:#fffaf0}.login-account-card.selected,.login-account-card:hover{border-color:#2563eb;background:#eff6ff}

/* v19 production booking improvements */
.production-booking-screen .b2b-search-grid{grid-template-columns:2fr 1.25fr 1.1fr auto;align-items:end}
.production-booking-screen .b2b-field select{border:none;background:transparent;width:100%;font-weight:800;outline:none;padding:7px 0;color:#0f172a}
.form-section-title{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:4px}.form-section-title h3{margin:0}.form-section-title p{margin:.3rem 0 0;color:#64748b}
.hotel-onboarding-card input[type=file]{background:#fff;border:1px dashed #cbd5e1;border-radius:12px;padding:12px;width:100%}
.workspace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 16px 45px rgba(15,23,42,.06)}.metric-card span{display:block;color:#64748b;font-weight:800}.metric-card strong{display:block;font-size:26px;margin-top:6px;color:#0f172a}
.marketplace-card .itinerary-preview{display:grid;gap:4px;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:12px}.marketplace-card .itinerary-preview small{color:#64748b;line-height:1.5}
.room-rate-card{gap:14px}.room-thumb{width:92px;height:70px;object-fit:cover;border-radius:14px;background:#e2e8f0;border:1px solid var(--line)}
.addons-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.addons-preview-grid article{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:6px}.addons-preview-grid h3{margin:0;font-size:15px}.addons-preview-grid p{margin:0;color:#64748b}.addons-preview-grid strong{font-size:17px}
.booking-addons{display:grid;gap:8px}.checkbox-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px;font-size:13px}.checkbox-row input{width:auto}.checkbox-row strong{font-size:13px;color:#0d6bc0}.danger-text{color:#b91c1c!important}.booking-panel button:disabled{opacity:.55;cursor:not-allowed}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.summary-grid div{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:13px}.summary-grid small{display:block;color:#64748b}.summary-grid strong{display:block;margin-top:5px;color:#0f172a}
@media (max-width: 900px){.production-booking-screen .b2b-search-grid{grid-template-columns:1fr 1fr}.room-rate-card{display:grid;grid-template-columns:80px 1fr}.room-rate-card .badge{grid-column:1/-1}.workspace-grid{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){.production-booking-screen .b2b-search-grid,.workspace-grid{grid-template-columns:1fr}.room-rate-card{grid-template-columns:1fr}.room-thumb{width:100%;height:140px}}

/* v19.1 Real Marketplace Fix - calm, wide, DB-driven B2B portal */
.b2b-real-shell{max-width:1440px;margin:0 auto;padding:18px 22px 44px;color:#0f172a}
.b2b-market-top{display:grid;grid-template-columns:260px 1fr auto;gap:16px;align-items:center;background:linear-gradient(135deg,#0758a8,#0b74d1);border-radius:24px;padding:14px 16px;box-shadow:0 18px 50px rgba(15,23,42,.12);position:relative;z-index:1}
.b2b-market-brand{display:grid;gap:2px;color:#fff}.b2b-market-brand strong{font-size:20px;letter-spacing:-.02em}.b2b-market-brand span{font-size:12px;color:#dbeafe;font-weight:700}
.b2b-market-tabs{display:flex;gap:8px;align-items:center;overflow:auto;scrollbar-width:thin;padding:2px 0}.b2b-market-tabs a{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);color:#fff;border-radius:14px;padding:10px 12px;font-weight:800;font-size:13px;transition:.18s ease}.b2b-market-tabs a:hover,.b2b-market-tabs a.active{background:#fff;color:#0758a8;transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.18)}
.b2b-role-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;color:#fff;padding:10px 14px;min-width:145px;text-align:center}.b2b-role-chip small{display:block;color:#dbeafe;font-size:11px}.b2b-role-chip b{font-size:14px}
.b2b-role-hints{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.b2b-role-hints div{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:13px 14px;display:grid;gap:3px;box-shadow:0 12px 35px rgba(15,23,42,.05)}.b2b-role-hints div.active{border-color:#0b74d1;background:#eff6ff}.b2b-role-hints b{color:#0f172a}.b2b-role-hints span{color:#64748b;font-size:12px;line-height:1.45}
.b2b-search-panel{background:#fff;border:1px solid #dbe7f3;border-radius:24px;padding:16px;box-shadow:0 16px 50px rgba(15,23,42,.06);margin-bottom:14px}.b2b-search-form{display:grid;grid-template-columns:2fr repeat(5,minmax(110px,1fr)) auto;gap:10px}.b2b-search-form label{display:grid;gap:5px;background:#f8fafc;border:1px solid #dbe7f3;border-radius:14px;padding:9px 11px}.b2b-search-form label span{font-size:11px;font-weight:900;color:#64748b}.b2b-search-form input,.b2b-search-form select{border:none;background:transparent;outline:none;min-width:0;color:#0f172a;font-weight:800}.b2b-search-form .wide{grid-column:span 2}.b2b-search-form .smart{grid-column:span 3;background:#fbf7ff;border-color:#e9d5ff}.b2b-search-submit{min-height:56px;align-self:stretch}
.b2b-step-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.b2b-step-row div{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:13px 14px;font-weight:900;display:flex;align-items:center;gap:10px}.b2b-step-row b{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:#0b74d1;color:#fff;flex:0 0 auto}
.b2b-admin-shortcuts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fffbeb;border:1px solid #fde68a;border-radius:18px;padding:12px 14px;margin:14px 0}.b2b-admin-shortcuts b{color:#92400e}.b2b-admin-shortcuts span{color:#92400e;font-size:13px}.b2b-admin-shortcuts a{background:#fff;border:1px solid #fcd34d;border-radius:12px;padding:9px 12px;font-weight:900;color:#0758a8}
.b2b-market-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.b2b-filter-card{position:sticky;top:18px;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:14px;display:grid;gap:8px;box-shadow:0 16px 45px rgba(15,23,42,.06)}.b2b-filter-card h3{margin:0 0 5px}.b2b-filter-card a{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:14px;background:#f8fafc;color:#334155;font-weight:900;font-size:13px}.b2b-filter-card a.active,.b2b-filter-card a:hover{background:#e8f2ff;color:#0758a8}.b2b-filter-card a span{background:#fff;border:1px solid #dbe7f3;border-radius:999px;padding:3px 8px;color:#0758a8}.b2b-results-wide{min-width:0}.b2b-results-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:4px 0 14px}.b2b-results-head small{font-weight:900;color:#64748b}.b2b-results-head h2{font-size:25px;margin:.2rem 0 0;letter-spacing:-.02em}.result-pills{display:flex;gap:8px;flex-wrap:wrap}.result-pills span{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;color:#475569}
.hotel-list-real{display:grid;gap:16px}.hotel-card-real{display:grid;grid-template-columns:290px minmax(0,1fr);background:#fff;border:1px solid #dfe9f5;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.07);transition:.18s ease}.hotel-card-real:hover{transform:translateY(-2px);box-shadow:0 24px 65px rgba(15,23,42,.12)}.hotel-card-img{position:relative;background:#eef2f7;min-height:220px;display:block}.hotel-card-img img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}.hotel-card-img span{position:absolute;top:12px;inset-inline-start:12px;background:#fff;border-radius:999px;padding:7px 10px;font-weight:900;color:#0f172a;box-shadow:0 8px 22px rgba(15,23,42,.16)}.hotel-card-info{padding:18px 20px;display:grid;gap:11px}.hotel-title-row{display:flex;justify-content:space-between;gap:12px}.hotel-title-row h3{margin:0;font-size:22px}.hotel-title-row h3 a{color:#0758a8}.hotel-title-row p,.hotel-card-info>p{margin:.25rem 0 0;color:#64748b;line-height:1.55}.hotel-title-row em{font-style:normal;background:#edf7ff;color:#0758a8;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;align-self:start}.amenities{display:flex;gap:7px;flex-wrap:wrap}.amenities span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 9px;font-size:12px;color:#475569;font-weight:800}.hotel-price-row{display:grid;grid-template-columns:115px 150px auto;gap:12px;align-items:center;border-top:1px solid #e2e8f0;padding-top:12px}.hotel-price-row small{display:block;color:#64748b;font-weight:800}.hotel-price-row b{font-size:18px;color:#0f172a}.hotel-price-row .btn-primary{justify-self:end}
.product-grid-real,.package-grid-real{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.product-card-real,.package-card-real{background:#fff;border:1px solid #dfe9f5;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.07);display:grid}.product-card-real>img,.package-card-real>img{width:100%;height:170px;object-fit:cover;background:#eef2f7}.product-card-body,.package-card-real>div{padding:16px;display:grid;gap:9px}.product-card-body h3,.package-card-real h3{margin:0;font-size:19px}.product-card-body p,.package-card-real p{margin:0;color:#64748b;line-height:1.5}.product-meta{display:flex;gap:7px;flex-wrap:wrap;color:#64748b;font-size:12px}.product-meta span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 8px}.mini-book-form{display:grid;grid-template-columns:1fr 130px 80px 80px;gap:8px;align-items:center}.mini-book-form input{border:1px solid #dbe7f3;border-radius:12px;padding:10px;min-width:0}.mini-book-form button{grid-column:1/-1}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.metric-grid article{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:16px;box-shadow:0 14px 38px rgba(15,23,42,.05)}.metric-grid span{display:block;color:#64748b;font-weight:800}.metric-grid b{font-size:26px;color:#0f172a}.empty-state{background:#fff;border:1px dashed #cbd5e1;border-radius:20px;padding:28px;text-align:center;color:#64748b;font-weight:800}.filter-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:12px;color:#7c2d12}.filter-note p{font-size:12px;line-height:1.5;margin:.35rem 0 0}
@media (max-width:1180px){.b2b-market-top{grid-template-columns:1fr}.b2b-role-chip{text-align:start}.b2b-search-form{grid-template-columns:1fr 1fr 1fr}.b2b-search-form .wide,.b2b-search-form .smart{grid-column:span 2}.b2b-market-layout{grid-template-columns:1fr}.b2b-filter-card{position:static;display:flex;flex-wrap:wrap}.b2b-filter-card h3,.filter-note{width:100%}.hotel-card-real{grid-template-columns:240px 1fr}}
@media (max-width:760px){.b2b-real-shell{padding:12px}.b2b-role-hints,.b2b-step-row,.b2b-search-form{grid-template-columns:1fr}.b2b-search-form .wide,.b2b-search-form .smart{grid-column:auto}.hotel-card-real{grid-template-columns:1fr}.hotel-card-img,.hotel-card-img img{min-height:210px}.hotel-price-row{grid-template-columns:1fr 1fr}.hotel-price-row .btn-primary{grid-column:1/-1;justify-self:stretch}.b2b-results-head{display:grid}.mini-book-form{grid-template-columns:1fr 1fr}.mini-book-form input:first-of-type{grid-column:1/-1}}


/* v19.2 Premium Marketplace UI Fix - cache-busted and RTL safe */
body.b2b-layout-mode{background:#eef4fb;color:#10203a;}
body.b2b-layout-mode .shell{grid-template-columns:286px minmax(0,1fr);background:#eef4fb;}
body.b2b-layout-mode .sidebar{background:linear-gradient(180deg,#081b34,#0d2a50);box-shadow:18px 0 60px rgba(15,23,42,.12);border-inline-end:1px solid rgba(255,255,255,.08);}
body.b2b-layout-mode .sidebar .brand{padding:8px 4px 18px;border-bottom:1px solid rgba(255,255,255,.09);}
body.b2b-layout-mode .sidebar nav a{border:1px solid transparent;transition:background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;}
body.b2b-layout-mode .sidebar nav a.active,body.b2b-layout-mode .sidebar nav a:hover{background:#fff;color:#0b5fc7;border-color:#dce9ff;transform:translateX(-2px);}
html[dir="ltr"] body.b2b-layout-mode .sidebar nav a.active,html[dir="ltr"] body.b2b-layout-mode .sidebar nav a:hover{transform:translateX(2px);}
body.b2b-layout-mode .b2b-marketplace-content{padding:0;min-width:0;background:linear-gradient(180deg,#edf4ff 0%,#f7fafc 58%,#eef4fb 100%);}
body.b2b-layout-mode .content{overflow-x:hidden;}
.b2b-real-shell{width:100%;max-width:none;margin:0;padding:22px 24px 42px;color:#10203a;}
.b2b-market-top{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:260px minmax(0,1fr) 165px;gap:14px;align-items:center;padding:14px 16px;border-radius:0 0 26px 26px;background:linear-gradient(135deg,#0b63ce 0%,#1375d8 58%,#0c5ab3 100%);box-shadow:0 18px 45px rgba(14,71,143,.24);}
html[dir="rtl"] .b2b-market-top{direction:ltr;}
html[dir="rtl"] .b2b-market-tabs,html[dir="rtl"] .b2b-market-brand,html[dir="rtl"] .b2b-role-chip{direction:rtl;}
.b2b-market-brand{display:flex!important;align-items:center;gap:12px;color:#fff;min-width:0;}
.b2b-market-brand::before{content:'JP';width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);font-weight:900;letter-spacing:-.04em;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);}
.b2b-market-brand strong{font-size:20px;line-height:1;color:#fff;white-space:nowrap;letter-spacing:-.02em;}
.b2b-market-brand span{display:block;font-size:12px;color:#dfeeff;font-weight:800;margin-top:2px;}
.b2b-market-tabs{display:flex!important;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:4px;min-width:0;}
.b2b-market-tabs a{display:flex!important;align-items:center;gap:7px;white-space:nowrap;color:#eaf3ff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:15px;padding:10px 13px;font-size:13px;font-weight:900;line-height:1;box-shadow:none;transition:.18s ease;}
.b2b-market-tabs a span{font-size:16px;line-height:1;}
.b2b-market-tabs a:hover,.b2b-market-tabs a.active{color:#0b63ce;background:#fff;border-color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px rgba(8,26,54,.18);}
.b2b-role-chip{display:grid!important;gap:4px;text-align:center;color:#fff;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);}
.b2b-role-chip small{font-size:11px;color:#dbecff;font-weight:800;}.b2b-role-chip b{font-size:13px;color:#fff;}
.b2b-role-hints{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;}
.b2b-role-hints>div{background:rgba(255,255,255,.88);border:1px solid #dfe9f5;border-radius:20px;padding:16px 17px;box-shadow:0 14px 38px rgba(15,23,42,.06);min-height:86px;}
.b2b-role-hints>div.active{background:linear-gradient(180deg,#ffffff,#eef6ff);border-color:#8bbcff;box-shadow:0 18px 45px rgba(11,99,206,.14);}
.b2b-role-hints b{display:block;font-size:15px;margin-bottom:5px;color:#10203a;}.b2b-role-hints span{display:block;font-size:12.5px;line-height:1.65;color:#5b6d84;}
.b2b-search-panel{background:#fff;border:1px solid #dce8f6;border-radius:26px;padding:16px;box-shadow:0 18px 52px rgba(15,23,42,.08);margin-bottom:14px;}
.b2b-search-form{display:grid!important;grid-template-columns:minmax(260px,2.25fr) minmax(140px,.85fr) minmax(140px,.85fr) repeat(3,minmax(92px,.55fr)) 118px;gap:10px;align-items:stretch;}
.b2b-search-form label{margin:0!important;display:grid!important;gap:6px;align-content:center;min-height:66px;padding:10px 13px;background:#f8fbff;border:1px solid #dbe8f5;border-radius:16px;transition:border .18s ease, box-shadow .18s ease, background .18s ease;}
.b2b-search-form label:hover,.b2b-search-form label:focus-within{background:#fff;border-color:#9dc2ff;box-shadow:0 0 0 4px rgba(11,99,206,.08);}
.b2b-search-form label span{font-size:11.5px;color:#61748d;font-weight:900;line-height:1.1;}
.b2b-search-form input,.b2b-search-form select{width:100%;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:0!important;margin:0!important;color:#10203a;font:800 14px/1.35 Cairo,Inter,Arial,sans-serif;appearance:auto;}
.b2b-search-form input[type="date"]{direction:ltr;text-align:start;}
.b2b-search-form input::placeholder{color:#8aa0ba;font-weight:700;}
.b2b-search-form .wide{grid-column:span 2;}
.b2b-search-form .smart{grid-column:span 3;background:#fbf6ff;border-color:#e7d6ff;}
.b2b-search-submit{min-height:66px!important;border-radius:16px!important;background:linear-gradient(135deg,#0b63ce,#2f73f5)!important;color:#fff!important;border:0!important;box-shadow:0 14px 30px rgba(37,99,235,.24)!important;font-weight:900!important;padding:0 20px!important;}
.b2b-step-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:16px 0;}
.b2b-step-row>div{display:flex!important;align-items:center;gap:11px;background:#fff;border:1px solid #e0e9f4;border-radius:18px;padding:13px 16px;font-size:13px;font-weight:900;color:#25364b;box-shadow:0 12px 35px rgba(15,23,42,.05);}
.b2b-step-row b{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0b63ce,#2f73f5);color:#fff;font-size:13px;}
.b2b-admin-shortcuts{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0;padding:13px 15px;border-radius:20px;background:#fff7ed;border:1px solid #fed7aa;color:#8a3c0c;box-shadow:0 10px 28px rgba(251,146,60,.08);}
.b2b-admin-shortcuts b{font-size:14px;}.b2b-admin-shortcuts span{font-size:12.5px;color:#9a4a12;}.b2b-admin-shortcuts a{display:inline-flex;align-items:center;padding:9px 13px;border-radius:13px;background:#fff;border:1px solid #fdba74;color:#0b63ce;font-weight:900;}
.b2b-market-layout{display:grid!important;grid-template-columns:minmax(230px,270px) minmax(0,1fr);gap:18px;align-items:start;margin-top:8px;}
.b2b-filter-card{position:sticky;top:92px;background:#fff;border:1px solid #e0e9f4;border-radius:24px;padding:15px;box-shadow:0 18px 46px rgba(15,23,42,.07);display:grid;gap:8px;}
.b2b-filter-card h3{font-size:18px;margin:2px 0 8px;color:#10203a;}
.b2b-filter-card a{display:flex!important;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border-radius:15px;background:#f7fafd;color:#3c4f68;font-size:13px;font-weight:900;border:1px solid transparent;transition:.18s ease;}
.b2b-filter-card a:hover,.b2b-filter-card a.active{background:#eaf3ff;border-color:#cfe2ff;color:#0b63ce;}
.b2b-filter-card a span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:999px;background:#fff;border:1px solid #dbe8f5;color:#0b63ce;font-size:12px;font-weight:900;}
.filter-note{margin-top:6px;background:#fff8ed;border:1px solid #fed7aa;border-radius:18px;padding:13px;color:#8a3c0c;}.filter-note b{display:block;font-size:13px;}.filter-note p{font-size:12px;line-height:1.65;margin:5px 0 0;}
.b2b-results-wide{min-width:0;}.b2b-results-head{display:flex!important;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 14px;}.b2b-results-head small{display:block;font-weight:900;color:#6b7f98;}.b2b-results-head h2{margin:3px 0 0;font-size:26px;line-height:1.15;color:#10203a;letter-spacing:-.02em;}.result-pills{display:flex;gap:8px;flex-wrap:wrap;}.result-pills span{display:inline-flex;align-items:center;min-height:35px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e0e9f4;color:#42546b;font-size:12px;font-weight:900;}
.hotel-list-real{display:grid;gap:16px;}.hotel-card-real{display:grid!important;grid-template-columns:310px minmax(0,1fr);min-height:238px;overflow:hidden;background:#fff;border:1px solid #dce8f6;border-radius:26px;box-shadow:0 18px 52px rgba(15,23,42,.08);transition:.18s ease;}.hotel-card-real:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(15,23,42,.13);}
.hotel-card-img{position:relative;display:block;background:#eaf0f7;min-height:238px;}.hotel-card-img img{width:100%;height:100%;min-height:238px;object-fit:cover;display:block;}.hotel-card-img span{position:absolute;top:14px;inset-inline-start:14px;display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border-radius:999px;background:#fff;color:#10203a;font-size:12px;font-weight:900;box-shadow:0 9px 24px rgba(15,23,42,.18);}
.hotel-card-info{padding:18px 20px;display:grid;gap:11px;align-content:start;}.hotel-title-row{display:flex;justify-content:space-between;gap:16px;}.hotel-title-row h3{margin:0;font-size:22px;line-height:1.25;}.hotel-title-row h3 a{color:#0b63ce;}.hotel-title-row p{margin:5px 0 0;color:#667891;font-size:13px;}.hotel-title-row em{font-style:normal;white-space:nowrap;align-self:flex-start;padding:6px 10px;border-radius:999px;background:#edf7ff;color:#0b63ce;font-size:11px;font-weight:900;}.hotel-card-info>p{margin:0;color:#566980;line-height:1.65;font-size:13px;}
.amenities{display:flex;gap:7px;flex-wrap:wrap;}.amenities span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f6f9fd;border:1px solid #e0e9f4;color:#51637a;font-size:12px;font-weight:800;}
.hotel-price-row{display:grid!important;grid-template-columns:120px 155px minmax(170px,auto);align-items:center;gap:12px;padding-top:12px;border-top:1px solid #e6eef7;margin-top:2px;}.hotel-price-row small{display:block;color:#72849b;font-size:11px;font-weight:900;}.hotel-price-row b{display:block;margin-top:3px;color:#10203a;font-size:18px;}.hotel-price-row .btn-primary{justify-self:end;min-height:44px;border-radius:14px!important;background:linear-gradient(135deg,#0b63ce,#2f73f5)!important;color:#fff!important;font-weight:900;box-shadow:0 12px 28px rgba(37,99,235,.22);}
.product-grid-real,.package-grid-real{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(286px,1fr));gap:16px;}.product-card-real,.package-card-real{display:grid!important;overflow:hidden;background:#fff;border:1px solid #dce8f6;border-radius:24px;box-shadow:0 18px 52px rgba(15,23,42,.08);transition:.18s ease;}.product-card-real:hover,.package-card-real:hover{transform:translateY(-2px);box-shadow:0 24px 70px rgba(15,23,42,.12);}.product-card-real>img,.package-card-real>img{width:100%;height:180px;object-fit:cover;background:#eaf0f7;display:block;}.product-card-body,.package-card-real>div{padding:16px;display:grid;gap:9px;}.product-card-body h3,.package-card-real h3{margin:0;font-size:19px;line-height:1.35;color:#10203a;}.product-card-body p,.package-card-real p{margin:0;color:#65778e;line-height:1.55;font-size:13px;}.product-meta{display:flex;gap:6px;flex-wrap:wrap;color:#65778e;font-size:12px;}.product-meta span{background:#f7fafd;border:1px solid #e0e9f4;border-radius:999px;padding:5px 8px;}.product-card-body strong,.package-card-real strong{font-size:20px;color:#10203a;}.mini-book-form{display:grid!important;grid-template-columns:1fr 120px 75px 75px;gap:8px;}.mini-book-form input{min-width:0;border:1px solid #dbe8f5;border-radius:13px;padding:10px;background:#fff;}.mini-book-form button{grid-column:1/-1;border-radius:13px!important;}
.metric-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}.metric-grid article{background:#fff;border:1px solid #dce8f6;border-radius:22px;padding:17px;box-shadow:0 16px 42px rgba(15,23,42,.06);}.metric-grid span{display:block;color:#6b7f98;font-weight:900;font-size:12px;}.metric-grid b{display:block;font-size:26px;margin-top:6px;color:#10203a;}.empty-state{padding:30px;text-align:center;background:#fff;border:1px dashed #bac9dc;border-radius:22px;color:#60738a;font-weight:900;}
/* Hotel detail polish */
.hotel-details-page{max-width:1320px;margin:0 auto;padding:22px 24px 42px;}.details-back-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;}.source-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#edf7ff;color:#0b63ce;font-weight:900;border:1px solid #cfe2ff;}.hotel-hero-detail{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:end;padding:24px;border-radius:28px;background:linear-gradient(135deg,#0b63ce,#132f5d);color:#fff;box-shadow:0 20px 60px rgba(15,23,42,.16);}.hotel-hero-copy h1{font-size:38px;line-height:1.08;margin:6px 0 8px;color:#fff;}.hotel-hero-copy p{color:#dcecff;margin:0 0 12px;}.hotel-hero-badges{display:flex;gap:8px;flex-wrap:wrap;}.hotel-hero-badges span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px;}.hotel-hero-price{background:#fff;color:#10203a;border-radius:22px;padding:18px;text-align:center;}.hotel-hero-price small,.hotel-hero-price span{display:block;color:#6b7f98;font-weight:800;}.hotel-hero-price strong{display:block;font-size:28px;margin:5px 0;color:#10203a;}.gallery-grid{display:grid!important;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:170px;gap:10px;margin:18px 0;}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:18px;background:#eaf0f7;}.gallery-grid .main-gallery-img{grid-row:span 2;border-radius:24px;}.hotel-detail-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 350px;gap:18px;align-items:start;}.detail-card{margin-bottom:16px;}.booking-panel{position:sticky;top:94px;background:#fff;border:1px solid #dce8f6;border-radius:24px;padding:18px;box-shadow:0 18px 52px rgba(15,23,42,.08);}.booking-panel h2{margin-top:0;}.booking-form{display:grid;gap:12px;}.booking-form label{display:block;font-size:12px;font-weight:900;color:#60738a;margin-bottom:6px;}.booking-form input,.booking-form select{width:100%;border:1px solid #dbe8f5;border-radius:13px;padding:11px;background:#fff;font:inherit;}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.inline-fields.three{grid-template-columns:1fr 1fr 1fr;}.booking-panel button{width:100%;border-radius:14px!important;min-height:48px!important;}.amenity-row.large{display:flex;gap:8px;flex-wrap:wrap;}.amenity-row.large span{padding:7px 10px;border-radius:999px;background:#f7fafd;border:1px solid #e0e9f4;font-weight:800;color:#51637a;}.room-rate-list{display:grid;gap:10px;}.room-rate-card{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:12px;align-items:center;background:#f8fbff;border:1px solid #e0e9f4;border-radius:18px;padding:12px;}.room-thumb{width:86px;height:68px;border-radius:14px;object-fit:cover;background:#eaf0f7;}
@media (max-width:1200px){body.b2b-layout-mode .shell{grid-template-columns:260px minmax(0,1fr)}.b2b-market-top{grid-template-columns:1fr}.b2b-role-chip{text-align:start}.b2b-role-hints{grid-template-columns:repeat(2,1fr)}.b2b-search-form{grid-template-columns:repeat(3,minmax(0,1fr))}.b2b-search-form .wide,.b2b-search-form .smart{grid-column:span 2}.b2b-market-layout,.hotel-detail-layout{grid-template-columns:1fr}.b2b-filter-card,.booking-panel{position:static}.b2b-filter-card{display:flex;flex-wrap:wrap}.b2b-filter-card h3,.filter-note{width:100%}.hotel-card-real{grid-template-columns:270px minmax(0,1fr)}}
@media (max-width:900px){body.b2b-layout-mode .shell{grid-template-columns:1fr}.b2b-real-shell,.hotel-details-page{padding:14px}.b2b-market-top{border-radius:22px}.b2b-role-hints,.b2b-step-row,.b2b-search-form{grid-template-columns:1fr}.b2b-search-form .wide,.b2b-search-form .smart{grid-column:auto}.hotel-card-real{grid-template-columns:1fr}.hotel-card-img,.hotel-card-img img{min-height:210px}.hotel-price-row{grid-template-columns:1fr 1fr}.hotel-price-row .btn-primary{grid-column:1/-1;justify-self:stretch}.b2b-results-head{display:grid!important}.hotel-hero-detail{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.gallery-grid .main-gallery-img{grid-column:1/-1;grid-row:auto}.mini-book-form{grid-template-columns:1fr 1fr}.mini-book-form input:first-of-type{grid-column:1/-1}}
@media (max-width:640px){.b2b-market-tabs a{font-size:12px;padding:9px 10px}.hotel-title-row,.details-back-row{display:grid}.hotel-price-row,.inline-fields,.inline-fields.three,.room-rate-card{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:190px}.hotel-hero-copy h1{font-size:28px}.b2b-results-head h2{font-size:22px}}
/* v19.8 agency signup workflow */
.field-error{display:block;color:#b42318;font-size:12px;font-weight:800;margin-top:6px}.agency-request-card{max-width:1120px}.agency-request-shell .grid-form{align-items:start}.alert.warning{background:#fff7e6;border:1px solid #fedf89;color:#7a2e0e}


/* v19.13 Pro UI - calm enterprise theme, clean pages, and clearer booking controls */
:root{
  --pro-bg:#f3f6fb;
  --pro-surface:rgba(255,255,255,.94);
  --pro-surface-solid:#ffffff;
  --pro-line:#dbe5f0;
  --pro-text:#102033;
  --pro-muted:#62758c;
  --pro-primary:#0b63ce;
  --pro-primary-2:#2f73f5;
  --pro-success:#0f9d74;
  --pro-warning:#f59e0b;
  --pro-radius:22px;
  --pro-shadow:0 18px 48px rgba(15,23,42,.08);
  --pro-shadow-soft:0 10px 28px rgba(15,23,42,.06);
}
body.pro-ui{background:radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 28%),linear-gradient(180deg,#f6f8fc 0%,#eef3f9 100%);color:var(--pro-text);}
body.pro-ui .shell{background:transparent;}
body.pro-ui .sidebar{background:linear-gradient(180deg,#0c2443 0%,#081a32 100%);border-inline-end:0;box-shadow:18px 0 55px rgba(15,23,42,.10);}
body.pro-ui .brand{padding:18px 14px;margin:0 0 12px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);}
body.pro-ui .brand .logo{background:linear-gradient(135deg,#ffffff,#dbeafe)!important;color:#0b63ce!important;border-radius:17px;box-shadow:0 12px 30px rgba(0,0,0,.20);}
body.pro-ui .brand h2{font-weight:900;letter-spacing:-.02em;}
body.pro-ui .brand small{color:#adc4e2;line-height:1.55;}
body.pro-ui .sidebar-mini-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:20px;padding:13px;}
body.pro-ui .sidebar-mini-card strong{color:#fff;font-size:14px;}
body.pro-ui .sidebar-mini-card span,body.pro-ui .sidebar-mini-card small{color:#adc4e2;}
body.pro-ui .nav-group-title{margin:18px 8px 8px;color:#8fb2dc;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
body.pro-ui .sidebar nav{display:grid;gap:5px;margin-bottom:4px;}
body.pro-ui .sidebar nav a{position:relative;display:flex;align-items:center;gap:8px;min-height:38px;padding:9px 11px;border-radius:14px;color:#d9e8fb;background:transparent;border:1px solid transparent;font-weight:800;transition:background .16s ease, color .16s ease, transform .16s ease, border-color .16s ease;}
body.pro-ui .sidebar nav a::before{content:'';width:7px;height:7px;border-radius:999px;background:#7aa7e8;opacity:.55;flex:0 0 auto;}
body.pro-ui .sidebar nav a:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.12);color:#fff;transform:translateX(-2px);}
body.pro-ui.ltr .sidebar nav a:hover{transform:translateX(2px);}
body.pro-ui .sidebar nav a.active{background:linear-gradient(135deg,#ffffff,#e8f1ff);color:#0b376d;box-shadow:0 12px 28px rgba(0,0,0,.18);}
body.pro-ui .sidebar nav a.active::before{background:#0b63ce;opacity:1;}
body.pro-ui .content{padding:24px 26px 44px;background:transparent;}
body.pro-ui .topbar{background:var(--pro-surface);backdrop-filter:blur(12px);border:1px solid var(--pro-line);border-radius:28px;padding:20px 22px;box-shadow:var(--pro-shadow-soft);margin-bottom:20px;}
body.pro-ui .breadcrumb{color:var(--pro-muted);font-weight:800;}
body.pro-ui .topbar h1{font-size:clamp(26px,3vw,36px);letter-spacing:-.03em;margin-top:6px;color:var(--pro-text);}
body.pro-ui .pill{border-radius:999px;font-weight:900;}
body.pro-ui .pro-version{background:#eaf3ff!important;color:#0b63ce!important;border:1px solid #cfe2ff!important;}
body.pro-ui .card,body.pro-ui .panel,body.pro-ui .chart-card,body.pro-ui .hero-card,body.pro-ui .form-card{background:var(--pro-surface-solid);border:1px solid var(--pro-line);border-radius:var(--pro-radius);box-shadow:var(--pro-shadow-soft);}
body.pro-ui .card.form-card{padding:26px;}
body.pro-ui .page-head{background:var(--pro-surface);border:1px solid var(--pro-line);border-radius:26px;padding:18px 20px;box-shadow:var(--pro-shadow-soft);display:flex;align-items:center;justify-content:space-between;gap:14px;}
body.pro-ui .page-head h2{margin:0;font-weight:900;letter-spacing:-.025em;color:var(--pro-text);}
body.pro-ui .page-head p,body.pro-ui .muted{color:var(--pro-muted);}
body.pro-ui input,body.pro-ui select,body.pro-ui textarea{border:1px solid #d7e3ef!important;border-radius:15px!important;background:#fff!important;box-shadow:inset 0 1px 2px rgba(15,23,42,.025);transition:border-color .16s ease, box-shadow .16s ease;}
body.pro-ui input:focus,body.pro-ui select:focus,body.pro-ui textarea:focus{outline:none;border-color:#7da8f3!important;box-shadow:0 0 0 4px rgba(37,99,235,.10)!important;}
body.pro-ui label{font-weight:900;color:#334963;}
body.pro-ui .btn-primary,body.pro-ui button.btn-primary,body.pro-ui .form-actions .btn-primary{background:linear-gradient(135deg,var(--pro-primary),var(--pro-primary-2))!important;border:0!important;border-radius:15px!important;color:#fff!important;font-weight:900;box-shadow:0 14px 30px rgba(37,99,235,.22);}
body.pro-ui .btn-secondary{background:#fff!important;border:1px solid #d6e2ef!important;border-radius:15px!important;color:#263b54!important;font-weight:900;}
body.pro-ui .table-wrap{background:#fff;border:1px solid var(--pro-line);border-radius:22px;box-shadow:var(--pro-shadow-soft);padding:8px;}
body.pro-ui .table-scroll-hint{display:none;color:#6b7f98;font-size:11px;font-weight:900;padding:7px 9px;}
body.pro-ui table.table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;}
body.pro-ui .table th{background:#f6f9fd!important;color:#42546d;font-size:12px;text-transform:none;letter-spacing:0;border-bottom:1px solid #e2ebf5;}
body.pro-ui .table td{border-bottom:1px solid #eef3f8;color:#25364a;}
body.pro-ui .table tr:hover td{background:#fbfdff;}
body.pro-ui .alert{border-radius:18px!important;font-weight:800;}
body.pro-ui .stats-grid .stat-card,body.pro-ui .focus-card,body.pro-ui .metric-chip{border-radius:22px;border:1px solid #dfe8f4;background:#fff;box-shadow:var(--pro-shadow-soft);}
/* Marketplace pro tuning */
body.b2b-layout-mode .jp-market{max-width:1560px;padding:16px 22px 48px;}
.jp-topbar{background:linear-gradient(135deg,#0b63ce,#082b5a)!important;border-radius:0 0 26px 26px!important;box-shadow:0 22px 55px rgba(11,99,206,.18)!important;}
.jp-tabs a{border-radius:999px!important;font-weight:900!important;}
.jp-tabs a.active{box-shadow:0 10px 24px rgba(0,0,0,.12);}
.jp-search,.jp-filter,.jp-hotel-card,.product-card,.package-card{border-radius:24px!important;box-shadow:var(--pro-shadow-soft)!important;border:1px solid #dbe6f2!important;}
.jp-search form{gap:12px!important;}
.jp-field span,.jp-filter label{font-weight:900;color:#334963;}
.jp-steps{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;}
.jp-step{border-radius:20px!important;box-shadow:var(--pro-shadow-soft);}
.jp-step b{background:linear-gradient(135deg,#0b63ce,#2f73f5)!important;}
.jp-category{min-height:44px;border-radius:15px!important;align-items:center;}
.jp-category span{min-width:34px;text-align:center;background:#eef6ff!important;color:#0b63ce!important;border-color:#cfe2ff!important;}
.jp-category.active{background:#fff7d6!important;border-color:#f5cf5d!important;color:#102033!important;}
.jp-results-head{background:#fff;border:1px solid #dbe6f2;border-radius:24px;padding:14px 16px;box-shadow:var(--pro-shadow-soft);}
.jp-sort a,.jp-view-pill{border-radius:999px!important;}
.jp-hotel-card,.product-card,.package-card{overflow:hidden;transition:transform .16s ease, box-shadow .16s ease;}
.jp-hotel-card:hover,.product-card:hover,.package-card:hover{transform:translateY(-2px);box-shadow:0 24px 64px rgba(15,23,42,.12)!important;}
.product-card img,.package-card img{height:190px!important;object-fit:cover;background:#eaf0f7;}
.product-card .body,.package-card .body{padding:17px!important;display:grid;gap:10px;}
.product-card h3,.package-card h3{font-size:20px;line-height:1.3;color:#102033;margin:0;}
.product-service-facts span{border-radius:999px!important;background:#f4f8fd!important;border:1px solid #dfeaf5!important;}
.mini-book-form.service-booking-form,.mini-book-form.package-booking-form{background:#f7fbff!important;border:1px solid #dbe8f5!important;border-radius:18px!important;padding:13px!important;}
.mini-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.mini-field span{font-size:12px!important;color:#334963!important;font-weight:900!important;}
.mini-help{background:#fff!important;border-radius:14px!important;color:#60738a!important;}
.jp-empty,.empty-state{background:#fff;border:1px dashed #b9c9dc;border-radius:24px;padding:28px;text-align:center;color:#60738a;font-weight:900;}
/* Professional confirmation modal */
.joiner-confirm-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;}
.joiner-confirm-modal.is-open{display:flex;}
.joiner-confirm-backdrop{position:absolute;inset:0;background:rgba(8,20,38,.54);backdrop-filter:blur(6px);}
.joiner-confirm-box{position:relative;width:min(440px,100%);background:#fff;border:1px solid #dce6f2;border-radius:28px;box-shadow:0 32px 90px rgba(0,0,0,.25);padding:26px;text-align:center;animation:joinerModalIn .16s ease-out;}
.joiner-confirm-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:20px;background:linear-gradient(135deg,#0b63ce,#2f73f5);display:grid;place-items:center;color:#fff;font-size:28px;font-weight:900;box-shadow:0 16px 36px rgba(37,99,235,.25);}
.joiner-confirm-box h3{margin:0 0 8px;font-size:24px;color:#102033;}
.joiner-confirm-message{margin:0;color:#60738a;line-height:1.7;font-weight:700;}
.joiner-confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:20px;}
.joiner-confirm-actions button{min-width:130px;min-height:46px;}
@keyframes joinerModalIn{from{transform:translateY(10px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@media (max-width:1100px){body.pro-ui .content{padding:18px}.jp-layout{grid-template-columns:1fr!important}.jp-filter{position:static!important}.jp-search form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.jp-search form .jp-smart{grid-column:1/-1!important}.jp-search form button{grid-column:1/-1!important}}
@media (max-width:760px){body.pro-ui .page-head,body.pro-ui .topbar{display:grid;border-radius:22px}.jp-search form,.mini-book-grid{grid-template-columns:1fr!important}.jp-results-head{display:grid!important}.joiner-confirm-actions{display:grid}.joiner-confirm-actions button{width:100%}.table-scroll-hint{display:block!important}}


/* v19.18 professional onboarding and cleaner public/B2B UI */
.enterprise-request-card{max-width:1180px!important;grid-template-columns:.86fr 1.14fr!important;min-height:auto!important;}
.enterprise-request-cover{padding:38px!important;}
.enterprise-request-cover h1{font-size:clamp(34px,4vw,54px)!important;line-height:1.05!important;margin-bottom:16px!important;}
.enterprise-request-cover p{font-size:16px!important;line-height:1.75!important;}
.compact-flow{display:grid!important;gap:12px!important;margin-top:24px!important;}
.compact-flow div{border-radius:18px!important;padding:15px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;}
.onboarding-note{margin-top:18px;border-radius:18px;padding:14px 15px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);display:grid;gap:6px;color:#e6f0ff;}
.onboarding-note strong{color:#fff;}
.quiet-head p{margin-top:4px!important;}
.enterprise-signup-form{gap:14px!important;}
.request-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px;}
.request-product-grid label{display:flex!important;align-items:center;gap:8px;border:1px solid #dbe7f3;background:#fff;border-radius:14px;padding:11px 12px;cursor:pointer;font-weight:900;color:#263b54;}
.request-product-grid input{width:auto!important;box-shadow:none!important;}
.soft-info-card{display:flex;gap:10px;align-items:center;justify-content:space-between;color:#50617a;font-weight:800;}
.soft-info-card strong{color:#102033;}
body.rtl .jp-user-actions, body.rtl .request-product-grid label{direction:rtl;}
@media(max-width:900px){.enterprise-request-card{grid-template-columns:1fr!important}.enterprise-request-cover{padding:28px!important}.soft-info-card{display:grid}.request-product-grid{grid-template-columns:1fr}}

/* v26 clean business UI: remove explanatory filler below page titles */
.page-head p,.compact-head p,.subhead p,.section-help,.workflow-note,.rate-help{display:none!important;}
.permission-matrix{min-width:1100px;table-layout:fixed;}
.permission-matrix th,.permission-matrix td{text-align:center;vertical-align:top;}
.permission-matrix th:first-child,.permission-matrix td:first-child{text-align:start;width:220px;}
.matrix-card .table-wrap{overflow:auto;}


/* v28: quieter dashboards, stronger sidebar sections, smaller hotel title */
body.pro-ui .brand h2{font-size:18px!important;line-height:1.3!important;}
body.pro-ui .brand small{font-size:11px!important;color:#bcd0e8!important;}
body.pro-ui .nav-group-title,
body.pro-ui .nav-global-title{
  margin:22px 6px 10px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06))!important;
  color:#ffffff!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:1000!important;
  letter-spacing:0!important;
  text-transform:none!important;
  border:1px solid rgba(255,255,255,.13)!important;
}
body.pro-ui .sidebar nav a{font-size:13px!important;min-height:34px!important;padding:8px 10px!important;}
.dashboard-pro .dash-hero-card p,
.dashboard-pro .global-commerce-launchpad,
.dashboard-pro .quick-card,
.dashboard-pro .focus-card p,
.dashboard-pro .focus-card em{display:none!important;}
.dashboard-pro .dash-hero-card{padding:24px!important;}
.hotel-hero h1,.global-hotel-page .hotel-hero h1{font-size:28px!important;line-height:1.25!important;}
.global-hotel-page .hero-price strong{font-size:24px!important;}
.global-hotel-page .room-desc,.global-hotel-page .workflow-note,.global-hotel-page .eyebrow{display:none!important;}
.global-hotel-page .detail-card h2{font-size:22px!important;}
.global-hotel-page .room-card-title h3{font-size:20px!important;}

/* v29.1 - Compact dashboard typography for all roles */
body.pro-ui {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.pro-ui .content,
body.pro-ui .page,
body.pro-ui .page-body,
body.pro-ui .dashboard-pro,
body.pro-ui .panel,
body.pro-ui .card,
body.pro-ui .stat-card,
body.pro-ui .focus-card,
body.pro-ui .metric-chip {
  font-size: 12px !important;
}

body.pro-ui .topbar,
body.pro-ui .page-head,
body.pro-ui .dash-hero-card,
body.pro-ui .compact-head {
  padding: 18px 22px !important;
}

body.pro-ui .topbar h1,
body.pro-ui .page-head h1,
body.pro-ui .page-head h2,
body.pro-ui .dash-hero-card h1,
body.pro-ui .dash-hero-card h2,
body.pro-ui .dashboard-pro h1,
body.pro-ui .dashboard-pro h2 {
  font-size: 22px !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

body.pro-ui .dash-hero-card small,
body.pro-ui .page-head small,
body.pro-ui .breadcrumb,
body.pro-ui .badge,
body.pro-ui .pill {
  font-size: 10.5px !important;
}

body.pro-ui .stats-grid,
body.pro-ui .metrics-grid,
body.pro-ui .dashboard-grid {
  gap: 12px !important;
}

body.pro-ui .stat-card,
body.pro-ui .focus-card,
body.pro-ui .metric-chip,
body.pro-ui .kpi-card {
  padding: 13px 14px !important;
  min-height: auto !important;
}

body.pro-ui .stat-label,
body.pro-ui .focus-label,
body.pro-ui .metric-label,
body.pro-ui .kpi-label,
body.pro-ui .stat-card span,
body.pro-ui .focus-card span {
  font-size: 10.5px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}

body.pro-ui .stat-value,
body.pro-ui .focus-card strong,
body.pro-ui .metric-chip strong,
body.pro-ui .kpi-value,
body.pro-ui .stat-card strong,
body.pro-ui .money-value {
  font-size: 20px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

body.pro-ui .stat-value small,
body.pro-ui .stat-value span,
body.pro-ui .currency,
body.pro-ui .money,
body.pro-ui .amount-currency,
body.pro-ui .money-value small {
  font-size: 12px !important;
  display: inline !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

body.pro-ui .btn,
body.pro-ui button,
body.pro-ui input,
body.pro-ui select,
body.pro-ui textarea {
  font-size: 12px !important;
}

body.pro-ui table th {
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  padding: 9px 8px !important;
}

body.pro-ui table td {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
  padding: 9px 8px !important;
}

body.pro-ui .sidebar .brand h2 {
  font-size: 15px !important;
}

body.pro-ui .sidebar .brand small,
body.pro-ui .sidebar-mini-card small,
body.pro-ui .sidebar-mini-card span {
  font-size: 10.5px !important;
}

body.pro-ui .sidebar-mini-card strong {
  font-size: 12px !important;
}

body.pro-ui .nav-group-title,
body.pro-ui .nav-global-title {
  font-size: 11px !important;
  padding: 7px 9px !important;
  margin: 15px 6px 7px !important;
}

body.pro-ui .sidebar nav a {
  font-size: 11.5px !important;
  min-height: 30px !important;
  padding: 6px 9px !important;
  line-height: 1.25 !important;
}

body.pro-ui .chart-card h2,
body.pro-ui .chart-card h3,
body.pro-ui .section-title,
body.pro-ui .card h2,
body.pro-ui .card h3,
body.pro-ui .panel h2,
body.pro-ui .panel h3 {
  font-size: 17px !important;
  line-height: 1.3 !important;
}

body.pro-ui .chart-card,
body.pro-ui .panel,
body.pro-ui .card {
  padding: 16px !important;
}

@media (max-width: 900px) {
  body.pro-ui .topbar h1,
  body.pro-ui .page-head h1,
  body.pro-ui .dash-hero-card h1,
  body.pro-ui .dashboard-pro h1 {
    font-size: 20px !important;
  }
  body.pro-ui .stat-value,
  body.pro-ui .focus-card strong,
  body.pro-ui .metric-chip strong,
  body.pro-ui .kpi-value {
    font-size: 18px !important;
  }
}

/* v29.2 - balanced font size + readable dropdowns */
body.pro-ui {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

body.pro-ui .content,
body.pro-ui .page,
body.pro-ui .page-body,
body.pro-ui .dashboard-pro,
body.pro-ui .panel,
body.pro-ui .card,
body.pro-ui .stat-card,
body.pro-ui .focus-card,
body.pro-ui .metric-chip {
  font-size: 13px !important;
}

body.pro-ui .topbar h1,
body.pro-ui .page-head h1,
body.pro-ui .page-head h2,
body.pro-ui .dash-hero-card h1,
body.pro-ui .dash-hero-card h2,
body.pro-ui .dashboard-pro h1,
body.pro-ui .dashboard-pro h2 {
  font-size: 24px !important;
  line-height: 1.25 !important;
}

body.pro-ui .stat-label,
body.pro-ui .focus-label,
body.pro-ui .metric-label,
body.pro-ui .kpi-label,
body.pro-ui .stat-card span,
body.pro-ui .focus-card span {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body.pro-ui .stat-value,
body.pro-ui .focus-card strong,
body.pro-ui .metric-chip strong,
body.pro-ui .kpi-value,
body.pro-ui .stat-card strong,
body.pro-ui .money-value {
  font-size: 22px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

body.pro-ui .stat-value small,
body.pro-ui .stat-value span,
body.pro-ui .currency,
body.pro-ui .money,
body.pro-ui .amount-currency,
body.pro-ui .money-value small {
  font-size: 14px !important;
  display: inline !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
}

body.pro-ui .btn,
body.pro-ui button,
body.pro-ui input,
body.pro-ui select,
body.pro-ui textarea {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

/* Keep dropdown labels visible everywhere */
body.pro-ui select,
body.pro-ui .field select,
body.pro-ui .card form select,
body.pro-ui .booking-form select,
body.pro-ui .inline-action-form select,
body.pro-ui .b2b-search-form select {
  min-height: 42px !important;
  height: auto !important;
  line-height: 1.45 !important;
  padding-block: 9px !important;
  color: #10203a !important;
  background-color: #fff !important;
  overflow: visible !important;
  text-overflow: ellipsis !important;
}

body.pro-ui select option,
body.pro-ui select optgroup {
  font-size: 14px !important;
  line-height: 1.8 !important;
  min-height: 32px !important;
  padding: 8px 14px !important;
  color: #10203a !important;
  background: #fff !important;
  white-space: normal !important;
}

body.rtl.pro-ui select,
body.rtl.pro-ui select option,
body.rtl.pro-ui select optgroup {
  direction: rtl !important;
  text-align: right !important;
}

body.ltr.pro-ui select,
body.ltr.pro-ui select option,
body.ltr.pro-ui select optgroup {
  direction: ltr !important;
  text-align: left !important;
}

body.pro-ui input,
body.pro-ui textarea {
  min-height: 42px !important;
}

body.pro-ui table th {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}

body.pro-ui table td {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}

body.pro-ui .sidebar nav a {
  font-size: 12.5px !important;
  min-height: 32px !important;
  padding: 7px 10px !important;
  line-height: 1.3 !important;
}

body.pro-ui .nav-group-title,
body.pro-ui .nav-global-title {
  font-size: 12px !important;
  padding: 8px 10px !important;
}

/* v29.3 - readable custom dropdowns in all pages */
body.pro-ui {
  font-size: 13.5px !important;
}
body.pro-ui .btn,
body.pro-ui button,
body.pro-ui input,
body.pro-ui textarea,
body.pro-ui select {
  font-size: 13.5px !important;
}
body.pro-ui .jp-select-wrap {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  z-index: 1;
}
body.pro-ui .jp-select-wrap.is-open {
  z-index: 999999 !important;
}
body.pro-ui select.jp-native-select {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
body.pro-ui .jp-select-button {
  width: 100% !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 14px !important;
  border: 1px solid #d8e6f5 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #10203a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-align: inherit !important;
  overflow: visible !important;
}
body.pro-ui .jp-select-button:disabled {
  opacity: .65 !important;
  cursor: not-allowed !important;
}
body.pro-ui .jp-select-button:focus {
  outline: none !important;
  border-color: #78a8ff !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.12) !important;
}
body.pro-ui .jp-select-label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: block !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.45 !important;
  unicode-bidi: plaintext !important;
}
body.rtl.pro-ui .jp-select-label { text-align: right !important; }
body.ltr.pro-ui .jp-select-label { text-align: left !important; }
body.pro-ui .jp-select-caret {
  flex: 0 0 auto !important;
  color: #64748b !important;
  font-size: 12px !important;
}
body.pro-ui .jp-select-panel {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  min-width: 100% !important;
  width: max-content !important;
  max-width: min(680px, calc(100vw - 48px)) !important;
  max-height: 310px !important;
  overflow: auto !important;
  background: #fff !important;
  border: 1px solid #cbdaf0 !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 45px rgba(15,23,42,.18) !important;
  padding: 6px !important;
  display: none !important;
  z-index: 999999 !important;
}
body.pro-ui .jp-select-wrap.is-open .jp-select-panel {
  display: block !important;
}
body.rtl.pro-ui .jp-select-panel {
  right: 0 !important;
  left: auto !important;
  direction: rtl !important;
}
body.ltr.pro-ui .jp-select-panel {
  left: 0 !important;
  right: auto !important;
  direction: ltr !important;
}
body.pro-ui .jp-select-option,
body.pro-ui .jp-select-group {
  width: 100% !important;
  min-width: 260px !important;
  display: block !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #10203a !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  text-align: inherit !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  unicode-bidi: plaintext !important;
}
body.rtl.pro-ui .jp-select-option,
body.rtl.pro-ui .jp-select-group { text-align: right !important; }
body.ltr.pro-ui .jp-select-option,
body.ltr.pro-ui .jp-select-group { text-align: left !important; }
body.pro-ui .jp-select-option:hover,
body.pro-ui .jp-select-option.is-selected {
  background: #eef5ff !important;
  color: #0b63ce !important;
}
body.pro-ui .jp-select-group {
  color: #64748b !important;
  cursor: default !important;
  font-size: 12px !important;
  background: #f8fafc !important;
  margin-top: 3px !important;
}
body.pro-ui .jp-select-option[aria-disabled="true"] {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

/* V32 QA polish: larger readable UI, safer action links, cleaner permission tables */
body.pro-ui{font-size:15.5px;}
body.pro-ui .content{font-size:15px;}
body.pro-ui .sidebar nav a{font-size:14.25px;min-height:38px;padding-top:10px;padding-bottom:10px;}
body.pro-ui .nav-group-title{font-size:14px;letter-spacing:.01em;}
body.pro-ui .table th{font-size:13.5px;font-weight:900;color:#52627a;}
body.pro-ui .table td{font-size:14.25px;vertical-align:middle;}
body.pro-ui .btn-primary,body.pro-ui .btn-secondary,body.pro-ui button{font-size:14.5px;font-weight:900;}
body.pro-ui .record-link{color:#0d61c8;text-decoration:none;font-weight:900;display:inline-flex;align-items:center;gap:6px;}
body.pro-ui .record-link:hover{text-decoration:underline;color:#084aa0;}
body.pro-ui .link-btn{border:0;background:transparent;color:#0d61c8;font-weight:900;cursor:pointer;padding:0;text-decoration:none;font-family:inherit;}
body.pro-ui .link-btn:hover{text-decoration:underline;}
body.pro-ui .tiny-note{font-size:13px;align-self:center;line-height:1.8;}
body.pro-ui .badge{font-weight:900;}
body.pro-ui .badge.warning,body.pro-ui .badge.pending{background:#fff7ed;color:#9a3412;}
body.pro-ui .badge.success{background:#dcfce7;color:#166534;}
body.pro-ui .badge.gray{background:#eef2f7;color:#334155;}
body.pro-ui .permission-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
body.pro-ui .permission-summary-card{border:1px solid #dbe6f3;border-radius:16px;padding:14px;background:#fff;}
body.pro-ui .permission-summary-card strong{font-size:15px;display:block;margin-bottom:8px;}
body.pro-ui .permission-summary-card .ability-list{display:flex;flex-wrap:wrap;gap:7px;}
body.pro-ui .ability-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#f1f5f9;color:#334155;font-size:12.5px;font-weight:900;}
body.pro-ui .ability-pill.on{background:#dbeafe;color:#1d4ed8;}
body.pro-ui .permission-role-line{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-top:1px dashed #e2e8f0;margin-top:9px;padding-top:9px;}
body.pro-ui .permission-role-line b{font-size:12.5px;color:#0f172a;min-width:94px;}
body.pro-ui .permission-role-line .ability-list{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;}
body.rtl.pro-ui .permission-role-line .ability-list{justify-content:flex-start;}


/* V37 agency readiness */
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.summary-grid>div{background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:13px}.summary-grid small{display:block;color:var(--muted);font-weight:800}.summary-grid strong{display:block;margin-top:5px;color:var(--text)}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
@media(max-width:960px){.three-col{grid-template-columns:1fr}}
/* V61: cleaner enterprise UI - hide verbose helper copy and keep pages focused on labels/actions. */
.page-head p,
.form-section-title p,
small.muted,
.helper,
.form-help,
.table-help,
.text-help {
  display: none !important;
}
.pro-ui .btn, .pro-ui .btn-primary, .pro-ui button, .pro-ui input[type="submit"] {
  white-space: nowrap;
}


/* V63 finance/booking feedback alerts */
.flash-stack{display:grid;gap:10px;margin:0 0 14px 0}.app-alert{border-radius:18px;padding:13px 16px;font-weight:800;border:1px solid #dbeafe;background:#eff6ff;color:#0f2a55;box-shadow:0 10px 26px rgba(15,42,85,.07)}.app-alert-success{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}.app-alert-danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.app-alert-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.app-alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
/* V64 marketplace service booking flash visibility */
.marketplace-flash-stack{max-width:1580px;margin:14px auto 0;padding:0 24px;position:relative;z-index:60}.flash-message{border-radius:16px;padding:12px 16px;font-weight:900;border:1px solid #dbeafe;background:#eff6ff;color:#0f2a55;box-shadow:0 12px 28px rgba(15,42,85,.08)}.flash-success{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}.flash-danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.flash-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.flash-info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}


/* V77 UI cleanup: hide empty helper text after dictionary cleanup */
.form-help:empty,.help:empty,.hint:empty,.text-muted:empty,small:empty{display:none!important}

/* V74 final: searchable sidebar and email-safe polished admin UI */
body.pro-ui .sidebar-search{
  display:flex;align-items:center;gap:8px;margin:10px 0 14px;padding:10px 11px;border-radius:16px;
  background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
body.pro-ui .sidebar-search-icon{color:#b9d2f1;font-size:18px;line-height:1;flex:0 0 auto}
body.pro-ui .sidebar-search input{
  width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:13px;font-weight:700;
  padding:2px 0;direction:inherit;
}
body.pro-ui .sidebar-search input::placeholder{color:#9bb4d2;opacity:1;font-weight:700}
body.pro-ui .sidebar-search button{
  display:none;place-items:center;width:24px;height:24px;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;
  cursor:pointer;font-size:16px;line-height:1;flex:0 0 auto;
}
body.pro-ui .sidebar-search:focus-within{background:rgba(255,255,255,.11);border-color:rgba(125,187,255,.45);box-shadow:0 0 0 3px rgba(59,130,246,.16)}
body.pro-ui .sidebar nav a.nav-hidden-by-search,
body.pro-ui .sidebar nav.nav-empty-by-search,
body.pro-ui .sidebar .nav-group-title.nav-empty-by-search{display:none!important}
body.pro-ui .sidebar.sidebar-search-active nav a:not(.nav-hidden-by-search){background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16);color:#fff}
.email-ltr, td.email-cell, .table td[data-email]{direction:ltr!important;unicode-bidi:plaintext;text-align:start;font-family:Inter,Arial,sans-serif;letter-spacing:.01em}

/* V75 final brand, Arabic-only polish, and safer e-mail rendering */
body.pro-ui .brand{justify-content:center;margin-bottom:18px;padding:14px 10px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
body.pro-ui .brand-logo-img{width:100%;display:grid;place-items:center}
body.pro-ui .brand-logo-img img{width:100%;max-width:235px;height:auto;display:block;border-radius:14px;background:#fff;padding:7px;box-shadow:0 18px 38px rgba(0,0,0,.16)}
.email-ltr, td.email-cell, .table td[data-email], a[href^="mailto:"]{direction:ltr!important;unicode-bidi:isolate!important;text-align:start!important;font-family:Inter,Arial,sans-serif!important;letter-spacing:.01em!important;text-transform:none!important}


/* V76: professional logo sizing + email safety polish */
body.pro-ui .sidebar .brand{
  padding:14px 12px 12px!important;
  margin:0 0 12px!important;
}
body.pro-ui .brand-logo-img{
  width:100%!important;
  min-height:104px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,251,255,.96))!important;
  box-shadow:0 18px 38px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.9)!important;
  overflow:hidden!important;
}
body.pro-ui .brand-logo-img img{
  width:auto!important;
  max-width:190px!important;
  max-height:66px!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
body.pro-ui .sidebar-mini-card .email-ltr,
body.pro-ui .sidebar-mini-card small.email-ltr{
  display:inline-block!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
  font-family:Inter,Arial,sans-serif!important;
  color:#cfe3ff!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.jp-logo img{
  width:auto!important;
  height:46px!important;
  max-width:225px!important;
  object-fit:contain!important;
  display:block!important;
}
.jp-footer-brand img{
  width:auto!important;
  height:auto!important;
  max-width:230px!important;
  max-height:70px!important;
  object-fit:contain!important;
  display:block!important;
}
.ja-brand-logo{
  width:auto!important;
  max-width:320px!important;
  max-height:92px!important;
  object-fit:contain!important;
}
.email-ltr, .email-cell, td.email-cell, .table td[data-email], a[href^="mailto:"]{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
  font-family:Inter,Arial,sans-serif!important;
  text-transform:none!important;
}
@media(max-width:720px){
  .jp-logo img{height:40px!important;max-width:190px!important}
  body.pro-ui .brand-logo-img{min-height:88px!important}
  body.pro-ui .brand-logo-img img{max-width:165px!important;max-height:56px!important}
}


/* V77 final brand polish: transparent official logo, marketplace brand, and cleaner CTAs */
body.pro-ui .sidebar .brand{
  padding:8px 8px 10px!important;
  margin:0 0 12px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.pro-ui .brand-logo-img{
  width:100%!important;
  min-height:78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.pro-ui .brand-logo-img img{
  width:auto!important;
  max-width:210px!important;
  max-height:58px!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.28));
}
body.pro-ui .sidebar-mini-card{
  margin-top:4px!important;
}
.jp-logo img{
  width:auto!important;
  height:50px!important;
  max-width:260px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.jp-footer-brand img{
  width:auto!important;
  height:auto!important;
  max-width:250px!important;
  max-height:72px!important;
  object-fit:contain!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.ja-brand-logo{
  width:auto!important;
  max-width:330px!important;
  max-height:92px!important;
  object-fit:contain!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
/* B2B booking top official brand: remove domain text and JP badge */
.jp-brand.jp-brand-official{
  min-width:190px!important;
  max-width:245px!important;
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px 12px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.jp-brand.jp-brand-official::before{content:none!important;display:none!important}
.jp-brand.jp-brand-official img{
  width:auto!important;
  height:auto!important;
  max-width:210px!important;
  max-height:50px!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.18));
}
.jp-topbar{grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;}
/* Keep emails and technical domains untouched even after dynamic UI polish */
.email-ltr, .email-cell, td.email-cell, .table td[data-email], a[href^="mailto:"], .sidebar-mini-card small{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:left!important;
  font-family:Inter,Arial,sans-serif!important;
  text-transform:none!important;
}
@media(max-width:720px){
  .jp-logo img{height:42px!important;max-width:210px!important}
  body.pro-ui .brand-logo-img{min-height:64px!important}
  body.pro-ui .brand-logo-img img{max-width:180px!important;max-height:50px!important}
  .jp-brand.jp-brand-official{min-width:150px!important;max-width:190px!important}
  .jp-brand.jp-brand-official img{max-width:175px!important;max-height:42px!important}
}


/* V78 official logo clarity polish */
body.pro-ui .sidebar .brand{padding:4px 4px 8px!important;margin:0 0 10px!important}
body.pro-ui .brand-logo-img{min-height:54px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.pro-ui .brand-logo-img img{max-width:190px!important;max-height:42px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:none!important;display:block!important;background:transparent!important}
.jp-brand.jp-brand-official{min-width:175px!important;max-width:200px!important;min-height:42px!important;padding:4px 6px!important;border-radius:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.jp-brand.jp-brand-official img{max-width:185px!important;max-height:34px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:none!important;display:block!important;background:transparent!important}
@media(max-width:720px){
  body.pro-ui .brand-logo-img img{max-width:170px!important;max-height:38px!important}
  .jp-brand.jp-brand-official{min-width:148px!important;max-width:170px!important}
  .jp-brand.jp-brand-official img{max-width:155px!important;max-height:28px!important}
}


/* V80 bilingual language switcher + login tabs */
.language-switcher{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(161,189,230,.65);
  box-shadow:0 12px 34px rgba(14,42,88,.10);
  backdrop-filter:blur(12px);
  direction:ltr;
  z-index:80;
}
.language-switcher .lang-option{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  color:#17345f;
  font-weight:900;
  font-size:12px;
  text-decoration:none;
  white-space:nowrap;
}
.language-switcher .lang-option.active{
  background:linear-gradient(135deg,#38bdf8,#1768f2);
  color:#fff;
  box-shadow:0 8px 20px rgba(23,104,242,.20);
}
.sidebar-language-switcher{
  width:100%;
  justify-content:center;
  margin:0 0 12px!important;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.15);
}
.sidebar-language-switcher .lang-option{color:#dceaff}
.sidebar-language-switcher .lang-option.active{color:#fff}
.guest-language-switcher,.public-language-switcher{
  position:fixed;
  top:18px;
  inset-inline-start:22px;
}
.b2b-language-switcher,.market-language-switcher{
  position:fixed;
  top:18px;
  inset-inline-start:22px;
}
@media(max-width:720px){
  .guest-language-switcher,.public-language-switcher,.b2b-language-switcher,.market-language-switcher{
    top:10px;
    inset-inline-start:10px;
    transform:scale(.92);
    transform-origin:top left;
  }
}


/* V81 homepage language switcher placement fix */
.home-language-switcher{
  position:static!important;
  margin:0!important;
  box-shadow:none!important;
  flex-shrink:0!important;
}
.home-language-switcher .lang-option{
  min-height:34px!important;
  padding:7px 11px!important;
  font-size:12px!important;
}
.public-body > .public-language-switcher{
  display:none!important;
}
@media(max-width:1100px){
  .jp-top{
    height:auto!important;
    min-height:78px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
    flex-wrap:wrap!important;
  }
  .jp-actions-top{
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
  }
}


/* V82 final agency signup and footer polish */
.jp-footer-grid{
  align-items:start!important;
}
.jp-footer-col,.jp-footer-brand{
  align-self:start!important;
  text-align:start!important;
}
.jp-footer p,.jp-footer a,.jp-footer h4{
  text-align:start!important;
}
.jp-footer-contact a{
  width:100%!important;
  text-align:start!important;
}


/* V83 language toggle placement fix */
.sidebar-language-switcher,
.b2b-language-switcher,
.market-language-switcher{
  display:none!important;
}
.language-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 13px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  border:1px solid #cfe0f5!important;
  color:#1768f2!important;
  font-weight:1000!important;
  font-size:13px!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:0 8px 18px rgba(23,104,242,.08)!important;
}
.language-toggle:hover{
  background:#eef6ff!important;
  color:#0b63ce!important;
}
.topbar-actions{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.topbar-language-toggle{
  order:-1!important;
}
.b2b-top-language-toggle{
  min-height:24px!important;
  padding:5px 9px!important;
  font-size:10px!important;
  box-shadow:none!important;
}
.jp-user-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
}
.jp-topbar{
  overflow:visible!important;
}
@media(max-width:720px){
  .topbar-language-toggle{
    min-height:32px!important;
    font-size:12px!important;
    padding:6px 11px!important;
  }
}
