/* =========================================================
   KÜBA'DA SAĞLIK — STANDARD PORTAL UI
   Patient Portal + Staff Portal
========================================================= */

.ks-portal,
.ks-portal * {
    box-sizing: border-box;
}

.ks-portal {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 34px 18px 64px;
    color: #172554;
    font-family: inherit;
}

.ks-staff-portal {
    max-width: 1180px;
}

/* HEADER */

.ks-page-header {
    width: 100%;
    margin-bottom: 20px;
    padding: 26px 28px;
    border: 1px solid #e6edf7;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.ks-page-header--compact {
    padding: 22px 26px;
}

.ks-eyebrow {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #ecfeff;
    color: #0f766e;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ks-page-header h1 {
    margin: 0 0 8px !important;
    color: #173b8f !important;
    font-size: 34px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em;
}

.ks-page-header p {
    max-width: 720px;
    margin: 0 !important;
    color: #52627f !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

/* PANELS */

.ks-panel {
    width: 100%;
    padding: 24px;
    border: 1px solid #e6edf7;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.ks-panel + .ks-panel,
.ks-panel + .ks-alert,
.ks-alert + .ks-panel {
    margin-top: 16px;
}

.ks-panel-title {
    margin-bottom: 16px;
}

.ks-panel-title h3,
.ks-section-head h2,
.ks-panel h2 {
    margin: 0 0 6px !important;
    color: #173b8f !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.025em;
}

.ks-panel-title p,
.ks-section-head p,
.ks-panel p {
    margin: 0 !important;
    color: #52627f !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.ks-empty {
    color: #64748b !important;
    font-size: 14px !important;
}

/* BUTTONS */

.ks-primary-button,
.ks-danger-button,
.ks-small-button,
.ks-clean-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    text-decoration: none !important;
    cursor: pointer;
    font-weight: 900;
    transition: all 0.18s ease;
}

.ks-primary-button,
.ks-clean-form button {
    min-height: 46px;
    padding: 12px 18px;
    border-radius: 13px;
    background: #0f766e;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(15, 118, 110, 0.16);
}

.ks-primary-button:hover,
.ks-clean-form button:hover {
    background: #115e59;
    color: #ffffff !important;
}

.ks-danger-button {
    width: 100%;
    min-height: 44px;
    padding: 11px 16px;
    border-radius: 13px;
    background: #b91c1c;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(185, 28, 28, 0.12);
}

.ks-danger-button:hover {
    background: #991b1b;
    color: #ffffff !important;
}

.ks-small-button {
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3 !important;
    font-size: 12px;
}

/* FORMS */

.ks-clean-form,
.ks-action-form {
    width: 100%;
}

.ks-clean-form label,
.ks-action-form label {
    display: block;
    margin-bottom: 14px;
}

.ks-clean-form label span,
.ks-action-form label span {
    display: block;
    margin-bottom: 6px;
    color: #1e3a8a;
    font-size: 12px;
    font-weight: 900;
}

.ks-clean-form input,
.ks-action-form input,
.ks-action-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #d6e0ef;
    border-radius: 13px;
    background: #ffffff;
    color: #0f172a;
    font-size: 14px;
    box-shadow: none;
}

.ks-action-form textarea {
    min-height: 88px;
    resize: vertical;
}

.ks-clean-form input:focus,
.ks-action-form input:focus,
.ks-action-form textarea:focus {
    outline: none;
    border-color: #0f766e;
    box-shadow: 0 0 0 4px rgba(15, 118, 110, 0.10);
}

/* PATIENT LOOKUP */

.ks-lookup-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
    gap: 28px;
    align-items: start;
}

.ks-panel-copy h2 {
    margin: 0 0 8px !important;
    color: #173b8f !important;
    font-size: 24px !important;
}

.ks-panel-copy p {
    color: #52627f !important;
}

.ks-result-panel {
    margin-top: 16px;
}

.ks-result-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.ks-result-head h2 {
    margin: 0 0 8px !important;
    color: #173b8f !important;
    font-size: 26px !important;
}

.ks-result-status {
    flex: 0 0 auto;
}

/* INFO LIST */

.ks-info-list,
.ks-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ks-info-list div,
.ks-detail-list div {
    min-width: 0;
    padding: 13px;
    border: 1px solid #edf2f7;
    border-radius: 15px;
    background: #fbfdff;
}

.ks-info-list span,
.ks-detail-list span {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ks-info-list strong,
.ks-detail-list strong {
    display: block;
    color: #173b8f;
    font-size: 14px;
    font-weight: 900;
    word-break: break-word;
}

/* STEPS */

.ks-steps {
    width: 100%;
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.ks-step {
    padding: 16px;
    border: 1px solid #e6edf7;
    border-radius: 18px;
    background: #ffffff;
}

.ks-step span {
    display: inline-flex;
    width: 30px;
    height: 30px;
    margin-bottom: 10px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
}

.ks-step strong {
    display: block;
    margin-bottom: 4px;
    color: #173b8f;
    font-size: 15px;
}

.ks-step small {
    display: block;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.ks-step.is-active {
    border-color: #99f6e4;
    background: #f0fdfa;
}

.ks-step.is-active span {
    background: #0f766e;
    color: #ffffff;
}

/* ALERTS */

.ks-alert {
    width: 100%;
    margin: 16px 0;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid #e6edf7;
    background: #ffffff;
}

.ks-alert strong {
    display: block;
    margin-bottom: 4px;
    color: #173b8f;
}

.ks-alert p {
    margin: 0 !important;
    color: #52627f !important;
    font-size: 14px !important;
}

.ks-alert--success {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.ks-alert--danger {
    border-color: #fecaca;
    background: #fef2f2;
}

.ks-alert--danger strong,
.ks-alert--danger p {
    color: #991b1b !important;
}

.ks-alert--soft {
    background: #f8fafc;
}

/* STAFF LAYOUT */

.ks-layout {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.ks-sidebar {
    padding: 18px;
    border: 1px solid #e6edf7;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

.ks-sidebar-brand {
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e6edf7;
}

.ks-sidebar-brand strong {
    display: block;
    color: #173b8f;
    font-size: 17px;
}

.ks-sidebar-brand span {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 13px;
}

.ks-nav a {
    display: flex;
    align-items: center;
    min-height: 42px;
    margin-bottom: 6px;
    padding: 10px 12px;
    border-radius: 13px;
    color: #475569 !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 850;
}

.ks-nav a:hover,
.ks-nav a.is-active {
    background: #ecfeff;
    color: #0f766e !important;
}

.ks-main {
    min-width: 0;
}

.ks-section-head {
    margin-bottom: 16px;
    padding: 20px 22px;
    border: 1px solid #e6edf7;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.045);
}

/* METRICS */

.ks-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.ks-metric-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ks-metric-card {
    padding: 18px;
    border: 1px solid #e6edf7;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.035);
}

.ks-metric-card span {
    display: block;
    margin-bottom: 8px;
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ks-metric-card strong {
    display: block;
    color: #173b8f;
    font-size: 30px;
    line-height: 1;
}

.ks-metric-card small {
    display: block;
    margin-top: 8px;
    color: #64748b;
    font-size: 12px;
}

/* BADGES */

.ks-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
}

.ks-badge--neutral {
    background: #f8fafc;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.ks-badge--success {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #bbf7d0;
}

.ks-badge--info {
    background: #eef2ff;
    color: #3730a3;
    border: 1px solid #c7d2fe;
}

.ks-badge--warning {
    background: #fffbeb;
    color: #b45309;
    border: 1px solid #fde68a;
}

.ks-badge--danger {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

/* FILTER BAR */

.ks-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.ks-filter-bar a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid #e6edf7;
    border-radius: 999px;
    background: #ffffff;
    color: #475569 !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 850;
}

.ks-filter-bar a:hover,
.ks-filter-bar a.is-active {
    background: #ecfeff;
    color: #0f766e !important;
    border-color: #99f6e4;
}

/* TABLES */

.ks-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.ks-table {
    width: 100%;
    border-collapse: collapse;
}

.ks-table th {
    padding: 12px 10px;
    border-bottom: 1px solid #e6edf7;
    color: #334155;
    font-size: 12px;
    font-weight: 900;
    text-align: left;
    background: #fbfdff;
    white-space: nowrap;
}

.ks-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #eef2f7;
    color: #172554;
    font-size: 14px;
    vertical-align: middle;
}

.ks-table td small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
}

.ks-table tr:hover td,
.ks-table tr.is-selected td {
    background: #f8fffe;
}

/* PAYMENT SPLIT */

.ks-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 16px;
    align-items: start;
}

.ks-detail-panel {
    position: sticky;
    top: 18px;
}

.ks-detail-status {
    margin-bottom: 14px;
}

.ks-detail-list {
    margin-bottom: 16px;
}

.ks-action-area {
    display: grid;
    gap: 14px;
}

.ks-action-form {
    padding: 14px;
    border: 1px solid #e6edf7;
    border-radius: 16px;
    background: #f8fafc;
}

/* RESPONSIVE */

@media only screen and (max-width: 1080px) {
    .ks-layout {
        grid-template-columns: 1fr;
    }

    .ks-sidebar {
        position: static;
    }

    .ks-nav {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .ks-nav a {
        margin-bottom: 0;
    }

    .ks-split {
        grid-template-columns: 1fr;
    }

    .ks-detail-panel {
        position: static;
    }
}

@media only screen and (max-width: 820px) {
    .ks-lookup-panel {
        grid-template-columns: 1fr;
    }

    .ks-metric-grid,
    .ks-metric-grid--three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ks-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ks-result-head {
        display: block;
    }

    .ks-result-status {
        margin-top: 12px;
    }
}

@media only screen and (max-width: 560px) {
    .ks-portal {
        padding: 24px 14px 52px;
    }

    .ks-page-header,
    .ks-panel,
    .ks-section-head,
    .ks-sidebar {
        padding: 18px;
        border-radius: 18px;
    }

    .ks-page-header h1 {
        font-size: 29px !important;
    }

    .ks-info-list,
    .ks-detail-list,
    .ks-metric-grid,
    .ks-metric-grid--three,
    .ks-steps {
        grid-template-columns: 1fr;
    }

    .ks-nav {
        display: block;
    }

    .ks-nav a {
        margin-bottom: 6px;
    }
}
/* =========================================================
   v1.0.7 — Independent Staff Login / Staff Portal
========================================================= */
.ks-auth-portal {
    max-width: 1160px;
}

.ks-auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
    gap: 24px;
    align-items: stretch;
}

.ks-auth-copy,
.ks-auth-card {
    border: 1px solid #e6edf7;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .06);
}

.ks-auth-copy {
    padding: 36px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fffe 100%);
}

.ks-auth-copy h1 {
    margin: 0 0 12px !important;
    color: #173b8f !important;
    font-size: 38px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em;
}

.ks-auth-copy p {
    max-width: 620px;
    color: #52627f !important;
    font-size: 15px !important;
    line-height: 1.72 !important;
}

.ks-auth-points {
    display: grid;
    gap: 10px;
    margin-top: 26px;
}

.ks-auth-points span {
    display: flex;
    gap: 10px;
    align-items: center;
    color: #0f766e;
    font-weight: 800;
}

.ks-auth-points span:before {
    content: "✓";
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ecfeff;
}

.ks-auth-card {
    padding: 28px;
}

.ks-auth-card h2 {
    margin: 0 0 8px !important;
    color: #173b8f !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
}

.ks-auth-card > p {
    margin-bottom: 18px !important;
}

.ks-full-button {
    width: 100%;
}

.ks-secondary-button {
    min-height: 46px;
    padding: 12px 18px;
    border: 1px solid #d6e0ef;
    border-radius: 13px;
    background: #ffffff;
    color: #173b8f !important;
    font-weight: 900;
    cursor: pointer;
}

.ks-auth-logout-form {
    margin-top: 12px;
}

.ks-checkline {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 4px 0 16px !important;
}

.ks-checkline input {
    width: auto !important;
    min-height: auto !important;
}

.ks-checkline span {
    display: inline !important;
    margin: 0 !important;
    color: #52627f !important;
}

.ks-forgot-box {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e6edf7;
}

.ks-forgot-box summary {
    cursor: pointer;
    color: #173b8f;
    font-weight: 900;
}

.ks-forgot-box form {
    margin-top: 14px;
}

.ks-sidebar-brand em {
    display: block;
    margin-top: 7px;
    color: #64748b;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.ks-sidebar-logout {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e6edf7;
}

.ks-sidebar-logout button {
    width: 100%;
    min-height: 40px;
    border: 1px solid #d6e0ef;
    border-radius: 12px;
    background: #fff;
    color: #173b8f;
    cursor: pointer;
    font-weight: 900;
}

@media (max-width: 900px) {
    .ks-auth-shell {
        grid-template-columns: 1fr;
    }

    .ks-auth-copy,
    .ks-auth-card {
        padding: 24px;
    }
}

/* =========================================================
   v1.0.8 — CORPORATE RESPONSIVE PORTAL REFINEMENT
   Staff Login + Staff Portal + Patient Portal
========================================================= */
.ks-portal {
    --ks-navy: #143a7b;
    --ks-blue: #1e56a0;
    --ks-teal: #0f766e;
    --ks-soft: #f6f9fc;
    --ks-line: #e4edf7;
    --ks-text: #172554;
    --ks-muted: #607089;
}

.ks-auth-portal-v108,
.ks-patient-portal-v108,
.ks-staff-portal {
    max-width: 1240px;
}

.ks-login-shell-pro {
    min-height: 72vh;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(380px, .78fr);
    gap: 24px;
    align-items: stretch;
}

.ks-login-brand-panel,
.ks-login-card-pro,
.ks-glass-panel,
.ks-public-hero,
.ks-case-summary-bar,
.ks-staff-portal .ks-shell {
    border: 1px solid var(--ks-line);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 22px 55px rgba(15, 23, 42, .07);
}

.ks-login-brand-panel {
    min-height: 560px;
    padding: clamp(28px, 5vw, 54px);
    border-radius: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    position: relative;
}
.ks-login-brand-panel:before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    right: -160px;
    bottom: -160px;
    background: radial-gradient(circle, rgba(15,118,110,.14), rgba(30,86,160,.08), transparent 70%);
}
.ks-login-brand-panel h1,
.ks-public-hero h1 {
    margin: 0 0 14px !important;
    color: var(--ks-navy) !important;
    font-size: clamp(34px, 5vw, 56px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.055em;
    position: relative;
}
.ks-login-brand-panel p,
.ks-public-hero p {
    max-width: 680px;
    color: var(--ks-muted) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    position: relative;
}
.ks-login-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    position: relative;
}
.ks-login-features div {
    padding: 16px;
    border: 1px solid #e8eef7;
    border-radius: 20px;
    background: rgba(255,255,255,.74);
}
.ks-login-features strong { display:block;color:var(--ks-navy);font-size:13px;font-weight:900;margin-bottom:6px; }
.ks-login-features span { display:block;color:var(--ks-muted);font-size:12px;line-height:1.45; }

.ks-login-card-pro {
    border-radius: 32px;
    padding: clamp(24px, 4vw, 34px);
    align-self: center;
}
.ks-login-card-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}
.ks-login-icon {
    width: 52px;
    height: 52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--ks-navy), var(--ks-teal));
    color:#fff;
    font-size:14px;
    font-weight:900;
    letter-spacing:.04em;
}
.ks-login-card-head h2 { margin:0 0 4px!important;color:var(--ks-navy)!important;font-size:24px!important; }
.ks-login-card-head p { margin:0!important;color:var(--ks-muted)!important;font-size:14px!important; }
.ks-auth-form-pro input { min-height: 52px; border-radius: 16px; }
.ks-login-row { display:flex;justify-content:space-between;align-items:center;margin-bottom:12px; }
.ks-forgot-pro { margin-top: 16px; padding: 14px; border: 1px solid #e8eef7; border-radius: 18px; background:#f8fafc; }
.ks-forgot-pro summary { cursor:pointer; color: var(--ks-navy); font-weight:900; }

.ks-public-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .36fr);
    gap: 20px;
    align-items: center;
    padding: clamp(24px, 4vw, 42px);
    border-radius: 30px;
    margin-bottom: 18px;
}
.ks-hero-card {
    padding: 20px;
    border: 1px solid #dbeafe;
    border-radius: 22px;
    background: #f8fbff;
}
.ks-hero-card strong { display:block;color:var(--ks-navy);font-size:18px;margin-bottom:8px; }
.ks-hero-card span { display:block;color:var(--ks-muted);font-size:13px;line-height:1.55; }

.ks-glass-panel {
    border-radius: 24px;
    padding: clamp(18px, 3vw, 26px);
    margin-bottom: 16px;
}
.ks-two-col-form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 14px;
    align-items: end;
}
.ks-two-col-form label { margin-bottom:0; }
.ks-case-summary-bar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
    border-radius: 24px;
    margin-bottom: 16px;
}
.ks-case-summary-bar div { padding: 14px; border-radius: 18px; background: #f8fafc; min-width: 0; }
.ks-case-summary-bar span { display:block;color:#64748b;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.05em;margin-bottom:6px; }
.ks-case-summary-bar strong { display:block;color:var(--ks-navy);font-size:15px;font-weight:900;word-break:break-word; }
.ks-patient-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .36fr);
    gap: 18px;
    align-items: start;
}
.ks-patient-steps { display:grid;grid-template-columns: repeat(5,minmax(0,1fr));gap:10px; }
.ks-patient-steps .ks-step { min-height: 118px; }
.ks-request-list,
.ks-treatment-options,
.ks-invoice-list,
.ks-mini-list,
.ks-message-list,
.ks-timeline-list { display:grid;gap:12px; }
.ks-request-card,
.ks-treatment-card,
.ks-invoice-card,
.ks-mini-list > div,
.ks-timeline-list > div {
    padding: 16px;
    border: 1px solid #e8eef7;
    border-radius: 18px;
    background: #fff;
}
.ks-request-head { display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px; }
.ks-request-head strong,.ks-treatment-card h3,.ks-report-box h3 { color:var(--ks-navy); }
.ks-answer-box { margin:12px 0;padding:12px;border-radius:14px;background:#f0fdfa;border:1px solid #ccfbf1; }
.ks-treatment-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ks-treatment-card span { display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:900; }
.ks-treatment-card p { min-height: 50px; }
.ks-price-summary { display:block;margin:14px 0;color:var(--ks-teal);font-size:22px; }
.ks-treatment-card.is-selected { border-color:#99f6e4;background:#f0fdfa; }
.ks-muted-button { background:#475569!important;box-shadow:none!important; }
.ks-invoice-card { display:grid;gap:6px; }
.ks-invoice-card b { color:var(--ks-teal);font-size:18px; }
.ks-invoice-card small { display:block;color:#475569; }
.ks-message-bubble { padding:12px 14px;border-radius:16px;background:#f8fafc;border:1px solid #e8eef7; }
.ks-message-bubble--patient { background:#f0fdfa;border-color:#ccfbf1; }
.ks-message-bubble span { display:block;font-weight:900;color:var(--ks-navy);font-size:12px;margin-bottom:4px; }
.ks-message-bubble p { margin:0!important; }
.ks-message-bubble small,.ks-timeline-list small,.ks-mini-list small { display:block;margin-top:6px;color:#94a3b8;font-size:11px; }
.ks-status-pill { display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;line-height:1.2; }
.ks-status-pill--blue { background:#eef2ff;color:#3730a3; }
.ks-status-pill--green { background:#ecfdf5;color:#047857; }
.ks-status-pill--amber { background:#fffbeb;color:#b45309; }
.ks-status-pill--red { background:#fef2f2;color:#b91c1c; }
.ks-status-pill--gray { background:#f8fafc;color:#475569; }

.ks-staff-portal .ks-shell {
    border-radius: 28px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
}
.ks-staff-portal .ks-sidebar {
    background: linear-gradient(180deg, #102e63, #0f766e);
    color: #fff;
    padding: 22px;
}
.ks-staff-portal .ks-sidebar h2,
.ks-staff-portal .ks-sidebar p,
.ks-staff-portal .ks-sidebar span,
.ks-staff-portal .ks-sidebar em { color: #fff!important; }
.ks-staff-portal .ks-nav a {
    display:flex;align-items:center;margin-bottom:8px;padding:12px 14px;border-radius:14px;color:#eaf4ff!important;text-decoration:none!important;font-weight:800;
}
.ks-staff-portal .ks-nav a.is-active,
.ks-staff-portal .ks-nav a:hover { background: rgba(255,255,255,.16); color:#fff!important; }
.ks-staff-portal .ks-main { min-width:0;padding:24px;background:#f6f9fc; }
.ks-staff-portal .ks-panel,
.ks-staff-portal .ks-metric-card {
    border-radius: 20px;
    box-shadow: 0 14px 30px rgba(15,23,42,.045);
}
.ks-staff-portal .ks-table-wrap { overflow-x:auto; -webkit-overflow-scrolling: touch; }
.ks-staff-portal .ks-table { min-width: 760px; width: 100%; border-collapse: collapse; }
.ks-staff-portal .ks-table th { color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.04em; }
.ks-staff-portal .ks-table th,
.ks-staff-portal .ks-table td { padding:12px;border-bottom:1px solid #e8eef7;text-align:left;vertical-align:top; }
.ks-operation-bridge .wrap { margin: 0!important; }
.ks-operation-bridge .cha-pcm-admin { max-width: none; }
.ks-operation-bridge .cha-pcm-main-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); }
.ks-sidebar-logout button { width:100%;border:0;border-radius:14px;padding:12px;background:rgba(255,255,255,.16);color:#fff;font-weight:900;cursor:pointer; }

@media (max-width: 1100px) {
    .ks-login-shell-pro,
    .ks-public-hero,
    .ks-patient-grid,
    .ks-pay-center,
    .ks-operation-bridge .cha-pcm-main-layout { grid-template-columns: 1fr!important; }
    .ks-login-brand-panel { min-height: auto; }
    .ks-login-features,
    .ks-case-summary-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ks-patient-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .ks-portal { padding: 22px 12px 44px; }
    .ks-staff-portal .ks-shell { grid-template-columns: 1fr; }
    .ks-staff-portal .ks-sidebar { position: relative; border-radius: 24px 24px 0 0; }
    .ks-staff-portal .ks-nav { display:grid;grid-template-columns: repeat(2, minmax(0,1fr));gap:8px; }
    .ks-staff-portal .ks-nav a { margin:0;justify-content:center;text-align:center;font-size:13px; }
    .ks-two-col-form,
    .ks-treatment-options { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .ks-login-brand-panel,
    .ks-login-card-pro,
    .ks-glass-panel,
    .ks-public-hero { border-radius: 22px; padding: 18px; }
    .ks-login-features,
    .ks-case-summary-bar,
    .ks-patient-steps { grid-template-columns: 1fr; }
    .ks-login-brand-panel h1,
    .ks-public-hero h1 { font-size: 32px!important; }
    .ks-staff-portal .ks-main { padding: 14px; }
}

/* =========================================================
   v1.0.9 — Two-Step Application & Payment Flow
   responsive public application/payment/staff improvements
========================================================= */

.ks-application-flow,
.ks-payment-flow,
.ks-staff-portal,
.ks-patient-portal {
    width: min(1180px, calc(100% - 28px));
    max-width: 1180px;
}

.ks-flow-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 18px;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid #dfeaf7;
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 66%, #eef7ff 100%);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.055);
}

.ks-flow-hero h1 {
    margin: 0 0 12px !important;
    color: #173b8f !important;
    font-size: clamp(30px, 4vw, 46px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.04em;
    font-weight: 760 !important;
}

.ks-flow-hero p {
    max-width: 780px;
    margin: 0 !important;
    color: #52627f !important;
    font-size: clamp(14px, 1.6vw, 16px) !important;
    line-height: 1.75 !important;
}

.ks-flow-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}

.ks-flow-steps > div {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid #e4edf8;
    border-radius: 18px;
    background: #ffffff;
    color: #64748b;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.035);
}

.ks-flow-steps strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #eef2ff;
    color: #173b8f;
    font-size: 13px;
}

.ks-flow-steps span {
    min-width: 0;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ks-flow-steps .is-active {
    border-color: rgba(15, 118, 110, 0.28);
    background: #f0fdfa;
    color: #0f766e;
}

.ks-flow-steps .is-active strong {
    background: #0f766e;
    color: #ffffff;
}

.ks-flow-card {
    margin-bottom: 18px;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid #e4edf8;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.048);
}

.ks-flow-section-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 20px;
}

.ks-flow-section-head h2 {
    margin: 0 0 8px !important;
    color: #173b8f !important;
    font-size: clamp(22px, 3vw, 30px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.03em;
}

.ks-flow-section-head p {
    margin: 0 !important;
    color: #5b6b84 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

.ks-reference-card,
.ks-fee-summary,
.ks-selected-payment {
    padding: 18px 20px;
    border: 1px solid #dfeaf7;
    border-radius: 20px;
    background: #fbfdff;
}

.ks-reference-card {
    margin-bottom: 20px;
}

.ks-reference-card--compact {
    margin-bottom: 0;
}

.ks-reference-card span,
.ks-fee-summary span,
.ks-selected-payment span {
    display: block;
    margin-bottom: 8px;
    color: #24669f;
    font-size: 11.5px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ks-reference-card strong,
.ks-fee-summary strong,
.ks-selected-payment strong {
    display: block;
    color: #1264a8;
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.12;
    letter-spacing: -0.035em;
    word-break: break-word;
}

.ks-reference-card small,
.ks-fee-summary small,
.ks-selected-payment small {
    display: block;
    margin-top: 7px;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

.ks-payment-summary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
    gap: 16px;
    margin-bottom: 18px;
}

.ks-payment-method-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.ks-payment-method-card {
    position: relative;
    display: block;
    padding: 22px;
    border: 1px solid #e2eaf6;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.04);
    cursor: pointer;
    transition: all .18s ease;
}

.ks-payment-method-card:hover,
.ks-payment-method-card.is-selected {
    border-color: #0f766e;
    box-shadow: 0 16px 36px rgba(15, 118, 110, 0.11);
}

.ks-payment-method-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ks-payment-method-card span {
    display: block;
    margin-bottom: 10px;
    color: #173b8f;
    font-size: 18px;
    font-weight: 900;
}

.ks-payment-method-card strong {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 9px 13px;
    border-radius: 999px;
    background: #eef7ff;
    color: #1264a8;
    font-size: 16px;
}

.ks-payment-method-card.is-selected strong {
    background: #0f766e;
    color: #ffffff;
}

.ks-payment-method-card small {
    display: block;
    color: #60728b;
    font-size: 13px;
    line-height: 1.65;
}

.ks-bank-details {
    white-space: pre-wrap;
    margin: 14px 0 0;
    padding: 14px;
    border: 1px dashed #b9cce4;
    border-radius: 16px;
    background: #fbfdff;
    color: #334155;
    font-family: inherit;
    font-size: 12.5px;
    line-height: 1.55;
}

.ks-fluent-wrap .fluentform {
    max-width: 100% !important;
}

.ks-fluent-wrap .fluentform .ff-el-group {
    margin-bottom: 16px !important;
}

.ks-fluent-wrap .fluentform input,
.ks-fluent-wrap .fluentform select,
.ks-fluent-wrap .fluentform textarea {
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 14px !important;
    border: 1px solid #d7e2f0 !important;
    background: #fbfdff !important;
    color: #172554 !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.ks-fluent-wrap .fluentform input[readonly] {
    background: #f3f7fd !important;
    cursor: not-allowed;
}

.ks-fluent-helper {
    display: block;
    margin-top: 6px;
    color: #0f766e;
    font-size: 12.5px;
    font-weight: 800;
}

.ks-flow-trust {
    padding: 24px;
    border-radius: 24px;
    background: linear-gradient(135deg, #173b8f, #1264a8);
    color: #ffffff;
    box-shadow: 0 16px 34px rgba(18, 100, 168, 0.14);
}

.ks-flow-trust h3 {
    margin: 0 0 8px !important;
    color: #ffffff !important;
    font-size: 22px !important;
}

.ks-flow-trust p {
    margin: 0 !important;
    color: rgba(255,255,255,.84) !important;
    line-height: 1.7 !important;
}

.ks-staff-login .ks-panel,
.ks-staff-portal .ks-panel,
.ks-patient-portal .ks-panel {
    overflow: hidden;
}

.ks-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ks-table {
    min-width: 760px;
}

.ks-split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 16px;
    align-items: start;
}

.ks-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.ks-sidebar {
    position: sticky;
    top: 18px;
}

@media (max-width: 1024px) {
    .ks-layout,
    .ks-split,
    .ks-payment-summary-grid {
        grid-template-columns: 1fr;
    }

    .ks-sidebar {
        position: relative;
        top: auto;
    }

    .ks-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
}

@media (max-width: 760px) {
    .ks-application-flow,
    .ks-payment-flow,
    .ks-staff-portal,
    .ks-patient-portal {
        width: min(100% - 18px, 1180px);
        padding-left: 0;
        padding-right: 0;
    }

    .ks-flow-steps,
    .ks-payment-method-grid,
    .ks-info-grid,
    .ks-metric-grid,
    .ks-nav {
        grid-template-columns: 1fr !important;
    }

    .ks-flow-card,
    .ks-flow-hero,
    .ks-payment-method-card,
    .ks-reference-card,
    .ks-selected-payment,
    .ks-fee-summary {
        border-radius: 18px;
    }

    .ks-flow-steps span {
        white-space: normal;
    }

    .ks-page-header h1,
    .ks-flow-hero h1 {
        font-size: 30px !important;
    }
}

/* =========================================================
   v1.1.0 — professional public portal corrections
========================================================= */
.ks-application-flow,
.ks-payment-flow,
.ks-patient-portal-v108,
.ks-staff-portal,
.ks-auth-portal-v108 {
    width: min(1440px, calc(100% - 32px));
}
.ks-application-flow,
.ks-payment-flow { max-width: 980px; }
.ks-staff-portal { max-width: 1480px; }
.ks-auth-portal-v108 { max-width: 1180px; }
.ks-intake-fee-panel { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr); gap:16px; margin:0 0 18px; }
.ks-fee-card-large,.ks-fee-note-card { border:1px solid #dfeaf7; border-radius:24px; background:#fff; padding:24px 26px; box-shadow:0 16px 38px rgba(15,23,42,.048); }
.ks-fee-card-large span { display:block; margin-bottom:10px; color:#24669f; font-size:11.5px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.ks-fee-card-large strong { display:block; color:#1264a8; font-size:clamp(32px,4vw,44px); line-height:1.05; letter-spacing:-.04em; }
.ks-fee-card-large small { display:block; margin-top:10px; color:#64748b; font-size:13px; line-height:1.6; }
.ks-fee-card-large b { color:#173b8f; }
.ks-fee-note-card strong { display:block; margin-bottom:8px; color:#173b8f; font-size:18px; }
.ks-fee-note-card p { margin:0!important; color:#607089!important; line-height:1.7!important; }
.ks-flow-steps > div:last-child { background:#f8fbff; }
.ks-flow-steps > div:last-child strong { background:#dbeafe; color:#173b8f; }
.ks-fluent-wrap .fluentform input[type="radio"],
.ks-fluent-wrap .fluentform input[type="checkbox"] { width:auto!important; min-width:18px!important; min-height:18px!important; height:18px!important; padding:0!important; border-radius:50%!important; background:#fff!important; vertical-align:middle; }
.ks-fluent-wrap .fluentform input[type="checkbox"] { border-radius:4px!important; }
.ks-fluent-wrap .ff-el-form-check,
.ks-fluent-wrap .ff-el-form-check-label { display:flex!important; align-items:center!important; gap:8px!important; min-height:auto!important; }
.ks-fluent-wrap .ff-el-form-check-label span,
.ks-fluent-wrap .ff-el-form-check label { line-height:1.45!important; }
.ks-fluent-wrap .ff-el-input--content { max-width:100%!important; }
.ks-staff-portal .ks-shell { grid-template-columns: 280px minmax(0,1fr); }
.ks-staff-portal .ks-main { overflow:hidden; }
.ks-staff-portal .ks-panel { max-width:100%; overflow:hidden; }
.ks-staff-portal .ks-table-wrap { border:1px solid #edf2f7; border-radius:18px; background:#fff; }
.ks-staff-portal .ks-table { min-width: 980px; }
.ks-staff-portal .ks-table td, .ks-staff-portal .ks-table th { word-break:normal; }
.ks-staff-portal .ks-table td strong, .ks-staff-portal .ks-table td small { word-break:break-word; }
.ks-staff-portal .ks-small-button { white-space:normal; text-align:center; min-width:76px; }
.ks-login-features div strong { font-size:13px!important; }
.ks-application-summary-bar { grid-template-columns: repeat(4,minmax(0,1fr)); }
.ks-payment-flow .ks-flow-section-head p { max-width:760px; }
@media (max-width: 1100px) { .ks-intake-fee-panel { grid-template-columns:1fr; } .ks-staff-portal .ks-table { min-width: 860px; } }
@media (max-width: 860px) { .ks-application-flow,.ks-payment-flow,.ks-patient-portal-v108,.ks-staff-portal,.ks-auth-portal-v108 { width:min(100% - 20px, 1440px); } .ks-staff-portal .ks-shell { grid-template-columns:1fr; } .ks-application-summary-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .ks-flow-steps { gap:8px; } .ks-flow-steps > div { padding:12px; } .ks-fee-card-large,.ks-fee-note-card{padding:20px;border-radius:20px}.ks-application-summary-bar{grid-template-columns:1fr}.ks-payment-method-card{padding:18px}.ks-staff-portal .ks-table{min-width:760px} }

/* =========================================================
   v1.1.2 — Responsive Light Staff Portal Rebuild
   Açık tema, mobil uyumlu navigasyon, tablo -> kart dönüşümü
========================================================= */
.ks-staff-portal {
    --ks-sp-bg: #f5f8fc;
    --ks-sp-soft: #f8fbff;
    --ks-sp-surface: #ffffff;
    --ks-sp-line: #dfe9f5;
    --ks-sp-line-strong: #cbdced;
    --ks-sp-text: #10233f;
    --ks-sp-muted: #61758d;
    --ks-sp-muted-2: #8a9aad;
    --ks-sp-primary: #1264a8;
    --ks-sp-primary-2: #0f4f86;
    --ks-sp-teal: #0f8a83;
    --ks-sp-success: #166534;
    --ks-sp-success-bg: #e9f9ef;
    --ks-sp-warn: #92400e;
    --ks-sp-warn-bg: #fff7df;
    --ks-sp-info: #1e40af;
    --ks-sp-info-bg: #e8f0ff;
    --ks-sp-danger: #991b1b;
    --ks-sp-danger-bg: #fff0f0;
    --ks-sp-radius-xl: 24px;
    --ks-sp-radius-lg: 18px;
    --ks-sp-shadow: 0 18px 46px rgba(16, 32, 51, .065);

    width: calc(100vw - 32px) !important;
    max-width: 1500px !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 auto 56px !important;
    padding: 16px !important;
    color: var(--ks-sp-text) !important;
    background:
        radial-gradient(circle at top left, rgba(18,100,168,.055), transparent 30%),
        radial-gradient(circle at top right, rgba(15,138,131,.05), transparent 24%),
        linear-gradient(180deg,#fbfdff 0%, var(--ks-sp-bg) 100%) !important;
    border: 1px solid rgba(223,233,245,.9) !important;
    border-radius: 28px !important;
    box-shadow: 0 22px 70px rgba(16, 32, 51, .055) !important;
    overflow: visible !important;
}

.ks-staff-portal,
.ks-staff-portal * {
    box-sizing: border-box !important;
}

.ks-staff-portal * {
    max-width: 100%;
}

.ks-staff-portal .ks-page-header {
    background: rgba(255,255,255,.92) !important;
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: var(--ks-sp-radius-xl) !important;
    box-shadow: 0 10px 28px rgba(16,32,51,.045) !important;
    padding: 24px 28px !important;
    margin: 0 0 18px !important;
}

.ks-staff-portal .ks-page-header h1,
.ks-staff-portal .ks-page-header h2,
.ks-staff-portal .ks-section-head h2,
.ks-staff-portal .ks-panel-title h3 {
    color: var(--ks-sp-text) !important;
    letter-spacing: -.03em !important;
}

.ks-staff-portal .ks-page-header p,
.ks-staff-portal .ks-section-head p,
.ks-staff-portal .ks-panel-title p {
    color: var(--ks-sp-muted) !important;
}

.ks-staff-portal .ks-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-bottom: 10px !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    background: rgba(15,138,131,.09) !important;
    color: var(--ks-sp-teal) !important;
    border: 1px solid rgba(15,138,131,.10) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

.ks-staff-portal .ks-layout {
    display: grid !important;
    grid-template-columns: 268px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
}

.ks-staff-portal .ks-sidebar {
    position: sticky !important;
    top: 18px !important;
    align-self: start !important;
    min-width: 0 !important;
    background: rgba(255,255,255,.94) !important;
    color: var(--ks-sp-text) !important;
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 34px rgba(16,32,51,.045) !important;
    padding: 16px !important;
    overflow: hidden !important;
}

.ks-staff-portal .ks-sidebar-brand {
    padding: 0 0 14px !important;
    margin: 0 0 14px !important;
    border-bottom: 1px solid var(--ks-sp-line) !important;
}

.ks-staff-portal .ks-sidebar-brand strong,
.ks-staff-portal .ks-sidebar-brand span,
.ks-staff-portal .ks-sidebar-brand em,
.ks-staff-portal .ks-sidebar h2,
.ks-staff-portal .ks-sidebar p {
    color: var(--ks-sp-text) !important;
}

.ks-staff-portal .ks-sidebar-brand strong {
    display: block !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

.ks-staff-portal .ks-sidebar-brand span,
.ks-staff-portal .ks-sidebar-brand em {
    display: block !important;
    margin-top: 4px !important;
    color: var(--ks-sp-muted) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-style: normal !important;
}

.ks-staff-portal .ks-nav {
    display: grid !important;
    gap: 7px !important;
}

.ks-staff-portal .ks-nav a {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;
    background: transparent !important;
    color: var(--ks-sp-text) !important;
    border: 1px solid transparent !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-align: left !important;
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease !important;
}

.ks-staff-portal .ks-nav a:hover,
.ks-staff-portal .ks-nav a.is-active {
    background: linear-gradient(135deg, rgba(18,100,168,.10), rgba(15,138,131,.06)) !important;
    color: var(--ks-sp-primary) !important;
    border-color: rgba(18,100,168,.12) !important;
}

.ks-staff-portal .ks-sidebar-logout {
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--ks-sp-line) !important;
}

.ks-staff-portal .ks-sidebar-logout button {
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: 15px !important;
    background: var(--ks-sp-soft) !important;
    color: var(--ks-sp-primary) !important;
    font-weight: 850 !important;
    box-shadow: none !important;
}

.ks-staff-portal .ks-sidebar-logout button:hover {
    background: rgba(18,100,168,.08) !important;
}

.ks-staff-portal .ks-mobile-tabs {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    padding: 6px 2px 10px !important;
}

.ks-staff-portal .ks-mobile-tabs a {
    flex: 0 0 auto !important;
    min-height: 42px !important;
    min-width: 86px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 12px !important;
    border-radius: 999px !important;
    border: 1px solid var(--ks-sp-line) !important;
    background: #fff !important;
    color: var(--ks-sp-text) !important;
    font-size: 12.5px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.ks-staff-portal .ks-mobile-tabs a.is-active {
    background: linear-gradient(135deg, rgba(18,100,168,.12), rgba(15,138,131,.08)) !important;
    border-color: rgba(18,100,168,.18) !important;
    color: var(--ks-sp-primary) !important;
}

.ks-staff-portal .ks-main {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.ks-staff-portal .ks-section-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 14px !important;
    padding: 20px 22px !important;
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 8px 24px rgba(16,32,51,.04) !important;
}

.ks-staff-portal .ks-section-head h2 {
    margin: 0 0 6px !important;
    font-size: clamp(22px, 2.2vw, 30px) !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
}

.ks-staff-portal .ks-section-head p {
    margin: 0 !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
}

.ks-staff-portal .ks-metric-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
}

.ks-staff-portal .ks-metric-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ks-staff-portal .ks-metric-card,
.ks-staff-portal .ks-panel,
.ks-staff-portal .ks-detail-panel,
.ks-staff-portal .ks-alert {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 24px rgba(16,32,51,.04) !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.ks-staff-portal .ks-metric-card {
    padding: 18px !important;
}

.ks-staff-portal .ks-metric-card span {
    display: block !important;
    color: var(--ks-sp-muted) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

.ks-staff-portal .ks-metric-card strong {
    display: block !important;
    margin: 8px 0 4px !important;
    color: var(--ks-sp-text) !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    letter-spacing: -.035em !important;
}

.ks-staff-portal .ks-metric-card small {
    display: block !important;
    color: var(--ks-sp-muted) !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

.ks-staff-portal .ks-panel {
    padding: 18px !important;
    margin-bottom: 14px !important;
}

.ks-staff-portal .ks-panel-title {
    margin-bottom: 14px !important;
}

.ks-staff-portal .ks-panel-title h3 {
    margin: 0 0 5px !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

.ks-staff-portal .ks-panel-title p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.ks-staff-portal .ks-filter-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
}

.ks-staff-portal .ks-filter-bar a {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 13px !important;
    border-radius: 999px !important;
    border: 1px solid var(--ks-sp-line) !important;
    background: #fff !important;
    color: var(--ks-sp-muted) !important;
    font-size: 12.5px !important;
    font-weight: 850 !important;
}

.ks-staff-portal .ks-filter-bar a.is-active,
.ks-staff-portal .ks-filter-bar a:hover {
    background: rgba(18,100,168,.08) !important;
    border-color: rgba(18,100,168,.16) !important;
    color: var(--ks-sp-primary) !important;
}

.ks-staff-portal .ks-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
}

.ks-staff-portal .ks-table {
    width: 100% !important;
    min-width: 920px !important;
    border-collapse: collapse !important;
    table-layout: auto !important;
}

.ks-staff-portal .ks-table th {
    padding: 13px 14px !important;
    background: var(--ks-sp-soft) !important;
    color: var(--ks-sp-muted) !important;
    border-bottom: 1px solid var(--ks-sp-line) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.ks-staff-portal .ks-table td {
    padding: 14px !important;
    border-bottom: 1px solid #edf3fa !important;
    color: var(--ks-sp-text) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    vertical-align: top !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-table td strong {
    color: var(--ks-sp-text) !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-table td small {
    display: block !important;
    margin-top: 4px !important;
    color: var(--ks-sp-muted) !important;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-table tr:hover td,
.ks-staff-portal .ks-table tr.is-selected td {
    background: rgba(18,100,168,.035) !important;
}

.ks-staff-portal .ks-badge {
    display: inline-flex !important;
    align-items: center !important;
    max-width: 100% !important;
    min-height: 28px !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.25 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

.ks-staff-portal .ks-badge--success { background: var(--ks-sp-success-bg) !important; color: var(--ks-sp-success) !important; border: 1px solid rgba(22,101,52,.12) !important; }
.ks-staff-portal .ks-badge--warning { background: var(--ks-sp-warn-bg) !important; color: var(--ks-sp-warn) !important; border: 1px solid rgba(146,64,14,.12) !important; }
.ks-staff-portal .ks-badge--info { background: var(--ks-sp-info-bg) !important; color: var(--ks-sp-info) !important; border: 1px solid rgba(30,64,175,.12) !important; }
.ks-staff-portal .ks-badge--danger { background: var(--ks-sp-danger-bg) !important; color: var(--ks-sp-danger) !important; border: 1px solid rgba(153,27,27,.12) !important; }
.ks-staff-portal .ks-badge--neutral { background: #f1f5f9 !important; color: #475569 !important; border: 1px solid #e2e8f0 !important; }

.ks-staff-portal .ks-small-button,
.ks-staff-portal .ks-primary-button,
.ks-staff-portal .ks-secondary-button,
.ks-staff-portal .ks-danger-button,
.ks-staff-portal .ks-full-button,
.ks-staff-portal button[type="submit"] {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    border: 1px solid var(--ks-sp-line) !important;
    background: #fff !important;
    color: var(--ks-sp-primary) !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.ks-staff-portal .ks-primary-button,
.ks-staff-portal button[type="submit"].ks-primary-button {
    background: linear-gradient(180deg, var(--ks-sp-primary), var(--ks-sp-primary-2)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 10px 22px rgba(18,100,168,.16) !important;
}

.ks-staff-portal .ks-danger-button {
    color: var(--ks-sp-danger) !important;
    border-color: rgba(153,27,27,.16) !important;
    background: #fff !important;
}

.ks-staff-portal .ks-payments-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr) !important;
    gap: 14px !important;
    align-items: start !important;
    max-width: 100% !important;
}

.ks-staff-portal .ks-detail-panel {
    padding: 18px !important;
    position: sticky !important;
    top: 18px !important;
}

.ks-staff-portal .ks-detail-list {
    display: grid !important;
    gap: 10px !important;
}

.ks-staff-portal .ks-detail-list > div {
    padding: 12px !important;
    border: 1px solid var(--ks-sp-line) !important;
    background: var(--ks-sp-soft) !important;
    border-radius: 16px !important;
}

.ks-staff-portal .ks-detail-list span {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--ks-sp-muted) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: .045em !important;
    font-weight: 850 !important;
}

.ks-staff-portal .ks-detail-list strong {
    display: block !important;
    color: var(--ks-sp-text) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-action-area,
.ks-staff-portal .ks-action-form {
    display: grid !important;
    gap: 12px !important;
}

.ks-staff-portal .ks-action-area {
    margin-top: 14px !important;
}

.ks-staff-portal .ks-action-form label,
.ks-staff-portal .ks-clean-form label {
    display: grid !important;
    gap: 7px !important;
    color: var(--ks-sp-text) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

.ks-staff-portal input[type="text"],
.ks-staff-portal input[type="email"],
.ks-staff-portal input[type="password"],
.ks-staff-portal textarea,
.ks-staff-portal select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 11px 12px !important;
    border: 1px solid var(--ks-sp-line-strong) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--ks-sp-text) !important;
    font-size: 14px !important;
    box-shadow: none !important;
    outline: none !important;
}

.ks-staff-portal textarea {
    min-height: 92px !important;
    resize: vertical !important;
}

.ks-staff-portal input:focus,
.ks-staff-portal textarea:focus,
.ks-staff-portal select:focus {
    border-color: rgba(18,100,168,.45) !important;
    box-shadow: 0 0 0 4px rgba(18,100,168,.08) !important;
}

.ks-staff-portal .ks-empty {
    margin: 0 !important;
    padding: 18px !important;
    border: 1px dashed var(--ks-sp-line-strong) !important;
    border-radius: 18px !important;
    background: var(--ks-sp-soft) !important;
    color: var(--ks-sp-muted) !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
}

.ks-staff-portal .ks-alert {
    padding: 15px 16px !important;
    margin: 0 0 14px !important;
}

.ks-staff-portal .ks-alert strong {
    display: block !important;
    color: var(--ks-sp-text) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.ks-staff-portal .ks-alert p {
    margin: 5px 0 0 !important;
    color: var(--ks-sp-muted) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.ks-staff-portal .ks-operation-bridge {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.ks-staff-portal .ks-operation-bridge .wrap,
.ks-staff-portal .ks-operation-bridge .ks-admin-page,
.ks-staff-portal .ks-operation-bridge .cha-pcm-admin-page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.ks-staff-portal .ks-operation-bridge table {
    max-width: 100% !important;
}

@media (max-width: 1180px) {
    .ks-staff-portal {
        width: calc(100vw - 24px) !important;
        padding: 14px !important;
        border-radius: 24px !important;
    }

    .ks-staff-portal .ks-layout {
        grid-template-columns: 232px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .ks-staff-portal .ks-metric-grid,
    .ks-staff-portal .ks-metric-grid--three {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ks-staff-portal .ks-payments-layout {
        grid-template-columns: 1fr !important;
    }

    .ks-staff-portal .ks-detail-panel {
        position: relative !important;
        top: auto !important;
    }
}

@media (max-width: 860px) {
    .ks-staff-portal {
        width: calc(100vw - 16px) !important;
        padding: 10px !important;
        border-radius: 22px !important;
        margin-bottom: 38px !important;
    }

    .ks-staff-portal .ks-page-header {
        padding: 20px !important;
        border-radius: 22px !important;
    }

    .ks-staff-portal .ks-layout {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .ks-staff-portal .ks-sidebar {
        position: relative !important;
        top: auto !important;
        padding: 14px !important;
        border-radius: 22px !important;
    }

    .ks-staff-portal .ks-sidebar .ks-nav {
        display: none !important;
    }

    .ks-staff-portal .ks-sidebar-logout {
        margin-top: 10px !important;
        padding-top: 10px !important;
    }

    .ks-staff-portal .ks-mobile-tabs {
        display: flex !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 30 !important;
        background: rgba(245,248,252,.94) !important;
        backdrop-filter: blur(10px) !important;
        border-radius: 18px !important;
    }

    .ks-staff-portal .ks-main {
        padding: 0 !important;
    }

    .ks-staff-portal .ks-section-head {
        display: block !important;
        padding: 18px !important;
        border-radius: 22px !important;
    }

    .ks-staff-portal .ks-section-head h2 {
        font-size: 24px !important;
    }

    .ks-staff-portal .ks-panel {
        padding: 14px !important;
        border-radius: 20px !important;
    }

    .ks-staff-portal .ks-table-wrap {
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
        border-radius: 0 !important;
    }

    .ks-staff-portal .ks-table,
    .ks-staff-portal .ks-table thead,
    .ks-staff-portal .ks-table tbody,
    .ks-staff-portal .ks-table tr,
    .ks-staff-portal .ks-table td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .ks-staff-portal .ks-table thead {
        display: none !important;
    }

    .ks-staff-portal .ks-table tr {
        margin: 0 0 12px !important;
        padding: 13px !important;
        border: 1px solid var(--ks-sp-line) !important;
        border-radius: 18px !important;
        background: #fff !important;
        box-shadow: 0 8px 22px rgba(16,32,51,.035) !important;
    }

    .ks-staff-portal .ks-table td {
        display: grid !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: start !important;
        padding: 9px 0 !important;
        border-bottom: 1px dashed #e7eef7 !important;
        font-size: 13px !important;
    }

    .ks-staff-portal .ks-table td:last-child {
        border-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .ks-staff-portal .ks-table td::before {
        content: "Bilgi" !important;
        color: var(--ks-sp-muted) !important;
        font-size: 11px !important;
        line-height: 1.25 !important;
        font-weight: 850 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    .ks-staff-portal .ks-table--dashboard td:nth-child(1)::before { content: "Referans" !important; }
    .ks-staff-portal .ks-table--dashboard td:nth-child(2)::before { content: "Hasta" !important; }
    .ks-staff-portal .ks-table--dashboard td:nth-child(3)::before { content: "E-posta" !important; }
    .ks-staff-portal .ks-table--dashboard td:nth-child(4)::before { content: "Başvuru" !important; }
    .ks-staff-portal .ks-table--dashboard td:nth-child(5)::before { content: "Ödeme" !important; }
    .ks-staff-portal .ks-table--dashboard td:nth-child(6)::before { content: "Tarih" !important; }

    .ks-staff-portal .ks-table--applications td:nth-child(1)::before { content: "Başvuru Ref" !important; }
    .ks-staff-portal .ks-table--applications td:nth-child(2)::before { content: "Hasta" !important; }
    .ks-staff-portal .ks-table--applications td:nth-child(3)::before { content: "E-posta" !important; }
    .ks-staff-portal .ks-table--applications td:nth-child(4)::before { content: "Telefon" !important; }
    .ks-staff-portal .ks-table--applications td:nth-child(5)::before { content: "Başvuru" !important; }
    .ks-staff-portal .ks-table--applications td:nth-child(6)::before { content: "Ödeme" !important; }
    .ks-staff-portal .ks-table--applications td:nth-child(7)::before { content: "Tarih" !important; }

    .ks-staff-portal .ks-table--payments td:nth-child(1)::before { content: "Hasta" !important; }
    .ks-staff-portal .ks-table--payments td:nth-child(2)::before { content: "Başvuru Ref" !important; }
    .ks-staff-portal .ks-table--payments td:nth-child(3)::before { content: "Dosya No" !important; }
    .ks-staff-portal .ks-table--payments td:nth-child(4)::before { content: "Tutar" !important; }
    .ks-staff-portal .ks-table--payments td:nth-child(5)::before { content: "Durum" !important; }
    .ks-staff-portal .ks-table--payments td:nth-child(6)::before { content: "Tarih" !important; }
    .ks-staff-portal .ks-table--payments td:nth-child(7)::before { content: "İşlem" !important; }

    .ks-staff-portal .ks-table--cases td:nth-child(1)::before { content: "Dosya No" !important; }
    .ks-staff-portal .ks-table--cases td:nth-child(2)::before { content: "Hasta" !important; }
    .ks-staff-portal .ks-table--cases td:nth-child(3)::before { content: "E-posta" !important; }
    .ks-staff-portal .ks-table--cases td:nth-child(4)::before { content: "Dosya Durumu" !important; }
    .ks-staff-portal .ks-table--cases td:nth-child(5)::before { content: "Ödeme" !important; }
    .ks-staff-portal .ks-table--cases td:nth-child(6)::before { content: "Tarih" !important; }
    .ks-staff-portal .ks-table--cases td:nth-child(7)::before { content: "İşlem" !important; }

    .ks-staff-portal .ks-small-button,
    .ks-staff-portal .ks-primary-button,
    .ks-staff-portal .ks-secondary-button,
    .ks-staff-portal .ks-danger-button,
    .ks-staff-portal .ks-full-button,
    .ks-staff-portal button[type="submit"] {
        width: 100% !important;
        white-space: normal !important;
    }
}

@media (max-width: 560px) {
    .ks-staff-portal {
        width: calc(100vw - 10px) !important;
        padding: 6px !important;
        border-radius: 18px !important;
        border-left: 0 !important;
        border-right: 0 !important;
        background: linear-gradient(180deg,#fbfdff 0%, #f5f8fc 100%) !important;
    }

    .ks-staff-portal .ks-page-header {
        padding: 18px !important;
        border-radius: 18px !important;
    }

    .ks-staff-portal .ks-page-header h1 {
        font-size: 25px !important;
        line-height: 1.16 !important;
    }

    .ks-staff-portal .ks-sidebar {
        padding: 12px !important;
        border-radius: 18px !important;
    }

    .ks-staff-portal .ks-sidebar-brand strong {
        font-size: 14px !important;
    }

    .ks-staff-portal .ks-mobile-tabs {
        margin-left: -2px !important;
        margin-right: -2px !important;
    }

    .ks-staff-portal .ks-mobile-tabs a {
        min-width: 78px !important;
        min-height: 40px !important;
        padding: 8px 11px !important;
        font-size: 12px !important;
    }

    .ks-staff-portal .ks-section-head,
    .ks-staff-portal .ks-panel,
    .ks-staff-portal .ks-metric-card,
    .ks-staff-portal .ks-detail-panel {
        border-radius: 18px !important;
    }

    .ks-staff-portal .ks-section-head {
        padding: 16px !important;
    }

    .ks-staff-portal .ks-section-head h2 {
        font-size: 22px !important;
    }

    .ks-staff-portal .ks-metric-grid,
    .ks-staff-portal .ks-metric-grid--three {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .ks-staff-portal .ks-metric-card {
        padding: 16px !important;
    }

    .ks-staff-portal .ks-metric-card strong {
        font-size: 28px !important;
    }

    .ks-staff-portal .ks-panel {
        padding: 12px !important;
    }

    .ks-staff-portal .ks-table tr {
        padding: 12px !important;
        border-radius: 16px !important;
    }

    .ks-staff-portal .ks-table td {
        grid-template-columns: 1fr !important;
        gap: 5px !important;
        padding: 10px 0 !important;
    }

    .ks-staff-portal .ks-table td::before {
        font-size: 10.5px !important;
    }

    .ks-staff-portal .ks-detail-list > div {
        padding: 11px !important;
        border-radius: 14px !important;
    }
}


/* =========================================================
   v1.1.3 — Staff Portal Stability + Case Detail Responsive Fix
   Purpose: remove layout drift, prevent narrow right-column squeeze,
   and make staff portal behave as a real responsive light app shell.
========================================================= */
.ks-staff-portal,
.ks-staff-portal * { box-sizing: border-box !important; }

.ks-staff-portal {
    width: min(100% - 24px, 1540px) !important;
    max-width: 1540px !important;
    margin: clamp(14px, 2vw, 26px) auto 60px !important;
    overflow: visible !important;
}

.ks-staff-portal .ks-layout {
    display: grid !important;
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
    max-width: 100% !important;
}

.ks-staff-portal .ks-sidebar {
    position: sticky !important;
    top: 18px !important;
    align-self: start !important;
    background: rgba(255,255,255,.96) !important;
}

.ks-staff-portal .ks-main,
.ks-staff-portal .ks-panel,
.ks-staff-portal .ks-detail-panel,
.ks-staff-portal .ks-operation-bridge {
    min-width: 0 !important;
}

.ks-staff-portal .ks-payments-layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 400px) !important;
}

.ks-staff-portal .ks-table--payments { min-width: 720px !important; }
.ks-staff-portal .ks-table--cases { min-width: 780px !important; }
.ks-staff-portal .ks-table--applications { min-width: 760px !important; }
.ks-staff-portal .ks-table--dashboard { min-width: 720px !important; }

/* Case detail imported from the internal admin view must not keep admin two/three-column behavior. */
.ks-staff-portal .ks-operation-bridge .wrap,
.ks-staff-portal .ks-operation-bridge .cha-pcm-admin,
.ks-staff-portal .ks-operation-bridge .cha-pcm-admin-v107 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-page-head {
    display: none !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 12px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-card,
.ks-staff-portal .ks-operation-bridge .cha-pcm-panel,
.ks-staff-portal .ks-operation-bridge .cha-pcm-details {
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 8px 24px rgba(16,32,51,.04) !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout,
.ks-staff-portal .ks-operation-bridge .cha-pcm-admin-v107 .cha-pcm-main-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: start !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > main,
.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside {
    min-width: 0 !important;
    width: 100% !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside,
.ks-staff-portal .ks-operation-bridge .cha-pcm-admin-v107 .cha-pcm-main-layout aside {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions,
.ks-staff-portal .ks-operation-bridge .cha-pcm-option-grid,
.ks-staff-portal .ks-operation-bridge .cha-pcm-form-grid,
.ks-staff-portal .ks-operation-bridge .cha-pcm-form-grid.compact {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    gap: 12px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions .cha-pcm-action-form,
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions .cha-pcm-action-form:first-child,
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions .cha-pcm-action-form:last-child {
    grid-column: auto !important;
    min-width: 0 !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row h2 {
    margin: 0 0 8px !important;
    color: var(--ks-sp-text) !important;
    font-size: clamp(18px, 1.45vw, 23px) !important;
    line-height: 1.22 !important;
    font-weight: 850 !important;
    word-spacing: normal !important;
    letter-spacing: -.02em !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row p,
.ks-staff-portal .ks-operation-bridge .cha-pcm-card p,
.ks-staff-portal .ks-operation-bridge .cha-pcm-current-record span {
    color: var(--ks-sp-muted) !important;
    font-size: 13.5px !important;
    line-height: 1.58 !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-stage-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-stage-item {
    margin: 0 !important;
    white-space: normal !important;
    line-height: 1.25 !important;
}

.ks-staff-portal .ks-operation-bridge .widefat,
.ks-staff-portal .ks-operation-bridge table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-table-responsive,
.ks-staff-portal .ks-operation-bridge .cha-pcm-details-body {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 1280px) {
    .ks-staff-portal .ks-payments-layout { grid-template-columns: 1fr !important; }
    .ks-staff-portal .ks-detail-panel { position: relative !important; top: auto !important; }
}

@media (max-width: 980px) {
    .ks-staff-portal { width: min(100% - 16px, 1540px) !important; padding: 10px !important; }
    .ks-staff-portal .ks-layout { grid-template-columns: 1fr !important; }
    .ks-staff-portal .ks-sidebar { position: relative !important; top: auto !important; }
    .ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-admin-v107 .cha-pcm-main-layout aside,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-option-grid,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-form-grid,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-form-grid.compact {
        grid-template-columns: 1fr !important;
    }
    .ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row { display: block !important; }
}

@media (max-width: 560px) {
    .ks-staff-portal { width: 100% !important; margin: 8px auto 48px !important; border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; }
    .ks-staff-portal .ks-section-head,
    .ks-staff-portal .ks-panel,
    .ks-staff-portal .ks-detail-panel,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-panel,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-card,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-details {
        border-radius: 17px !important;
    }
    .ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-option-grid,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-form-grid,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-form-grid.compact {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* =========================================================
   v1.1.4 — Staff Portal Visual Stabilization
   Desktop payment cards, compact case detail, no table squeeze
========================================================= */
.ks-staff-portal {
    max-width: 1580px !important;
}

.ks-staff-portal .ks-page-header--compact {
    padding: 22px 26px !important;
    margin-bottom: 16px !important;
}

.ks-staff-portal .ks-page-header h1 {
    font-size: clamp(26px, 2.6vw, 34px) !important;
    line-height: 1.12 !important;
}

.ks-staff-portal .ks-layout {
    grid-template-columns: 248px minmax(0, 1fr) !important;
    gap: 16px !important;
}

.ks-staff-portal .ks-sidebar {
    padding: 14px !important;
}

.ks-staff-portal .ks-nav a {
    font-size: 12.8px !important;
    min-height: 42px !important;
    padding: 9px 11px !important;
}

.ks-staff-portal .ks-section-head {
    padding: 18px 20px !important;
    margin-bottom: 12px !important;
}

.ks-staff-portal .ks-section-head h2 {
    font-size: clamp(22px, 2vw, 28px) !important;
}

.ks-staff-portal .ks-panel {
    padding: 16px !important;
}

.ks-staff-portal .ks-payments-clean-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 370px) !important;
    gap: 16px !important;
    align-items: start !important;
}

.ks-staff-portal .ks-payment-list-panel {
    min-width: 0 !important;
    overflow: visible !important;
}

.ks-staff-portal .ks-payment-cards {
    display: grid !important;
    gap: 10px !important;
}

.ks-staff-portal .ks-payment-item {
    display: block !important;
    padding: 14px !important;
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(16, 32, 51, .035) !important;
    color: var(--ks-sp-text) !important;
    text-decoration: none !important;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.ks-staff-portal .ks-payment-item:hover,
.ks-staff-portal .ks-payment-item.is-selected {
    border-color: rgba(18,100,168,.22) !important;
    background: linear-gradient(135deg, rgba(18,100,168,.055), rgba(15,138,131,.035)), #ffffff !important;
    box-shadow: 0 10px 24px rgba(16, 32, 51, .055) !important;
}

.ks-staff-portal .ks-payment-item__head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 9px !important;
}

.ks-staff-portal .ks-payment-item__head strong {
    display: block !important;
    color: var(--ks-sp-text) !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

.ks-staff-portal .ks-payment-item__head span {
    display: block !important;
    margin-top: 3px !important;
    color: var(--ks-sp-muted) !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-payment-item__ref {
    margin: 0 0 10px !important;
    padding: 9px 10px !important;
    border-radius: 13px !important;
    background: var(--ks-sp-soft) !important;
    border: 1px solid var(--ks-sp-line) !important;
    color: var(--ks-sp-primary) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-payment-item__meta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.ks-staff-portal .ks-payment-item__meta span {
    min-width: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--ks-sp-line) !important;
    border-radius: 13px !important;
    background: #fbfdff !important;
}

.ks-staff-portal .ks-payment-item__meta em {
    display: block !important;
    margin-bottom: 4px !important;
    color: var(--ks-sp-muted) !important;
    font-style: normal !important;
    font-size: 10.5px !important;
    text-transform: uppercase !important;
    letter-spacing: .045em !important;
    font-weight: 850 !important;
}

.ks-staff-portal .ks-payment-item__meta b {
    display: block !important;
    color: var(--ks-sp-text) !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-detail-panel {
    position: sticky !important;
    top: 18px !important;
    max-height: calc(100vh - 36px) !important;
    overflow: auto !important;
}

.ks-staff-portal .ks-detail-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

.ks-staff-portal .ks-detail-list > div {
    padding: 12px !important;
    border-radius: 15px !important;
}

.ks-staff-portal .ks-detail-list strong {
    font-size: 12.7px !important;
    line-height: 1.38 !important;
}

.ks-staff-portal .ks-badge {
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.2 !important;
    max-width: 118px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-page-head,
.ks-staff-portal .ks-operation-bridge .cha-pcm-version {
    display: none !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-card {
    padding: 14px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-card strong {
    display: block !important;
    color: var(--ks-sp-text) !important;
    font-size: clamp(16px, 1.35vw, 22px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.03em !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-card p {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-panel {
    padding: 18px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-panel h2 {
    font-size: 19px !important;
    line-height: 1.22 !important;
    letter-spacing: -.025em !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row {
    gap: 12px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: start !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside > * {
    min-width: 0 !important;
    margin: 0 !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions,
.ks-staff-portal .ks-operation-bridge .cha-pcm-form-grid,
.ks-staff-portal .ks-operation-bridge .cha-pcm-option-grid,
.ks-staff-portal .ks-operation-bridge .cha-pcm-history-grid {
    min-width: 0 !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions form:last-child {
    grid-column: 1 / -1 !important;
}

.ks-staff-portal .ks-operation-bridge .widefat,
.ks-staff-portal .ks-operation-bridge table {
    width: 100% !important;
    table-layout: auto !important;
}

.ks-staff-portal .ks-operation-bridge th,
.ks-staff-portal .ks-operation-bridge td {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 1280px) {
    .ks-staff-portal .ks-payments-clean-layout {
        grid-template-columns: minmax(0, 1fr) minmax(290px, 340px) !important;
    }

    .ks-staff-portal .ks-payment-item__meta {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ks-staff-portal .ks-payment-item__meta span:first-child {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 1080px) {
    .ks-staff-portal .ks-layout,
    .ks-staff-portal .ks-payments-clean-layout {
        grid-template-columns: 1fr !important;
    }

    .ks-staff-portal .ks-sidebar {
        position: relative !important;
        top: auto !important;
    }

    .ks-staff-portal .ks-detail-panel {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }

    .ks-staff-portal .ks-operation-bridge .cha-pcm-summary-grid,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .ks-staff-portal .ks-payment-item__head,
    .ks-staff-portal .ks-section-head,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row {
        display: block !important;
    }

    .ks-staff-portal .ks-payment-item__head .ks-badge {
        margin-top: 8px !important;
    }

    .ks-staff-portal .ks-payment-item__meta,
    .ks-staff-portal .ks-detail-list,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-summary-grid,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions {
        grid-template-columns: 1fr !important;
    }

    .ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions form:last-child {
        grid-column: auto !important;
    }
}

/* =========================================================
   v1.1.5 — Staff/Patient Messaging Coordination
========================================================= */
.ks-staff-portal .ks-message-console{
    display:grid;
    grid-template-columns:minmax(280px,360px) minmax(0,1fr);
    gap:18px;
    align-items:start;
}
.ks-staff-portal .ks-thread-panel,
.ks-staff-portal .ks-conversation-panel{min-width:0;}
.ks-staff-portal .ks-thread-list{
    display:grid;
    gap:10px;
}
.ks-staff-portal .ks-thread-item{
    display:grid;
    gap:8px;
    padding:14px;
    border:1px solid #dce8f6;
    border-radius:18px;
    background:#ffffff;
    color:#0b2852;
    box-shadow:0 8px 20px rgba(16,45,82,.035);
    transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.ks-staff-portal .ks-thread-item:hover,
.ks-staff-portal .ks-thread-item.is-selected{
    background:#f4f9ff;
    border-color:#b8d5ef;
    box-shadow:0 12px 28px rgba(18,100,168,.08);
    transform:translateY(-1px);
}
.ks-staff-portal .ks-thread-item > div{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}
.ks-staff-portal .ks-thread-item strong{
    font-size:14px;
    line-height:1.3;
    color:#0b2852;
    overflow-wrap:anywhere;
}
.ks-staff-portal .ks-thread-item span,
.ks-staff-portal .ks-thread-item small{
    font-size:12px;
    color:#60728b;
    overflow-wrap:anywhere;
}
.ks-staff-portal .ks-thread-item p{
    margin:0!important;
    color:#485f7b;
    font-size:13px;
    line-height:1.45;
}
.ks-staff-portal .ks-thread-item em{
    justify-self:start;
    min-width:24px;
    height:24px;
    padding:0 7px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#dcfce7;
    color:#166534;
    font-size:12px;
    font-style:normal;
    font-weight:800;
}
.ks-staff-portal .ks-conversation-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    padding:16px 16px 14px;
    border-bottom:1px solid #e4edf8;
}
.ks-staff-portal .ks-conversation-head h3{
    margin:0 0 4px!important;
    color:#0b2852;
    font-size:20px!important;
    line-height:1.22!important;
    letter-spacing:-.02em;
}
.ks-staff-portal .ks-conversation-head p{
    margin:0!important;
    color:#60728b;
    font-size:13px;
    overflow-wrap:anywhere;
}
.ks-staff-portal .ks-conversation-body{
    padding:16px;
    display:flex;
    flex-direction:column;
    gap:12px;
    max-height:520px;
    overflow:auto;
    background:linear-gradient(180deg,#fbfdff 0%,#ffffff 100%);
}
.ks-staff-portal .ks-conversation-bubble{
    width:min(86%,680px);
    padding:12px 14px;
    border-radius:18px;
    border:1px solid #e2ebf6;
    background:#ffffff;
    box-shadow:0 6px 16px rgba(16,45,82,.035);
}
.ks-staff-portal .ks-conversation-bubble--staff{
    margin-left:auto;
    background:#eef7ff;
    border-color:#cfe4f7;
}
.ks-staff-portal .ks-conversation-bubble--patient{
    margin-right:auto;
    background:#f8fbff;
}
.ks-staff-portal .ks-conversation-bubble span{
    display:block;
    margin-bottom:4px;
    font-size:12px;
    font-weight:800;
    color:#1264a8;
}
.ks-staff-portal .ks-conversation-bubble p{
    margin:0!important;
    color:#203a57;
    font-size:14px;
    line-height:1.55;
    overflow-wrap:anywhere;
}
.ks-staff-portal .ks-conversation-bubble small{
    display:block;
    margin-top:6px;
    color:#8ca0b8;
    font-size:11px;
}
.ks-staff-portal .ks-message-compose{
    padding:16px;
    border-top:1px solid #e4edf8;
    background:#ffffff;
}
.ks-staff-portal .ks-message-compose label{
    display:block;
    margin-bottom:12px;
}
.ks-staff-portal .ks-message-compose label span{
    display:block;
    margin-bottom:7px;
    font-size:13px;
    font-weight:800;
    color:#173f78;
}
.ks-staff-portal .ks-message-compose textarea{
    width:100%;
    min-height:120px;
    border:1px solid #d6e4f2;
    border-radius:15px;
    background:#fbfdff;
    padding:13px 14px;
    color:#24344e;
    box-shadow:none;
    resize:vertical;
}
.ks-staff-portal .ks-message-compose textarea:focus{
    outline:none;
    border-color:#8bbbe3;
    box-shadow:0 0 0 4px rgba(18,100,168,.08);
    background:#ffffff;
}
.ks-patient-portal-v108 .ks-message-bubble--staff{
    background:#eef7ff;
    border-color:#cfe4f7;
}
.ks-patient-portal-v108 .ks-message-bubble--patient{
    background:#f0fdfa;
    border-color:#ccfbf1;
}
@media (max-width:1080px){
    .ks-staff-portal .ks-message-console{grid-template-columns:1fr;}
    .ks-staff-portal .ks-conversation-body{max-height:none;}
}
@media (max-width:640px){
    .ks-staff-portal .ks-conversation-head{flex-direction:column;}
    .ks-staff-portal .ks-conversation-bubble{width:100%;}
    .ks-staff-portal .ks-thread-item{padding:12px;}
    .ks-staff-portal .ks-message-compose .ks-primary-button{width:100%;}
}

/* v1.1.6 coordination and staff management refinements */
.ks-sidebar .ks-nav a{white-space:normal;line-height:1.25}
.ks-staff-users-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:16px;margin-bottom:16px}
.ks-role-grid{display:grid;grid-template-columns:1fr;gap:10px}
.ks-role-grid div,.ks-staff-user-card{border:1px solid var(--ks-line,#dce8f6);background:#fff;border-radius:16px;padding:14px}
.ks-role-grid strong,.ks-staff-user-card__head strong{display:block;color:#102033;font-weight:700;margin-bottom:4px}
.ks-role-grid span,.ks-staff-user-card__head span{display:block;color:#60728b;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.ks-staff-user-cards{display:grid;gap:12px}
.ks-staff-user-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.ks-staff-user-card__head em{font-style:normal;background:#eef7ff;color:#1264a8;border:1px solid #d5e9fb;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.ks-staff-user-edit{display:grid;grid-template-columns:1fr 1fr minmax(180px,.7fr) auto;gap:10px;align-items:end}
.ks-staff-user-edit label,.ks-action-form label{display:grid;gap:6px;color:#34465f;font-weight:700;font-size:12px}
.ks-staff-user-edit input,.ks-staff-user-edit select,.ks-action-form input,.ks-action-form select{min-height:44px;border:1px solid #dce8f6;border-radius:13px;background:#fbfdff;padding:10px 12px;color:#102033;width:100%}
.ks-staff-user-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #e7eef7}
.ks-staff-user-actions form{margin:0}
@media (max-width:1100px){.ks-staff-users-layout{grid-template-columns:1fr}.ks-staff-user-edit{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.ks-staff-user-edit{grid-template-columns:1fr}.ks-staff-user-card__head{display:block}.ks-staff-user-card__head em{display:inline-flex;margin-top:8px}.ks-staff-user-actions{display:grid}.ks-staff-user-actions button,.ks-staff-user-edit button{width:100%}}


/* =========================================================
   v1.1.8 — Core System Stabilization UI
========================================================= */
.ks-portal{max-width:min(1440px,100%);}
.ks-staff-portal{max-width:min(1500px,100%);padding-left:14px;padding-right:14px;}
.ks-staff-portal .ks-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:16px;align-items:start;}
.ks-staff-portal .ks-main,.ks-staff-portal .ks-panel,.ks-staff-portal .ks-payment-list-panel,.ks-staff-portal .ks-detail-panel{min-width:0;}
.ks-staff-portal .ks-panel{padding:18px;border-radius:18px;}
.ks-staff-portal .ks-panel-title h3,.ks-staff-portal .ks-section-head h2{font-size:20px!important;line-height:1.22!important;}
.ks-staff-portal .ks-panel-title p,.ks-staff-portal .ks-section-head p{font-size:13px!important;line-height:1.55!important;}
.ks-staff-portal .ks-metric-card strong{font-size:24px!important;}
.ks-staff-portal .ks-payment-item__meta{grid-template-columns:repeat(3,minmax(0,1fr));}
.ks-staff-portal .ks-payment-item__meta b,.ks-staff-portal .ks-detail-list strong{overflow-wrap:anywhere;word-break:break-word;}
.ks-staff-portal .ks-payment-item{padding:14px;border-radius:16px;}
.ks-staff-portal .ks-operation-bridge .wrap{margin:0!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-page-head{display:none!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-card{padding:14px!important;border-radius:16px!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-card strong{font-size:15px!important;line-height:1.35!important;overflow-wrap:anywhere;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-panel{padding:18px!important;border-radius:18px!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row h2{font-size:20px!important;line-height:1.22!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row p{font-size:13px!important;line-height:1.55!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions .cha-pcm-action-form:last-child{grid-column:auto!important;}
.ks-staff-portal .ks-operation-bridge .cha-pcm-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.ks-staff-portal .ks-operation-bridge table{width:100%;table-layout:auto;}
.ks-staff-portal .ks-operation-bridge th,.ks-staff-portal .ks-operation-bridge td{font-size:12.5px!important;vertical-align:top;overflow-wrap:anywhere;}
.ks-staff-portal .ks-nav a{font-size:13px;padding:9px 10px;min-height:40px;}
@media(max-width:1180px){
  .ks-staff-portal .ks-layout{grid-template-columns:1fr;}
  .ks-staff-portal .ks-sidebar{display:none!important;}
  .ks-staff-portal .ks-mobile-tabs{display:flex!important;overflow-x:auto;gap:8px;padding:8px;border:1px solid #dce8f6;border-radius:16px;background:#fff;position:sticky;top:0;z-index:20;}
  .ks-staff-portal .ks-mobile-tabs a{white-space:nowrap;}
  .ks-staff-portal .ks-payments-clean-layout{grid-template-columns:1fr!important;}
  .ks-staff-portal .ks-detail-panel{position:relative!important;top:auto!important;}
  .ks-staff-portal .ks-operation-bridge .cha-pcm-summary-grid,
  .ks-staff-portal .ks-operation-bridge .cha-pcm-main-layout > aside,
  .ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions,
  .ks-staff-portal .ks-operation-bridge .cha-pcm-option-grid{grid-template-columns:1fr!important;}
}
@media(max-width:720px){
  .ks-portal{padding:20px 12px 46px;}
  .ks-page-header{padding:20px;border-radius:18px;}
  .ks-page-header h1{font-size:26px!important;}
  .ks-staff-portal .ks-panel{padding:14px;border-radius:16px;}
  .ks-staff-portal .ks-section-head{display:block!important;}
  .ks-staff-portal .ks-metric-grid{grid-template-columns:1fr!important;}
  .ks-staff-portal .ks-payment-item__head{display:block!important;}
  .ks-staff-portal .ks-payment-item__head .ks-badge{margin-top:8px;}
  .ks-staff-portal .ks-payment-item__meta,.ks-staff-portal .ks-detail-list{grid-template-columns:1fr!important;}
  .ks-staff-portal .ks-action-area{grid-template-columns:1fr!important;}
  .ks-staff-portal .ks-primary-button,.ks-staff-portal .ks-danger-button,.ks-staff-portal .ks-small-button{width:100%;}
  .ks-staff-portal .ks-operation-bridge .cha-pcm-panel{padding:14px!important;}
  .ks-staff-portal .ks-operation-bridge .cha-pcm-panel-title-row{display:block!important;}
  .ks-staff-portal .ks-operation-bridge .cha-pcm-form-grid{grid-template-columns:1fr!important;}
}


/* =========================================================
   v1.1.9 Unified Patient Case Workspace
========================================================= */
.cha-pcm-admin-v119 .cha-pcm-unified-hero{
    display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
    padding:22px 24px;margin:0 0 18px;border:1px solid #dce8f6;border-radius:22px;
    background:linear-gradient(135deg,#ffffff 0%,#f7fbff 74%,#eef6ff 100%);
    box-shadow:0 12px 30px rgba(15,55,105,.055);
}
.cha-pcm-admin-v119 .cha-pcm-unified-hero span{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#24669f;margin-bottom:6px}
.cha-pcm-admin-v119 .cha-pcm-unified-hero h2{margin:0;font-size:28px;line-height:1.15;color:#173f78;letter-spacing:-.025em}
.cha-pcm-admin-v119 .cha-pcm-unified-hero p{margin:7px 0 0;color:#61728b;font-size:14px;line-height:1.55}
.cha-pcm-admin-v119 .cha-pcm-unified-statuses{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:420px}
.cha-pcm-admin-v119 .cha-pcm-unified-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.cha-pcm-workspace-section{margin:18px 0 0;padding:18px;border:1px solid #dfe9f5;border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(16,32,51,.035)}
.cha-pcm-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 14px}
.cha-pcm-section-title h2{margin:0;font-size:20px;line-height:1.25;color:#173f78;letter-spacing:-.02em}
.cha-pcm-section-title p{margin:6px 0 0;color:#64748b;font-size:13px;line-height:1.6;max-width:82ch}
.cha-pcm-section-title>h2{margin-right:14px}
.cha-pcm-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.cha-pcm-two-col-wide-left{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}
.cha-pcm-unified-panel{padding:16px;border:1px solid #e2edf8;border-radius:18px;background:#fff;box-shadow:0 4px 14px rgba(15,55,105,.025);overflow:hidden}
.cha-pcm-unified-panel h3{margin:0 0 12px;color:#173f78;font-size:16px;line-height:1.25}
.cha-pcm-subtitle{margin-top:18px!important}
.cha-pcm-readable-payload{border:1px solid #e2edf8!important;border-radius:14px;overflow:hidden;display:table!important;table-layout:fixed!important;width:100%!important}
.cha-pcm-readable-payload th{width:210px!important;background:#f8fbff!important;color:#334155!important;font-weight:700!important;font-size:12.5px!important;vertical-align:top!important}
.cha-pcm-readable-payload td{font-size:13px!important;color:#334155!important;overflow-wrap:anywhere!important}
.cha-pcm-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cha-pcm-file-list a{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #dfe9f5;border-radius:14px;background:#f8fbff;text-decoration:none;color:#173f78;min-width:0}
.cha-pcm-file-list a strong{font-size:13px;overflow-wrap:anywhere}.cha-pcm-file-list a span{font-size:12px;color:#64748b}
.cha-pcm-clean-actions-compact{grid-template-columns:1fr!important;gap:10px!important;margin-bottom:14px}
.cha-pcm-request-list,.cha-pcm-compact-list,.cha-pcm-message-list,.cha-pcm-timeline-mini{display:grid;gap:10px}
.cha-pcm-request-card,.cha-pcm-compact-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e2edf8;border-radius:15px;background:#fbfdff;min-width:0}
.cha-pcm-request-card strong,.cha-pcm-compact-row strong{display:block;color:#173f78;font-size:14px;line-height:1.35}.cha-pcm-request-card span,.cha-pcm-compact-row span{display:block;color:#64748b;font-size:12px}.cha-pcm-request-card p{margin:6px 0 0;color:#475569;font-size:13px;line-height:1.5}
.cha-pcm-compact-row>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex-shrink:0}.cha-pcm-service-items{margin:-2px 0 8px;padding:8px 12px;border-radius:12px;background:#f8fbff;color:#64748b;font-size:12px;line-height:1.5}
.cha-pcm-option-grid.single{grid-template-columns:1fr!important}.cha-pcm-publish-form{margin-top:12px}.cha-pcm-publish-form .button{width:100%;justify-content:center}
.cha-pcm-message-bubble{padding:11px 12px;border-radius:15px;border:1px solid #e2edf8;background:#f8fbff}.cha-pcm-message-bubble.is-staff{background:#eef6ff;border-color:#cfe2f7}.cha-pcm-message-bubble span{display:block;color:#64748b;font-size:12px;font-weight:700;margin-bottom:4px}.cha-pcm-message-bubble p{margin:0;color:#334155;font-size:13px;line-height:1.55}.cha-pcm-case-message-form{margin-top:14px}
.cha-pcm-timeline-mini div{padding:11px 12px;border-left:3px solid #cfe2f7;background:#fbfdff;border-radius:12px}.cha-pcm-timeline-mini span{display:block;color:#64748b;font-size:12px;margin-bottom:3px}.cha-pcm-timeline-mini strong{display:block;color:#173f78;font-size:13px}.cha-pcm-timeline-mini p{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.45}
.cha-pcm-stacked-form input[type="text"],.cha-pcm-stacked-form input[type="url"],.cha-pcm-stacked-form input[type="number"],.cha-pcm-stacked-form input[type="date"],.cha-pcm-stacked-form select,.cha-pcm-stacked-form textarea,.cha-pcm-action-form textarea{max-width:100%;width:100%}
.cha-pcm-case-workspace .cha-pcm-main-layout{display:block!important}.cha-pcm-case-workspace aside{display:block!important}.cha-pcm-case-workspace .cha-pcm-wide-details{display:none!important}
@media (max-width:1200px){.cha-pcm-admin-v119 .cha-pcm-unified-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cha-pcm-two-col,.cha-pcm-two-col-wide-left{grid-template-columns:1fr}.cha-pcm-file-list{grid-template-columns:1fr}}
@media (max-width:760px){.cha-pcm-admin-v119 .cha-pcm-unified-hero{display:block;padding:18px}.cha-pcm-admin-v119 .cha-pcm-unified-hero h2{font-size:22px}.cha-pcm-admin-v119 .cha-pcm-unified-statuses{justify-content:flex-start;margin-top:12px}.cha-pcm-admin-v119 .cha-pcm-unified-summary{grid-template-columns:1fr}.cha-pcm-workspace-section{padding:13px;border-radius:18px}.cha-pcm-section-title{display:block}.cha-pcm-readable-payload,.cha-pcm-readable-payload tbody,.cha-pcm-readable-payload tr,.cha-pcm-readable-payload th,.cha-pcm-readable-payload td{display:block!important;width:100%!important}.cha-pcm-readable-payload th{border-bottom:0!important}.cha-pcm-request-card,.cha-pcm-compact-row{display:block}.cha-pcm-compact-row>div:last-child{justify-content:flex-start;margin-top:10px}.cha-pcm-unified-panel{padding:13px}.cha-pcm-option-box{padding:13px!important}}

/* v1.2.0 application identity guidance */
.ks-identity-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.ks-identity-guide-card{border:1px solid #e2eaf3;border-radius:18px;background:#fff;padding:16px;box-shadow:0 8px 24px rgba(16,32,51,.04)}.ks-identity-guide-card strong{display:block;color:#173f78;font-size:15px;margin-bottom:6px}.ks-identity-guide-card p{margin:0;color:#60728b;font-size:13px;line-height:1.55}@media(max-width:760px){.ks-identity-guide{grid-template-columns:1fr}}


/* =========================================================
   v1.2.0.4 — Compact Application Page Typography
   Başvuru sayfası mevcut tasarım korunarak sadeleştirildi.
========================================================= */
.ks-application-flow {
    max-width: 980px;
}
.ks-application-flow .ks-flow-hero--compact {
    padding: clamp(20px, 3vw, 30px);
    border-radius: 24px;
    margin-bottom: 16px;
}
.ks-application-flow .ks-flow-hero h1 {
    font-size: clamp(26px, 3vw, 36px) !important;
    line-height: 1.12 !important;
    margin-bottom: 8px !important;
}
.ks-application-flow .ks-flow-hero p {
    max-width: 620px;
    font-size: clamp(13px, 1.35vw, 15px) !important;
    line-height: 1.6 !important;
}
.ks-application-flow .ks-flow-card--compact {
    padding: clamp(18px, 2.4vw, 26px);
    border-radius: 24px;
}
.ks-application-flow .ks-flow-section-head--compact {
    margin-bottom: 14px;
}
.ks-application-flow .ks-flow-section-head h2 {
    font-size: clamp(20px, 2.4vw, 26px) !important;
    margin-bottom: 0 !important;
}
.ks-application-flow .ks-identity-guide,
.ks-application-flow .ks-flow-section-head p {
    display: none !important;
}
.ks-application-flow .ks-reference-card--compact-app {
    padding: 14px 16px;
    border-radius: 18px;
    margin-bottom: 16px;
}
.ks-application-flow .ks-reference-card--compact-app strong {
    font-size: clamp(20px, 2.6vw, 28px) !important;
}
.ks-application-flow .ks-intake-fee-panel--compact {
    gap: 14px;
    margin-bottom: 16px;
}
.ks-application-flow .ks-intake-fee-panel--compact .ks-fee-card-large,
.ks-application-flow .ks-intake-fee-panel--compact .ks-fee-note-card {
    padding: 18px 20px;
    border-radius: 20px;
}
.ks-application-flow .ks-intake-fee-panel--compact .ks-fee-card-large strong {
    font-size: clamp(28px, 3vw, 36px);
}
.ks-application-flow .ks-intake-fee-panel--compact .ks-fee-note-card strong {
    font-size: 16px;
}
.ks-application-flow .ks-intake-fee-panel--compact .ks-fee-note-card p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
}
.ks-application-form-wrap .cha-ff-note {
    display: none !important;
}
.ks-application-form-wrap .cha-ff-section-title {
    margin: 22px 0 14px !important;
    padding: 15px 18px !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 22px rgba(15,58,122,.045) !important;
}
.ks-application-form-wrap .cha-ff-section-title h3 {
    font-size: clamp(16px, 1.8vw, 19px) !important;
    line-height: 1.25 !important;
    margin: 0 !important;
}
.ks-application-form-wrap .cha-ff-section-title p {
    display: none !important;
}
.ks-application-form-wrap .fluentform .ff-el-group {
    margin-bottom: 13px !important;
}
.ks-application-form-wrap .fluentform label,
.ks-application-form-wrap .fluentform .ff-el-input--label label {
    font-size: 13px !important;
    line-height: 1.35 !important;
}
.ks-application-form-wrap .fluentform input,
.ks-application-form-wrap .fluentform select,
.ks-application-form-wrap .fluentform textarea {
    min-height: 44px !important;
    font-size: 13.5px !important;
    border-radius: 12px !important;
}
@media (max-width: 760px) {
    .ks-application-flow {
        width: min(100% - 18px, 980px);
    }
    .ks-application-flow .ks-flow-steps {
        grid-template-columns: 1fr !important;
        gap: 8px;
    }
    .ks-application-flow .ks-flow-steps > div {
        padding: 11px 12px;
        border-radius: 15px;
    }
    .ks-application-flow .ks-flow-steps strong {
        width: 26px;
        height: 26px;
        flex-basis: 26px;
    }
    .ks-application-flow .ks-flow-hero--compact,
    .ks-application-flow .ks-flow-card--compact {
        border-radius: 20px;
        padding: 18px;
    }
    .ks-application-form-wrap .cha-ff-section-title {
        margin: 18px 0 12px !important;
        padding: 13px 14px !important;
    }
}
@media (max-width: 480px) {
    .ks-application-flow .ks-flow-hero h1 {
        font-size: 25px !important;
    }
    .ks-application-flow .ks-intake-fee-panel--compact .ks-fee-card-large strong {
        font-size: 28px;
    }
}


/* =========================================================
   v1.2.2 — Staff Portal / Admin Coordination & Visual Stabilization
   Same operational data in staff portal, cleaner case workspace.
========================================================= */
.ks-staff-portal {
    width: min(100% - 28px, 1500px) !important;
    max-width: 1500px !important;
    padding-top: clamp(14px, 1.6vw, 24px) !important;
}
.ks-staff-portal .ks-page-header--compact,
.ks-staff-portal .ks-section-head,
.ks-staff-portal .ks-panel,
.ks-staff-portal .ks-metric-card,
.ks-staff-portal .ks-sidebar {
    border-color: #dbe7f5 !important;
    box-shadow: 0 10px 24px rgba(20, 42, 76, .045) !important;
}
.ks-staff-portal .ks-layout {
    grid-template-columns: minmax(210px, 235px) minmax(0, 1fr) !important;
    gap: 18px !important;
}
.ks-staff-portal .ks-sidebar {
    background: rgba(255,255,255,.98) !important;
    color: #173b8f !important;
    border-radius: 22px !important;
}
.ks-staff-portal .ks-sidebar * { color: inherit; }
.ks-staff-portal .ks-nav a {
    color: #1f3354 !important;
    font-size: 13px !important;
    min-height: 38px !important;
    padding: 9px 11px !important;
    border: 1px solid transparent !important;
}
.ks-staff-portal .ks-nav a.is-active,
.ks-staff-portal .ks-nav a:hover {
    background: #eef9fb !important;
    border-color: #c8eaf0 !important;
    color: #0f766e !important;
}
.ks-staff-portal .ks-sidebar-logout button {
    background: #ffffff !important;
    color: #173b8f !important;
    border: 1px solid #dbe7f5 !important;
    box-shadow: none !important;
}
.ks-staff-portal .ks-page-header h1,
.ks-staff-portal .ks-section-head h2,
.ks-staff-portal .ks-panel-title h3,
.ks-staff-portal .ks-panel h2 {
    font-size: clamp(20px, 1.55vw, 28px) !important;
    letter-spacing: -.025em !important;
}
.ks-staff-portal .ks-page-header p,
.ks-staff-portal .ks-section-head p,
.ks-staff-portal .ks-panel-title p,
.ks-staff-portal .ks-panel p {
    font-size: 13px !important;
    line-height: 1.55 !important;
}
.ks-staff-portal .ks-metric-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

/* Case detail bridge: no narrow action columns, no broken admin layout in staff portal */
.ks-staff-portal .ks-operation-bridge {
    padding: 0 !important;
    overflow: visible !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-admin,
.ks-staff-portal .ks-operation-bridge .wrap {
    max-width: 100% !important;
    width: 100% !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-workspace-section {
    padding: 16px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.86) !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-two-col-wide-left {
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
    gap: 16px !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions,
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions-compact,
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions.cha-pcm-clean-actions-compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-action-form,
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions .cha-pcm-action-form,
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions .cha-pcm-action-form:first-child,
.ks-staff-portal .ks-operation-bridge .cha-pcm-clean-actions .cha-pcm-action-form:last-child {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    border-radius: 14px !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-action-form label {
    font-size: 13px !important;
    line-height: 1.35 !important;
    word-break: normal !important;
}
.ks-staff-portal .ks-operation-bridge textarea,
.ks-staff-portal .ks-operation-bridge input,
.ks-staff-portal .ks-operation-bridge select,
.ks-staff-portal .ks-operation-bridge button {
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-readable-payload th {
    width: 180px !important;
    white-space: normal !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-readable-payload td,
.ks-staff-portal .ks-operation-bridge .cha-pcm-file-list a strong {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-file-list {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-section-title h2 {
    font-size: 18px !important;
}
.ks-staff-portal .ks-operation-bridge .cha-pcm-section-title p {
    max-width: 72ch !important;
    font-size: 12.75px !important;
}
.ks-staff-portal .ks-operation-bridge .button,
.ks-staff-portal .ks-operation-bridge button {
    white-space: normal !important;
    line-height: 1.25 !important;
}

/* Clients module in staff portal */
.ks-client-toolbar { margin-bottom: 16px; }
.ks-client-search-form { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.ks-client-search-form input[type="search"] { min-height:42px; flex:1 1 280px; border:1px solid #d6e0ef; border-radius:13px; padding:10px 13px; }
.ks-client-card-list { display:grid; gap:10px; }
.ks-client-card { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(180px,.65fr) minmax(170px,.45fr); gap:12px; align-items:center; padding:14px; border:1px solid #dbe7f5; border-radius:16px; background:#fbfdff; text-decoration:none!important; color:#173b8f!important; }
.ks-client-card:hover { border-color:#bde7ee; background:#f4fdff; }
.ks-client-card strong { display:block; font-size:15px; color:#173b8f; margin-bottom:4px; }
.ks-client-card span,.ks-client-card small,.ks-client-card em { display:block; color:#64748b; font-size:12px; font-style:normal; overflow-wrap:anywhere; }
.ks-client-card__stats { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:4px 8px; align-items:center; }
.ks-client-card__stats b { color:#0f766e; font-size:18px; }
.ks-client-relations-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:16px; }
.ks-relation-list { display:grid; gap:9px; }
.ks-relation-list article { min-width:0; padding:12px; border:1px solid #dbe7f5; border-radius:14px; background:#fbfdff; }
.ks-relation-list article strong { display:block; color:#173b8f; font-size:13px; overflow-wrap:anywhere; }
.ks-relation-list article span { display:block; margin:4px 0 8px; color:#64748b; font-size:12px; overflow-wrap:anywhere; }
.ks-detail-list--wide { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

@media (max-width: 1320px) {
    .ks-staff-portal .ks-operation-bridge .cha-pcm-two-col-wide-left { grid-template-columns: 1fr !important; }
    .ks-client-relations-grid { grid-template-columns:1fr; }
    .ks-detail-list--wide { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 980px) {
    .ks-staff-portal { width: min(100% - 16px, 1500px) !important; }
    .ks-staff-portal .ks-layout { grid-template-columns: 1fr !important; }
    .ks-staff-portal .ks-sidebar { position: static !important; }
    .ks-staff-portal .ks-metric-grid,
    .ks-staff-portal .ks-metric-grid--four { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
    .ks-client-card { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
    .ks-staff-portal { width: 100% !important; padding-left:10px!important; padding-right:10px!important; }
    .ks-staff-portal .ks-page-header--compact,
    .ks-staff-portal .ks-section-head,
    .ks-staff-portal .ks-panel { padding: 15px !important; border-radius: 17px !important; }
    .ks-staff-portal .ks-metric-grid,
    .ks-staff-portal .ks-metric-grid--four,
    .ks-detail-list--wide { grid-template-columns: 1fr !important; }
    .ks-staff-portal .ks-operation-bridge .cha-pcm-workspace-section { padding: 12px !important; border-radius: 17px !important; }
    .ks-staff-portal .ks-operation-bridge .cha-pcm-readable-payload,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-readable-payload tbody,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-readable-payload tr,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-readable-payload th,
    .ks-staff-portal .ks-operation-bridge .cha-pcm-readable-payload td { display:block!important; width:100%!important; }
}

/* v1.2.6 — Staff portal card/list refinement */
.ks-staff-portal .ks-section-head h2{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.035em}
.ks-staff-portal .ks-section-head p{font-size:14px;line-height:1.55;max-width:72ch}
.ks-staff-portal .ks-metric-card span{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#60728b}
.ks-staff-portal .ks-metric-card strong{font-size:clamp(24px,2.6vw,34px);line-height:1.05;letter-spacing:-.035em}
.ks-staff-user-card__head strong{font-size:17px!important;letter-spacing:-.015em;text-transform:none!important}
.ks-staff-user-card{box-shadow:0 8px 24px rgba(15,55,105,.035)}
.ks-staff-user-edit{grid-template-columns:1fr 1fr minmax(150px,.7fr) minmax(120px,.55fr) auto!important}
.ks-staff-user-edit button{min-height:44px}
.ks-staff-user-actions .ks-small-button,.ks-staff-user-actions .ks-danger-button{min-height:40px;border-radius:12px;padding:9px 14px}
@media(max-width:1180px){.ks-staff-user-edit{grid-template-columns:1fr 1fr!important}}
@media(max-width:720px){.ks-staff-user-edit{grid-template-columns:1fr!important}.ks-staff-portal .ks-section-head h2{font-size:22px}.ks-staff-portal .ks-page-header h1{font-size:28px}.ks-staff-user-card{padding:13px}}

/* v1.3.0 — Finance Center & Reporting Foundation */
.ks-finance-head .ks-small-button,.ks-reports-head .ks-small-button{align-self:center;white-space:nowrap}
.ks-finance-health-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 16px}
.ks-finance-health-card{border:1px solid #dbe7f5;background:#fff;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(15,55,105,.035)}
.ks-finance-health-card span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#60728b;font-weight:800;margin-bottom:8px}
.ks-finance-health-card strong{display:block;font-size:28px;line-height:1;color:#062b63;letter-spacing:-.04em}
.ks-finance-health-card small{display:block;margin-top:8px;color:#64748b;font-size:12px;line-height:1.35}
.ks-finance-health-card.is-primary{background:linear-gradient(180deg,#f8fbff,#fff)}
.ks-finance-health-card.is-warning{border-color:#fde68a;background:#fffdf3}
.ks-finance-health-card.is-success{border-color:#bbf7d0;background:#f7fff9}
.ks-finance-health-card.is-danger{border-color:#fecaca;background:#fff8f8}
.ks-finance-health-card.is-alert{border-color:#fed7aa;background:#fff8ed}
.ks-finance-ledger-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.ks-finance-ledger-card .ks-panel-title h3{font-size:18px!important}
.ks-finance-currency-list,.ks-finance-type-list{display:grid;gap:8px}
.ks-finance-currency-list div,.ks-finance-type-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e2eaf5;border-radius:13px;background:#fbfdff;min-width:0}
.ks-finance-currency-list span{font-weight:900;color:#0f766e}.ks-finance-currency-list strong{font-size:15px;color:#062b63}.ks-finance-currency-list em,.ks-finance-type-list span{font-style:normal;color:#64748b;font-size:12px}.ks-finance-type-list strong{font-size:13px;color:#173b8f;overflow-wrap:anywhere}
.ks-finance-filter-form{display:grid;grid-template-columns:1.3fr repeat(6,minmax(120px,.8fr));gap:12px;align-items:end;margin-bottom:16px}
.ks-finance-filter-form label{display:grid;gap:5px;min-width:0}.ks-finance-filter-form label span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#60728b;font-weight:800}.ks-finance-filter-form input,.ks-finance-filter-form select{width:100%;min-height:42px;border-radius:12px;border:1px solid #cfe0f2;padding:8px 10px;background:#fff}.ks-finance-filter-actions{display:flex;gap:8px;align-items:center}.ks-finance-filter-actions .ks-primary-button,.ks-finance-filter-actions .ks-small-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.ks-finance-center-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;align-items:start}.ks-finance-list-panel,.ks-finance-detail-panel{min-width:0}.ks-finance-payment-list{display:grid;gap:10px;max-height:760px;overflow:auto;padding-right:3px}.ks-finance-payment-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(170px,.75fr) minmax(160px,.65fr) 100px;gap:10px;align-items:center;padding:13px;border:1px solid #dbe7f5;border-radius:16px;background:#fff;color:inherit;text-decoration:none;transition:.18s ease;min-width:0}.ks-finance-payment-row:hover,.ks-finance-payment-row.is-selected{border-color:#8bbdf5;background:#f7fbff;box-shadow:0 10px 26px rgba(15,78,146,.08)}.ks-finance-payment-main,.ks-finance-payment-meta,.ks-finance-payment-flags{min-width:0}.ks-finance-payment-main strong{display:block;color:#062b63;font-size:14px;overflow-wrap:anywhere}.ks-finance-payment-main span{display:block;color:#64748b;font-size:12px;margin-top:3px;overflow-wrap:anywhere}.ks-finance-payment-meta span{display:block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.ks-finance-payment-meta b{display:block;color:#0f2d57;font-size:14px;margin-top:4px}.ks-finance-payment-flags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ks-finance-payment-flags em{font-style:normal;font-size:11px;font-weight:800;border-radius:999px;padding:6px 9px}.ks-finance-payment-flags em.is-missing{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.ks-finance-payment-flags em.is-ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.ks-finance-payment-row time{font-size:12px;color:#64748b;text-align:right}
.ks-finance-status-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.ks-finance-status-line span{border:1px solid #dbe7f5;border-radius:999px;padding:7px 10px;color:#173b8f;background:#f8fbff;font-size:12px;font-weight:800}.ks-detail-list--finance{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ks-finance-note{border:1px solid #dbe7f5;border-radius:16px;padding:14px;background:#fbfdff;margin:12px 0}.ks-finance-note strong{display:block;color:#062b63;margin-bottom:6px}.ks-finance-note p{margin:0;color:#52647c;font-size:13px}.ks-finance-actions{grid-template-columns:1fr!important}.ks-finance-actions .ks-action-form{border:1px solid #dbe7f5;border-radius:16px;padding:13px;background:#fff}
.ks-report-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.ks-report-kpi-grid article{border:1px solid #dbe7f5;background:#fff;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(15,55,105,.035)}.ks-report-kpi-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#60728b;font-weight:800;margin-bottom:8px}.ks-report-kpi-grid strong{display:block;font-size:28px;line-height:1;color:#062b63}.ks-report-kpi-grid small{display:block;color:#64748b;margin-top:8px}.ks-reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ks-report-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ks-report-funnel div,.ks-report-status-list div{border:1px solid #dbe7f5;background:#fbfdff;border-radius:15px;padding:13px}.ks-report-funnel span,.ks-report-status-list span{display:block;color:#64748b;font-size:12px;font-weight:800}.ks-report-funnel strong,.ks-report-status-list strong{display:block;color:#062b63;font-size:24px;margin-top:5px}.ks-report-insight{margin:14px 0 0;color:#0f2d57}.ks-report-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ks-report-two-col h4{margin:0 0 8px;color:#173b8f}.ks-report-two-col p{border:1px solid #dbe7f5;border-radius:12px;background:#fbfdff;padding:10px;margin:0 0 8px}.ks-report-status-list,.ks-report-warning-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ks-report-warning-list div{display:flex;justify-content:space-between;gap:10px;border:1px solid #dbe7f5;background:#fbfdff;border-radius:14px;padding:12px}.ks-report-warning-list div.is-warning{background:#fff7ed;border-color:#fed7aa}.ks-report-warning-list div.is-danger{background:#fff1f2;border-color:#fecdd3}.ks-report-warning-list div.is-ok{background:#f0fdf4;border-color:#bbf7d0}.ks-report-warning-list strong{color:#062b63}.ks-report-warning-list span{color:#52647c}
@media(max-width:1320px){.ks-finance-health-row,.ks-report-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ks-finance-ledger-grid{grid-template-columns:1fr}.ks-finance-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}.ks-finance-center-layout{grid-template-columns:1fr}.ks-finance-payment-row{grid-template-columns:1fr 1fr}.ks-finance-payment-row time{text-align:left}.ks-reports-grid{grid-template-columns:1fr}}
@media(max-width:760px){.ks-finance-health-row,.ks-report-kpi-grid,.ks-finance-filter-form,.ks-finance-payment-row,.ks-report-funnel,.ks-report-two-col,.ks-report-status-list,.ks-report-warning-list,.ks-detail-list--finance{grid-template-columns:1fr!important}.ks-finance-center-layout{gap:12px}.ks-finance-filter-actions{flex-direction:column;align-items:stretch}.ks-finance-filter-actions a,.ks-finance-filter-actions button{width:100%}.ks-finance-payment-list{max-height:none}.ks-finance-payment-flags{align-items:flex-start}.ks-finance-health-card strong,.ks-report-kpi-grid strong{font-size:24px}}

/* v1.3.1 Staff Reporting Center */
.ks-metric-grid--reports{grid-template-columns:repeat(3,minmax(0,1fr))}
.ks-report-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.ks-report-dashboard .ks-panel{min-width:0}.ks-report-funnel{display:grid;gap:10px}.ks-report-funnel div{display:grid;grid-template-columns:150px 120px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #e1ebf7;border-radius:16px;background:#fff}.ks-report-funnel span,.ks-report-funnel strong{color:#0a2d61}.ks-report-funnel em{height:12px;display:block;border-radius:999px;background:linear-gradient(90deg,#0f766e,#1d4ed8);opacity:.2;min-width:4px}.ks-mini-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.ks-mini-stat-grid div{padding:14px;border:1px solid #dceafa;border-radius:16px;background:#f8fbff}.ks-mini-stat-grid span{display:block;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#607592}.ks-mini-stat-grid strong{font-size:24px;color:#0b3f8a}.ks-mini-stat-grid .is-danger{background:#fff5f5;border-color:#fecaca}.ks-mini-stat-grid .is-danger strong{color:#b91c1c}.ks-table--compact th,.ks-table--compact td{padding:10px 12px}.ks-report-note{background:linear-gradient(180deg,#fff,#f7fbff)}
@media(max-width:1080px){.ks-report-dashboard{grid-template-columns:1fr}.ks-metric-grid--reports{grid-template-columns:repeat(2,minmax(0,1fr))}.ks-mini-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ks-metric-grid--reports{grid-template-columns:1fr}.ks-mini-stat-grid{grid-template-columns:1fr}.ks-report-funnel div{grid-template-columns:1fr}}

/* =========================================================
   v1.3.2 — Full-Viewport Staff Portal Layout Stabilization
   Goal: stop layout drift, make finance/reporting pages use full page width,
   prevent vertical text wrapping, and improve mobile/tablet behavior.
========================================================= */
.ks-portal,
.ks-portal * { box-sizing: border-box !important; }

/* Use the browser width intentionally. Previous versions mixed max-widths
   and caused the staff content column to shrink while cards stayed large. */
.ks-staff-portal {
    width: min(100% - 20px, 1680px) !important;
    max-width: 1680px !important;
    margin: 14px auto 64px !important;
    padding: 14px !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    overflow: visible !important;
}

.ks-staff-portal .ks-layout {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 236px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
}

.ks-staff-portal .ks-sidebar {
    width: 236px !important;
    min-width: 0 !important;
    max-width: 236px !important;
}

.ks-staff-portal .ks-main {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.ks-staff-portal .ks-section-head,
.ks-staff-portal .ks-panel,
.ks-staff-portal .ks-detail-panel,
.ks-staff-portal .ks-metric-card,
.ks-staff-portal .ks-finance-health-card,
.ks-staff-portal .ks-report-kpi-grid article {
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Finance Center: desktop should breathe, medium screens should stack before
   the payment card becomes too narrow. */
.ks-staff-portal .ks-finance-center-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
    gap: 16px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
}

.ks-staff-portal .ks-finance-list-panel,
.ks-staff-portal .ks-finance-detail-panel {
    min-width: 0 !important;
}

/* Payment rows are cards, not tables. This prevents names and file numbers
   from wrapping letter-by-letter in narrow columns. */
.ks-staff-portal .ks-finance-payment-list {
    display: grid !important;
    gap: 10px !important;
    max-height: 760px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 2px 3px 2px 0 !important;
}

.ks-staff-portal .ks-finance-payment-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "main time"
        "meta meta"
        "flags flags" !important;
    gap: 9px 12px !important;
    align-items: start !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 14px !important;
    border-radius: 18px !important;
}

.ks-staff-portal .ks-finance-payment-main { grid-area: main !important; min-width: 0 !important; }
.ks-staff-portal .ks-finance-payment-meta { grid-area: meta !important; min-width: 0 !important; }
.ks-staff-portal .ks-finance-payment-flags { grid-area: flags !important; min-width: 0 !important; }
.ks-staff-portal .ks-finance-payment-row time { grid-area: time !important; white-space: nowrap !important; text-align: right !important; }

.ks-staff-portal .ks-finance-payment-main strong,
.ks-staff-portal .ks-finance-payment-main span,
.ks-staff-portal .ks-finance-payment-meta b,
.ks-staff-portal .ks-finance-payment-meta span,
.ks-staff-portal .ks-detail-list strong,
.ks-staff-portal .ks-detail-list span {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

.ks-staff-portal .ks-finance-payment-main strong {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.ks-staff-portal .ks-finance-payment-main span {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.ks-staff-portal .ks-finance-payment-meta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 10px 12px !important;
    border: 1px solid var(--ks-sp-line, #dfe9f5) !important;
    border-radius: 14px !important;
    background: #fbfdff !important;
}

.ks-staff-portal .ks-finance-payment-meta span,
.ks-staff-portal .ks-finance-payment-meta b {
    margin: 0 !important;
}

.ks-staff-portal .ks-finance-payment-flags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: center !important;
}

/* Detail cards should not force the page wider. */
.ks-staff-portal .ks-detail-list--finance {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.ks-staff-portal .ks-finance-detail-panel {
    position: sticky !important;
    top: 12px !important;
    max-height: calc(100vh - 24px) !important;
    overflow: auto !important;
}

/* Report layout: full responsive grid and no squeezed funnel item. */
.ks-staff-portal .ks-report-dashboard {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr) !important;
    gap: 16px !important;
    align-items: start !important;
}

.ks-staff-portal .ks-report-funnel {
    display: grid !important;
    gap: 10px !important;
}

.ks-staff-portal .ks-report-funnel div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "label value"
        "bar bar" !important;
    gap: 8px !important;
    align-items: center !important;
}

.ks-staff-portal .ks-report-funnel span { grid-area: label !important; min-width: 0 !important; }
.ks-staff-portal .ks-report-funnel strong { grid-area: value !important; margin: 0 !important; white-space: nowrap !important; }
.ks-staff-portal .ks-report-funnel em { grid-area: bar !important; width: 100% !important; }

/* Application / Fluent Form mobile polish. The form should respect page width,
   not create hidden overflow under the site header. */
.ks-application-flow,
.ks-payment-flow,
.ks-patient-portal {
    width: min(100% - 22px, 1120px) !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    transform: none !important;
}

.ks-fluent-wrap,
.ks-fluent-wrap .fluentform,
.ks-fluent-wrap .ff-el-group,
.ks-fluent-wrap .ff-el-input--content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.ks-fluent-wrap .fluentform input:not([type="radio"]):not([type="checkbox"]),
.ks-fluent-wrap .fluentform select,
.ks-fluent-wrap .fluentform textarea {
    width: 100% !important;
    max-width: 100% !important;
}

.ks-fluent-wrap .ff-el-form-check,
.ks-fluent-wrap .ff-el-form-check-label {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
}

/* More generous breakpoints. With sidebar + detail panel, 1280px is already
   a tablet-like operation width, so split views should stack sooner. */
@media (max-width: 1420px) {
    .ks-staff-portal .ks-finance-health-row,
    .ks-staff-portal .ks-report-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .ks-staff-portal .ks-finance-center-layout,
    .ks-staff-portal .ks-report-dashboard {
        grid-template-columns: 1fr !important;
    }

    .ks-staff-portal .ks-finance-detail-panel {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }
}

@media (max-width: 980px) {
    .ks-staff-portal {
        width: min(100% - 14px, 1680px) !important;
        padding: 10px !important;
        border-radius: 22px !important;
    }

    .ks-staff-portal .ks-layout {
        grid-template-columns: 1fr !important;
    }

    .ks-staff-portal .ks-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        position: relative !important;
        top: auto !important;
    }

    .ks-staff-portal .ks-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .ks-staff-portal .ks-nav a {
        justify-content: center !important;
        text-align: center !important;
    }

    .ks-staff-portal .ks-metric-grid,
    .ks-staff-portal .ks-metric-grid--three,
    .ks-staff-portal .ks-metric-grid--reports,
    .ks-staff-portal .ks-mini-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .ks-staff-portal {
        width: 100% !important;
        margin: 0 auto 48px !important;
        padding: 8px !important;
        border-radius: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }

    .ks-staff-portal .ks-nav,
    .ks-staff-portal .ks-finance-health-row,
    .ks-staff-portal .ks-report-kpi-grid,
    .ks-staff-portal .ks-metric-grid,
    .ks-staff-portal .ks-metric-grid--three,
    .ks-staff-portal .ks-metric-grid--reports,
    .ks-staff-portal .ks-mini-stat-grid,
    .ks-staff-portal .ks-detail-list--finance,
    .ks-staff-portal .ks-finance-payment-meta {
        grid-template-columns: 1fr !important;
    }

    .ks-staff-portal .ks-section-head,
    .ks-staff-portal .ks-payment-item__head {
        display: block !important;
    }

    .ks-staff-portal .ks-section-head h2 {
        font-size: 23px !important;
    }

    .ks-staff-portal .ks-finance-payment-row {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "main"
            "meta"
            "flags"
            "time" !important;
    }

    .ks-staff-portal .ks-finance-payment-row time {
        text-align: left !important;
    }

    .ks-application-flow,
    .ks-payment-flow,
    .ks-patient-portal {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}


/* =========================================================
   v1.3.3 — True Full-Viewport Portal Fix
   Purpose: break staff portal out of the theme content container,
   stop narrow-column text collapse, and stabilize report/finance pages.
========================================================= */
html body .ks-staff-portal {
    width: min(calc(100vw - 40px), 1760px) !important;
    max-width: 1760px !important;
    min-width: 0 !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin-top: 16px !important;
    margin-bottom: 64px !important;
    padding: 16px !important;
    overflow: visible !important;
}

html body .ks-staff-portal,
html body .ks-staff-portal * {
    box-sizing: border-box !important;
}

html body .ks-staff-portal .ks-layout {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

html body .ks-staff-portal .ks-sidebar {
    width: 250px !important;
    max-width: 250px !important;
    min-width: 0 !important;
}

html body .ks-staff-portal .ks-main,
html body .ks-staff-portal .ks-panel,
html body .ks-staff-portal .ks-section-head,
html body .ks-staff-portal .ks-detail-panel,
html body .ks-staff-portal .ks-metric-card {
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Reporting: do not allow funnel cards to become tiny columns. */
html body .ks-staff-portal .ks-report-dashboard {
    display: grid !important;
    grid-template-columns: minmax(560px, 1.15fr) minmax(420px, .85fr) !important;
    gap: 18px !important;
    align-items: start !important;
    width: 100% !important;
}

html body .ks-staff-portal .ks-report-funnel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
}

html body .ks-staff-portal .ks-report-funnel div {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) minmax(90px, auto) minmax(160px, 1.2fr) !important;
    grid-template-areas: "label value bar" !important;
    gap: 14px !important;
    align-items: center !important;
    min-width: 0 !important;
}

html body .ks-staff-portal .ks-report-funnel span,
html body .ks-staff-portal .ks-report-funnel strong {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    line-height: 1.25 !important;
}

html body .ks-staff-portal .ks-report-funnel span {
    white-space: normal !important;
}

html body .ks-staff-portal .ks-report-funnel strong {
    white-space: nowrap !important;
    text-align: right !important;
}

/* Finance: enforce readable transaction cards and full width list. */
html body .ks-staff-portal .ks-finance-center-layout {
    display: grid !important;
    grid-template-columns: minmax(620px, 1fr) minmax(420px, 460px) !important;
    gap: 18px !important;
    align-items: start !important;
    width: 100% !important;
}

html body .ks-staff-portal .ks-finance-payment-row {
    display: grid !important;
    grid-template-columns: minmax(240px, 1.2fr) minmax(190px, .8fr) minmax(170px, .7fr) 118px !important;
    grid-template-areas: "main meta flags time" !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
}

html body .ks-staff-portal .ks-finance-payment-main strong,
html body .ks-staff-portal .ks-finance-payment-main span,
html body .ks-staff-portal .ks-finance-payment-meta span,
html body .ks-staff-portal .ks-finance-payment-meta b,
html body .ks-staff-portal .ks-finance-payment-flags em,
html body .ks-staff-portal .ks-badge,
html body .ks-staff-portal .ks-detail-list span,
html body .ks-staff-portal .ks-detail-list strong {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

html body .ks-staff-portal .ks-finance-payment-main strong,
html body .ks-staff-portal .ks-finance-payment-meta b {
    white-space: normal !important;
}

html body .ks-staff-portal .ks-badge,
html body .ks-staff-portal .ks-finance-payment-flags em {
    white-space: normal !important;
}

/* Reports/finance cards should not over-compress. */
html body .ks-staff-portal .ks-metric-grid--reports {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

html body .ks-staff-portal .ks-mini-stat-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}

/* When the actual browser is not wide enough, stack before text breaks. */
@media (max-width: 1480px) {
    html body .ks-staff-portal .ks-report-dashboard,
    html body .ks-staff-portal .ks-finance-center-layout {
        grid-template-columns: 1fr !important;
    }

    html body .ks-staff-portal .ks-finance-detail-panel {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }
}

@media (max-width: 1120px) {
    html body .ks-staff-portal {
        width: calc(100vw - 20px) !important;
        padding: 12px !important;
    }

    html body .ks-staff-portal .ks-layout {
        grid-template-columns: 1fr !important;
    }

    html body .ks-staff-portal .ks-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        position: relative !important;
        top: auto !important;
    }

    html body .ks-staff-portal .ks-nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body .ks-staff-portal .ks-report-funnel div,
    html body .ks-staff-portal .ks-finance-payment-row {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "label"
            "value"
            "bar" !important;
    }

    html body .ks-staff-portal .ks-finance-payment-row {
        grid-template-areas:
            "main"
            "meta"
            "flags"
            "time" !important;
    }

    html body .ks-staff-portal .ks-report-funnel strong,
    html body .ks-staff-portal .ks-finance-payment-row time {
        text-align: left !important;
    }
}

@media (max-width: 620px) {
    html body .ks-staff-portal {
        width: 100vw !important;
        padding: 8px !important;
        border-radius: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }

    html body .ks-staff-portal .ks-nav {
        grid-template-columns: 1fr !important;
    }

    html body .ks-staff-portal .ks-section-head h2,
    html body .ks-staff-portal .ks-panel-title h3 {
        font-size: 22px !important;
        line-height: 1.2 !important;
    }
}

/* v1.3.4 — clean document rendering inside staff portal */
.ks-staff-portal .ks-operation-bridge .cha-pcm-doc-summary{display:flex;flex-direction:column;gap:8px;align-items:flex-start;max-width:100%}
.ks-staff-portal .ks-operation-bridge .cha-pcm-doc-summary>strong{font-size:13px;color:#0f3f86;font-weight:800}
.ks-staff-portal .ks-operation-bridge .cha-pcm-doc-summary>span{font-size:12px;color:#64748b}
.ks-staff-portal .ks-operation-bridge .cha-pcm-doc-inline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:100%}
.ks-staff-portal .ks-operation-bridge .cha-pcm-doc-action,
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-group__actions a{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;border:1px solid #cfe0f5!important;border-radius:999px!important;background:#fff!important;color:#0b5fa5!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(15,58,122,.05)!important;white-space:nowrap!important;max-width:100%!important}
.ks-staff-portal .ks-operation-bridge .cha-pcm-doc-action em,
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-group__actions a em{font-style:normal;font-size:10px;font-weight:800;color:#64748b;background:#f1f6fd;border-radius:999px;padding:3px 6px}
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:8px}
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-group{border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);padding:14px;box-shadow:0 14px 35px rgba(15,58,122,.055);min-width:0}
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-group__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-group__head strong{font-size:13px;line-height:1.35;color:#0f2d57;font-weight:850;overflow-wrap:anywhere}
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-group__head span{flex:0 0 auto;font-size:11px;color:#0b5fa5;background:#edf6ff;border:1px solid #dbeafe;border-radius:999px;padding:5px 8px;font-weight:800}
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-group__actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.ks-staff-portal .ks-operation-bridge .cha-pcm-document-group small{display:block;color:#64748b;font-size:11px;line-height:1.45}
.ks-staff-portal .ks-operation-bridge .cha-pcm-readable-payload td{word-break:normal!important;overflow-wrap:break-word!important}
@media(max-width:760px){.ks-staff-portal .ks-operation-bridge .cha-pcm-document-groups{grid-template-columns:1fr}}


/* =========================================================
   v1.3.5 — Patient Portal True Full Width Stabilization
   /patient-portal/ artık tema container'ına sıkışmaz.
========================================================= */
html body .ks-portal.ks-patient-portal-v108,
html body .ks-patient-portal-v108,
html body .ks-patient-portal {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(1760px, calc(100vw - 32px)) !important;
    max-width: 1760px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: clamp(12px, 1.8vw, 24px) !important;
    padding-right: clamp(12px, 1.8vw, 24px) !important;
    overflow-x: clip !important;
    box-sizing: border-box !important;
}

html body .ks-patient-portal-v108 *,
html body .ks-patient-portal * {
    box-sizing: border-box !important;
}

html body .ks-patient-portal-v108 .ks-public-hero,
html body .ks-patient-portal-v108 .ks-glass-panel,
html body .ks-patient-portal-v108 .ks-case-summary-bar,
html body .ks-patient-portal-v108 .ks-patient-grid,
html body .ks-patient-portal .ks-public-hero,
html body .ks-patient-portal .ks-glass-panel,
html body .ks-patient-portal .ks-case-summary-bar,
html body .ks-patient-portal .ks-patient-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

html body .ks-patient-portal-v108 .ks-public-hero,
html body .ks-patient-portal .ks-public-hero {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px) !important;
    align-items: center !important;
}

html body .ks-patient-portal-v108 .ks-two-col-form,
html body .ks-patient-portal .ks-two-col-form {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
}

html body .ks-patient-portal-v108 .ks-case-summary-bar,
html body .ks-patient-portal .ks-case-summary-bar {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

html body .ks-patient-portal-v108 .ks-patient-grid,
html body .ks-patient-portal .ks-patient-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px) !important;
    gap: 20px !important;
    align-items: start !important;
}

html body .ks-patient-portal-v108 .ks-patient-main,
html body .ks-patient-portal-v108 .ks-patient-side,
html body .ks-patient-portal .ks-patient-main,
html body .ks-patient-portal .ks-patient-side {
    min-width: 0 !important;
    max-width: 100% !important;
}

html body .ks-patient-portal-v108 .ks-patient-steps,
html body .ks-patient-portal .ks-patient-steps {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}

html body .ks-patient-portal-v108 .ks-treatment-options,
html body .ks-patient-portal .ks-treatment-options {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
}

html body .ks-patient-portal-v108 .ks-step,
html body .ks-patient-portal-v108 .ks-mini-list > div,
html body .ks-patient-portal-v108 .ks-message-bubble,
html body .ks-patient-portal-v108 .ks-timeline-list > div,
html body .ks-patient-portal .ks-step,
html body .ks-patient-portal .ks-mini-list > div,
html body .ks-patient-portal .ks-message-bubble,
html body .ks-patient-portal .ks-timeline-list > div {
    min-width: 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

@media (max-width: 1180px) {
    html body .ks-patient-portal-v108,
    html body .ks-patient-portal {
        width: calc(100vw - 20px) !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    html body .ks-patient-portal-v108 .ks-public-hero,
    html body .ks-patient-portal-v108 .ks-patient-grid,
    html body .ks-patient-portal .ks-public-hero,
    html body .ks-patient-portal .ks-patient-grid {
        grid-template-columns: 1fr !important;
    }

    html body .ks-patient-portal-v108 .ks-two-col-form,
    html body .ks-patient-portal .ks-two-col-form {
        grid-template-columns: 1fr !important;
    }

    html body .ks-patient-portal-v108 .ks-two-col-form button,
    html body .ks-patient-portal .ks-two-col-form button {
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    html body .ks-patient-portal-v108,
    html body .ks-patient-portal {
        width: 100vw !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        overflow-x: hidden !important;
    }

    html body .ks-patient-portal-v108 .ks-public-hero,
    html body .ks-patient-portal-v108 .ks-glass-panel,
    html body .ks-patient-portal .ks-public-hero,
    html body .ks-patient-portal .ks-glass-panel {
        border-radius: 20px !important;
        padding: 16px !important;
    }

    html body .ks-patient-portal-v108 .ks-public-hero h1,
    html body .ks-patient-portal .ks-public-hero h1 {
        font-size: 30px !important;
        line-height: 1.08 !important;
    }

    html body .ks-patient-portal-v108 .ks-case-summary-bar,
    html body .ks-patient-portal .ks-case-summary-bar,
    html body .ks-patient-portal-v108 .ks-patient-steps,
    html body .ks-patient-portal .ks-patient-steps {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   v1.3.6 — Patient Portal Unified Workspace
   Sağ kolonun aşağı uzamasını engeller; destek, ödeme, mesaj
   ve timeline kartlarını ana akışa yatay/uyumlu biçimde taşır.
========================================================= */
html body .ks-patient-portal-v108 .ks-patient-quick-grid,
html body .ks-patient-portal .ks-patient-quick-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    min-width: 0 !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel,
html body .ks-patient-portal .ks-patient-quick-panel {
    display: grid !important;
    grid-template-columns: minmax(320px, 1.18fr) minmax(250px, .82fr) minmax(250px, .82fr) minmax(250px, .82fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel > .ks-glass-panel,
html body .ks-patient-portal .ks-patient-quick-panel > .ks-glass-panel {
    margin: 0 !important;
    padding: 18px !important;
    border-radius: 22px !important;
    min-width: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-section-head,
html body .ks-patient-portal .ks-patient-quick-panel .ks-section-head {
    padding: 0 !important;
    margin: 0 0 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-section-head h2,
html body .ks-patient-portal .ks-patient-quick-panel .ks-section-head h2 {
    font-size: 20px !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-section-head p,
html body .ks-patient-portal .ks-patient-quick-panel .ks-section-head p {
    font-size: 13px !important;
    line-height: 1.55 !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-clean-form,
html body .ks-patient-portal .ks-patient-quick-panel .ks-clean-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-clean-form label,
html body .ks-patient-portal .ks-patient-quick-panel .ks-clean-form label {
    margin: 0 !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel textarea,
html body .ks-patient-portal .ks-patient-quick-panel textarea {
    min-height: 76px !important;
    max-height: 120px !important;
    resize: vertical !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel button,
html body .ks-patient-portal .ks-patient-quick-panel button {
    width: fit-content !important;
    min-width: 150px !important;
    min-height: 42px !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-mini-list,
html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-message-list,
html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-timeline-list,
html body .ks-patient-portal .ks-patient-quick-panel .ks-mini-list,
html body .ks-patient-portal .ks-patient-quick-panel .ks-message-list,
html body .ks-patient-portal .ks-patient-quick-panel .ks-timeline-list {
    max-height: 190px !important;
    overflow: auto !important;
    padding-right: 4px !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-mini-list > div,
html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-timeline-list > div,
html body .ks-patient-portal .ks-patient-quick-panel .ks-mini-list > div,
html body .ks-patient-portal .ks-patient-quick-panel .ks-timeline-list > div {
    padding: 12px !important;
    border-radius: 16px !important;
}

html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-message-bubble,
html body .ks-patient-portal .ks-patient-quick-panel .ks-message-bubble {
    padding: 11px 12px !important;
}

html body .ks-patient-portal-v108 .ks-patient-grid--single,
html body .ks-patient-portal .ks-patient-grid--single {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

html body .ks-patient-portal-v108 .ks-patient-grid--single .ks-patient-main,
html body .ks-patient-portal .ks-patient-grid--single .ks-patient-main {
    width: 100% !important;
    max-width: 100% !important;
}

html body .ks-patient-portal-v108 .ks-patient-grid--single .ks-glass-panel,
html body .ks-patient-portal .ks-patient-grid--single .ks-glass-panel {
    margin-bottom: 18px !important;
}

@media (max-width: 1420px) {
    html body .ks-patient-portal-v108 .ks-patient-quick-panel,
    html body .ks-patient-portal .ks-patient-quick-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    html body .ks-patient-portal-v108 .ks-patient-quick-panel,
    html body .ks-patient-portal .ks-patient-quick-panel {
        grid-template-columns: 1fr !important;
    }

    html body .ks-patient-portal-v108 .ks-patient-quick-panel button,
    html body .ks-patient-portal .ks-patient-quick-panel button {
        width: 100% !important;
    }

    html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-mini-list,
    html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-message-list,
    html body .ks-patient-portal-v108 .ks-patient-quick-panel .ks-timeline-list,
    html body .ks-patient-portal .ks-patient-quick-panel .ks-mini-list,
    html body .ks-patient-portal .ks-patient-quick-panel .ks-message-list,
    html body .ks-patient-portal .ks-patient-quick-panel .ks-timeline-list {
        max-height: none !important;
        overflow: visible !important;
    }
}


/* =========================================================
   Setup 1 — Core Portal Layout Stabilization
   Scope: stop full-width drift, unify patient/staff shells, reduce right-panel overflow.
   This block is intentionally placed last to override older patch layers safely.
========================================================= */
html body .ks-portal,
html body .ks-patient-portal-v108,
html body .ks-staff-portal,
html body .ks-application-flow,
html body .ks-payment-flow,
html body .ks-auth-portal-v108 {
    box-sizing: border-box !important;
    width: min(100% - 32px, 1560px) !important;
    max-width: 1560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    overflow-x: clip !important;
}
html body .ks-portal *,
html body .ks-portal *::before,
html body .ks-portal *::after {
    box-sizing: border-box !important;
}
html body .ks-staff-portal .ks-layout,
html body .ks-staff-portal .ks-shell {
    display: grid !important;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}
html body .ks-staff-portal .ks-main,
html body .ks-staff-portal .ks-panel,
html body .ks-staff-portal .ks-detail-panel,
html body .ks-patient-portal-v108 .ks-patient-main,
html body .ks-patient-portal-v108 .ks-glass-panel,
html body .ks-patient-portal-v108 .ks-hero-card {
    min-width: 0 !important;
    max-width: 100% !important;
}
html body .ks-staff-portal .ks-sidebar {
    position: sticky !important;
    top: 24px !important;
    align-self: start !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
}
html body .ks-staff-portal .ks-table-wrap,
html body .ks-patient-portal-v108 .ks-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}
html body .ks-patient-portal-v108 .ks-patient-grid,
html body .ks-patient-portal .ks-patient-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
}
html body .ks-patient-portal-v108 .ks-patient-quick-panel,
html body .ks-patient-portal .ks-patient-quick-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
}
html body .ks-section-head h1,
html body .ks-section-head h2,
html body .ks-page-header h1,
html body .ks-page-header h2,
html body .ks-public-hero h1 {
    text-wrap: balance !important;
}
html body .ks-clean-form input,
html body .ks-clean-form select,
html body .ks-clean-form textarea,
html body .ks-action-form input,
html body .ks-action-form select,
html body .ks-action-form textarea {
    max-width: 100% !important;
}
@media (max-width: 1180px) {
    html body .ks-staff-portal .ks-layout,
    html body .ks-staff-portal .ks-shell {
        grid-template-columns: 1fr !important;
    }
    html body .ks-staff-portal .ks-sidebar {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }
    html body .ks-staff-portal .ks-nav {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
}
@media (max-width: 820px) {
    html body .ks-portal,
    html body .ks-patient-portal-v108,
    html body .ks-staff-portal,
    html body .ks-application-flow,
    html body .ks-payment-flow,
    html body .ks-auth-portal-v108 {
        width: min(100% - 18px, 100%) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    html body .ks-staff-portal .ks-nav,
    html body .ks-staff-portal .ks-mobile-tabs,
    html body .ks-patient-portal-v108 .ks-patient-quick-panel,
    html body .ks-patient-portal .ks-patient-quick-panel,
    html body .ks-case-summary-bar,
    html body .ks-application-summary-bar,
    html body .ks-metric-grid,
    html body .ks-metric-grid--three,
    html body .ks-metric-grid--four,
    html body .ks-patient-quick-grid {
        grid-template-columns: 1fr !important;
    }
    html body .ks-panel,
    html body .ks-glass-panel,
    html body .ks-public-hero,
    html body .ks-hero-card {
        border-radius: 22px !important;
        padding: 18px !important;
    }
}

/* =========================================================
   Setup 1.1 — Hard Portal Layout Reset + TranslatePress-safe wrappers
   Goal: remove horizontal drift from old full-bleed patches and make portal pages behave like a real app shell.
========================================================= */
html.cha-pcm-has-portal,
html.cha-pcm-has-portal body,
body.cha-pcm-page {
    overflow-x: hidden !important;
}

body.cha-pcm-page .site,
body.cha-pcm-page .site-content,
body.cha-pcm-page .entry-content,
body.cha-pcm-page .wp-site-blocks,
body.cha-pcm-page main,
body.cha-pcm-page article,
body.cha-pcm-page .page-content {
    overflow-x: clip !important;
}

body.cha-pcm-page .entry-content > .cha-pcm-shortcode-root,
body.cha-pcm-page .wp-block-post-content > .cha-pcm-shortcode-root,
.cha-pcm-shortcode-root {
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    clear: both !important;
    isolation: isolate !important;
}

.cha-pcm-shortcode-root *,
.cha-pcm-shortcode-root *::before,
.cha-pcm-shortcode-root *::after {
    box-sizing: border-box !important;
}

/* One single full-viewport centering method. Overrides all older left/translate/calc patches safely. */
.cha-pcm-shortcode-root > .ks-portal,
html body .cha-pcm-shortcode-root .ks-portal.ks-patient-portal-v108,
html body .cha-pcm-shortcode-root .ks-patient-portal-v108,
html body .cha-pcm-shortcode-root .ks-staff-portal,
html body .cha-pcm-shortcode-root .ks-application-flow,
html body .cha-pcm-shortcode-root .ks-payment-flow,
html body .cha-pcm-shortcode-root .ks-auth-portal-v108 {
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(1760px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    min-width: 0 !important;
    margin: 16px 0 56px 0 !important;
    padding: clamp(14px, 1.55vw, 24px) !important;
    border-radius: 28px !important;
    overflow-x: hidden !important;
    contain: layout paint !important;
}

/* Keep app surfaces inside the shell. */
.cha-pcm-shortcode-root .ks-public-hero,
.cha-pcm-shortcode-root .ks-flow-hero,
.cha-pcm-shortcode-root .ks-flow-card,
.cha-pcm-shortcode-root .ks-glass-panel,
.cha-pcm-shortcode-root .ks-panel,
.cha-pcm-shortcode-root .ks-case-summary-bar,
.cha-pcm-shortcode-root .ks-application-summary-bar,
.cha-pcm-shortcode-root .ks-payment-summary-grid,
.cha-pcm-shortcode-root .ks-payment-method-grid,
.cha-pcm-shortcode-root .ks-patient-grid,
.cha-pcm-shortcode-root .ks-patient-quick-grid,
.cha-pcm-shortcode-root .ks-patient-quick-panel,
.cha-pcm-shortcode-root .ks-layout,
.cha-pcm-shortcode-root .ks-main,
.cha-pcm-shortcode-root .ks-sidebar,
.cha-pcm-shortcode-root .ks-finance-center-layout,
.cha-pcm-shortcode-root .ks-message-console,
.cha-pcm-shortcode-root .ks-staff-users-layout,
.cha-pcm-shortcode-root .ks-client-relations-grid,
.cha-pcm-shortcode-root .ks-report-dashboard,
.cha-pcm-shortcode-root .ks-metric-grid,
.cha-pcm-shortcode-root .ks-mini-stat-grid,
.cha-pcm-shortcode-root .ks-role-grid {
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Staff portal: predictable two-column app shell. */
.cha-pcm-shortcode-root .ks-staff-portal .ks-layout {
    display: grid !important;
    grid-template-columns: 270px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
    width: 100% !important;
}

.cha-pcm-shortcode-root .ks-staff-portal .ks-sidebar {
    position: sticky !important;
    top: 18px !important;
    align-self: start !important;
    max-height: calc(100vh - 36px) !important;
    overflow: auto !important;
}

.cha-pcm-shortcode-root .ks-staff-portal .ks-main {
    display: block !important;
    width: 100% !important;
}

.cha-pcm-shortcode-root .ks-staff-portal .ks-nav a,
.cha-pcm-shortcode-root .ks-staff-portal .ks-mobile-tabs a {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

/* Patient portal: quick cards are a clean card grid, not a long right rail. */
.cha-pcm-shortcode-root .ks-patient-portal-v108 .ks-patient-quick-grid,
.cha-pcm-shortcode-root .ks-patient-portal .ks-patient-quick-grid {
    display: block !important;
    width: 100% !important;
}

.cha-pcm-shortcode-root .ks-patient-portal-v108 .ks-patient-quick-panel,
.cha-pcm-shortcode-root .ks-patient-portal .ks-patient-quick-panel {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    align-items: stretch !important;
    margin: 0 0 20px 0 !important;
}

.cha-pcm-shortcode-root .ks-patient-portal-v108 .ks-patient-quick-panel > .ks-glass-panel,
.cha-pcm-shortcode-root .ks-patient-portal .ks-patient-quick-panel > .ks-glass-panel {
    margin: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.cha-pcm-shortcode-root .ks-patient-portal-v108 .ks-patient-grid,
.cha-pcm-shortcode-root .ks-patient-portal .ks-patient-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
}

.cha-pcm-shortcode-root .ks-patient-portal-v108 .ks-patient-main,
.cha-pcm-shortcode-root .ks-patient-portal .ks-patient-main {
    width: 100% !important;
    max-width: 100% !important;
}

/* Form/table safety. */
.cha-pcm-shortcode-root input,
.cha-pcm-shortcode-root select,
.cha-pcm-shortcode-root textarea,
.cha-pcm-shortcode-root button {
    max-width: 100% !important;
}

.cha-pcm-shortcode-root .ks-table-wrap,
.cha-pcm-shortcode-root .ks-fluent-wrap,
.cha-pcm-shortcode-root .ks-message-list,
.cha-pcm-shortcode-root .ks-mini-list,
.cha-pcm-shortcode-root .ks-timeline-list,
.cha-pcm-shortcode-root .ks-conversation-body,
.cha-pcm-shortcode-root .ks-finance-payment-list {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.cha-pcm-shortcode-root .ks-table {
    max-width: none !important;
}

.cha-pcm-shortcode-root img,
.cha-pcm-shortcode-root svg,
.cha-pcm-shortcode-root video,
.cha-pcm-shortcode-root canvas,
.cha-pcm-shortcode-root iframe,
.cha-pcm-shortcode-root pre {
    max-width: 100% !important;
}

.cha-pcm-shortcode-root p,
.cha-pcm-shortcode-root span,
.cha-pcm-shortcode-root strong,
.cha-pcm-shortcode-root small,
.cha-pcm-shortcode-root h1,
.cha-pcm-shortcode-root h2,
.cha-pcm-shortcode-root h3,
.cha-pcm-shortcode-root h4,
.cha-pcm-shortcode-root td,
.cha-pcm-shortcode-root th {
    overflow-wrap: anywhere !important;
}

@media (max-width: 1440px) {
    .cha-pcm-shortcode-root .ks-patient-portal-v108 .ks-patient-quick-panel,
    .cha-pcm-shortcode-root .ks-patient-portal .ks-patient-quick-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1180px) {
    .cha-pcm-shortcode-root .ks-staff-portal .ks-layout {
        grid-template-columns: 1fr !important;
    }
    .cha-pcm-shortcode-root .ks-staff-portal .ks-sidebar {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }
    .cha-pcm-shortcode-root .ks-staff-portal .ks-nav,
    .cha-pcm-shortcode-root .ks-staff-portal .ks-mobile-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .cha-pcm-shortcode-root .ks-finance-center-layout,
    .cha-pcm-shortcode-root .ks-message-console,
    .cha-pcm-shortcode-root .ks-staff-users-layout,
    .cha-pcm-shortcode-root .ks-client-relations-grid,
    .cha-pcm-shortcode-root .ks-report-dashboard {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 820px) {
    .cha-pcm-shortcode-root > .ks-portal,
    html body .cha-pcm-shortcode-root .ks-portal.ks-patient-portal-v108,
    html body .cha-pcm-shortcode-root .ks-patient-portal-v108,
    html body .cha-pcm-shortcode-root .ks-staff-portal,
    html body .cha-pcm-shortcode-root .ks-application-flow,
    html body .cha-pcm-shortcode-root .ks-payment-flow,
    html body .cha-pcm-shortcode-root .ks-auth-portal-v108 {
        width: calc(100vw - 14px) !important;
        max-width: calc(100vw - 14px) !important;
        padding: 10px !important;
        border-radius: 20px !important;
        margin-top: 8px !important;
    }
    .cha-pcm-shortcode-root .ks-public-hero,
    .cha-pcm-shortcode-root .ks-flow-hero,
    .cha-pcm-shortcode-root .ks-case-summary-bar,
    .cha-pcm-shortcode-root .ks-application-summary-bar,
    .cha-pcm-shortcode-root .ks-payment-summary-grid,
    .cha-pcm-shortcode-root .ks-payment-method-grid,
    .cha-pcm-shortcode-root .ks-patient-quick-panel,
    .cha-pcm-shortcode-root .ks-metric-grid,
    .cha-pcm-shortcode-root .ks-metric-grid--three,
    .cha-pcm-shortcode-root .ks-metric-grid--four,
    .cha-pcm-shortcode-root .ks-mini-stat-grid,
    .cha-pcm-shortcode-root .ks-role-grid,
    .cha-pcm-shortcode-root .ks-flow-steps,
    .cha-pcm-shortcode-root .ks-two-col-form,
    .cha-pcm-shortcode-root .ks-finance-payment-row,
    .cha-pcm-shortcode-root .ks-staff-portal .ks-nav,
    .cha-pcm-shortcode-root .ks-staff-portal .ks-mobile-tabs {
        grid-template-columns: 1fr !important;
    }
    .cha-pcm-shortcode-root .ks-panel,
    .cha-pcm-shortcode-root .ks-glass-panel,
    .cha-pcm-shortcode-root .ks-flow-card,
    .cha-pcm-shortcode-root .ks-public-hero,
    .cha-pcm-shortcode-root .ks-flow-hero,
    .cha-pcm-shortcode-root .ks-hero-card {
        border-radius: 18px !important;
        padding: 16px !important;
    }
    .cha-pcm-shortcode-root .ks-table {
        min-width: 720px !important;
    }
    .cha-pcm-shortcode-root .ks-page-header,
    .cha-pcm-shortcode-root .ks-section-head,
    .cha-pcm-shortcode-root .ks-panel-title,
    .cha-pcm-shortcode-root .ks-flow-section-head {
        display: block !important;
    }
}


/* Setup 1.2 Hotfix v1.3.10 — Staff portal DeepL settings */
.ks-staff-portal .ks-settings-panel .ks-settings-form { display: grid; gap: 18px; }
.ks-staff-portal .ks-form-grid { display: grid; gap: 16px; }
.ks-staff-portal .ks-form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ks-staff-portal .ks-form-grid-full { grid-column: 1 / -1; }
.ks-staff-portal .ks-settings-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; color: #334155; }
.ks-staff-portal .ks-settings-form input[type="password"],
.ks-staff-portal .ks-settings-form select { width: 100%; min-height: 42px; border: 1px solid rgba(148, 163, 184, .45); border-radius: 14px; padding: 9px 12px; background: #fff; color: #0f172a; }
.ks-staff-portal .ks-settings-form small { font-size: 12px; font-weight: 500; color: #64748b; }
.ks-staff-portal .ks-checkline { display: flex !important; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid rgba(148, 163, 184, .35); border-radius: 16px; background: rgba(248, 250, 252, .9); }
.ks-staff-portal .ks-checkline input { width: auto; min-height: auto; }
.ks-staff-portal .ks-action-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
@media (max-width: 760px) { .ks-staff-portal .ks-form-grid--2 { grid-template-columns: 1fr; } }

/* Setup 2.2 — Professional Staff Portal Architecture */
.ks-staff-portal .ks-nav--grouped {
    gap: 4px !important;
}
.ks-staff-portal .ks-nav-group {
    display: block;
    margin: 18px 10px 7px !important;
    padding: 0 !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    font-weight: 900 !important;
    color: rgba(255,255,255,.72) !important;
}
.ks-staff-portal .ks-nav--grouped a {
    position: relative;
}
.ks-staff-portal .ks-nav--grouped a.is-active::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 50%;
    width: 4px;
    height: 20px;
    border-radius: 999px;
    background: #07998f;
    transform: translateY(-50%);
}
.ks-staff-portal .ks-workflow-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 20px;
}
.ks-staff-portal .ks-workflow-card {
    display: block;
    min-height: 126px;
    padding: 18px;
    border: 1px solid #dbe8f7;
    border-radius: 20px;
    background: linear-gradient(180deg, #fff, #f8fbff);
    text-decoration: none !important;
    box-shadow: 0 14px 36px rgba(20,58,123,.07);
}
.ks-staff-portal .ks-workflow-card:hover {
    transform: translateY(-1px);
    border-color: #b9d6f2;
    box-shadow: 0 18px 46px rgba(20,58,123,.10);
}
.ks-staff-portal .ks-workflow-card span {
    display: block;
    margin-bottom: 8px;
    color: #07998f;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 900;
}
.ks-staff-portal .ks-workflow-card strong {
    display: block;
    color: #0b2a5b;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 950;
    margin-bottom: 8px;
}
.ks-staff-portal .ks-workflow-card small {
    display: block;
    color: #5f6f8a;
    font-size: 12.5px;
    line-height: 1.55;
}
.ks-staff-portal .ks-workflow-card.is-warning span { color: #a86b00; }
.ks-staff-portal .ks-workflow-card.is-info span { color: #1261a6; }
.ks-staff-portal .ks-section-head p {
    max-width: 920px;
}
.ks-staff-portal .ks-finance-actions {
    border-top: 1px solid #e7eef8;
    padding-top: 16px;
}
@media (max-width: 1280px) {
    .ks-staff-portal .ks-workflow-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .ks-staff-portal .ks-workflow-grid {
        grid-template-columns: 1fr;
    }
    .ks-staff-portal .ks-workflow-card {
        min-height: auto;
    }
    .ks-staff-portal .ks-nav-group {
        display: none !important;
    }
}

/* Setup 2.3 — Case Workspace Redesign Foundation */
.cha-pcm-case-workspace .cha-pcm-command-center {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr) minmax(220px, .65fr);
    gap: 18px;
    align-items: stretch;
    padding: 22px;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 28px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 54%, #eef6ff 100%);
    box-shadow: 0 22px 60px rgba(15, 43, 85, .10);
    margin: 16px 0 18px;
    overflow: hidden;
}
.cha-pcm-case-workspace .cha-pcm-command-main h2 {
    margin: 4px 0 8px;
    font-size: clamp(26px, 3vw, 40px);
    line-height: 1.05;
    letter-spacing: -.035em;
    color: #09244d;
}
.cha-pcm-case-workspace .cha-pcm-command-main p {
    margin: 0 0 14px;
    color: #40516d;
    font-size: 14px;
    line-height: 1.55;
}
.cha-pcm-case-workspace .cha-pcm-eyebrow,
.cha-pcm-case-workspace .cha-pcm-panel-kicker,
.cha-pcm-case-workspace .cha-pcm-next-action-card span,
.cha-pcm-case-workspace .cha-pcm-health-card span {
    display: block;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .11em;
    color: #4b6b9b;
    margin-bottom: 7px;
}
.cha-pcm-case-workspace .cha-pcm-command-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.cha-pcm-case-workspace .cha-pcm-next-action-card,
.cha-pcm-case-workspace .cha-pcm-health-card {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 22px;
    background: rgba(255,255,255,.88);
    padding: 18px;
    min-height: 160px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.cha-pcm-case-workspace .cha-pcm-next-action-card strong,
.cha-pcm-case-workspace .cha-pcm-health-card strong {
    display: block;
    color: #09244d;
    font-size: 20px;
    line-height: 1.15;
    font-weight: 950;
    margin-bottom: 8px;
}
.cha-pcm-case-workspace .cha-pcm-next-action-card p,
.cha-pcm-case-workspace .cha-pcm-health-card p {
    color: #52637c;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 12px;
}
.cha-pcm-case-workspace .cha-pcm-health-card em {
    display: inline-flex;
    align-self: flex-start;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    border-radius: 999px;
    padding: 6px 10px;
    margin-bottom: 10px;
    background: #eef2ff;
    color: #3730a3;
}
.cha-pcm-case-workspace .cha-pcm-health-green .cha-pcm-health-card em { background: #ecfdf5; color: #047857; }
.cha-pcm-case-workspace .cha-pcm-health-amber .cha-pcm-health-card em { background: #fffbeb; color: #b45309; }
.cha-pcm-case-workspace .cha-pcm-health-red .cha-pcm-health-card em { background: #fef2f2; color: #b91c1c; }
.cha-pcm-case-workspace .cha-pcm-workspace-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}
.cha-pcm-case-workspace .cha-pcm-workspace-tabs {
    position: sticky;
    top: 12px;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
    margin: 18px 0 18px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 16px 42px rgba(15,43,85,.08);
    backdrop-filter: blur(10px);
}
.cha-pcm-case-workspace .cha-pcm-workspace-tab {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 16px;
    background: #f8fafc;
    padding: 12px 10px;
    min-height: 72px;
    text-align: left;
    cursor: pointer;
    transition: all .18s ease;
}
.cha-pcm-case-workspace .cha-pcm-workspace-tab strong {
    display: block;
    font-size: 13px;
    line-height: 1.2;
    color: #19365f;
    font-weight: 950;
}
.cha-pcm-case-workspace .cha-pcm-workspace-tab small {
    display: block;
    margin-top: 5px;
    color: #64748b;
    font-size: 11.5px;
    line-height: 1.25;
}
.cha-pcm-case-workspace .cha-pcm-workspace-tab.is-active {
    background: linear-gradient(135deg, #0b3a74 0%, #1261a6 100%);
    border-color: transparent;
    box-shadow: 0 12px 26px rgba(18,97,166,.22);
}
.cha-pcm-case-workspace .cha-pcm-workspace-tab.is-active strong,
.cha-pcm-case-workspace .cha-pcm-workspace-tab.is-active small { color: #fff; }
.cha-pcm-case-workspace.cha-pcm-workspace-js .cha-pcm-workspace-tab-panel { display: none; }
.cha-pcm-case-workspace.cha-pcm-workspace-js .cha-pcm-workspace-tab-panel.is-active { display: block; }
.cha-pcm-case-workspace .cha-pcm-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, .85fr);
    gap: 16px;
    margin-bottom: 18px;
}
.cha-pcm-case-workspace .cha-pcm-priority-panel,
.cha-pcm-case-workspace .cha-pcm-risk-panel,
.cha-pcm-case-workspace .cha-pcm-snapshot-panel {
    border-radius: 22px;
    min-height: 170px;
}
.cha-pcm-case-workspace .cha-pcm-priority-panel h3,
.cha-pcm-case-workspace .cha-pcm-risk-panel h3 {
    margin-top: 0;
    color: #09244d;
    font-size: 21px;
    line-height: 1.18;
}
.cha-pcm-case-workspace .cha-pcm-risk-list {
    margin: 8px 0 0;
    padding-left: 18px;
    color: #52637c;
}
.cha-pcm-case-workspace .cha-pcm-risk-list li { margin: 6px 0; }
.cha-pcm-case-workspace .cha-pcm-snapshot-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.cha-pcm-case-workspace .cha-pcm-snapshot-list div {
    border: 1px solid #e7eef8;
    border-radius: 16px;
    background: #f8fbff;
    padding: 12px;
}
.cha-pcm-case-workspace .cha-pcm-snapshot-list strong {
    display: block;
    color: #0b2a5b;
    font-size: 21px;
    font-weight: 950;
}
.cha-pcm-case-workspace .cha-pcm-snapshot-list span {
    color: #63728a;
    font-size: 12px;
}
.cha-pcm-case-workspace .cha-pcm-action-policy .cha-pcm-action-note {
    border: 1px dashed #b6c9e4;
    background: #f6fbff;
    border-radius: 16px;
    padding: 14px;
    color: #304667;
}
.cha-pcm-case-workspace .cha-pcm-action-policy .cha-pcm-action-note strong,
.cha-pcm-case-workspace .cha-pcm-action-policy .cha-pcm-action-note span {
    display: block;
}
@media (max-width: 1320px) {
    .cha-pcm-case-workspace .cha-pcm-command-center { grid-template-columns: 1fr; }
    .cha-pcm-case-workspace .cha-pcm-workspace-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cha-pcm-case-workspace .cha-pcm-workspace-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; top: auto; }
    .cha-pcm-case-workspace .cha-pcm-overview-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .cha-pcm-case-workspace .cha-pcm-command-center { padding: 16px; border-radius: 20px; }
    .cha-pcm-case-workspace .cha-pcm-workspace-metrics { grid-template-columns: 1fr; }
    .cha-pcm-case-workspace .cha-pcm-workspace-tabs { grid-template-columns: 1fr; }
    .cha-pcm-case-workspace .cha-pcm-workspace-tab { min-height: auto; }
}

/* Setup 2.4 — Document Checklist & Medical Review */
.cha-pcm-panel-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.cha-pcm-panel-headline h3{margin:0 0 6px;font-size:18px;font-weight:800;color:#0f172a}.cha-pcm-panel-headline p{margin:0;color:#64748b;line-height:1.55}.cha-pcm-mini-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(15,23,42,.12);background:#f8fafc;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;color:#334155;white-space:nowrap}.cha-pcm-document-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cha-pcm-document-checkitem{border:1px solid rgba(148,163,184,.35);border-radius:18px;padding:16px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.04);display:grid;gap:12px}.cha-pcm-document-checkitem.is-green{border-color:rgba(22,163,74,.28);background:linear-gradient(180deg,#ffffff,#f0fdf4)}.cha-pcm-document-checkitem.is-amber{border-color:rgba(245,158,11,.35);background:linear-gradient(180deg,#ffffff,#fffbeb)}.cha-pcm-document-checkitem.is-red{border-color:rgba(220,38,38,.30);background:linear-gradient(180deg,#ffffff,#fef2f2)}.cha-pcm-document-checkitem.is-blue{border-color:rgba(37,99,235,.25);background:linear-gradient(180deg,#ffffff,#eff6ff)}.cha-pcm-document-checkitem__main strong{display:block;font-size:14px;font-weight:800;color:#0f172a}.cha-pcm-document-checkitem__main strong em{font-style:normal;margin-left:8px;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#64748b;background:rgba(15,23,42,.06);padding:4px 7px;border-radius:999px}.cha-pcm-document-checkitem__main span{display:block;margin-top:5px;font-size:12px;line-height:1.45;color:#64748b}.cha-pcm-document-checkitem__meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.cha-pcm-document-checkitem__meta small{color:#64748b;font-weight:700}.cha-pcm-document-checkitem__files{display:flex;flex-wrap:wrap;gap:8px}.cha-pcm-document-checkitem__files a{font-size:12px;text-decoration:none;border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:999px;padding:6px 9px;color:#0f766e;font-weight:700}.cha-pcm-document-review-list{display:grid;gap:14px}.cha-pcm-document-review-card{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:start;border:1px solid rgba(148,163,184,.35);border-radius:18px;background:#fff;padding:16px}.cha-pcm-document-review-card>div:first-child strong{display:block;color:#0f172a;font-weight:800}.cha-pcm-document-review-card>div:first-child span{display:block;color:#64748b;font-size:12px;margin:4px 0}.cha-pcm-document-review-card>div:first-child a{font-size:12px;font-weight:800;text-decoration:none;color:#0f766e}.cha-pcm-document-review-form{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;border-top:1px solid rgba(148,163,184,.25);padding-top:14px}.cha-pcm-document-review-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#334155}.cha-pcm-document-review-form textarea,.cha-pcm-document-review-form select{width:100%;border-radius:12px;border:1px solid rgba(148,163,184,.45);padding:9px 10px}.cha-pcm-document-review-form button{justify-self:start}.cha-pcm-medical-board .cha-pcm-medical-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.cha-pcm-medical-status-grid div{border:1px solid rgba(148,163,184,.28);background:#f8fafc;border-radius:16px;padding:12px}.cha-pcm-medical-status-grid strong{display:block;color:#0f172a;font-weight:900}.cha-pcm-medical-status-grid span{display:block;color:#64748b;font-size:12px;margin-top:4px}.cha-pcm-medical-board .cha-pcm-action-note{margin:12px 0;background:#f8fafc;border:1px solid rgba(148,163,184,.3);border-radius:14px;padding:12px}.cha-pcm-medical-board .cha-pcm-action-note strong{display:block;color:#0f172a}.cha-pcm-medical-board .cha-pcm-action-note span{display:block;color:#64748b;font-size:12px;margin-top:3px}@media(max-width:900px){.cha-pcm-document-checklist,.cha-pcm-document-review-form,.cha-pcm-medical-board .cha-pcm-medical-status-grid{grid-template-columns:1fr}.cha-pcm-panel-headline,.cha-pcm-document-review-card{display:block}.cha-pcm-mini-badge{margin-top:12px}.cha-pcm-document-review-form{margin-top:14px}}

/* Setup 2.5 — Treatment Builder & Invoice Line Items */
.cha-pcm-treatment-builder .cha-pcm-panel-headline,
.cha-pcm-invoice-builder .cha-pcm-panel-headline { align-items: flex-start; gap: 16px; }
.cha-pcm-treatment-builder-grid { gap: 18px; }
.cha-pcm-treatment-option-card { border: 1px solid rgba(15,23,42,.10); border-radius: 18px; background: linear-gradient(180deg, #fff, #f8fafc); box-shadow: 0 12px 30px rgba(15,23,42,.06); }
.cha-pcm-option-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap: 12px; margin-bottom: 12px; }
.cha-pcm-option-card-header h3 { margin: 0 0 3px; }
.cha-pcm-option-card-header span { color:#64748b; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.cha-pcm-treatment-option-card textarea { min-height: 76px; }
.cha-pcm-publish-guard { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:14px 0; padding:12px 14px; border:1px solid rgba(245,158,11,.26); border-radius:14px; background:#fffbeb; color:#92400e; }
.cha-pcm-publish-guard strong { color:#78350f; }
.cha-pcm-service-line-builder { margin-top: 20px; padding: 16px; border: 1px solid rgba(15,23,42,.10); border-radius: 18px; background: #f8fafc; }
.cha-pcm-panel-headline.compact { margin-bottom: 12px; }
.cha-pcm-line-total { display:inline-flex; align-items:center; justify-content:center; min-width:110px; padding:8px 12px; border-radius:999px; background:#0f172a; color:#fff; font-size:13px; }
.cha-pcm-service-line-head,
.cha-pcm-service-line-row { display:grid; grid-template-columns: 150px 170px minmax(190px,1fr) 78px 105px 86px minmax(140px,1fr); gap:8px; align-items:center; }
.cha-pcm-service-line-head { color:#64748b; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; padding: 0 2px 7px; }
.cha-pcm-service-line-row { margin-bottom: 8px; padding:8px; border-radius: 13px; background:#fff; border:1px solid rgba(15,23,42,.08); }
.cha-pcm-service-line-row input,
.cha-pcm-service-line-row select { width:100%; min-height:38px; border-radius:10px; border:1px solid rgba(148,163,184,.55); }
.cha-pcm-mini-check { display:flex; align-items:center; gap:6px; font-size:12px; color:#334155; margin:0!important; white-space:nowrap; }
@media (max-width: 1180px) {
  .cha-pcm-service-line-head { display:none; }
  .cha-pcm-service-line-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .cha-pcm-service-line-row { grid-template-columns: 1fr; }
  .cha-pcm-panel-headline { flex-direction: column; }
}
.ks-selected-treatment-details .ks-treatment-detail-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:10px; margin: 12px 0 16px; }
.ks-selected-treatment-details .ks-treatment-detail-grid div { padding:12px; border-radius:14px; background:#f8fafc; border:1px solid rgba(15,23,42,.08); }
.ks-selected-treatment-details .ks-treatment-detail-grid span { display:block; font-size:11px; color:#64748b; text-transform:uppercase; letter-spacing:.06em; font-weight:800; }
.ks-selected-treatment-details .ks-treatment-detail-grid strong { display:block; margin-top:4px; color:#0f172a; }
.ks-detail-block { margin-top:10px; padding:12px 14px; border-radius:14px; background:#fff; border:1px solid rgba(15,23,42,.08); }
.ks-detail-block strong { display:block; margin-bottom:6px; color:#0f172a; }
.ks-detail-block p { margin:0; color:#475569; }
@media (max-width: 920px) { .ks-selected-treatment-details .ks-treatment-detail-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .ks-selected-treatment-details .ks-treatment-detail-grid { grid-template-columns: 1fr; } }

/* Setup 2.6 — Tasks, Internal Notes & Notification History */
.cha-pcm-tasks-notes-grid { align-items: start; gap: 18px; }
.cha-pcm-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cha-pcm-task-create-form,
.cha-pcm-note-create-form { margin-bottom: 18px; padding: 14px; border: 1px solid rgba(148,163,184,.28); border-radius: 18px; background: #f8fafc; }
.cha-pcm-task-board,
.cha-pcm-note-list { display: grid; gap: 12px; }
.cha-pcm-task-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .46fr); gap: 14px; align-items: start; border: 1px solid rgba(148,163,184,.30); border-left: 5px solid #64748b; background: #fff; border-radius: 18px; padding: 14px; box-shadow: 0 10px 28px rgba(15,23,42,.04); }
.cha-pcm-task-card.priority-low { border-left-color: #94a3b8; }
.cha-pcm-task-card.priority-normal { border-left-color: #2563eb; }
.cha-pcm-task-card.priority-high { border-left-color: #f59e0b; }
.cha-pcm-task-card.priority-urgent { border-left-color: #dc2626; }
.cha-pcm-task-card.status-completed { opacity: .74; background: #f8fafc; }
.cha-pcm-task-card.is-overdue { background: linear-gradient(180deg, #fff, #fef2f2); border-color: rgba(220,38,38,.28); }
.cha-pcm-task-main strong { display:block; color:#0f172a; font-size:15px; font-weight:900; }
.cha-pcm-task-main span { display:block; margin-top:4px; color:#64748b; font-size:12px; font-weight:800; }
.cha-pcm-task-main p { margin:8px 0; color:#475569; line-height:1.5; }
.cha-pcm-task-main small { display:block; color:#64748b; line-height:1.45; }
.cha-pcm-task-update-form { display:grid; grid-template-columns: 1fr 1fr; gap:8px; align-items:center; }
.cha-pcm-task-update-form select,
.cha-pcm-task-update-form input { width:100%; min-height:36px; border-radius:10px; border:1px solid rgba(148,163,184,.50); }
.cha-pcm-task-update-form button { grid-column: 1 / -1; justify-self:start; }
.cha-pcm-note-card { border: 1px solid rgba(148,163,184,.30); border-left: 5px solid #0f766e; border-radius: 18px; background: #fff; padding: 14px; box-shadow: 0 10px 28px rgba(15,23,42,.04); }
.cha-pcm-note-card.type-medical { border-left-color:#7c3aed; }
.cha-pcm-note-card.type-finance { border-left-color:#0f766e; }
.cha-pcm-note-card.type-operation { border-left-color:#2563eb; }
.cha-pcm-note-card.type-risk { border-left-color:#dc2626; }
.cha-pcm-note-card.type-follow_up { border-left-color:#f59e0b; }
.cha-pcm-note-card span { display:block; color:#64748b; font-size:12px; font-weight:800; margin-bottom:6px; }
.cha-pcm-note-card strong { display:block; color:#0f172a; font-size:15px; font-weight:900; margin-bottom:6px; }
.cha-pcm-note-card p { margin:0; color:#334155; line-height:1.55; }
.cha-pcm-notification-history-panel { margin-top:18px; }
.cha-pcm-notification-history-panel small { color:#64748b; word-break:break-all; }
@media (max-width: 1050px) {
  .cha-pcm-task-card { grid-template-columns: 1fr; }
  .cha-pcm-task-update-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .cha-pcm-form-grid,
  .cha-pcm-task-update-form { grid-template-columns: 1fr; }
}

/* Setup 2.7 — Assignment, SLA Automation & Reminders */
.cha-pcm-inline-assignment-form {
  display: flex;
  align-items: end;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding: 12px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
}
.cha-pcm-inline-assignment-form label {
  display: grid;
  gap: 5px;
  font-size: 12px;
  font-weight: 800;
  color: #475569;
}
.cha-pcm-inline-assignment-form select {
  min-width: 220px;
  border-radius: 12px;
  border-color: rgba(15,23,42,.16);
}
.cha-pcm-automation-panel h3 {
  margin: 4px 0 8px;
  font-size: 24px;
}
.cha-pcm-task-card small + small {
  display: block;
  margin-top: 4px;
  color: #64748b;
}

/* Setup 2.8 — Reporting Dashboard & Operational Analytics */
.ks-report-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin:0 0 18px;padding:14px;border:1px solid #dceafa;border-radius:18px;background:#f8fbff}.ks-report-filter-form label span{display:block;font-size:12px;font-weight:800;color:#607592;margin-bottom:6px}.ks-report-filter-form input{width:100%;min-height:42px;border-radius:12px;border:1px solid #cfe0f2;padding:8px 10px}.ks-report-radar .ks-table a{font-weight:800;color:#174ea6;text-decoration:none}.ks-report-radar .ks-table a:hover{text-decoration:underline}
@media(max-width:900px){.ks-report-filter-form{grid-template-columns:1fr}.ks-report-filter-form .ks-primary-button{width:100%}}


/* Setup 2.10 — Secure File Migration & Document Center Polish */
.cha-pcm-secure-document-center-panel {
    border: 1px solid rgba(15, 23, 42, .08);
    background: linear-gradient(135deg, rgba(248, 250, 252, .96), rgba(255, 255, 255, .98));
}
.cha-pcm-secure-file-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}
.cha-pcm-secure-file-grid > div {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    background: #fff;
    padding: 14px;
    min-height: 74px;
}
.cha-pcm-secure-file-grid strong {
    display: block;
    font-size: 24px;
    line-height: 1;
    color: #0f172a;
}
.cha-pcm-secure-file-grid span {
    display: block;
    margin-top: 7px;
    font-size: 12px;
    color: #64748b;
}
.cha-pcm-secure-file-actions {
    border-top: 1px solid rgba(15, 23, 42, .08);
    padding-top: 14px;
    margin-top: 8px;
}
.cha-pcm-secure-file-inventory {
    margin-top: 14px;
}
.cha-pcm-inline-action-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.cha-pcm-inline-action-form p {
    margin: 0;
    color: #475569;
    max-width: 720px;
}
@media (max-width: 1100px) {
    .cha-pcm-secure-file-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .cha-pcm-secure-file-grid { grid-template-columns: 1fr; }
    .cha-pcm-inline-action-form { align-items: stretch; }
    .cha-pcm-inline-action-form .button { width: 100%; text-align: center; }
}


/* Setup 2.11 Danger Zone / Super Admin deletion controls */
.cha-pcm-danger-settings-panel,
.cha-pcm-danger-zone-panel{border:1px solid rgba(185,28,28,.16)!important;background:linear-gradient(180deg,#fff,#fff7f7)!important}
.cha-pcm-danger-zone-panel--warn{border-color:rgba(217,119,6,.24)!important;background:linear-gradient(180deg,#fff,#fffbeb)!important}
.cha-pcm-danger-zone-panel--critical{border-color:rgba(185,28,28,.38)!important;background:linear-gradient(180deg,#fff,#fef2f2)!important}
.cha-pcm-danger-count-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px}
.cha-pcm-danger-count-grid>div{padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff}
.cha-pcm-danger-count-grid span{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.cha-pcm-danger-count-grid strong{font-size:22px;color:#111827}
.cha-pcm-danger-action-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}
.cha-pcm-case-workspace .button-link-delete{color:#b91c1c!important;border-color:#fca5a5!important;background:#fff5f5!important;font-weight:800!important}
.cha-pcm-case-workspace .button-link-delete:hover{background:#fee2e2!important;color:#7f1d1d!important}
