/* KiraPas 33.91 — public homepage hero. Independent of legacy kp81 styles. */
body.kp91-home {
  background: #fff !important;
  padding-bottom: 0 !important;
}
html:has(body.kp91-home) { scroll-padding-bottom: 0; }
body.kp91-home header.cs_site_header {
  position: sticky !important;
  top: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}
.kp91-hero {
  --kp91-blue: #2563eb;
  --kp91-ink: #14213d;
  background: #fff;
  padding: 76px 0 72px;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--kp91-ink);
}
.kp91-hero *, .kp91-hero *::before, .kp91-hero *::after { box-sizing: border-box; }
.kp91-layout {
  width: min(1120px, calc(100% - 64px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: center;
  gap: 72px;
}
.kp91-copy { min-width: 0; }
.kp91-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  margin-bottom: 26px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2459ba;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .045em;
  font-weight: 650;
}
.kp91-hero svg {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kp91-badge svg { width: 15px; height: 15px; }
.kp91-title {
  margin: 0;
  font-family: inherit;
  color: var(--kp91-ink);
  font-size: clamp(42px, 4.2vw, 58px);
  font-weight: 750;
  line-height: 1.13;
  letter-spacing: -.045em;
}
.kp91-title span { color: var(--kp91-blue); }
.kp91-subtitle {
  max-width: 510px;
  margin: 24px 0 32px;
  color: #5b687c;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: -.012em;
}
.kp91-actions { display: grid; gap: 12px; max-width: 370px; }
.kp91-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  padding: 15px 18px;
  border: 1px solid var(--kp91-blue);
  border-radius: 14px;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color .18s, box-shadow .18s;
}
.kp91-primary, .kp91-primary:visited {
  background: var(--kp91-blue);
  color: #fff;
  box-shadow: 0 8px 24px rgba(37, 99, 235, .22);
}
.kp91-primary:hover { background: #1d4ed8; color: #fff; box-shadow: 0 10px 28px rgba(37,99,235,.28); }
.kp91-secondary, .kp91-secondary:visited { background: #fff; color: #2459ba; box-shadow: none; }
.kp91-secondary:hover { background: #f8fbff; color: #1d4ed8; }
.kp91-button:focus-visible, .kp91-file:focus-visible { outline: 3px solid #2563eb; outline-offset: 5px; }
.kp91-button svg { width: 18px; height: 18px; }
.kp91-visual { min-width: 0; padding: 14px 0; }
.kp91-file {
  position: relative;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  padding: 24px;
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 24px;
  box-shadow: 0 24px 60px -22px rgba(24, 47, 83, .2), 0 4px 14px rgba(24, 47, 83, .04);
  scroll-margin-top: 90px;
}
.kp91-file-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kp91-file-heading { display: flex; align-items: center; gap: 10px; min-width: 0; }
.kp91-file-logo {
  display: grid; place-items: center;
  width: 38px; height: 38px; flex: 0 0 38px;
  border-radius: 12px; background: #eff6ff; color: #2563eb;
}
.kp91-file h2 { margin: 0; font-family: inherit; font-size: 15px; line-height: 1.4; font-weight: 700; letter-spacing: -.02em; color: var(--kp91-ink); }
.kp91-file-id { display: block; margin-top: 2px; font-size: 10px; line-height: 1.5; letter-spacing: .07em; color: #68758a; }
.kp91-demo { padding: 5px 8px; border: 1px solid #e6ebf2; border-radius: 7px; font-size: 10px; line-height: 1.4; color: #68758a; white-space: nowrap; }
.kp91-property { margin: 22px 0 16px; padding: 16px; border-radius: 13px; background: #eff6ff; }
.kp91-property strong { display: block; color: #14213d; font-size: 14px; line-height: 1.4; font-weight: 650; }
.kp91-property span { display: block; margin-top: 4px; color: #68758a; font-size: 12px; line-height: 1.5; }
.kp91-steps { list-style: none; margin: 0; padding: 0; }
.kp91-step {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 59px;
  border-bottom: 1px solid #edf1f6;
  padding: 10px 0;
  margin: 0;
}
.kp91-step:last-child { border-bottom: 0; }
.kp91-step-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: #f1f6ff; color: #2563eb; }
.kp91-step-label { color: #273650; font-size: 13px; font-weight: 600; line-height: 1.4; }
.kp91-step-status { display: flex; align-items: center; justify-content: flex-end; gap: 5px; color: #68758a; font-size: 11px; line-height: 1.4; white-space: nowrap; }
.kp91-step-status svg { width: 13px; height: 13px; color: #1e3a8a; stroke-width: 2; }
.kp91-step-status.is-next { color: #2459ba; }
.kp91-file-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 14px; padding-top: 16px; border-top: 1px solid #edf1f6; }
.kp91-parties { display: flex; align-items: center; gap: 8px; color: #68758a; font-size: 11px; line-height: 1.4; }
.kp91-avatars { display: flex; padding-left: 0; }
.kp91-avatars span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; border: 2px solid #fff; background: #e9effa; color: #44618d; font-size: 8px; font-weight: 700; }
.kp91-avatars span + span { margin-left: -6px; background: #eff6ff; color: #1e3a8a; }
.kp91-shared { display: flex; align-items: center; gap: 4px; color: #68758a; font-size: 10px; line-height: 1.4; }
.kp91-shared svg { width: 12px; height: 12px; }
.kp91-dossier-shell { padding: 12px 0 48px; background: #fff; }
.kp91-dossier-shell .kp81-dossier { margin-top: 0 !important; }
/* Keep the long existing service menu usable on wider screens as well. */
@media (min-width: 769px) {
  body.kp91-home header.cs_site_header .cs_main_header_in {
    height: 82px !important;
    min-height: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px;
  }
  body.kp91-home header.cs_site_header .cs_main_header_right { order: 2; margin-left: auto !important; }
  body.kp91-home header.cs_site_header .cs_main_header_center { order: 3; margin-left: 0 !important; }
  body.kp91-home header.cs_site_header .cs_nav { display: flex !important; align-items: center !important; }
  body.kp91-home header.cs_site_header .cs_menu_toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    inset: auto !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #14213d !important;
    cursor: pointer;
  }
  body.kp91-home header.cs_site_header .cs_menu_toggle span,
  body.kp91-home header.cs_site_header .cs_menu_toggle span::before,
  body.kp91-home header.cs_site_header .cs_menu_toggle span::after {
    display: block; width: 24px; height: 2px; background: currentColor;
  }
  body.kp91-home header.cs_site_header .cs_menu_toggle span { position: relative; top: 0; }
  body.kp91-home header.cs_site_header .cs_menu_toggle span::before,
  body.kp91-home header.cs_site_header .cs_menu_toggle span::after { content: ""; position: absolute; left: 0; }
  body.kp91-home header.cs_site_header .cs_menu_toggle span::before { top: -7px; margin: 0; }
  body.kp91-home header.cs_site_header .cs_menu_toggle span::after { top: 7px; margin: 0; }
  body.kp91-home header.cs_site_header .cs_menu_toggle.cs_toggle_active span { background: transparent; }
  body.kp91-home header.cs_site_header .cs_menu_toggle.cs_toggle_active span::before { top: 0; transform: rotate(45deg); }
  body.kp91-home header.cs_site_header .cs_menu_toggle.cs_toggle_active span::after { top: 0; transform: rotate(-45deg); }
  body.kp91-home header.cs_site_header .cs_nav_list_wrap {
    display: none !important;
    position: fixed !important;
    top: 82px !important;
    right: max(24px, calc((100vw - 1120px) / 2)) !important;
    left: auto !important;
    width: 380px !important;
    max-height: calc(100dvh - 106px) !important;
    padding: 16px !important;
    background: #fff !important;
    border: 1px solid #e6ebf2 !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 48px rgba(24, 47, 83, .12) !important;
    overflow: auto !important;
    transform: none !important;
  }
  body.kp91-home header.cs_site_header .cs_nav_list_wrap.cs_active { display: block !important; }
  body.kp91-home header.cs_site_header .cs_nav_list { display: grid !important; gap: 4px !important; margin: 0 !important; padding: 0 !important; }
  body.kp91-home header.cs_site_header .cs_nav_list > li { width: 100% !important; margin: 0 !important; }
  body.kp91-home header.cs_site_header .cs_nav_list > li > a {
    display: flex !important; align-items: center !important; gap: 12px !important;
    min-height: 48px !important; padding: 10px 12px !important; border-radius: 12px;
    font-size: 14px !important; line-height: 1.4 !important;
  }
  body.kp91-home header.cs_site_header .kp_mobile_actions { display: none !important; }
  body.kp91-home .kirapas_menu_overlay { display: none !important; }
}
@media (max-width: 991px) {
  .kp91-layout { gap: 32px; width: calc(100% - 48px); }
  .kp91-title { font-size: 42px; }
  .kp91-file { padding: 20px; }
}
@media (max-width: 768px) {
  body.kp91-home header.cs_site_header .container { padding: 0 24px !important; }
  body.kp91-home header.cs_site_header .cs_main_header_in { height: 68px !important; min-height: 68px !important; }
  body.kp91-home header.cs_site_header .cs_nav_list_wrap { top: 68px !important; height: calc(100dvh - 68px) !important; }
  .kp91-hero { padding: 32px 0 44px; }
  .kp91-layout { width: calc(100% - 48px); grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .kp91-badge { margin-bottom: 24px; padding: 7px 10px; font-size: 10px; letter-spacing: .035em; }
  .kp91-title { font-size: clamp(30px, 9.1vw, 44px); line-height: 1.15; letter-spacing: -.045em; }
  .kp91-subtitle { margin: 22px 0 28px; max-width: 520px; font-size: 15px; line-height: 1.75; }
  .kp91-actions { max-width: none; gap: 12px; }
  .kp91-button { min-height: 54px; font-size: 14px; }
  .kp91-visual { padding: 0; }
  .kp91-file { max-width: 480px; padding: 20px; border-radius: 20px; }
  .kp91-dossier-shell { padding-top: 12px; }
}
@media (max-width: 360px) {
  .kp91-layout { width: calc(100% - 40px); }
  body.kp91-home header.cs_site_header .container { padding: 0 20px !important; }
  .kp91-subtitle { font-size: 14px; }
  .kp91-file { padding: 16px; }
  .kp91-file h2 { font-size: 14px; }
  .kp91-step { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .kp91-button { transition: none; }
}


/* FotFi v37 — adapted directly from KiraPas v33.91's visual layout and v33.90's menu language. */
:root{--primary:#2563eb!important;--accent:#2563eb!important;--purple:#2563eb!important;--indigo:#1d4ed8!important;--navy:#14213d!important;--ink:#14213d!important;--muted:#607089!important;--line:#e5ebf2!important;--paper:#fff!important;--soft:#eff6ff!important;--shadow:0 16px 38px rgba(22,41,72,.06)!important}
html{scroll-padding-top:78px}
body{background:#fff!important;color:#14213d!important;font-family:Inter,system-ui,-apple-system,sans-serif!important}
#page-home{background:#fff!important}
/* KiraPas header: brand left, centered navigation icon on desktop, actions right. */
.site-header,.public-view .site-header,body:not(.public-view) .site-header{position:sticky!important;top:0!important;background:#fff!important;backdrop-filter:none!important;box-shadow:none!important;border-bottom:1px solid #edf1f6!important;z-index:45!important}
.site-header .header-row,.public-view .header-row{position:relative!important;width:min(1200px,calc(100% - 44px))!important;max-width:1200px!important;height:82px!important;margin:0 auto!important;padding:0!important;display:flex!important;justify-content:space-between!important;align-items:center!important}
.site-header .brand-logo,.brand-logo.ff-brand-logo{width:140px!important;max-height:62px!important;object-fit:contain!important}
.site-header .landing-nav{display:none!important}
.site-header .header-actions{gap:10px!important;margin-left:auto!important}
.site-header .header-create,.public-view .header-create,.site-header .primary.header-create{display:inline-flex!important;min-height:46px!important;padding:12px 22px!important;border-radius:28px!important;background:#2563eb!important;border:1px solid #2563eb!important;color:#fff!important;font-weight:750!important;font-size:14px!important;box-shadow:0 8px 22px #2563eb20!important}
.site-header .account-button,.public-view .account-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:230px!important;min-height:46px!important;padding:10px 21px!important;border:1px solid #dde5f0!important;border-radius:26px!important;background:#fff!important;color:#14213d!important;font-size:14px!important;font-weight:730!important}
.site-header .kp-header-toggle,.public-view .kp-header-toggle{display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;width:42px!important;height:42px!important;padding:6px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#14213d!important}
.kp-header-toggle svg{width:27px!important;height:27px!important;stroke-width:2!important}
.site-header .header-actions .account-button{order:1!important}.site-header .header-actions .header-create{order:2!important}.site-header .header-actions .kp-header-toggle{order:0!important}
/* Exact KiraPas hero composition (kp91) with FotFi data, KiraPas layout. */
#page-home .kp91-hero{background:#fff!important;padding:76px 0 72px!important;color:#14213d!important}
#page-home .kp91-layout{max-width:1120px!important}
#page-home .kp91-badge{color:#2459ba!important;background:#eff6ff!important}
#page-home .kp91-title,#page-home .kp91-file h2{color:#14213d!important}
#page-home .kp91-title span{color:#2563eb!important}
#page-home .kp91-subtitle{color:#5b687c!important}
#page-home .kp91-button{cursor:pointer!important;font-family:inherit!important}
#page-home .kp91-primary{background:#2563eb!important;color:#fff!important;border:1px solid #2563eb!important;border-radius:14px!important;box-shadow:0 8px 24px #2563eb30!important}
#page-home .kp91-secondary{background:#fff!important;color:#2459ba!important;border:1px solid #2563eb!important;border-radius:14px!important;box-shadow:none!important}
#page-home .kp91-file{border:1px solid #e6ebf2!important;border-radius:24px!important;background:#fff!important;box-shadow:0 24px 60px -22px rgba(24,47,83,.2),0 4px 14px rgba(24,47,83,.04)!important}
#page-home .kp91-property{background:#eff6ff!important}
#page-home .kp91-file-logo,#page-home .kp91-step-icon{background:#eff6ff!important;color:#2563eb!important}
#page-home .kp91-early{display:flex;align-items:center;gap:8px;margin:22px 0 0;flex-wrap:wrap;font-size:12px;color:#66758b}
#page-home .kp91-early-dot{width:8px;height:8px;background:#1e3a8a;border-radius:100%}
#page-home .kp91-early button{background:none;border:0;padding:0;color:#2563eb;font-weight:750;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* Existing FotFi sections use the same palette, border, type and card language. */
.public-view #page-home .ff-section{padding-block:64px!important}
.public-view #page-home .ff-section-heading h2,.public-view #page-home .ff-cost h2,.public-view #page-home .ff-company h2{color:#14213d!important;font-weight:800!important;letter-spacing:-.045em!important}
.public-view #page-home .ff-kicker{color:#2563eb!important;background:#eff6ff!important;border-radius:999px!important;padding:8px 12px!important;font-weight:750!important;letter-spacing:.055em!important}
.public-view #page-home .ff-category,.public-view #page-home .ff-benefit-card,.public-view #page-home .ff-trust-grid article,.public-view #page-home .ff-step,.public-view #page-home .ff-lookup,.public-view #page-home .ff-final-cta{background:#fff!important;color:#14213d!important;border:1px solid #e5ebf2!important;border-radius:21px!important;box-shadow:0 10px 36px rgba(24,47,83,.04)!important}
.public-view #page-home .ff-category-art,.public-view #page-home .ff-benefit-icon,.public-view #page-home .ff-trust-grid svg{background:#eff6ff!important;color:#2563eb!important;border-radius:12px!important}
.public-view #page-home .ff-category-arrow,.public-view #page-home .ff-text-button,.public-view #page-home .ff-step-number{color:#2563eb!important}
.public-view #page-home .ff-category strong,.public-view #page-home .ff-category-text strong{color:#14213d!important}
.public-view #page-home .ff-category p,.public-view #page-home .ff-category-text small{color:#67768b!important}
.public-view #page-home button.primary,.public-view #page-home .ff-final-cta button.primary,.public-view #page-home .ff-cost button.primary{background:#2563eb!important;border:1px solid #2563eb!important;border-radius:14px!important;color:#fff!important;box-shadow:0 9px 22px rgba(37,99,235,.15)!important}
.public-view #page-home .ff-cost{background:#f7faff!important;border:1px solid #dfe9fa!important;border-radius:24px!important;box-shadow:none!important}
.public-view #page-home .ff-cost .ff-cost-copy h2{color:#14213d!important}
.public-view #page-home .ff-cost .ff-cost-copy>div>p,.public-view #page-home .ff-cost .ff-cost-actions small{color:#5b687c!important}
.public-view #page-home .ff-cost .ff-kicker{background:#e6efff!important;color:#2459ba!important}
.public-view #page-home .ff-lookup{background:#f8fbff!important}
.public-view #page-home .ff-proof-strip{background:#eff6ff!important;border-color:#edf1f6!important}
.public-view #page-home .ff-condition{color:#14213d!important}
.public-view #page-home .ff-condition svg{color:#2563eb!important}
.public-view #page-home .ff-final-cta{background:#f5f9ff!important}
/* Workspace, create, login, admin, transaction — same KiraPas design. */
body:not(.public-view){background:#eff6ff!important}
.workspace-nav{background:#fff!important;border-right:1px solid #e5ebf2!important}
.workspace-nav button{border-radius:12px!important;font-weight:650!important}
.workspace-nav button[aria-current="page"],.workspace-nav button:hover{background:#eef4ff!important;color:#2563eb!important}
.workspace-label,.page-heading .kicker,.dashboard-top .kicker{color:#2459ba!important}
main>section:not(#page-home) .panel,main>section:not(#page-home) .start-card,.create-aside,.overview-stat,.stat-box,.list-row,.detail-block,.room-main,.room-guide,.transaction-layout article{border-radius:18px!important;border-color:#e5ebf2!important;background:#fff!important;box-shadow:0 9px 26px rgba(24,47,83,.04)!important}
body:not(.public-view) .primary,body:not(.public-view) button.primary,.primary.create-submit,#startForm .primary,#earlyAccessDialog .primary{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;border-radius:13px!important;box-shadow:0 8px 18px #2563eb18!important}
body:not(.public-view) .secondary,body:not(.public-view) button.secondary{background:#fff!important;color:#17365c!important;border:1px solid #dfe6f1!important;border-radius:13px!important}
body:not(.public-view) input,body:not(.public-view) textarea,body:not(.public-view) select,dialog input:not([type="checkbox"]),dialog select,dialog textarea,.public-view #lookupCode,.public-view #calcAmount{background:#fff!important;color:#14213d!important;border:1px solid #d9e3f0!important;border-radius:12px!important}
body:not(.public-view) input:focus,dialog input:focus{border-color:#2563eb!important;outline:2px solid #c8daff!important}
input[type="checkbox"],dialog input[type="checkbox"]{accent-color:#2563eb!important}
#page-create h1,#page-list h1,#page-overview h1,#page-room h1,#page-admin h1,#page-verification h1{color:#14213d!important;font-weight:800!important}
.role-tabs button[aria-pressed="true"],.filter-tabs button[aria-pressed="true"]{color:#2563eb!important;background:#edf4ff!important}
.create-aside{border-top:3px solid #2563eb!important}
#earlyAccessDialog,.ff-early-dialog,dialog:not(#menuDialog){border:1px solid #dce5f1!important;border-radius:22px!important;box-shadow:0 32px 80px rgba(16,40,70,.2)!important}
#earlyAccessDialog .ff-early-submit,dialog .primary{background:#2563eb!important;border-color:#2563eb!important;border-radius:13px!important;color:white!important}
#earlyAccessDialog .ff-early-icon{color:#2563eb!important;background:#eef4ff!important}
#earlyAccessDialog .ff-early-kicker{color:#2563eb!important}
.site-footer{background:#eff6ff!important;border-top:1px solid #e5ebf2!important;color:#52627b!important}
/* True KiraPas V33.90 full-screen white hamburger screen, with rounded menu card. */
#menuDialog,#menuDialog[open]{position:fixed!important;inset:0!important;left:0!important;top:0!important;right:0!important;bottom:0!important;max-width:none!important;max-height:none!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;color:#14213d!important}
#menuDialog::backdrop{background:#fff!important;backdrop-filter:none!important}
#menuDialog[open]{display:flex!important;flex-direction:column!important}
#menuDialog .kp-menu-heading{position:relative;display:flex!important;flex:none!important;align-items:center!important;justify-content:space-between!important;height:69px!important;min-height:69px!important;width:100%!important;padding:0 24px!important;border:0!important;border-bottom:1px solid #edf1f6!important;background:#fff!important;margin:0!important}
#menuDialog .kp-menu-heading .brand-logo{width:124px!important;max-height:59px!important}
#menuDialog .kp-menu-close{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-height:40px!important;padding:8px!important;background:none!important;border:0!important;border-radius:8px!important;color:#14213d!important;cursor:pointer}
#menuDialog .kp-menu-close svg{transform:none!important;height:24px;width:24px;stroke:currentColor;fill:none;stroke-linecap:round;stroke-width:2}
#menuDialog .kp-menu-content{width:100%!important;max-width:700px!important;margin:0 auto!important;padding:18px 16px 25px!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:#fff!important;scrollbar-width:none!important}
#menuDialog .kp-menu-list{width:100%!important;margin:0!important}
#menuDialog .kp_nav_primary{list-style:none!important;display:flex!important;flex-direction:column!important;gap:2px!important;width:100%!important;margin:0!important;padding:9px 12px 12px!important;background:#fff!important;border:1px solid #dde4ed!important;border-radius:23px!important;box-shadow:0 10px 32px rgba(15,23,42,.035)!important}
#menuDialog .kp_nav_primary li{list-style:none!important;width:100%!important;margin:0!important;padding:0!important}
#menuDialog .kp_nav_primary li[hidden]{display:none!important}
#menuDialog .kp_nav_primary li>button{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;width:100%!important;min-height:51px!important;margin:0!important;padding:7px 10px!important;border:0!important;border-radius:16px!important;background:transparent!important;color:#111827!important;font-size:16px!important;font-weight:740!important;line-height:1.2!important;text-align:left!important;letter-spacing:-.01em!important;cursor:pointer!important}
#menuDialog .kp_nav_primary li.current-menu-item>button,#menuDialog .kp_nav_primary li>button:hover,#menuDialog .kp_nav_primary li>button:focus-visible{color:#2167d9!important;background:#eef3ff!important}
#menuDialog .kp-menu-icon{flex:0 0 36px!important;width:36px!important;height:36px!important;display:grid!important;place-items:center!important;background:#eff6ff!important;border-radius:11px!important;color:#3277df!important}
#menuDialog .kp-menu-icon svg{display:block!important;width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.8!important;stroke-linejoin:round!important;stroke-linecap:round!important}
#menuDialog .kp_mobile_actions{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;margin:14px 0 0!important;padding:12px!important;background:#fff!important;border:1px solid #dde4ed!important;border-radius:22px!important;box-shadow:0 10px 30px rgba(15,23,42,.03)!important}
#menuDialog .kp_mobile_actions button{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;border:0!important;border-radius:16px!important;font-size:16px!important;font-weight:800!important;text-align:center!important;cursor:pointer}
#menuDialog .kp_mobile_login{min-height:48px!important;background:#eff6ff!important;color:#18304f!important}
#menuDialog .kp_mobile_signup{min-height:56px!important;background:#2563eb!important;color:#fff!important;box-shadow:0 10px 22px #2563eb25!important}
#menuDialog .kp-menu-footer{text-align:center;margin:15px 0 0!important;font-size:11px!important;color:#8190a3!important}
#menuDialog .kp-menu-footer a{display:block;color:#2563eb;font-size:11px;margin-top:3px}
@media(max-width:768px){
 .site-header .header-row,.public-view .header-row{width:calc(100% - 48px)!important;height:69px!important;min-height:69px!important}
 .site-header .brand-logo,.brand-logo.ff-brand-logo{width:123px!important;max-height:62px!important}
 .site-header .header-actions{margin:0 0 0 auto!important}
 .site-header .kp-header-toggle,.public-view .kp-header-toggle{position:static!important;left:auto!important;top:auto!important;transform:none!important;width:42px!important;height:42px!important;display:flex!important}
 .site-header .header-actions .account-button,.site-header .header-actions .header-create,.site-header .header-actions .lp-header-panel,.site-header .header-actions #notificationButton,.public-view .site-header .header-actions .header-create,.public-view .site-header .header-actions .account-button{display:none!important}
 #page-home .kp91-hero{padding:32px 0 44px!important}
 #page-home .kp91-layout{width:calc(100% - 48px)!important;gap:32px!important}
 #page-home .kp91-title{font-size:clamp(30px,9.1vw,44px)!important;line-height:1.15!important}
 #page-home .kp91-subtitle{font-size:15px!important;line-height:1.75!important}
 #page-home .kp91-button{min-height:54px!important;font-size:14px!important}
 #page-home .kp91-file{padding:20px!important}
 #page-home .kp91-early{margin-top:16px!important}
 .public-view #page-home .ff-section{padding-block:44px!important}
 .public-view #page-home .ff-category{min-height:170px!important;border-radius:17px!important}
 #page-home .kp91-file h2{font-size:14px!important}
}
@media(min-width:769px) and (max-width:980px){.site-header .header-row{width:calc(100% - 40px)!important}.site-header .brand-logo{width:115px!important}.site-header .account-button{max-width:135px!important}.site-header .header-create{padding:10px 13px!important}}
@media(max-width:360px){.site-header .header-row{width:calc(100% - 40px)!important}#page-home .kp91-layout{width:calc(100% - 40px)!important}#menuDialog .kp-menu-content{padding-inline:12px!important}}

#menuDialog :focus-visible{outline:2px solid #bfdbfe!important;outline-offset:1px!important}
/* KiraPas desktop mode: a compact anchored dropdown, not a full screen takeover. */
@media(min-width:769px){
 #menuDialog[open]{top:82px!important;bottom:auto!important;left:auto!important;right:max(24px,calc((100vw - 1120px)/2))!important;width:380px!important;max-width:calc(100vw - 48px)!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 106px)!important;border:1px solid #e6ebf2!important;border-radius:20px!important;background:#fff!important;box-shadow:0 18px 48px rgba(24,47,83,.12)!important}
 #menuDialog::backdrop{background:transparent!important}
 #menuDialog .kp-menu-heading{display:none!important}
 #menuDialog .kp-menu-content{padding:12px!important}
 #menuDialog .kp_nav_primary{border:0!important;box-shadow:none!important;padding:0!important}
 #menuDialog .kp_nav_primary li>button{font-size:14px!important;min-height:46px!important}
 #menuDialog .kp_mobile_actions{display:none!important}
 #menuDialog .kp-menu-footer{display:none!important}
}


/* v38: Compact, balanced FotFi brand in KiraPas-based navigation.
   Keep the original logo artwork intact; modify only its rendered size. */
@media (min-width:769px) {
  .site-header .brand-logo,
  .site-header .brand-logo.ff-brand-logo {
    width:116px !important;
    height:56px !important;
    max-height:56px !important;
    object-fit:contain !important;
  }
}
@media (max-width:768px) {
  .site-header .header-row,
  .public-view .site-header .header-row {
    height:62px !important;
    min-height:62px !important;
  }
  .site-header .brand-logo,
  .site-header .brand-logo.ff-brand-logo {
    width:102px !important;
    height:51px !important;
    max-height:51px !important;
    object-fit:contain !important;
  }
  #menuDialog .kp-menu-heading {
    height:62px !important;
    min-height:62px !important;
  }
  #menuDialog .kp-menu-heading .brand-logo {
    width:102px !important;
    height:51px !important;
    max-height:51px !important;
    object-fit:contain !important;
  }
}



/* === FotFi v39 | KiraPas v33.91 complete interface system === */
:root{
  --primary:#2563eb!important;--accent:#2563eb!important;--blue:#2563eb;--blue-dark:#1d4ed8;
  --navy:#14213d!important;--ink:#14213d!important;--muted:#64748b!important;
  --line:#e2e8f0!important;--paper:#ffffff!important;--soft:#f8fafc!important;
  --kp-surface:#ffffff;--kp-muted:#f8fafc;--kp-line:#e2e8f0;--kp-focus:#93c5fd;
  color-scheme:light;
}
html{scroll-padding-top:76px;overflow-x:clip}
body,body.public-view,body:not(.public-view){background:#fff!important;color:#14213d!important;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif!important}
body:not(.public-view){background:#f8fafc!important}
button,input,select,textarea{font-family:inherit!important}
::selection{background:#dbeafe;color:#14213d}
:focus-visible{outline:3px solid #93c5fd!important;outline-offset:2px!important}
:is(.panel,.create-aside,.overview-card,.room-main,.room-guide,.verification-card,.stat-box,.overview-stat,.list-row,.detail-block,.transaction-layout article,.dialog-card){border-color:#e2e8f0!important;box-shadow:0 10px 30px rgba(20,33,61,.045)!important}
/* Identical brand rendering in public header, workspace sidebar, hamburger, modals and footer */
.brand-logo.ff-brand-logo,.site-header .brand-logo.ff-brand-logo,.workspace-brand .brand-logo,.site-footer .brand-logo,#menuDialog .brand-logo,.dialog-brand .brand-logo,#startDialog .brand-logo{
 width:110px!important;height:58px!important;min-width:110px!important;max-width:110px!important;
 min-height:58px!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important;
}
.site-header .header-row,.public-view .site-header .header-row{
 min-height:74px!important;height:74px!important;align-items:center!important;
}
#menuDialog .kp-menu-heading{height:74px!important;min-height:74px!important}
.site-header .brand,.kp-menu-brand,.workspace-brand,.dialog-brand{display:inline-flex!important;align-items:center!important;min-height:58px!important;line-height:1!important}
/* prevent old fixed-size logo box or modal header inflation */
.site-header .brand,.kp-menu-brand{margin:0!important;padding:0!important}
/* accessible interactive components */
:is(.primary,button.primary,a.primary,.kp91-primary,.kp_mobile_signup){background:#2563eb!important;color:#fff!important;border-color:#2563eb!important;border-radius:14px!important;box-shadow:0 9px 24px rgba(37,99,235,.15)!important}
:is(.primary,button.primary,a.primary,.kp91-primary,.kp_mobile_signup):hover:not(:disabled){background:#1d4ed8!important;border-color:#1d4ed8!important;box-shadow:0 10px 24px rgba(29,78,216,.17)!important}
:is(.secondary,button.secondary,.kp91-secondary){background:#fff!important;border-color:#bfdbfe!important;color:#1d4ed8!important;border-radius:14px!important}
:is(.secondary,button.secondary,.kp91-secondary):hover:not(:disabled){background:#eff6ff!important;border-color:#93c5fd!important;color:#1d4ed8!important}
button:not(:disabled){cursor:pointer}
button:disabled{opacity:.58;cursor:not-allowed}
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){background:#fff!important;border:1px solid #cbd5e1!important;border-radius:12px!important;color:#14213d!important;box-shadow:none!important}
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{border-color:#2563eb!important;outline:3px solid #bfdbfe!important;outline-offset:0!important}
input[type="checkbox"],input[type="radio"]{accent-color:#2563eb!important}
label{color:#334155!important}
/* Dashboard and seller-creation pages: same KiraPas components, not legacy greens */
.app-shell{background:#f8fafc!important}
.workspace-nav{background:#fff!important;border-color:#e2e8f0!important}
.workspace-nav button{color:#475569!important;border-radius:12px!important}
.workspace-nav button:is(:hover,[aria-current="page"],.active){background:#eff6ff!important;color:#1d4ed8!important}
.workspace-label,.page-heading .kicker,.dashboard-top .kicker,.workspace-heading .kicker{color:#2563eb!important}
main>section:not(#page-home){color:#14213d!important}
main>section:not(#page-home) :is(h1,h2,h3,h4){color:#14213d!important;letter-spacing:-.03em}
main>section:not(#page-home) :is(.panel,.start-card,.create-aside,.overview-stat,.stat-box,.list-row,.detail-block,.room-main,.room-guide,.verification-card,.transaction-layout article){
 background:#fff!important;border:1px solid #e2e8f0!important;border-radius:18px!important;
 box-shadow:0 8px 28px rgba(20,33,61,.045)!important;
}
.form-section,.form-fields,.form-disclosure,.stage-editor,.stage-editor-bottom,.inspection-contract,.room-layout,.verification-layout{border-color:#e2e8f0!important}
.form-section .section-index,.section-index,.form-section .section-number,.step-index{background:#eff6ff!important;color:#2563eb!important;border-color:#bfdbfe!important}
.form-section :is(p,small),.page-heading p,.workspace-heading p,.overview-note,.form-hint,.muted{color:#64748b!important}
:is(.role-tabs,.filter-tabs,.dashboard-tools,.upload-actions){border-color:#e2e8f0!important}
:is(.role-tabs,.filter-tabs) button[aria-pressed="true"],:is(.role-tabs,.filter-tabs) button.active{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}
:is(.upload-choice,.upload-box,.photo-preview){background:#f8fafc!important;border-color:#cbd5e1!important;color:#334155!important;border-radius:14px!important}
:is(.upload-choice,.upload-box):hover{background:#eff6ff!important;border-color:#93c5fd!important}
:is(.create-aside,.overview-stat,.stat-box,.verification-banner){border-color:#e2e8f0!important}
.create-aside{border-top:3px solid #2563eb!important}
.page-heading,.dashboard-top,.workspace-heading{color:#14213d!important}
:is(.badge,.chip,.pill,.kicker){letter-spacing:0!important}
:is(.badge,.chip,.pill).pending{background:#eff6ff!important;color:#1d4ed8!important}
:is(.list-row,.transaction-row,.room-main,.room-guide,.detail-block):hover{border-color:#cbd5e1!important}
/* Light-blue card surfaces on homepage, same as original KiraPas v33.91 */
#page-home,.public-view #page-home{background:#fff!important}
#page-home .kp91-hero{background:#fff!important}
#page-home .kp91-title,#page-home .kp91-file h2{color:#14213d!important}
#page-home .kp91-title span{color:#2563eb!important}
#page-home .kp91-file{background:#fff!important;border:1px solid #e2e8f0!important}
#page-home .kp91-property{background:#f8fafc!important}
#page-home .ff-soft-band,#page-home .ff-proof-strip{background:#f8fafc!important;border-color:#e2e8f0!important}
#page-home .ff-section-heading :is(h2,p),#page-home .ff-company :is(h2,p){color:#14213d}
#page-home .ff-kicker{background:#eff6ff!important;color:#1d4ed8!important}
#page-home :is(.ff-category,.ff-benefit-card,.ff-trust-grid article,.ff-step,.ff-lookup,.ff-final-cta,.ff-cost){
 background:#fff!important;border:1px solid #e2e8f0!important;border-radius:20px!important;
 box-shadow:0 8px 30px rgba(20,33,61,.045)!important;color:#14213d!important;
}
#page-home .ff-cost,#page-home .ff-final-cta{background:#f5f9ff!important;border-color:#dbeafe!important}
#page-home .ff-cost :is(h2,h3,p,small){color:#14213d!important}
#page-home .ff-cost .ff-kicker{background:#dbeafe!important;color:#1d4ed8!important}
#page-home .ff-cost button.primary{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}
#page-home .ff-category-art,#page-home .ff-benefit-icon,#page-home .ff-trust-grid svg{background:#eff6ff!important;color:#2563eb!important}
#page-home .ff-section-heading h2 em,#page-home .ff-cost h2 em,#page-home .ff-company h2 em{color:#2563eb!important;-webkit-text-fill-color:#2563eb!important}
/* All dialogs follow the same layout + logo sizing + button language */
dialog:not(#menuDialog){background:#fff!important;color:#14213d!important;border:1px solid #e2e8f0!important;border-radius:22px!important;box-shadow:0 24px 64px rgba(15,23,42,.20)!important}
dialog:not(#menuDialog) :is(h2,h3,h4){color:#14213d!important}
dialog:not(#menuDialog) :is(.primary,button.primary,button[type="submit"].primary){background:#2563eb!important;color:#fff!important;border-color:#2563eb!important;border-radius:13px!important}
dialog:not(#menuDialog) .secondary{background:#fff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;border-radius:13px!important}
dialog:not(#menuDialog) :is(.dialog-brand,.mc-dialog-head){align-items:center!important}
#earlyAccessDialog .ff-early-icon{background:#eff6ff!important;color:#2563eb!important}
#earlyAccessDialog .ff-early-kicker{color:#2563eb!important}
/* One KiraPas hamburger treatment at every view, width, and login state */
#menuDialog{background:#fff!important;color:#14213d!important}
#menuDialog .kp-menu-heading{background:#fff!important;border-bottom:1px solid #e2e8f0!important}
#menuDialog .kp_nav_primary,#menuDialog .kp_mobile_actions{border:1px solid #e2e8f0!important;background:#fff!important;border-radius:22px!important}
#menuDialog .kp_nav_primary li>button{color:#14213d!important}
#menuDialog .kp_nav_primary li>button:is(:hover,:focus-visible),#menuDialog .kp_nav_primary .current-menu-item>button{background:#eff6ff!important;color:#1d4ed8!important}
#menuDialog .kp-menu-icon{background:#eff6ff!important;color:#2563eb!important}
#menuDialog .kp_mobile_login{background:#f8fafc!important;color:#14213d!important}
#menuDialog .kp_mobile_signup{background:#2563eb!important;color:#fff!important}
.site-footer{background:#f8fafc!important;border-color:#e2e8f0!important;color:#475569!important}
.site-footer a:hover{color:#2563eb!important}
/* Success and warnings retain their semantic colours, never as a brand theme. */
.kp91-early-dot,.ff-pulse-dot{background:#16a34a!important}
.kp91-step-status svg,.status-success,.status-approved,.toast.success{color:#15803d!important}
.status-danger,.inline-error,.field-error{color:#b91c1c!important}
/* Smaller, uniform mobile navigation sizing */
@media(max-width:768px){
  .site-header .header-row,.public-view .site-header .header-row{height:66px!important;min-height:66px!important;width:calc(100% - 48px)!important}
  #menuDialog .kp-menu-heading{height:66px!important;min-height:66px!important;padding:0 24px!important}
  .site-header .brand-logo.ff-brand-logo,.brand-logo.ff-brand-logo,.workspace-brand .brand-logo,.site-footer .brand-logo,#menuDialog .brand-logo,.dialog-brand .brand-logo,#startDialog .brand-logo{
    width:110px!important;max-width:110px!important;min-width:110px!important;height:58px!important;min-height:58px!important;max-height:58px!important;
  }
  .site-header .kp-header-toggle{align-self:center!important}
  #page-home .kp91-hero{padding-top:34px!important}
  #page-home .kp91-layout{gap:32px!important}
  main>section:not(#page-home){padding:22px 0 34px!important}
}
@media(max-width:380px){
  .site-header .header-row{width:calc(100% - 36px)!important}
  #page-home .kp91-layout{width:calc(100% - 36px)!important}
}
@media(min-width:769px) and (max-width:1250px){
 .site-header .header-row{width:calc(100% - 40px)!important}
}

/* v43 text-only wordmark override */
.brand-logo.ff-brand-logo,.site-header .brand-logo.ff-brand-logo,.workspace-brand .brand-logo,.site-footer .brand-logo,#menuDialog .brand-logo,.dialog-brand .brand-logo,#startDialog .brand-logo{width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;object-fit:initial!important;object-position:initial!important;}
@media(max-width:768px){.site-header .brand-logo.ff-brand-logo,.brand-logo.ff-brand-logo,.workspace-brand .brand-logo,.site-footer .brand-logo,#menuDialog .brand-logo,.dialog-brand .brand-logo,#startDialog .brand-logo{width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;}}
