/* =====================================================================
   E2MP compact density layer

   Loaded last by the shared public and authenticated page shells. It keeps
   the portal's existing brand treatment while reducing the oversized type,
   controls, cards and whitespace consistently across page families.
   Mobile form controls remain 16px to prevent browser zoom on focus.
   ===================================================================== */

html { font-size: 14px; }
html:has(body.dashboard-page) { font-size: 14px; }

body:not(.dashboard-page) {
  font-size: 13.5px;
  line-height: 1.5;
}

body:not(.dashboard-page) p,
body:not(.dashboard-page) li,
body:not(.dashboard-page) td,
body:not(.dashboard-page) th,
body:not(.dashboard-page) label,
body:not(.dashboard-page) input,
body:not(.dashboard-page) select,
body:not(.dashboard-page) textarea,
body:not(.dashboard-page) button {
  font-size: inherit;
}

/* Shared public navigation */
.w3l-top-menu-1 .top-hd { padding: 6px 0 !important; }
.w3l-top-menu-1 .social-top li,
.w3l-top-menu-1 .accounts li a { font-size: 12.5px !important; }
.w3l-top-menu-1 .accounts { gap: 16px !important; }
.w3l-bootstrap-header .navbar { padding-top: 6px !important; padding-bottom: 6px !important; }
.w3l-bootstrap-header .navbar-brand img { height: 34px !important; }
.w3l-bootstrap-header .navbar-nav .nav-link {
  padding: 7px 11px !important;
  font-size: 13px !important;
}
.w3l-bootstrap-header .dropdown-item {
  padding: 7px 10px !important;
  font-size: 12.5px !important;
}
.w3l-bootstrap-header p { font-size: 11.5px !important; }
.w3l-bootstrap-header p a { font-size: 13px !important; }
.w3l-bootstrap-header .btn.bg-gradient-success {
  padding: 8px 15px !important;
  font-size: 12.5px !important;
}

/* Shared authenticated navigation */
.topbar .topbar-inner {
  max-width: 1440px;
  padding: 11px 18px 9px;
  gap: 16px;
}
.topbar .brand { font-size: 23px; }
.topbar .nav { gap: 5px; }
.topbar .nav a {
  padding: 8px 12px;
  font-size: 12px;
}
.topbar .topbar-actions {
  flex: 0 0 auto;
  gap: 10px;
  padding-right: 2px;
}
.topbar .icon-btn {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  box-shadow: none;
}
.topbar .user-menu { flex: 0 0 auto; }
.topbar .user-chip {
  min-height: 40px;
  gap: 8px;
  padding: 4px 10px 4px 4px;
  background: #fff;
  border-color: #dfe6ef;
  box-shadow: 0 3px 12px rgba(31, 44, 77, .055);
}
.topbar .avatar {
  width: 32px;
  height: 32px;
  border: 0;
  background: #edf3f9;
  color: #718198;
}
.topbar .user-meta { min-width: 0; }
.topbar .user-meta .name {
  max-width: 128px;
  overflow: hidden;
  font-size: 11.75px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.topbar .user-meta .sub {
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.15;
}
.topbar .user-chip > .fa-chevron-down {
  margin-left: 2px;
  font-size: 10px !important;
}
.topbar .menu-pop { border-radius: 11px; padding: 6px; }
.topbar .menu-pop a { padding: 8px 10px; font-size: 11.5px; }

/* Authenticated dashboard
   Keep the three-column overview information-rich without making every card
   compete for attention.  The smaller type scale is paired with tighter
   spacing, quieter shadows and compact icon treatments. */
body.dashboard-page {
  --shadow: 0 5px 16px rgba(28, 42, 74, .055);
  --shadow-soft: 0 3px 10px rgba(31, 44, 77, .045);
  --radius-xl: 13px;
  --radius-lg: 12px;
  --radius-md: 10px;
  font-size: 13px;
  line-height: 1.42;
}
.dashboard-page .dashboard {
  margin: 14px auto;
  padding: 0 14px 20px;
}
.dashboard-page .layout {
  grid-template-columns: 228px minmax(0, 1fr) 276px;
  gap: 12px;
}
.dashboard-page .left-stack,
.dashboard-page .main-stack,
.dashboard-page .right-stack { gap: 12px; }
.dashboard-page .card {
  border-radius: 13px;
  border-color: rgba(218, 225, 236, .92);
  box-shadow: var(--shadow);
}
.dashboard-page .panel { padding: 13px; }
.dashboard-page .profile-hero { padding: 16px 13px 13px; }
.dashboard-page .avatar-lg {
  width: 58px;
  height: 58px;
  margin-bottom: 9px;
  border-width: 2px;
  box-shadow: 0 7px 16px rgba(0, 0, 0, .13);
}
.dashboard-page .profile-hero h2 { font-size: 1.05rem; }
.dashboard-page .profile-hero p { margin-top: 6px; }
.dashboard-page .pill {
  padding: 4px 8px;
  font-size: .72rem;
}
.dashboard-page .menu-card .menu-title,
.dashboard-page .section-title { margin-bottom: 10px; }
.dashboard-page .section-title h3,
.dashboard-page .menu-title h3,
.dashboard-page .list-block .list-head h3,
.dashboard-page .side-header h3 { font-size: .9rem; }
.dashboard-page .menu-item,
.dashboard-page .link-item {
  gap: 8px;
  padding: 7px 2px;
}
.dashboard-page .menu-item i:first-child,
.dashboard-page .link-item i:first-child {
  width: 27px;
  height: 27px;
  border-radius: 7px;
  font-size: .88rem;
}
.dashboard-page .toggle-item { padding: 7px 0; }
.dashboard-page .switch { width: 36px; height: 20px; }
.dashboard-page .slider::before { width: 14px; height: 14px; }
.dashboard-page .switch input:checked + .slider::before { transform: translateX(16px); }
.dashboard-page .hero-card { padding: 14px; }
.dashboard-page .hero-grid { gap: 12px; }
.dashboard-page .founder-top {
  gap: 11px;
  margin-bottom: 11px;
}
.dashboard-page .founder-top .avatar-lg-inline {
  width: 48px;
  height: 48px;
}
.dashboard-page .founder-title h1 {
  margin-bottom: 6px;
  font-size: 1.4rem;
}
.dashboard-page .founder-title .meta-row { gap: 6px 11px; }
.dashboard-page .meta-item i { margin-right: 5px; }
.dashboard-page .info-grid { gap: 8px; }
.dashboard-page .info-box {
  padding: 8px 10px;
  border-radius: 9px;
}
.dashboard-page .info-box .label {
  margin-bottom: 3px;
  font-size: .74rem;
}
.dashboard-page .info-box .value { font-size: .84rem; }
.dashboard-page .premium-card {
  padding: 14px;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(9, 36, 77, .12);
}
.dashboard-page .premium-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  font-size: .92rem;
}
.dashboard-page .premium-card h3 {
  margin: 10px 0 4px;
  font-size: 1rem;
}
.dashboard-page .premium-card p {
  margin-bottom: 10px;
  line-height: 1.4;
}
.dashboard-page .btn {
  padding: 7px 12px;
  border-radius: 8px;
  font-size: .82rem;
}
.dashboard-page .stats-grid,
.dashboard-page .action-grid { gap: 9px; }
.dashboard-page .stat-card {
  min-height: 98px;
  padding: 10px;
  gap: 4px;
  border-radius: 10px;
}
.dashboard-page .stat-card .icon-wrap {
  width: 35px;
  height: 35px;
  margin-bottom: 3px;
  border-radius: 9px;
  font-size: .9rem;
}
.dashboard-page .stat-card .label {
  font-size: .78rem;
  line-height: 1.25;
}
.dashboard-page .stat-card .number { font-size: 1.5rem; }
.dashboard-page .action-card {
  padding: 11px;
  border-radius: 10px;
}
.dashboard-page .action-card:hover { transform: translateY(-2px); }
.dashboard-page .action-card .head {
  width: 34px;
  height: 34px;
  margin-bottom: 7px;
  border-radius: 8px;
  font-size: .88rem;
}
.dashboard-page .action-card h4 {
  margin-bottom: 4px;
  font-size: .83rem;
}
.dashboard-page .action-card p {
  font-size: .73rem;
  line-height: 1.35;
}
.dashboard-page .list-block .list-head,
.dashboard-page .side-header {
  padding: 10px 13px;
  border-radius: 13px 13px 0 0;
}
.dashboard-page .side-header h3 { margin-bottom: 2px; }
.dashboard-page .side-header p { font-size: .76rem; }
.dashboard-page .list-table { padding: 3px 13px 8px; }
.dashboard-page .rating-body,
.dashboard-page .historical-body { padding: 3px 13px 7px; }
.dashboard-page .room-row,
.dashboard-page .hist-row,
.dashboard-page .rate-row {
  gap: 9px;
  padding: 8px 0;
}
.dashboard-page .room-row { grid-template-columns: 30px minmax(0, 1fr) auto; }
.dashboard-page .room-icon,
.dashboard-page .rate-row .mini-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  font-size: .84rem;
}
.dashboard-page .rate-row { grid-template-columns: 30px minmax(0, 1fr); }
.dashboard-page .rate-row .title { font-size: .8rem; }
.dashboard-page .stars { font-size: .82rem; }
.dashboard-page .room-row .sub,
.dashboard-page .hist-row .sub { margin-top: 2px; font-size: .72rem; }
.dashboard-page .scroll-cap { max-height: 310px; }
.dashboard-page .footer { margin-top: 14px; }
.dashboard-page .footer-inner { padding: 14px 18px; }
.dashboard-page .footer .brand { font-size: 1.25rem; }

@media (max-width: 1260px) and (min-width: 1121px) {
  .dashboard-page .layout {
    grid-template-columns: 210px minmax(0, 1fr) 248px;
    gap: 11px;
  }
}

@media (max-width: 1120px) {
  .dashboard-page .layout { grid-template-columns: 220px minmax(0, 1fr); }
}

@media (max-width: 980px) {
  .dashboard-page .layout { grid-template-columns: 1fr; }
}

/* Page titles and breadcrumb bands */
.w3l-contact-breadcrum .breadcrum-bg,
.w3l-service-breadcrum .breadcrum-bg,
.w3l-about-breadcrum .breadcrum-bg {
  padding: 12px 0 13px !important;
}
.w3l-contact-breadcrum .breadcrum-bg h1,
.w3l-contact-breadcrum .breadcrum-bg h2,
.w3l-service-breadcrum .breadcrum-bg h1,
.w3l-service-breadcrum .breadcrum-bg h2,
.w3l-about-breadcrum .breadcrum-bg h2 {
  font-size: 21px !important;
}
.fp-pagehead { padding: 10px 18px 3px; }
.fp-pagehead h1,
.pf-pagehead h1,
.acct__head h1,
.mr-head h1 { font-size: 21px !important; }
.fp-pagehead p { font-size: 13px !important; }
.fp-help { padding: 8px 12px; font-size: 12px; border-radius: 9px; }

/* Content cards and panels */
.w3l-news .grid-view,
.main-section .card,
.grid-view .card,
.w3l-news .grid-view .card,
.panel.panel-info,
.main-section .post-bar {
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(28,42,74,.065) !important;
}
.w3l-news .grid-view {
  padding: 20px 22px !important;
  margin-bottom: 22px;
}
.main-section .post-bar { padding: 18px 20px !important; margin-bottom: 16px !important; }
.main-section .card .card-header,
.grid-view .card .card-header,
.card-header.text-center1,
.card-header.display-4 {
  padding: 15px 20px !important;
  font-size: 16px !important;
}
.main-section .card .card-body,
.grid-view .card .card-body,
.panel.panel-info .panel-body {
  padding: 20px 22px !important;
}
.card-header.text-center1,
.card-header.display-4 { margin-top: 18px !important; }
.card:has(.floating-form) { margin-top: 18px !important; margin-bottom: 22px !important; }
.card-body .form-group { margin-bottom: 15px; }
.w3l-news:has(.form-check-inline) .col-lg-10 {
  padding: 20px 22px 24px !important;
  border-radius: 14px;
  margin-bottom: 24px;
}
.qz-app .qz-progress { padding: 10px 14px; margin-bottom: 14px; border-radius: 11px; }
.qz-app .qz-q { padding: 14px 16px 13px 48px; margin-bottom: 10px; border-radius: 11px; }

/* Type hierarchy inside content */
.w3l-news #contact h3,
.w3l-news #contact h4,
.w3l-news .grid-view h3,
.wizard .content h3,
.wordpressdevlp h2 {
  font-size: 16px !important;
  margin: 14px 0 9px !important;
}
.w3l-news .grid-view p,
.wordpressdevlp p { font-size: 13px !important; line-height: 1.6; }
.main-ws-sec .post-bar h1,
.main-section .post-bar h1 { font-size: 18px !important; }
.main-ws-sec .post-bar h2,
.main-section .post-bar h2 { font-size: 14px !important; }

/* Form overview: compact, useful state for one-click advisory requests such
   as Compliance Matrix. These request types have no amount/detail fields. */
.form-overview-page main { padding: 24px 0 30px !important; }
.form-overview-page .main-section { padding: 0 0 24px !important; }
.form-overview-page .main-ws-sec > .posts-section { margin-bottom: 14px !important; }
.form-overview-page .posts-section .post-bar { margin-bottom: 0 !important; }
.form-overview-page .form-overview-title.post-bar {
  padding: 14px 18px !important;
  margin-bottom: 0 !important;
}
.form-overview-page .form-overview-title .post_topbar,
.form-overview-page .form-overview-title .usy-dt,
.form-overview-page .form-overview-title .usy-name {
  float: none !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.form-overview-page .form-overview-title .post_topbar {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100% !important;
}
.form-overview-page .form-overview-title .usy-dt {
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
}
.form-overview-page .form-overview-title .usy-name { width: 100% !important; }
.form-overview-page .form-overview-title .btn.bg-gradient-success {
  float: none !important;
  flex: 0 0 auto;
  margin: 0 0 0 auto !important;
  padding: 8px 15px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #0d2447 !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 12.5px !important;
}
.form-overview-page .form-overview-title .btn.bg-gradient-success:hover {
  background: #0d7c86 !important;
}
.form-overview-page.simple-request-page .form-overview-title.post-bar {
  float: none !important;
  width: 100%;
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.form-overview-page .form-overview-title h1 { margin: 0 0 4px; }
.form-overview-page .form-overview-title .usy-name > span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #6c7a96;
  font-size: 12px;
}
.form-overview-page .form-overview-title .usy-name > span i {
  color: #a8b2c1;
  font-size: 8px;
}
.form-overview-page .simple-request-card.post-bar {
  float: none !important;
  width: 100%;
  max-width: 760px;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 14px !important;
}
.form-overview-page .simple-request-card .card-body { padding: 0 !important; }
.form-overview-page .simple-request-summary {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 15px;
  padding: 22px 24px 18px;
}
.form-overview-page .simple-request-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(13, 124, 134, .12), rgba(241, 177, 43, .18));
  color: #0d7c86;
  font-size: 18px;
}
.form-overview-page .simple-request-kicker {
  display: block;
  margin-bottom: 4px;
  color: #0d7c86;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.form-overview-page .simple-request-copy h2 {
  margin: 0 0 7px !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
}
.form-overview-page .simple-request-copy p {
  max-width: 610px;
  margin: 0;
  color: #6c7a96;
  font-size: 13px;
  line-height: 1.55;
}
.form-overview-page .simple-request-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.form-overview-page .simple-request-points li {
  padding: 9px 10px;
  border: 1px solid #e7ebf4;
  border-radius: 9px;
  background: #fbfcff;
  color: #31415f;
  font-size: 11.5px;
  line-height: 1.35;
}
.form-overview-page .simple-request-points i {
  margin-right: 5px;
  color: #0d7c86;
}
.form-overview-page .simple-request-actions {
  margin: 0 !important;
  padding: 13px 24px !important;
  border-top: 1px solid #e7ebf4;
  background: #f8fafc;
}
.form-overview-page .simple-request-actions .form-group {
  margin: 0 !important;
  padding: 0 !important;
}
.form-overview-page .simple-request-actions input[type="submit"] {
  width: auto !important;
  min-width: 150px;
  padding: 9px 18px !important;
}
.form-overview-page .simple-request-error {
  margin: 0 24px 16px;
  padding: 10px 13px;
  border: 1px solid #f0c5c5;
  border-radius: 8px;
  background: #fff4f4;
  color: #9a2525;
  font-size: 13px;
}
.form-overview-page .post-bar.simple-request-card .form-row:not(.simple-request-actions) {
  margin: 0 !important;
}
.form-overview-page .compliance-request-fields {
  width: 100%;
  padding: 0 24px 20px;
  font-family: "Inter", sans-serif;
}
.form-overview-page .compliance-request-intro {
  padding-top: 18px;
  border-top: 1px solid #e7ebf4;
}
.form-overview-page .compliance-request-intro h3 {
  margin: 0 0 5px;
  color: #0d2447;
  font-family: "Poppins", sans-serif;
  font-size: 17px;
  font-weight: 600;
}
.form-overview-page .compliance-request-intro p {
  margin: 0 0 17px;
  color: #6c7a96;
  font-size: 13px;
}
.form-overview-page .compliance-request-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px 18px;
}
.form-overview-page .compliance-request-field--full { grid-column: 1 / -1; }
.form-overview-page .compliance-request-field label {
  display: block;
  margin-bottom: 6px;
  color: #0d2447;
  font-size: 13px;
  font-weight: 600;
}
.form-overview-page .compliance-request-field label span { color: #6c7a96; font-weight: 400; }
.form-overview-page .compliance-request-field input,
.form-overview-page .compliance-request-field textarea {
  display: block;
  width: 100%;
  min-height: 43px;
  padding: 10px 12px;
  border: 1px solid #d8e0eb;
  border-radius: 8px;
  background: #fff;
  color: #24303f;
  font: 14px "Inter", sans-serif;
}
.form-overview-page .compliance-request-field textarea { min-height: 104px; resize: vertical; }
.form-overview-page .compliance-request-field input:focus,
.form-overview-page .compliance-request-field textarea:focus {
  border-color: #0d7c86;
  box-shadow: 0 0 0 3px rgba(13,124,134,.12);
  outline: none;
}

/* Standard overview forms: use the outer post card as the form surface.
   The legacy rules otherwise create a second card inside it and leave large,
   uneven gutters around the fields. */
.form-overview-page .post-bar:not(.form-overview-title):not(.simple-request-card) {
  padding: 20px 22px !important;
}
.form-overview-page .post-bar:not(.form-overview-title):not(.simple-request-card) .card-body:has(.floating-form) {
  max-width: none;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.form-overview-page .post-bar:not(.form-overview-title) .form-row {
  margin-right: -8px;
  margin-left: -8px;
}
.form-overview-page .post-bar:not(.form-overview-title) .form-group {
  margin-bottom: 15px;
  padding-right: 8px;
  padding-left: 8px;
}
.form-overview-page .post-bar:not(.form-overview-title) .floating-label {
  display: flex !important;
  flex-direction: column;
}
.form-overview-page .post-bar:not(.form-overview-title) .floating-label label22 {
  position: static !important;
  order: -1;
  display: block;
  margin: 0 0 5px !important;
  padding: 0 !important;
  transform: none !important;
  color: #31415f !important;
  font-size: 12.5px !important;
  font-weight: 600;
  line-height: 1.35;
}
.form-overview-page .post-bar:not(.form-overview-title) .floating-textarea {
  min-height: 92px !important;
}

@media (max-width: 640px) {
  .form-overview-page .form-overview-title .post_topbar {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }
  .form-overview-page .form-overview-title .btn.bg-gradient-success {
    margin: 0 !important;
  }
  .form-overview-page .simple-request-summary {
    grid-template-columns: 1fr;
    padding: 18px 16px 15px;
  }
  .form-overview-page .simple-request-points { grid-template-columns: 1fr; }
  .form-overview-page .simple-request-actions { padding: 12px 16px !important; }
  .form-overview-page .simple-request-actions input[type="submit"] { width: 100% !important; }
  .form-overview-page .compliance-request-fields { padding: 0 16px 18px; }
  .form-overview-page .compliance-request-grid { grid-template-columns: 1fr; }
  .form-overview-page .simple-request-error { margin: 0 16px 14px; }
  .form-overview-page .post-bar:not(.form-overview-title):not(.simple-request-card) {
    padding: 16px !important;
  }
}
.qz-app .qz-q > label:first-of-type { font-size: 13px !important; }

/* Forms and buttons */
.w3l-news .form-group { margin-bottom: 12px; }
.w3l-news .form-group > label,
.w3l-news #contact form label:not(.form-check-label):not(.custom-control-label),
.floating-form label,
.floating-form .floating-label > label,
.card-body label,
#signup-form .form-label,
#signup-form .form-row > label {
  font-size: 12.5px !important;
  margin-bottom: 5px !important;
}
.w3l-news .form-group input[type="text"],
.w3l-news .form-group input[type="email"],
.w3l-news .form-group input[type="number"],
.w3l-news .form-group input[type="tel"],
.w3l-news .form-group input[type="date"],
.w3l-news .form-group input[type="password"],
.w3l-news .form-group input[type="url"],
.w3l-news .form-group input:not([type]),
.w3l-news .form-group select,
.w3l-news .floating-input,
.w3l-news .floating-select,
.card-body input[type="text"],
.card-body input[type="email"],
.card-body input[type="password"],
.card-body input[type="number"],
.card-body input[type="date"],
.card-body input[type="tel"],
.card-body select,
#signup-form .form-group input,
#signup-form .form-group select,
#signup-form .form-flex input,
#signup-form .form-flex select,
.qz-app .qz-q input[type="text"],
.qz-app .qz-q input[type="number"],
.qz-app .qz-q select {
  height: 40px !important;
  padding: 8px 11px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
}
.w3l-news .form-group textarea,
.w3l-news .floating-textarea,
.card-body textarea,
#signup-form .form-group textarea {
  min-height: 88px !important;
  padding: 9px 11px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
}
.w3l-news #contact .btn,
.w3l-news #contact button[type="submit"],
.w3l-news #contact input[type="submit"],
.w3l-news .btn-primary2,
.w3l-news .btn.third,
.w3l-news .btn-primary,
.card-body .btn,
.card-body button[type="submit"],
.card-body input[type="submit"],
.wizard > .actions a,
.grid-view .btn-primary.btn-block {
  padding: 9px 20px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
}

/* Tables, lists and utility cards */
.main-table,
.table { font-size: 12.5px; }
.main-table td,
.main-table th,
.table td,
.table th { padding: 7px 9px !important; }
.table-user-information > tbody > tr > td { padding: 9px 11px !important; font-size: 13px; }
.right-sidebar .sd-title { padding: 11px 14px !important; }
.right-sidebar .jobs-list .job-info { padding: 10px 14px !important; }
.right-sidebar .job-details h3 { font-size: 13px !important; }
.posts-section .post-bar { padding: 16px !important; margin-bottom: 14px; border-radius: 13px !important; }
.companies-list .company_profile_info { min-height: 120px; padding: 13px 10px !important; border-radius: 11px !important; }
.company-up-info h4 { font-size: 21px !important; }
.e2mp-listing { padding: 34px 0 44px; }
.e2mp-listing .lgrid { gap: 18px; }
.e2mp-lcard { border-radius: 12px; }
.e2mp-lcard .limg { height: 170px; }
.e2mp-lcard .lbody { padding: 15px 16px 18px; gap: 10px; }
.e2mp-lcard .lbody h3 { font-size: 15px; }
.e2mp-lcard .connect { padding: 8px 16px; font-size: 12.5px; }

/* Bespoke public home, login and registration layouts define their CSS
   inline after the shared header, so these intentional !important values
   keep them on the same compact scale as the rest of the portal. */
.e2mp-home .e2mp-hero { padding: 50px 0 54px !important; }
.e2mp-home .e2mp-hero-grid { gap: 30px !important; }
.e2mp-home .e2mp-hero h1 { font-size: 40px !important; margin: 15px 0 13px !important; }
.e2mp-home .e2mp-hero .lead { font-size: 15px !important; }
.e2mp-home .e2mp-hero .cta { margin: 22px 0 18px !important; }
.e2mp-home .e2mp-btn { padding: 10px 19px !important; font-size: 13px !important; }
.e2mp-home .e2mp-pill,
.e2mp-home .e2mp-chip { padding: 6px 11px !important; font-size: 12px !important; }
.e2mp-home .e2mp-hero-card { padding: 20px !important; border-radius: 14px !important; }
.e2mp-home .e2mp-hero-card .row { gap: 11px !important; padding: 10px 0 !important; }
.e2mp-home .e2mp-hero-card .ic { width: 38px !important; height: 38px !important; border-radius: 9px !important; }
.e2mp-home .e2mp-hero-card .row b { font-size: 13px !important; }
.e2mp-home .e2mp-section { padding: 52px 0 !important; }
.e2mp-home .e2mp-sec-head { margin-bottom: 30px !important; }
.e2mp-home .e2mp-sec-head h2 { font-size: 27px !important; margin: 10px 0 8px !important; }
.e2mp-home .e2mp-sec-head p { font-size: 14px !important; }
.e2mp-home .e2mp-cards3,
.e2mp-home .e2mp-steps { gap: 18px !important; }
.e2mp-home .e2mp-cards4 { gap: 15px !important; }
.e2mp-home .e2mp-card,
.e2mp-home .e2mp-step,
.e2mp-home .e2mp-quote { padding: 21px 19px !important; border-radius: 12px !important; }
.e2mp-home .e2mp-card .badge { width: 46px !important; height: 46px !important; margin-bottom: 14px !important; }
.e2mp-home .e2mp-card h3,
.e2mp-home .e2mp-step h3 { font-size: 16px !important; }
.e2mp-home .e2mp-card p,
.e2mp-home .e2mp-step p,
.e2mp-home .e2mp-quote p { font-size: 13px !important; }
.e2mp-home .e2mp-band { padding: 24px 0 !important; }
.e2mp-home .e2mp-band .n { font-size: 23px !important; }
.e2mp-home .e2mp-cta { padding: 44px 20px !important; }
.e2mp-home .e2mp-cta h2 { font-size: 25px !important; }
.e2mp-home .e2mp-cta p { font-size: 14px !important; }

.e2mp-login { padding: 36px 20px !important; }
.e2mp-login .shell { max-width: 1040px !important; gap: 18px !important; }
.e2mp-login .pane { padding: 34px 38px !important; border-radius: 15px !important; }
.e2mp-login .e2mp-logo { font-size: 28px !important; }
.e2mp-login h1 { font-size: 32px !important; }
.e2mp-login .sub { font-size: 13px !important; margin-bottom: 19px !important; }
.e2mp-login label { font-size: 12.5px !important; margin-bottom: 5px !important; }
.e2mp-login .e2mp-field { margin-bottom: 14px !important; border-radius: 8px !important; }
.e2mp-login .e2mp-field .ic { width: 44px !important; }
.e2mp-login .e2mp-field input { padding: 11px 12px !important; font-size: 13px !important; }
.e2mp-login .e2mp-btn { padding: 11px !important; font-size: 14px !important; border-radius: 8px !important; }
.e2mp-login .e2mp-or { margin: 16px 0 !important; font-size: 12.5px !important; }
.e2mp-login .e2mp-forgot,
.e2mp-login .e2mp-register { font-size: 13px !important; }
.e2mp-login .e2mp-register { padding: 10px !important; margin-top: 13px !important; border-radius: 8px !important; }
.e2mp-login .art { min-height: 460px !important; padding: 38px !important; border-radius: 15px !important; }
.e2mp-login .art .brand { font-size: 24px !important; }
.e2mp-login .art h2 { font-size: 38px !important; }
.e2mp-login .art p { font-size: 14px !important; }

.e2mp-reg-hero { padding: 46px 20px 52px !important; }
.e2mp-reg-hero h1 { font-size: 42px !important; }
.e2mp-reg-hero p { margin-top: 13px !important; font-size: 14px !important; }
.e2mp-reg-choose { padding: 42px 20px 56px !important; }
.e2mp-reg-title { font-size: 28px !important; margin-bottom: 32px !important; }
.e2mp-reg-cards { gap: 18px !important; }
.e2mp-reg-card { padding: 25px 22px !important; border-radius: 12px !important; }
.e2mp-reg-card__icon { width: 70px !important; height: 70px !important; margin-bottom: 18px !important; }
.e2mp-reg-card__icon svg { width: 34px !important; height: 34px !important; }
.e2mp-reg-card h3 { font-size: 18px !important; min-height: 46px !important; margin-bottom: 9px !important; }
.e2mp-reg-card p { font-size: 13px !important; margin-bottom: 18px !important; }
.e2mp-reg-btn { padding: 9px 16px !important; font-size: 12.5px !important; }

/* Administration */
.a-body { padding: 16px 20px 28px; }
.a-top { padding: 11px 20px; }
.a-stat { padding: 14px 16px; border-radius: 12px; }
.a-stat .num { font-size: 1.65rem; }
.a-card { border-radius: 12px; }
.a-card__head { padding: 11px 15px; }
.a-card__body { padding: 14px 16px; }
.a-f input, .a-f select { height: 38px; padding: 7px 10px; border-radius: 8px; }
.a-btn { height: 38px; padding: 0 17px; border-radius: 8px; }
.a-table th { padding: 9px 11px; }
.a-table td { padding: 10px 11px; }
.a-login,
.a-installer { padding: 24px; border-radius: 14px; }
.a-login input { height: 40px; padding: 8px 11px; border-radius: 8px; }

footer .footy-sec,
.footy-sec.mn { padding: 15px 0 !important; }
.footy-sec ul li a { font-size: 12px; }
.footy-sec p { font-size: 11.5px; }

/* Keep phone controls readable and touch-friendly despite the compact scale. */
@media (max-width: 640px) {
  html { font-size: 14px; }
  body:not(.dashboard-page) { font-size: 13.5px; }
  input[type="text"], input[type="email"], input[type="password"],
  input[type="number"], input[type="tel"], input[type="date"],
  input[type="search"], input[type="url"], input:not([type]),
  select, textarea,
  .w3l-news .form-group input,
  .w3l-news .form-group select,
  .w3l-news .form-group textarea,
  #signup-form input, #signup-form select, #signup-form textarea,
  .qz-app input, .qz-app select, .qz-app textarea {
    font-size: 16px !important;
  }
  button, input[type="submit"], .btn, .topbar .nav a {
    min-height: 44px;
  }
  .w3l-news .grid-view,
  .main-section .card .card-body,
  .grid-view .card .card-body,
  .panel.panel-info .panel-body { padding: 16px !important; }
  .e2mp-home .e2mp-hero { padding: 36px 0 40px !important; }
  .e2mp-home .e2mp-hero h1 { font-size: 31px !important; }
  .e2mp-login .pane { padding: 26px 20px !important; }
  .e2mp-login .art { min-height: 230px !important; padding: 25px !important; }
  .e2mp-login .art h2 { font-size: 29px !important; }
  .e2mp-reg-hero h1 { font-size: 34px !important; }
}

/* ---------------------------------------------------------------------------
   Form picker - the list of every form the account can open, shown above the
   form itself on form_overview / Investor_form_overview / Serviceprovider_form_overview.
   Scoped to .form-picker so it cannot touch the WorkWise template elsewhere.
--------------------------------------------------------------------------- */
.post-bar.form-picker {
  float: none !important;
  width: 100%;
  max-width: 760px;
  margin: 0 auto 18px !important;
  padding: 18px 22px 8px !important;
  border-radius: 14px !important;
}
.form-picker__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e7ebf4;
}
.form-picker__head h2 {
  margin: 0 0 4px !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
}
.form-picker__head p {
  margin: 0;
  max-width: 460px;
  color: #6c7a96;
  font-size: 12.5px;
  line-height: 1.5;
}
.form-picker__search { position: relative; }
.form-picker__search i {
  position: absolute;
  top: 50%;
  left: 11px;
  transform: translateY(-50%);
  color: #94a0b8;
  font-size: 12px;
}
.form-picker__search input {
  width: 210px;
  height: 36px;
  padding: 0 12px 0 31px;
  border: 1px solid #e0e6f1;
  border-radius: 9px;
  background: #fbfcff;
  color: #1c2b4a;
  font-size: 13px;
}
.form-picker__search input:focus {
  outline: none;
  border-color: #0d7c86;
  box-shadow: 0 0 0 3px rgba(13, 124, 134, .12);
}
.form-picker__group { padding: 14px 0 4px; }
.form-picker__group + .form-picker__group { border-top: 1px solid #f0f3f9; }
.form-picker__grouphead { margin-bottom: 10px; }
.form-picker__grouphead h3 {
  margin: 0 !important;
  color: #0d7c86;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.form-picker__grouphead span {
  display: block;
  margin-top: 2px;
  color: #8b97ad;
  font-size: 12px;
}
.form-picker__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.form-picker__list li { margin: 0; }
.form-picker__item {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 100%;
  padding: 10px 12px;
  border: 1px solid #e7ebf4;
  border-radius: 10px;
  background: #fbfcff;
  color: #31415f !important;
  font-size: 12.5px;
  line-height: 1.35;
  text-decoration: none !important;
  transition: border-color .15s, background .15s, transform .15s;
}
.form-picker__item:hover {
  border-color: #0d7c86;
  background: #fff;
  transform: translateY(-1px);
}
.form-picker__item i {
  flex: none;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(13, 124, 134, .1);
  color: #0d7c86;
  font-size: 12px;
}
.form-picker__item span { flex: 1 1 auto; min-width: 0; }
.form-picker__item em {
  flex: none;
  padding: 2px 7px;
  border-radius: 999px;
  background: #0d7c86;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.form-picker__item.is-active {
  border-color: #0d7c86;
  background: #eef6f6;
  font-weight: 600;
}
.form-picker__empty {
  margin: 0;
  padding: 14px 0 16px;
  color: #8b97ad;
  font-size: 12.5px;
  text-align: center;
}
@media (max-width: 767px) {
  .post-bar.form-picker { padding: 16px !important; }
  /* keep the form itself reachable - the list scrolls inside the card */
  .form-picker__body { max-height: 48vh; overflow-y: auto; }
  .form-picker__head { align-items: stretch; }
  .form-picker__search { width: 100%; }
  .form-picker__search input { width: 100%; font-size: 16px; }
  .form-picker__list { grid-template-columns: 1fr; }
}
