/* Shared scale. Keep application logic and WordPress admin chrome independent. */
body.kibc-ui {
    --kibc-font: "Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", system-ui, sans-serif;
    --kibc-space-1: 4px;
    --kibc-space-2: 8px;
    --kibc-space-3: 12px;
    --kibc-space-4: 16px;
    --kibc-space-5: 24px;
    --kibc-space-6: 32px;
    font-family: var(--kibc-font);
    font-size: 16px;
    line-height: 1.6;
}
body.kibc-ui *, body.kibc-ui *::before, body.kibc-ui *::after { box-sizing: border-box; }
body.kibc-ui .kibc31490-main { min-width: 0 !important; box-sizing: border-box !important; }
body.kibc-ui [class*="-grid"] > * { min-width: 0; }
body.kibc-ui :is(.entry-content, .kibc31490-main, #kibc31480-sidebar) {
    font-family: var(--kibc-font) !important;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) :is(p, li) {
    font-size: 15px !important;
    line-height: 1.65 !important;
    overflow-wrap: anywhere;
}
body.kibc-ui :is(.entry-content, .kibc31490-main, #kibc31480-sidebar) :is(small, time, figcaption, caption) {
    font-size: 12px !important;
    line-height: 1.5 !important;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) h1 {
    font-size: clamp(26px, 2.4vw, 36px) !important;
    line-height: 1.3 !important;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
    text-wrap: balance;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) h2 {
    font-size: clamp(21px, 1.7vw, 26px) !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) h3 {
    font-size: 19px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) :is(label, th, td) {
    font-size: 14px !important;
    line-height: 1.55 !important;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) label {
    margin-block: 12px 6px !important;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) :is(input, select, textarea, button) {
    font-family: inherit !important;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea) {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 12px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) textarea {
    min-height: 112px;
    resize: vertical;
}
body.kibc-ui :is(.entry-content, .kibc31490-main) :is(button, .button, input[type="submit"]) {
    min-height: 44px;
    font-size: 14px !important;
    line-height: 1.45 !important;
    white-space: normal;
}
body.kibc-ui :is(.entry-content, .kibc31490-main, #kibc31480-sidebar) :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #1777c8 !important;
    outline-offset: 3px;
}
body.kibc-ui :is(.k131-list, .k132-list, .k133-list, .k99-table, .table-wrap, .ko43-table) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}
body.kibc-ui .entry-content :is(div, section):has(> table) {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}
body.kibc-ui .k31462-db em,
body.kibc-ui .k1387-registration .required,
body.kibc-ui .k1387-registration .actions span,
body.kibc-ui .k1500-doc-head > span { font-size: 13px !important; line-height: 1.5 !important; }
body.kibc-ui :is(.k1383-current-user, .k1382-login-note) { font-size: 14px !important; line-height: 1.65 !important; }
body.kibc-ui .k40-head { padding: 24px !important; }
body.kibc-ui :is(.k40-head, .k40-primary, .k40-flow-wrap) span { font-size: 13px !important; line-height: 1.5 !important; }
body.kibc-ui :is(.k40-flow-wrap, .k31554-priority-grid) i { font-size: 12px !important; }
body.kibc-ui :is(.k31554-priority-head, .k31557-actions, .k31563-followup-head) a { font-size: 13px !important; line-height: 1.5 !important; }
body.kibc-ui .k31563-followup span { font-size: 13px !important; line-height: 1.5 !important; }
body.kibc-ui .k31494-metrics { grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)) !important; }
body.kibc-ui :is(.k132-editor, .k131-editor, .k133-editor, .k1387-registration form) {
    padding: 24px !important;
}
body.kibc-ui :is(.k31520-context, .k31520-inherited, .k31409-source-data) :is(small, em, i, span) {
    font-size: 12px !important;
    line-height: 1.5 !important;
}
body.kibc-ui .k31520-context > summary { padding: 12px 16px !important; gap: 12px !important; }
body.kibc-ui .k31502-context-grid :is(b, strong) { font-size: 14px !important; line-height: 1.5 !important; }
body.kibc-ui .k31520-inherited > summary { flex-wrap: wrap; gap: 8px !important; padding: 12px !important; }
body.kibc-ui .k31520-inherited > summary strong { white-space: normal !important; }
body.kibc-ui .kibc31477-nav { gap: 12px !important; }
body.kibc-ui .kibc31477-nav :is(a, button) { min-height: 52px !important; padding: 10px 14px !important; }
body.kibc-ui .kibc31477-nav b { font-size: 14px !important; line-height: 1.4 !important; }
body.kibc-ui .kibc31477-nav small { font-size: 12px !important; line-height: 1.5 !important; }
body.kibc-ui .kibc31477-top { position: relative !important; inset: auto !important; z-index: 20 !important; margin-block: 12px !important; padding-top: 0 !important; }
body.kibc-ui.admin-bar .kibc31477-top { margin-top: 44px !important; }
body.kibc-ui .k1378-rolebar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding-block: 12px; line-height: 1.5; }
body.kibc-ui .k1378-rolebar span { font-size: 14px !important; }
body.kibc-ui .kibc31517-contentnav span { font-size: 12px !important; line-height: 1.5 !important; }
body.kibc-ui :is(.k131-head, .k132-head, .k133-head, .k137-head) > span { font-size: 12px !important; line-height: 1.5 !important; }
body.kibc-ui .k1315-linkbar a,
body.kibc-ui .k1315-path a,
body.kibc-ui .k1433-add-product,
body.kibc-ui .k31560-version,
body.kibc-ui .k31565-sources legend { font-size: 13px !important; line-height: 1.5 !important; }
body.kibc-ui :is(.k1491-flow, .k31559-followup, .k31562-queue, .k31564-completeness) :is(span, i, em, b, strong) { font-size: 13px !important; line-height: 1.5 !important; }
body.kibc-ui .k31564-readiness :is(.head span, .items b, .items span, .items strong) { font-size: 13px !important; line-height: 1.5 !important; }
body.kibc-ui .k1491-flow-grid > a { min-width: 0; padding: 12px !important; }
body.kibc-ui .k31545-official-head { flex-wrap: wrap; gap: 12px; }
body.kibc-ui .k31545-official-head em { font-size: 12px !important; line-height: 1.5 !important; }
body.kibc-ui .k31545-official-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)) !important; gap: 12px !important; }
body.kibc-ui .k31545-official-grid a { flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; min-width: 0; min-height: 116px !important; padding: 14px !important; gap: 6px !important; }
body.kibc-ui .k31545-official-grid b { white-space: normal !important; font-size: 16px !important; line-height: 1.4 !important; }
body.kibc-ui .k31545-official-grid span { font-size: 13px !important; line-height: 1.5 !important; word-break: keep-all; }
body.kibc-ui .k31545-official-grid small { display: block !important; }
body.kibc-ui #kibc31480-sidebar { overflow-y: auto !important; overscroll-behavior: contain; }
body.kibc-ui #kibc31480-sidebar .k31480-side-links a { padding: 10px 12px !important; min-height: 54px; }
body.kibc-ui #kibc31480-sidebar .k31480-side-links a b { font-size: 14px !important; line-height: 1.4 !important; }
body.kibc-ui #kibc31480-sidebar .k31480-side-links a small { font-size: 12px !important; line-height: 1.45 !important; }

/* A single scroll area keeps the sidebar brand visible and every item reachable. */
@media (min-width: 821px) {
    body.kibc-ui.kibc-31480-shell { --kibc-sidebar-width: 232px; --kibc-toolbar-height: 0px; }
    body.kibc-ui.kibc-31480-shell.admin-bar { --kibc-toolbar-height: 32px; }
    body.kibc-ui.kibc-31480-shell .kibc31490-grid { grid-template-columns: var(--kibc-sidebar-width) minmax(0, 1fr) !important; gap: 16px !important; }
    body.kibc-ui #kibc31480-sidebar {
        position: fixed !important;
        top: var(--kibc-toolbar-height) !important;
        left: 0 !important;
        bottom: 0 !important;
        width: var(--kibc-sidebar-width) !important;
        max-width: var(--kibc-sidebar-width) !important;
        height: calc(100dvh - var(--kibc-toolbar-height)) !important;
        max-height: calc(100dvh - var(--kibc-toolbar-height)) !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        z-index: 100 !important;
    }
    body.kibc-ui #kibc31480-sidebar :is(.k31482-brand, .k31480-side-head) { flex: 0 0 auto !important; padding: 14px 16px !important; }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 8px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        scrollbar-width: thin !important;
        scrollbar-color: #a6bacd transparent;
        scroll-padding-block: 8px;
    }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links::-webkit-scrollbar { display: block !important; width: 6px; }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links::-webkit-scrollbar-thumb { background: #a6bacd; border-radius: 6px; }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links a { display: flex; align-items: center; gap: 10px !important; min-height: 56px !important; padding: 9px 10px !important; margin: 0 0 4px !important; }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links a .ico { flex: 0 0 22px !important; width: 22px !important; text-align: center; }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links a > span:last-child { min-width: 0; }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links :is(b, small) { white-space: normal !important; word-break: normal; overflow-wrap: break-word; }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links a[aria-current="page"] { background: #0b5fab !important; }
    body.kibc-ui #kibc31480-sidebar .k31480-side-links a[aria-current="page"] :is(b, small) { color: #fff !important; }
}

/* Public homepage: let text determine height instead of absolute positioning. */
body.kibc-ui .kibc36 { font-family: var(--kibc-font) !important; }
body.kibc-ui.kibc-restored-public-home .wp-site-blocks > main > .wp-block-group { margin-inline: 0 !important; padding-inline: 0 !important; width: 100% !important; }
body.kibc-ui .k36-head {
    min-height: 88px;
    height: auto !important;
    grid-template-columns: minmax(280px, 1fr) auto auto !important;
    gap: 16px;
    padding: 16px 20px !important;
}
body.kibc-ui .k36-brand { min-width: 0; gap: 12px; }
body.kibc-ui .k36-logo { flex: 0 0 47px; }
body.kibc-ui .k36-brand strong { font-size: clamp(19px, 1.65vw, 24px) !important; line-height: 1.4; letter-spacing: -.025em; }
body.kibc-ui .k36-brand small { font-size: 14px !important; line-height: 1.5 !important; }
body.kibc-ui .k36-nav { min-width: 0; height: auto; align-items: stretch; }
body.kibc-ui .k36-nav a { min-width: 0 !important; min-height: 48px; padding: 10px 8px !important; }
body.kibc-ui .k36-nav a b { font-size: 14px !important; line-height: 1.45; }
body.kibc-ui .k36-nav a small { font-size: 12px !important; line-height: 1.45 !important; }
body.kibc-ui .k36-lang { font-size: 16px !important; }
body.kibc-ui .k36-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(310px, 1fr);
    align-items: center;
    gap: 28px;
    height: auto !important;
    min-height: 352px !important;
    padding: 28px 32px !important;
}
body.kibc-ui .k36-copy {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0;
    padding-left: 6%;
}
body.kibc-ui .k36-copy h1 { font-size: clamp(26px, 2.4vw, 36px) !important; line-height: 1.35 !important; word-break: keep-all; }
body.kibc-ui .k36-copy h2 { font-size: clamp(18px, 1.5vw, 23px) !important; margin: 12px 0 !important; line-height: 1.5 !important; }
body.kibc-ui .k36-copy p { font-size: 15px !important; line-height: 1.7 !important; }
body.kibc-ui .k36-map { display: none !important; }
body.kibc-ui .k36-sectors {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 12px !important;
}
body.kibc-ui .k36-sectors button { min-width: 0; min-height: 116px; line-height: 1.45 !important; }
body.kibc-ui .k36-sectors button b { font-size: 13px !important; line-height: 1.5 !important; white-space: normal !important; }
body.kibc-ui .k36-sectors button small { font-size: 12px !important; line-height: 1.5 !important; }
body.kibc-ui .k36-actions { margin-top: 20px; flex-wrap: wrap; }
body.kibc-ui .k36-actions a { min-height: 60px; padding: 12px 16px; font-size: 15px !important; }
body.kibc-ui .k36-actions a small { margin-top: 4px; }
body.kibc-ui .k36-india-showcase { align-items: stretch; }
body.kibc-ui .k36-india-card { height: auto !important; min-height: 156px; padding: 16px !important; }
body.kibc-ui .k36-india-card :is(b, strong) { font-size: 14px !important; line-height: 1.5 !important; }
body.kibc-ui .k36-india-card em { font-size: 12px !important; line-height: 1.5 !important; }
body.kibc-ui .k36-card .pic span { font-size: 12px !important; }
body.kibc-ui .k36-card .photo span { font-size: 12px !important; }
body.kibc-ui .k36-card .body { padding: 16px !important; }
body.kibc-ui .k36-card h3 { font-size: 17px !important; line-height: 1.5 !important; min-height: 0 !important; height: auto !important; }
body.kibc-ui .k36-card p { height: auto !important; min-height: 72px; margin-block: 8px 12px !important; font-size: 14px !important; }
body.kibc-ui .k36-card .body a { font-size: 12px !important; }
body.kibc-ui .k36-side .operator :is(p, b, small) { color: #e2edff !important; }
body.kibc-ui .k36-side .operator p { font-size: 14px !important; line-height: 1.65 !important; }
body.kibc-ui .k36-side .greeting { gap: 16px; padding: 16px; }
body.kibc-ui .k36-side .greeting p { font-size: 14px !important; }
body.kibc-ui .k36-coop .flow { grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr); }
body.kibc-ui .k36-coop .flow p { font-size: 13px !important; }
body.kibc-ui .k36-coop .flow b { font-size: 14px !important; }
body.kibc-ui .k31547-guide-grid small { font-size: 13px !important; line-height: 1.6 !important; }
body.kibc-ui .k31547-guide-grid em { font-size: 13px !important; }
body.kibc-ui .k31547-followup :is(span, a) { font-size: 13px !important; line-height: 1.6 !important; }

@media (max-width: 1250px) {
    body.kibc-ui .k36-head { grid-template-columns: minmax(0, 1fr) auto !important; }
    body.kibc-ui .k36-nav { grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap; justify-content: flex-start; }
    body.kibc-ui .k36-lang { grid-column: 2; grid-row: 1; }
    body.kibc-ui .k36-coop .flow { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
    body.kibc-ui .wp-site-blocks > main > .wp-block-group { margin-inline: 0 !important; padding-inline: 0 !important; }
    body.kibc-ui .k36-hero { grid-template-columns: 1fr; gap: 24px; padding: 24px 20px !important; }
    body.kibc-ui .k36-copy { padding-left: 0; }
    body.kibc-ui .k36-sectors { max-width: 580px; margin-inline: auto; }
    body.kibc-ui .k36-india-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.kibc-ui .k36-india-card:last-child { grid-column: 1 / -1; }
    body.kibc-ui :is(.k131-wrap, .k132-wrap, .k133-wrap, .k137-wrap, .k1364-wrap, .k40-dash, .kibc96-tour) { width: 100% !important; max-width: 100% !important; margin-inline: 0 !important; }
    body.kibc-ui :is(.k132-editor, .k131-editor, .k133-editor, .k1387-registration form) { padding: 16px !important; }
    body.kibc-ui .kibc31477-nav { width: 100% !important; flex-wrap: wrap; }
    body.kibc-ui .kibc31517-contentnav { width: calc(100% - 24px) !important; gap: 8px; }
    body.kibc-ui .k1336-search-actions { display: flex !important; flex-wrap: wrap !important; width: 100%; max-width: 100%; gap: 12px !important; }
    body.kibc-ui .k1336-search-actions label { display: flex; flex: 1 1 160px; flex-direction: column; min-width: 0; gap: 6px; }
    body.kibc-ui .k1336-search-actions :is(select, input) { min-width: 0 !important; width: 100% !important; }
    body.kibc-ui .k1336-search-actions button { flex: 1 1 140px; }
    body.kibc-ui .k31468-wrap .selector { grid-template-columns: minmax(0, 1fr); }
    body.kibc-ui .k31468-wrap .selector > * { min-width: 0; max-width: 100%; }
    body.kibc-ui .k31468-wrap .selector select { min-width: 0 !important; width: 100%; flex-basis: 100%; }
    body.kibc-ui .k1387-registration { width: 100% !important; padding-inline: 0 !important; margin: 16px 0 !important; }
    body.kibc-ui .k1387-registration .hero { padding: 24px 16px !important; }
    body.kibc-ui .k1387-registration .hero h1 { font-size: 26px !important; line-height: 1.35 !important; word-break: keep-all; }
    body.kibc-ui .k1387-registration .adminnote { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 782px) {
    body.kibc-ui.admin-bar .kibc31477-top { margin-top: 58px !important; }
}
@media (max-width: 540px) {
    body.kibc-ui .k36-head { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; padding: 16px !important; gap: 12px; }
    body.kibc-ui .k36-brand { width: 100%; }
    body.kibc-ui .k36-brand strong { font-size: 19px !important; }
    body.kibc-ui .k36-brand small { font-size: 13px !important; }
    body.kibc-ui .k36-lang { grid-column: 1; grid-row: 2; justify-self: end; margin: 0; }
    body.kibc-ui .k36-nav { grid-row: 3; gap: 4px; overflow: visible; }
    body.kibc-ui .k36-nav a { flex: 1 1 calc(33.333% - 8px); padding: 8px 4px !important; }
    body.kibc-ui .k36-nav a b { font-size: 13px !important; white-space: normal !important; text-align: center; }
    body.kibc-ui .k36-hero { margin: 12px 8px; padding: 24px 16px !important; }
    body.kibc-ui .k36-actions { gap: 8px; }
    body.kibc-ui .k36-actions a { flex: 1 1 140px; min-width: 0; }
    body.kibc-ui .k36-sectors { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.kibc-ui .k36-india-showcase { grid-template-columns: 1fr; }
    body.kibc-ui .k36-mainrow { margin-inline: 8px; gap: 16px; }
    body.kibc-ui .k36-side .greeting { grid-template-columns: 90px minmax(0, 1fr); gap: 12px; padding: 12px; }
    body.kibc-ui .k31547-start-guide { margin: 16px 8px; padding: 16px; }
    body.kibc-ui .k31547-followup nav { flex-wrap: wrap; }
    body.kibc-ui .k31520-context > summary { grid-template-columns: minmax(0, 1fr); }
    body.kibc-ui .k31520-context > summary em { white-space: normal !important; }
    body.kibc-ui .k31502-context-grid { grid-template-columns: 1fr; }
    body.kibc-ui .kibc31517-contentnav { grid-template-columns: 1fr; }
}
@media (max-width: 359px) {
    body.kibc-ui .k36-nav a { flex-basis: calc(50% - 8px); }
    body.kibc-ui .k36-sectors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.kibc-ui .k36-sectors button:last-child { grid-column: 1 / -1; }
}

/* Only KIBC's admin work area; keep native navigation and icon fonts intact. */
body.kibc-ui-admin #wpbody-content :is(p, label, td, th) { font-size: 14px; line-height: 1.6; }
body.kibc-ui-admin #wpbody-content small { font-size: 12px; line-height: 1.5; }
body.kibc-ui-admin #wpbody-content h1 { line-height: 1.35; }
body.kibc-ui-admin #wpbody-content :is(input:not([type="checkbox"]):not([type="radio"]), select) { min-height: 36px; font-size: 14px; }
body.login :is(label, .message, #login_error, .notice) { font-size: 14px; line-height: 1.6; }
body.login form .input { font-size: 18px; min-height: 44px; }
body.login .button-primary { min-height: 40px; }
