/* KNP AccountingPro — diseño propio. Primario #012A9B, acento #FC5700 */
:root, [data-theme="light"] {
  --knp-blue: #012A9B; --knp-orange: #FC5700; --knp-ink: #14234a; --knp-line: #e9eef7; --knp-bg: #f4f6fa;
  --primary: #012A9B; --primary-color: #012A9B; --blue-500: #012A9B; --blue-600: #01217a;
  --btn-primary: #FC5700; --text-on-primary: #fff;
  --font-stack: Inter, "Segoe UI", system-ui, sans-serif;
}
body { font-family: var(--font-stack); }
/* Barra superior */
.navbar { background: #fff !important; border-bottom: 1px solid var(--knp-line); box-shadow: none; }
.navbar .app-logo { max-height: 30px !important; width: auto !important; }
.navbar #navbar-search { background: var(--knp-bg); border: 1px solid var(--knp-line); border-radius: 8px; }
.navbar .avatar-frame, .navbar .avatar .standard-image { background: var(--knp-orange) !important; color: #fff !important; }
/* Barra lateral de workspaces */
#page-Workspaces .layout-side-section { background: var(--knp-blue); border-radius: 12px; padding: 12px 8px; min-height: calc(100vh - 90px); }
#page-Workspaces .layout-side-section .standard-sidebar-label,
#page-Workspaces .layout-side-section .sidebar-label { color: #9fb0e8 !important; text-transform: uppercase; font-size: 11px; letter-spacing: .08em; }
#page-Workspaces .layout-side-section .standard-sidebar-item { color: #dfe6ff; border-radius: 8px; }
#page-Workspaces .layout-side-section .standard-sidebar-item .sidebar-item-label,
#page-Workspaces .layout-side-section .standard-sidebar-item a,
#page-Workspaces .layout-side-section .standard-sidebar-item .sidebar-item-icon .icon { color: #dfe6ff !important; stroke: #dfe6ff; }
#page-Workspaces .layout-side-section .standard-sidebar-item:hover { background: #ffffff14; }
#page-Workspaces .layout-side-section .standard-sidebar-item.selected { background: #ffffff1f; box-shadow: inset 4px 0 var(--knp-orange); }
#page-Workspaces .layout-side-section .standard-sidebar-item.selected .sidebar-item-label { color: #fff !important; font-weight: 600; }
#page-Workspaces .layout-side-section .drop-icon .icon, #page-Workspaces .layout-side-section .btn { color: #dfe6ff; stroke: #dfe6ff; }
/* Botones */
.btn-primary, .btn.btn-primary, .btn-login { background: var(--knp-orange) !important; border-color: var(--knp-orange) !important; color: #fff !important; font-weight: 600; border-radius: 8px; }
.btn-primary:hover, .btn-login:hover { background: #e14d00 !important; }
.btn-default.btn-secondary-dark, .btn-secondary { border-radius: 8px; }
a, .text-primary { color: var(--knp-blue); }
.indicator-pill.blue, .indicator.blue::before { --indicator-dot-color: var(--knp-blue); }
/* Workspace: tarjetas y accesos */
.widget.number-widget-box, .widget.dashboard-widget-box, .widget.links-widget-box { border: 1px solid var(--knp-line); border-radius: 10px; box-shadow: 0 7px 26px #14234612; }
.number-widget-box .widget-content .number { color: var(--knp-ink); font-weight: 700; }
.widget.shortcut-widget-box { border: 1px solid var(--knp-blue); border-radius: 8px; }
.widget.shortcut-widget-box .widget-title { color: var(--knp-blue); font-weight: 600; }
.widget.shortcut-widget-box:hover { background: var(--knp-blue); }
.widget.shortcut-widget-box:hover .widget-title { color: #fff; }
/* Login y web */
body[data-path="login"], .for-login, .for-signup, .for-forgot { background: var(--knp-bg); }
.page-card { border-radius: 14px; border-top: 4px solid var(--knp-orange); box-shadow: 0 7px 26px #14234620; }
.page-card-head img.app-logo, .page-card-head img { max-height: 70px; width: auto; }
.page-card-head h4 { color: var(--knp-ink); }
.footer-powered, .web-footer .footer-powered, a[href*="frappe.io"], a[href*="erpnext.com"] { display: none !important; }
.web-footer { border-top: 3px solid var(--knp-blue); }
.navbar-light .navbar-brand img { max-height: 30px; }

/* ES | EN language switch */
.knp-lang { display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:600; padding:2px 8px;
  border:1px solid #d5dbea; border-radius:12px; background:#fff; margin-right:8px; line-height:20px; }
.knp-lang a { color:#012A9B; text-decoration:none; padding:0 2px; }
.knp-lang a.active { color:#FC5700; }
.knp-lang .sep { color:#9aa3b8; }
.knp-lang-item { display:flex; align-items:center; }
.knp-lang-web { position:fixed; top:12px; right:16px; z-index:1050; }

/* KNP rail (barra lateral compacta) */
body.knp-has-rail { --knp-rail: 80px; }
body.knp-has-rail .page-container, body.knp-has-rail .navbar { padding-left: var(--knp-rail); }
body.knp-has-rail .layout-side-section, body.knp-has-rail .sidebar-toggle-btn { display: none !important; }
body.knp-has-rail .layout-main-section-wrapper { flex: 1 1 100%; max-width: 100%; }
#knp-rail { position: fixed; left: 0; top: 0; bottom: 0; width: 72px; background: var(--knp-blue); z-index: 1040;
  display: flex; flex-direction: column; align-items: stretch; padding: 64px 8px 12px; gap: 10px; overflow: hidden;
  transition: width .22s ease, box-shadow .22s ease; }
#knp-rail:hover, #knp-rail.open { width: 220px; box-shadow: 6px 0 24px #14234640; }
#knp-rail .knp-ri { display: flex; align-items: center; gap: 14px; padding: 12px 13px; border-radius: 10px; color: #dfe6ff;
  font-size: 14px; font-weight: 500; text-decoration: none; background: none; border: 0; cursor: pointer; white-space: nowrap; position: relative; }
#knp-rail .knp-ri svg { width: 30px; height: 30px; flex: none; }
#knp-rail .knp-ri span { opacity: 0; transform: translateX(-6px); transition: opacity .18s ease, transform .18s ease; }
#knp-rail:hover .knp-ri span, #knp-rail.open .knp-ri span { opacity: 1; transform: none; }
#knp-rail .knp-ri:hover { background: #ffffff1a; color: #fff; }
#knp-rail .knp-ri.active { background: #ffffff24; color: #fff; box-shadow: inset 4px 0 var(--knp-orange); }
#knp-rail .knp-ri.active svg { color: var(--knp-orange); }
#knp-rail .knp-create svg { background: var(--knp-orange); color: #fff; border-radius: 50%; padding: 4px; }
body.knp-has-rail { --knp-rail: 72px; }
#knp-create, #knp-pop { position: fixed; left: 230px; top: 60px; z-index: 1050; background: #fff; border: 1px solid var(--knp-line);
  border-radius: 12px; box-shadow: 0 12px 40px #14234630; padding: 18px 22px; }
#knp-create .knp-cgrid { display: flex; gap: 36px; }
#knp-create .knp-ccol { min-width: 170px; display: flex; flex-direction: column; gap: 8px; }
#knp-create h5 { color: var(--knp-blue); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 4px; }
#knp-create a, #knp-pop a { color: var(--knp-ink); text-decoration: none; }
#knp-create a:hover, #knp-pop a:hover { color: var(--knp-orange); }
#knp-pop { width: 280px; padding: 12px; }
#knp-create, #knp-pop { max-height: calc(100vh - 76px); overflow-y: auto; overscroll-behavior: contain; }
#knp-pop .knp-pt { font-weight: 700; color: var(--knp-blue); padding: 4px 8px 8px; }
#knp-pop .knp-pl { display: block; padding: 8px; border-radius: 8px; }
#knp-pop .knp-pl:hover { background: #fff1e8; }
.knp-mod-h { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 8px; cursor: pointer; }
.knp-mod-h:hover { background: #fff1e8; }
.knp-mi { display: inline-flex; width: 30px; height: 30px; border-radius: 8px; background: var(--knp-blue); color: #fff; align-items: center; justify-content: center; }
.knp-mod:nth-child(even) .knp-mi { background: var(--knp-orange); }
.knp-mi svg { width: 18px; height: 18px; }
.knp-ar { margin-left: auto; transition: transform .15s; font-size: 18px; color: #8892aa; }
.knp-mod.open .knp-ar, .knp-rs.open h4 .knp-ar { transform: rotate(90deg); }
.knp-mod-b { display: none; padding: 2px 0 6px 48px; }
.knp-mod.open .knp-mod-b { display: flex; flex-direction: column; gap: 6px; }
.knp-co { border: 1px solid #d5dbea; border-radius: 8px; padding: 2px 8px; font-size: 12px; color: var(--knp-blue); background: #fff; margin-right: 8px; max-width: 220px; }
.knp-co-item { display: flex; align-items: center; }

/* Panel */
#knp-dash { background: var(--knp-bg); border-radius: 14px; padding: 20px; }
.knp-hi { text-align: center; color: var(--knp-ink); font-weight: 700; margin: 6px 0 14px; }
.knp-chips, .knp-qa { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 12px; align-items: center; }
.knp-chip { background: #fff; border: 1px solid #d5dbea; border-radius: 18px; padding: 6px 14px; color: var(--knp-blue); font-weight: 600; text-decoration: none; }
.knp-chip:hover { border-color: var(--knp-orange); color: var(--knp-orange); text-decoration: none; }
.knp-qal { font-weight: 600; color: #5a6480; margin-right: 4px; }
.knp-qb { background: #fff; border: 1px solid var(--knp-blue); color: var(--knp-blue); border-radius: 8px; padding: 6px 12px; font-weight: 600; }
.knp-qb:hover { background: var(--knp-blue); color: #fff; }
.knp-qb.knp-all { border-color: var(--knp-orange); color: var(--knp-orange); }
.knp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; margin-top: 10px; }
.knp-card { background: #fff; border-radius: 14px; padding: 16px 18px; box-shadow: 0 4px 18px #1423460d; border: 1px solid var(--knp-line); min-height: 160px; }
.knp-card.knp-wide { grid-column: 1 / -1; }
.knp-ct { font-weight: 700; color: var(--knp-ink); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.knp-ct small { color: #8892aa; font-weight: 500; }
.knp-ms { margin-left: auto; font-size: 12px; border: 1px solid #d5dbea; border-radius: 6px; }
.knp-row { display: block; padding: 8px 10px; border-radius: 8px; background: #f4f6fb; margin-bottom: 8px; color: var(--knp-ink); }
.knp-row b { color: var(--knp-orange); font-size: 16px; margin-right: 6px; }
.knp-fr { display: grid; grid-template-columns: 1fr auto; margin-bottom: 10px; font-size: 13px; }
.knp-fr i { grid-column: 1 / -1; height: 10px; border-radius: 5px; margin-top: 4px; min-width: 4px; }
.knp-big { font-size: 26px; font-weight: 700; color: var(--knp-blue); }
.knp-chg.up { color: var(--knp-blue); font-weight: 600; } .knp-chg.down { color: var(--knp-orange); font-weight: 600; }
.knp-bank { border-bottom: 1px solid var(--knp-line); padding: 6px 0 10px; margin-bottom: 8px; }
.knp-bn { font-weight: 600; color: var(--knp-blue); }
.knp-bv { display: flex; justify-content: space-between; font-size: 13px; }
.knp-badge { display: inline-block; margin-top: 4px; background: #fff1e8; color: var(--knp-orange); border-radius: 10px; padding: 1px 8px; font-size: 12px; font-weight: 600; }
.knp-empty { padding: 50px 0; text-align: center; }

/* Centro de reportes */
#knp-rc { display: flex; gap: 20px; background: var(--knp-bg); border-radius: 14px; padding: 20px; }
.knp-rcnav { width: 200px; flex: none; display: flex; flex-direction: column; gap: 2px; position: sticky; top: 70px; align-self: flex-start; }
.knp-rcnav a { padding: 7px 10px; border-radius: 8px; color: var(--knp-ink); }
.knp-rcnav a:hover { background: #fff1e8; color: var(--knp-orange); text-decoration: none; }
.knp-rcnav .knp-rcx { border-top: 1px solid var(--knp-line); margin-top: 6px; color: var(--knp-blue); font-weight: 600; }
.knp-rcm { flex: 1; } .knp-rcm h2 { color: var(--knp-ink); font-weight: 700; }
.knp-rcq { max-width: 420px; margin-bottom: 14px; border-radius: 8px; }
.knp-rs { background: #fff; border-radius: 12px; border: 1px solid var(--knp-line); margin-bottom: 12px; }
.knp-rs h4 { margin: 0; padding: 12px 16px; font-size: 15px; color: var(--knp-blue); cursor: pointer; display: flex; }
.knp-rl { display: none; grid-template-columns: 1fr 1fr; gap: 4px 24px; padding: 0 16px 14px; }
.knp-rs.open .knp-rl { display: grid; }
.knp-ri2 { display: flex; justify-content: space-between; padding: 6px 4px; border-bottom: 1px dashed var(--knp-line); }
.knp-ri2 a { color: var(--knp-ink); } .knp-ri2 a:hover { color: var(--knp-orange); }
.knp-star { cursor: pointer; color: #c9cfdd; } .knp-star.on { color: var(--knp-orange); }

/* Pin de la barra lateral */
#knp-rail .knp-pin { margin-top: auto; }
#knp-rail .knp-pin.on svg { color: var(--knp-orange); }
body.knp-pinned { --knp-rail: 220px; }
body.knp-pinned #knp-rail { width: 220px; box-shadow: none; }
body.knp-pinned #knp-rail .knp-ri span { opacity: 1; transform: none; }
body.knp-has-rail .page-container, body.knp-has-rail .navbar { transition: padding-left .22s ease; }
#knp-burger { background: none; border: 0; color: var(--knp-blue); padding: 4px 6px; margin-right: 8px; border-radius: 8px; display: inline-flex; }
#knp-burger:hover { background: #fff1e8; color: var(--knp-orange); }
body.knp-pinned #knp-burger { color: var(--knp-orange); }
.navbar .container { display: flex; align-items: center; }

/* v2: rail blanco, buscador, acordeon, ocultar */
#knp-rail { background: #fff; border-right: 1px solid var(--knp-line); gap: 4px; padding-top: 56px; overflow-y: auto; }
#knp-rail .knp-ri { color: var(--knp-ink); }
#knp-rail .knp-ri:hover { background: #fff1e8; color: var(--knp-orange); }
#knp-rail .knp-ri.active { background: var(--knp-blue); color: #fff; box-shadow: none; }
#knp-rail .knp-ri.active svg { color: #fff; }
#knp-rail .knp-ri .knp-ar { margin-left: auto; font-style: normal; opacity: 0; transition: opacity .18s, transform .15s; }
#knp-rail:hover .knp-ri .knp-ar, #knp-rail.open .knp-ri .knp-ar, body.knp-pinned #knp-rail .knp-ri .knp-ar { opacity: 1; }
#knp-rail .knp-ri.open .knp-ar { transform: rotate(90deg); }
#knp-rail .knp-sub { display: none; flex-direction: column; padding: 2px 0 6px 57px; gap: 2px; }
#knp-rail:hover .knp-ri.open + .knp-sub, #knp-rail.open .knp-ri.open + .knp-sub, body.knp-pinned #knp-rail .knp-ri.open + .knp-sub { display: flex; }
#knp-rail .knp-sub a { color: var(--knp-ink); font-size: 13px; padding: 5px 8px; border-radius: 6px; white-space: nowrap; text-decoration: none; }
#knp-rail .knp-sub a:hover { background: #fff1e8; color: var(--knp-orange); }
.knp-rs-wrap { height: 36px; margin-bottom: 4px; }
.knp-rsearch { width: 100%; border: 1px solid #d5dbea; border-radius: 8px; padding: 6px 10px; font-size: 13px; opacity: 0; transition: opacity .18s; }
#knp-rail:hover .knp-rsearch, #knp-rail.open .knp-rsearch, body.knp-pinned .knp-rsearch { opacity: 1; }
body.knp-rail-hidden #knp-rail { display: none; }
body.knp-rail-hidden { --knp-rail: 0px; }
#knp-pin-top { background: none; border: 0; color: #8892aa; padding: 4px 6px; margin-right: 8px; border-radius: 8px; display: inline-flex; }
#knp-pin-top svg { width: 20px; height: 20px; }
#knp-pin-top.on { color: #fff; background: var(--knp-orange); }
body.knp-pinned #knp-burger { color: var(--knp-blue); }
#knp-rail .knp-pin.on svg { color: var(--knp-orange); }
.knp-basis { display: inline-block; margin-left: 12px; padding: 2px 10px; border-radius: 12px; font-size: 12px; font-weight: 600;
  background: #e8edfb; color: var(--knp-blue); vertical-align: middle; }
.knp-basis.cash { background: #fff1e8; color: var(--knp-orange); }
/* Revision bancaria */
.knp-br { background: var(--knp-bg); border-radius: 14px; padding: 18px; }
.knp-br-acc { max-width: 360px; }
.knp-br-tabs { display: flex; gap: 6px; margin: 6px 0 12px; }
.knp-br-tabs a { padding: 6px 14px; border-radius: 18px; background: #fff; border: 1px solid #d5dbea; color: var(--knp-ink); cursor: pointer; }
.knp-br-tabs a.on { background: var(--knp-blue); color: #fff; border-color: var(--knp-blue); }
.knp-br-t { width: 100%; background: #fff; border-radius: 12px; overflow: hidden; border-collapse: separate; border-spacing: 0; border: 1px solid var(--knp-line); }
.knp-br-t th { background: #f0f3fa; color: var(--knp-blue); font-size: 12px; text-transform: uppercase; padding: 9px 10px; }
.knp-br-t td { padding: 9px 10px; border-top: 1px solid var(--knp-line); font-size: 13px; vertical-align: middle; }
.knp-br-t .r { text-align: right; }
.knp-br-t tr.knp-r { cursor: pointer; } .knp-br-t tr.knp-r:hover td { background: #fff7f2; }
.knp-xp { background: #fafbfe; border: 1px solid var(--knp-line); border-left: 4px solid var(--knp-orange); border-radius: 10px; padding: 14px; }
.knp-mode { display: flex; gap: 18px; margin-bottom: 8px; font-weight: 600; color: var(--knp-blue); }
.knp-grid2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.knp-line { display: grid; grid-template-columns: 2fr 1fr 24px; gap: 12px; align-items: end; }
.knp-line .l-del { color: #8892aa; cursor: pointer; padding-bottom: 14px; font-size: 18px; }
.knp-split { color: var(--knp-orange); cursor: pointer; font-weight: 600; }
.knp-sug { background: #e8edfb; color: var(--knp-blue); border-radius: 8px; padding: 8px 10px; margin: 8px 0; }
.knp-sg { color: var(--knp-blue); font-weight: 600; } .knp-tag { background: #fff1e8; color: var(--knp-orange); border-radius: 8px; padding: 0 6px; }
.knp-btns { margin-top: 8px; }
.knp-mt { font-weight: 700; color: var(--knp-blue); margin-bottom: 6px; }
.knp-mrow { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 6px 0; border-bottom: 1px dashed var(--knp-line); }
.knp-br-more { margin-top: 10px; color: #5a6480; } .knp-br-more a { cursor: pointer; color: var(--knp-blue); font-weight: 700; padding: 0 6px; }
/* bank review simple */
.knp-br-help { color: var(--knp-ink); margin: 10px 0 2px; font-size: 14px; }
.knp-br-count { color: #FC5700; font-size: 15px; margin-bottom: 6px; }
.knp-br-bulk { margin: 6px 0; }
.knp-br-t td.c, .knp-br-t th.c { width: 28px; text-align: center; }
.knp-amt { font-weight: 600; display: inline-flex; flex-direction: column; align-items: flex-end; line-height: 1.1; }
.knp-amt small { font-weight: 400; font-size: 11px; }
.knp-amt.in { color: #1a8f3c; } .knp-amt.out { color: #c62828; }
.knp-catsel { display: inline-block; width: auto; min-width: 220px; max-width: 320px; }
.knp-sug-tag { background: #fff1e8; color: #FC5700; }
.knp-acts { white-space: nowrap; }
.knp-acts .knp-ok { background: #FC5700; border-color: #FC5700; color: #fff; }
.knp-more { color: #8a93a6; font-size: 12px; margin-left: 10px; cursor: pointer; }
/* bank review v3 */
.knp-br-bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.knp-br-filters { display: flex; gap: 6px; } .knp-br-filters input { width: auto; } .knp-q { min-width: 220px; }
.knp-br-t select.knp-psel { min-width: 150px; max-width: 200px; display: inline-block; width: auto; }
tr.knp-click { cursor: pointer; } tr.knp-click:hover td { background: #f5f7fd; }
tr.knp-open-row td { background: #eef2fc; border-bottom: 0; }
tr.knp-x > td { background: #fff; border-left: 3px solid #012A9B; padding: 14px 18px 18px !important; }
.knp-xp { position: relative; }
.knp-xp-close { position: absolute; right: 0; top: -4px; font-size: 22px; color: #8a93a6; cursor: pointer; }
.knp-seg { display: inline-flex; border: 1px solid #012A9B; border-radius: 18px; overflow: hidden; margin-bottom: 10px; }
.knp-seg a { padding: 5px 16px; color: #012A9B; cursor: pointer; } .knp-seg a.on { background: #012A9B; color: #fff; }
.knp-xp-desc { background: #f5f7fd; border-radius: 8px; padding: 8px 12px; margin-bottom: 12px; display: flex; gap: 10px; align-items: center; }
.knp-xp-desc > span:first-child { color: #8a93a6; font-size: 12px; }
.knp-full { margin-top: 10px; }
.knp-addp { font-size: 12px; color: #FC5700; cursor: pointer; display: inline-block; margin-top: 3px; }
.knp-attach { margin: 8px 0; } .knp-attach a { color: #012A9B; cursor: pointer; font-size: 13px; }
.knp-btns .p-ok { background: #FC5700; border-color: #FC5700; }
.knp-cp { position: relative; }
.knp-cp-list { position: absolute; z-index: 30; left: 0; right: 0; top: 100%; max-height: 320px; overflow: auto; background: #fff; border: 1px solid #d5dbea; border-radius: 8px; box-shadow: 0 8px 24px rgba(1,42,155,.15); }
.knp-cp-h { font-size: 12px; color: #012A9B; font-weight: 600; padding: 8px 10px 4px; }
.knp-cp-o { display: flex; justify-content: space-between; align-items: baseline; padding: 5px 10px; cursor: pointer; font-size: 13px; font-family: inherit; font-variant-numeric: tabular-nums; }
.knp-cp-o:hover { background: #fff1e8; } .knp-cp-o.grp { font-weight: 600; cursor: default; color: #1f2937; } .knp-cp-o.grp:hover { background: none; }
.knp-cp-o .t { color: #9aa1b1; font-size: 11px; margin-left: 10px; white-space: nowrap; }
.knp-cp-add { padding: 8px 10px; color: #FC5700; cursor: pointer; border-top: 1px solid #eef0f5; position: sticky; bottom: 0; background: #fff; }
.knp-sl { display: grid; grid-template-columns: 1fr 140px 20px; gap: 8px; margin-bottom: 6px; align-items: center; }
.knp-sl .sl-del { color: #8a93a6; cursor: pointer; font-size: 18px; }
.knp-xp-desc2 { color: #8a93a6; font-size: 12px; margin: 0 30px 10px 0; }
.knp-links { margin-left: 14px; font-size: 12px; } .knp-links a { color: #8a93a6; cursor: pointer; }
.p-back { color: #012A9B; cursor: pointer; font-size: 12px; }


/* ---- panel en dos columnas (knp15) ---- */
.knp-pwrap { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); gap: 22px; align-items: stretch; }
.knp-pmain { container-type: inline-size; min-width: 0; }
.knp-g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
.knp-g3 > label { display: flex !important; flex-direction: column; justify-content: flex-start; gap: 4px; margin: 0 !important; padding: 0; position: relative; font-size: 12px; color: #4a5368; font-weight: 500; }
.knp-g3 > label > .lb { display: block; height: 16px; line-height: 16px; margin: 0; white-space: nowrap; }
.knp-g3 > label > select, .knp-g3 > label .knp-cp-in { width: 100%; margin: 0; }
.knp-g3 .knp-addp { position: absolute; top: 100%; left: 0; margin-top: 3px; }
.knp-g3 .p-cat, .knp-g3 .knp-cp { width: 100%; }
.knp-full { display: block; font-size: 12px; color: #4a5368; margin-top: 24px; }
@container (max-width: 640px) { .knp-g3 { grid-template-columns: 1fr 1fr; row-gap: 26px; } .knp-g3 > .p-catwrap { grid-column: 1 / -1; } }
.knp-tip { background: #f6f8ff; border-left: 5px solid #FC5700; border-radius: 12px; padding: 18px 20px; color: #2b3345; display: flex; flex-direction: column; gap: 10px; }
.knp-tip-h { display: flex; align-items: center; gap: 8px; color: #FC5700; font-weight: 700; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.knp-tip-h svg { width: 22px; height: 22px; flex: none; }
.knp-tip-i + .knp-tip-i { border-top: 1px solid #e3e8f5; padding-top: 12px; }
.knp-tip-t { color: #012A9B; font-size: 18px; font-weight: 700; line-height: 1.3; margin: 0 0 6px; }
.knp-tip-i p { font-size: 15.5px; line-height: 1.6; margin: 0 0 12px; }
.knp-tip-src { display: inline-flex; align-items: center; gap: 6px; border: 1.5px solid #012A9B; color: #012A9B !important; border-radius: 8px; padding: 6px 12px; font-size: 13px; font-weight: 600; text-decoration: none !important; }
.knp-tip-src:hover { background: #012A9B; color: #fff !important; }
.knp-tip-empty { color: #6b7385; font-size: 15px; line-height: 1.6; }
@media (max-width: 900px) { .knp-pwrap { grid-template-columns: 1fr; } }
