body.kf-page { --mkt-muted: oklch(42% 0.018 295); --mkt-line: oklch(88% 0.01 295); --mkt-paper: #fff; }
/* Konto AI Biznes Lab: logowanie i przedsionek portalu, arkusz akcentu FRAME. Kanon: docs/FRAME_KANON_SEKCJI.md */
.kf-main :where(h1, h2, p, form, ul) { margin: 0; }
.kf-main :is(h1, h2) { font-weight: 600; letter-spacing: -.035em; }
.kf-main h1 { font-size: clamp(2.25rem, 4.6vw, 3.5rem); line-height: 1.05; }
.kf-main p { line-height: 1.65; color: var(--mkt-muted); }
.kf-main .container { width: 100%; }
.kf-main .eyebrow { margin-bottom: 1.25rem; font-size: .875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--frame-ink); }
.kf-main .eyebrow::before { content: ""; display: inline-block; width: .625rem; height: .625rem; margin-right: .625rem; background: var(--frame-violet); vertical-align: .05em; }
.kf-main section { padding-block: 4.5rem 5.5rem; }
.kf-main .lead { font-size: 1.125rem; margin-block: 1.5rem 2rem; }
.kf-main .btn2 { display: inline-flex; justify-content: center; align-items: center; gap: .625rem; min-height: 48px; padding: .875rem 1.25rem; border: 1px solid var(--frame-ink); background: transparent; text-decoration: none; font: inherit; font-size: 1rem; font-weight: 600; color: var(--frame-ink); cursor: pointer; }
.kf-main .btn2-primary { background: var(--frame-violet); }
.kf-main .btn2:hover { background: var(--frame-ink); color: var(--frame-canvas); }
.kf-main .btn2:disabled { opacity: .45; cursor: not-allowed; }
.kf-main .btn2 svg { width: 18px; height: 18px; flex: none; }
.kf-block { width: 100%; }
.hero2-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 3.5rem; align-items: start; }
.kf-hero-img { padding-top: 3.25rem; /* WHY: górna krawędź ryciny na wysokości nagłówka, nie eyebrow, jak na /asystent */ }
.kf-hero-img img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.kf-card { border: 1px solid var(--frame-ink); padding: 2rem; }
.kf-divider { display: flex; align-items: center; gap: .75rem; margin: 1.25rem 0; font-size: .875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mkt-muted); }
.kf-divider::before, .kf-divider::after { content: ""; flex: 1; height: 1px; background: var(--frame-ink); }
.kf-card .form-group { margin-bottom: 1.25rem; }
.kf-card label { display: block; margin-bottom: .5rem; font-weight: 600; font-size: .9375rem; color: var(--frame-ink); }
.kf-card input { width: 100%; padding: .875rem 1rem; border: 1px solid var(--frame-ink); background: var(--mkt-paper); font: inherit; color: var(--frame-ink); }
.kf-card input:focus { outline: 3px solid var(--frame-violet); outline-offset: 2px; }
.kf-card #code-input { text-align: center; font-size: 1.5rem; letter-spacing: .4em; /* WHY: 6-cyfrowy kod przepisywany z maila */ }
.kf-card .form-hint { margin-top: .5rem; font-size: .875rem; }
.kf-card .form-error { display: block; margin-bottom: 1.25rem; padding: .75rem 1rem; border: 1px solid #b3261e; color: #b3261e; font-size: .9375rem; }
.kf-card .form-error[hidden], .kf-card [hidden] { display: none; }
.kf-note { margin-top: 1.25rem; font-size: .9375rem; }
.kf-note span { display: block; }
.kf-note a { color: var(--frame-ink); }
.kf-state { margin-top: 2rem; padding: 1.25rem 1.5rem; border: 1px solid var(--frame-ink); color: var(--frame-ink); }
.kf-state[hidden] { display: none; }
.kf-widget { display: flex; justify-content: flex-end; margin-bottom: 1.5rem; }
.kf-widget .btn.btn-ghost { display: inline-flex; align-items: center; min-height: 40px; padding: .5rem 1rem; border: 1px solid var(--frame-ink); text-decoration: none; font-size: .9375rem; font-weight: 600; color: var(--frame-ink); }
.account-widget { position: relative; }
.account-widget-btn { display: inline-flex; align-items: center; gap: .625rem; background: transparent; border: 1px solid var(--frame-ink); cursor: pointer; font: inherit; font-size: .9375rem; color: var(--frame-ink); padding: .375rem .75rem; }
.account-avatar { width: 28px; height: 28px; background: var(--frame-violet); color: var(--frame-ink); display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 600; }
.account-caret { font-size: .6rem; /* WHY: strzałka menu mniejsza od tekstu adresu */ }
.account-menu { position: absolute; right: 0; top: calc(100% + 6px); min-width: 12rem; background: var(--mkt-paper); border: 1px solid var(--frame-ink); padding: .375rem; display: none; z-index: 60; }
.account-widget.open .account-menu { display: block; }
.account-menu a, .account-menu button { display: block; width: 100%; text-align: left; padding: .625rem .75rem; border: none; background: transparent; font: inherit; font-size: .9375rem; color: var(--frame-ink); cursor: pointer; }
.account-menu a:hover, .account-menu button:hover { background: var(--frame-violet); }
@media (max-width: 900px) {
  .hero2-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .kf-hero-img { order: -1; }
  .kf-hero-img img { max-width: 28rem; margin-inline: auto; }
  .kf-main section { padding-block: 3rem 3.5rem; }
}
