/* KB Business Portal V21.6.216 — Workspaces UX polish.
 * Loaded after the existing layers. Portal-scoped; métier content owns its styles.
 * Avoids mutations of menus, permissions, Stripe, KB Finance and workspace data. */
.kbbp-app {
  --kbbp216-ink:#122b43;
  --kbbp216-muted:#53677c;
  --kbbp216-line:#e0e8f1;
  --kbbp216-paper:#ffffff;
  --kbbp216-gold:#d7a54d;
  --kbbp216-focus:#b67c20;
  --kbbp216-shadow:0 6px 24px rgba(18,44,69,.055);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* Desktop navigation remains visible, but can scroll independently if long. */
@media(min-width:981px) {
  .kbbp-app .kbbp-sidebar {
    position:sticky;
    top:0;
    align-self:start;
    height:100vh;
    height:100dvh;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(230,202,144,.3) transparent;
  }
  .kbbp-app .kbbp-sidebar-foot { flex-shrink:0; }
  .kbbp-app .kbbp-main { min-width:0; }
}
/* Stronger content hierarchy with lower visual noise. */
.kbbp-app .kbbp-main .kbbp-section-head { align-items:center; gap:14px 22px; margin-bottom:21px; }
.kbbp-app .kbbp-main .kbbp-section-head h2 {
  color:var(--kbbp216-ink);
  letter-spacing:-.035em;
  text-wrap:balance;
}
.kbbp-app .kbbp-main .kbbp-section-head p { max-width:66ch; color:var(--kbbp216-muted); }
.kbbp-app .kbbp-main .kbbp-eyebrow { letter-spacing:.08em; }
.kbbp-app .kbbp-card {
  border-color:var(--kbbp216-line);
  border-radius:18px;
  box-shadow:var(--kbbp216-shadow);
}
.kbbp-app .kbbp-card-head { gap:12px; }
.kbbp-app .kbbp-main .kbbp-card-head h3 { line-height:1.32; letter-spacing:-.015em; }
.kbbp-app .kbbp-main .kbbp-kpi,
.kbbp-app .kbbp-main .kbbp-quick-item {
  border-color:var(--kbbp216-line);
  border-radius:15px;
}
.kbbp-app .kbbp-main .kbbp-kpi { box-shadow:var(--kbbp216-shadow); }
.kbbp-app .kbbp-main :is(.kbbp-kpi,.kbbp-quick-item):focus-visible {
  outline:3px solid var(--kbbp216-focus);
  outline-offset:3px;
}
/* Legible rows and less cramped actions, without changing financial forms. */
.kbbp-app .kbbp-main .kbbp-row { min-height:56px; }
.kbbp-app .kbbp-main .kbbp-row:focus-within { background:rgba(235,242,250,.45); }
.kbbp-app .kbbp-main .kbbp-btn { min-height:42px; padding:10px 16px; border-radius:11px; font-size:14px; }
.kbbp-app .kbbp-main .kbbp-form { border-color:var(--kbbp216-line); box-shadow:var(--kbbp216-shadow); }
.kbbp-app .kbbp-main .kbbp-field>span { font-size:13px; line-height:1.45; }
.kbbp-app .kbbp-main .kbbp-field :is(input,select,textarea) {
  min-height:44px;
  border-color:#c8d5e3;
  border-radius:11px;
  font-size:15px;
  line-height:1.45;
}
.kbbp-app .kbbp-main .kbbp-field textarea { min-height:90px; }
.kbbp-app .kbbp-main :is(a,button,input,select,textarea,summary,[role="tab"]):focus-visible {
  outline:3px solid var(--kbbp216-focus);
  outline-offset:3px;
}
.kbbp-app .kbbp-main :is(input,select,textarea):focus-visible { outline-offset:1px; }
.kbbp-app .kbbp-main table { font-variant-numeric:tabular-nums; }
.kbbp-app .kbbp-main table th { text-align:left; }
.kbbp-app .kbbp-main table tbody tr { transition:background-color .12s ease; }
.kbbp-app .kbbp-main table tbody tr:hover,
.kbbp-app .kbbp-main table tbody tr:focus-within { background:rgba(239,245,251,.7); }
/* Sidebar state and headings remain recognizable even in very long menus. */
.kbbp-app .kbbp-sidebar :is(.kbbp-nav a,.kbbp-profession-nav-link,.kbbp-desktop-shortcut-link) {
  transition:background-color .13s ease, color .13s ease, border-color .13s ease;
}
.kbbp-app .kbbp-sidebar :is(.kbbp-nav a,.kbbp-profession-nav-link):focus-visible,
.kbbp-app .kbbp-sidebar :is(summary,a,button):focus-visible { outline:3px solid #f2c779; outline-offset:2px; }
.kbbp-app .kbbp-sidebar .kbbp-nav-section-heading { cursor:pointer; }
.kbbp-app .kbbp-sidebar .kbbp-nav-section-heading:hover { color:#ffe0a2; }
.kbbp-app .kbbp-sidebar .kbbp-company strong { overflow-wrap:anywhere; }
/* Global tools: search and CTA retain space in the shared header. */
.kbbp-app .kbbp-topbar { min-width:0; }
.kbbp-app .kbbp-top-actions { min-width:0; }
.kbbp-app .kbbp-search { position:relative; min-width:0; }
.kbbp-app .kbbp-search input[type="search"] {
  min-height:44px;
  font-size:14px;
  border-radius:12px;
  padding-inline:14px;
}
.kbbp-app .kbbp-shortcut {
  pointer-events:none;
  font-size:11px;
  line-height:1;
  letter-spacing:0;
  border-radius:5px;
}
.kbbp-app .kbbp-topbar .kbbp-icon-btn { min-width:42px; min-height:42px; }
.kbbp-app .kbbp-topbar .kbbp-btn.primary { min-height:44px; }
/* Light shell for PRO CLEAN only; the métier panel remains independent. */
.kbbp-app[data-kbbp-trade="pro_clean"] .kbbp-main { background:#f4f7fb!important; }
.kbbp-app[data-kbbp-trade="pro_clean"] .kbbp-topbar {
  border:1px solid #e4eaf2!important;
  border-radius:16px!important;
  box-shadow:0 4px 19px rgba(18,44,69,.035)!important;
}
.kbbp-app[data-kbbp-trade="pro_clean"] .kbbp-sidebar .kbbp-clean-unified-nav a.active,
.kbbp-app[data-kbbp-trade="pro_clean"] .kbbp-sidebar .kbbp-clean-unified-nav a[aria-current="page"] {
  font-weight:750;
}
/* Mobile: emphasize main action and avoid tiny or clipped controls. */
@media(max-width:980px) {
  .kbbp-app .kbbp-sidebar { position:static; height:auto; min-height:0; overflow:visible; }
  .kbbp-app .kbbp-main .kbbp-section-head { align-items:flex-start; }
  .kbbp-app .kbbp-dock-more-panel { max-height:min(68vh,540px); max-height:min(68dvh,540px); overflow-y:auto; overscroll-behavior:contain; }
}
@media(max-width:650px) {
  .kbbp-app .kbbp-main .kbbp-section-head { display:flex; flex-direction:column; align-items:stretch; gap:10px; margin-bottom:16px; }
  .kbbp-app .kbbp-main .kbbp-section-head .kbbp-btn { align-self:flex-start; }
  .kbbp-app .kbbp-main .kbbp-section-head h2 { font-size:clamp(22px,5.8vw,27px); }
  .kbbp-app .kbbp-main .kbbp-card { border-radius:15px; }
  .kbbp-app .kbbp-main .kbbp-form { gap:13px; }
  .kbbp-app .kbbp-main .kbbp-form-actions { flex-wrap:wrap; }
  .kbbp-app .kbbp-top-actions { gap:8px; }
  .kbbp-app .kbbp-top-actions .kbbp-search { min-width:0; width:100%; }
  .kbbp-app .kbbp-search input[type="search"] { width:100%; max-width:none; }
  .kbbp-app .kbbp-dock-more-panel { padding-bottom:calc(12px + env(safe-area-inset-bottom,0px)); }
  .kbbp-app .kbbp-mobile-dock,
  .kbbp-app .kbbp-clean-mobile-dock { padding-bottom:env(safe-area-inset-bottom,0px); }
}
@media(prefers-reduced-motion:reduce) {
  .kbbp-app .kbbp-main table tbody tr,
  .kbbp-app .kbbp-sidebar :is(a,summary) { transition:none!important; }
}
@media(forced-colors:active) {
  .kbbp-app .kbbp-main :is(.kbbp-card,.kbbp-kpi,.kbbp-quick-item) { border:1px solid CanvasText; }
  .kbbp-app .kbbp-main :is(a,button,summary):focus-visible { outline:2px solid Highlight; }
}
