@charset "UTF-8";
/* Bagrbot responsive layer. Loaded after app.css and bagrbot.css.
   All dimensions use fluid tracks; wide tables scroll in their own region. */
html { -webkit-text-size-adjust: 100%; }
body { min-width: 0; }
body, main, .workspace-body, .app-main, .public-site main,
.panel, .panel-heading, .bb-portfolio-grid, .bb-marketing,
.dashboard-columns, .dashboard-main, .dashboard-aside,
.auth-section, .auth-card, .bb-hero, .bb-hero > *, .pricing-card,
.bb-name-section, .bb-name-form, .bb-form-panel, .admin-order { min-width: 0; }
img, video, canvas, iframe { max-width: 100%; }
img { height: auto; }
:where(.panel, .card, .auth-card, .feature-card, .pricing-card, .bb-record-card) { overflow-wrap: anywhere; }
:where(.panel, .modal, .admin-order, .bb-record-editor, .bb-form-panel) :is(input,select,textarea) { max-width: 100%; min-width: 0; }
:where(.form-grid, .bb-data-grid, .bb-reference-editor .form-grid) > *,
:where(.kpi-grid, .bb-summary-grid, .bb-feature-grid, .bb-template-grid, .bb-rich-list) > *,
:where(.bb-portfolio-grid, .bb-pricing-grid, .pricing-section, .payment-card) > * { min-width: 0; }
.field, .check-field, label { overflow-wrap: anywhere; }
.button { max-width: 100%; white-space: normal; text-align: center; }
.button .icon { flex-shrink: 0; }
.code, .payment-details dd, .payment-details dd.iban, .bb-domain-status { overflow-wrap: anywhere; word-break: break-word; }
:where(.table-scroll, .bb-table, .table-responsive) { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
:where(.table-scroll, .bb-table) .data-table { width: max-content; min-width: 100%; }
:where(.table-scroll, .bb-table):focus-visible { outline: 3px solid #237557; outline-offset: 2px; }
.modal, .modal.wide { max-width: calc(100vw - 24px); }
.modal-content { min-width: 0; }
.public-header, .public-footer, .bb-hero, .bb-marketing, .admin-shell, .legal-page,
.payment-section, .single-auth { width: 100%; max-width: 100%; }
.public-header, .bb-hero { max-width: 1280px; }
.bb-marketing { max-width: 1180px; }
.public-footer { max-width: 1140px; }
.admin-shell { max-width: 1200px; }

@media (max-width: 1180px) {
  .public-header { padding-inline: clamp(18px,3vw,42px); gap: 16px; }
  .public-header .brand { font-size: clamp(19px,2vw,23px); }
  .public-nav { margin-left: 0; gap: clamp(10px,2vw,25px); }
  .marketing-section, .how-section, .bottom-cta, .public-footer { margin-inline: clamp(18px,3vw,40px); }
  .bb-hero { gap: 28px; padding-inline: clamp(20px,3vw,46px); }
  .bb-hero h1 { font-size: clamp(37px,4.6vw,60px); }
  .bb-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-section, .auth-section { gap: clamp(20px,4vw,50px); }
  .bb-portfolio-grid { grid-template-columns: minmax(0,1fr); }
  .admin-shell { padding-inline: clamp(18px,3vw,30px); }
}
@media (max-width: 950px) {
  .public-header { flex-wrap: wrap; }
  .public-nav { order: 3; width: 100%; justify-content: center; margin: 0; padding-top: 6px; }
  .public-actions { margin-left: auto; }
  .bb-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .bb-hero h1 { font-size: clamp(34px,4.8vw,49px); letter-spacing: -1.7px; }
  .bb-hero figure img { aspect-ratio: 4/5; }
  .bb-rich-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bb-editor-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .payment-card { grid-template-columns: minmax(0,1.1fr) minmax(0,0.9fr); }
  .admin-confirm-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  /* Reenable the genuine off-canvas navigation. Earlier Bagrbot styling
     changed it to a horizontal strip and disabled the menu button. */
  .workspace .sidebar {
    position: fixed !important; top: 0 !important; bottom: 0 !important;
    left: 0 !important; right: auto !important; z-index: 102 !important;
    width: min(292px,calc(100vw - 48px)) !important;
    max-width: 100% !important; height: 100dvh !important;
    padding: 23px 16px 28px !important; overflow-y: auto !important;
    border-right: 1px solid #e1e6d8 !important;
    transform: translateX(-105%) !important; transition: transform .23s ease !important;
    box-shadow: 8px 0 30px #172c2312 !important;
  }
  .workspace.menu-open .sidebar { transform: translateX(0) !important; }
  .workspace .sidebar .workspace-name { display: flex !important; }
  .workspace .sidebar .nav-caption { display: block !important; }
  .workspace .sidebar .sidebar-bottom { display: block !important; }
  .workspace .sidebar>.brand { margin-bottom: 15px; }
  .workspace .sidebar nav {
    display: flex !important; flex-direction: column !important; overflow: visible !important;
    align-items: stretch !important; gap: 4px !important; padding: 0 !important;
    margin: 0 0 16px !important; scrollbar-width: auto;
  }
  .workspace .sidebar nav .nav-link {
    width: 100%; white-space: normal !important; padding: 11px 12px !important;
    min-height: 43px; font-size: 12px !important; border-radius: 10px;
  }
  .workspace .sidebar nav .icon { width: 18px; height: 18px; }
  .workspace .bb-nav-divider { display: block !important; }
  .workspace .menu-button { display: inline-flex !important; width: 44px; height: 44px; }
  .workspace .nav-scrim {
    position: fixed !important; inset: 0 !important; z-index: 101 !important;
    background: rgb(16 37 28 / 45%); border: 0; width: 100%;
  }
  .workspace.menu-open .nav-scrim { display: block !important; }
  .workspace.menu-open { overflow: hidden; }
  .workspace .workspace-body { width: 100%; margin-left: 0; }
  .topbar { min-height: 60px; height: auto !important; padding: 8px clamp(14px,4vw,26px); }
  .breadcrumb { max-width: min(42vw,300px); }
  .topbar-right { gap: 5px; }
  .topbar .help-link, .topbar .user-mini { display: none; }
  .topbar .icon-button { min-width: 38px; min-height: 38px; }
  .app-main { width: 100%; padding: 22px clamp(12px,4vw,26px) 80px; }
  .page-heading { flex-wrap: wrap; align-items: start; gap: 15px; margin-bottom: 20px; }
  .page-heading h1 { font-size: clamp(23px,5vw,30px); }
  .heading-actions { justify-content: flex-start; width: 100%; }
  .heading-actions .button { min-height: 42px; }
  .panel-heading { flex-wrap: wrap; align-items: flex-start; }
  .panel-heading .button, .table-toolbar .button { min-height: 42px; }
  .table-toolbar { flex-wrap: wrap; }
  .search-field { flex: 1 1 190px; }
  .table-toolbar>.field { flex: 1 1 140px; }
  .modal { width: calc(100vw - 18px); max-height: calc(100dvh - 18px); }
  .modal-head { padding: 17px 18px; }
  .modal-content { padding: 18px; }
  .bb-hero { grid-template-columns: minmax(0,1fr); padding: 34px clamp(17px,4vw,28px); }
  .bb-hero h1 { font-size: clamp(34px,7vw,45px); }
  .bb-hero figure img { aspect-ratio: 16/11; }
  .bb-marketing { padding: 32px clamp(16px,4vw,24px); }
  .bb-summary-grid, .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bb-feature-grid, .bb-rich-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bb-pricing-grid, .pricing-section, .auth-section, .payment-card,
  .bb-portfolio-grid { grid-template-columns: minmax(0,1fr); }
  .payment-section { padding-inline: clamp(14px,4vw,25px); }
  .payment-details { padding: clamp(19px,5vw,30px); }
  .payment-qr { padding: 20px; }
  .public-footer { flex-wrap: wrap; padding-inline: 4px; }
  .public-footer nav { flex-wrap: wrap; margin-left: 0; width: 100%; }
  .admin-shell { padding: 24px clamp(13px,4vw,26px) 75px; }
  .admin-head, .admin-order-head { flex-wrap: wrap; }
  .admin-head > *, .admin-order-head > * { min-width: 0; }
  .admin-status { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-order { padding: 18px; }
  .admin-login { width: 100%; padding-inline: 17px; margin: 45px auto 85px; }
  .admin-confirm-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bb-iframe { height: min(62vh,540px); }
}
@media (max-width: 520px) {
  .public-header { gap: 12px; padding: 15px 16px; }
  .public-header .brand { font-size: 20px; }
  .public-header .bb-brand-icon { width: 35px; height: 35px; }
  .public-actions { gap: 5px; }
  .public-actions .button { padding: 9px 10px; font-size: 11px; min-height: 40px; }
  .public-nav { gap: 8px; justify-content: space-between; overflow-x: auto; }
  .public-nav a { white-space: nowrap; font-size: 11px; padding: 5px 3px; }
  .bb-hero { padding: 26px 17px 30px; gap: 20px; }
  .bb-hero h1 { margin: 14px 0; font-size: clamp(32px,8vw,42px); line-height: 1.1; }
  .bb-hero .hero-description { font-size: 13px; }
  .bb-hero .hero-actions { margin: 20px 0 10px; gap: 8px; }
  .bb-hero .hero-actions .button { min-height: 43px; }
  .bb-hero figure { border-radius: 15px; }
  .bb-hero figure img { aspect-ratio: 16/10; }
  .bb-photo-label { max-width: calc(100% - 22px); }
  .bb-marketing { padding: 26px 16px; }
  .bb-feature-grid, .bb-template-grid, .bb-rich-list,
  .bb-profile-grid, .bb-data-grid, .bb-checks, .bb-editor-sidebar,
  .bb-portfolio-grid, .bb-pricing-grid, .bb-theme-picker,
  .bb-inline-list, .form-grid, .document-line .form-grid,
  .bb-reference-editor .form-grid, .warehouse-grid { grid-template-columns: minmax(0,1fr); }
  .bb-feature-grid .feature-card { min-height: 0; }
  .bb-template-card img { height: auto; aspect-ratio: 16/9; object-fit: cover; }
  .bb-theme-choice img { aspect-ratio: 16/7; height: auto; }
  .bb-form-panel,.bb-record-editor { padding: 16px; }
  .bb-summary-grid, .kpi-grid { gap: 9px; }
  .bb-summary-grid>.panel, .kpi-card { padding: 13px 11px; }
  .bb-strong-number, .kpi-card>strong { font-size: clamp(19px,5.5vw,26px); white-space: normal; overflow-wrap: anywhere; }
  .panel-heading, .table-toolbar { padding: 16px; }
  .table-toolbar .search-form { flex-basis: 100%; }
  .search-field { max-width: none; }
  .auth-card { padding: 22px 18px; }
  .single-auth { padding: 0 14px; margin: 26px auto 70px; }
  .payment-heading h1 { font-size: 29px; }
  .payment-details dd { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  .payment-details dd .button { margin-left: 0; }
  .payment-footer { flex-wrap: wrap; }
  .modal-content { padding: 14px; }
  .modal-actions { flex-wrap: wrap; }
  .modal-actions .button { flex: 1 1 auto; min-height: 42px; }
  .admin-status { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .admin-status>div { padding: 15px 12px; }
  .admin-confirm-form { grid-template-columns: minmax(0,1fr); }
  .admin-order-actions .button { min-height: 44px; }
  .admin-head .brand { margin-bottom: 10px; }
  .legal-page { padding: 0 18px; }
  .legal-page h1 { font-size: 31px; }
  .public-footer { margin-inline: 18px; gap: 12px; }
}
@media (max-width: 375px) {
  .public-header { align-items: center; }
  .public-header .brand { flex-basis: 100%; }
  .public-actions { margin-left: 0; width: 100%; }
  .public-actions .button { flex: 1 1 0; }
  .app-main { padding-inline: 11px; }
  .breadcrumb { max-width: 32vw; }
  .topbar { padding-inline: 9px; }
  .heading-actions .button { flex: 1 1 135px; }
  .kpi-grid, .bb-summary-grid { grid-template-columns: minmax(0,1fr); }
  .bb-name-section { padding: 18px 14px; }
  .bb-hero .hero-actions { flex-direction: column; align-items: stretch; }
}
@media print {
  .privacy-controls,.nav-scrim,.menu-button { display:none!important; }
  .workspace-body { width: 100%; margin: 0!important; }
  .table-scroll { overflow: visible!important; }
  .table-scroll .data-table { width: 100%; }
}

/* Language switcher: aligned in header, never overlays content or form buttons. */
.public-header > .language-control,
.topbar-right > .language-control {
  position: static !important;
  display: block !important;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  right: auto !important;
  bottom: auto !important;
  margin: 0;
  z-index: auto;
}
.public-header > .language-control form,
.topbar-right > .language-control form { margin: 0; }
.public-header > .language-control select,
.topbar-right > .language-control select {
  display: block;
  box-sizing: border-box;
  width: 128px;
  max-width: 100%;
  min-height: 42px;
  padding: 8px 26px 8px 10px;
  color: #234b3c;
  background: #fff;
  border: 1px solid #d7e4d4;
  border-radius: 12px;
  font: 500 13px/1.4 system-ui, sans-serif;
  box-shadow: none;
  cursor: pointer;
}
.public-header > .language-control select:focus-visible,
.topbar-right > .language-control select:focus-visible {
  outline: 3px solid #237557;
  outline-offset: 2px;
}
.topbar-right > .language-control { margin-right: 6px; }
.topbar-right > .language-control select { width: 112px; min-height: 38px; padding-inline: 8px 22px; font-size: 12px; }
@media (max-width: 950px) {
  .public-header > .language-control { order: 2; }
  .public-header > .public-nav { order: 3; }
}
@media (max-width: 600px) {
  .public-header { justify-content: space-between; row-gap: 10px; }
  .public-header > .language-control { margin-left: auto; }
  .public-header > .language-control select { min-height: 40px; width: 120px; }
  .topbar-right > .language-control { margin-right: 0; }
  .topbar-right > .language-control select { width: 100px; font-size: 11px; }
  .topbar-right .help-link { display: none; }
}
@media (max-width: 375px) {
  .public-header > .language-control { order: 2; }
  .public-header > .public-actions { order: 1; }
  .topbar-right > .language-control select { width: 92px; }
}
@media print { .language-control { display: none !important; } }

/* Footer spacing must not add to its 100% width (which caused horizontal
   scrolling on phones and tablets). Preserve its original side margins. */
.public-footer { width: auto; }

/* Dashboard and language-header layout, second responsive refinement. */
.workspace, .workspace-body, .app-main, .bb-dashboard, .bb-dashboard > *,
.bb-dashboard-modules, .bb-dashboard-modules > *, .topbar-left, .topbar-right,
.public-header-identity { min-width: 0; }

/* Keep language inside the header next to the brand rather than as an
   independently positioned element that can float over the registration area. */
.public-header { display: flex; }
.public-header-identity { display: flex; align-items: center; gap: 15px; flex: 0 1 auto; }
.public-header-identity .brand { flex-shrink: 0; }
.public-header-identity .language-control { position: static !important; flex: none; margin: 0 !important; max-width: none; z-index: auto; }
.public-header-identity .language-control form { margin: 0; }
.public-header-identity .language-control select {
  box-sizing: border-box; display: block; width: 124px; min-height: 42px;
  background: #fff; color: #234b3c; border: 1px solid #d7e4d4;
  border-radius: 12px; padding: 8px 25px 8px 10px; box-shadow: none;
  font: 500 13px/1.4 system-ui, sans-serif; cursor: pointer;
}
.public-header-identity .language-control select:focus-visible { outline: 3px solid #237557; outline-offset: 2px; }
.public-header > .public-nav { min-width: 0; }
.public-header > .public-actions { flex-shrink: 0; }

/* Real overview: fluid module tiles instead of rigid three-column tracks. */
.bb-dashboard { width: 100%; max-width: 100%; }
.bb-dashboard-modules {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(10px,1.6vw,18px); margin-bottom: clamp(17px,2.4vw,28px);
}
.bb-dashboard-modules > .bb-module-link {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  gap: 12px; width: 100%; min-width: 0; min-height: 130px;
  padding: clamp(14px,2.1vw,25px); margin: 0;
  text-decoration: none; overflow-wrap: anywhere;
}
.bb-dashboard-modules > .bb-module-link .feature-icon { flex-shrink: 0; }
.bb-dashboard-modules > .bb-module-link h2 {
  margin: 0; max-width: 100%; font-size: clamp(14px,1.55vw,19px);
  line-height: 1.3; overflow-wrap: anywhere; hyphens: auto;
}
.bb-dashboard-panel { min-width: 0; max-width: 100%; margin-bottom: 20px; }
.bb-dashboard-panel > h2 { margin-top: 0; line-height: 1.3; overflow-wrap: anywhere; }
.bb-dashboard-table { width: 100%; max-width: 100%; }
.bb-dashboard-table .data-table { width: 100%; table-layout: auto; }
.bb-dashboard-table .data-table td { overflow-wrap: anywhere; }
.bb-dashboard-task-list { padding: 0; margin: 14px 0 0; list-style: none; }
.bb-dashboard-task-list > li {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; padding: 13px 0; border-bottom: 1px solid #e5ebe1;
}
.bb-dashboard-task-list > li:last-child { border-bottom: 0; }
.bb-dashboard-task-list > li > div { min-width: 0; }
.bb-dashboard-task-list > li a { overflow-wrap: anywhere; font-weight: 650; }
.bb-dashboard-task-list > li small { display: block; margin-top: 5px; color: #748273; overflow-wrap: anywhere; }
.bb-dashboard-task-list .bb-state { flex-shrink: 0; }

@media (max-width: 1220px) {
  .public-header { flex-wrap: wrap; gap: 12px; }
  .public-header-identity { margin-right: auto; }
  .public-header > .public-nav { order: 3; flex: 1 0 100%; justify-content: center; margin: 0; }
  .public-header > .public-actions { margin-left: auto; }
  .bb-dashboard-modules { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .public-header-identity { max-width: 100%; }
  .topbar { width: 100%; max-width: 100%; gap: 8px; }
  .topbar-left { flex: 1 1 auto; overflow: hidden; }
  .topbar-right { flex: 0 0 auto; margin-left: auto; }
  .topbar .breadcrumb { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .topbar-right .language-control { flex-shrink: 0; }
  .app-main { overflow-wrap: anywhere; }
  .bb-dashboard-modules > .bb-module-link { min-height: 110px; }
  .bb-dashboard-panel { padding: clamp(13px,3.2vw,22px); }
}
@media (max-width: 600px) {
  .public-header { gap: 10px; padding: 14px 16px; }
  .public-header-identity { width: 100%; justify-content: space-between; flex: 1 0 100%; }
  .public-header-identity .brand { min-width: 0; }
  .public-header-identity .language-control select { width: 120px; min-height: 40px; }
  .public-header > .public-actions { order: 2; width: 100%; margin: 0; justify-content: flex-start; }
  .public-header > .public-nav { order: 3; width: 100%; flex-basis: 100%; justify-content: flex-start; overflow-x: auto; }
  .bb-dashboard-modules { gap: 10px; }
  .bb-dashboard-modules > .bb-module-link { min-height: 108px; padding: 14px; gap: 8px; }
  .bb-dashboard-modules > .bb-module-link h2 { font-size: 14px; }
  .bb-dashboard-table { overflow: visible; }
  .bb-dashboard-table .data-table, .bb-dashboard-table .data-table tbody,
  .bb-dashboard-table .data-table tr, .bb-dashboard-table .data-table td { display: block; width: 100%; min-width: 0; }
  .bb-dashboard-table .data-table { border: 0; min-width: 0 !important; }
  .bb-dashboard-table .data-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .bb-dashboard-table .data-table tr {
    padding: 11px 12px; border: 1px solid #e2e9df; border-radius: 12px;
    margin-bottom: 10px; background: #fff;
  }
  .bb-dashboard-table .data-table td {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 12px; padding: 7px 0; border: 0; font-size: 12px;
    overflow-wrap: anywhere; word-break: break-word;
  }
  .bb-dashboard-table .data-table td::before {
    content: attr(data-label); flex: 0 0 32%; max-width: 32%;
    color: #728374; font-size: 11px; font-weight: 700;
  }
  .bb-dashboard-table .data-table td > * { min-width: 0; }
  .bb-dashboard-task-list > li { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  .bb-dashboard-task-list > li > div { flex: 1 1 180px; }
}
@media (max-width: 430px) {
  .bb-dashboard-modules { grid-template-columns: minmax(0,1fr); }
  .bb-dashboard-modules > .bb-module-link { flex-direction: row; justify-content: flex-start; align-items: center; min-height: 74px; }
  .bb-dashboard-modules > .bb-module-link h2 { font-size: 15px; }
  .bb-dashboard-panel > h2 { font-size: clamp(17px,5vw,22px); }
  .topbar-right .avatar, .topbar-right .user-mini, .topbar-right .help-link { display: none; }
  .topbar .breadcrumb { max-width: none; }
  .topbar-right > .language-control select { width: 104px; min-height: 40px; }
}
@media (max-width: 355px) {
  .public-header-identity .language-control select { width: 110px; }
  .public-header-identity .brand { font-size: 18px; }
  .topbar-right > .language-control select { width: 96px; font-size: 11px; }
  .topbar { padding-inline: 8px; }
  .topbar .icon-button { min-width: 34px; }
}
@media print { .bb-dashboard-modules { grid-template-columns: repeat(3,minmax(0,1fr)); } }
/* The legacy <=375px rule set .public-header .brand to flex-basis:100%.
   In the new grouped header that pushed the language select offscreen. */
@media (max-width: 600px) {
  .public-header .public-header-identity .brand {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - 126px);
    white-space: nowrap;
  }
  .public-header .public-header-identity > .language-control { flex: 0 0 auto; }
}


/* 2026-10-13: Guaranteed header language and mobile overview fallbacks. */
.public-header-identity { display:flex; flex:0 1 auto; align-items:center; gap:14px; min-width:0; }
.public-header .public-header-identity .language-control,
.workspace .topbar-right > .language-control,
.language-control { position:static !important; inset:auto !important; right:auto !important;
  bottom:auto !important; z-index:auto !important; margin:0 !important; display:block;
  min-width:0; flex:0 0 auto; transform:none !important; }
.public-header .public-header-identity .language-control form,
.workspace .topbar-right > .language-control form { margin:0; padding:0; }
.public-header .public-header-identity .language-control select,
.workspace .topbar-right > .language-control select {
  display:block; width:118px; max-width:100%; min-height:38px; margin:0;
  background-color:#fff; color:#234b3c; border:1px solid #d7e4d4;
  border-radius:12px; padding:7px 24px 7px 10px;
  font:500 12px/1.45 system-ui,sans-serif; box-shadow:none;
}
.workspace .topbar-right { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.workspace .topbar-left { display:flex; align-items:center; flex:1 1 auto; min-width:0; }
.bb-dashboard { width:100%; max-width:100%; min-width:0; }
.bb-dashboard > * { min-width:0; }
.bb-dashboard .bb-dashboard-modules {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px; margin-bottom:20px; max-width:100%; min-width:0;
}
.bb-dashboard .bb-dashboard-modules > .bb-module-link {
  box-sizing:border-box; display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
  gap:12px; padding:18px; width:100%; min-width:0; height:auto !important;
  max-height:none !important; min-height:120px; margin:0; overflow:visible;
  border-radius:15px; overflow-wrap:anywhere; text-decoration:none;
}
.bb-dashboard .bb-dashboard-modules > .bb-module-link .feature-icon { flex:0 0 42px; }
.bb-dashboard .bb-dashboard-modules > .bb-module-link h2 {
  width:auto; min-width:0; max-width:100%; margin:0; padding:0;
  line-height:1.36; font-size:clamp(14px,1.65vw,19px);
  font-weight:700; overflow:visible; overflow-wrap:anywhere;
}
.bb-dashboard .bb-dashboard-panel { min-width:0; max-width:100%; height:auto; }
@media (max-width:900px) {
  .bb-dashboard .bb-dashboard-modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .public-header { display:flex; flex-wrap:wrap; gap:10px; }
  .public-header .public-header-identity { order:0; flex:1 0 100%; width:100%; justify-content:space-between; }
  .public-header .public-header-identity .brand { flex:0 1 auto; max-width:calc(100% - 125px); }
  .public-header .public-header-identity .language-control select { width:112px; }
  .public-header > .public-actions { order:1; }
  .public-header > .public-nav { order:2; flex:1 1 100%; width:100%; }
  .workspace .topbar { display:flex; max-width:100%; gap:8px; }
  .workspace .topbar .breadcrumb { min-width:0; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .workspace .topbar-right .help-link,
  .workspace .topbar-right .user-mini,
  .workspace .topbar-right .avatar { display:none !important; }
  .workspace .topbar-right > .language-control select { width:102px; font-size:11px; }
  .bb-dashboard .bb-dashboard-modules { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  .bb-dashboard .bb-dashboard-modules > .bb-module-link {
     display:flex !important; flex-direction:row !important;
     align-items:center !important; justify-content:flex-start !important;
     gap:13px; padding:14px 16px; min-height:76px; max-height:none !important;
     height:auto !important; overflow:visible;
  }
  .bb-dashboard .bb-dashboard-modules > .bb-module-link .feature-icon { width:44px; height:44px; flex:0 0 44px; }
  .bb-dashboard .bb-dashboard-modules > .bb-module-link h2 {
    display:block; flex:1 1 auto; font-size:clamp(15px,4vw,18px);
    line-height:1.35; max-width:100%; margin:0;
  }
}
@media (max-width:375px) {
  .public-header .public-header-identity .brand { flex:0 1 auto; max-width:calc(100% - 120px); }
  .workspace .topbar .breadcrumb { max-width:38vw; }
  .workspace .topbar-right > .language-control select { width:94px; padding-left:6px; }
  .bb-dashboard .bb-dashboard-modules > .bb-module-link { padding:12px 13px; }
}


/* 2026-10-13: Homepage header – language next to login button on mobile. */
.public-header { align-items:center; }
.public-header-identity { min-width:0; }
.public-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-left:auto;
}
.public-actions .language-control,
.public-actions .language-control form {
  margin:0 !important;
}
.public-actions .language-control {
  position:static !important;
  inset:auto !important;
  display:block;
  flex:0 0 auto;
}
.public-actions .language-control select {
  width:120px;
  min-height:40px;
  padding:8px 28px 8px 12px;
  border-radius:14px;
  border:1px solid #d7e4d4;
  background:#fff;
  color:#234b3c;
}
.public-login-button {
  min-height:40px;
  padding:9px 16px;
  border-radius:12px;
  border:1px solid #d7e4d4;
  background:#fff;
  color:#234b3c;
}
.public-login-button:hover {
  background:#f3f7ef;
}
@media (max-width:760px) {
  .public-header {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px 14px;
  }
  .public-header-identity {
    grid-column:1 / 2;
    width:100%;
  }
  .public-header > .public-nav {
    display:none;
  }
  .public-header > .public-actions {
    grid-column:2 / 3;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:nowrap;
  }
  .public-header .public-actions .public-signup-button {
    display:none;
  }
  .public-header .public-actions .public-login-button {
    white-space:nowrap;
    min-width:auto;
  }
  .public-header .public-actions .language-control select {
    width:112px;
  }
}
@media (max-width:420px) {
  .public-header {
    grid-template-columns:minmax(0,1fr);
  }
  .public-header-identity {
    grid-column:1;
  }
  .public-header > .public-actions {
    grid-column:1;
    justify-content:space-between;
    width:100%;
  }
  .public-header .public-actions .public-login-button,
  .public-header .public-actions .language-control {
    flex:0 0 auto;
  }
  .public-header .public-actions .language-control select {
    width:110px;
  }
}


/* 2026-10-13: homepage header final order - language first, then login, both right of logo. */
.public-header {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px 16px;
}
.public-header .public-header-identity {
  grid-column:1;
  min-width:0;
}
.public-header > .public-actions {
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
  margin-left:auto;
}
.public-header > .public-nav {
  grid-column:1 / -1;
  margin-left:0;
}
.public-header .public-actions .language-control,
.public-header .public-actions .language-control form {
  margin:0 !important;
}
.public-header .public-actions .language-control { flex:0 0 auto; position:static !important; }
.public-header .public-actions .language-control select {
  width:104px;
  min-width:104px;
  min-height:38px;
  padding:7px 24px 7px 10px;
  border-radius:12px;
}
.public-header .public-actions .public-login-button {
  flex:0 0 auto;
  min-height:38px;
  padding:8px 14px;
  border-radius:12px;
  white-space:nowrap;
}
.public-header .public-actions .public-signup-button {
  flex:0 0 auto;
}
@media (min-width:761px) {
  .public-header {
    grid-template-columns:auto 1fr auto;
  }
  .public-header .public-header-identity { grid-column:1; }
  .public-header > .public-nav {
    grid-column:2;
    justify-self:start;
    margin-left:28px;
  }
  .public-header > .public-actions {
    grid-column:3;
  }
  .public-header .public-actions .language-control select { width:112px; min-width:112px; }
}
@media (max-width:760px) {
  .public-header { padding:18px 16px; gap:10px 12px; }
  .public-header .public-header-identity .brand { font-size:20px; gap:8px; }
  .public-header .public-header-identity .bb-brand-icon { width:34px; height:34px; }
  .public-header .public-actions .public-signup-button { display:none; }
  .public-header > .public-nav { display:none; }
  .public-header .public-actions .language-control select { width:98px; min-width:98px; font-size:11px; }
  .public-header .public-actions .public-login-button { font-size:11px; padding:8px 12px; }
}
@media (max-width:420px) {
  .public-header { grid-template-columns:minmax(0,1fr) auto; padding:16px 14px; gap:8px 10px; }
  .public-header .public-header-identity .brand { font-size:18px; }
  .public-header .public-header-identity .bb-brand-icon { width:30px; height:30px; }
  .public-header .public-actions { gap:6px; }
  .public-header .public-actions .language-control select {
    width:92px;
    min-width:92px;
    padding:7px 20px 7px 8px;
    font-size:10px;
  }
  .public-header .public-actions .public-login-button {
    font-size:10px;
    padding:7px 10px;
  }
}


/* 2026-10-13: centered footer everywhere, compact vertical spacing, mobile-safe. */
body.public-site { min-height:100dvh; display:flex; flex-direction:column; }
body.public-site > main { flex:1 0 auto; min-width:0; width:100%; }
.workspace .workspace-body { display:flex; flex-direction:column; min-height:100dvh; }
.workspace .workspace-body > .app-main { flex:1 0 auto; min-width:0; }
.site-footer,
.public-site .public-footer,
.workspace .workspace-footer,
.admin-footer {
  box-sizing:border-box;
  width:calc(100% - 32px) !important;
  max-width:1140px !important;
  margin:0 auto !important;
  padding:18px 12px 22px !important;
  border-top:1px solid var(--line, #dfe7de);
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  text-align:center;
  flex-shrink:0;
}
.site-footer .brand { display:inline-flex; justify-content:center; align-items:center; margin:0 auto; font-size:19px; }
.site-footer .bb-brand-icon { width:30px; height:30px; }
.site-footer p { margin:0 !important; font-size:11px; line-height:1.5; }
.site-footer nav {
  display:flex !important; justify-content:center !important; align-items:center !important;
  flex-wrap:wrap !important; width:auto !important; margin:0 auto !important;
  gap:8px 20px !important; min-width:0; max-width:100%;
}
.site-footer nav a { max-width:100%; overflow-wrap:anywhere; }
.workspace .workspace-body .app-main { padding-bottom:24px !important; }
.public-site .bottom-cta { margin-bottom:20px !important; }
.public-site .auth-section { padding-bottom:28px !important; }
.public-site .auth-section.compact { padding-bottom:30px !important; }
.public-site .single-auth { margin-bottom:28px !important; }
.public-site .payment-section { padding-bottom:28px !important; }
.public-site .legal-page { margin-bottom:28px !important; }
body:has(> .admin-footer) .admin-login { margin-bottom:24px !important; }
body:has(> .admin-footer) .admin-shell { padding-bottom:24px !important; }
@media (max-width:760px) {
  .site-footer, .public-site .public-footer, .workspace .workspace-footer, .admin-footer {
    width:calc(100% - 26px) !important;
    padding:16px 8px 18px !important;
    gap:7px !important;
  }
  .site-footer nav { column-gap:14px !important; row-gap:8px !important; }
  .workspace .workspace-body .app-main { padding-bottom:18px !important; }
  .public-site .bottom-cta { margin-bottom:16px !important; }
  .public-site .auth-section,
  .public-site .auth-section.compact { padding-bottom:22px !important; }
  .public-site .legal-page { margin-bottom:20px !important; }
  .public-site .payment-section { padding-bottom:22px !important; }
  body:has(> .admin-footer) .admin-login { margin-bottom:20px !important; }
}
@media print {
  .site-footer { display:none !important; }
}

/* Public marketing navigation: desktop top row, mobile hamburger and translated CTA */
.public-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px 24px;align-items:center;}
.public-header .public-header-identity{grid-column:1;grid-row:1;}
.public-header > .public-nav{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.5vw,25px);margin:0;min-width:0;width:auto;flex-wrap:nowrap;white-space:nowrap;}
.public-header > .public-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:8px;margin:0;flex-wrap:nowrap;}
.public-header > .public-mobile-menu{display:none;}
@media(max-width:850px){
 .public-header{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;padding-inline:14px;}
 .public-header .public-header-identity{flex:1 1 auto;min-width:0;width:auto;}
 .public-header .public-header-identity .brand{font-size:clamp(14px,3vw,20px);white-space:nowrap;}
 .public-header .public-header-identity .bb-brand-icon{width:clamp(28px,5vw,35px);height:clamp(28px,5vw,35px);}
 .public-header > .public-nav{display:none!important;}
 .public-header > .public-actions{flex:0 0 auto;width:auto;gap:6px;flex-wrap:nowrap;}
 .public-header .public-actions .language-control select{width:94px;min-width:0;font-size:11px;padding-inline:8px 19px;min-height:38px;}
 .public-header .public-actions .public-login-button{font-size:11px;padding:7px 10px;min-height:38px;}
 .public-header .public-actions .public-signup-button{display:none!important;}
 .public-header > .public-mobile-menu{display:block;position:relative;flex:0 0 auto;}
 .public-mobile-menu summary{height:38px;width:38px;display:grid;place-items:center;font-size:20px;background:#fff;border:1px solid #d7e4d4;border-radius:10px;color:#234b3c;list-style:none;cursor:pointer;}
 .public-mobile-menu summary::-webkit-details-marker{display:none;}
 .public-mobile-menu nav{position:absolute;right:0;top:calc(100% + 10px);z-index:60;display:flex;flex-direction:column;gap:0;padding:8px;min-width:210px;max-width:90vw;width:max-content;border:1px solid #d7e4d4;border-radius:12px;background:#fff;box-shadow:0 12px 30px #12251b22;}
 .public-mobile-menu nav a{display:block;padding:11px 12px;color:#173f35;font-weight:650;font-size:13px;border-radius:7px;}
 .public-mobile-menu nav a:hover,.public-mobile-menu nav a:focus-visible{background:#edf4e9;}
 .public-mobile-menu nav .mobile-cta{background:#237557;color:#fff;text-align:center;margin-top:5px;}
}
@media(max-width:390px){
 .public-header{gap:6px;padding-inline:10px;}
 .public-header .public-header-identity .brand{gap:4px;font-size:14px;}
 .public-header .public-header-identity .bb-brand-icon{width:27px;height:27px;}
 .public-header .public-actions .language-control select{width:85px;font-size:10px;padding-inline:5px 16px;}
 .public-header .public-actions .public-login-button{font-size:10px;padding:6px 7px;}
 .public-mobile-menu summary{width:34px;}
}

.legal-page .legal-contact{margin:18px 0 26px;line-height:1.85;overflow-wrap:anywhere;}
.legal-page .legal-related{margin:26px 0 0;line-height:2;}
.legal-page .legal-related a{margin-right:9px;}

@media(max-width:350px){
 .public-header .public-header-identity .brand>span{display:none;}
 .public-header .public-header-identity{flex:1 1 auto;}
}

.withdrawal-form{margin-top:22px;max-width:860px;}
.withdrawal-form .withdrawal-request{display:grid;gap:13px;max-width:560px;margin:20px 0;}
.withdrawal-form .withdrawal-request .field{margin:0;}
.withdrawal-form .withdrawal-request .button{justify-self:start;white-space:normal;}
